Asumu Takikawa
4b580a8b8d
Fix TR reference typo
2014-02-13 01:34:51 -05:00
Asumu Takikawa
277051fcf1
Document the new prefix function type constructors
2014-02-13 01:20:10 -05:00
Asumu Takikawa
72c9de99e0
Adjust printing of -> and ->*
...
Use prefix printing in all cases, and add indentation
rules for pretty printing
2014-02-13 01:20:06 -05:00
Asumu Takikawa
36524740c8
Improve error messages from : annotation form
...
Emit errors in terms of the original user-supplied syntax,
not the helper macro syntax
2014-02-13 00:23:01 -05:00
Asumu Takikawa
8e8df77fc4
Apply All's rules for parentheses omission for :
2014-02-13 00:23:01 -05:00
Asumu Takikawa
7bb537fc82
Do not allow parentheses omission for prefix ->
...
Also fix multiple -> detection, which was broken
2014-02-13 00:23:01 -05:00
Asumu Takikawa
6ec287f9f6
Use syntax classes to parse ->* type constructors
2014-02-13 00:22:59 -05:00
Asumu Takikawa
54f72050a6
Print ->* style types with ->* constructor
...
This recognizes the type for a function like
`regexp-match?` and will print it concisely.
2014-02-13 00:22:24 -05:00
Asumu Takikawa
97fe6b82b4
Lift out partition-kws
function into util module
2014-02-13 00:20:53 -05:00
Asumu Takikawa
40bf3ad243
Abstract out function that checks ->* style types
2014-02-13 00:20:53 -05:00
Asumu Takikawa
02dd958a69
Add ->* type constructor for optional arguments
2014-02-13 00:20:47 -05:00
Asumu Takikawa
7dc5143f14
Allow prefix function arrow type
...
Also fix a regression that made arrow type
parsing more permissive than desired due to
missing colon^s
2014-02-13 00:15:35 -05:00
Matthew Flatt
c64142ce24
typos and notes
...
Thanks to Eli.
2014-02-12 18:47:04 -07:00
Burke Fetscher
ff96904f93
Add the random generation bechmark.
...
For now it's in the examples directory.
2014-02-12 18:42:48 -06:00
Robby Findler
0c73784c3c
more unexpected strange things broke, so disable new class/c yet again
...
No joy in mudville. See
http://drdr.racket-lang.org/28175/ for details
Also fix (just introduced) infinite loop in class/c contract-name
implementation and tweak naming stuff a little so tests pass
2014-02-12 11:06:05 -06:00
Robby Findler
c07141408f
track test case names to help find infinite loops
2014-02-12 11:01:43 -06:00
Robby Findler
53d30648f9
fix class/c contract-name implementation
...
specifically, fix the case where a field doesn't have
a contract, but just has to exist
2014-02-12 10:15:49 -06:00
Robby Findler
83eab4158a
remove dead code
...
and shrink dependencies correspondingly
2014-02-12 10:10:26 -06:00
Robby Findler
59f57b1bd1
Improvement and bug fixes to the new class/c; try again to re-enable it
...
Fixed:
- class-field-accessor and class-field mutator,
- the interaction between init args contracts and subclasses,
- object=? on wrapped objects (ie if 'this' flows out and
is compared to the object thatn 'new' returns)
- contract-name for class/c
Also, the code now uses impersonator properties internally to track a
class that is wrapped (instead of a wrapper struct). This simplifies
a bunch of places in the code and paves the way for classes that have
a class/c contract to be chapeone-of the original class (altho that
doesn't work yet)
2014-02-12 06:43:23 -06:00
Vincent St-Amour
6c08632f35
Fix TR optimizer test.
2014-02-11 14:06:21 -05:00
Vincent St-Amour
1e591a5124
Make flvectors and fxvectors subtypes of sequences.
2014-02-11 14:06:21 -05:00
Matthew Flatt
9ca0aa5225
scribble/manual: delay expressions that require collection-based files
...
This changed make `(require scribble/manual)` work in an executable,
although actually rendering documents requires the "scribble"
collection.
2014-02-11 10:07:03 -07:00
Vincent St-Amour
e2254414d2
Simplify types for flvector and fxvector operations.
2014-02-11 10:28:50 -05:00
Vincent St-Amour
8e32e6e44c
Make flvectors and fxvectors sequences.
2014-02-11 10:27:33 -05:00
Matthew Flatt
2f469a06cd
scribble/html: add 'index flag in url-roots
...
This flag can be used to make "file://..."-rendered pages easier
to inspect.
2014-02-11 05:50:04 -07:00
Matthew Flatt
964e9d128f
scribble/text: fix contract and docs on with-writer
2014-02-11 05:50:04 -07:00
Asumu Takikawa
11bfdce685
Add in-flvector, in-fxvector to TR base environment
2014-02-11 01:28:31 -05:00
Asumu Takikawa
6791b322ec
Add FxVector type to Typed Racket
...
The `for` forms for fxvectors are future work
2014-02-11 01:23:19 -05:00
Asumu Takikawa
2b9b16b165
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`
2014-02-10 23:57:58 -05:00
Asumu Takikawa
c72228dee8
Refactor type-table
...
Move the provides to the top following the style guide and
add a purpose statement for the module
2014-02-10 23:57:57 -05:00
Matthew Flatt
b9ed6f465e
restore "getting started" link
...
This change adjusts the meaning of the 'getting-started document
category, which was formerly omitted from the start page. Now,
it means a document that is listed at the beginning and at the same
level as other documents.
(Didn't just revert to the old approach to the "getting started"
entry, because it doesn't work right when "racket-index" is installed
without "racket-doc".)
Closes PR 14348
2014-02-10 12:26:43 -07:00
Robby Findler
33c006bd4f
fix careless error
2014-02-10 13:19:13 -06:00
Robby Findler
fe6b217433
adjust test/spec-passed so that tests continue when exns are raised
...
(as these usually indicate failing test cases)
2014-02-10 10:57:46 -06:00
Robby Findler
418f1d015d
try to explain enumerator mismatch bug more carefully
2014-02-10 10:57:42 -06:00
Matthew Flatt
ca3757367d
fix checking of attempt to impersonte non-struct via mutator
2014-02-10 06:49:26 -07:00
Matthew Flatt
dc0653383f
racket/gui: change some eq?
to object=?
...
Some places in the editor API accept an object as an argument
where the object's identity is relevant. In that case, `object=?`
must be used instead of `eq?` to work right with contracts.
2014-02-10 06:25:32 -07:00
Matthew Flatt
2bd8c2d8ed
racket/gui: change pasteboard to put location info in snips
...
Use the field in a `snip%` that is otherwise used by a `text%` owner
to store line information. Reusing the field avoids the need for
an `eq?`-based hash table of snips.
2014-02-10 06:25:32 -07:00
Matthew Flatt
70d91b5516
racket/snip and racket/gui: remove leftover ~
methods
...
The `~` methods on snip and editor-related classes are not documented
or called from anywhere. They corresponded to destructor methods back
when the classes were ported from C++.
2014-02-10 06:25:32 -07:00
Max New
09f05678a5
Update redex enumeration docs
2014-02-10 06:55:07 -06:00
Max New
1b1dc9cfb8
Redex Enumerator support for mismatch patterns
2014-02-10 06:55:07 -06:00
Max New
3b2b1fb977
Use disjoint sum in redex production enumerators
2014-02-10 06:55:07 -06:00
Asumu Takikawa
71a20b9b0b
Add doc examples for define/contract
2014-02-09 11:14:50 -05:00
Asumu Takikawa
a84f11f970
Minor wording fix in Guide
2014-02-09 11:14:50 -05:00
Matthew Flatt
416b680d74
scribble/text: add outputable/c
and contract checks
...
The `outputable/c` contract is currently just an alias for
`any/c`, however, because checking the contract seems to be
too expensive.
2014-02-09 06:39:39 -07:00
Robby Findler
eebabe35ce
check context closure language requirements properly
...
closes PR 14346
2014-02-08 22:50:57 -06:00
Robby Findler
5cbca3741f
edit define/contract boundary discussion
2014-02-08 21:16:30 -06:00
Robby Findler
4d12021dbf
disable the new class/c implementation for now
...
the new implementation doesn't provide eq? guarantees
as often as the old one does, so hold off on this until
we can sort that out. Thanks to drdr for pointing out
the problem:
http://drdr.racket-lang.org/28156/pkgs/drracket-pkgs/drracket-test/tests/drracket/teaching-lang-save-file.rkt
2014-02-08 20:42:37 -06:00
Asumu Takikawa
d37158bd76
Add initial prose for define/contract in the Guide
...
This commit adds a few sections that explain some of
the subtleties of nested contract boundaries.
2014-02-08 21:28:45 -05:00
Robby Findler
f26279bfa2
fix bugs in the interaction between subclasses and external class/c contracts
2014-02-08 12:39:02 -06:00
Robby Findler
788ec1d87d
fix interaction of mixins and contracted classes
2014-02-08 09:09:49 -06:00