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