Vincent St-Amour
9b7ee99d39
Extended type signatures for addition.
...
original commit: e8c42cd20cc00e607e44bb6f172333d49b8a707d
2010-06-30 14:53:21 -04:00
Vincent St-Amour
f89158a144
Updated make-vector's type for fixnums.
...
original commit: 06b636b2e31e32fed83d1a58293e1b8f36f8381a
2010-06-30 14:53:21 -04:00
Vincent St-Amour
b7d9ed75e2
Added the Inexact-Complex type.
...
original commit: dcfb2d8a94b1359217b9451b7a97d4afa425a6da
2010-06-30 14:53:21 -04:00
Vincent St-Amour
c6a22a53f4
Fixed the type of min and max to only operate on reals.
...
original commit: ef576e27c5187783648209c55d4ca211ff693e05
2010-06-30 14:53:20 -04:00
Vincent St-Amour
848b6f0e02
Kept track of source location better in the for: macros and got rid of
...
useless type ascriptions.
original commit: 22a652ef8effe8cf670cd69221cb3dd4689b6a21
2010-06-30 14:53:20 -04:00
Vincent St-Amour
431d91bf89
Fixed the type for hash-ref!
...
original commit: 90252c9bd33e7205a5494dd13fc823d6df78b477
2010-06-30 14:53:20 -04:00
Vincent St-Amour
98738ea50a
Added a rule for valid float promotion when dividing.
...
original commit: 8ec6d7ff3f835f88be73c07dddcf9e2dd6388e79
2010-06-30 14:53:19 -04:00
Vincent St-Amour
fc1a0a9e05
Added special case to the typechecker for (- <positive-fixnum> 1).
...
original commit: c6373ca7c09ec74e50e8b435b9a0387310c1b202
2010-06-30 14:53:19 -04:00
Vincent St-Amour
be0e26235a
Fixed build-vector's type.
...
original commit: f27aac552fde4580850493dbde9fbb3d4a989e5a
2010-06-30 14:53:19 -04:00
Vincent St-Amour
783b505c9d
Eliminate exact->inexact of floats.
...
original commit: a6872c67a74e5d65a8a68b7fd5daa16b4225efe9
2010-06-30 14:53:18 -04:00
Vincent St-Amour
d89e82755f
Added fixnum optimizations.
...
original commit: dfafc0b2958debe3953aa6c525a737f8c63859c8
2010-06-30 14:53:18 -04:00
Vincent St-Amour
18155bf2c5
Added fixnums to more type signatures.
...
original commit: cee39c4a38bb0ca41f79a4b8e9e159501e5d627d
2010-06-30 14:53:18 -04:00
Sam Tobin-Hochstadt
4a5379ca01
Forgot to disable this yet again.
...
original commit: f7634043479125de58308197c3fb5fea75146db5
2010-06-30 12:04:23 -04:00
Sam Tobin-Hochstadt
19bb208f4f
make subst structs transparent
...
original commit: 18078400b77114880e99e1c39913f8df96a0faa2
2010-06-29 17:34:44 -04:00
Sam Tobin-Hochstadt
887f054a55
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.
original commit: c01b2397796cce0ade2ed7515ffe33c9eb338c4f
2010-06-29 17:33:36 -04:00
Sam Tobin-Hochstadt
7186e085fa
minor cleanups
...
original commit: 3c4f1f39b8acf610576f4069c37929f071c60ec3
2010-06-29 17:33:35 -04:00
Sam Tobin-Hochstadt
7341d85d62
Remove bogus reference to 'sexpression', add docs for Sexp type, don't use Sexp where inappropriate
...
original commit: 26e73cf61d80636246dd0bf5912b7670c30698d6
2010-06-28 11:12:21 -04:00
Sam Tobin-Hochstadt
efa50529d0
remove unneeded export
...
original commit: a214f50812546e045ff9ca3c6273a06f89c4bdf9
2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
5883e7e818
Use get-type/infer for un-annotated defines.
...
original commit: 0bae63b516a3081276aefd1e2d46b28eba4f31be
2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
e3f8fff0e8
Generalize mutated variables when inferring types.
...
original commit: 90d8a3cc13dd76ba8d1eaefa98ee5e3248e43b04
2010-06-28 11:12:20 -04:00
Vincent St-Amour
db81a50276
Fixed Typed Scheme's optimizer's test harness to work with drdr.
...
original commit: 28acece484b050cd42f57c3826e47d92bde31aee
2010-06-25 13:25:42 -04:00
Vincent St-Amour
e96760613b
Fixed the optimizer so that it optimizes float comparisons.
...
original commit: 382a45ad6fe99f758451631b07fac393333893a8
2010-06-25 11:00:26 -04:00
Vincent St-Amour
fe3ce60a26
Typed Scheme now optimizes (exact->inexact <Integer>) to (->fl <Integer>).
...
original commit: d6008f9191c5e00e335d2f683fecbc9d09c34475
2010-06-25 11:00:25 -04:00
Vincent St-Amour
773d817389
Typed Scheme now optimizes (fl)vector-length for all vectors and
...
vector-(ref,set!) for vectors of known length.
original commit: b345d5f0f0d2b8bbf02a5a97b335e288ef172e58
2010-06-25 11:00:24 -04:00
Vincent St-Amour
92347a18b6
Wrote a test harness and a couple of tests for Typed Scheme's optimizer.
...
original commit: fd987546b3d0293edba097f940c33fbdbf6c3b86
2010-06-25 11:00:23 -04:00
Vincent St-Amour
b8378a32a7
Added better tracing to the optimizer.
...
original commit: d47221c55dba99ecbce45affa92011203b02bb9e
2010-06-25 11:00:23 -04:00
Sam Tobin-Hochstadt
680e7fee29
More fixnum improvements.
...
original commit: 3251712ef79832415b371a7ff2c6593da0372411
2010-06-24 18:17:01 -04:00
Sam Tobin-Hochstadt
a7b787db6c
Add Fixnum type.
...
original commit: 4b1c62c9785a6578ba2f894a53a8ee6f1a03152f
2010-06-24 18:05:55 -04:00
Sam Tobin-Hochstadt
c898d882c6
recreate selector table automatically.
...
original commit: a33f460b2547866d492bf01c81ded9b2a669ea26
2010-06-24 16:48:10 -04:00
Sam Tobin-Hochstadt
bc193f512c
Types are not quotable.
...
original commit: 40ca16bc3059a029adddd5da1006680db578fa4c
2010-06-24 16:47:25 -04:00
Sam Tobin-Hochstadt
8e76e34368
More options for test runner.
...
original commit: 5b1118d514ca8cc7f0071bfa531f8268401fc531
2010-06-24 16:46:31 -04:00
Sam Tobin-Hochstadt
7f6da53efa
Use the correct field numbers in substructs.
...
Maintain table of struct accessors/mutators.
original commit: 3c8952d63d2cd28a3b5a588c0367b53dc963308b
2010-06-24 14:53:38 -04:00
Sam Tobin-Hochstadt
68ba63ce4d
Better handling of unsafe identifier generation.
...
original commit: 3078807757448b9223bcd58cfa10d7b30db4ddee
2010-06-24 11:05:55 -04:00
Vincent St-Amour
93728d1ebd
Switched indexing to integers in the typechecker's special cases for
...
heterogenous vectors and unsafe struct operations.
original commit: 3c9e7e34db69a6112f8aa87c4e5c3edcd550b4ab
2010-06-22 18:42:26 -04:00
Vincent St-Amour
1d48090ecb
Added support for unsafe struct operations to Typed Scheme.
...
original commit: 7d1040283ed325c93fb5499649a0aba5cfadfab7
2010-06-22 18:42:25 -04:00
Vincent St-Amour
9cbdbd8ed7
Added support for unsafe operations on heterogenous vectors.
...
original commit: 379d9a21251696293a997aa1c58611b85b41b6ce
2010-06-22 18:29:57 -04:00
Vincent St-Amour
8dc90d067b
Moved the types for some byte string operations to
...
base-env-indexing-abs.rkt.
original commit: eea31102b015d77ee989dfb0951729b3f1bfa313
2010-06-22 18:29:57 -04:00
Vincent St-Amour
1cf790fc86
Fixed the types of flvector operations.
...
original commit: 192c1fa995f44163d42e46f2466bdd05e74a98a8
2010-06-22 18:29:56 -04:00
Vincent St-Amour
0f27106fdd
Made make-vector's type more convenient.
...
original commit: 61545c4e75795adbdd951ed94fb6274a1a7b9709
2010-06-22 18:29:56 -04:00
Sam Tobin-Hochstadt
8869cd4d22
Add `struct:'
...
original commit: 6e1954d79b520fefd21abe81d06fe615e056ac93
2010-06-22 16:29:35 -04:00
Sam Tobin-Hochstadt
b718e60469
Typecheck `map' expression, not just #'map.
...
original commit: bce2cedf3864166c137ef91ca3f79f45fb6745da
2010-06-22 10:12:54 -04:00
Sam Tobin-Hochstadt
0bf7faa4fa
Initialize `infer' for tests
...
original commit: 95c5f942e6854e1d066b7627b2f65097e14e24b9
2010-06-22 10:11:14 -04:00
Sam Tobin-Hochstadt
eb621217bc
Docs for List x ...
...
original commit: 4df7d09ef1933fc128737ad3d29b61428d80b70b
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
f50aa4917a
support `map' over multiple ListDots with the same bound
...
- also support ListDots + Listof (map errors when not same length)
original commit: 0c7c722e16cd9f6e3e88deaa45cb681337021078
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
84247a1882
allow optional specifcation of var pattern
...
original commit: b8777d20b26837d8ecfa78eeeda25fdccdb4a783
2010-06-21 18:30:29 -04:00
Stevie Strickland
e73d9f5ee8
Generate dcon-dotted, and substitute for them.
...
- generated only in the case where we have two ListDots or two ValuesDots
- or when -> with the same bound, and fixed argument lengts are identical
- currently errors if there are any 'fixed' portions
original commit: 034b22d01401bba31f700dd5cb38fcf731ed64be
2010-06-21 18:30:29 -04:00
Stevie Strickland
a49d4de0ba
Take dcon-dotteds and create an appropriate i-subst/dotted entry.
...
original commit: 9c22701bd3a0178470e736b51c1c6c863ebd08d6
2010-06-21 18:30:29 -04:00
Stevie Strickland
c925e90dc6
Add fixed part to dcon-dotted.
...
original commit: 3f7ca52e370dfa0b81b5c9955c785bd429cda3d8
2010-06-21 18:30:29 -04:00
Sam Tobin-Hochstadt
380885f978
Implement substitutions as hash tables from vars to subst-rhs.
...
- add convenience function for generating substitutions
- give trivial substitution for unreferenced index variables
original commit: 339add9f78723fecb3e7332a8a173f615c37bc2c
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
6514ee71e1
Refactor substitution.
...
- new file types/substitute
- use structs for substitutions
original commit: 44d46e4cd7ecc06a264282b31dd7ba47dee421f1
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
da323feea3
This test case now passes.
...
original commit: dcc8beb5cd00f6fc12c450be56b4ba83823e3898
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
5618abb4f4
provide more information in inference failures
...
original commit: 8990459be69c3e720871bff23827826709990c49
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
9f8b2e4e2b
fix fail! to use the correct arguments
...
original commit: 692dc025c0db0aa64ee358ae5a36cbd6165455a3
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
16617152c5
Fix move-to-dmap functions
...
original commit: 9f99c914f3ce2c00119b64caa0be1a286df398c1
2010-06-21 18:30:27 -04:00
Stevie Strickland
f1ef77e550
The initial shot at extending cgen and friends to take both X and Y.
...
This doesn't fully work, in that more test cases are broken. However,
this is mostly due to questionable inference rules in the past, and
so fixing these errors should lead to a more correct inference algorithm.
(i.e. we need to handle things like (List X ... a) (List Y .. b),
where a and b are not the same bound. We'd started this work before,
but never actually gone through with it, since smashing regular and
dotted type variables into the same environment meant some things
magically worked when they possibly shouldn't have.)
original commit: b5d4d54d450b7c2e87ab1d80db66e84cbd1bd2e5
2010-06-21 18:30:26 -04:00
Stevie Strickland
b956e47ed2
Export the types provide macro.
...
original commit: 078b57c77da5051470cf88e932c69f9f95ed60b6
2010-06-21 18:30:26 -04:00
Stevie Strickland
5a4d6ed4a0
Fix up subst-gen to treat vars and idxs separately.
...
original commit: ec09139e0a22007fd3f6bd7ac69336053d65bb48
2010-06-21 18:30:26 -04:00
Sam Tobin-Hochstadt
7e4ee76e4e
Various small assorted fixes.
...
original commit: d886331807f55e5a2a4ebb464b50d50835e20393
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
c2b7caa66d
The inference engine doesn't need this annotation anymore.
...
original commit: e235c837b0d20538ca4c0fc024c18ddb30ac2ae4
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
c10334cfb0
More progress on refactoring infer
...
original commit: 82e7d281cb028e9d2e5c57a9a8c01b4d4e18275a
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
fdfdd6e3b2
Fix a bunch of uses of `infer' et al.
...
original commit: 18f45c413882b9e145fffa84d41bfb5b378396fc
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
d26ad0e213
Change inference to take into account index vs regular vars.
...
original commit: 99e499a503b8b319bc0e512b698e5543634e3654
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
9b93ec46d3
Fix free index computation when the body refers to the bound.
...
original commit: e8a591d2915c54fdf5b674d9859b7ebc7b13dd73
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
0d7111128c
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
original commit: 662f982b724e7194f5729a9894fc642f06e7910f
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
fbd795c01e
Re-enable the printer here.
...
original commit: 7b2de5373380a0bc833215dd9d3beed87fa686c3
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
9d6132fa0e
Add case to be fixed
...
original commit: fe9395fdbf0dcf8e64bdfaf247845c7858e35423
2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
d37f9f7d54
Switch to using functional hash tables for free variables.
...
original commit: b787c7766c3cac9a5054d6a76ec5de1a78a540c2
2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
b3b2b264a9
Special case for (apply values ListDots)
...
original commit: a93aecbed74672948b598a960f667d3240f86031
2010-06-21 18:30:20 -04:00
Sam Tobin-Hochstadt
38e065db7f
Change type variable environments from hash tables to sets.
...
original commit: 12384c6c3fd14020c99018d51058240f4258074d
2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
78b767252d
Refactor test harness.
...
original commit: e9f8cc9aca6a67a9b56f0ba9dd202f0fa2669ab6
2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
1e98e1c1fd
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
original commit: d570006db81dda68e69b7058fd3edfb68cc3d042
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
72f1d63d90
Properly compute Dotted variance for ListDots and ValuesDots.
...
original commit: 0fb1ac66bd03748767a30c41ec69207b9349e1bf
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
33bbcb17bc
Remove dotted-env.
...
original commit: a9c34dae6a83b296f79a9d432db3e9cfb5f6288c
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
341f6d82e6
Generalize ListDots to Listof in inference of loop var types.
...
original commit: f7b59f78e9212c03e950729944e7a9eb9370f363
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
db8c693481
Inference for passing ListDots as Listof.
...
original commit: a2af89bafd3d79587c87425488833e07465f5fc5
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
92c48f6521
Subtyping between (List T ... a) and (Listof T[Any/a])
...
original commit: fd5a662ccc7aa2fbc3f29974c075dcabf2a870fe
2010-06-21 18:29:57 -04:00
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
Sam Tobin-Hochstadt
d1bbefe5bf
minor refactorings
...
original commit: 4f2952f4b9c69c6e77d64511b8a39f9729039778
2010-06-11 11:55:21 -04:00
Sam Tobin-Hochstadt
589306a88f
Refactor #%module-begin and #%top-interaction for Typed Scheme.
...
original commit: 5f069ed4bb033531d39c8b268180f4ef70598c57
2010-06-11 11:55:21 -04:00
Sam Tobin-Hochstadt
dd84cab0b2
Add types for a few more values.
...
original commit: 490361c0fc3a94187083ea45132c5d9470b1df7a
2010-06-10 18:58:44 -04:00
Sam Tobin-Hochstadt
ed35e04293
New interface for unstable/mutated-vars
...
- functional hash tables
- fix clients
original commit: 0379e534e3f0024473d6af9379d0cac0d2bd1a37
2010-06-10 13:28:29 -04:00
Sam Tobin-Hochstadt
9aef73b980
Fix promise printing, add docs. Closes PR 10968.
...
original commit: 0149a05719fdb1fbab56d231905f088bb13b4252
2010-06-09 16:56:31 -04:00
Sam Tobin-Hochstadt
5b0fec235c
Improve TS reference docs
...
- lots of examples
- reorganize type listing
- add Zero type
original commit: 315156612505bb7f666da0b1eacdbe6dce1705aa
2010-06-09 15:44:46 -04:00
Vincent St-Amour
e34babbff0
Fixed the implementation of Channel types.
...
original commit: 436e001b0e485111da5772f54fcf004eec8a3068
2010-06-09 15:28:10 -04:00
Vincent St-Amour
feaef17915
Modified the numeric base type environment.
...
original commit: 2fd1e3ac9ffc0b939cceac0e7ded9093d5e7a9a8
2010-06-09 14:54:39 -04:00
Vincent St-Amour
aacdee78b9
Added some Bytes and IO-related stuff to Typed Scheme.
...
original commit: 04e618388c53c32a80b9be89402fec685bbb783d
2010-06-09 14:54:38 -04:00
Vincent St-Amour
c689b7d3e6
Added tests and documentation for Thread and Channel types.
...
original commit: 6b4ca4d7b05ca42527788049a8bf20e322da889d
2010-06-09 14:54:37 -04:00
Vincent St-Amour
d5c72476e8
Added the Thread type and related functions.
...
original commit: 15b0c8542d3a54a37539608623754109f96b4d3e
2010-06-09 14:54:36 -04:00
Vincent St-Amour
ce236fdf46
Added Channel types.
...
original commit: ec799fb208197df8b2f4cafc0b0af3aad423871a
2010-06-09 14:54:35 -04:00
Vincent St-Amour
e0219a6f8f
Modified the for: macros to use sequence types.
...
original commit: 0741b48c99e190a31365c2fe2f2cd927d9561bb2
2010-06-09 14:54:34 -04:00
Sam Tobin-Hochstadt
ee7d9e61dd
typed/racket/no-check
...
original commit: 30fe053f7842c14bf0e0471a69b3105f41903bee
2010-06-09 12:51:27 -04:00
Sam Tobin-Hochstadt
4347da736b
document `assert'
...
original commit: ed5b10afd20f455964445a6eee56a0142bdc2167
2010-06-09 12:20:39 -04:00
Sam Tobin-Hochstadt
e16c33e1a6
Sequenceof type.
...
- inferencing and subtyping relation with vectors, lists, etc
- use in `make-sequence'
- add tests
original commit: 78023d08f99bd423a17e532b6ff9b1ded758b658
2010-06-09 11:03:12 -04:00
Sam Tobin-Hochstadt
2ddda6b00a
Support case-lambda with multiple branches with keyword arguments.
...
original commit: 78832fe332fccfe7c533243c4e1f1c1d0e3753e4
2010-06-08 17:50:48 -04:00
Sam Tobin-Hochstadt
f315f666d5
more precise type for `max'
...
original commit: 0f4db44be3cbc42e0546b7b61ad1b18156cf6607
2010-06-08 12:05:57 -04:00
Sam Tobin-Hochstadt
36854b7150
Predicates for numeric comparisons.
...
original commit: e44e454b9478e40f6cf00481bf23de27f2ee5b45
2010-06-08 12:05:57 -04:00
Sam Tobin-Hochstadt
2d28ab5f13
Special-case (- x 1) for use in loops.
...
original commit: 7f300a2c4f9d934522a3b3ba3d5c949b5bd075ed
2010-06-08 12:05:56 -04:00
Sam Tobin-Hochstadt
fcfd000fcc
Properly handling immutable invariant structs.
...
original commit: 7df8e3279396e7483a5645603726afa5424a071a
2010-06-07 14:03:06 -04:00
Carl Eastlund
14b919c942
Renamed call/debug from unstable/debug to debugf.
...
original commit: e7814b63a73776f0b3ddff8ccb2d58e9f5978c90
2010-06-06 20:31:37 -04:00
Carl Eastlund
429f5fa06b
Replaced unstable/debug with unstable/cce/debug.
...
original commit: ddc889532e5c6a20c9639d9afcbe1ac874937867
2010-06-06 20:31:36 -04:00
Carl Eastlund
092d4e3c3d
Replaced unstable/hash with unstable/cce/hash.
...
original commit: 3a525b9a121de971967b59ab3a684b5d104b53ed
2010-06-06 20:30:48 -04:00