Commit Graph

678 Commits

Author SHA1 Message Date
Asumu Takikawa
c3b80bee41 Clean up struct: and disallow unsupported options
Related to PR 13562
2013-05-02 18:31:58 -04:00
Eric Dobson
de96643fbe Fix contract generation for mutable structures. 2013-04-29 20:45:49 -07:00
Eric Dobson
7735aa5799 Make structs initialize to constant instead of covariant. 2013-04-27 11:50:57 -07:00
Eric Dobson
154ab046fe Cleanup names-of-struct 2013-04-27 11:21:29 -07:00
Vincent St-Amour
457ca0982f Document VectorTop and HashTableTop. 2013-04-26 12:27:02 -04:00
Vincent St-Amour
e6ff57f3bd Allow read-only hash operations to accept HashTop.
Closes PR13710.
2013-04-25 17:29:10 -04:00
Eric Dobson
b5b13222c8 Make type->contract correctly respect variance.
Track whether we are protecting values from the typed side and/or the
untyped side.

Closes PR 13662.
Closes PR 13663.
Closes PR 13665.
2013-04-25 08:29:37 -07:00
Eric Dobson
dbcb1414da Allow requiring functions with filters in contravariant positions. 2013-04-25 08:29:37 -07:00
Eric Dobson
03e1ffda3e Switch out? to from-typed? as it has the same meaning. 2013-04-25 08:29:25 -07:00
Eric Dobson
62f74cda0e Cleanup tc-app-helper.rkt. 2013-04-24 23:31:12 -07:00
Eric Dobson
11bd5314e2 Cleanup requires in tc-apply. 2013-04-24 23:13:04 -07:00
Eric Dobson
b9c4582746 Minor cleanup in subtype.rkt 2013-04-24 23:13:03 -07:00
Eric Dobson
6898a7c880 Fix subtyping of (ListDots t 'a) <: (Listof t).
Closes PR 13636.
2013-04-24 21:08:18 -07:00
Eric Dobson
863ac05332 Fix expected type when typechecking map 2013-04-24 20:13:39 -07:00
Eric Dobson
67dd956b6a Don't let map introduce type variables.
Closes PR 13581.
2013-04-24 20:13:39 -07:00
Eric Dobson
611b22ff04 Fix up lazy-requires and dynamic-requires in TR. 2013-04-24 18:46:44 -07:00
Eric Dobson
a94c449ff1 Small TR fixes. 2013-04-24 18:46:44 -07:00
Eric Dobson
55aba088de Use information of application site, to reduce possible arities.
Closes PR12905.
2013-04-24 18:46:44 -07:00
Eric Dobson
2e2ef0b57a Add polydots to all things that support it.
Closes PR 13612.
Closes PR 13584.
2013-04-22 21:03:00 -07:00
Eric Dobson
fc36c12ce4 Correctly protect Procedures in TR.
Closes PR 13664.
2013-04-22 21:00:52 -07:00
Sam Tobin-Hochstadt
ecf02a32b4 Add #:omit-define-syntaxes to define-type. 2013-04-21 15:39:38 -04:00
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