Asumu Takikawa
0d4b2fb3f7
Refactor define-values
for contract definition
...
This worked by accident and added an extraneous function
definition and call. Refactor to avoid that.
2015-10-29 17:50:18 -04:00
Daniel Feltey
d7ae7dbdd8
Fix incorrect serialization of signature environment
...
Closes #229
2015-10-29 01:35:33 -05:00
Andrew Kent
60c37ab2bf
conservatively label define-new-subtype as experimental for now
2015-10-27 19:32:29 -04:00
Asumu Takikawa
ac880411d4
Memoize the Un constructor for unions
...
This seems to speed up typechecking by 5-10% (depending
on the machine) on compiling the math library and on
the "new-metrics.rkt" test.
2015-10-24 21:39:43 -04:00
Asumu Takikawa
9b8b525d42
Make unit test less noisy
2015-10-24 04:13:47 -04:00
Sam Tobin-Hochstadt
c8ea37c64e
Add error message for incorrect use of Parameterof
.
...
Closes PR 14417.
2015-10-23 15:40:31 -04:00
Asumu Takikawa
2479dffde0
Fix #:opaque require clauses at the top-level
2015-10-21 17:23:24 -04:00
Asumu Takikawa
f1cb23062a
Add examples for typed/racket/unsafe docs
2015-10-21 14:26:53 -04:00
Asumu Takikawa
5fa40de546
Avoid ignoring class/unit forms at the top-level
...
Possibly a better long-term solution (for after the release)
is to not use the ignore property here and instead just use the
ignore table.
2015-10-21 13:33:30 -04:00
Asumu Takikawa
c3a59ee1c4
Use protect-out
for unsafe operations
...
Disallows usage in sandboxes and similar contexts
2015-10-20 18:00:35 -04:00
Sam Tobin-Hochstadt
6aa635d740
Fix equality handling on literals.
...
Repairs eb93a2b571
and closes #215 .
2015-10-20 15:56:07 -04:00
Asumu Takikawa
b5dc5585be
Fix part of GH issue #208
...
For private `define-values` in classes with multiple variables, don't
eagerly throw type errors in the synthesis step. Instead, wait
until the later checking step when the environment will be correctly
set up.
When the initial synthesis typecheck fails, yield type Any for
the environment. If the typecheck should really fail, this is ok. If
not, then the user can add a type annotation.
A better long-term strategy is to change the handling of environments
so that the type environment gets refined as definitions are checked.
This way all annotations that the user writes are factored into the
initial environment and unannotated variables will have their types
synthesized.
2015-10-20 14:06:32 -04:00
Vincent St-Amour
bbe3521530
Update history.
...
Please merge to 6.3.
2015-10-20 11:20:46 -05:00
Vincent St-Amour
d2a7fb31bc
Improve internal error checking.
2015-10-19 16:23:26 -05:00
Vincent St-Amour
59a61cc732
Fix tests.
2015-10-19 16:23:26 -05:00
Vincent St-Amour
22bfce117b
Add missing bits to type and ignore tables for make-object-related code.
2015-10-19 16:23:26 -05:00
Vincent St-Amour
36a40b8334
Ignore code that results from the expansion of keyword function call sites
...
...that also involve contracts.
That code was previously not marked as lifted by the contract system, and
thus was not ignored by TR. But TR was not giving it a type, which made the
optimizer unhappy, now that it looks at the types of everything.
2015-10-19 16:23:26 -05:00
Vincent St-Amour
4aed44370d
Ignore more code that has no types.
2015-10-19 16:23:26 -05:00
Vincent St-Amour
6245807b7c
Log uses of float vectors.
...
For OC to recommend using flvectors instead.
2015-10-19 16:23:26 -05:00
Vincent St-Amour
6ccb0939f8
Have optimizer skip more code that is not typechecked.
2015-10-19 16:23:26 -05:00
Asumu Takikawa
3149b0a305
Fix send
on a receiver with recursive type
...
Thanks to Matthias for finding the bug
2015-10-19 16:27:11 -04:00
Asumu Takikawa
638618ae40
Fix unsafe-require/typed for kw functions
2015-10-16 15:52:21 -04:00
Sam Tobin-Hochstadt
3d91ebeb4c
Increase timeout instead of removing it.
...
Having no timeout definition reverts to the default, which is 90 seconds.
2015-10-16 11:48:28 -04:00
Vincent St-Amour
b40cde6b67
Remove stray timeout.
...
The random tester has its own timeout, which doesn't cause drdr to error.
2015-10-16 10:20:32 -05:00
Asumu Takikawa
30ecfef309
Fix type of system-type
...
Closes GH issue #210
2015-10-10 14:59:49 -04:00
Vincent St-Amour
98f90cce2c
Ignore random testing running out of resources.
...
Evaluating random bignum expressions sometimes goes off the rails.
2015-10-06 11:44:27 -05:00
Matthew Flatt
ca46d80189
fix use of code:contract
...
Unlike `code:comment`, which wants a string or other content,
`code:contract` wants datums.
2015-10-02 15:32:50 -06:00
Asumu Takikawa
bf3f86a2b0
Add a performance test for function contracts
2015-10-01 18:04:20 -04:00
Asumu Takikawa
ef6d82e81f
Add a test for top-level unsafe-require/typed
2015-10-01 17:41:03 -04:00
Vincent St-Amour
913ef6a2ef
Ensure a minimum of actually random testing.
...
Previously, most of it was actually deterministic enumeration, which meant
repeating the same tests over and over again. We still want to run those,
if only to catch regressions, so now we run both enumeration and truly
random tests, separately.
This does mean that the set of tests being run for a given seed is not the
same as it used to, so old seeds won't give the same results as before.
2015-10-01 13:57:35 -05:00
Asumu Takikawa
435e733d66
Forgot to add fixes into last commit
2015-09-30 18:16:51 -04:00
Asumu Takikawa
e8820503e7
Fix source location tracking for top-level forms
...
This had broken due to trampoline-based refactoring
2015-09-30 17:03:22 -04:00
Asumu Takikawa
2cbadeaccc
Bump version for typed/racket/unsafe addition
...
Also add history annotations to docs
2015-09-30 15:37:02 -04:00
Asumu Takikawa
eb90cd4e8c
Add a typed/racket/unsafe library.
...
Comes with `unsafe-require/typed` and `unsafe-provide`.
These operations do not generate contracts but are not
exported by default by Typed Racket.
2015-09-29 18:48:08 -04:00
Georges Dupéron
7f8e91c571
Used new #:context variant (list symbol stx) for the error messages for , as per samth's suggestion.
2015-09-29 18:32:01 -04:00
Georges Dupéron
09d60e003b
Simplified bad syntax error reporting for let (changes c8f02eb
by samth)
2015-09-29 18:32:01 -04:00
Asumu Takikawa
eb93a2b571
Improve typechecking for equality
...
Closes GH issue #164
2015-09-22 22:57:18 -04:00
Sam Tobin-Hochstadt
a90a1bd689
Merge pull request #200 from EmmanuelOga/patch-1
...
typo
2015-09-16 15:02:13 -04:00
Emmanuel Oga
0191afbe98
typo
2015-09-16 04:21:03 -07:00
Daniel Feltey
c6743b4423
Don't expose require-typed-signature
2015-09-13 04:09:48 -05:00
Daniel Feltey
cbb76b987c
Fix tc/letrec-values contract and document require-typed-signature
2015-09-12 13:45:33 -05:00
Daniel Feltey
2ad3dc5f75
Add docs for typed units
2015-09-11 17:30:20 -05:00
Daniel Feltey
93b9390e3b
Fix Unit integration tests to match AnyValues in error messages
2015-09-11 15:43:51 -05:00
Vincent St-Amour
f89d91d864
Add timing for contract generation.
2015-09-11 13:39:03 -05:00
Vincent St-Amour
5ed30d7fcf
Fix contract build.
2015-09-11 13:12:49 -05:00
Daniel Feltey
2e0cc095c7
Initial support for typed units in typed racket.
...
Most unit forms are supported, including most of the "infer" forms that
infer imports/exports/linkages from the current context.
Notably, none of the structural linking forms for units are supported, and
`define-unit-binding` is also currently unsupported.
2015-09-10 16:32:11 -05:00
Asumu Takikawa
26c4a199fb
Fix accidentally added redundant requires
...
See last commit
2015-09-09 17:54:09 -04:00
Asumu Takikawa
3d6418b8be
Refactor provide handling to reduce code
2015-09-09 12:50:32 -04:00
Asumu Takikawa
2b2e87010a
Update version dependency on base
...
Depends on the rename transformer change
2015-09-09 11:59:43 -04:00
Alexis King
4bf3479776
Add types for writeln and println
2015-09-08 15:58:07 -04:00