Revision d764f6e5f484f0dcd0a4e0cc93aa3538b0731a91 authored by Anish Tondwalkar on 01 April 2019, 23:19:13 UTC, committed by Anish Tondwalkar on 01 April 2019, 23:19:13 UTC
This allows us to construct refinement types by applying a type
constructor to arguments.
1 parent 58a436c
Raw File
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` 

back to top