Sam Tobin-Hochstadt
8ebebdeb8f
Copy properties when optimizing bodies of lambda/define-values.
...
Closes PR 11860.
original commit: 981616d504c1c0c6f91effedc6166a324de328e3
2011-04-18 15:41:50 -04:00
Sam Tobin-Hochstadt
edd83d1c06
Remove unused code.
...
original commit: 187dc634933a5652746d5dcb6a263732a9a46b7a
2011-04-18 15:41:50 -04:00
Hari Prashanth
c5bfe38e87
Added some examples to to the TR reference docs.
...
Signed-off-by: Sam Tobin-Hochstadt <samth@racket-lang.org>
original commit: 7934ac3461830df81836dfd8113e1b2e7a915a1a
2011-04-18 15:41:50 -04:00
Vincent St-Amour
58a8754f50
Optimize filter operations.
...
original commit: bce90e2a712dccdf0c7283abaa5be49f65d96b59
2011-04-18 13:25:28 -04:00
Robby Findler
e81eb675ac
renamed parametric/c to parametric->/c
...
and cleaned up the organization of the related files
original commit: 570a3e58b9e82a50a35466a17cd293e1df74f6bc
2011-04-09 21:45:49 -05:00
Ryan Culpepper
12955cdc37
moved unstable/{location,srcloc} to syntax collection
...
fixed bugs in unstable/wrapc
original commit: 7828a7bfa78ac6591ea7074cdf85f3cd0ca12baf
2011-04-08 08:25:22 -06:00
Ryan Culpepper
b8d44a81de
moved unstable/poly-c to racket/contract/parametric
...
original commit: f49412add8363db39de28f579add722094e21cb7
2011-04-08 08:25:22 -06:00
Ryan Culpepper
332517bc27
created racket/syntax from parts of unstable/syntax
...
original commit: 73ab1675222761363f6633061bc1156189f4ba59
2011-04-07 09:47:20 -06:00
Vincent St-Amour
f01605d921
Fix bounded-fixnum opts to only fire with the right number of arguments.
...
original commit: 9c3bee03e7f24390338e3f37d06eb84940d6a137
2011-04-01 14:56:17 -04:00
Vincent St-Amour
9005984c31
Fix type of sqr.
...
original commit: 60cc8c44537993882e41c3835c112a64b48c7d4c
2011-03-21 16:06:37 -04:00
Vincent St-Amour
8040ee8831
Fix type names.
...
original commit: 4ba3f1a6ddde6a69cd110435a0294136eb7efd13
2011-03-18 13:25:06 -04:00
Vincent St-Amour
5a35d4ea66
Optimize add1 and sub1 on floats and fixnums.
...
original commit: 3ebe9e78f9c86feb14d80dd499adec6438dc37e3
2011-03-18 13:25:05 -04:00
Vincent St-Amour
b05cef80e3
Use subtype test, just in case.
...
original commit: d06bf0de912355eb776f060c9d7a0a137f50a339
2011-03-18 13:25:05 -04:00
Vincent St-Amour
b2d591e70b
Provide the index? predicate.
...
original commit: 17afa91c095d9df8f91820dcb8268df34f9f0165
2011-03-18 13:24:58 -04:00
Vincent St-Amour
c8a4abd264
Improve TR's fixnum optimizations, using the new sub-fixnum types.
...
original commit: 1f0386b46cc7ef08ac59d1d3453412f5eaf3f1e3
2011-03-18 10:25:22 -04:00
Vincent St-Amour
cefc2bec81
Changes to the regular base type environment.
...
original commit: bde2ee0b8d122bae0ecc2c8f0cd0e26285bb9539
2011-03-18 10:25:22 -04:00
Vincent St-Amour
f0bdca6383
Updated TR's base type environment to use the new numeric types.
...
This ended up being an almost complete rewrite of the base environment.
Note: While the commit is dated Jan 27, the work was finished on Mar 2.
original commit: ee29d371c9e6882edfc78621110bd11260ee942a
2011-03-18 10:25:21 -04:00
Vincent St-Amour
f2c0187b07
Add a helper function to add filters en masse to express propositions
...
that are true about a function's arguments if the function returns.
original commit: bf6379c36346e061031fe2916a1f6aece2367fb1
2011-03-18 10:25:20 -04:00
Vincent St-Amour
ddd2dd821b
Add an Exact-Number type.
...
original commit: 88fac43d551687efc72b6241c2dffbbaffe270d7
2011-03-18 10:25:20 -04:00
Vincent St-Amour
a8ee106320
Take the meet of constraints earlier in the inference process.
...
This avoids constraint explosions in some cases, notably when working
with polydots and plain variable arity functions at the same time.
However, this also weakens inference a bit (breaks it for
unholy-terror and related tests), but not in a way that affects any
practical use cases that I know of.
original commit: 80a9027f1eee6ea56a29aa73c65675f6cf86cdb2
2011-03-18 10:25:19 -04:00
Vincent St-Amour
4f37500ccb
Move subtype check in inference engine earlier, for performance reasons.
...
original commit: d0bab9953508c8e1ff4bf126d33dd8cf4d16bdd1
2011-03-17 18:43:59 -04:00
Vincent St-Amour
246498613a
Share dotted variables to make inference faster.
...
original commit: e450e2815bea5891d61d641e71eb8873f9e43544
2011-03-17 18:43:58 -04:00
Vincent St-Amour
a006817f5e
Remove duplicate constraints when taking their meet.
...
original commit: bd301912c01c27cd20892c8ddf60b4529dd3def1
2011-03-17 18:43:58 -04:00
Vincent St-Amour
f8ded9a56d
Change type of make-sequence to reflect changes to its implementation.
...
original commit: f8528ac8926bbf7d7eb032dbb287182336828bd4
2011-03-17 18:43:57 -04:00
Vincent St-Amour
4e38d34c5a
Fix expected optimization logs to reflect changes to for.
...
original commit: 35161a0ba675677fdcfd25bb9f44809173572e22
2011-03-17 13:10:19 -04:00
Vincent St-Amour
7635a7927d
Fix TR's GUI test harness.
...
original commit: 498ee4bea17298a96a8fc0ffee956e36e3b639c7
2011-03-17 13:10:19 -04:00
Vincent St-Amour
5e37d261e5
Fix contract.
...
original commit: fe8f1c3591ea86f7d0ec7943ccff47c4c2585dea
2011-03-17 13:10:19 -04:00
John Clements
c60b5b21a9
oops rename in tests subdir too
...
original commit: ca88fdd7e52bc57a83e45131fdabc2dddbe4fef4
2011-03-08 17:37:38 -08:00
David Van Horn
091a0f64e3
Fixes more spelling errors.
...
original commit: 760a58b65df2b91010d2bcc2739ddab2a4489729
2011-02-04 19:44:13 -07:00
David Van Horn
774c62bda5
Fixed various spelling errors.
...
original commit: c9519fd11300b07292df8619e86f48533eff6e4d
2011-02-03 17:42:33 -05:00
Vincent St-Amour
4c5e687ec1
Document the Path-String type.
...
original commit: 3c081d8fa7ed9f7328d6f9acffda4ef591da4e47
2011-02-01 18:00:26 -05:00
Vincent St-Amour
f8b7eb8073
Add a case-> type-constructor as a synonym for case-lambda.
...
original commit: 1b3052748e3278deefabf646f4990dc1f8064202
2011-01-31 16:39:20 -05:00
Vincent St-Amour
2b933e4436
Remove some legacy bindings.
...
original commit: d65438c9ea1bacce33579c81cc0e22120ab64f5d
2011-01-31 16:39:19 -05:00
Vincent St-Amour
185e8c4d0b
Cleanup of exposed base types.
...
original commit: 22391be437d61fbbe7a1f19b2a2ded393b7afb55
2011-01-31 16:39:19 -05:00
Vincent St-Amour
97d8f2613c
Fix typechecking of single flonum literals, now that they are enabled by default.
...
original commit: 0f0a2625c6765a48e6aeb41230d2e6d9225f9c9e
2011-01-31 16:39:18 -05:00
Vincent St-Amour
c0970cc647
Small-Float -> Single-Flonum
...
original commit: f1c6c74284fd913ab8231426bcf1206bcf259f77
2011-01-31 16:39:18 -05:00
Vincent St-Amour
f642a6ce6d
Added the new single-precision float function to TR.
...
original commit: 4ac36fd59bc35cb0d60cb050cfaae21d213064c8
2011-01-31 16:39:18 -05:00
Vincent St-Amour
0e7bf2be4f
Update base-env-indexing to use the new types.
...
original commit: b26531774b6943e73f4b285b827432200b18a433
2011-01-31 16:39:15 -05:00
Vincent St-Amour
aa2132e024
Bytes are a sequence of the new Byte type.
...
original commit: 46f086282d7302e7e015109c9f945a92350e384c
2011-01-31 16:39:15 -05:00
Vincent St-Amour
8542bc4073
Edit TR's optimizer's docs to reflect that Float-Complex is the only
...
complex type that can be optimized.
original commit: 5dbc752542ec6dec03fb4060ecff16a8cfb5a095
2011-01-31 16:39:15 -05:00
Vincent St-Amour
f6590e9db2
Fix optimizer to work with new types.
...
original commit: 768bb6336142726023bfe2029b5aa25728bda0a3
2011-01-31 16:39:14 -05:00
Vincent St-Amour
956a1533c8
Fix TR tests.
...
original commit: a0a54b231db5c81e9ab66302399b6adc660b701f
2011-01-31 16:39:14 -05:00
Vincent St-Amour
3d6b5893ba
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.
original commit: e56663c943fe4ae355b6d626d3c84b6ec8ea7fd1
2011-01-31 16:39:13 -05:00
Vincent St-Amour
881a3d31e7
Avoid generating large contracts for common numeric types.
...
original commit: 3e27ed607c983bd26d3ccf0c98f4504b86b1642d
2011-01-31 16:39:13 -05:00
Vincent St-Amour
d5941cb2d6
TR's numeric tower is now built from unions of non-overlapping base types.
...
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.
In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.
original commit: d4c93cc12e6df893ba2e782f0e0ea5529738315a
2011-01-31 16:39:13 -05:00
Vincent St-Amour
ddd166c799
Make bare union constructor smarter.
...
original commit: 78c4809177e6781a42dd29dd9b0bb96c77fa0e01
2011-01-31 16:39:12 -05:00
Vincent St-Amour
6473431d0d
Documented opt-lambda: and popt-lambda:.
...
original commit: 4b3e621d0ff54671befe96bff3c49109128e8861
2011-01-31 16:39:12 -05:00
Vincent St-Amour
6a0aa26fde
Fix nightly running of TR tests.
...
original commit: 36ae5a9d50883395e521ead9abdcfe0321bf7943
2011-01-27 16:49:45 -05:00
Vincent St-Amour
b13ebb0924
Generalize hash table literals and subtypes of symbol.
...
Closes PR 11670.
original commit: 2bd0145603f411e01ce6e16bfcf6ffc842b6801a
2011-01-26 14:23:19 -05:00
Eli Barzilay
f71157285c
Abstract the initialization stuff into a separate function.
...
Make it available outside so in the future I can use it in the PL class
code.
original commit: 5998ecc56430c34cabb13519a92fe755eff145cd
2011-01-14 08:35:55 -05:00