Commit Graph

3795 Commits

Author SHA1 Message Date
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