Commit Graph

3354 Commits

Author SHA1 Message Date
Asumu Takikawa
23b147607f Remove code that handles #<undefined> in TR
TR no longer needs to handle #<undefined> because the value
no longer leaks out from uninitialized variables. However, uses
of uninitialized variables are not caught by TR (they are treated
like errors from the `error` function).

original commit: 715d596e47b7c5cbd7b17ff36ceea73678c7071f
2014-04-28 14:14:00 -04:00
Eric Dobson
f49ef7b662 Add tests for new letrec semantics.
Closes existing bugs because the old broken semantics is now right
because of undefined changes.

Closer PR 13303.
Closer PR 13333.

original commit: 8372ee9f6d5a08e6fe89ca681ea63be5ed34496e
2014-04-27 12:51:03 -07:00
Eric Dobson
69f5da8531 Add a test suite for infer.
original commit: d38737836e483b78cc6697a474f9fcb26573d092
2014-04-26 09:48:11 -07:00
Eric Dobson
fcb558d2b1 Fix apply with (Listof A) args.
Closes PR 14465.

original commit: b42e0d8d68f19c4cc80bb23f1cb1a383edeba322
2014-04-25 21:34:27 -07:00
Vincent St-Amour
de03b2dee5 Revert edit to expected result.
original commit: 6341cb3026ca5671dd228d9c110f378b8166c3b5
2014-04-25 16:57:06 -04:00
Vincent St-Amour
9688d1a083 Keep dead case-lambda clauses around to avoid changing arity.
Closes PR14468.

original commit: ce3033a0c7e0c3f0eede89ddd18862161d89e18b
2014-04-25 13:44:56 -04:00
Vincent St-Amour
5af4daf7d9 Avoid precision problems in TR tests.
original commit: d30546cb7ddd80e6fd2eeaa0ab3da7ebfb2f35be
2014-04-24 10:48:26 -04:00
Vincent St-Amour
b00549fc38 Add missing forms to TR docs.
original commit: 842137fc295e98663d1d5ec8f1f5ea188ca014b8
2014-04-24 10:48:26 -04:00
Eric Dobson
9bf4fa62e0 Fix inference for dotted and starred arr types.
original commit: 7a435b154ca517b1fcae2ddd3f4387e8f2f82ef0
2014-04-23 23:57:11 -07:00
Asumu Takikawa
7d10ce5d54 Add remaining racket/list functions to TR base-env
original commit: d731a02fa5d795809eef3b094f8cd10da29e14d1
2014-04-23 18:42:12 -04:00
Vincent St-Amour
6e6538269a Optimize expt on floats.
original commit: 4d36910026c5be17cd2e9b5ac98ace11345659e6
2014-04-23 12:45:37 -04:00
Vincent St-Amour
da4f537424 Be more conservative when reporing potentially exact arithmetic.
original commit: 2adc374fc681d5ab031cf8889103bf77fadabfcc
2014-04-23 12:45:37 -04:00
Vincent St-Amour
a376f2946d Typo.
original commit: e8e007badf3fcc9e64fb5c9f47bbdc2ef870a2ff
2014-04-23 12:45:37 -04:00
Vincent St-Amour
59703ec524 Fix extflonum tests for line numbers.
original commit: 47abc2f00b928088893afdeac0bc6f77478d9f1c
2014-04-23 12:45:37 -04:00
Vincent St-Amour
7ebc2f2f32 Add extflvector optimizations.
original commit: e41e91f55146e735c4dd67d02e0cf4c3c78a1f9a
2014-04-23 12:45:37 -04:00
Vincent St-Amour
a4378704a2 Export the ExtFlVector type.
original commit: e5e5a4547f998da31ad22d9595ee458bc0eecf1e
2014-04-23 12:45:37 -04:00
Vincent St-Amour
236e27b9ec Tests for extflonum optimizations.
original commit: b96776105c0f2bf1ccfec56d10832c0486a181f2
2014-04-23 12:45:37 -04:00
Vincent St-Amour
1d360bdcb0 More extflonum optimizations.
original commit: 0a8b3845dd657865c6b39f83f7226bf952a04ce1
2014-04-23 12:45:36 -04:00
Vincent St-Amour
b5de283ce4 Add missing forms to TR docs.
original commit: 228687226a8269b68dce5b05f2cd81b463621b08
2014-04-23 12:45:36 -04:00
Vincent St-Amour
ebf87fd795 Basic optimizations for extflonums.
original commit: 171d874757ffd111aa3bd5c4d17ca01251144c68
2014-04-23 12:45:36 -04:00
Asumu Takikawa
ff31fe4e07 Re-enable and fix a TR class test
It turns out the test was wrong instead of the implementation.
In particular, it reversed the internal/external name and thus
the error it failed with was correct (though not the intention of
the test).

