Commit Graph

3160 Commits

Author SHA1 Message Date
Asumu Takikawa
0d51c5aa2c Fix TR reference typo
original commit: 4b580a8b8dd3a5920b55cdb8f394d710b5945de0
2014-02-13 01:34:51 -05:00
Asumu Takikawa
8487bf8485 Document the new prefix function type constructors
original commit: 277051fcf10e1b66ccc80e7cc064ed796097119e
2014-02-13 01:20:10 -05:00
Asumu Takikawa
1a43d2fa9d Adjust printing of -> and ->*
Use prefix printing in all cases, and add indentation
rules for pretty printing

original commit: 72c9de99e0d4b59db897c034838426f6ef5892d3
2014-02-13 01:20:06 -05:00
Asumu Takikawa
f2caa4b293 Improve error messages from : annotation form
Emit errors in terms of the original user-supplied syntax,
not the helper macro syntax

original commit: 36524740c873ba8c28202e9abc10adf0cf4618c6
2014-02-13 00:23:01 -05:00
Asumu Takikawa
c05dafbc58 Apply All's rules for parentheses omission for :
original commit: 8e8df77fc4675a5f8a9ae8090ac87b35c36dfaf7
2014-02-13 00:23:01 -05:00
Asumu Takikawa
d2f1ea2fc6 Do not allow parentheses omission for prefix ->
Also fix multiple -> detection, which was broken

original commit: 7bb537fc828854d3f5d59b88f84db1caab50aa5e
2014-02-13 00:23:01 -05:00
Asumu Takikawa
7f5638df9c Use syntax classes to parse ->* type constructors
original commit: 6ec287f9f6abbfe7b42c7e00831a6aad4f5fbdc9
2014-02-13 00:22:59 -05:00
Asumu Takikawa
2badae67b0 Print ->* style types with ->* constructor
This recognizes the type for a function like
`regexp-match?` and will print it concisely.

original commit: 54f72050a631c45785b95bdfaca9877db41bc3b8
2014-02-13 00:22:24 -05:00
Asumu Takikawa
502aac42fe Lift out partition-kws function into util module
original commit: 97fe6b82b4ff6d781fe214e3b12500f10587c69e
2014-02-13 00:20:53 -05:00
Asumu Takikawa
6a9b828018 Abstract out function that checks ->* style types
original commit: 40bf3ad2437f3419cc876cf147f3430f118eb62f
2014-02-13 00:20:53 -05:00
Asumu Takikawa
66ecebc74a Add ->* type constructor for optional arguments
original commit: 02dd958a697bf897a412f24547dfd07d11a62b72
2014-02-13 00:20:47 -05:00
Asumu Takikawa
345e7854d9 Allow prefix function arrow type
Also fix a regression that made arrow type
parsing more permissive than desired due to
missing colon^s

original commit: 7dc5143f145c5bbb95f97d9ae7cee751b0f466ef
2014-02-13 00:15:35 -05:00
Vincent St-Amour
1549252c7b Fix TR optimizer test.
original commit: 6c08632f359f9d8c3adccc7780e7c731fd2fb9cf
2014-02-11 14:06:21 -05:00
Vincent St-Amour
e0f4cc9f9f Make flvectors and fxvectors subtypes of sequences.
original commit: 1e591a51243b87b65a6f892dfc9ba5fe3f4da263
2014-02-11 14:06:21 -05:00
Vincent St-Amour
500f8645d7 Simplify types for flvector and fxvector operations.
original commit: e2254414d238495333bd60cb1fb450d055462439
2014-02-11 10:28:50 -05:00
Asumu Takikawa
1a916e17f8 Add in-flvector, in-fxvector to TR base environment
original commit: 11bfdce6859a2615a7456a7f30123771eeee528e
2014-02-11 01:28:31 -05:00
Asumu Takikawa
95afd01fde Add FxVector type to Typed Racket
The `for` forms for fxvectors are future work

original commit: 6791b322ec8dedf7cc2d00aca4aa12df4d0567c2
2014-02-11 01:23:19 -05:00
Asumu Takikawa
8b46b0199a Add an ignore-table for TR's optimizer
This allows the typechecker to tell the optimizer or
other downstream analyses what expressions to ignore
because they contain non-typechecked code.

