Commit Graph

189 Commits

Author SHA1 Message Date
Stephen Chang
e678912c2c add stlc+rec-iso files; rename record files; start exist
- previously forgot to add stlc+rec-iso.rkt and tests
- rename files with records (eg stlc+var, stlc+rec+sub)
  - use "reco" to avoid confusion with recursive types ("rec")
- start exist.rkt --- existential types
2015-07-08 17:24:15 -04:00
Stephen Chang
46598499d1 move define to stlc+var.rkt; cleanup 2015-07-08 17:15:08 -04:00
Stephen Chang
dafa992176 add stlc+(iso)recursive types 2015-06-30 16:32:50 -04:00
Stephen Chang
8656e1469d report errors in terms of surface, not expanded, type 2015-06-30 12:43:03 -04:00
Stephen Chang
d69a16ffcb add fomega2.rkt
- fomega2 is the same as fomega.rkt, except tyapp, tylam, and => are removed
- instead, #%app, \lam, and -> serve dual purpose at both term and type level
2015-06-29 19:41:05 -04:00
Stephen Chang
dcd72eb245 code cleanup 2015-06-29 18:37:40 -04:00
Stephen Chang
479ca7d717 implement fomega type-level abs and app
- add define-type-alias to fomega
- fomega complete and working
2015-06-29 18:20:03 -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
ad02e586ad small cleanup 2015-06-12 19:33:06 -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
7e9d8cd1e0 start fomega 2015-06-10 17:34:58 -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
f703520367 cleanup: remove origin prop 2015-05-28 19:19:40 -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
f56fae94ab cleanup 2015-05-28 17:40:23 -04:00
Stephen Chang
01999fd2eb move eval-tau to vdash (and testing forms) 2015-05-28 17:28:16 -04:00
Stephen Chang
1b0179d066 add sysf; fix begin splicing problem 2015-05-28 16:01:09 -04:00
Stephen Chang
5c058bffd6 start sysf 2015-05-27 19:25:50 -04:00
Stephen Chang
7759111cb4 add stlc+rec+sub.rkt 2015-05-27 17:31:35 -04:00
Stephen Chang
95aaf627b5 add stlc+sub 2015-05-27 16:07:39 -04:00
Stephen Chang
3a337848b4 start stlc+sub 2015-05-26 19:34:42 -04:00
Stephen Chang
bfe5fbfe00 add stlc+box 2015-05-26 18:04:49 -04:00
Stephen Chang
3ebd1aba5f add stlc+cons 2015-05-26 16:38:21 -04:00
Stephen Chang
3a42569f64 add records and variants 2015-05-22 19:00:40 -04:00
Stephen Chang
ee2789d777 add define-type-alias, changes:
- types must be expanded (with manual handling of #%app)
- type constructors must be prefix
- base types and constructors must be run time identifiers
2015-05-21 14:54:54 -04:00
Stephen Chang
bb7ed03f3c add stlc+tup 2015-05-20 19:27:19 -04:00
Stephen Chang
c4813ebd95 add ext-stlc, not including data structures 2015-05-20 18:10:39 -04:00
Stephen Chang
a4d7483f25 stlc+lit: cleanup and comment 2015-05-20 15:26:02 -04:00
Stephen Chang
adf34fd219 add errors for invalid types 2015-05-20 15:20:43 -04:00
Stephen Chang
ee413b96a2 add define-primop 2015-05-20 15:01:49 -04:00
Stephen Chang
e47fb07aba add infer+erase 2015-05-20 12:17:57 -04:00
Stephen Chang
bd8d1b32d1 tapl: stlc code cleanup 2015-05-19 19:00:43 -04:00
Stephen Chang
338452aadd tapl: add lam-testing example 2015-05-19 18:58:05 -04:00
Stephen Chang
f317282609 tapl: reimplement stlc using rename-transformers instead of typeenv 2015-05-19 18:54:50 -04:00
Stephen Chang
69c97a5512 start tapl/ dir 2014-11-11 18:21:43 -05:00