abbréviations: rentrer client/structure.resolve dans le serveur #44

Open
opened 1 year ago by gasche · 1 comments
gasche commented 1 year ago
Collaborator

On voudrait faire rentrer la fonction "resolve" dans le serveur en faisant de "convert" une opération du module (L: LANG) qui est passée en argument à MultiEq.

Ça coince parce que le type de convert dépend de Deep.t, où Deep.t est défini comme MakeDeep(ME), où ME est le résultat de MultiEq.Make: on ne peut pas ajouter à l'entrée de MultiEq.Make un type qui dépend de sa sortie.

Idée, faire en deux étages:

  • MultiEq.MakeStructure, le MultiEq.Make actuel
  • ensuite MultiEq.MakeResolve, qui est paramétré par un type "deep" construit sur MakeStructure, et qui contient la logique de resolve
On voudrait faire rentrer la fonction "resolve" dans le serveur en faisant de "convert" une opération du module (L: LANG) qui est passée en argument à MultiEq. Ça coince parce que le type de convert dépend de `Deep.t`, où `Deep.t` est défini comme `MakeDeep(ME)`, où `ME` est le résultat de `MultiEq.Make`: on ne peut pas ajouter à l'entrée de MultiEq.Make un type qui dépend de sa sortie. Idée, faire en deux étages: - `MultiEq.MakeStructure`, le `MultiEq.Make` actuel - ensuite `MultiEq.MakeResolve`, qui est paramétré par un type "deep" construit sur MakeStructure, et qui contient la logique de `resolve`
Poster
Collaborator

on a peut-être besoin d'un truc du genre (currification)

module Make : functor (L : Lang) ->
  module Structure : ...
  module Deep = MakeDeep(Structure)
  module Resolve : functor (Expand : ...) -> ...
end
on a peut-être besoin d'un truc du genre (currification) ```ocaml module Make : functor (L : Lang) -> module Structure : ... module Deep = MakeDeep(Structure) module Resolve : functor (Expand : ...) -> ... end ```
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: Olivier/inferno-experimental#44
Loading…
There is no content yet.