Skip to content

Introducing (#a : Type | deq) syntax for types + constraints#4041

Draft
mtzguido wants to merge 1 commit intoFStarLang:masterfrom
mtzguido:tcsyntax
Draft

Introducing (#a : Type | deq) syntax for types + constraints#4041
mtzguido wants to merge 1 commit intoFStarLang:masterfrom
mtzguido:tcsyntax

Conversation

@mtzguido
Copy link
Member

This syntax simplifies writing several constraints over the same type. The constraints can just be added to the set after the bar, and many of them can be given. E.g.

let foo5
  (#a #b : Type | deq, ord)
  ...

This has two implicit arguments for the types, then deq and ord constraints for a, and then for b. The constraints could also be partially applied

This needs a Pulse patch, and it's not trivial, so marking as a draft.

This syntax simplifies writing several constraints over the same type.
The constraints can just be added to the set after the bar, and many of
them can be given. E.g.
```fstar
let foo5
  (#a #b : Type | deq, ord)
  ...
```
This has two implicit arguments for the types, then `deq` and `ord`
constraints for `a`, and then for `b`. The constraints could also be
partially applied
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant