Commit Graph

1462 Commits

Author SHA1 Message Date
Matthew Flatt
5c0956d7b1 more memory accounting fixes for places
Fix memory accounting to detect when messages pile up in a
place channel and when shared values (such as the result of
`make-shared-bytes') pile up. Also fix problems where a GC
or free-page purge needs to be triggered.

The implementation causes a minor API change, which is that
a place channel sent multiple times as a message generates
values that are `equal?' but no longer eq?'.

Closes PR 12273

[Do not merge to 5.2]
2011-10-11 11:26:11 -06:00
Matthew Flatt
5724aa1d1b doc clarifications
Merge to 5.2
2011-10-10 14:45:53 -06:00
Sam Tobin-Hochstadt
9cc2c441ee Add note on `match' semantics. 2011-10-06 18:32:05 -04:00
Matthew Flatt
ec380e34ed remove built-in reader and printing support for Honu
This is a backward-incompatible change, but I think it's
unlikely that any code depends on the removed bindings
or reader syntax.
2011-10-05 09:40:27 -06:00
Robby Findler
533b898277 clarify the role of the #:rest portion of the contract
closes PR 12244
2011-10-01 15:58:50 -05:00
Kevin Tew
e650764a4c place-channel? returns #t for place descriptors, doc clarification 2011-09-30 17:15:11 -06:00
Matthew Flatt
a0805f9b18 fix docs for `round' et al.
They don't return integers for +inf.0, -inf.0, and +nan.0.
2011-09-29 16:54:08 -06:00
Matthew Flatt
73071ad186 improve GC logging (3m)
Show process time of start of GC and otherwise adjust to make
the output more compact, and attach a prefab struct to the
logged message to report all available data in Racket form
(including real start and end times, which are not shown in
the output).
2011-09-29 16:54:08 -06:00
Matthew Flatt
ac8990d519 add date*' and exn:fail:syntax:unbound'
The `date*' structure type is an extension of `date' with
`nanosecond' and `time-zone-name' fields.

The `seconds->date' function now accepts a real and returns a
`date*'. The fractional part of its argument goes into the
`nanosecond' field.
2011-09-29 09:22:10 -06:00
Matthew Flatt
247a51d5bd change `get-preference' to treat read errors the same as other bad content
That is, return '(), but also now log an error.
2011-09-27 19:23:17 -06:00
Matthew Flatt
f9dabb8994 add -J/--wm-class argument to set the WM_CLASS class on Unix 2011-09-26 18:07:18 -06:00
Matthew Flatt
e226dd7e26 add `contract-out' 2011-09-24 22:30:56 +09:00
Matthew Flatt
9d27b21f91 add provide pre-transformers 2011-09-24 22:30:56 +09:00
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