Commit Graph

1449 Commits

Author SHA1 Message Date
Matthew Flatt
1ae6cc0505 change `syntax-local-lift-module-end-declaration' for phase N
Lift to the end of the module, instead of the end of the
enclosing `begin-for-syntax'.

Also, fix a bug in phase 2+ visits.
2011-09-24 22:30:56 +09:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Matthew Flatt
7f887fdf60 fix problems in copy-file'; add exists-ok?' argument
The non-Windows `copy-file' had a race condition, and it could
behave in bad ways if the source of a copy is not a regular
file.
2011-09-19 08:20:22 -06:00
Matthew Flatt
f280fb14b4 places: doc repair, refine error checking, fix a test 2011-09-17 07:29:07 -06:00
Matthew Flatt
376efea754 doc clarifications and tests for some file-locking corners 2011-09-17 07:29:07 -06:00
Matthew Flatt
8e9e8ee48e doc edits 2011-09-16 17:56:53 -06:00
Eli Barzilay
55a8471838 Quick typo. 2011-09-16 10:48:17 -04:00
Kevin Tew
5a28514553 Doc fixes I forgot to include in previous commit 2011-09-15 17:15:44 -06:00
Kevin Tew
b6972a3b7f dynamic-place now pipes standard io to standard out and error much like system. 2011-09-15 14:53:58 -06:00
Matthew Flatt
a233697f08 fix errortrace (required API changes), add `syntax-shift-phase-level'
Also fix a bug in the `module' expander and streamline lazy
visits.
2011-09-13 21:04:10 -06:00
Matthew Flatt
51721e9bb5 fix contract in docs 2011-09-12 19:39:45 -06:00
Matthew Flatt
a8c0c1f8b7 simpify an example 2011-09-12 19:39:37 -06:00
Matthew Flatt
c5131d428c doc clarifications on `eq?' 2011-09-12 19:16:57 -06:00
Matthew Flatt
b7bef3b3aa add syntax-transforming-module-expression?', variable-reference->module-base-phase' 2011-09-12 17:08:50 -06:00
Matthew Flatt
c352ef8fce allow different phases for `free-identifier=?' arguments 2011-09-12 17:08:50 -06:00
Matthew Flatt
d3c56c9f13 generalized `begin-for-syntax' 2011-09-08 14:06:00 -06:00
Matthew Flatt
82116cc3bd add examples to regexp docs 2011-09-03 15:01:11 -06:00
Matthew Flatt
03991c778c doc contract fix
Closes PR 12163
2011-09-03 13:31:27 -06:00
Matthew Flatt
60325da48c clarify `unsafe-...*' in docs
The clarification mostly repeats information in the contract,
and we normally avoid that, but the bindings look undocumented
otherwise.

Closes PR 12162
2011-09-03 13:26:20 -06:00
Matthew Flatt
1c34ce9f19 clarify `define-struct/derived' in docs 2011-09-03 13:21:38 -06:00
Matthew Flatt
4025206bd7 fix `regexp-match' docs 2011-09-03 13:11:33 -06:00
Matthew Flatt
db0db9463e adjust -X handling to make `raco exe' work on Unix
Closes PR 12151
2011-09-01 08:49:26 -06:00
Matthew Flatt
ff140d721c remove doc for non-existent function 2011-09-01 07:14:02 -06:00
James Ian Johnson
3f23a67d57 Fixed the duplicate identifier bug in match-define-values and changed identifiers to conform to naming conventions. 2011-08-31 22:27:02 -04:00
James Ian Johnson
dc61372f3c Implemented Sam's suggested changes for new forms, and added a new match/values form. 2011-08-31 21:45:21 -04:00
James Ian Johnson
93e1b634a3 Added let and define forms that generalize let-values, let*-values and define-values 2011-08-31 21:45:21 -04:00
Eli Barzilay
187110cc2c Change default temporary format from "mztmp~a" to "rkttmp~a". 2011-08-29 20:53:57 -04:00
Robby Findler
d4f4f754f1 make make-temporary-file use the source location for its template argument
(This involves making make-temporary-file be a macro instead of a procedure.)
2011-08-29 19:36:33 -05:00
Matthew Flatt
2d1b0172fb move Reference reader & prnter docs to the model chapel
instead of having those sections buried in the I/O chapter
2011-08-28 18:15:43 -06:00
Matthew Flatt
4f83f7f279 allow phase 1+ references to not-yet-defined bindings
For example,

 (define-for-syntax (f x) (g x))
 (define-for-syntax (g y) y)