Use it to fix handling of `send`

original commit: 2b9b16b165cecd1285e80545efee84bf340ac36d
2014-02-10 23:57:58 -05:00
Asumu Takikawa
8646081d73 Refactor type-table
Move the provides to the top following the style guide and
add a purpose statement for the module

original commit: c72228dee8602df89373eb5eb4f3547825ebbb64
2014-02-10 23:57:57 -05:00
Asumu Takikawa
77f961bd64 Add other future/place primitives to TR base-env
Also fixed the type of `place-dead-evt`.

original commit: 72ef0a9323ba0cf5000423b73797cd03e6f5ba4f
2014-02-08 09:49:11 -05:00
Vincent St-Amour
5bc2a69fe2 Report unspecialized comparisons.
Slower than specialized comparisons, and make futures block.

original commit: 615f2150de37b67aaf2af0b753d2528506a33dfc
2014-02-07 16:26:51 -05:00
Vincent St-Amour
683ca4d28a Fix TR optimizer tests for new source locations.
original commit: 32133df12b1b9d07e6fa7c5ca8f586e571e6adc4
2014-02-06 15:54:57 -05:00
Asumu Takikawa
6c05fedfb8 Simplify printing for list type special cases
original commit: 755998ba8285d313d2bdcbd1fb469c7e6a1c904c
2014-02-04 18:12:38 -05:00
Asumu Takikawa
bee2da86df Fix printing of rest argument types in TR
This was a regression that snuck in with pretty printing

original commit: 739f236da363c5f63c72e892aa841f012d567cd9
2014-02-04 16:18:06 -05:00
Asumu Takikawa
53894e3bc9 Update list of typed libraries
original commit: c162928c5a9519f690f6fd9d91c15fb57e2036c3
2014-02-04 11:31:11 -05:00
Vincent St-Amour
39c6cf4f57 Fix unary assert duplicating computation.
original commit: 04cb2368201c789332c58aab74eada6319854155
2014-02-03 14:04:34 -05:00
Vincent St-Amour
872dac5d53 Report another hidden parameter function.
original commit: cc0e9319a63765f82cc1ad1ec6c41f6c37fe901e
2014-02-03 14:04:08 -05:00
Eric Dobson
17672da9ea Add tests for fixnum operations on the boundary conditions.
Also change type of - on negative fixnums to be more precise.

original commit: 7b8b2cf3244b812c318f2d332cbd50441b917845
2014-02-03 09:31:19 -08:00
Asumu Takikawa
b93b0de228 Update typed/net/url
Closes PR 14330

original commit: f1adc8e856109b7740c191a9ab2a964643c569f7
2014-01-31 11:35:30 -05:00
Eric Dobson
ae0a62c106 Remove extra in-set type annotation.
original commit: 9eacbec35e331680983649df71c200929898843a
2014-01-30 23:34:45 -08:00
Asumu Takikawa
533c319496 Handle kw λs when useful annotations are missing
Closes PR 14322

original commit: 7476ca0ac067a58f606f3d49ede69e09fcbc9c58
2014-01-30 11:38:06 -05:00
Asumu Takikawa
c5e442a442 Check kw function definitions w/o type annotations
Instead of trying to check the expansion as-is (which
always fails), check the core function and reconstruct the
keyword function type.

Closes PR 11253

original commit: dc41219463e43457dac6de873440036c6e8c5c3d
2014-01-30 11:37:24 -05:00
Asumu Takikawa
3feeb553ac Fix keyword function type conversion in TR
Makes rest arguments work properly and handles
keywords passed in by sorted order.

original commit: c8554e2489beaab392fe46c9b3eafeb0bf8c2d22
2014-01-28 00:13:43 -05:00
Asumu Takikawa
99f3f62a6e Fix parsing for keyword & rest arg function types
Closes PR 14309

original commit: b9493ab142e910053ffe7db7d30fe434e8ba2de1
2014-01-28 00:13:12 -05:00
Eric Dobson
9926acb187 Fix type of parameter? to correctly account for variance.
Closes PR 14315.

