Commit Graph

495 Commits

Author SHA1 Message Date
AlexKnauth
a116fc8e9f convert the rest of tlb-mlish-tests.rkt 2016-06-22 18:12:39 -04:00
AlexKnauth
143bb714ce convert more mlish tests to typed-lang-builder/mlish-core 2016-06-22 16:58:40 -04:00
AlexKnauth
3fac6b1bc3 convert more mlish tests to typed-lang-builder/mlish-core 2016-06-22 13:51:48 -04:00
AlexKnauth
a2ca787940 convert more mlish tests to typed-lang-builder/mlish-core 2016-06-22 13:35:59 -04:00
AlexKnauth
fba974d8bb start converting mlish tests to typed-lang-builder/mlish-core 2016-06-22 12:06:43 -04:00
AlexKnauth
9ea6c6b513 remove no-longer-needed with clauses 2016-06-22 11:47:17 -04:00
AlexKnauth
3ad9fa2fb1 allow nested ⇒ arrows in the conclusion 2016-06-22 11:00:13 -04:00
AlexKnauth
961f32e6a2 factor out fail messages 2016-06-22 09:55:11 -04:00
AlexKnauth
11fb481f00 check against a possible existing type for ⇐s at the top 2016-06-22 09:05:51 -04:00
AlexKnauth
a7531326ea fix nullable-EH-pat warning 2016-06-22 08:16:19 -04:00
AlexKnauth
c72d4a7f40 more work on exist and mlish-core 2016-06-21 21:58:21 -04:00
AlexKnauth
f68323d846 simplify stlc+effect, mix left and right arrows 2016-06-21 21:26:21 -04:00
AlexKnauth
ec12db1f08 implement new syntax for parallel arrows and nested right arrows 2016-06-21 21:16:16 -04:00
AlexKnauth
b5541ae278 improve how patterns can refer to each other 2016-06-21 18:06:20 -04:00
AlexKnauth
a4fd3312e5 implement mlish-core with typed-lang-builder 2016-06-20 16:10:05 -04:00
AlexKnauth
0c2ced8100 implement fomega with typed-lang-builder 2016-06-20 16:10:04 -04:00
AlexKnauth
35c7900463 implement sysf and fsub with typed-lang-builder 2016-06-20 16:10:04 -04:00
AlexKnauth
3c769179eb implement sub and reco+sub with typed-lang-builder 2016-06-20 16:10:03 -04:00
AlexKnauth
a71ee3e46a implement rec-iso and exist with typed-lang-builder 2016-06-20 16:10:03 -04:00
AlexKnauth
c8ff0afa02 implement stlc+box and stlc+effect with typed-lang-builder 2016-06-20 16:10:03 -04:00
AlexKnauth
3a97efcb24 implement stlc+reco-var and stlc+cons with typed-lang-builder 2016-06-20 16:10:03 -04:00
AlexKnauth
c75f79c0db implement ext-stlc and stlc+tup with typed-lang-builder 2016-06-20 16:10:02 -04:00
AlexKnauth
3bc035fde1 start on typed-lang-builder
with stlc and stlc+lit
2016-06-20 16:10:01 -04:00
AlexKnauth
c21c00e312 rename syntax properties 2016-06-20 15:04:32 -04:00
AlexKnauth
3385805f06 use λ- etc. for untyped forms, λ etc. for typed 2016-06-20 14:25:19 -04:00
AlexKnauth
7b422d9a38 add postfix-in require form 2016-06-20 14:24:04 -04:00
Stephen Chang
9d33c3a0e8 add define-base-names, eg define-base-types, abbreviation 2016-06-15 13:58:49 -04:00
Stephen Chang
9eff29070c mlish: reuse inst from sysf 2016-06-14 16:21:46 -04:00
AlexKnauth
0ffbdffc8b infer.rkt: use find-free-Xs, propagate expected type more 2016-06-13 10:49:59 -04:00
AlexKnauth
c4ab4510ee factor out solve function in infer.rkt 2016-06-13 10:29:03 -04:00
AlexKnauth
34f969efba use add-constraints in infer.rkt 2016-06-13 10:06:53 -04:00
AlexKnauth
20015aa39a factor out type-constraint functions 2016-06-13 09:17:26 -04:00
AlexKnauth
56706c27ac use syntax-track-origin when substituting identifiers 2016-06-10 13:27:13 -04:00
AlexKnauth
bf517fd99f don't use this-syntax in type pattern-expanders 2016-06-10 13:26:04 -04:00
Stephen Chang
649342f101 dont use syntax-track-origin to transfer stx props 2016-06-10 12:32:23 -04:00
AlexKnauth
256b660a15 fix typecheck-fail to use check-exn correctly and fix all the broken tests 2016-06-07 15:58:17 -04:00
AlexKnauth
88867d8675 improve srcloc information for function applications 2016-06-04 18:37:32 -04:00
AlexKnauth
6db8138e58 use ~literal/else for better τ-expander error messages 2016-06-03 17:40:24 -04:00
AlexKnauth
1ffcf1763a use ~Any/bvs in type-constructor pattern expanders 2016-06-03 16:53:00 -04:00
AlexKnauth
9a07b46555 refactor common code into make-arg-variances-proc function 2016-05-23 14:40:17 -04:00
AlexKnauth
0942413764 infer variances for recursive and mutually recursive datatypes 2016-05-20 16:22:30 -04:00
AlexKnauth
2cd9cb2cbd refactor to use ctxt-variance in find-variances 2016-05-20 16:21:57 -04:00
AlexKnauth
c45e967896 add mlish/sweet-map.rkt test 2016-05-20 13:20:00 -04:00
AlexKnauth
94ae1ebabe refactor variance code into infer-variances function 2016-05-13 10:15:55 -04:00
Alex Knauth
c872a1404d Merged in allow-generalization-covariant (pull request #23)
Allow generalization for covariant type variables
2016-05-12 15:32:54 -04:00
AlexKnauth
d170ee8834 add more tests
based section 3 and section 4.1 of
http://caml.inria.fr/pub/papers/garrigue-value_restriction-fiwflp04.pdf
2016-05-12 14:49:22 -04:00
AlexKnauth
7a3c096a83 allow some under-constrained function applications
in cases where the unsolved type variables only appear in covariant
positions.
2016-05-12 14:49:21 -04:00
AlexKnauth
4af0f4e2b4 add find-X-variance, covariant-X?, and covariant-Xs?
and also allow type constructors to declare the variance of their arguments.

infer variances for non-recursive `define-type` types
2016-05-12 14:49:21 -04:00
AlexKnauth
4347b2eaff use find-free-Xs, propagate expected type more 2016-05-11 13:50:27 -04:00
AlexKnauth
5854d76c8d modify solve to return all of the arguments 2016-05-11 13:50:27 -04:00