Sam Tobin-Hochstadt
3fd9df03f7
Fix types of system
etc for new keyword arguments.
...
This requires extending the ->optkey type constructor to support rest
arguments, and fixing the keyword function type generation code.
Testing is still limited because there's no parsing for such types.
That will be handled in a later commit.
2013-04-18 21:01:56 -04:00
Eric Dobson
b8ab1334d9
Terminate typechecking on cyclic lists.
...
Closes PR 13687.
2013-04-13 20:23:19 -07:00
Stephen Chang
b3ba324a92
fix typed racket named let: error when there are no binding types
...
closes PR 13691
include in release
2013-04-12 18:25:55 -04:00
Asumu Takikawa
9eaf5aaddb
Remove unnecessary type->contract case
2013-04-05 16:56:50 -04:00
Asumu Takikawa
0161dfdf16
Translate Value types to ctcs with better names
...
e.g., True -> '#t instead of
True -> "#t" for a flat-named-contract
2013-04-05 16:56:50 -04:00
Vincent St-Amour
16a75761b0
Make TR-generated identifiers have the same name as original identifiers.
...
Makes error messages nicer, and makes it easier to correlate with source code.
2013-04-04 15:31:51 -04:00
Vincent St-Amour
ff3d785da2
Use locations from typed identifiers for type-generated contracts.
2013-04-04 15:31:51 -04:00
Vincent St-Amour
459c731bb9
Have Optimization Coach report unsound float division missed optimizations.
2013-04-04 15:31:50 -04:00
Eric Dobson
94861becd0
Fix untested contract generation code.
...
Closes PR 13449.
2013-04-04 08:29:15 -07:00
Eric Dobson
76de4d3cca
Fix tc-apply to correctly generate expected ValueDots filters.
...
Closes PR 13649.
2013-04-04 07:45:15 -07:00
Eric Dobson
2b8efd6676
Fix contracts in TR.
2013-04-04 07:43:08 -07:00
Eric Dobson
17b9ed0a75
Fix prefix-of.
...
Closes PR 13448.
2013-04-04 07:42:45 -07:00
Eric Dobson
5ec7401f1f
Add example of (List t ... bound).
...
Closes PR 11903.
2013-04-04 07:41:53 -07:00
Eric Dobson
c295608282
Add doc for #:no-optimize.
...
Closes PR 13001.
2013-04-04 07:41:53 -07:00
Vincent St-Amour
a50d9bad7e
Avoid unsound optimization for complex division.
...
Found using random testing.
2013-04-04 10:05:53 -04:00
Eric Dobson
04ef9db1b3
Turn dynamic-requires into lazy-requires in TR.
...
Closes PR 13621.
2013-04-03 09:49:40 -07:00
Eric Dobson
6c2e75ac7e
Make +,*,min,max support precise unary types.
...
Closes PR 13563.
2013-04-03 09:33:02 -07:00
Eric Dobson
0e0f1cd670
Adds subtyping for filters, and fixes -FS to be more precise.
...
Closes PR 12817.
2013-04-03 09:25:28 -07:00
Tony Garnock-Jones
c5df74f662
Show the offending value when a TR-introduced Any contract fails
2013-04-02 16:29:11 -04:00
Tony Garnock-Jones
f2616b934c
Avoid stripping location information from syntax object in warning message.
2013-04-02 16:29:11 -04:00
Vincent St-Amour
b808d2809e
Fix optimization on exp of complex numbers.
...
Found using random testing.
2013-04-02 16:29:11 -04:00
Vincent St-Amour
f66ee7088f
Fix type of tanh.
...
Found using random testing.
2013-04-02 16:29:10 -04:00
Vincent St-Amour
ed12b64bf7
Fix type of sinh.
...
Found using random testing.
2013-04-02 16:29:09 -04:00
Vincent St-Amour
6e10dd6a4d
Imitate untyped division more closely.
...
Found using random testing.
2013-04-02 16:29:08 -04:00
Vincent St-Amour
5f9bcbca49
Abstract unboxing of complex division.
2013-04-02 16:29:08 -04:00
Vincent St-Amour
ca63915693
Fix coercions from single-floats to floats.
...
Found using random testing.
2013-04-02 16:29:07 -04:00
Vincent St-Amour
77b89fab99
Reimplement unboxing of complex division.
...
Add special cases to be consistent with untyped Racket.
Found using random testing.
2013-04-02 16:29:06 -04:00
Eric Dobson
3d49087ea3
Fix parsing of dotted rest when there is an expected type.
...
Closes PR 13646.
2013-04-01 22:17:32 -07:00
Vincent St-Amour
c8c6341970
Simplify type.
2013-04-01 14:44:32 -04:00
Vincent St-Amour
92c4c70e7a
Fix type of lcm.
...
Found using random testing.
2013-04-01 14:44:32 -04:00
Vincent St-Amour
990fa87a2e
Add random testing for complexes.
...
Fix a bug it found.
2013-04-01 14:44:31 -04:00
Vincent St-Amour
f7e8b090e6
Fix types of bitwise-and and bitwise-xor.
...
Found with random testing.
2013-04-01 14:44:31 -04:00
Eric Dobson
eeeceedb8c
Reimplement for*/list: in TR so that it works.
...
Closes PR 13253.
2013-03-31 10:40:21 -07:00
Eric Dobson
b637c24d88
Improve type of expt since inference is bad.
...
Closes PR 13383.
2013-03-31 10:39:36 -07:00
Eric Dobson
38409e0d7e
Add descriptions to for: syntax classes.
...
Closes PR 13284.
2013-03-25 09:42:29 -07:00
Eric Dobson
87facb736f
Check for structure binding and raise good error if it is not there.
...
Closes PR 13588.
2013-03-24 18:35:22 -07:00
Eric Dobson
bb0b071f38
Remove legacy require/typed form.
2013-03-24 18:35:21 -07:00
Eric Dobson
0e42a791a7
Typecheck (lambda args body) as (arg1 -> result).
2013-03-23 13:18:05 -07:00
Eric Dobson
8d080b74cb
Fix Struct-Type-Property.
...
Closes PR 13593.
2013-03-23 08:24:05 -07:00
Tony Garnock-Jones
0399babc85
pretty-format returns a String, not Void
2013-03-21 18:11:28 -04:00
Eric Dobson
ccc8b85cef
Fix parsing of dotted formals.
...
Closes PR 13576.
2013-03-17 18:52:47 -07:00
Eli Barzilay
af6be85ff5
Fix lots of indentation mistakes.
...
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Eric Dobson
71d6189132
Cleanup of subtyping, additional comments, and improved short circuting.
2013-03-13 22:59:27 -07:00
Eric Dobson
714f667cf1
Add more hacky things to make with-handlers typecheck.
...
Closes PR12644.
2013-03-13 22:29:41 -07:00
Eric Dobson
75f89107b1
Make PolyDots be subtypes even if they have different fixed arguments.
2013-03-13 22:29:41 -07:00
Eric Dobson
6335de099e
Make PolyDots actually subtype correctly.
2013-03-13 22:29:41 -07:00
Eric Dobson
6105ce8b20
Check actual args when form looks like for/list.
2013-03-13 21:45:03 -07:00
Eric Dobson
17cb4fd8d0
Make vector-set! type correctly on complicated inputs.
...
Closes PR13532.
2013-03-11 21:52:11 -07:00
Eli Barzilay
a1437e71f7
Two doc typos.
...
Closes PR 13590.
Closes PR 13591.
2013-03-11 09:06:46 -04:00
Eric Dobson
1334e8dcc7
Reduce usage of check-below.
...
This pushes almost all uses of check below into tc-expr and
tc-expr/check. This means that the optimizer sees more precise types
and can make more optimizations.
2013-03-08 09:00:58 -08:00