Commit Graph

147 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
339add9f78 Implement substitutions as hash tables from vars to subst-rhs.
- add convenience function for generating substitutions
 - give trivial substitution for unreferenced index variables
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
44d46e4cd7 Refactor substitution.
- new file types/substitute
 - use structs for substitutions
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
99e499a503 Change inference to take into account index vs regular vars. 2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
662f982b72 Refactor free variables.
- free-idxs no longer holds free de Bruijn indexes
   This information is not needed, and not stored anywhere
 - free-idxs holds free *index* variables, in the sense of the TOPLAS submission
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
d570006db8 Add index-env.
- Remove Dotted and DottedBoth values from tvar-env
 - Abstract env extension and lookup for tvar/index-env
 - Abstract index inference
 - Remove pointless parameterizations
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
f7b59f78e9 Generalize ListDots to Listof in inference of loop var types. 2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
fd5a662ccc Subtyping between (List T ... a) and (Listof T[Any/a]) 2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
310bdf3529 Substitution for (List T ...) 2010-06-21 18:29:56 -04:00
Stevie Strickland
62fb6f9311 Add subtyping for dotted lists with the same bound. 2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
40dbb6389c First attempts at adding ListDots (and, incidentally, List*) types. 2010-06-21 18:29:55 -04:00
Vincent St-Amour
a31a7b0718 Added mutable lists to Typed Scheme. 2010-06-16 12:49:01 -04:00
Sam Tobin-Hochstadt
4cc86cc8c8 set-mc[ad]r!, inference, printing, tests for mpairs 2010-06-15 16:10:16 -04:00
Vincent St-Amour
aae1acf035 Fixed a bug in the optimizer that made it optimize where it
shouldn't have.
2010-06-11 20:53:10 -04:00
Vincent St-Amour
96c541912c Fixed a bug with eof and procedure types overlapping. 2010-06-11 19:48:22 -04:00
Sam Tobin-Hochstadt
7c32898cb2 Print names using the name, ignoring aliases. 2010-06-11 17:48:37 -04:00
Sam Tobin-Hochstadt
0379e534e3 New interface for unstable/mutated-vars
- functional hash tables
 - fix clients
2010-06-10 13:28:29 -04:00
Sam Tobin-Hochstadt
0149a05719 Fix promise printing, add docs. Closes PR 10968. 2010-06-09 16:56:31 -04:00
Vincent St-Amour
436e001b0e Fixed the implementation of Channel types. 2010-06-09 15:28:10 -04:00
Vincent St-Amour
15b0c8542d Added the Thread type and related functions. 2010-06-09 14:54:36 -04:00
Vincent St-Amour
ec799fb208 Added Channel types. 2010-06-09 14:54:35 -04:00
Sam Tobin-Hochstadt
78023d08f9 Sequenceof type.
- inferencing and subtyping relation with vectors, lists, etc
- use in `make-sequence'
- add tests
2010-06-09 11:03:12 -04:00
Sam Tobin-Hochstadt
7df8e32793 Properly handling immutable invariant structs. 2010-06-07 14:03:06 -04:00
Sam Tobin-Hochstadt
8194bcc4d4 Guard type-equal? test. 2010-05-27 12:46:37 -04:00
Sam Tobin-Hochstadt
bd0bcda85e Simpler has-name? implementation. 2010-05-27 10:50:15 -04:00
Sam Tobin-Hochstadt
b21f704086 Print empty filters as - 2010-05-24 14:04:01 -07:00
Sam Tobin-Hochstadt
7e9313bad3 Allow recursive types in type annotations for `list'.
Closes PR 10562.
 Tests for fixed bugs.
2010-05-19 15:14:18 -05:00
Sam Tobin-Hochstadt
2c03f2223b mostly done with heterogenous vectors 2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
8d59ee77e4 Don't generate type filters for mutated variables. 2010-05-13 13:24:41 -04:00
Sam Tobin-Hochstadt
e81cdba69f Don't use raw union constructor. 2010-05-12 11:52:43 -04:00
Sam Tobin-Hochstadt
4548426cd4 Merge remote branch 'origin/master' into samth/new-logic2 2010-05-11 15:19:52 -04:00
Sam Tobin-Hochstadt
2d1625336e fix handling when subtype doesn't have rest arg 2010-05-10 17:53:48 -04:00
Sam Tobin-Hochstadt
c031729e4b use aux function to avoid generating useless filters 2010-05-10 17:03:21 -04:00
Sam Tobin-Hochstadt
1bbb857b18 use racket/base 2010-05-10 15:43:03 -04:00
Sam Tobin-Hochstadt
b1a49470ee fix `implied-atomic?' 2010-05-10 11:51:18 -04:00
Sam Tobin-Hochstadt
96da427659 don't need d/c/p any more 2010-04-30 16:04:22 -04:00
Sam Tobin-Hochstadt
459a675b90 rename to rkt 2010-04-30 09:51:32 -04:00
Sam Tobin-Hochstadt
04f58cab86 Merge remote branch 'origin/master' into samth/new-logic2
Conflicts:
	collects/drscheme/private/insert-large-letters.ss
	collects/tests/typed-scheme/unit-tests/typecheck-tests.ss
2010-04-30 09:34:31 -04:00
Sam Tobin-Hochstadt
b5acbe3168 move d/c/p
fix tc-e/t
2010-04-27 19:29:10 -04:00
Sam Tobin-Hochstadt
27b0c01cdd Split filter operations into their own file.
Take into account the type of arguments in filter generation.
2010-04-27 19:12:06 -04:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Sam Tobin-Hochstadt
83c1671972 strnum? works 2010-04-27 10:16:21 -04:00
Sam Tobin-Hochstadt
d935b63290 so close 2010-04-27 09:50:39 -04:00
Sam Tobin-Hochstadt
788630d26a progress towards let 2010-04-23 16:40:05 -04:00
Sam Tobin-Hochstadt
2d88d698c2 implication works 2010-04-23 12:31:22 -04:00
Sam Tobin-Hochstadt
64a6f7c3d5 better filter printing 2010-04-23 09:59:00 -04:00
Sam Tobin-Hochstadt
3311b2bb3a fix asym pred not to use identifiers 2010-04-22 18:27:08 -04:00
Sam Tobin-Hochstadt
b0918cd8b9 add first steps in real solving 2010-04-22 16:46:06 -04:00
Sam Tobin-Hochstadt
9c59782a37 progress, fix some dumb bugs 2010-04-21 19:00:12 -04:00
Sam Tobin-Hochstadt
f57ef37a66 Everything now compiles without names 2010-04-19 18:42:25 -04:00
Sam Tobin-Hochstadt
fca1044972 Merge branch 'master' into samth/new-logic2 2010-04-19 16:14:11 -04:00