Sam Tobin-Hochstadt
9e926d2009
Improve type of identity
.
...
Closes PR 12813.
original commit: 8459c22c0106b1dd31531f5dbbfd1ce1e7d65fed
2012-06-02 18:52:18 -04:00
Sam Tobin-Hochstadt
0a13467456
Support definitions of keyword functions in Typed Racket.
...
Caveats:
- keyword function definitions do not define static
bindings, thus limiting optimization opportunities
- can't use `define:`, `lambda:`, etc with keywords
- error messages sometimes expose the implementation
- the optimizer skips most of the generated code for
keyword functions definitions (user-level code is
optimized)
original commit: 865a2cdcbd3e4eea748e57859c846c0f7ffd61ad
2012-06-02 18:22:07 -04:00
Sam Tobin-Hochstadt
5106b5672d
Remove testing code, and failed experiment.
...
original commit: c8380b94e54180a3a0e03f618e21192ecca3950f
2012-06-01 20:08:37 -04:00
Sam Tobin-Hochstadt
b12f0ba53c
Use the new syntax properties for checking keyword functions.
...
Previously, some hacks were used to obtain the internal
identifiers that implemented keyword functions directly, and
give them types at startup. Now, the primary "function"
(eg, `sort`) is given a type, and when used, the residual
syntax properties are used to find `sort` from the real
functions, and then the type of the real function is computed
from the type of `sort`.
Some creativity was required in the types of functions which
take optional arguments that when present, alter the return type,
such as `regexp-match*` and `file->list`.
original commit: a377c4235743296e337db64341c8518fc7dce965
2012-06-01 18:37:02 -04:00
Eric Dobson
0d84d3cbc4
Redefine Boolean as (U #t #f).
...
Closes PR 12815.
original commit: 262ecc3da9e20a3f3bc20e16c93f9f1f45f0deda
2012-06-01 10:26:10 -04:00
Eric Dobson
ad27327bae
Attach struct info to constructor for polymorphic TR structs.
...
Closes PR 12806
original commit: c2d9f7ed9a3839b6ec36c21e984600c812b90414
2012-05-31 13:09:26 -04:00
Eric Dobson
c07bd9c067
Add support for multiple provides of the same identifier in TR.
...
Closes PR 12807.
original commit: 735b84b08310c44933cd5235719cb7f4a647a1c6
2012-05-31 10:02:03 -04:00
Vincent St-Amour
55c8f085d1
Improve some Performance Report messages.
...
original commit: 4ad700021b6194c4903eb8e13052772ca73b86bd
2012-05-30 16:25:33 -04:00
Vincent St-Amour
2b2592d811
Reduce random testing attemps to avoid DrDr timeouts.
...
original commit: 3062efe47f3f4d72b30dd7bea280bdf7fd06c2d1
2012-05-26 11:06:29 -04:00
Vincent St-Amour
c01818f6b2
Add random testing script for float types.
...
original commit: 142158c0cbd325891be6f039651673805c461077
2012-05-25 17:15:22 -04:00
Vincent St-Amour
8809e0d75c
Fix NaN and inf handling in flonum specific op types.
...
original commit: 186b4632175c516e1167191dd8bf379a813b959c
2012-05-25 17:15:22 -04:00
Vincent St-Amour
7ef2431be4
Fix handling of NaN and infinities.
...
Most of these were found through random testing.
original commit: ebcc6d211a1108de602470540874681cd6b91443
2012-05-25 17:15:22 -04:00
Vincent St-Amour
0bcd0481a6
Add reminder that unsafe-flexpt is currently the same as flexpt.
...
original commit: b6a7a0c50582d1199f4246f6cb9606c02b23c556
2012-05-25 17:15:22 -04:00
Eli Barzilay
96d373e278
Drop the now-redundant " " argument from existing uses of `string-join'.
...
original commit: 6318df82e5f3b717c6e6c221b816232454fb9378
2012-05-24 10:40:20 -04:00
Asumu Takikawa
ece68f93e3
TR: Fix type-checking of hash literals.
...
original commit: abf9223203d373840adb4bba0495dac7aa422517
2012-05-23 15:49:38 -04:00
Vincent St-Amour
8fdb647233
More precise type for flexpt.
...
original commit: e786149434633b802f1c880799ad5d27b2361112
2012-05-08 11:42:21 -04:00
Vincent St-Amour
d2431e07d5
Fix prims.rkt's type->contract to accept keyword arguments.
...
Necessary when some prims are used at the top-level.
original commit: 95c2115799587caa3ed64d4503a535436bde9116
2012-05-08 11:16:27 -04:00
Matthew Flatt
63e411b474
racket/flonum: add `flexpt'
...
original commit: 9a41129c69cd18cfe901a26d1bee0ebe45cde1a9
2012-05-07 20:41:14 -06:00
Eli Barzilay
3cd50aade1
A bunch of fprintf' ->
eprintf' conversions (and a few related things).
...
original commit: 17090fca4f19298f01d03fea419edb20f315d040
2012-05-06 12:06:00 -04:00
Asumu Takikawa
ed00546c9a
Changing new to (eventually) concretize interface contract methods.
...
* No-op for now, but will later do more work.
* Fix up Typed Racket to handle the new do-make-object.
original commit: f4fb628934dc39b5b48f16cdea168ecd75a22eb5
2012-05-04 17:24:55 -04:00
Stevie Strickland
b173d1f7cc
Add special typechecking rule for expansion of (quote-module-name).
...
original commit: b2bfbad240cdd3cb17b84733f7d6467ee225f48c
2012-05-03 19:38:47 -04:00
Asumu Takikawa
15c7c9f6b7
Fix a TR issue with syntax-local-lift-expression
...
original commit: 4651ccc0adbc80635d17279b6413f8bce9c52ee9
2012-05-03 19:36:32 -04:00
Vincent St-Amour
56acc3592a
Fix TR test for new contract error message format.
...
original commit: a2a60cb92406ec5319ea3323f30147992bd71b84
2012-05-02 15:14:39 -04:00
Vincent St-Amour
4522587510
Optimize integers used as sequences.
...
original commit: a62444fa3e218aa7675c546051badfd6b7b9ae13
2012-05-02 15:14:37 -04:00
Vincent St-Amour
8b65ec4e4b
Include both float zeroes in Non-Negative and Non-Positive types.
...
Closes PR12706.
original commit: 8cbd26899f59773b7f574a79afca663e53ca02c9
2012-04-16 17:51:04 -04:00
Vincent St-Amour
db9690f75f
Improve type for expt.
...
original commit: f3bbe1914dc068f84a5a3aa4782156a5360cbde5
2012-04-08 13:08:17 -04:00
Sam Tobin-Hochstadt
0cfa940a0e
Fix Typed Racket build with contracts enabled.
...
original commit: 1abb027fc7fdf238ab0086d9d0f73aa920175431
2012-04-06 10:24:49 -04:00
Vincent St-Amour
be06428db5
Fix type of * with no arguments.
...
Closes PR 12679.
original commit: e26201b4f6c92d05264cbd651ec170e2547a516a
2012-04-05 19:18:20 -04:00
Vincent St-Amour
6d3c958a32
Fix type of expt.
...
Closes PR 12660.
original commit: 69899c33fc8cf6a7291c2398ee0dbe59dcb2738b
2012-03-29 15:39:24 -04:00
Vincent St-Amour
a76bd4d52d
Fix optimization of first, rest, etc.
...
original commit: 054f4d9b563ab40c22523e6b115e1a35822b3d3d
2012-03-29 15:39:24 -04:00
Sam Tobin-Hochstadt
afb83b7e91
Revise `Path-String' wording. Thanks Robby.
...
original commit: 2eeff9d1fccf2469b477923235b70d0a5de45027
2012-03-27 12:27:30 -04:00
Sam Tobin-Hochstadt
9a20db10c5
Document relation between Path-String' and
path-string?'.
...
original commit: 896897942248e0a0587297416f10c176755294e2
2012-03-27 10:35:37 -04:00
Sam Tobin-Hochstadt
177ecf23ca
Improve filter for `path-string?'.
...
original commit: a39001911c6b2e601e2290d198b92ce7e54bd91d
2012-03-24 16:04:08 -04:00
Sam Tobin-Hochstadt
7d25bb6ba5
Fix types for regexp-match*' and
regexp-match-positions*'.
...
Note that the keyword arguments themselves are not yet typed.
original commit: 56120d9697756be22b19ec346a0c3d14d3238ad6
2012-03-19 15:59:34 -04:00
Eli Barzilay
d33be1917d
Remove typed versions of the cgi exceptions.
...
original commit: f3a21c6aba515db8f5dc3bf320a7c0ac6ba8d1fc
2012-03-16 03:45:35 -04:00
Eli Barzilay
4d7c5295ff
Big newline at EOF scan.
...
original commit: f7c67b49a49a723534454ce561cd060e63889480
2012-02-29 00:28:11 -05:00
Sam Tobin-Hochstadt
e9c224d095
Pass temporary value for Un' along in recursive call in
substitute'.
...
Closes PR 12600.
original commit: 678941ce5aaf52a9ca62ba6270a89c892b85b516
2012-02-24 20:25:53 -05:00
Eli Barzilay
be78fbfeb2
A bunch of more typos like the ones in David's commit.
...
original commit: c007c345f9e57e8cd17373a8caf51a00f7d303b2
2012-02-21 14:21:43 -05:00
Sam Tobin-Hochstadt
9b3f878948
Fix types of numerics etc with expected type.
...
original commit: b4af99babbdeece0e1c4fcc0e0d033df368fb957
2012-02-20 18:45:33 -05:00
Sam Tobin-Hochstadt
c681b3c91f
Speed up and improve tc-literal
. Now uses expected types more, and more sensibly.
...
Closes PR 12586.
original commit: a8bdb9d6ce5fb03a40f8d1a4caa0cf6d8c392389
2012-02-20 15:09:51 -05:00
Sam Tobin-Hochstadt
4f2353d93f
Improve restrict
, and allow caller to control what type is returned for failure.
...
original commit: 74c9265d66a964e82513e1c53d597b6644560f00
2012-02-20 15:09:51 -05:00
Sam Tobin-Hochstadt
4c849a4eda
Fix overlap with sequences.
...
original commit: 99f01f5260388ad019678d9ec4ad1a886fa43356
2012-02-20 15:09:51 -05:00
Vincent St-Amour
2c4fc39937
Add typed for missing finum/flonum conversions.
...
original commit: e71fa0be88d09221ef0d939a36a30bcdfd1249bd
2012-02-18 23:38:32 -05:00
Vincent St-Amour
26311cc2ac
single-flonum? is not provided by TR's internals anymore.
...
original commit: 240773ae6f6b998d6f57f423c7f4c2e57bf70fdb
2012-02-18 23:23:59 -05:00
Vincent St-Amour
a89972183a
Clean up compiled test files to force recompiling.
...
original commit: aa856924367bb7839f7522258d9b119215c53987
2012-02-16 11:45:51 -05:00
Vincent St-Amour
9eee232cd2
Fix tests.
...
original commit: eca43387f60b3ecb33aa22ff011eb76d2c1a7cb8
2012-02-14 18:20:35 -05:00
Vincent St-Amour
44dac18547
Wait for compile-time logs to be processed before running optimizer tests.
...
This should solve the log ordering problems that caused non-deterministic
test failures during the nightly builds.
original commit: 37ba3672d4fe6195dc5905ceea9dbea4842af41b
2012-02-14 18:20:35 -05:00
Vincent St-Amour
eea94a98e6
Move post-processing of missed optimization inside Performance Report.
...
original commit: 84e2880715454a9ec880866d0cd3db4b95f80382
2012-02-14 18:20:34 -05:00
Sam Tobin-Hochstadt
ca2b4eaa42
Parameters can overlap with procedure types.
...
Closes PR 11993.
original commit: d0fbe825e6d80e925a2d94412a701366e5844fcf
2012-02-12 14:30:36 -05:00
Sam Tobin-Hochstadt
be4b0a9158
Make inference understand the relationship between Vector' and
Vectorof'.
...
Closes PR 12495.
original commit: 4d21ab10194df181e697810bdbf303f2de4e8ca7
2012-02-10 17:39:41 -05:00