Commit Graph

18 Commits

Author SHA1 Message Date
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
d1814cb57a code cleanup; add define-sub-relation
- all tests passing
2015-08-28 16:57:38 -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
dcd72eb245 code cleanup 2015-06-29 18:37:40 -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
3d422803f6 make define-type-const a macro to enable error checking 2015-06-12 19:30:00 -04:00
Stephen Chang
ef74f68270 fomega with kinds, no operator abstraction yet 2015-06-11 16:46:50 -04:00
Stephen Chang
e39dc434b4 move eval-tau out of typecheck.rkt 2015-06-10 17:31: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
bec3be8b22 use parameters to implement extensible type relations (instead of eval) 2015-06-03 19:25:31 -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
01999fd2eb move eval-tau to vdash (and testing forms) 2015-05-28 17:28:16 -04:00
Stephen Chang
5c058bffd6 start sysf 2015-05-27 19:25:50 -04:00