Commit Graph

3080 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
4f2a113076 Eliminate expressions with dotted pre-types.
- Now looks for (List T ...) types.
 - special handling of `map', `andmap', `ormap' when list arg is dotted
 - remove tc-dots-unit

original commit: 4c3f279ab910de4fc5a059e48025d7118c97129b
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
d91f1e9998 Change type of ... rest args to have (List T ...) types.
original commit: 4cbeb0b2f00e652ce15e5638e15ca83a131b3b8b
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
dfe4211df8 Handle simple inference of ListDots.
original commit: 71939d282694485805316a02563083a6882a4fa8
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
fd9b246931 Initial ListDots test.
original commit: e40d1824b0b3717a1c2454ebc87257abca352a8a
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
2ecc5d35d4 Substitution for (List T ...)
original commit: 310bdf352980f9c629ccfa8d2a4365dd8f23cd0c
2010-06-21 18:29:56 -04:00
Stevie Strickland
28ff44d0f2 Add subtyping for dotted lists with the same bound.
original commit: 62fb6f93110e9ed23ed0b979af5b3c1608f088e7
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
54a57ab177 First attempts at adding ListDots (and, incidentally, List*) types.
original commit: 40dbb6389cd22c6f6dff42a20bdf23e32b2ba0d2
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
021e1146cb More environment refactoring.
- rationalize naming of files
- split files by env constructed

original commit: 50f93b9ed7abeb1d4e687078cb5fef6976d008aa
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
8676d0ac03 Stratify environments to only include props when needed.
original commit: 7e9763cf14cd180db251e48fc864b23768897442
2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
f581c7796d Refactor environments.
- mapping stored as dict
 - use id tables for identifiers
 - use env-filter instead of filter
 - eliminate spurious use of conses

original commit: 647c4eef5940fde0395f9a19496244acab5f62b2
2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
3f49f996de Refactor provide handling.
- use id-tables instead of lists
 - smarter iteration
 - prepare for eliminating declarations when not needed, but don't do it yet

original commit: 4925e7e51f487e3e9dcc3646a28cd30bf334cd02
2010-06-21 15:42:52 -04:00
Stevie Strickland
c903ffe15c Fix use of add-type-expr from commit 5d835ded.
original commit: 0aae2c866f2906c1b4111aff438d3f931afa43f7
2010-06-19 14:58:52 -04:00
Sam Tobin-Hochstadt
a4cec9ce13 Fix error message for 1-arg apply
original commit: 1e15ce1f3299d235cd72eeb171f7224099fba41a
2010-06-19 14:58:52 -04:00
Vincent St-Amour
cfce17b8d1 Fix to make-vector's type.
original commit: 1e2c50ec242c130df1a02e7bee6734d2806f8aa7
2010-06-18 20:24:17 -04:00
Vincent St-Amour
034e27a280 The optimizer now promotes integers to floats when they are used as
arguments to a function whose result is a float.

original commit: 5e901b9ef28a9d48f41fb05e7e4be57b34897180
2010-06-18 17:43:05 -04:00
Vincent St-Amour
a4b8973528 Added the type of the 1 literals in expressions of the form (- x 1) to
the type table.

original commit: 5d835ded47e51e29a86a457e97f87f88561fe1d8
2010-06-18 17:43:05 -04:00
Vincent St-Amour
af2fa50318 Added type signatures for some byte-string functions.
original commit: ecb614849c30cc437b2cb7004321bc9e88fba8fa
2010-06-18 17:43:03 -04:00
Vincent St-Amour
ec41142ab4 Turned indexing back to using integers rather than naturals.
original commit: 60c3067ddb9b187855c81eabd6c5e89d74ebcbff
2010-06-18 17:43:02 -04:00
Vincent St-Amour
361fee5e59 Fixed the type of unsafe-car and unsafe-cdr.
original commit: b39f686e7eb67a6d3dac96fcc94cc2480aa083f2
2010-06-17 19:06:24 -04:00
Vincent St-Amour
55a3f63554 Added types for some bitwise operations.
original commit: 07c1f1e94f05cbbecd6d7606d725c0217f1d4a33
2010-06-17 19:06:24 -04:00
Vincent St-Amour
f14d2fd415 Added types for thread mailbox operations.
Can't have typed mailboxes, though.

