Commit Graph

22130 Commits

Author SHA1 Message Date
Neil Toronto
8f840bd07b Fixed erroneously imprecise type for +nan.f literal (now Single-Flonum-Nan)
Types for nan?, infinite?, pi.f, exact-round, exact-floor, exact-ceiling,
exact-truncate, degrees->radians, radians->degrees

Extended tc-random-testing: generates exact integers and rationals now

Fixed types of sinh, cosh and tanh to account for underflow and NaNs
2012-06-09 17:46:04 -06:00
Neil Toronto
ddeda70b20 Added to HISTORY.txt
Added (report-errs) to tests/racket/math.rktl
2012-06-09 17:46:04 -06:00
Vincent St-Amour
a89bd99e2a Fix printing of single-precision floats.
If there's already an exponent separator, replace it with f.

Closes PR12836.
2012-06-09 19:35:37 -04:00
Matthew Flatt
5caa114564 fix `print-syntax-width' for +inf.0
Closes PR 12837
2012-06-10 06:58:06 +08:00
Matthias Felleisen
6b2419f100 fixed error messages for create-world 2012-06-09 13:00:09 -04:00
Vincent St-Amour
ede83be3fb Fix docs for unsafe-flmin and unsafe-flmax.
Closes PR12826.
2012-06-09 09:20:55 -04:00
Rodolfo Henrique Carvalho
1b5069f47a Fix minor typo 2012-06-09 09:20:55 -04:00
Robby Findler
81cbb10213 fix docs for render-term
closes PR 12834
2012-06-09 07:12:15 -05:00
Stephen Bloch
c7666c5e4f In addition to providing "provide", I also provide several of its
sub-forms, most usefully "all-defined-out".
2012-06-08 19:44:48 -04:00
Matthew Flatt
815fd1b49c misc changes to speed up doc search generation
Cuts about 30% of the time on my machine.
2012-06-08 16:08:55 +08:00
Matthew Flatt
00e1ed9369 scribble: fix duplicate call to `render-element' callback
This change should cut the time to generate the search index
roughly in half.
2012-06-08 16:08:55 +08:00
Matthew Flatt
fbb6a294f3 local-expand' allows a stop list to have only module*'
That is, when the sto plist contains only `module*', core
forms are not implicitly added to the stop list.
2012-06-08 16:08:55 +08:00
Jay McCarthy
6db5672ac5 Fixes PR12767 2012-06-07 13:44:08 -06:00
Robby Findler
41a890df03 fix bug in the ->i parser (picked up the wrong identifier; wrote #'id when
id wasn't really around anywhere)

closes PR 12829
2012-06-07 10:45:18 -05:00
Vincent St-Amour
0f346601f4 Fix type of n-ary * to handle NaN properly. 2012-06-06 18:26:51 -04:00
Vincent St-Amour
48f47f3384 Fix flonum and single-flonum operation types.
Most issues were found with random testing.
2012-06-06 18:26:51 -04:00
Vincent St-Amour
0b7eaf56ca Fix generation of random floats in TR random testing. 2012-06-06 18:26:51 -04:00
Vincent St-Amour
3e9b527bd0 Fix comment. 2012-06-06 18:26:51 -04:00
Neil Toronto
b7fea6be5a Fixed contracts on exact-round, etc. 2012-06-06 16:16:52 -06:00
Asumu Takikawa
f9ec37bbdd Minor fix in mrlib/hierlist docs 2012-06-06 17:20:15 -04:00
Neil Toronto
e644e6afb1 Documented new additions to racket/math 2012-06-06 11:31:49 -06:00
Neil Toronto
b7ff3eb1fb Made sinh return zero inputs unchanged (fixes failing test case) 2012-06-06 10:52:29 -06:00
Matthew Flatt
d80a49f853 turn on DrDr testing for racket/math 2012-06-06 15:16:52 +08:00
Matthew Flatt
255e3cbe2e another *SL error-rewriting fix
Arity errors no include supplied arguments, but strip them
away for *SL messages.
2012-06-06 13:25:14 +08:00
Matthew Flatt
7a9c8e5d40 racket/gui win32: fix East Asian font problem
When the theme-specified default font has a localized name,
using it as a Pango faily name doesn't work, with the result that
text on controls could be truncated. Get a Pango-friendly
name by converting a LOGFONT to a Pango font description and
getting the name from the font description.
2012-06-06 13:25:14 +08:00
Neil Toronto
a713ca8a8b Added nan?, infinite?, degrees->radians, radians->degrees, exact-round, exact-floor, exact-ceiling, exact-truncate to racket/math
Altered TR's random arithmetic testing to generate single-flonums and very small flonums; fails now because of erroneous types

Fixes to sgn, sinh, cosh, and tanh:
 * preserve single-flonum-ness
 * correct zero sign (-0.0) for negative return values that are smaller than epsilon
 * correct behavior with NaN and infinite inputs
2012-06-05 22:40:44 -06:00
Neil Toronto
c089b2fa50 Use `collection-file-path' to load example image 2012-06-05 11:15:25 -06:00
Matthew Flatt
e44c0809e8 rewrite contract error messages for *SL
The rewrite involves parsing contract expressions and constructing
replacement prose.
2012-06-05 17:53:27 +08:00
Matthew Flatt
3742a9da8f adjust font-substitution hack for Mac OS X 2012-06-05 17:53:26 +08:00
Matthew Flatt
42db3a7516 raco setup: print "nothing to do" to stdout instead of sdterr
Printing to stderr shows through in various ways, such as
when installing a Planet package (where stdout is redirected
and stderr isn't).
2012-06-05 17:53:26 +08:00
Neil Toronto
18fa552723 Finalized and documented flomap transforms and effects 2012-06-04 15:32:17 -06:00
Sam Tobin-Hochstadt
2b9912ea9f Repair failing test case (wrong expected value). 2012-06-04 17:02:19 -04:00
Sam Tobin-Hochstadt
42a2ac6026 Document new TR aliased definitions. 2012-06-04 17:02:18 -04:00
Robby Findler
b5258e0e2b In the multi-file search window, only re-load the file
in the bottom window when it really is a different file
(ie, using a same-file predicate that involves opening
the files and comparing the ports)

closes PR 12635 (hopefully -- if not, then we can reopen)
2012-06-03 17:07:12 -05:00
Sam Tobin-Hochstadt
1801efe66a Whitespace fixes. 2012-06-03 10:50:18 -04:00
Sam Tobin-Hochstadt
cbbd889621 = can equate values with different types.
Closes PR 12804.
2012-06-03 10:50:18 -04:00
Matthew Flatt
cc0b887106 adjust *SL error-message rewriting 2012-06-03 11:09:32 +08:00
Sam Tobin-Hochstadt
8459c22c01 Improve type of identity.
Closes PR 12813.
2012-06-02 18:52:18 -04:00
Sam Tobin-Hochstadt
865a2cdcbd Support definitions of keyword functions in Typed Racket.
Caveats:
 - keyword function definitions do not define static
   bindings, thus limiting optimization opportunities
 - can't use `define:`, `lambda:`, etc with keywords
 - error messages sometimes expose the implementation
 - the optimizer skips most of the generated code for
   keyword functions definitions (user-level code is
   optimized)
2012-06-02 18:22:07 -04:00
Jon Rafkind
244f1cccb7 [honu] fix the pattern form and use quote-syntax to prevent syntaxes from being interpolated too early 2012-06-02 15:33:55 -06:00
Jon Rafkind
2b5e5c5b57 [honu] combine string-append and the evaluator 2012-06-02 15:33:54 -06:00
Jon Rafkind
7dde37bee1 [honu] cleanup - move code to submodules 2012-06-02 15:33:54 -06:00
Jon Rafkind
52047a0474 [honu] pass the original name being defined to get the proper lexical context 2012-06-02 15:33:54 -06:00
Jon Rafkind
241f8e67b4 [honu] analyze macro parameters at phase 2. temporarily break patterns 2012-06-02 15:33:54 -06:00
Jon Rafkind
d688621a18 [honu] use sandbox evaluator to test honu code 2012-06-02 15:33:54 -06:00
Matthew Flatt
c5f821b641 clarifications and additions to style guide 2012-06-03 04:50:06 +08:00
Matthew Flatt
900b66332c adjust `racket/generic' documentation style 2012-06-03 04:50:06 +08:00
Robby Findler
232188e736 adjust the check for multiple-file debugging so that it happens
earlier and thus actually catches multiple files.

Also, Rackety and change a let/cc into a let/ec.
2012-06-02 13:44:27 -05:00
Robby Findler
752f240c6a Revert "Test results from DrDr"
This reverts commit fc8cb6e37d.

Jay changed the set of installed font packages on DrDr to match the
ones on my linux VM which brought the test results back in sync again,
so we don't need these revised bitmaps anymore.

Thanks, Jay!
2012-06-02 10:12:11 -05:00
Robby Findler
058504afbd adjust datalog so that syntax objects are not used as source location
information representation.

This should make datalog work better with compiled files and it
should also avoid an O(n^2) problem in the way it expands
2012-06-02 08:04:45 -05:00
Matthew Flatt
85a2267e6c ffi/unsafe: new error message convention at primitives
Also, fix FFI procedures to preserve names: change `ptr-ref' with
`_fpointer' on an `ffi-obj' value to return the `ffi-obj'
value, so that the name in the `ffi-obj' value can be used
by `_cprocedure'.

Closes PR 12645
2012-06-01 19:03:43 -07:00
Sam Tobin-Hochstadt
c8380b94e5 Remove testing code, and failed experiment. 2012-06-01 20:08:37 -04:00
Jay McCarthy
3348ea1ae2 Fixing racklog tests broken by bf95ee105 2012-06-01 17:33:13 -06:00
Jay McCarthy
7d506713dd Fixing datalog tests broken by bf95ee105 2012-06-01 17:33:13 -06:00
Jay McCarthy
fc8cb6e37d Test results from DrDr 2012-06-01 17:33:13 -06:00
Sam Tobin-Hochstadt
a377c42357 Use the new syntax properties for checking keyword functions.
Previously, some hacks were used to obtain the internal
identifiers that implemented keyword functions directly, and
give them types at startup.  Now, the primary "function"
(eg, `sort`) is given a type, and when used, the residual
syntax properties are used to find `sort` from the real
functions, and then the type of the real function is computed
from the type of `sort`.

Some creativity was required in the types of functions which
take optional arguments that when present, alter the return type,
such as `regexp-match*` and `file->list`.
2012-06-01 18:37:02 -04:00
Sam Tobin-Hochstadt
725854f66c Flag booleans *follow* the arguments for optional keywords. 2012-06-01 14:50:39 -04:00
Eric Dobson
262ecc3da9 Redefine Boolean as (U #t #f).
Closes PR 12815.
2012-06-01 10:26:10 -04:00
Robby Findler
64e4a43c9c fix easter egg test suite for the new error messages 2012-06-01 07:16:14 -05:00
Robby Findler
bf95ee1052 Adjust datalog to cooperate with check syntax a little bit more.
Specifically:
 - make predicate symbols and variables be original (and,
   in the former case, have srclocs)
 - remove the originality in the quoted syntax constants
   that the expansion introduces

I think there is probably something better that should be done
with those introduced syntax constants, possibly relacing
them with #f, or possibly replacing them with source location
lists, but I'm not sure how they are used, so I've just left
them in there.

(Also, very minor Rackety in check syntax)
2012-06-01 04:55:04 -05:00
Robby Findler
7118547c58 adjusted the module-language, pretty-big and r5rs parts of
the drracket language test for the new error messages
2012-06-01 02:36:54 -05:00
Robby Findler
d17f93db30 add PLTJUSTSAVEFAILURES support; makes it easier to build a good
set of bitmaps on others' machines (no clicking required)
2012-05-31 23:27:02 -05:00
Eric Dobson
c2d9f7ed9a Attach struct info to constructor for polymorphic TR structs.
Closes PR 12806
2012-05-31 13:09:26 -04:00
Robby Findler
b7b566aefc adjust redex error message tests to match singular/plural fixes in
the error raising code, except in one place where I think the
error raising code was correct to have the plural form, so I changed
it back instead of changing the Redex test suite to match
2012-05-31 10:56:14 -05:00
Robby Findler
f721c0427d adjust the timeouts to two drracket tests and add a little syncronization help in a third 2012-05-31 10:56:13 -05:00
Matthew Flatt
f10a258dcb ffi/unsafe: fix arithmetic overflow and representation
Thanks to Tobias Hammer for the report and initial repairs.
2012-05-31 09:21:25 -06:00
Matthew Flatt
a7206b1a9f further correction to tests/gracket/blits prop
The test isn't automatic, so don't run it in DrDr.
2012-05-31 09:21:24 -06:00
Eric Dobson
735b84b083 Add support for multiple provides of the same identifier in TR.
Closes PR 12807.
2012-05-31 10:02:03 -04:00
Matthew Flatt
16f0b0c3f0 racket/gui: fix canvas%' implementation on-paint'
Broken in the conversion from `class100'.
2012-05-31 05:56:35 -06:00
Robby Findler
77811e0e95 Adjust how the drracket repl iterates over expressions to make it more
like textual-read-eval-print-loop

There is still a difference, however, because drracket's REPL has a
notion of multiple expressions that are submitted simultaneously that
textual-read-eval-print-loop doesn't. For example, if you type this at
the prompt:

  (car) (+ 1 2)

then textual-read-eval-print-loop will print out the error and then 3,
but drracket will print only the error (ditto if (car) were replaced
by a continuation abort).

This difference is, IMO, a good thing, since it lets you use a single
interaction to do multiple things, but stops as soon as there is an
error. (It is also how drracket has behaved for a long time.)

closes PR 12790
2012-05-30 22:31:55 -05:00
Robby Findler
daa048719a fixed a bug in the ordering of how printing parameters are set up
There was an exception raised and then handled internally when the
slideshow/pict-convert library was loaded; DrRacket loaded this
library during the dynamic-extent of a handler it installed into
the global-port-print-handler, which causes a (non-tail) infinite
loop.
2012-05-30 22:31:55 -05:00
Robby Findler
37ebbfa635 adjust global-port-print-handler's documented contract to match
what it does (and what the text says)
2012-05-30 22:31:55 -05:00
Robby Findler
efd6772e9a adjust repl-test and the module language test for the new error message format 2012-05-30 22:31:54 -05:00
Neil Toronto
331b3b8351 Fixed some transforms, stubbed out docs and examples for the same 2012-05-30 17:31:57 -06:00
Matthew Flatt
e8645598d7 futures: fix bug related to tail calls 2012-05-30 16:20:36 -06:00
Neil Toronto
91579f2a6e Now make-flomap* and effects functions accept (U (Vectorof Real) FlVector) for color instead of just FlVector
New vector-of-component functions: unsafe-flomap-ref*, flomap-ref*, flomap-bilinear-ref*, build-flomap*, inline-build-flomap*;
REPL interaction with -ref* is a bit weird - still need to make flvectors print nicely

Bilinear ref and scaling fix on top and left borders (bad/missing special cases);
Clarified flomap-bilinear-ref docs on extent of interpolated nonzero rectangle

Various doc fixes
2012-05-30 15:05:00 -06:00
Vincent St-Amour
4ad700021b Improve some Performance Report messages. 2012-05-30 16:25:33 -04:00
Vincent St-Amour
84c6fe1522 Don't index some subsubsections of the text editor docs.
Closes PR 12801.
2012-05-30 16:25:33 -04:00
Neil Toronto
c05c45e0e9 Fixed whirl morph test 2012-05-29 18:08:48 -06:00
Neil Toronto
c7bea1dfcd images/flomap: public interface to floating-point bitmaps used by ray tracer 2012-05-29 17:51:19 -06:00
Justin Slepak
2f23f1b6b3 Allow vector-append to take zero arguments
Makes vector-append behave more like append, sequence-append, etc.
2012-05-29 16:56:38 -04:00
Matthew Flatt
74844152bc fix load handlers to match docs on parameters
Problems exposed by setting `read-accept-lang' to #f.
2012-05-29 13:57:32 -06:00
Matthew Flatt
a95739821b fix props for one test 2012-05-29 13:57:32 -06:00
Matthew Flatt
e9070f89c7 terminology correction 2012-05-29 13:57:32 -06:00
Jay McCarthy
50ca12201d Fixing 482214e 2012-05-29 13:39:37 -06:00
Jay McCarthy
4f8e1df169 Fixing error introduced by 9e7548de 2012-05-29 13:39:37 -06:00
Jay McCarthy
38ae869d66 Fixing error introduced by 9e7548de 2012-05-29 13:39:37 -06:00
Jay McCarthy
4d829b8322 Fixes PR12799, but it would be cool to support syntax/parse directly 2012-05-29 13:39:37 -06:00
Matthew Flatt
248301c9ed disable nested `#lang'
A `syntax/module-reader' reader disables `#lang' when looping to
read a module body. The HtDP languages require a little additional
treatment.
2012-05-29 11:01:52 -06:00
Matthew Flatt
def4da4f9a doc fix
Closes PR 12796
2012-05-29 11:01:52 -06:00
Matthew Flatt
26269c329e racket/base: add some missing predicates
The new predicates are `progress-evt?' `thread-cell-values?',
`prefab-key?', `semaphore-peek-evt?', and `channel-put-evt?'.
These were used internally, and now they appear in contract
error messages.
2012-05-29 11:01:52 -06:00
Matthew Flatt
b098ca7aa6 slideshow: run a slideshow' or main' submodule, if any
A common Slideshow pattern is to put a subset of slides in its
own module with a `run-slides' function, and then you'd
(un)comment a `(run-slides)' call at the end of the module to
work on the subset by itself. Now, you can write
`(module+ main (run-slides))' atthe end of the module and not
have to comment it out. Adding `main' support to the `slideshow'
executable makes it more consistent with using `racket' directly.
Checking first for a `slideshow' submodule makes it possible
for `slideshow' and `racket' to do different things, in case
that's useful.
2012-05-29 11:00:43 -06:00
Matthew Flatt
0c303ca9cd racket/cmdline add `#:ps' clause 2012-05-29 11:00:43 -06:00
Matthias Felleisen
f1c1376d87 added 'range' to *sl per jpr's request and #lang-ified a couple of files 2012-05-29 12:00:27 -04:00
Matthew Flatt
2fcb635790 raco exe: checks on source and destination paths
Disallow creating a launcher whose source is the launcher itself,
for example.
2012-05-28 20:30:58 -06:00
Matthew Flatt
6fded4bac1 syntax/free-vars: fix quadratic behavior
(Forgot to fix the "FIXME" before committing last time.)
2012-05-28 20:22:31 -06:00
Matthew Flatt
ee93e35260 syntax/free-vars: deterministic result order
Closes PR 12798
2012-05-28 20:15:43 -06:00
Jay McCarthy
211e869fe1 Supporting methods in web-server/dispatch 2012-05-28 14:13:19 -06:00
Jay McCarthy
8b035f3c73 Fixing PR12779 2012-05-28 11:52:56 -06:00
Jay McCarthy
391754a337 Fixing commit message display re newlines re Robby 2012-05-28 11:52:56 -06:00
Jay McCarthy
c75360957c Attempt to clarify docs for PR12793 2012-05-28 11:52:56 -06:00
Robby Findler
e08c1f3ad1 adjust and add "docs" to img-eval.rkt for Matthias's consumption 2012-05-28 10:58:40 -05:00
Matthew Flatt
99635ab091 change `impersonate-struct' to require evidence that a field is mutable
When supplying an accessor to redirect, either the corresponding field
must be accessible through the current inspector, or a mutator for
the same field must be redirected, too.

Stevie realized that we need this constraint; otherwise, impersonators
can implement mutator-like behavior even when the mutator is otherwise
secret.
2012-05-27 15:37:45 -06:00
Matthew Flatt
73ce5a4767 racket/serialize: fix for submodules
Closes PR 12795
2012-05-27 14:39:51 -06:00
Matthew Flatt
a137459b65 more error-message conversions and repairs 2012-05-27 11:29:21 -06:00
Matthew Flatt
6eeb8fccbd more error-message conversion 2012-05-27 09:03:19 -06:00
Matthew Flatt
00ef7da640 racket/draw: background and text colors in `record-dc%'
Also, improve docs to clarify how the recorded settings interact with
the target DC's settings.
2012-05-27 06:38:30 -06:00
Matthew Flatt
8ab87a9fcc racket/class: new error message convention 2012-05-26 21:08:21 -06:00
Robby Findler
0456d5e4e5 exploit record-dc% to keep picts from drawing outside
of their bounding boxes
2012-05-26 21:39:11 -05:00
Matthew Flatt
a55a20f9d9 sgl/gl: NURBS additions
From Antonio Menezes Leitao based on Ben Goetter's implementation
2012-05-26 19:55:21 -06:00
Matthew Flatt
58db5f8b46 racket/gui: implement set-clipboard-bitmap' in clipboard<%>'
Closes PR 12689

Cocoa implementation provided by Jens Axel Søgaard
2012-05-26 19:42:48 -06:00
Asumu Takikawa
8a52613463 racket/gui: remove empty modules 2012-05-26 16:45:00 -04:00
Asumu Takikawa
a38e6a19ab racket/gui: fix a mzscheme->racket/base issue 2012-05-26 16:23:30 -04:00
Asumu Takikawa
81d13ee7ed racket/generic: doc improvements 2012-05-26 13:53:43 -04:00
Asumu Takikawa
05394aff7e Remove mred/private/kw.rkt
This handled init argument inheritance for class100, but
all uses of it have now been removed.
2012-05-26 11:12:56 -04:00
Asumu Takikawa
cfe1711494 Convert all uses of mzlib/class100 to racket/class 2012-05-26 11:12:55 -04:00
Asumu Takikawa
6341fe7e01 Remove gracket test that does not run.
The file is written in mzscheme or pre-mzscheme and
tries to load files that no longer exist.
2012-05-26 11:12:55 -04:00
Vincent St-Amour
3062efe47f Reduce random testing attemps to avoid DrDr timeouts. 2012-05-26 11:06:29 -04:00
Matthew Flatt
b5ab6cec7e fix misc tests for error-message change 2012-05-26 08:18:19 -06:00
Matthew Flatt
413c940fe6 update HtDP *SL tests for revised error-message convention
This change does not yet update the *SL error-message rewriter
to recognize the new error-message formats; the tests do not
currently use the rewriter. A next step is to decide on the
rewritings, implement them, change the test suite to use the
rewriter, and test the rewritings.
2012-05-26 08:05:12 -06:00
Matthew Flatt
5b80fd37c7 racket/gui win32: fix screen info to not assume main is first
Thanks to Kieron Hardy for tracking down the problem.
2012-05-26 07:38:24 -06:00
Matthew Flatt
09cb2a348f ffi/com: add 'variant type description
Used to prevent extra array dimensions and instead construct nested
arrays.
2012-05-26 06:38:02 -06:00
Matthew Flatt
b7a8c0185b correct a `raise-argument-error' conversion mistake 2012-05-25 18:37:29 -06:00
Matthew Flatt
f00c1150fe adjust `raco setup' replay of exception messages to handle multiple lines 2012-05-25 18:37:29 -06:00
Matthew Flatt
d6774d5d54 racket/sandbox: add sandbox-propagate-exceptions 2012-05-25 18:37:29 -06:00
Vincent St-Amour
263016f6f3 Fix types in the images collection to work with TR's handling of NaN. 2012-05-25 17:15:22 -04:00
Vincent St-Amour
142158c0cb Add random testing script for float types. 2012-05-25 17:15:22 -04:00
Vincent St-Amour
186b463217 Fix NaN and inf handling in flonum specific op types. 2012-05-25 17:15:22 -04:00
Vincent St-Amour
ebcc6d211a Fix handling of NaN and infinities.
Most of these were found through random testing.
2012-05-25 17:15:22 -04:00
Vincent St-Amour
b6a7a0c505 Add reminder that unsafe-flexpt is currently the same as flexpt. 2012-05-25 17:15:22 -04:00
Matthew Flatt
9e7548de61 new error message convention
Add `raise-argument-error', `raise-result-error', `raise-arguments-error',
and `raise-range-error'.

The old convention was designed for reporting on a single (sometimes very
long line). The new convention is

 <name>: <short message>
   <field>: <detail>
   ...

If <detail> is long or itself spans multiple lines, then it may
also use the form

   <field>:
    <detail>

where each line of <detail> is indented by 3 spaces.

Backtrace information is shown as a multi-line "context" field.
2012-05-25 15:08:05 -06:00
Matthew Flatt
9b7ef7bf69 scribble/eval: fix error line wrapping
The `wrap-line' function from `scribble/text/wrap' wants a
string that's a single line, so break the initial string
based on explicit lines, first.
2012-05-25 12:47:39 -06:00
Matthew Flatt
e334632ffc slideshow/pict: fix clipping problem with `standard-fish' 2012-05-25 12:47:39 -06:00
Robby Findler
7156b0391b fix the contract context messages for the case of ->*'s #:rest arguments 2012-05-25 09:14:09 -05:00
Neil Toronto
eeb3da0c23 Changed macros into functions + begin-encourage-inline; drops a few seconds from `images' compile, no measured performance penalty 2012-05-25 14:16:19 +09:00
Neil Toronto
50ad8dac1f When plot-new-window?' is #t, plot' and `plot3d' now create a frame in a new eventspace. This allows plot frames to be displayed programmatically. (Without this change, the frames are unresponsive until the REPL regains control.) 2012-05-25 13:11:46 +09:00
Neil Toronto
ee95182386 Made (require plot) more obvious in the plot introduction (suggested by Jens Axel Søgaard)
Mentioned (plot-new-window? #t) early in the introduction

Increased drdr:timeout for plot.scrbl
2012-05-25 11:33:50 +09:00
Neil Toronto
365ee2c70d 1d, 2d and 3d function renderers no longer sample outside the function's bounds
This makes it more efficient to plot piecewise functions by drawing each piece with one renderer, and possible to plot functions with discontinuities by using a renderer to draw each continuous piece.
2012-05-25 10:40:05 +09:00
Vincent St-Amour
cee88f05dd Docs for gen:custom-write. 2012-05-24 16:51:14 -04:00
Vincent St-Amour
13b82e9a59 Reorder docs. 2012-05-24 16:51:14 -04:00
Asumu Takikawa
a22633e348 Rename generics => generic. 2012-05-24 16:51:14 -04:00
Vincent St-Amour
11dc825126 Forge gen:equal+hash and gen:custom-write to provide them from racket/base. 2012-05-24 16:51:13 -04:00
Vincent St-Amour
c21813cebf Add gen:custom-write.
No docs yet.
2012-05-24 16:51:13 -04:00
Vincent St-Amour
3210cd1d12 Remove vestigial set of parens and fix docs for new syntax. 2012-05-24 16:51:12 -04:00
Vincent St-Amour
94bd484a66 Resolve collision between class generics and struct generics. 2012-05-24 16:51:12 -04:00
Vincent St-Amour
02055aa1b3 Add remark about auxiliary definitions in method blocks. 2012-05-24 16:51:12 -04:00
Vincent St-Amour
dd05d6e6bc Make original generics tests quiet. 2012-05-24 16:51:11 -04:00
Vincent St-Amour
f42ae56893 Trailing whitespace. 2012-05-24 16:51:11 -04:00
Vincent St-Amour
390cd02b52 Have a generic interface for equal+hash.
Currently provided by racket/struct, for lack of a better place.
2012-05-24 16:51:11 -04:00
Vincent St-Amour
cc7ae795ea Remove the coercion function code.
Didn't turn out to be useful.
2012-05-24 16:51:10 -04:00
Asumu Takikawa
44783b9f8e Add tests from unstable/generics. 2012-05-24 16:51:10 -04:00
Asumu Takikawa
8ac82eaf58 Use simplified interface for define-generics
Also removed `generics`
2012-05-24 16:51:09 -04:00
Vincent St-Amour
f11861f60a Have method definitions be its own keyword in the struct form.
Struct properties are hidden from users.
2012-05-24 16:51:08 -04:00
Vincent St-Amour
3bfaa2b00b New naming convention for generics names. 2012-05-24 16:51:07 -04:00
Asumu Takikawa
f866e34b26 Expand documentation on sequence/stream extension 2012-05-24 16:51:06 -04:00
Vincent St-Amour
08cd358300 Add iterators as tests for generics.
Equivalent to streams, so not useful to provide.
2012-05-24 16:50:46 -04:00
Asumu Takikawa
ec2563fdd3 Add comment about coerce-method-table 2012-05-24 16:50:45 -04:00
Vincent St-Amour
1a42772c02 props 2012-05-24 16:50:45 -04:00
Asumu Takikawa
3a93df5566 Use racket/generics for extensions to racket/stream 2012-05-24 16:50:44 -04:00
Vincent St-Amour
0b0473d228 Allow generics to be attached to existing struct properties. 2012-05-24 16:50:44 -04:00
Vincent St-Amour
991cb5f371 Hide #:coerce-method-table from the public generics API. 2012-05-24 16:50:43 -04:00
Vincent St-Amour
8997379f35 Split interface and implementation of the generics library. 2012-05-24 16:50:43 -04:00
Vincent St-Amour
d5de436b9c Add a pointer to generics in the struct property docs. 2012-05-24 16:50:42 -04:00
Vincent St-Amour
448ad27a37 Move generics to racket/generics.
After discussion with Eli.
2012-05-24 16:50:42 -04:00
Vincent St-Amour
1180a95c60 props 2012-05-24 16:31:32 -04:00
Vincent St-Amour
e7e66ce41c Implement coercion for method tables.
For backwards compatiblity, method tables can be generated from old APIs.
2012-05-24 16:31:32 -04:00
Vincent St-Amour
a68242e4eb Implement ordered dicts in terms of generics. 2012-05-24 16:31:32 -04:00
Vincent St-Amour
17bb9073b9 Document new dict extensibility API. 2012-05-24 16:31:32 -04:00
Vincent St-Amour
ff416ca2ac Remove dead code in racket/private/dict. 2012-05-24 16:31:32 -04:00
Vincent St-Amour
1ec2bc0ea4 Add tests for generics. 2012-05-24 16:31:31 -04:00
Vincent St-Amour
c29a65485e Update generic docs to explain the optional defined-table argument. 2012-05-24 16:31:31 -04:00
Vincent St-Amour
36980c262f unstable/generics: define-methods' -> methods'
`define-methods' is a bad name for an expression form.
2012-05-24 16:31:31 -04:00
Asumu Takikawa
e4a3001af6 Reimplement racket/dict using generics. 2012-05-24 16:31:31 -04:00
Asumu Takikawa
e3b7640528 Let provider of generics check if a method exists
This change adds an additional argument to define-generics
that binds a procedure to check if a given method is defined
for an instance of the generic.
2012-05-24 16:25:09 -04:00
Asumu Takikawa
518bf0fd30 Move unstable/generics to generics. 2012-05-24 16:25:09 -04:00
Eli Barzilay
a3ad719b52 Leftover file that wasn't added with the `tests/profile' refactoring. 2012-05-24 11:53:03 -04:00
Eli Barzilay
8fc49d41cf Improved bash completion script.
Warning: I tried a bunch of things and it looks like it works, but I'm
not using bash regularly so there might be some problems in this.
Committing by request of the bashers.

It would still need some work to make it work as (I think) was intended.
For example _find_exe() should be used to find the current executable
when completing, but it's used at the toplevel.
2012-05-24 11:48:35 -04:00
Eli Barzilay
6260b4c239 Streamline more test suits. 2012-05-24 11:27:13 -04:00
Eli Barzilay
482214e053 Skip some "tests/*/main.rkt" in drdr.
These files are invoking tests that are implemented in other files.
2012-05-24 10:52:00 -04:00
Eli Barzilay
f55eba70c0 Just have string-replace' now, with an #:all?' keyword (defaulting to #t). 2012-05-24 10:40:20 -04:00
Eli Barzilay
37a1c0af91 Add string-replace' and string-replace*'.
Committed as a checkpoint, since I convinced myself that a single
function with a keyword is better, given that the rest of the simplified
functions operate on the whole string.
2012-05-24 10:40:20 -04:00
Eli Barzilay
784857e9fa Add `string-split'. 2012-05-24 10:40:20 -04:00
Eli Barzilay
dcf2754a57 Clarify `regexp-split' on an empty input.
The text that says that (regexp-split #rx"whatever" "") returns '("")
rather than '() is

  If `input' contains no matches [...] the result is a list containing
  input’s content [...] as a single element.

This is a little implicit, if you consider such an input as having
nothing left to match over so it's as if there is no input (with a port
this confusion is a little clearer).

Clarify with an example in the docs, and also add tests.
2012-05-24 10:40:20 -04:00
Eli Barzilay
6318df82e5 Drop the now-redundant " " argument from existing uses of `string-join'. 2012-05-24 10:40:20 -04:00
Eli Barzilay
29beae55c1 Redo string-trim' and string-normalize-spaces'.
This is following the mailing list discussion.  In addition get
`string-join' more in-line with these by making its `sep' argument
default to a space.
2012-05-24 10:40:20 -04:00
Asumu Takikawa
abf9223203 TR: Fix type-checking of hash literals. 2012-05-23 15:49:38 -04:00
Asumu Takikawa
94545a7cd7 Fix doc breakage.
`abstract` from racket/class conflicted with `abstract`
in scribble paper modules.
2012-05-22 19:55:44 -04:00
Asumu Takikawa
9400432903 Fix class construction bug introduced by abstracts
Merging changes with interface contracts introduced
a bug due to a missing argument to class-make.
2012-05-22 18:34:45 -04:00
Asumu Takikawa
150548dc78 Better error message for abstract classes. 2012-05-22 16:00:54 -04:00
Asumu Takikawa
f4f6f8c52c For abstracts, the super method just calls void.
Since mixins rely on super calls to possibly abstract
methods, we want to ensure that the super call will not
error when it gets to an abstract method. However,
external method calls should still raise an error for
abstract methods.
2012-05-22 16:00:42 -04:00
Asumu Takikawa
11c589af31 Put dummy method for abstracts in the right place.
Also, the dummy method should be variadic.
2012-05-22 16:00:41 -04:00
Asumu Takikawa
6059c51b56 Don't allow internal names for abstract methods. 2012-05-22 15:59:17 -04:00
Asumu Takikawa
b50a2c7518 Add documentation for abstract clause. 2012-05-22 15:59:16 -04:00
Asumu Takikawa
ef3abb3a72 Add tests for abstract methods. 2012-05-22 15:59:16 -04:00
Asumu Takikawa
06091079b1 Add abstract methods to the class system. 2012-05-22 15:58:26 -04:00
Asumu Takikawa
be9faeac65 Minor fix in Guide section on contracts
Reported by Shambles
2012-05-22 10:50:46 -04:00
Matthew Flatt
9bdb47bba0 racket/draw: fix bad interaction of path drawing and gradient brushes 2012-05-22 06:20:54 -04:00
Matthew Flatt
5962e542f7 slideshow: add `slide->pict' 2012-05-22 06:20:54 -04:00
Stevie Strickland
1eec136c3f Use coerce-contract when building interfaces with contracts. 2012-05-21 16:32:17 -04:00
Sam Tobin-Hochstadt
952af2fa2d Add \bot as alias for \perp in DrRacket (both are supported in LaTeX). 2012-05-21 15:55:07 -04:00
Kevin Tew
83c26eef4b [Distributed Places] a few of Eli's documentation suggestions 2012-05-20 22:50:58 -06:00
Matthew Flatt
562fa3c6b9 add some missing acks 2012-05-20 21:15:06 -06:00
Matthew Flatt
2d7521c78c racket/place/distributed: fix doc problems
Various repairs --- especially to avoid duplicated prose.

Instead of

 @(define explain @t{Long explanation about X...})

 @defproc[(a ....) ....]{ .... @|explain| }
 @defproc[(b ....) ....]{ .... @|explain| }
 @defproc[(c ....) ....]{ .... @|explain| }

write

 @defproc[(a ....) ....]{ .... Long explanation about X ... }
 @defproc[(b ....) ....]{ .... X is like @racket[a].  }
 @defproc[(c ....) ....]{ .... X is like @racket[a].  }

Otherwise, a reader is forced to reverse-engineer the
abstraction underlying `a', `b', and `c'.
2012-05-20 14:11:17 -06:00
Matthew Flatt
1ee2b6a522 slideshow: add current-gap-size' and some #:gap-size' arguments 2012-05-20 13:39:08 -06:00
Matthew Flatt
ed6c08f548 dependency-cycle detection in parallel `raco setup' 2012-05-20 10:57:54 -06:00
Matthew Flatt
a39d16fab4 doc layout repair 2012-05-20 07:39:05 -06:00
Matthew Flatt
ec85dd913d fix Scribble module languages to allow submodules
That is, recognize `module' and `module*' as top-level forms.
2012-05-20 07:39:05 -06:00
Asumu Takikawa
a00cd7ebff Remove drracket/private/module-interface.
With permission from Jon Rafkind.
2012-05-18 16:05:26 -04:00
Mike Sperber
f34258e253 Bump timeout for test-engine-test.rkt to 8 minutes.
DrDr keep going over.
2012-05-18 19:59:43 +02:00
Robby Findler
9d000cdd1a added thermometer 2012-05-18 10:48:24 -05:00
Robby Findler
3aa300c2d9 update the mac os x bitmaps for the redex bitmap test suite
(just like the recent commit that updates the unix versions)
2012-05-18 10:43:52 -05:00
Robby Findler
fc3f4e675f added a ``dissection'' of a contract error message to the Guide
closes PR 12738
2012-05-18 09:13:58 -05:00
Robby Findler
67c48d6d78 Commit b3002cfab0 broke
the redex bitmap test cases (in a good way!). Hopefully
this fixes them and makes DrDr happy again
2012-05-18 09:01:38 -05:00
Asumu Takikawa
6cead90c1f Fix bug in method concretization for interface ctcs
There was a bug (unrelated to the last) caused by a
bad mutation of a method table when creating copies of
classes for interface contracts.
2012-05-18 00:17:54 -04:00
Asumu Takikawa
9d5aa5eec5 Fix a bug with class/c & interface ctc interaction
Method concretization did not occur properly when particular
class contracts were applied along with interface contracts.
2012-05-17 22:36:48 -04:00
Matthew Flatt
d430656a03 slideshow/pict: for `text' in caps mode, kern captials with following 2012-05-17 16:21:27 -06:00
Matthew Flatt
b7d5aed8d7 add "alias" and "converted-arguments-variant" properties
The properties appear in the inlining expansion of an application
of a keyword-accepting function, and they're mainly intended for
use by Typed Racket.

The property keys are hidden, so that the property value can be
trusted as originating from `racket/base'. The accessor functions are
`syntax-procedure-alias-property' and
`syntax-procedure-converted-arguments-property' from
`racket/keyword-transform'.
2012-05-17 10:58:22 -06:00
Jay McCarthy
aa3b849382 Each file gets its own tmp dir 2012-05-17 10:29:55 -06:00
Jay McCarthy
e12e559878 Fix breakage from 3fceae2715 2012-05-17 10:29:55 -06:00
Jay McCarthy
b752d2e09a Only repair the big archives 2012-05-17 10:29:55 -06:00
Jay McCarthy
7148cdf7f0 New archives, smaller 2012-05-17 10:29:55 -06:00
Jay McCarthy
14edb40d94 Start improving file system usage 2012-05-17 10:29:55 -06:00
Matthew Flatt
9093acbfb8 fix non-portable test 2012-05-17 08:40:34 -06:00
Matthew Flatt
3a46b5dd08 win64: glib DLL depends on libintl
This dependency was previously accidentally satisfied due to
the load order of modules (which recently changed).
2012-05-17 08:37:05 -06:00
Matthew Flatt
0695c63cb1 hack `directory-list' to avoid confusing Typed Racket
(hopefully temporary)
2012-05-16 18:29:16 -06:00
Matthew Flatt
662ede2bd2 Revert "work around an internal module-instantation bug"
This reverts commit bd75b17a23.

It would be fine to leave the commit as-is, but I'm reverting to
make clear (and as a backup test) that the internal bug is fixed.
2012-05-16 10:41:31 -06:00
Matthew Flatt
ca33321aa7 fix phase-shifted compile-time use of `variable-reference->namespace' 2012-05-16 10:41:09 -06:00
Stevie Strickland
3dcc8ec92f "broke it's contract" -> "broke its contract" 2012-05-16 11:44:09 -04:00
Matthew Flatt
bd75b17a23 work around an internal module-instantation bug
Tracking down the bug is taking a while, so I'm pushing a workaround
for now.
2012-05-16 09:43:23 -06:00
Matthew Flatt
3fbbf7cf94 add note about find-executable-path' to subprocess', etc. 2012-05-16 09:43:23 -06:00
Matthew Flatt
65313a82a7 add a #:build?' argument to directory-list' 2012-05-16 09:43:23 -06:00
Matthew Flatt
3a9f8eea4f racket/gui cocoa: fix internal ObjC class names
"My" -> "Racket". The "My" prefix was from initial experiments,
of course, and I just never got around to changing it before.
I think these names go into a global namespace, though, at the
ObjC level, so they need to have a distinct and Racket-specific
prefix.
2012-05-16 09:43:23 -06:00
Stevie Strickland
3d8c1e200a Fix unit contract tests to cope with contract error message changes. 2012-05-16 11:37:41 -04:00
Matthew Flatt
b0409dd232 racket/gui cocoa: fix floating-window event handling
Closes PR 12754
2012-05-16 08:00:50 -06:00
Matthew Flatt
d5b17210e3 racket/gui cocoa: fix 'no-sheet style for `dialog%' 2012-05-16 07:34:44 -06:00
Matthew Flatt
985eecbed7 racket/gui cocoa: fix initial eventspace hook 2012-05-16 07:21:55 -06:00
Matthew Flatt
9270936a28 instantiate require'd modules in the order that they are require'd
This order is now specified, whereas the order was previously unspecified,
and the previous reverse order was an artifact of the implementation.
2012-05-16 07:12:27 -06:00
Matthew Flatt
68029b4ade raco decompile: show `require's 2012-05-16 07:12:26 -06:00
Robby Findler
3fceae2715 adjusted the contract error messages so that the words expected/promised
are switched in and out based on the sense of the blame (similar to a recent
change that made given/produced swap in and out)
2012-05-15 22:08:42 -05:00
Robby Findler
dfa0305bb3 fix interaction between the framework's first-line-mixin and
line-numbers mixin

Specifically, when both are turned on, the #lang line now shows
the line number and shifts the "#lang ..." over to the same spot
where it is drawn when the first line is natually visible

Also, rackety
2012-05-15 22:08:42 -05:00
Matthew Flatt
e8d7b8696e doc fix
Closes PR 12772
2012-05-15 20:13:12 -06:00
Matthew Flatt
b5ce4f281d fix example
Closes PR 12723
2012-05-15 20:11:42 -06:00
Matthew Flatt
0c95475f4f fixes for `scribble/srcdoc'
Use the new `relative-in' form to make imports
resolve correctly when they are shifted among modules.
2012-05-15 20:03:41 -06:00
Matthew Flatt
e35337dcfd add `relative-in' 2012-05-15 20:03:41 -06:00
Neil Toronto
0c6719319f Fixed ellipses in scaled icons after fix to draw-ellipse in commit 1432912357 (mflatt); had been relying on earlier buggy behavior 2012-05-15 11:19:05 -06:00
Matthew Flatt
ca2659698e fix binding-to-symbol module path translation for `submod' 2012-05-14 21:57:10 -06:00
Matthew Flatt
1067aa59e3 fix docs for `syntax-local-module-exports' 2012-05-14 21:57:10 -06:00
Matthew Flatt
a4bd18ff01 fix `syntax-local-module-exports' to work with submodules 2012-05-14 21:57:10 -06:00
Matthew Flatt
0653d1c966 add `syntax-local-submodules' 2012-05-14 21:57:09 -06:00
Matthew Flatt
cee18bd887 fix expansion state on `provide' transformer exception 2012-05-14 21:57:09 -06:00