-
Notifications
You must be signed in to change notification settings - Fork 55
Add a phase/resugaring to handle the monadic encoding #1620
Copy link
Copy link
Labels
backendIssue in one of the backends (i.e. F*, Coq, EC...)Issue in one of the backends (i.e. F*, Coq, EC...)leanRelated to the Lean backend or libraryRelated to the Lean backend or libraryneeds-designWe need to write a proper design for this issue.We need to write a proper design for this issue.needs-discussionIssue that requires a discussion to make their status clearIssue that requires a discussion to make their status clearproof-libIssues related the backend-specific definitions (in the proof-lib folder)Issues related the backend-specific definitions (in the proof-lib folder)
Milestone
Metadata
Metadata
Assignees
Labels
backendIssue in one of the backends (i.e. F*, Coq, EC...)Issue in one of the backends (i.e. F*, Coq, EC...)leanRelated to the Lean backend or libraryRelated to the Lean backend or libraryneeds-designWe need to write a proper design for this issue.We need to write a proper design for this issue.needs-discussionIssue that requires a discussion to make their status clearIssue that requires a discussion to make their status clearproof-libIssues related the backend-specific definitions (in the proof-lib folder)Issues related the backend-specific definitions (in the proof-lib folder)
This is mostly designed for the Lean backend but could also apply to other. We need to insert nodes (resugaring?) to indicate that a sub-expression needs to be done inside the
Resultmonad (insertingpure). Conversely, we need to insert nodes to "lift out of the monad", using<-in Lean.Right now, both nodes are inserted during printing in a non-principled manner.