Commit Graph

1610 Commits

Author SHA1 Message Date
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
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
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
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
Matthew Flatt
b5ce4f281d fix example
Closes PR 12723
2012-05-15 20:11:42 -06:00
Matthew Flatt
e35337dcfd add `relative-in' 2012-05-15 20:03:41 -06:00
Matthew Flatt
1067aa59e3 fix docs for `syntax-local-module-exports' 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
1bf1564f90 add `variable-reference->module-path-index' 2012-05-14 21:57:09 -06:00
Kevin Tew
fbbf8579e0 [Distributed Places] Docs clean up part 2 2012-05-14 14:58:40 -06:00
Matthew Flatt
84d1c6dc06 remove sfi links from the Reference
In consultation with Ryan. We'd prefer to have versions of all
useful things in a `racket/...' library that is consistent as
possible with Racket forms and conventions.
2012-05-13 06:57:44 -06:00
Matthew Flatt
906180ebe8 doc edits 2012-05-13 06:57:44 -06:00
Matthew Flatt
1d1f4dfc3c fix docs on `prop:{require,provide,provide-pre}-transformer' 2012-05-13 06:57:44 -06:00
Matthew Flatt
45659b0cc1 fix doc example
Closes PR 12768
2012-05-13 06:57:44 -06:00
Robby Findler
52fa588f7a deprecate define-contract-struct (also fix a broken require in the contract docs) 2012-05-12 22:10:04 -05:00
Matthew Flatt
bfbccb918d fix reference to non-existant private contract module 2012-05-12 01:37:51 -06:00
Matthew Flatt
dbd940611e allow #f as shift for `syntax-shift-phase-level' 2012-05-12 00:55:12 -06:00
Kevin Tew
4c59943b0d [Distributed Places] Remove caps and camelcase 2012-05-10 19:58:52 -06:00
Kevin Tew
154a96ab1f [Distributed Places] Docs clean up part 1 2012-05-10 15:36:58 -06:00
Kevin Tew
076e698e8c [Distributed Places] RMPI docs 2012-05-10 15:36:58 -06:00
Kevin Tew
c619f7cbbf [Distributed Places] more docs, removed old functions, RMPI function renames 2012-05-10 15:36:58 -06:00
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
Matthew Flatt
566759a5fa progress on submodule docs; bug fixes 2012-03-09 10:34:56 -07:00
Matthew Flatt
3d69dfab86 first cut at submodules 2012-03-09 10:34:56 -07:00
Kevin Tew
c46cdf63bc Comment out ssh to localhost example. 2012-03-08 21:50:45 -07:00
Kevin Tew
09bed0d61e Initial Distributed Places commit
Distributed Places allows the spawning of remote racket processes and
places.  Distributed Places communicate transparently over TCP sockets.
2012-03-07 09:36:13 -07:00
Matthew Flatt
5630a3a1ca racket/sandbox: use `gui-available?' at sandbox creation
Previously, sandbox creation used `gui?', which is the result of
`gui-available?' at the time that `racket/sandbox' is instanited.
This change makes sandbox behavior less sensitive tothe order in
which modules `require'd into a program are intiantiated.

The change depends on a new `sandbox-make-namespace' default
function for `sandbox-namespace-specs'. The new function uses
either  `make-base-namespace' or `make-gui-namespace', depending
on whether the GUI library is available at that point.

A new `sandbox-gui-enabled' parameter can disable use of the
GUI library even if it is available.

The `gui?' binding is still exported for backward compatibility,
but it shouldn't be used anymore.
2012-03-02 07:47:16 -07:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Vincent St-Amour
249c1cc666 Remove dependency on unstable/port. 2012-02-28 16:26:21 -05:00
Vincent St-Amour
f420edc5ee Add range to racket/list. 2012-02-27 13:40:31 -05:00
Kevin Tew
3e0e4a3f6b Allow hashes across place channels. 2012-02-27 10:11:04 -07:00
Matthew Flatt
188c6fdc66 add `log-max-level'
As suggested by Tobias Hammer
2012-02-26 22:13:02 -05:00
Matthew Flatt
2d7b97ece9 doc and terminology fix 2012-02-26 22:13:02 -05:00
David Van Horn
f029117266 Fixes spelling errors in reference. 2012-02-21 14:21:43 -05:00
Matthew Flatt
a79080e7ed improve docs to match improved "-h" output 2012-02-20 08:09:06 -07:00
Robby Findler
b2a3b3a8a2 add xor, adjust implies following Carl's comments 2012-02-20 06:25:37 -06:00
Robby Findler
d4b176dd41 clarify nor docs 2012-02-19 15:17:29 -06:00
Robby Findler
4b2f78477a added nand, nor, and implies to racket/bool 2012-02-19 08:05:11 -06:00
Robby Findler
190d011f0d clarify boolean=? and symbol=? 2012-02-19 08:05:10 -06:00
Matthew Flatt
2c479683d1 add --launcher'/-l' flag to `raco exe' to create launchers
This addition triggered several other changes:

 * -k for a Mac OS X embedding is now relative to the __PLTSCHEME
   segment (which means that executables won't break if you strip
   them, for example)

 * the command-line no longer has a limited size for Mac OS X
   launchers and embedding executables

 * Mac OS X GUI and Windows launchers record the creation-time
   collection path, unless they are created as "relative" launchers
2012-02-13 16:27:51 -07:00
James Swaine
46c981bcdf Clarified futures-enabled? documentation 2012-02-12 20:42:05 -06:00
James Swaine
fd7235f94a Updated future-event docs 2012-02-12 02:05:36 -06:00
James Swaine
7114f08c0b Added tests for would-be-future
Minor fixes to would-be-future
Added futures-enabled? primitive
Added primitive name to future-event struct
2012-02-12 01:32:30 -06:00
James Swaine
a5676e9a68 Added would-be-future 2012-02-10 20:05:43 -06:00
Matthew Flatt
937cdf51d7 change `current-write-relative-directory' to support more path conversions
In particular, allow a pair of a relative-to directory and a base
directory. Paths that syntactically extend the base directory are
recorded as relative to the relative-to directory (which must
syntactically extend the base directory).

The compilation manager now sets the parameter to a pair with
the base directory as the main collection directory, if the source
file's path extends that directory's path.

This generalization solves problems created by cross-module inlining,
where the source location of a procedure in bytecode can now be in a
different file than the enclosing module's file.

Also add a test that checks whether the build directory shows up
in any ".zo", ".dep", or documentation ".html" files.

Closes PR 12549
2012-02-10 06:17:18 -07:00
Asumu Takikawa
5a27a8538c Add documentation for #:opaque keyword. 2012-02-08 22:47:16 -05:00
Kevin Tew
4f3bec1792 pr# 12542 fixed - All symbol types are now allowed across place channels. 2012-02-08 10:21:59 -07:00
Rodolfo Henrique Carvalho
c3f92c26b9 Update collects/scribblings/reference/stx-trans.scrbl 2012-02-02 12:46:01 -05:00
Matthew Flatt
a3ce8bf787 doc behavior of `copy-file' and modification dates on Windows 2012-01-31 07:14:25 -07:00
Matthew Flatt
6b6beb601e add PLT_VALIDATE_COMPILE to enable extra checking of the compiler
Setting the environment variable causes the bytecode compiler to run
the bytecode validator (which is normally applied to input from a
bytecode file) immediately on all of the compiler's own results.
2012-01-30 10:31:37 -07:00