Asumu Takikawa
d4a9052f52
Fix outdated comment for redirect-contract
2015-08-17 13:12:25 -04:00
AlexKnauth
10c85f911a
don't export Distinction
2015-08-17 01:08:07 -04:00
AlexKnauth
09203307cb
test docs-complete on Travis CI
2015-08-17 01:08:07 -04:00
AlexKnauth
0ea39a1177
clean up unused definition
2015-08-16 00:00:58 -05:00
AlexKnauth
0037a0277f
allow values with define-new-subtype types as functions
2015-08-15 19:00:35 -05:00
AlexKnauth
efb877dbfb
fix inference with define-new-subtype
2015-08-15 14:36:45 -05:00
AlexKnauth
af2c22f542
Add error message specifications
2015-08-14 21:42:21 -05:00
AlexKnauth
f8cc9e8dcd
fix issue #169
2015-08-14 21:42:20 -05:00
Asumu Takikawa
dfdf86e527
Add identifier-binding-symbol to TR base-env
2015-08-14 21:25:54 -04:00
Asumu Takikawa
2e97280335
Eliminate the eval hack for top-level structs
...
This eliminates a hack used to make the `struct` form
work at the TR top-level. The trampolining top-level
typechecker makes this unnecessary.
2015-08-14 21:25:54 -04:00
Asumu Takikawa
d85a267c42
Declare require/typed internal identifier first
...
Uses the `define-syntaxes` trick to declare the identifier
so that its binding symbol doesn't change later.
2015-08-14 21:25:54 -04:00
Asumu Takikawa
e031d6c47e
Typecheck the top-level using trampolining macros
...
Instead of local-expanding the entire top-level forms at
once, wrap expressions in a top-level begin in trampolining
macro forms. This allows the typechecker to trampoline back
to the evaluator, which is necessary to declare/register
declarations made in a top-level begin.
The point of this change is to eliminate top-level hacks
and faciliate various macros that need to communicate using
multiple top-level forms.
2015-08-14 21:25:54 -04:00
Asumu Takikawa
84bd502d46
Refactor TR top-interaction
...
Use a macro to abstract out the implementation of most
of the top-level TR commands.
2015-08-14 21:25:54 -04:00
Asumu Takikawa
94ce4b203e
Use tc-expr for top-interaction functions instead
...
This restricts operations like `:print-type` to only
work on expressions. This seems like a reasonable
restriction and simplifies the implementation.
2015-08-14 21:25:54 -04:00
Vincent St-Amour
e997f02095
Rewrite compound pair operation optimization.
...
Previous version replaced calls to, e.g., `cadr` with calls to `cdr`
then `car`, called the typechecker to populate the type table, then
optimized the exploded operations. The call to the typechecker failed
on open terms, limiting the applicability of the optimization, and was
just generally brittle.
The new version instead explodes operations, then optimizes them inside
out for as long as the argument's type guarantees it's safe. This works
on open terms, and should be more robust.
2015-08-14 17:28:47 -05:00
Sam Tobin-Hochstadt
c5a75df00c
Merge pull request #176 from racket/sudo-false
...
Try running travis on docker.
2015-08-14 10:11:58 -04:00
Sam Tobin-Hochstadt
5716a850f1
Try running travis on docker.
2015-08-14 09:40:23 -04:00
Asumu Takikawa
509f1aa20c
Update type for copy-directory/files
2015-08-14 01:02:54 -04:00
Vincent St-Amour
aae17a0bc0
in-pairs
-> in-dict
2015-08-13 10:41:15 -05:00
Vincent St-Amour
b6362e7eb3
unstable/sequence -> racket/sequence
...
And move to TR one of the functions that didn't make it.
2015-08-13 10:41:15 -05:00
Asumu Takikawa
4f050888e2
Export let*-values from TR correctly
...
Closes PR 14997
2015-08-12 12:16:05 -04:00
Asumu Takikawa
29144c7932
Fix handling of let rhs that don't return
...
In the case that a let rhs doesn't return and therefore the
bodies of the let are unreachable, the bodies need to be marked
as ignored for the optimizer.
In addition, don't attempt unboxed let optimization at all
if the return type is Nothing since it probably means some
body expressions have no type.
Closes GH issue #165
2015-08-11 12:07:27 -04:00
Asumu Takikawa
6512b52b1d
Fix polymorphic recursion check for type aliases
...
The old check was broken for cases with type constructors
with more than one type argument and was also too conservative
in some cases (e.g., when one cycle refers to another cycle of
aliases in a non-recursive manner).
The new check is still conservative, but it allows more types
than before.
Closes GH issue #157
2015-08-07 19:05:13 -04:00
Vincent St-Amour
6b70510ebe
Fix doc typo.
2015-08-05 13:58:53 -05:00
Vincent St-Amour
b9268e99db
Move syntax-length to TR.
2015-08-05 13:13:51 -05:00
Vincent St-Amour
11a8a3e1d9
unstable/syntax -> syntax/location
2015-08-05 13:13:51 -05:00
Vincent St-Amour
5b986d7d38
Update base dependency version.
2015-08-05 13:13:50 -05:00
Vincent St-Amour
f6779f2cfa
unstable/macro-testing -> syntax/macro-testing
2015-08-05 13:13:50 -05:00
AlexKnauth
cf4a033872
fix issue #166
2015-08-03 18:36:14 -05:00
AlexKnauth
0c1d58a07b
handle define-new-subtype in earlier phase
2015-07-30 23:24:17 -04:00
Brian Lachance
a97489cc80
Fix attempt at handling internal errors when binding AnyValues results
...
This is the correct change for how attempting to bind AnyValues results
caused internal type-checking errors. The root cause was get-type/infer
violating its own contract by using the default return value from
tc-error/expr
This (partially) reverts 5e0e8ed713
.
2015-07-30 16:21:07 -04:00
Alex Knauth
5e1334c02e
Merge pull request #149 from AlexKnauth/newtype
...
add define-new-subtype
2015-07-30 02:08:19 -04:00
AlexKnauth
a58c2e317f
add define-new-subtype
...
inspired by haskell newtypes
http://www.mail-archive.com/racket-users@googlegroups.com/msg27118.html
https://www.haskell.org/tutorial/moretypes.html
2015-07-30 01:39:06 -04:00
Sam Tobin-Hochstadt
a0b7123d4c
Handle for-meta
in TR requires.
2015-07-29 14:28:24 -07:00
Sam Tobin-Hochstadt
fc59d375a0
Add more entries to the list of typed libraries.
2015-07-29 14:28:23 -07:00
Sam Tobin-Hochstadt
d20c74e22a
Fixes for Robby's change to tooltip.rkt.
...
* Add `get-size` to `Font%`.
* Relax types on `find-or-create-font` in line with docs.
* Add `basic-style` to `Style-List%`.
2015-07-29 14:28:23 -07:00
Asumu Takikawa
d1e17b04e8
Add tests for PR 15026
...
Fixed on HEAD, possibly due to new expander
Closes PR 15026
2015-07-29 14:29:18 -04:00
Asumu Takikawa
3fffeeac5d
Add a test for PR 14521
...
Started working since v6.2. Possibly due to the new macro
expander.
Closes PR 14521.
2015-07-29 13:55:49 -04:00
Brian Lachance
5e0e8ed713
Fix missing match cases when trying to bind AnyValues typed "results"
...
tc-toplevel has fixes for define's, tc-let-unit has fixes for let's
2015-07-29 11:44:29 -04:00
Brian Lachance
1e5bc30b95
Prevent -let-internal name from leaking to users
...
Because -let-internal wasn't rename-out'd, users would see its name in
syntax error messages. Adding #:context forces the error messages to be
phrased in terms of the given form.
2015-07-29 11:07:54 -04:00
Vincent St-Amour
0a7ec21df9
Rename open-place to place/context.
2015-07-28 16:15:08 -05:00
Asumu Takikawa
91279f46c7
Add types for recent functions moved from unstable
2015-07-28 14:49:26 -04:00
Asumu Takikawa
2819a62b30
Add types for new syntax operations
2015-07-27 17:15:54 -04:00
Dan Feltey
200c51689c
Merge pull request #161 from dfeltey/print-syntax-cleanup
...
Merge `print-syntax?` and `show-input?` parameters into just the `print-syntax?` parameter
2015-07-27 11:06:36 -05:00
Daniel Feltey
44a93b7e43
Merge print-syntax?
and show-input?
parameters into just the print-syntax?
parameter
2015-07-26 19:30:39 -05:00
Alex Knauth
f1da9c22c1
Merge pull request #160 from btlachance/colon-checksyntax-arrows
...
Cancel marks for 'disappeared-use ids in colon macros
2015-07-23 16:51:41 -04:00
Brian Lachance
045bf05381
Cancel marks for 'disappeared-use ids in colon macros
...
Fixes check-syntax arrows for the id and optional second :
2015-07-23 14:59:52 -04:00
Vincent St-Amour
f92bddd21b
Move rest of unstable/logging from typed-racket-lib to unstable-lib.
2015-07-23 11:48:39 -05:00
Vincent St-Amour
a097521f38
Move part of of unstable/logging to racket/logging.
2015-07-23 11:48:39 -05:00
Vincent St-Amour
6c9593bd73
Move unstable/match
to the unstable-lib
package.
...
See additional comments in the corresponding commit to the `unstable` repo.
2015-07-23 11:48:39 -05:00