original commit: e230456fd7fe971204d5c11978e12576d2e4619c
2014-04-23 12:16:20 -04:00
Asumu Takikawa
63efae6fff Remove unnecessary class typechecking code
Also add a test for this part of TR. In particular, it
handles registering syntax definitions that are found in
a class body.

original commit: 92bdd84b079b23f91c0d6088dd5f3690d2d7f796
2014-04-23 12:16:12 -04:00
Vincent St-Amour
ceb3a6d5ef Small oversight in random testing.
original commit: 22ff5d15633968f86e42d3e88b07437608ef2917
2014-04-22 17:25:02 -04:00
Vincent St-Amour
fb70969f1a Add single flonums to TR random testing.
original commit: 4c19f273cd785929ef84d6c2020ffd3115fcb387
2014-04-22 17:24:34 -04:00
Vincent St-Amour
d0f6cac951 Consider underflow in float conversion functions.
Closes PR14462.

original commit: a39b89bb7dae491f779fbcfa51ea0105c3b46c9a
2014-04-22 17:16:50 -04:00
Vincent St-Amour
42ee5977b6 Reminder to add optimizations for extflonums.
original commit: 1d50afca0cc73435a8e1860410aa3497a46fb022
2014-04-22 17:16:50 -04:00
Neil Toronto
aebf0385e4 Added ExtFlonum (and subtypes) and ExtFlVector to the base type environment
original commit: 85deab7cb83fd7010b3310f74eb397a4a2be50e1
2014-04-22 10:45:40 -06:00
Eric Dobson
04482d9cc2 Add contract enforcing expected values don't get returned.
original commit: 67805b9f046bfba716d04c3f7395b115250be7d6
2014-04-22 08:57:01 -07:00
Sam Tobin-Hochstadt
404fceb7d6 Fix definition of defined?.
original commit: d47c85be22f5c55149a458c8940fa53567b241b7
2014-04-22 09:57:43 -04:00
Eric Dobson
039db05530 Fix case lambda to only check cases with arities that haven't been covered yet.
Closes PR 14459.

original commit: 00e05020d8140e9ea8beee8ab87f7c0bee2dcd75
2014-04-21 22:54:36 -07:00
Eric Dobson
5cffd676b3 Fix broken case in case-lambda.
original commit: 2613994ca7de79fead425b376f9a12ee3f54a763
2014-04-21 22:54:35 -07:00
Eric Dobson
55f79f9403 Fix removed require.
original commit: fdbe0d3f275a619c4c232d0a428dfa843d363de5
2014-04-21 22:54:35 -07:00
Matthew Flatt
9c58e1e8cd fix taint-transparent syntax to lose lexical context
When submodules were introduced, the handling of taint-transparent
syntax changed to keep its lexical context. Restore the original
behavior, which is necessary to protect bindings, and fix taint
handling on submodules.

original commit: 4e3ff69798b4d1037fd865fa7715a2e77dd7a9ba
2014-04-20 20:20:33 -06:00
Asumu Takikawa
2b3e3d11d5 Improve code for checking init args for TR classes
original commit: b2f9bf6e9eed9c1e71923225adb5340046c725b4
2014-04-19 00:08:28 -04:00
Asumu Takikawa
3e9cb6c332 Adjust TR class error messages
Use the new error message format for most cases.
Convert some internal errors to use int-err.

