Asumu Takikawa
acda049f7d
Add define: form variant for polymorphic non-function values
2012-12-19 13:08:41 -05:00
Vincent St-Amour
8c66be33e7
Fix contract generation for functions with optionals and keyword arguments.
...
Closes PR13354.
2012-12-17 13:57:32 -05:00
Vincent St-Amour
ec673fd58d
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.
2012-12-17 13:57:31 -05:00
Asumu Takikawa
57268c2fc9
Explain scope of type variables in docs
2012-12-13 17:54:58 -05:00
Asumu Takikawa
13b831f0ec
Fix unsound type variable scoping
...
Closes PR 13123
2012-12-13 17:54:58 -05:00
Asumu Takikawa
6c716759d7
Simplify expansion of pdefine:
and define:
2012-12-13 17:54:58 -05:00
Asumu Takikawa
5c80743ed5
Refactor to use syntax/id-table
2012-12-13 17:54:58 -05:00
Asumu Takikawa
2bc1528630
Add type for xor
2012-12-10 15:49:51 -05:00
Asumu Takikawa
c7162ec533
Fix TR error for missing mandatory keywords
2012-12-06 12:20:54 -05:00
Vincent St-Amour
ac58c45477
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.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
45a3b9f48d
Don't warn about exact arithmetic for inexact numbers.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
93939f45d0
Don't optimize mixed-mode arithmetic if it would change results.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
fb73bc8b0e
Fix partial bounds checking elimination.
...
Closes PR13341.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
a84e04e1e4
Use the regular Racket reader, not TR's.
2012-12-04 19:29:16 -05:00
Vincent St-Amour
ca47b1c693
Be less aggressive about fixnum recommendations.
...
Reduces false positives.
2012-12-04 19:29:15 -05:00
Vincent St-Amour
6d231da14f
Typo.
2012-12-04 19:29:15 -05:00
Vincent St-Amour
e4af200c89
Hide OC control panel if an error occurs during expansion.
2012-12-04 19:29:15 -05:00
Vincent St-Amour
d544e9fbe7
Fix source location information for do:' and
let:'.
2012-12-04 19:29:15 -05:00
Asumu Takikawa
5802b42f66
Support path/object reasoning for promises
2012-12-04 18:03:11 -05:00
Asumu Takikawa
04e8e33313
Provide a more informative internal error
2012-12-04 16:10:39 -05:00
Asumu Takikawa
3f2d4663a8
Fix call/comp's type
2012-12-04 16:10:39 -05:00
Vincent St-Amour
9f9092b762
Fix optimization of unary float subtraction.
...
Closes PR13339.
2012-12-03 19:46:29 -05:00
Ryan Culpepper
fd7d8a412c
move lazy-require to racket/lazy-require
2012-12-03 19:28:12 -05:00
Asumu Takikawa
0252207e38
Support Any wrapping for promises
...
Closes PR 13326
2012-12-03 17:59:55 -05:00
Asumu Takikawa
213ff36554
Fix default prompt tag type
...
Note: this type could be made more precise,
but we need some contract changes for that.
2012-12-03 14:37:18 -05:00
Asumu Takikawa
ffde8ec486
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.
2012-12-03 14:37:17 -05:00
Asumu Takikawa
55944057b5
Fix blame parties for proxied default prompt tag
2012-12-03 14:37:17 -05:00
Asumu Takikawa
42fc3aeda0
Refactor (make argument arity clear)
2012-11-30 17:37:33 -05:00
Asumu Takikawa
d9f8c5e382
Add a type for continuation?
2012-11-30 17:37:33 -05:00
Asumu Takikawa
5fe8841c99
Univ -> ManyUniv
2012-11-30 17:37:33 -05:00
Asumu Takikawa
904db66f65
Rename control types to be consistent with other types
2012-11-30 17:37:33 -05:00
Asumu Takikawa
aae8890cd3
Docs for prompt tag & mark key types
2012-11-30 17:37:33 -05:00
Asumu Takikawa
4e0b38ea79
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.
2012-11-30 17:37:33 -05:00
Asumu Takikawa
42b07475e9
Apply Any wrappers for default-continuation-prompt-tag in TR
2012-11-30 17:37:33 -05:00
Asumu Takikawa
2511cf02bc
Refactor and move a macro to a helper library
2012-11-30 17:37:33 -05:00
Asumu Takikawa
0accfe24e2
Add the rest of the continuation functions
2012-11-30 17:37:32 -05:00
Asumu Takikawa
41b59cb46a
Add Top types for prompt tags and mark keys
2012-11-30 17:37:32 -05:00
Asumu Takikawa
4b5d6e71fd
Typecheck prompt tags
2012-11-30 17:37:32 -05:00
Asumu Takikawa
e123e85a90
Fix continuation-mark-set-first type
2012-11-30 17:37:32 -05:00
Asumu Takikawa
5fbeffaec6
Contract generation for continuation mark keys
2012-11-30 17:37:32 -05:00
Sam Tobin-Hochstadt
29d54fb0d0
Starting on control typing.
2012-11-30 17:37:32 -05:00
Asumu Takikawa
b4dd3b5e1d
Fail gracefully on TR struct arity errors
...
Closes PR 13209
2012-11-20 17:47:13 -05:00
Vincent St-Amour
95d51fc892
Add new versions of for/hash: and co that the typechecker can handle.
...
Based on Eric Dobson's implementation.
Closes PR13248. Closes PR13249.
2012-11-20 17:45:15 -05:00
Vincent St-Amour
e2007abd7a
Heterogenous -> heterogenEous.
...
Found by Ray Racine.
2012-11-20 17:06:51 -05:00
Vincent St-Amour
d994ba1914
Fix types of variable arity functions to work with 0-argument return values.
...
Closes PR13218.
2012-11-20 16:15:20 -05:00
Vincent St-Amour
6a7b971cd6
Only generate ->* contracts when arguments are really optional arguments.
...
Closes PR13274.
2012-11-19 17:35:07 -05:00
Neil Toronto
ac424a73a5
Added `define-typed/untyped-identifier' to typed/untyped-utils
...
Made return types of `flvector-length' and `unsafe-flvector-length' more precise (they return Index)
2012-11-16 10:52:56 -07:00
Sam Tobin-Hochstadt
30e26f00cd
Use error-display-handler
instead of threads for multiple error reporting.
...
Closes PR 13240 (in reality, avoids the bug, but ryanc says that it's too
hard to fix).
2012-11-15 12:33:25 -08:00
Asumu Takikawa
d22532db16
Fix Custodian type
2012-11-10 11:12:06 -05:00
Asumu Takikawa
daca1c0d5b
Fix a free variance bug
...
Commit ffe45ecce
had introduced a regression with some
polymorphic functions imported between typed modules due to
miscommunicated variance information.
2012-11-09 01:43:57 -05:00