original commit: cc796a9f9a1e0284dfd21328323cbedce416870c
2010-06-17 18:45:28 -04:00
Vincent St-Amour
b67fd7f9f1 Got rid of a reference to the non-existent channel/c.
original commit: c4e035dd67d44da53fb17003ad8342ed5fbdf6dd
2010-06-17 18:45:28 -04:00
Sam Tobin-Hochstadt
8088618596 Fix contract for structs
original commit: 02238a7c6d713e9e210ab9efee994eb98c843284
2010-06-17 15:26:13 -04:00
Sam Tobin-Hochstadt
d31b37acc1 handle multiple body expression properly
original commit: 0262ef681ac4394f9c2f8f19836777ee1fcc7a56
2010-06-17 12:50:30 -04:00
Sam Tobin-Hochstadt
6b89ef5f82 base-types-new -> base-types
original commit: 77e4bbb5eb5e568db8478d0e102b1a0f6ece50f9
2010-06-17 11:47:16 -04:00
Sam Tobin-Hochstadt
90039fecdc Try harder to find types for loop variables.
- use `find-annotation' more
 - recognize (let ([x y]) ...)

original commit: bdbb6d48e62e8009154a095f1fc5752766ab34fe
2010-06-17 11:26:33 -04:00
Vincent St-Amour
9eb47ff1a0 Added mutable lists to Typed Scheme.
original commit: a31a7b07187573b9f0d9b8b7b9fcaa21bbb50b8f
2010-06-16 12:49:01 -04:00
Vincent St-Amour
3900201b88 Rewrote the indexing code.
original commit: bb0747f58925c574964234c22bb4ba1d07864e23
2010-06-16 12:49:00 -04:00
Vincent St-Amour
e45bc88bfb Moved some indexing functions' type signatures.
original commit: 9959f050542aba1faee00202ce5b6b1f3cbf07cc
2010-06-16 12:48:59 -04:00
Vincent St-Amour
e6d4962b46 Reimplemented assert as a macro.
original commit: 8dfd7d87ecd5d167514f8c7c5468448c6ad86547
2010-06-15 16:39:33 -04:00
Sam Tobin-Hochstadt
eed1167639 set-mc[ad]r!, inference, printing, tests for mpairs
original commit: 4cc86cc8c808d375f10c2c1fa2e4b54b126a26da
2010-06-15 16:10:16 -04:00
Sam Tobin-Hochstadt
4ed047109d types for basic mpair ops
original commit: 913179f2ed6e601e795e07f79e2e38399626ad1e
2010-06-15 15:58:37 -04:00
Sam Tobin-Hochstadt
36d46fac77 eq? is a predicate for eof
original commit: f73d63e1afdca9f509ff0a143ae2348875766ce2
2010-06-15 14:59:08 -04:00
Sam Tobin-Hochstadt
8ddbeba6e3 fix types of `read' functions
original commit: b644ec7be4c77e5b0ac8c66a1bc10283856447a9
2010-06-14 17:35:05 -04:00
Sam Tobin-Hochstadt
3c594198ce Type for `curry'.
Closes PR 10956

original commit: 81f262c7caf0954f7efebebc6d10bef6c93972bd
2010-06-14 08:24:43 -04:00
Sam Tobin-Hochstadt
b4d568a84d Generate -> instead of ->* when required by case->.
Closes PR 10977.

original commit: cf5c74a2ca36a951d7cbeac61e58235f493291dd
2010-06-13 15:01:57 -04:00
Sam Tobin-Hochstadt
ae851e41cd Allow (All (A) A -> A), dropping pair of parens.
original commit: d4d286d31dce759129c372c9e42bfb37300bf167
2010-06-13 14:38:03 -04:00
Sam Tobin-Hochstadt
3f3e732ac3 add \rightarrow as alias for ->
original commit: 408d9adb5abaed3f3684e045b62225c13db01a9d
2010-06-13 14:35:05 -04:00
Sam Tobin-Hochstadt
c6730fa63b Fix grammar for rest args in lambda:.
Closes PR 10976

original commit: c2ac8046c45d4e807fb623f2048a4dbfabb6300d
2010-06-13 14:34:16 -04:00
Eric Dobson
fc607e7696 Added some stuff to typed scheme, mostly port and character functions.
original commit: 90f015408cb021a258a0c25b3eb62f589fae33f3
2010-06-13 08:20:49 -04:00
Vincent St-Amour
833693035f Added some closure and promotion type signatures.
original commit: c9a96c1d2c49e87ebbc26e837edf563b359f8c57
2010-06-11 20:55:47 -04:00
Vincent St-Amour
0289d63af2 Fixed a bug in the optimizer that made it optimize where it
shouldn't have.

original commit: aae1acf035fb548067aef1dc3a9203a19ee76b90
2010-06-11 20:53:10 -04:00
Vincent St-Amour
dcf687d53b Made Typed Scheme's optimizer silent.
original commit: a4c556bc85512ac720e9c11b3abeee9c8a8f5faa
2010-06-11 20:53:09 -04:00
Vincent St-Amour
450f6f98e2 Fixed string-copy!'s type signature.
original commit: de0d9a27dc83c261a166d00cb6cfbefda7a70de3
2010-06-11 19:48:23 -04:00
Vincent St-Amour
aa18b9971e Fixed a bug with eof and procedure types overlapping.
original commit: 96c541912ccb6e752d83101c38f57d6da5984a42
2010-06-11 19:48:22 -04:00
Sam Tobin-Hochstadt
b19c37e9df Actually typecheck actuals even when there's a type annotation.
original commit: 1cff0a1f85e30ca231cde5fa94ec2d8c47b74d68
2010-06-11 19:35:56 -04:00
Sam Tobin-Hochstadt
79fe558827 Fix type of `zero?' to properly handle 0.0.
original commit: 7ece2a4872bfd02d7b62b39c040e877c7ba638ee
2010-06-11 18:54:05 -04:00
Sam Tobin-Hochstadt
aa6d48e80f Print names using the name, ignoring aliases.
original commit: 7c32898cb29bb6baee4591bc05fa96621ff1d6d1
2010-06-11 17:48:37 -04:00
Sam Tobin-Hochstadt
aa087d75db Fix optimizer for refactoring.
original commit: fd1b20c93d195f236619a415e15c1b1dc8efde7f
2010-06-11 14:21:42 -04:00
Sam Tobin-Hochstadt
946a8dd48f new bug with mutation
original commit: b649575afc2611ca0a3bec1f6f3d70e45ec011c1
2010-06-11 11:55:22 -04:00