Stephen Chang
ba15bbd32f
delete ad-hoc "run all" test scripts; use raco test instead
...
- add test-include-paths to run mlish test files
2017-01-25 21:22:06 -05:00
Stephen Chang
9c0b046d54
add some test timeouts
2017-01-25 16:36:46 -05:00
Stephen Chang
6618f0e038
remove dependency on typed racket and sweet-exp
2017-01-25 10:47:42 -05:00
AlexKnauth
232127da6f
transfer srclocs so that check-syntax arrows work
2017-01-13 16:56:24 -05:00
Stephen Chang
995926e735
do some optimizations in typecheck.rkt: as much as 85% speedup in benchmarks
...
- move 'env prop logic to infer.rkt
- eliminate some dup expands (eg type-evals)
some before/afters --------------------
macrotypes/run-all-tests: 2m11s/20s 85%
macrotypes/mlish-general: 117s/34s 71%
macrotypes/mlish-shootout/rwo: 81s/31s 62%
macrotypes/mlish-typeclasses: 179s/149s 17%
turnstile/run-all-tests: 2m31s/29s 81%
turnstile/mlish-general: 139s/46s 67%
turnstile/mlish-typeclasses: 181s/155s 14%
2016-11-18 16:55:16 -05:00
Stephen Chang
ba1c954b96
start Bens "trivial" example
2016-10-18 17:08:25 -04:00
Stephen Chang
28fa5dd033
split def-kinded-stx from def-typed-stx; split any-type? from type?
...
- the former prevents using current-typecheck-relation at type/kind level
- the latter differentiates "well-formed" types (star)
from valid types (any kind)
- move define-*ed-syntax and *-eval into define-syntax-category
- turnstile must wrap define-stx-category to define new define-*ed-syntax
- add any-*? pred and any-* stx class in def-stx-category
- fixes #44
- fixes #45
2016-10-14 14:16:49 -04:00
Stephen Chang
98568ceb99
add define-internal-type-constructor and define-internal-binding-type
...
- add fomega-no-reuse example
2016-10-13 21:21:05 -04:00
Stephen Chang
1c0fa751d6
split out a define-binding-type from define-type-constructor
...
- document #:arg-variances and variances; #:arr
- fixes #36
- start to split type constructor macro into (not working yet)
- ty-: expands to expanded type representation
- ty: performs kindchecking and expands to ty-
- this makes it easier for programmers to implement their own kind
system, but still get some turnstile conveniences like pat expanders
2016-10-13 15:20:30 -04:00
Stephen Chang
8a7d487e14
check if valid type when instantiating a type alias; fixed #5
2016-10-12 16:13:45 -04:00
Stephen Chang
a3433b9193
remove * version of pattern expanders
2016-10-12 14:10:03 -04:00
Stephen Chang
691ba9c51c
Turnstile forms no longer automatically provide; add type-out
...
- not auto-providing more closely adheres to idiomatic Racket
- this commit changes:
- define-typed-syntax
- removed #:export-as option
- define-base-type
- removed #:no-provide option
- define-type-constructor
- removed #:no-provide option
- type-out helps with providing defined types
- in examples, move define and define-type-alias to ext-stlc
- fix bug in reuse where renamed id not provided
2016-10-12 10:46:05 -04:00
Stephen Chang
639a34c678
hide some test scripts from raco test
...
- these files should be manually run
- this hopefully prevents timeouts on the pkg server
2016-10-11 10:28:08 -04:00
Stephen Chang
fc5731de00
dont auto provide define-primops; add typed-out
2016-10-09 18:12:12 -04:00
Stephen Chang
8cce856e08
dont compile tests during install
2016-10-07 10:20:08 -04:00
Stephen Chang
362b0f310d
manually merge mlish.rkt from adhoc branch to mlish+adhoc.rkt
2016-10-03 14:28:15 -04:00
Stephen Chang
da21e04a60
delete some temporary examples
2016-09-30 12:53:36 -04:00
Stephen Chang
e308dad709
add more #:no-provide options; add eval'ed doc examples
...
- cant get scribble/example to automatically catch and print type errs
2016-09-29 16:04:47 -04:00
Stephen Chang
df4c26dd8d
type=? handles binding types by default
...
- closes #32
2016-09-29 14:27:17 -04:00
Stephen Chang
df63a0bf57
predefine "type" stx-category and define-primop in typecheck.rkt (and turnstile)
2016-09-24 16:43:17 -04:00
Stephen Chang
088635c33a
check define-typed-stx has > 0 clauses to match stx-parse; add other paper abbrvs
2016-09-24 15:12:45 -04:00
AlexKnauth
ccdb667fac
move default-type-eval into typecheck.rkt
2016-09-17 09:15:41 -04:00
Stephen Chang
60fa8ab91f
fix syntax taint errs produced by srcloc workaround in #%app
2016-08-31 12:58:56 -04:00
Stephen Chang
10a143a16d
add verify, evaluate; and debug, render in separate libs
2016-08-30 16:58:15 -04:00
Stephen Chang
efbf03c258
start stlc+union
2016-08-22 09:30:30 -04:00
Stephen Chang
f7b4dde15b
fix more src locs in typecheck.rkt
2016-08-22 08:58:44 -04:00
Stephen Chang
3707d90531
enable use of define-type-alias in language implementations
...
- using \tau.norm in define-type-alias implementation causes
"invalid type" errors when the file is compiled
2016-07-20 18:44:15 -04:00
Stephen Chang
f90c464a19
disable some overloading tests to avoid marshalling error
2016-07-20 18:40:51 -04:00
Stephen Chang
e17ae9e5fe
update extends
and reuse
in typecheck.rkt to:
...
- support paths instead of filenames
- require prefix-in by default
- fix srclocs of extends
2016-07-19 15:42:35 -04:00
Stephen Chang
2f60ad5e27
finish typed-bv lang: typechecks all easy/med/hard tests
2016-07-19 11:48:43 -04:00
Stephen Chang
990619e9c9
turnstile provides postfix-in
2016-07-11 19:23:54 -04:00
AlexKnauth
d59c510941
factor out do-tests macro
2016-07-01 12:43:01 -04:00
AlexKnauth
1d50b065b9
copy over the rest of the mlish tests
2016-07-01 12:05:26 -04:00
AlexKnauth
7677a6de28
copy over the rest of the non-mlish tests
2016-06-30 18:23:52 -04:00
AlexKnauth
a8f1634baa
start copying tests over to macrotypes/examples/tests
2016-06-30 17:42:23 -04:00
AlexKnauth
6e2f9a4a16
implement occurs check
2016-06-28 14:01:54 -04:00
AlexKnauth
310087cc97
implement turnstile/examples/infer.rkt
2016-06-28 14:01:28 -04:00
AlexKnauth
da3ecfa780
refactor type-constraints a bit
2016-06-28 13:51:50 -04:00
AlexKnauth
103086a62c
rename typed-lang-builder -> turnstile
2016-06-28 13:35:51 -04:00
AlexKnauth
644deddc5f
fix lam-testing.rkt
2016-06-28 13:23:02 -04:00
AlexKnauth
358f997065
reorganize
2016-06-28 13:22:58 -04:00