original commit: 4e9d15306c604a759d10005af557783f7d410477
2014-01-27 08:51:10 -08:00
Eric Dobson
5bd25a94a6 Add rough draft of docs for Top/Bot to quiet DrDr.
original commit: 2016ab1c2fa789b2ee18fb8bad695e8a6b75c656
2014-01-27 08:36:35 -08:00
Eric Dobson
4621b47691 Make parse type use literal-syntax-classes.
Fixes arrows in check-syntax.
Adds actual bindings for Top and Bot filters.
Make tests give more info on failure, and change test to not use Number.

original commit: 7fabf5f3fcda609a86e67f4b61b0b7e0d7fcafd5
2014-01-25 17:48:20 -08:00
Eric Dobson
dd6d7989fa Split out implementation of define-literal-syntax-class.
original commit: 597ab590b4cadfcbd93d97badabaf004d6422af1
2014-01-25 16:03:11 -08:00
Eric Dobson
af1aeb60a1 Cleanup parse-type.
Add syntax class for @ and !.
Add use literal sets.
Make full-latent cleaner.

original commit: c04ad0bb8d79e6336fd5281a4c07333139524153
2014-01-25 16:03:10 -08:00
Asumu Takikawa
04b18f611f Minor fix for REPL type printing
The old code worked, but triggered a contract
violation when contracts were enabled.

original commit: 8f0c298b6d6c16be93ca521005dfe531166263d8
2014-01-25 12:29:33 -05:00
Asumu Takikawa
58ea912880 Improve type inference for ValuesDots types
Add more precise types for `call-with-input-string`
that take advantage of the improved inference.

Closes PR 14050

original commit: 59bdb6c9a86d9b4b471d49f4a0277279bb6c5985
2014-01-25 12:29:32 -05:00
Asumu Takikawa
606da5fbeb Allow typecheck tests to specify a failure regexp.
The regexp checks against the exception error message.
I'm adding this because it will be useful for unit
tests for type-checking classes.

original commit: 4c7d902d8f2930899f44fa164538e445e1fb421f
2014-01-24 11:25:15 -05:00
Asumu Takikawa
08988e1ce0 Fix a printing bug for some type results
original commit: f32a42f2f44d2b8a833eb0ce4f9ab678e96e3413
2014-01-24 00:42:30 -05:00
Asumu Takikawa
35b60ceacd Fix debug printing mode for pretty-printed types
Previously, pretty-printing for types would override the
debug mode by bypassing normal printing. Instead, switch
the `pretty-format-type` function to a debug version when
in debug mode.

original commit: 8ad0e6b52a260eea4329335d81f282802c2ae1ab
2014-01-24 00:42:30 -05:00
Asumu Takikawa
888d681ecb Allow other kinds of for clauses in for/hash:
Closes PR 14306

original commit: 120ce62bbb27e10d3f55c9c99cbd14d7cba9fd22
2014-01-23 12:14:48 -05:00
Asumu Takikawa
b5c485863d Make TR tests pass with contracts on again
original commit: 6b954be2c798d092e12b949442ea0ac49f796045
2014-01-21 21:21:43 -05:00
Asumu Takikawa
e3fcab3105 Update TR mutation error message to new format
original commit: 1b458c97d7cc478950b8ab75d41cf113f64d9015
2014-01-21 21:21:43 -05:00
Asumu Takikawa
2e539c9e21 Export type-mismatch and use pretty-printing
Previously, the internal `expected-but-got` handled the
pretty-printing but it makes more sense to do it in
`type-mismatch` since it's useful for other modules.

original commit: 00387001dc54d132a87a98e89498e0c2cf9cb35f
2014-01-21 21:21:43 -05:00
Asumu Takikawa
0886c4f2a7 Fix type printer test
Forgot to change the test string for commit
b5bc36391693baa1b1953f7860d2d0b0821e9830

original commit: a1b79f0bd225234dcf06b41a9ca0ef28353c02fb
2014-01-21 20:22:39 -05:00
Asumu Takikawa
223f4d8f6f Add doc examples for other TR REPL commands
original commit: b0213b7ebe5c712cf1efa82dc11dbdc0fd0589b1
2014-01-21 18:53:25 -05:00