Commit Graph

1538 Commits

Author SHA1 Message Date
Eli Barzilay
7738f21a5b Move the srfi references to the section ends. 2012-05-09 04:11:17 -04:00
Eli Barzilay
f1a7517ab6 Adds note about `system*' output.
(Slightly revised by Eli.)
2012-05-09 03:48:55 -04:00
Michael W
267a009e03 Adds note about system* output. UNTESTED 2012-05-09 02:46:33 -04:00
Asumu Takikawa
a8994c7261 Revert "Add contract-add-context to contract system."
This reverts commit f3b687c8ed.

After discussion with Robby and Stevie, we concluded that
this procedure isn't necessary for now. If we ever think
of more examples where it's useful we can bring it back.
2012-05-08 12:58:49 -04:00
Matthew Flatt
9a41129c69 racket/flonum: add `flexpt' 2012-05-07 20:41:14 -06:00
Ryan Culpepper
eb3dce14cd fix some doc contracts for submodules 2012-05-07 14:46:13 -06:00
Ryan Culpepper
6c6fa36c8c add srfi links 2012-05-07 14:46:13 -06:00
Robby Findler
5996e8f480 finish up struct/dc 2012-05-07 10:36:44 -05:00
Robby Findler
64603d0c27 adjust the opter protocol so that opters can say either: "yes this is
a chaperone contract", "no it definitely isn't" or "evaluate this code
at runtime to find out"; previously only the first two options
were available to opters

