Stephen Chang
bf126449b4
define-type-constructor supports annotated bound vars
...
- use this to impl forall in fomega
- define-type-constructor default arity is =1
- define explicit normalize fn in fomega -- speeds up tests 15%
- move same-type to define-syntax-category
2015-10-09 16:59:48 -04:00
Stephen Chang
2278adcf95
replace provide/requires with "extends...except"/"reuse...from" forms
...
- introduce basic define-typed-syntax instead of define-syntax
- add fomega3 --- same as fomega2, without the duplication
- app and lam are both types and terms
- arrow is both type and kind
- same tests as fomega2
2015-10-01 16:21:29 -04:00
Stephen Chang
cb7a49ab06
use #lang typecheck
2015-09-23 17:01:13 -04:00
Stephen Chang
efaef8b60e
progress commit: stuck on fomega+define-syntax-category
2015-08-21 19:28:36 -04:00
Stephen Chang
6feff7d3b3
completed: type valiation; new type constructor pattern matching
2015-08-19 19:29:07 -04:00
Stephen Chang
1a831454f4
progress commit: use typechecking system to typecheck types
...
- ported (tests passing) up to stlc+sub.rkt
2015-08-14 19:37:09 -04:00
Stephen Chang
0dde065949
new define-type-constructor: support binding forms
...
- tests passing up to stlc+rec-iso.rkt
2015-08-07 17:26:53 -04:00
Stephen Chang
75b4dae95f
use new define-type-constructor and #%type in stlc+box
2015-08-04 18:24:33 -04:00
Stephen Chang
46598499d1
move define to stlc+var.rkt; cleanup
2015-07-08 17:15:08 -04:00
Stephen Chang
98fdc8806c
convert type representation to fully expanded syntax
...
- type-eval = expand/df
- fomega tyapp and tylam not yet implemented
2015-06-26 18:56:01 -04:00
Stephen Chang
e4a234afbc
code cleanup
2015-06-10 15:56:27 -04:00
Stephen Chang
50540efaa5
add current-typecheck-relation - generalizes equality and subtype
2015-06-04 15:22:39 -04:00
Stephen Chang
d0459d58b0
move type=? out of typecheck.rkt and into each language def
2015-05-28 19:18:26 -04:00
Stephen Chang
bfe5fbfe00
add stlc+box
2015-05-26 18:04:49 -04:00