Commit Graph

495 Commits

Author SHA1 Message Date
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
Stephen Chang
d29aed64b8 racket extended: name ldots in pattern 2014-09-16 18:56:36 -04:00
Stephen Chang
98169cd383 stlc+define+cons: add void at end of list of es 2014-09-16 18:56:09 -04:00
Stephen Chang
dd06ab92f5 stlc+define+cons + ext:
- make void primop
- simplify module-begin to just put everything in a (let) int ctxt
- switch to parens type in define-primop
- re-define + from stlc to have varargs
2014-09-04 14:22:02 -04:00
Stephen Chang
635f9370c0 stlc + ext:
- define-primop requires parens around type
- define-syntax/type-rule renamed to define-typed-syntax
- use 2 arg + primop instead of vararg
2014-09-04 14:20:36 -04:00
Stephen Chang
d93b88d8b5 varargs + other primop updates
- define-primop uses datum arrow instead of literal
- in define-primop, only add extra taus when there is ldots
- in define-primop, fix bug where taus was null when no ldots
- type=? supports comparing varargs in fn type
2014-09-04 14:17:42 -04:00
Stephen Chang
c3e77481ae stlc+define+cons/racket-ext: cleanup 2014-09-03 18:52:31 -04:00
Stephen Chang
1985a987c9 stlc+define+cons/racket-ext: check unit type in cases clauses 2014-09-03 18:50:38 -04:00
Stephen Chang
35b36b3781 stlc+define+cons/racket-ext: cleanup 2014-09-03 18:44:50 -04:00
Stephen Chang
9de0cea481 stlc+cons+defined-via-racket-ext: cases working, all tests passing; todo: abstract the meta(term) stx class 2014-09-03 18:42:11 -04:00
Stephen Chang
fcbab12a9a stlc+cons+defined-via-racket-ext: add top level define 2014-09-03 14:14:14 -04:00
Stephen Chang
e05e60a566 stlc+define-ext: add begin, void, if 2014-08-28 16:23:17 -04:00
Stephen Chang
2311deb396 add tests for testing extended datum 2014-08-28 16:22:54 -04:00
Stephen Chang
e4f788ec7a use define-simple-syntax/type-rule instead of define-term/type-rule 2014-08-28 16:22:25 -04:00
Stephen Chang
003e38b40f stlc+define-via-racket-ext: add tests 2014-08-28 16:21:43 -04:00
Stephen Chang
76a2f310f2 racket-ext:
- rename define-term/type-rule to define-simple-syntax/type-rule
- add requires, provides and testing forms implicitly
- add == type constraint
2014-08-28 16:20:50 -04:00
Stephen Chang
235c953a5d add stlc+define+cons-via-racket-extended.rkt 2014-08-28 15:22:42 -04:00
Stephen Chang
12ffcb4238 update stlc-via-racket-ext to use changes from racket-ext: declare-base-types, automatic requires/provides 2014-08-28 15:22:20 -04:00
Stephen Chang
ca8e922c56 add extends form for racket-extended 2014-08-28 15:21:06 -04:00
Stephen Chang
9b8193e383 stlc+define+cons: add printf, make vararg for primops work
- general cleanup
- add more tests
- todo: support vararg type in general in application
2014-08-27 16:33:53 -04:00
Stephen Chang
034f072156 typecheck: fix error msg to not reveal internal stack trace; primop
- primop properly handles varargs and gives good err msg
- todo: primop has non-vararg type when used as HO fn
2014-08-27 16:32:36 -04:00
Stephen Chang
ac69545d6b typecheck: add define-primop 2014-08-27 14:51:10 -04:00
Stephen Chang
7210c79b03 stx-utils: add stx-length and stx-last 2014-08-27 14:50:54 -04:00
Stephen Chang
ea5d0d1a02 stlc: use define-primop; rename stlc-test stlc-tests.rkt 2014-08-27 14:50:27 -04:00
Stephen Chang
dc3409fe20 rename tests for stlc+define+cons 2014-08-26 19:25:40 -04:00
Stephen Chang
6af7402e42 stlc+define+cons passing tests (in stlc-tests.rkt) 2014-08-26 19:24:53 -04:00
Stephen Chang
27d7f33b4a add parallel implementation what uses racket-extended instead of racket
- currently stlc (core) only
2014-08-26 16:53:48 -04:00
Stephen Chang
2d2d278b8e split stlc into stlc.rkt and stlc+define+cons.rkt
- old stlc.rkt is now stlc+define+cons.rkt
- new stlc.rkt defines core forms (lam, app, var) only
2014-08-26 16:52:36 -04:00