(this commit also includes other tweaks here and there so won't stand alone)
2012-05-07 10:36:44 -05:00
Robby Findler
04017d83d5 start adding struct/dc contracts 2012-05-07 10:36:39 -05:00
Asumu Takikawa
6f4ad1de25 Add contracts to interface syntax & structures 2012-05-04 17:24:55 -04:00
Jose Antonio Ortega Ruiz
6f0e79feff Fixes for trivial typos in Reference sec. 1.2.
(Eli: Ancient commit on the mailing list that wasn't merged...  Most
things were already fixed.)

Signed-off-by: Jose Antonio Ortega Ruiz <jao@gnu.org>
2012-05-04 17:24:07 -04:00
Asumu Takikawa
f3b687c8ed Add contract-add-context to contract system.
This procedure is used to add blame contexts to an
existing contract. This prevents the need to re-create
the contract in order to add blame contexts.
2012-05-04 02:52:46 -04:00
Matthew Flatt
4292c6e037 fix docs for `box-cas!', fix JITted version to check mutability 2012-05-03 21:38:36 -06:00
Matthew Flatt
23d46620f2 documentation tweaks 2012-05-03 19:22:46 -06:00
Aaron Turon
868dcb6d57 Add box-cas!' and unsafe-box*-cas!'.
These primitives atomically update a box to a new value, as long
as the current value is the same as a provided value.  They also
are future-safe.

When futures are enabled, they use low-level hardware instructions
to perform the change atomically.
2012-05-03 19:19:24 -06:00
Matthew Flatt
1b0f6cc995 doc repair
Closes PR 12708
2012-05-03 11:11:38 -06:00
Eli Barzilay
ed2b579e3c Fail early on a non-pair input to `list-ref'.
There's no index that works with non-pairs, and the generic error
message in such cases is confusing.

Closes PR12740.
2012-05-03 10:24:05 -04:00
Asumu Takikawa
db02ad9b75 Add pointers to the Guide in Reference docs. 2012-05-01 14:57:14 -04:00
Vincent St-Amour
cda496d4ed Doc fixes.
One is from Eric Hanchrow.
2012-04-30 14:13:32 -04:00
Matthew Flatt
a8ca75b773 fix documentation example for `protect-out'
The example relied on the current code inspector affecting
syntax object created during `eval', but since the switch
from certificates to taints, the relevant code inspector is
determined by the namespace, and a namespace gets its code
inspector at creation time.

Closes PR 12717
2012-04-25 19:54:00 -06:00
Matthew Flatt
9ba663aa77 preserve submoduleness in module path index for expanded submodules
The preserved path is exposed by a new `module-path-index-submodule'
function, and `module-path-index-join' now accepts an optional
submodule path.

Also, fixed a problem with `collapse-module-path-index' when
a module path indx is built on a resolved module path that
is a submodule path.

In addition to the main repair, `collapse-module-path[-index]' is
correctly documented to allow '(quote <sym>) rel-to paths.

Finally, `collapse-module-path-index' changed to use a symbolic
resolved module path that appears as the base of a module path
index, rather than falling back to the given rel-to path. It's
possble that the old beavior was intentional, but it wasn't tested,
and it seems more likely to have been a bug.

Closes PR 12724
2012-04-24 21:10:28 -06:00
Robby Findler
17a723a63e Improve the contract error messages:
- add context information, so we can see which part of the contract failed
 - re-arrange some of the information in the contracts
2012-04-21 16:55:03 -05:00
Eli Barzilay
6f215759ae Add string-trim' and string-normalize-spaces'. 2012-04-19 16:02:03 -04:00
Matthew Flatt
659ff05143 refine some contracts related to submodule paths
Merge to 5.3
2012-04-19 12:45:28 -06:00
Stevie Strickland
95d784db84 Fix a ->d contract example in the reference. 2012-04-18 17:42:14 -04:00
Eli Barzilay
1c9de39348 Rename #:gap-select' -> #:gap-select?' and some minor doc fixes. 2012-04-17 15:56:10 -04:00
Matthew Flatt
2d6073f59f docs: will executors are synchronizable events
Merge to 5.3
2012-04-15 05:37:35 -06:00
Robby Findler
5e03c7cf99 Added struct/dc and cleaned up a bunch of stuff in the contract
library (mostly in opt/c)

Specifically:

- add inlining declaration for ->i helper function

- modernized the opt/c contracts and improved them so that mutually
  recursive define-opt/c functions recognize each other instead of
  bailing out to the slow path.

- added =/c as an optimized contract

- improve the error message for the between and comparison opt
  contracts

- adjust the blame struct so the name is created lazily, since opt/c
  contracts just stick a copy o the contract into the thunk that
  creates the name and we don't want to run those effects twice if we
  can help it.
2012-04-12 22:49:50 -05:00
Sam Tobin-Hochstadt
fdb70316f1 Fix documentation for `implies'. 2012-04-12 16:28:52 -04:00
Kevin Tew
823c091e8b [Distributed Places] cleanup docs 2012-04-09 13:15:00 -06:00
Matthew Flatt
f968ca3db6 add `gc-info' to doc index 2012-04-08 17:16:36 -06:00
Matthew Flatt
971bee1d4b fix docs for `dump-memory-stats' 2012-04-06 18:51:10 -06:00
Robby Findler
483dde9ea8 add keywords as values that coerce into contracts
adjust 'one-of/c' and 'symbols' so they just use or/c (when possible)

improve or/c's stronger check so that, in the case that or/c is
getting eq or equal contracts, or/c's stronger check is as good as
'symbols'/'one-of/c's stronger check is.
2012-04-06 16:21:07 -05:00
Matthew Flatt
c83df32440 try to improve docs for `make-keyword-procedure' 2012-03-31 07:45:53 -06:00
Kevin Tew
f777020eef [Distributed Places] Renamed uses of vm to node, removed export of coercion functions 2012-03-30 11:58:39 -06:00
Matthew Flatt
dfca7d89d9 documentation clarification 2012-03-29 06:46:58 -06:00
Kevin Tew
7fde2894d1 Distributed place cleanup due to feedback from Matthew
Removed use of (get-current-module-path)
Removed /2s
Removed use of vm and compute adjetives
2012-03-28 18:53:37 -06:00
Matthew Flatt
ae89e210fb allow (submod "..")' as a shorthand for (submod "." "..")'
Also, `(submod ".")' is allowed as a module path; it's not useful,
but it makes the grammar slightly more regular.
2012-03-22 18:43:11 -06:00
Matthew Flatt
876bc6f02b doc corrections and improvements related to submodules
In particular, add `module+' to the Guide.
2012-03-22 15:12:55 -06:00
Robby Findler
f77467311a specify 'angle's range 2012-03-21 16:59:53 -05:00
Matthew Flatt
5551e287da fix typo 2012-03-19 14:34:33 -06:00
Matthew Flatt
e01ebf6095 try module+' in place of slice' 2012-03-13 14:31:40 -06:00
Eli Barzilay
0eb5f09e23 Add #:match-select' and #:gap-select' keyword arguments to
`regexp-match*', and the two `-positions' variants.
2012-03-13 10:29:14 -04:00
Matthew Flatt
facc8db712 change module-path?' to subsume path?'
Although th eoriginal idea was to distinguish "text" paths
from derived filesystem paths, practically everythign that accepts
a module path also accepts a path. Building the generalization into
`module-path?' makes it easier to support `submod' wrappers on paths,
and it seems to fix things rather than break them.
2012-03-12 21:08:54 -06:00
Matthew Flatt
060515b9cd extend string-literal syntax to allow surrogate-style \u pairs
For example, "\uD834\uDD1E" is another way to write "\U01D11E",
while "\uD834", "\uDD1E" or "\uDD1E\uD834" are still errors.
2012-03-12 21:03:20 -06:00
Jay McCarthy
f8325776cf racket/slice, expand raco test, remove begin-for-testing 2012-03-09 19:51:42 -07:00
Jay McCarthy
b73444a0f3 Adding module**, when-testing, and raco test 2012-03-09 15:54:18 -07:00
Kevin Tew
2584cb71c1 Remove /opt/plt paths from docs 2012-03-09 12:46:14 -07:00
Matthew Flatt
3a1e8803ff fix errortrace for submodules 2012-03-09 10:34:56 -07:00