Vincent St-Amour
95d51fc892
Add new versions of for/hash: and co that the typechecker can handle.
...
Based on Eric Dobson's implementation.
Closes PR13248. Closes PR13249.
2012-11-20 17:45:15 -05:00
Vincent St-Amour
e2007abd7a
Heterogenous -> heterogenEous.
...
Found by Ray Racine.
2012-11-20 17:06:51 -05:00
Vincent St-Amour
d994ba1914
Fix types of variable arity functions to work with 0-argument return values.
...
Closes PR13218.
2012-11-20 16:15:20 -05:00
Neil Toronto
ac424a73a5
Added `define-typed/untyped-identifier' to typed/untyped-utils
...
Made return types of `flvector-length' and `unsafe-flvector-length' more precise (they return Index)
2012-11-16 10:52:56 -07:00
Tony Garnock-Jones
a57e158c43
Correct TR types for udp-bind! and udp-connect!.
2012-10-31 21:42:57 -04:00
Vincent St-Amour
fd6e2bd6c5
Don't provide for/vector: helpers.
2012-10-15 12:03:53 -04:00
Vincent St-Amour
5bc108c7b1
Fix type of raise-range-error.
2012-10-14 17:19:35 -04:00
Neil Toronto
9c11324cec
Added plet:
2012-10-14 16:28:42 -04:00
Neil Toronto
6f52be186b
Added working for/vector:, for*/vector:, for/flvector:, for*/flvector:
...
Closes PR13185.
2012-10-14 16:28:41 -04:00
Vincent St-Amour
3a8f4c24d9
More types for raise-* functions.
2012-10-14 15:44:55 -04:00
Eric Dobson
d31005b380
Add type for raise-argument-error in TR.
...
Closes PR13132.
2012-10-14 15:44:55 -04:00
Eric Dobson
788b046549
Make expt type more correct.
...
Closes PR13170.
2012-10-14 15:44:54 -04:00
Sam Tobin-Hochstadt
9054d0db7d
Allow #:opaque
and #:struct
in require/typed
.
2012-10-08 16:30:43 -04:00
Sam Tobin-Hochstadt
724aee0188
Add type for in-directory
.
2012-10-07 17:45:09 -04:00
Sam Tobin-Hochstadt
d84631bc6f
Don't provide internal identifier.
2012-09-27 18:29:43 -04:00
Sam Tobin-Hochstadt
ee4ba2e3dd
Fix define-typed-struct/exec
to pass struct-info.
2012-09-27 17:08:49 -04:00
Eric Dobson
9e1cf579a4
Fix type->contract on structures. Now uses struct/c.
2012-09-27 16:22:21 -04:00
Vincent St-Amour
adceb4322a
Integers include inexact single-float integers.
...
Closes PR13103.
2012-09-09 15:46:29 -04:00
Vincent St-Amour
729d154deb
Fix types of comparisons between zero and non-negative integer types.
2012-09-08 18:51:38 -04:00
Matthew Flatt
b61f3f751c
port position-tracking clean-ups
...
Add `file-position*', which can return #f instead of raising
an exception when a port's position is unknown. Change
`make-input-port' and `make-output-port' to accept more
kinds of values as the initial position.
These changes make it possible to synchronize a port's
position with a `port-commit-peeked' action. It's ugly,
which I think reflect something broken about position
tracking in the port protocol (which seems difficult to fix
without breaking compaibility).
2012-08-28 16:04:41 -06:00
Sam Tobin-Hochstadt
5fb4819703
Add type for processor-count
.
2012-08-20 14:49:11 -04:00
Eric Dobson
b9408e545e
Wrap generated code in #%expression.
...
This allows tc-toplevel to hand it off to tc-expr, and not reimplement
the details of annotations.
2012-08-20 12:39:41 -04:00
Eric Dobson
533920480e
Add tests for make-predicate and cast, also add support for the top-level.
...
Closes PR 12939.
Closes PR 12201.
2012-08-20 12:39:41 -04:00
Eric Dobson
553c3a4f80
Added cast operator to typed racket
2012-08-20 12:39:40 -04:00
Eric Dobson
cc52e56fe6
Add way for code to attach typechecks to itself, and implemented make-predicate.
2012-08-20 12:39:40 -04:00
Eric Dobson
a408d6bfbf
Cleanup builtin structs types.
2012-08-20 10:10:17 -04:00
Eric Dobson
ac493a6f44
Replaced infer-dummy with lazy-require.
2012-08-14 16:04:51 -04:00
Vincent St-Amour
f514550300
Fix type of expt.
...
Closes PR13026.
2012-08-14 14:37:18 -04:00
Vincent St-Amour
af8fc1f26a
Fix types of magnitude and angle.
...
Closes PR13025.
2012-08-14 14:37:18 -04:00
Ray Racine
2ff1927f6c
Add flvector-copy to TR base env.
2012-08-13 16:58:29 -04:00
Vincent St-Amour
7c6cf0fa8b
Fix type of division.
2012-08-10 18:07:38 -04:00
Vincent St-Amour
674c71103b
Add :query-type/args.
...
Shows return type for a given function with given argument types.
2012-08-07 16:33:31 -04:00
Vincent St-Amour
d87339d414
:query-result-type -> :query-type/result
...
Result type is given, not asked for.
2012-08-07 16:31:52 -04:00
Eric Dobson
21598297a7
Removed *Un from abbrev.rkt, replaced it with Un from union.rkt.
2012-08-07 15:50:50 -04:00
Eric Dobson
9ed360bb5e
Removed convenience.rkt from typed racket.
2012-08-07 15:50:50 -04:00
Eric Dobson
6dbc054e41
Replaced references to abbrev.rkt with convenience.rkt.
...
Skipped this for subtype.rkt, because of a require loop caused by
lazy-require.
2012-08-07 15:50:50 -04:00
Eric Dobson
f090698542
Fix type of integer-sqrt and add type for integer-sqrt/remainder.
2012-08-06 12:31:07 -04:00
Vincent St-Amour
1215fb6cec
Remove invalid singleton return types.
...
NaN doesn't inhabit these types, but can be produced there.
2012-08-03 14:21:44 -04:00
Vincent St-Amour
a6d5a98b61
Include NaN in all floating-point types.
...
Makes more closure properties hold, but weakens occurrence typing for
some comparisons involving flonums.
2012-08-03 14:21:44 -04:00
Vincent St-Amour
b1fbbafd91
Fix type of rational?.
2012-08-03 14:21:44 -04:00
Vincent St-Amour
800a328fe6
Fix documentation for packages and mutable lists.
...
As suggested by Matthew.
2012-07-31 17:12:30 -04:00
Vincent St-Amour
cc8a9b5ed7
Fix type for dynamic-place.
2012-07-31 17:12:30 -04:00
Vincent St-Amour
52439d528b
Move mutable list functions to the compatibility collect.
...
Mutable pair functions from racket/base are not moved.
2012-07-27 16:49:05 -04:00
Vincent St-Amour
b1577bd307
Fix type for add-between.
2012-07-24 16:41:52 -04:00
Asumu Takikawa
e14c5d61e9
Allow guards for impersonatable struct type properties
2012-07-19 22:46:14 -04:00
Matthew Flatt
c8f4ac6ae4
submodules: make .zo path stick for consistent independent loading
...
When a module is loaded from bytecode and then the value of
`use-compiled-file-paths' changes, an attempt to load a submodule
would fail, because source isn't used if the main module is
already declared, and the bytecode code is not used according to
`use-compiled-file-paths'. Make the bytecode path stick when it
is used once, so that submodule loads succeed, and make it work
even with `namespace-module-attach'.
The module-attach part of this protocol requires a change to the
API of a module name resolver: the notification mode gets two
arguments, instead of one, where the second argument is an
environment.
2012-07-17 09:47:05 -06:00
Eric Dobson
779291c795
Remove special cases for - and fx- in tc-app.rkt.
2012-07-15 19:21:26 -04:00
Sam Tobin-Hochstadt
2aaeec4520
Improve type of values
when applied to one argument.
...
Closes PR 12846.
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
9e097866bf
Vector fixes.
...
- Allow indexing into a VectorTop, with result `Any`.
- Don't use special typing rules for applications when the operator
has an annotation or instantiation.
Closes PR 12887.
Closes PR 12888.
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
546c12cf2a
Parse (Struct t)
as StructTop.
...
Close PR 12903.
2012-07-14 19:20:51 -04:00