Commit Graph

102 Commits

Author SHA1 Message Date
Vincent St-Amour
e56663c943 Add a predicate field to base types, which makes checking for
subtyping of value types easier.

However, this means that base types can't be marshaled as before,
since these predicates can't be marshaled. Instead, we now marshal
base types as identifiers that refer to their base type object.
2011-01-31 16:39:13 -05:00
Sam Tobin-Hochstadt
73dbf42e0e Better handling of `hash-*' functions, and hashes as sequences. 2010-12-08 18:22:29 -05:00
Sam Tobin-Hochstadt
a45ce954d7 Remove outdated comment. 2010-10-07 10:18:06 -04:00
Sam Tobin-Hochstadt
d1835175d7 Fix for new ->i syntax. 2010-09-10 18:38:02 -04:00
Sam Tobin-Hochstadt
eea479b34a Fix `hash-name' to avoid collisions. 2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
b6b840076b Lots more laziness, and useless require removal. 2010-09-09 16:08:03 -04:00
Robby Findler
d419e8c12a changed the ->d contracts to ->i contracts 2010-09-09 14:21:35 -05:00
Sam Tobin-Hochstadt
b08de170bc Add Futureof' type, types for future' and `touch' 2010-08-25 10:27:07 -04:00
Sam Tobin-Hochstadt
6e489f8464 Fix variance of hash tables and parameters 2010-08-13 11:06:56 -04:00
Ryan Culpepper
07f57aac9b Added uses of unstable/struct 2010-07-13 12:07:47 -06:00
Robby Findler
41cfcbe862 rewrote an ->d contract so that it would work with a let*-style scoping 2010-07-10 10:01:25 -05:00
Sam Tobin-Hochstadt
a84796d8d7 add variance helper functions 2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
c6fb95d44d add `make-constant' 2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
c01b239779 Refactor struct type representation.
- fields now represented by fld struct.
 - mutability on per-field basis
 - accessors are per field

This fixes lots of existing bugs, allows future #:mutable on fields.
2010-06-29 17:33:36 -04:00
Sam Tobin-Hochstadt
a33f460b25 recreate selector table automatically. 2010-06-24 16:48:10 -04:00
Sam Tobin-Hochstadt
3c8952d63d Use the correct field numbers in substructs.
Maintain table of struct accessors/mutators.
2010-06-24 14:53:38 -04:00
Sam Tobin-Hochstadt
82e7d281cb More progress on refactoring infer 2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
e8a591d291 Fix free index computation when the body refers to the bound. 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
b787c7766c Switch to using functional hash tables for free variables. 2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
0fb1ac66bd Properly compute Dotted variance for ListDots and ValuesDots. 2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
40dbb6389c First attempts at adding ListDots (and, incidentally, List*) types. 2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
02238a7c6d Fix contract for structs 2010-06-17 15:26:13 -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
fac0e197cf Improve verbose printer.
- Fewer newlines.
 - Avoid printing hidden fields.
2010-05-24 13:23:37 -07:00
Sam Tobin-Hochstadt
2c03f2223b mostly done with heterogenous vectors 2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
6f7e88cfef Descend into path elements. 2010-05-12 17:04:43 -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
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Sam Tobin-Hochstadt
826eeab7cb fix the fold for Class types 2010-04-27 11:39:15 -04:00
Sam Tobin-Hochstadt
613f02a266 use the provide infrastructure for arr 2010-04-20 12:38:00 -04:00
Sam Tobin-Hochstadt
f57ef37a66 Everything now compiles without names 2010-04-19 18:42:25 -04:00
Sam Tobin-Hochstadt
df1572231e start removing names 2010-04-19 17:52:10 -04:00
Sam Tobin-Hochstadt
fca1044972 Merge branch 'master' into samth/new-logic2 2010-04-19 16:14:11 -04:00
Sam Tobin-Hochstadt
41e469d7ae Update structure types to have constructor ids.
Use constructor to generate better contracts for poly structs.
2010-04-14 15:06:14 -04:00
Sam Tobin-Hochstadt
d4e0c16d55 a new branch of the whole tree
svn: r18648
2010-03-27 14:49:58 +00:00
Sam Tobin-Hochstadt
c24daa5dbb Add `define-predicate'
svn: r18497
2010-03-10 00:10:03 +00:00
Sam Tobin-Hochstadt
78c14e434b Add `with-type' for defintions, add #:result keyword.
Fix contract for top-arr.
Remove static version of printing conditional.
Fix brokenness in print-converting.

svn: r18416
2010-03-01 22:31:24 +00:00
Sam Tobin-Hochstadt
2e90dfc081 Re-enable typechecking of auto-language.ss
Add `syntax-e' as a path.
Turn on contracts for objects.
Refactor Noel's additions.
Fix `require/typed' at the REPL.

svn: r18345
2010-02-26 00:25:23 +00:00
Sam Tobin-Hochstadt
33c18b3985 providing static struct information to untyped code works
svn: r18198
2010-02-19 23:27:06 +00:00
Sam Tobin-Hochstadt
1039e68e03 New representation for free variables, now stored in struct.
Interning now merely used to create key, eq? not = for types.

svn: r18107
2010-02-17 00:09:38 +00:00
Sam Tobin-Hochstadt
90c8fcff11 Generate proper contracts for polymorphic struct types.
Document `Nothing'.

svn: r18074
2010-02-12 21:57:58 +00:00
Sam Tobin-Hochstadt
318833f422 Add supertypes for mutable types, so that predicates work correctly.
svn: r17971
2010-02-04 23:39:15 +00:00
Sam Tobin-Hochstadt
d0c8a19ce8 Fix abstraction of implications.
Fix contract for lookup-typed/lexical.
Default cases for printing.
Abstract out indexing functions for Nat/Integer split.

svn: r17272
2009-12-11 23:00:37 +00:00
Sam Tobin-Hochstadt
791ec55787 fixes
svn: r17265
2009-12-11 00:25:59 +00:00
Sam Tobin-Hochstadt
92dbf99965 logic works properly now, it seems
svn: r17264
2009-12-10 23:35:28 +00:00
Sam Tobin-Hochstadt
16c152e5a4 revert all of the interning changes since they didn't work
svn: r17262
2009-12-10 17:15:17 +00:00
Sam Tobin-Hochstadt
cd0a94d465 sync to trunk
svn: r17249
2009-12-09 19:44:12 +00:00