Stephen Chang
5a4e27a7d8
cleanup old type-error usage
2014-08-19 16:06:27 -04:00
Stephen Chang
fbca467d01
typecheck: add type-error form
2014-08-19 16:05:08 -04:00
Stephen Chang
70767635bb
stlc: cleanup
2014-08-19 15:53:41 -04:00
Stephen Chang
852dc14a06
sysf-tests: small edit to nqueens test
2014-08-19 15:50:26 -04:00
Stephen Chang
c14f4bc705
sysf: add inst, better error when type insts are missing in app
...
- add nqueens to sysf-tests
- current failing cases: nested foralls
- giving poly fn to map without explicit inst
2014-08-18 18:36:41 -04:00
Stephen Chang
4a5eb432af
stlc:
...
- add define-prim,
- better errors,
- add list/tc,
- single-case define-type
- started a hack of a base type env in mod-begin
2014-08-18 18:34:49 -04:00
Stephen Chang
99cc2e57e8
code cleanup
2014-08-15 19:07:47 -04:00
Stephen Chang
45dd603a08
stlc and sysf: require define to give explicit return type
...
sysf: extended cases to handle forall
2014-08-15 19:04:16 -04:00
Stephen Chang
e6062f605e
stlc: implement define/tc
...
- module-begin handles defines more modularly (and extensibly)
- remove letrec/tc
2014-08-15 17:10:43 -04:00
Stephen Chang
8ece6a3986
typecheck.rkt: add apply-forall
2014-08-15 16:22:32 -04:00
Stephen Chang
4dcb1230b8
stlc: add extensibility note in define-type
2014-08-15 16:21:58 -04:00
Stephen Chang
caeda2ff0d
sysf: move apply-forall to typecheck.rkt
2014-08-15 16:18:17 -04:00
Stephen Chang
ea5d41deb0
sysf: code cleanup
...
- at this point, sysf only extends define-type, app, and lambda
- sysf passes all stlc-tests and sysf-tests
2014-08-15 16:16:24 -04:00
Stephen Chang
b49ddbaabf
stlc: fix some bugs
...
- provide assert-Unit-type and assert-Int-type, for sysf
- sysf must use these instead of its own because type= relies on
free-identifier=?, so it must be comparing the same Int type
- move tests to the end
- define-type syntax class must declare define-type as a datum-literal
and not a literal, otherwise the wrong version will get used when
another language extends define-type
2014-08-15 16:11:09 -04:00
Stephen Chang
cb3842281d
stlc-tests: fix accidental copy and paste
2014-08-15 15:54:38 -04:00
Stephen Chang
0a82e9298c
sysf: basic forall type working
2014-08-15 15:33:07 -04:00
Stephen Chang
1a327fc8f9
add sysf tests
2014-08-15 15:32:54 -04:00
Stephen Chang
820d56cf2a
stx-utils: add curly-parens?
2014-08-15 15:32:18 -04:00
Stephen Chang
723c5bbaec
separate general type checking fns from stlc
2014-08-14 15:15:42 -04:00
Stephen Chang
857fee962f
fix some stlc bugs
...
- need to manually check for lone identifiers in lambda body
- ow they wont get expanded and wont get a type
- in type=?, make sure tycons have same number of args
2014-08-14 14:28:18 -04:00
Stephen Chang
4783c7f93e
sysf: copied from stlc
2014-08-13 16:39:16 -04:00
Stephen Chang
cc3a224a7b
stlc bug: cases expr had no type
2014-08-13 15:38:14 -04:00
Stephen Chang
10674298c4
stlc cleanup
2014-08-13 14:30:13 -04:00
Stephen Chang
dff0f2b79f
add stlc tests for recursive define-types (ie intlist)
2014-08-13 14:28:45 -04:00
Stephen Chang
e490825797
stlc: cleanup
2014-08-12 19:16:53 -04:00
Stephen Chang
3b9800919b
stlc: non parametric maybe working; havent tried recursive types (ie cons)
2014-08-12 17:58:56 -04:00
Stephen Chang
cb123987de
add sysf: copied from stlc
2014-08-08 17:03:53 -04:00
Stephen Chang
c74dc2dea2
cleanup
2014-08-08 17:03:40 -04:00
Stephen Chang
3c223663f0
add void to end of module begin of stlc; add some recursive tests
2014-08-08 16:53:19 -04:00
Stephen Chang
1e05e62963
module-begin, define, and letrec working
...
- module-level forms and letrec body currently not typechecked
2014-08-06 17:29:49 -04:00
Stephen Chang
a906d121f9
add lambda internal begin test
2014-08-05 15:28:11 -04:00
Stephen Chang
28cb9b5107
add begin to stlc
2014-08-05 15:27:48 -04:00
Stephen Chang
d58c8b0281
add null?
2014-08-05 14:46:59 -04:00
Stephen Chang
0a15ae4bb6
add (non parametric) lists to stlc
2014-08-05 14:40:41 -04:00
Stephen Chang
063c8fbbb8
add let to stlc
2014-08-05 14:21:47 -04:00
Stephen Chang
b41361a514
switch to parameter for gamma
2014-08-05 13:34:43 -04:00
Stephen Chang
d602f445aa
add multi arg lam, app, and +
2014-08-04 18:49:54 -04:00
Stephen Chang
10b870085a
add stx-utils
2014-08-04 18:49:37 -04:00
Stephen Chang
8f37dd7a34
add stlc
2014-08-01 18:51:35 -04:00