Commit Graph

189 Commits

Author SHA1 Message Date
Stephen Chang
aa930c1180 add more infer examples 2015-12-17 17:05:25 -05:00
Stephen Chang
75da160c2d finish nqueens example for infer.rkt 2015-12-17 16:16:09 -05:00
Stephen Chang
fbc5934675 implement list functions using infer.rkt: annotations still required for top lvl fns and unapplied lams 2015-12-16 19:39:18 -05:00
Stephen Chang
a41a4cdd62 start exploring (local) inference 2015-12-11 17:01:25 -05:00
Stephen Chang
7999f1cc8c stlc+cons: inference testing 2015-12-09 17:30:11 -05:00
Stephen Chang
6f7edcc431 use string-prefix from racket/string 2015-10-27 16:29:22 -04:00
Stephen Chang
b52f220dcc occurrence: use tups instead of records 2015-10-22 17:12:51 -04:00
Stephen Chang
4152db6575 add occurrence and overloading to run-all-tests 2015-10-22 17:12:11 -04:00
stchang
12d73ee2a9 Merged in overload (pull request #6)
Overload -- initial draft
2015-10-22 17:07:38 -04:00
Ben Greenman
51e6e1b3ae [overload] remove design/ folder 2015-10-22 17:07:05 -04:00
stchang
67d28645f9 Merged in o+ (pull request #4)
Occurence types, improved
2015-10-22 17:05:05 -04:00
Ben Greenman
e038d220f1 [overload] now improved with identifier macros 2015-10-22 15:20:16 -04:00
Stephen Chang
f7635af9b5 add stlc fail tests 2015-10-22 13:22:35 -04:00
Stephen Chang
b4bc922dda add stlc+sub tests 2015-10-22 13:22:22 -04:00
Ben Greenman
c299e58a04 [overload] fix export-as, export 'resolve', fix subtyping 2015-10-22 05:44:17 -04:00
Ben Greenman
0b587697f4 [overloading] initial revision, overloading via parameter 2015-10-21 00:47:21 -04:00
Ben Greenman
e6e538c3ed [overload] doc'd the problem with lambda, gosh I miss let 2015-10-20 18:06:59 -04:00
Ben Greenman
b3e5a1b5cf [overload] add run-time desugar to design doc 2015-10-20 16:42:13 -04:00
Ben Greenman
3cbafd3772 [overload] got \psi-types and signature init 2015-10-20 00:49:55 -04:00
Ben Greenman
f228ace20f [overload] outline tests 2015-10-20 00:49:23 -04:00
Ben Greenman
e9cefe3298 [overload] design doc for \psi types 2015-10-19 20:44:39 -04:00
Ben Greenman
3877a28a75 [o+] some examples from ICFP'10 paper 2015-10-19 13:53:15 -04:00
Ben Greenman
d1a18786ac [occurrence] filters for lists 2015-10-17 15:13:08 -04:00
Ben Greenman
1887d99abb [occurrence] filters for products 2015-10-16 18:56:54 -04:00
Ben Greenman
36bec40650 regression tests for subs? 2015-10-15 15:37:48 -04:00
Ben Greenman
36d568b512 [o+] allow unions as filters 2015-10-15 15:26:27 -04:00
Ben Greenman
dfaab96a29 [o+] check for same-arity functions in unions 2015-10-15 14:31:31 -04:00
Ben Greenman
5c8300a538 [o+] check & filter functions (by arity) 2015-10-15 14:08:22 -04:00
Ben Greenman
e2b1eaa06b bugfix in stlc+sub: subs assumed length=? 2015-10-15 14:00:42 -04:00
Stephen Chang
48b625c2f4 define star as rename-transformer to #%type, in fomega 2015-10-14 15:39:11 -04:00
Stephen Chang
4dd2b66d2b generalize fomega ty= to avoid specific types; add tests
- fixes fomega bug where kind annotations were not being compared
- fix subst bug: must tranfer props (ie types) when replacing an id
- add exist tests to check proper subst in ty=
2015-10-14 14:57:27 -04:00
Stephen Chang
a07fa92d25 clean up fomega2/3, remove many type-eval
- remove expand-fn optional arg in infer fn
2015-10-14 14:57:27 -04:00
stchang
94b610c93b Merged in occurrence (pull request #3)
Occurrence Types: first draft
2015-10-13 21:08:05 -04:00
Ben Greenman
bc2e83c449 [occurence] simple filters complete 2015-10-13 15:16:24 -04:00
Ben Greenman
d7913f7753 [occurrence] subtyping, normal form, and VERY BASIC filters. Having trouble propogating variables. 2015-10-13 12:51:24 -04:00
Ben Greenman
c5d6bfbf9e [occurrence] type eval 2015-10-11 00:22:16 -04:00
Stephen Chang
bf126449b4 define-type-constructor supports annotated bound vars
- use this to impl forall in fomega
- define-type-constructor default arity is =1
- define explicit normalize fn in fomega -- speeds up tests 15%
- move same-type to define-syntax-category
2015-10-09 16:59:48 -04:00
Ben Greenman
5497b347df [occurrence] simple type evaluator, assumes no recursive unions 2015-10-09 02:24:09 -04:00
Stephen Chang
dad2c26c49 add existential tests demonstrating hidden type 2015-10-08 13:22:26 -04:00
Stephen Chang
33996e71ac rec-iso, reduce ty=? to just focus on lamda 2015-10-08 13:21:54 -04:00
Ben Greenman
050c43b3a2 [occurrence] constructor + basic tests 2015-10-06 16:32:26 -04:00
Stephen Chang
0aa2857e74 define-syntax-category defines default type=?; other cleanup
- extended type=? in rec-iso only does 1 subst
- simplify current-type? in fomega by defining in terms of current-kind?
2015-10-06 14:28:08 -04:00
Stephen Chang
2278adcf95 replace provide/requires with "extends...except"/"reuse...from" forms
- introduce basic define-typed-syntax instead of define-syntax
- add fomega3 --- same as fomega2, without the duplication
  - app and lam are both types and terms
  - arrow is both type and kind
  - same tests as fomega2
2015-10-01 16:21:29 -04:00
Stephen Chang
cb7a49ab06 use #lang typecheck 2015-09-23 17:01:13 -04:00
stchang
a3831adae2 Merged in make-var-like-trans (pull request #1)
add version of make-variable-like-transformer
2015-09-21 18:16:40 -04:00
AlexKnauth
149897653a use make-variable-like-transformer 2015-09-21 18:09:58 -04:00
AlexKnauth
82b7ec004d add version of make-variable-like-transformer 2015-09-21 17:54:25 -04:00
AlexKnauth
0d43fd4683 add .gitignore 2015-09-21 17:54:07 -04:00
Stephen Chang
fc2150dc0d fix subtyping bug in if; add current-join 2015-09-16 15:04:48 -04:00
Stephen Chang
3ea9fc5db0 rec-iso: refactor requires so stlc+tup is base lang 2015-09-16 15:04:13 -04:00