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 |
|
AlexKnauth
|
1ca2ece9df
|
use add-constraints for type unification
fixes issue #20
|
2016-05-11 13:50:27 -04:00 |
|
AlexKnauth
|
d2b4df3a94
|
don't give empty foralls to functions
|
2016-05-11 13:50:27 -04:00 |
|
AlexKnauth
|
e243ee0656
|
add ?∀ and ?Λ
|
2016-05-11 13:50:26 -04:00 |
|
AlexKnauth
|
95d960267a
|
test the example that would have been unsound
|
2016-05-10 14:35:05 -04:00 |
|
AlexKnauth
|
c9110ccf73
|
don't make new foralls for under-constrained function applications
Fixes the unsoundness mentioned in
https://bitbucket.org/stchang/macrotypes/issues/16/allow-under-constrained-function#comment-27692493
by disallowing under-constrained function calls entirely.
This re-opens issue #16, which will have to be solved in a sound way later.
|
2016-05-10 14:05:53 -04:00 |
|
AlexKnauth
|
1e68e32ecc
|
refactor solve to return a substitution
|
2016-05-05 14:16:25 -04:00 |
|
AlexKnauth
|
9920c5791d
|
modify #%app to deal with under-constrained function applications
fixes #16
|
2016-05-05 14:16:25 -04:00 |
|
Stephen Chang
|
5b64b3b042
|
lift out version consts for checking preserved prop
|
2016-05-05 14:06:10 -04:00 |
|
Stephen Chang
|
9308677b2a
|
run-all-mlish-tests script: use find-system-path
|
2016-05-03 14:40:22 -04:00 |
|
Stephen Chang
|
33e39c5e96
|
abstract and cleanup run-all-mlish-tests script
|
2016-05-03 14:22:58 -04:00 |
|
Stephen Chang
|
64d1bc9a48
|
add extra nested lambda test cases
|
2016-05-03 13:54:40 -04:00 |
|
AlexKnauth
|
7acbfefa71
|
remove unnecessary annotations
|
2016-05-02 16:47:15 -04:00 |
|
AlexKnauth
|
59b0ad3d3a
|
allow unannotated lambdas
in cases where the expected type has enough information, and propagate
the expected type in those cases.
|
2016-05-02 15:11:12 -04:00 |
|
AlexKnauth
|
95a7fb87f8
|
add ~?∀ for matching possibly polymorphic types
|
2016-05-02 14:29:51 -04:00 |
|
AlexKnauth
|
9b171fd62e
|
use (current-join) in cond, match, and match2
- update match2 error message tests
- fixes #12
|
2016-05-02 13:56:48 -04:00 |
|
AlexKnauth
|
44c63e4171
|
mark syntax properties as preserved
|
2016-04-28 16:46:30 -04:00 |
|
AlexKnauth
|
92d2fe585a
|
handle #f and #<syntax #f> expected types
|
2016-04-21 11:02:26 -04:00 |
|
Stephen Chang
|
579815512e
|
for/fold produces better err msg
|
2016-04-20 19:18:33 -04:00 |
|