Asumu Takikawa
30da00ba79
Disallow duplicate type variable declarations
...
Closes PR 13416
Please merge to 5.3.2
original commit: 9c0a611b59d57548c0d0b527862f8a501a0098df
2013-01-08 14:50:08 -05:00
Vincent St-Amour
80afaf902f
Extend type of min to preserve fixnumness.
...
original commit: 057a2bd0d2d1c9bc2085eab3817b776aa66dfa19
2013-01-07 17:00:32 -05:00
Vincent St-Amour
c30fb69cdd
Fix fixnum comparisons to prove more bounds.
...
original commit: 81cccb4c8f9ca6a22cb908d2bbf445ab45cc0708
2013-01-02 16:55:28 -05:00
Matthew Flatt
dca5fc09a0
rename test file
...
":" is not allowed in a file name on Windows.
original commit: 43e01d7f4e47d83fe93b38f37ddcd0150b659b8a
2013-01-02 06:33:10 -07:00
Vincent St-Amour
d5bd8a61e9
Fix tests.
...
original commit: 678451f8c41601eaa8b82bb101c0ad2051f447b8
2013-01-01 18:14:52 -05:00
Vincent St-Amour
91f639247e
Make let: annotations optional.
...
original commit: 4137eb9e73d7e4b6d1aa2fe5cff52e81c9ba10da
2013-01-01 18:14:52 -05:00
Neil Toronto
78ee359d5a
More precise return type for `magnitude' (it always returns nonnegative)
...
original commit: e06f31c94e6655c1ecf88ff18a0ecbee9af2e250
2012-12-31 14:17:17 -07:00
Sam Tobin-Hochstadt
c8e5b8caee
Fix type of log-message
.
...
original commit: 0d01db8543d3a05d858243c697687e15dd925206
2012-12-30 22:14:44 -05:00
Matthew Flatt
ffd81f136f
logging: allow name in `log-message', report it in a log-receiver evt
...
The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.
Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.
These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.
original commit: f2d870859aad7cf21d96f81f1f9dfc0eae8adaa7
2012-12-27 14:12:40 -06:00
Matthew Flatt
592e802ad0
add (system-type 'word)
...
Returns 32 or 64 to indicate whether Racket is running as a
32-bit program or a 64-bit program.
original commit: 4a57db44489055115ecf1811b116c5b3f2e3b3e5
2012-12-24 06:38:53 -07:00
Vincent St-Amour
6991bbaad0
Add failing test case for instantiation and special typing rules.
...
original commit: 67af968a73de3df4b86e87c71a8023bc3c929e75
2012-12-19 13:45:49 -05:00
Asumu Takikawa
160d731c4a
Add define: form variant for polymorphic non-function values
...
original commit: acda049f7d102bd370d750e524e8fd7638201627
2012-12-19 13:08:41 -05:00
Vincent St-Amour
0c509a001f
Fix contract generation for functions with optionals and keyword arguments.
...
Closes PR13354.
original commit: 8c66be33e79c4326960efecb00c79a0f41c67a0b
2012-12-17 13:57:32 -05:00
Vincent St-Amour
0145f047ff
Allow #:unless' in
for:'.
...
Also allow `#:break' and `#:final' in all the `for:' macros.
Unfortunately, the expansion of `#:break' and `#:final' cannot be
typechecked at the moment.
original commit: ec673fd58d3e24e999426e4bc07d72a05e3a099b
2012-12-17 13:57:31 -05:00
Asumu Takikawa
9b126624ac
Explain scope of type variables in docs
...
original commit: 57268c2fc9ef3a7b39c99621f809aaffee9d97a8
2012-12-13 17:54:58 -05:00
Asumu Takikawa
444362d5d7
Rackety
...
original commit: ece218fc85570b51dcab99cfe6e0cd47dbf8d6ad
2012-12-13 17:54:58 -05:00
Asumu Takikawa
714c628bca
Fix unsound type variable scoping
...
Closes PR 13123
original commit: 13b831f0ec03f908d836cb1d27aa66c898a8b469
2012-12-13 17:54:58 -05:00
Asumu Takikawa
a13b354d96
Simplify expansion of pdefine:
and define:
...
original commit: 6c716759d7e172bf1a092e584c56a56da778a0a8
2012-12-13 17:54:58 -05:00
Asumu Takikawa
e1799227f0
Fix tests where type variable scoping is wrong
...
original commit: 28108884ab90dfe29f721dcee8575afd7d1a7f5b
2012-12-13 17:54:58 -05:00
Asumu Takikawa
e8fc1ce747
Refactor to use syntax/id-table
...
original commit: 5c80743ed530031150e915dcf178bc4c9b89ec2b
2012-12-13 17:54:58 -05:00
Asumu Takikawa
6639ac8f4c
Add type for xor
...
original commit: 2bc15286300c93542632f296140ed606819fbd88
2012-12-10 15:49:51 -05:00
Asumu Takikawa
300d3dae51
Fix TR error for missing mandatory keywords
...
original commit: c7162ec533ece42d3ece961f30a1c4ba2f8f4b3b
2012-12-06 12:20:54 -05:00
Vincent St-Amour
f7d1cab2bb
Fix tests.
...
original commit: 9a5db10124a68e51bdaff2da4915ca16d5157a65
2012-12-04 19:29:16 -05:00
Vincent St-Amour
efb8befe33
Disable optimization of mixed-mode arithmetic that may involve exact 0.
...
Exact 0 turns out to also be a corner case for addition.
At this point, mixed-mode optimizations pretty much only apply for mixes
of floats and literal non-zero non-floats.
original commit: ac58c45477b060fbdc066f378eb200bb44defb59
2012-12-04 19:29:16 -05:00
Vincent St-Amour
2553e36d24
Don't warn about exact arithmetic for inexact numbers.
...
original commit: 45a3b9f48de31075fe8f83e60a7f47fe5db78aaa
2012-12-04 19:29:16 -05:00
Vincent St-Amour
21e2041a79
Don't optimize mixed-mode arithmetic if it would change results.
...
original commit: 93939f45d01206121b5c129ac2c7ba5ed89f7564
2012-12-04 19:29:16 -05:00
Vincent St-Amour
17c30d1648
Fix partial bounds checking elimination.
...
Closes PR13341.
original commit: fb73bc8b0eb35bfd9e2c35f14fce9ffd97b2b354
2012-12-04 19:29:16 -05:00
Vincent St-Amour
7e20c6dae8
Be less aggressive about fixnum recommendations.
...
Reduces false positives.
original commit: ca47b1c693b9fd48255b5e4872e20a8e7aca955b
2012-12-04 19:29:15 -05:00
Vincent St-Amour
849c6aca05
Fix source location information for do:' and
let:'.
...
original commit: d544e9fbe72b205ca5b5c6efa4772067833d5b30
2012-12-04 19:29:15 -05:00
Asumu Takikawa
7917ff2033
Support path/object reasoning for promises
...
original commit: 5802b42f66706b6d7396aa1855f3d1d0b5f2ca17
2012-12-04 18:03:11 -05:00
Asumu Takikawa
3ff53eb009
Provide a more informative internal error
...
original commit: 04e8e33313842d94d0cbff458ad23047ee1441fc
2012-12-04 16:10:39 -05:00
Asumu Takikawa
a0c32ff288
Fix call/comp's type
...
original commit: 3f2d4663a87939a02223b6620407e25b0507aa4a
2012-12-04 16:10:39 -05:00
Vincent St-Amour
50713b7368
Randomly test the TR optimizer.
...
Compares results of a Racket and a TR sandbox.
original commit: ee0a1d4b89b2dbab9382d37fc4b0139a4ff9b53d
2012-12-03 21:54:01 -05:00
Vincent St-Amour
1501c1db01
Fix optimization of unary float subtraction.
...
Closes PR13339.
original commit: 9f9092b762cb4394e04901694301a1d0750f95d7
2012-12-03 19:46:29 -05:00
Ryan Culpepper
eb40161575
move lazy-require to racket/lazy-require
...
original commit: fd7d8a412cd9d6c4cb8b4c2e43dabd65890267b8
2012-12-03 19:28:12 -05:00
Asumu Takikawa
233e8964eb
Support Any wrapping for promises
...
Closes PR 13326
original commit: 0252207e38aaa679ff78df8bba86f69c70d6912b
2012-12-03 17:59:55 -05:00
Asumu Takikawa
aab9400fbd
Fix default prompt tag type
...
Note: this type could be made more precise,
but we need some contract changes for that.
original commit: 213ff3655409b7ad526154f3733de054f34d290c
2012-12-03 14:37:18 -05:00
Asumu Takikawa
24842684da
Document the default prompt tag in TR
...
Note: this isn't the ideal location for this in the long
run because it isn't a special form. When we have more
bindings like this, we should move them to a new manual
section.
original commit: ffde8ec486abec4741e4d0299f841dcbfe65a3f2
2012-12-03 14:37:17 -05:00
Asumu Takikawa
d5a89d5cff
Fix blame parties for proxied default prompt tag
...
original commit: 55944057b5bdf02b9fd48a964739dfcd4ee516d8
2012-12-03 14:37:17 -05:00
Asumu Takikawa
6ba4798b06
Revert "Ignore contracted proxies from racket
"
...
This reverts commit 702676030b8d4c956d063b3ce4e3bf0d3dc2c594.
(this should actually be documented)
original commit: 25ed52f9d6f407b5ab32ecf5dca70d853d679744
2012-12-03 14:37:17 -05:00
Asumu Takikawa
de8434f9fa
Ignore contracted proxies from racket
...
original commit: 702676030b8d4c956d063b3ce4e3bf0d3dc2c594
2012-11-30 23:45:23 -05:00
Asumu Takikawa
14187b4cdd
Refactor (make argument arity clear)
...
original commit: 42fc3aeda01b987e1a60e14fe760444fc31732a4
2012-11-30 17:37:33 -05:00
Asumu Takikawa
0f0966b8f9
Add a type for continuation?
...
original commit: d9f8c5e382d941150369ccb0a0d09b9e8ce27cb5
2012-11-30 17:37:33 -05:00
Asumu Takikawa
711e418eec
Univ -> ManyUniv
...
original commit: 5fe8841c9951bce9453dae77ca3e4768d6a59c3e
2012-11-30 17:37:33 -05:00
Asumu Takikawa
fec01c3f97
Add more tests for continuation marks & Any wrapping
...
original commit: a42cc9a0012cb7490da13228d21b2182fb1af9d3
2012-11-30 17:37:33 -05:00
Asumu Takikawa
bca928688a
Rename control types to be consistent with other types
...
original commit: 904db66f6557a868ea616421253b8f0cc5e6bd27
2012-11-30 17:37:33 -05:00
Asumu Takikawa
37cbd6d5a9
Docs for prompt tag & mark key types
...
original commit: aae8890cd3939bf6dd6d0bddc640a2e03dcd1c3f
2012-11-30 17:37:33 -05:00
Asumu Takikawa
c6d22871bc
Improve type of call-with-continuation-prompt
...
Now works with the handler argument omitted, in which case
the default handler is used. Note that the default handler
cannot be used in conjunction with the default prompt tag
because it is unsound to do so.
original commit: 4e0b38ea79b8ffa84fd099d980a2713a3831d589
2012-11-30 17:37:33 -05:00
Asumu Takikawa
80f7b65db7
Apply Any wrappers for default-continuation-prompt-tag in TR
...
original commit: 42b07475e95542ec77b47e216e8711573e0820a1
2012-11-30 17:37:33 -05:00
Asumu Takikawa
0c112d8da2
Refactor and move a macro to a helper library
...
original commit: 2511cf02bc67130abe360d39b59e40da3e4a741b
2012-11-30 17:37:33 -05:00