Commit Graph

4449 Commits

Author SHA1 Message Date
Vincent St-Amour
c256e47e27 Have literal-related optimizations see through ann. 2016-08-04 13:05:27 -05:00
Vincent St-Amour
3b488c1f13 Update test for new syntax-parse behavior.
Sees something twice that it used to see once.
2016-08-04 12:54:11 -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
Sam Tobin-Hochstadt
3f372c3b04 Try removing more limits on this test so it succeeds on Travis.
Suggestion from @mflatt.
2016-07-12 10:41:18 -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
27ed39d101 Adjust tests since opaque structs are no longer accepted by Any. 2016-07-09 21:22:08 -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
WarGrey Gyoudmon Ju
835cfcd7ea add typed/racket/os.rkt (#391) 2016-07-08 20:40:52 -04:00
Benjamin Greenman
92c67b16ae add any-wrap test for Environment-Variables (#390) 2016-07-08 20:11:30 -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
8c0a5a0b3e Add typed/syntax/modread, typed/syntax/srcloc, and typed/syntax/readerr (#353)
* add typed/syntax/modread.rkt

* add typed/syntax/srcloc.rkt

* add typed/syntax/readerr.rkt
2016-07-07 12:20:40 -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
Ben Greenman
34d16fe1d8 ts-guide: change 1st sentence 2016-07-02 00:33:30 -04:00
Alex Knauth
583a752954 test (and/c vector? any-wrap/c) -like contracts 2016-06-29 17:04:23 -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
a10fd9ef45 Fix accidentally-committed debugging code. 2016-06-24 09:15:28 -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
Sam Tobin-Hochstadt
3c616f480a Don't depend on htdp-lib
This dependency was added because I misinterpreted an error message.
2016-06-22 11:57:40 -04:00
Sam Tobin-Hochstadt
85df0d130e Fix snapshot build. 2016-06-22 07:34:18 -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
527b233e45 Remove pconvert dependency in tests
The test just tests whether struct properties
work and it's not important what the precise
property is.
2016-06-21 16:43: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