Vincent St-Amour
4773283f8f
Extend type of vector->list.
...
Closes #436 .
2016-10-08 18:33:39 -05:00
Vincent St-Amour
2fc83b2868
Add missing source locations.
...
Closes #428 .
2016-09-28 13:27:12 -05:00
Alex Knauth
bbb62da731
fix type of non-empty-string? ( #427 )
...
fixes #426
2016-09-12 09:17:57 -04:00
Alex Knauth
dfd61642b6
unsafe-require/typed #:opaque doesn't warn about opaque structs passed as Any ( #418 )
2016-08-31 11:37:05 -04:00
Matthew Flatt
6b10a5480d
accomodate a revised expansion of mandatory keyword arguments
2016-08-07 15:58:40 -06:00
Matthew Flatt
9a9c7d3d91
work with macros that use syntax-local-lift-values-expression
...
Using `syntax-local-lift-values-expression` creates a lifted
`define-values` form with multiple binding variables.
2016-08-07 15:57:40 -06:00
Vincent St-Amour
c256e47e27
Have literal-related optimizations see through ann
.
2016-08-04 13:05:27 -05:00
Sam Tobin-Hochstadt
66da5eef00
Traverse #%expression when looking for annotations.
...
Bug found by @mflatt's change to `syntax-parameterize`.
2016-08-01 10:43:49 -04:00
Matthew Flatt
43aa1023c1
adjust unit
expansion patterns to be more flexible
...
Like e707b64db1
, but for units.
Also, adjust the `class` change to avoid duplicating patterns
and make it slightly more flexible.
2016-07-31 08:54:05 -06:00
Matthew Flatt
e707b64db1
adjust class
expansion patterns to be more flexible
...
Accomodate a potential changes to `syntax-parameterize`
and the way it's use by `class`, where the changes
mostly introduce some `#%expression` wrappers.
2016-07-30 21:39:12 -06:00
Asumu Takikawa
164b22de59
Add and document row-inst form, Row syntax
...
Before this, row instantiation was done with an ad-hoc
and undocumented syntax. Adding a new form works better
because rows should not be parsed as types.
2016-07-21 18:29:30 -04:00
Asumu Takikawa
10eb2542c6
Add syntax for poly structs in require/typed
...
Currently only works in unsafe requires. In other cases
it will emit an error instead.
Also bump version
2016-07-21 12:00:08 -04:00
Asumu Takikawa
98d0657141
Fix contracts for structs with the same name (PR 15330) ( #410 )
...
Fix contracts for structs with the same name
Closes PR 15330
2016-07-21 11:14:05 -04:00
Andrew Kent
0d577b78ce
fix silly subtype cache bug
2016-07-20 09:28:20 -04:00
Sam Tobin-Hochstadt
5cc02a7592
Typed Racket history for 6.6.
2016-07-18 10:21:49 -04:00
Sam Tobin-Hochstadt
d1df2881ea
Don't try to name casted values in the contract.
...
Relevant to Racket bug 15323.
2016-07-18 10:21:49 -04:00
Andrew Kent
a5c4ad2f77
have overlap use a current-seen list
2016-07-13 15:21:17 -04:00
WarGrey Gyoudmon Ju
8aa12e48df
Add filesystem related functions ( #397 )
2016-07-12 08:33:59 -04:00
Ben Greenman
2409457930
type for #:limit-prefix? formatting option
2016-07-10 20:42:57 -04:00
Sam Tobin-Hochstadt
3d80322d27
Merge pull request #388 from AlexKnauth/allow-opaque
...
add a version of any-wrap/c that displays a warning on opaque structs
2016-07-09 20:17:16 -04:00
Sam Tobin-Hochstadt
c3a1202df1
Don't set current-inspector
in Typed Racket.
...
There's not a good way to do this dynamically, and the initial
approach breaks programs.
Reverts part of 191ec136b6
.
Relevant to #385 .
2016-07-09 20:08:20 -04:00
AlexKnauth
8a3400eeee
set include-extra-requires? in require/opaque-type
2016-07-09 15:50:15 -04:00
AlexKnauth
50aab9806f
warning instead of error on opaque structs passed to #:opaque predicates
...
This fixes a math library error discussed here:
https://github.com/racket/typed-racket/pull/385#issuecomment-231354377
2016-07-08 23:04:31 -04:00
WarGrey Gyoudmon Ju
5175f9d873
add or improve lots of base definitions ( #372 )
2016-07-08 20:41:54 -04:00
Sam Tobin-Hochstadt
88f896c121
Support environment variable procedures.
2016-07-08 16:27:16 -04:00
Sam Tobin-Hochstadt
b1818723dc
Allow environment-variables?
values as flat in any-wrap/c
.
...
Fixes the `envy` package by @lexi-lambda.
2016-07-08 14:50:00 -04:00
Sam Tobin-Hochstadt
977b9e16a2
Allow cpointer predicates as struct predicates.
...
Fixes the math library failure here:
http://drdr.racket-lang.org/35897/racket/share/pkgs/math-lib/math/private/bigfloat/bigfloat-hurwitz-zeta.rkt
Relies on racket/racket#1368.
Relevant to #385 .
2016-07-08 11:02:57 -04:00
Alex Knauth
191ec136b6
fix any-wrap/c unsoundness on opaque structures ( #385 )
2016-07-07 20:58:26 -04:00
Alex Knauth
9f3cf01d26
don't throw internal errors for unreachable cast exprs ( #386 )
...
This fills the corresponding entries in the cast table with a Dead-Code
type so that when the contract-generation pass calls the contract-def
thunk, it finds that in the table.
2016-07-07 16:51:08 -04:00
Alex Knauth
e3f56c8a25
check for free-vars in types of casted-exprs ( #384 )
2016-07-07 14:45:07 -04:00
Andrew Kent
39d6a6047a
better rec type intersection
2016-07-07 12:53:31 -04:00
Alex Knauth
a1f8908a29
call compute-constraints instead of sc->constraints in get-max-contract-kind ( #382 )
...
* call compute-constraints instead of sc->constraints in get-max-contract-kind
* test cast on an intersection type involving Rec
* remove memory limit on sandboxed-unsafe-ops test
2016-07-07 12:16:15 -04:00
Alex Knauth
76cb6ae53d
implement sc->constraints for recursive-sc ( #381 )
2016-07-03 22:47:52 -04:00
Alex Knauth
d7670250d4
add (and/c vector? any-wrap/c) -like contracts
...
for VectorTop, HashTableTop, etc. going from typed to untyped
2016-06-29 17:04:11 -04:00
Alex Knauth
9bda1bfcbc
fix the error message in issue #375
2016-06-29 17:04:06 -04:00
Sam Tobin-Hochstadt
79ab11a079
listof
not listof/c
.
2016-06-23 12:09:08 -04:00
Sam Tobin-Hochstadt
8bcfc71fa8
Avoid overlap with sequences of the wrong arity.
...
Fixes #371 .
2016-06-23 12:00:53 -04:00
Asumu Takikawa
b8225e1100
Factor out type alias error helper
...
Mainly for single point of control.
2016-06-22 18:53:04 -04:00
Asumu Takikawa
c29eb20efc
Decide to lift common types based on popularity
...
Instead of looking at the size of the type, check to see
how many times each type is referenced in other types.
Only lift a type out as a definition if it reaches a
threshold (currently set to 5 refs).
This reduces the zo size of typed/private/framework-types
by roughly 1MB (more than half).
Also move more of the env code generation into the
init-envs.rkt file itself.
2016-06-22 18:53:04 -04:00
Asumu Takikawa
11439eb653
Move struct table code gen to init-envs.rkt
...
This keeps all the code generation in one place.
2016-06-22 18:50:41 -04:00
Asumu Takikawa
ee02c26020
Fix bug in init-envs (need to generate Rows too)
...
Also simplified Class case a bit
2016-06-22 17:47:46 -04:00
Asumu Takikawa
ca26d22d1c
Fix optimizer fix
...
Fixed spurious syntax quoting and a test
2016-06-22 00:24:31 -04:00
Sam Tobin-Hochstadt
34ff91b3ca
Avoid misoptimizing vector-set!
of immutable vectors.
2016-06-21 18:05:38 -04:00
Asumu Takikawa
3b5ea8dc39
Improve how memoization in init-envs is done
...
Instead of storing a parameter with a box, use a
module-level variable with a hash table and a separate
queue. This separates memoization and the generation
of definitions, which is cleaner.
2016-06-21 16:37:17 -04:00
Asumu Takikawa
c5ec933bb8
Add more predefined types
2016-06-21 16:37:17 -04:00
Asumu Takikawa
0730c48000
Remove pconvert dependency
2016-06-21 16:37:17 -04:00
Asumu Takikawa
bd0c71c122
Try abbreviating optional argument function types
2016-06-21 16:37:17 -04:00
Asumu Takikawa
8ac4f3d29b
Add a few more serialization optimizations
2016-06-21 16:37:17 -04:00
Asumu Takikawa
0c1b71bf32
Lift out definition table lookup for init-envs
2016-06-21 16:37:17 -04:00
Asumu Takikawa
196744e0cd
Memoize large types in serialization for init-envs
2016-06-21 16:37:17 -04:00