Revision 72aa198b460b1ada73f66f35edc05901fe503f8c authored by Anish Tondwalkar on 01 August 2019, 07:53:00 UTC, committed by Anish Tondwalkar on 01 August 2019, 07:53:00 UTC
The problem is that when we have an ~> under an forall, at the term level we have a tabs, and that means we have to swtich from checking (at the type with the implicit parameter) to synthing (plus a subtyping check). But when we synth, this implicit parameter is simply not in scope: since it's not bound anywhere in the term, it can't be added to the context during synthesis.
1 parent 95a7cd4
README.md
# Mist
A tiny language for teaching and experimenting with refinement types, in the style of
[LiquidHaskell](https://github.com/ucsd-progsys/liquidhaskell).
## TODO
- [x] BUILD initial code
- [ ] STEAL make grammar more Haskelly
- [ ] PARSE in all Nano tests (but using Garter representation)
- [ ] PORT all the garter tests (using Haskelly syntax)
- [ ] PRINT all inferred (top-level) types
- [ ] ADD elaboration @a @b etc.
- [ ] PRINT "elaborated" expressions
- [ ] TYPE refinement type constraints
- [ ] GEN refinement type constraints
- [ ] SOLVE refinement type constraints (with fixpoint)
## Modules
- `Language.Mist.Utils.Misc`
- `Language.Mist.Utils.UX`
- `Language.Mist.Utils.Test`
- `Language.Mist.Basic.Types`
- `Language.Mist.Basic.ANF`
- `Language.Mist.Basic.WellFormed`
- `Language.Mist.Basic.Check`
- `Language.Mist.Liquid.Types`
- `Language.Mist.Liquid.Check`
Computing file changes ...