is now allowed. The unbound-variable check for phase 1
and up is delayed until after the module body is partially expanded.
2011-08-28 10:27:31 -06:00
Matthew Flatt
b628ae8424 remove leftover tmp file during reference build 2011-08-28 07:50:41 -06:00
Robby Findler
8fd388fde1 adjust put-preferences docs to match implementation 2011-08-27 16:41:34 -05:00
Matthew Flatt
85790b6611 improve description of andmap' and ormap'
Based on suggestions from Dan Grossman and Ryan Culpepper
2011-08-26 10:03:53 -06:00
Matthew Flatt
290fe066b6 add optional argument to weak-box-value' and ephemeron-value' 2011-08-26 06:24:34 -06:00
Matthew Flatt
ce7c0d62c3 if only a Unix root is shared, don't make a path relative 2011-08-24 20:08:20 -06:00
Matthew Flatt
ec29a2d85c add `use-collection-link-paths' 2011-08-24 20:08:19 -06:00
Matthew Flatt
84e3ab2a20 add support for collection roots to the collection links file 2011-08-24 20:08:19 -06:00
Kevin Tew
5a30aa89eb Allow TCP sockets and file ports to be communicated across places 2011-08-24 14:33:54 -06:00
Matthew Flatt
a7855e20a8 add `raco link'
includes a rewrite the "Module Basics" section of the Guide
2011-08-24 09:07:14 -06:00
Kevin Tew
f85c73f83d change evt? to handle-evt? 2011-08-23 14:02:01 -06:00
Kevin Tew
0f595f4882 docs cpointers over place-channels 2011-08-23 14:02:01 -06:00
Eli Barzilay
a0baee8ab9 Sandbox fixes
* When `accept-lang?' is #t turn the reader flag on, but otherwise don't
  change it
* turn on the `read-accept-reader' flag which is needed after all
* two refactoring typos
* some more reformatting
2011-08-20 16:14:01 -04:00
Eli Barzilay
da3c6c9be2 Set read-accept-lang' to #t when reading a module in make-module-evaluator'.
Also, some reformatting including uses of `define'.
2011-08-20 06:12:55 -04:00
Jon Rafkind
47d613f4ec add 'exit-code as an available symbol to the status procedure returned by process 2011-08-19 17:12:13 -06:00
Matthew Flatt
2606c59a29 fix `call-with-file-lock/timeout' example 2011-08-19 15:58:05 -06:00
Matthew Flatt
11f5c84493 fix make-lock-file-name'; add path-element?' 2011-08-19 15:46:44 -06:00
Matthew Flatt
ab477b958c fix reader graph-notation equivalence 2011-08-18 12:54:52 -06:00
Sam Tobin-Hochstadt
52fb1e3460 Add more elements to the list of things that are events. 2011-08-16 18:10:02 -04:00
Vincent St-Amour
d05f138ed2 Add precision to sequence-fold's doc. 2011-08-16 12:09:39 -04:00
Eli Barzilay
d61eb53686 Lots of documentation formatting.
Started as fixing misindented definitions, then more indentations, then
a bunch of similar things (square brackets, huge spaces at end-of-lines,
etc).
2011-08-15 07:50:04 -04:00
Matthew Flatt
1c04cf1b02 make `port-try-file-lock?' work for Solaris
Shared locking now allowed only on input port, and exclusive
locking is allowed only on output ports, which allows an implementation
via fcntl(...,F_SETLK,...).
2011-08-11 13:11:26 -06:00
Robby Findler
997813680d change the #:get-lock-file argument of call-with-file-lock/timeout to #:lock-file 2011-08-11 09:29:31 -05:00
Robby Findler
78a999537d clean up the contract checking for call-with-file-lock/timeout 2011-08-11 09:29:30 -05:00
Asumu Takikawa
f818405dee Fix typo. 2011-08-10 01:28:34 -04:00
Matthew Flatt
5352d670c4 generalize #%variable-reference' and add variable-reference-constant?'
Use the new functions to make the expansion of keyword applications
to known procedure work  with mutation.
2011-08-09 16:33:17 -06:00
Matthew Flatt
39a96dd699 add `prop:liberal-define-context' 2011-08-09 16:33:16 -06:00
Robby Findler
d3f1bed4ae add missing sentence fragment 2011-08-09 14:07:49 -05:00
Eli Barzilay
b644e335d9 Fix the docs for `call-in-sandbox-context'.
Closes PR 12081.
2011-07-30 09:33:24 -04:00
Matthew Flatt
b78a1a8355 remove abbreviations for for/sum' and for/product' 2011-07-27 07:55:20 +01:00
Matthew Flatt
7123996b30 change `eval-jit-enabled' initialization
to reflect whether JIT compilation is supported by the build
(i.e., set it to #f initially when the JIT is not supported)
2011-07-27 07:55:05 +01:00
Matthew Flatt
f1160da419 add for/sum', for/product', etc. 2011-07-27 05:47:46 +01:00
Stevie Strickland
01396784c9 Fix set/c to conform to hash/c-like restrictions.
Since sets are implemented using the elements as the domain of a hash table,
the following must be true:
 * element contracts for (seteq ...) must be flat
 * element contracts for (seteqv ...) must be flat
 * element contracts for (set ...) must be chaperones, and the resulting
   contract is a chaperone contract

Also, change higher-order set/c contracts to be chaperone contracts
due to the new restrictions.
2011-07-21 18:49:06 -04:00
Matthew Flatt
4307bcace5 fix taint behavior of some syntax operations
`syntax-local-get-shadower' and
 `syntax-make-delta-introducer' both taint their
 results when a given syntax object is tainted
2011-07-16 08:03:54 -06:00
Matthew Flatt
d718a2b128 fix docs to clarify that `#%expression' appears from local-expand 2011-07-15 20:16:45 -06:00
Matthew Flatt
f288c694db clarification 2011-07-15 19:43:47 -06:00
Matthew Flatt
1c4722eaee remove obsolete reference to '#%mred-kernel 2011-07-14 21:32:47 -06:00
Matthew Flatt
5e5172baab fix typo; eliminate "this" as a noun; otherminor improvements 2011-07-14 21:32:47 -06:00
Matthew Flatt
7be0c8236f fix `procedure-reduce-keyword-arity' checking
and clarify need for distinct keywords in parts of the
 documentation
2011-07-14 17:07:18 -06:00
Vincent St-Amour
937d0ad722 Fix unbalanced curly brackets. 2011-07-14 18:51:13 -04:00
Eli Barzilay
db7f2b4542 Add a new #:dont-re-require-enter' flag for enter!', to avoid
requiring itself into the entered namespace.

This makes it useful in some cases where this require leads to a
dependency cycle, eg (enter! racket/list).  It's obviously not useful
for use as-is, since you will not have a bound `enter!' to get out of
the namespace (and possibly no `require' to get it) -- but it is useful
for meta-tools like xrepl.  This is why the flag is verbose.  `xrepl'
now uses this flag.

Also, the check for valid keywords for the form is now done at runtime
rather than in the macro.  This doesn't matter in this case, since the
form is intended for interactive use anyway.

Also, separate the two parts of `enter-load/use-compiled' (it was
defined curried, but didn't use it).
2011-07-14 17:21:46 -04:00
Sam Tobin-Hochstadt
355050acde Docs for racket/kernel 2011-07-13 18:15:51 -04:00
Matthew Flatt
cc6f3f69ab add `port-set-next-location!'; make prompt read handler use it
Closes PR 12035
2011-07-10 08:36:47 -06:00
Matthew Flatt
089201b49b doc typo fixes 2011-07-09 06:16:10 -06:00
Ryan Culpepper
73230537ba removed merge conflict artifact
Merge to release branch
2011-07-08 15:34:59 -06:00
Matthew Flatt
b98e1b189a change semantic of internal definitions
and `letrec-syntaxes+values' --- allowing `let' in place
 of `letrec', which in turn lets the compiler optimize
 away location allocation
2011-07-08 14:00:41 -06:00
Matthew Flatt
65b1a569a0 add `unsafe-list-{ref,set}'
Use the new functions in `syntax-case'; the benefit is small, and
 it's mostly useful as hint to the optimizer that the operation
 can be dropped if the result isn't used
2011-07-08 06:23:29 -06:00
Matthew Flatt
a7deb516f7 minor doc style corrections 2011-07-04 16:48:25 -06:00
Matthew Flatt
850b85cbdb add some cross-references 2011-07-04 16:26:09 -06:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Ryan Culpepper
1b702a2ae3 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Matthew Flatt
dca102a7f1 document place termination better
e.g., the fact that the exit handler is set in a place
2011-07-01 09:30:11 -06:00
Kevin Tew
c6c1f9d533 Fixed missing bracket 2011-06-30 16:53:45 -06:00
Kevin Tew
7bd4ba9b11 place-dead-evt docs 2011-06-30 15:52:29 -06:00
Kevin Tew
c3059f7e82 place-dead-evt 2011-06-30 10:02:21 -06:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Eli Barzilay
a38f384a00 Finish converting scheme' -> racket'.
Everything compiles fine now even if the compatibility bindings are
gone.
2011-06-28 00:45:38 -04:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Danny Yoo
741361d413 adding example for exns
Signed-off-by: Sam Tobin-Hochstadt <samth@racket-lang.org>
2011-06-23 11:54:22 -04:00
Matthew Flatt
3daf61f605 dc clarification on `thread-suspend' 2011-06-20 14:46:14 -06:00
Eli Barzilay
debd1f9f1e Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Matthew Flatt
f34a31cac9 "under <platform>" -> "on <platform>"; "X" -> "Unix"
I originally picked "under" as the preposition to go before
 a platform name, but obviously you should build "on" a
 platform, and "under" suddenly annoys me. The choice of "on"
 is now codified in the documentation style guide. Meanwhile,
 "Unix" insted of "X" seems more clear and consistent in the
 `racket/gui' docs.

 More usefully, this patch also fixes a few out-of-date
 platform-specific claims.
2011-06-17 18:54:43 -06:00
Matthew Flatt
b1e47eba45 add `place-message-allowed?' and fix related problems
Closes PR 11983
2011-06-17 10:33:27 -06:00
Matthew Flatt
56423f330e `procedure-arity-includes?' reports #f for keyword-requiring procs
by default; a new optional argument restores the old behavior
  (but the default behavior is consistent with the old docs and with
  the vast majority of existing uses)

 The implementation is ugly for performance reasons. A new primitive
  `prop:arity-incomplete' property determines when to return #f for
  `procedure-arity-includes?' in default mode. A nicer implementation
  would be to redefine `procedure-arity-includes?' at the kw-proc level,
  but the bytecode optimizer's and JIT's treatment of the built-in
  `procedure-arity-includes?' is important. The implementation choice
  could be revisited after cross-module inlining is implemented.

 Closes PR 11978
2011-06-16 12:36:16 -06:00
Matthew Flatt
83d002a9aa fix interaction of `port-commit-peeked' and port positions
--- includes a small hack to the `make-input-port' protocol
     to specially handle a byte-string result as "true"
     from the `commit' proc
2011-06-16 08:17:14 -06:00
Sam Tobin-Hochstadt
d5b25eb500 Document match-lambda**' and match[*]/derived' 2011-06-15 18:11:41 -04:00
Eli Barzilay
c0051518be Fix `{user,group,other}-{read,execute}-bit' (in the docs too).
Make the launcher template copying code try to ensure that all user
access bits are on.
2011-06-14 21:27:36 -04:00
Eli Barzilay
be84425bd0 Rewrite compose' and add compose1'.
The new version fixes some problems with the previous one, most notably
it can create a keyworded function when the last input is is keyworded.
`compose1' is a restricted variant that requires single values in the
composed pipeline -- besides being potentially faster (probably more
if/when there is cross module inlining), it has a semantical
justification, similar to the restricting function call arguments to
return single values, with similar robustness benefits.  The
implementation of both is done in a generalized way, and the results can
be faster for both `compose' and `compose1'.  (Not by much -- 20% and
30% resp.)

One thing that it could do is to reduce the resulting arity to match the
last given function.  I didn't do this since it adds a significant
overhead to the result.  (No strong opinion on doing that...)
2011-06-14 19:02:30 -04:00
Asumu Takikawa
ed590b8ec5 Fix GUI and Reference doc typos 2011-06-13 17:57:21 -04:00
Asumu Takikawa
01a987bf5e Use a real contract instead of imaginary for sleep 2011-06-13 12:09:52 -04:00
Kevin Tew
939f0b1c0b rename place-dynamic to dynamic-place 2011-06-11 15:36:16 -06:00