original commit: 39aacf8239523a7eb45b307d9fd4bb0b45babc10
2014-04-19 00:08:28 -04:00
Asumu Takikawa
12e85ba9b6 Improve source location tracking for TR classes
Closes PR 14400

original commit: e3349674a64571793accb7ee83fd3865baab0e20
2014-04-19 00:08:28 -04:00
Asumu Takikawa
8e2a45002d Fix typecheck-fail in TR
Closes PR 14449

original commit: 9e7b013a7d61dabe48785377f2e5f39f04def90b
2014-04-18 11:15:35 -04:00
Asumu Takikawa
8a4093f154 More TR class adjustments for expansion changes
original commit: 0ce0abb2c2a003872961be56fb24f290e2e3f023
2014-04-17 15:34:58 -04:00
Matthew Flatt
bdc9416c8a make assignment-before-initialization an error
Recent changes made use-before-initialization an error for
`letrec` bindings, `class` fields, and `unit` definitions.
Now, assignment-before-initialization is also an error.

original commit: 22b48e03c84305068c76881c8b0ab0d25d9273de
2014-04-17 06:37:15 -06:00
Asumu Takikawa
3b079c5c86 Minor fix for TR docs for struct
Please merge to v6.0.1

original commit: 4d7703770f3a2c139091893badb0768044fcb956
2014-04-16 17:48:08 -04:00
Asumu Takikawa
98af937641 Fix TR reference docs for for
Please merge to v6.0.1

original commit: e3f7aa4df200bf6250adb02d1ba8c547639960cb
2014-04-16 17:30:19 -04:00
Asumu Takikawa
d31088b6cb Mark class support as experimental in the TR docs
Please merge to v6.0.1

original commit: d6a3d27e54f778c29e46831b48e63d1f90029d05
2014-04-16 14:58:48 -04:00
Asumu Takikawa
34872124d5 Fix TR class support for new class expansion
Also add a type for `check-not-unsafe-undefined` which shows
up in the expanded code now.

original commit: 9aaaf98b321d3d39dc19a4a781c528b879e9a7a5
2014-04-15 21:18:04 -04:00
Matthew Flatt
6e17926ba7 reduce racket/undefined to just undefined
original commit: 4c947f188dd2701ccca7a8dc2c8146647c9eba57
2014-04-15 15:06:28 -06:00
Claire Alvis
8e300317ee all necessary changes to check references to uninitialized letrec variables
includes a new pass, letrec_check, two new primitives, and
changes to packages that grabbed the letrec undefined value

original commit: 72c958df628690ebc52a626d35cd4edcab0c7089
2014-04-15 15:03:10 -06:00
Asumu Takikawa
0fa48211d8 Use racket/base instead of racket in TR
original commit: ea8781e444873fe5adcee769f90f0015a8584232
2014-04-14 00:56:15 -04:00
Asumu Takikawa
b9998344a6 Remove several unnecessary TR requires
original commit: e4a7c83c5658906b055bcc6415eb51d35055142e
2014-04-14 00:56:14 -04:00
Asumu Takikawa
0ca3e003cb Reduce dependencies of TR's base-contracted.rkt
This reduces the dependencies of typed/racket/base. Avoid
bringing in type environment dependencies by manually constructing
a #%type-decl submodule.

original commit: 08bec9de9cc7a7bb93ff014ab1cab3287d9355d0
2014-04-13 12:38:41 -04:00
Vincent St-Amour
addb3efe8c Fix type of sequence-filter.
original commit: 6080e20ddf3f168776ff56ede0dfe2095b13d649
2014-04-11 12:35:13 -04:00
Asumu Takikawa
0739eea863 Fix types in typed/file/gif
Thanks to WarGrey Gyoudmon Ju for reporting the bug

Please merge to v6.0.1

original commit: 8c1206c06303b5ee3635bec2c04c6b8b594fd2ea
2014-04-08 22:45:47 -04:00