Commit Graph

1358 Commits

Author SHA1 Message Date
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
Matthew Flatt
80c4396dc1 JIT-inline struct type property predicates and accessors 2011-06-11 08:35:34 -07:00
Kevin Tew
1473b7775f Places: rename place and place/anon 2011-06-10 11:07:01 -06:00
Matthew Flatt
460504c852 add #:unless' to for' 2011-06-10 06:21:35 -07:00
Kevin Tew
f88c0bbe80 Places: Missed some send receive renames 2011-06-10 06:38:13 -06:00
Kevin Tew
21f7109204 Places: rename send receive to put get 2011-06-09 23:48:55 -06:00
Eli Barzilay
40a88b6037 Fix TR docs wrt to `racket/function' change, close evaluators, fix
copy/paste typo in `thunk' docs.
2011-06-07 13:07:46 -04:00
Eli Barzilay
313e4e75fc Better section heading 2011-06-07 03:40:13 -04:00
Eli Barzilay
17b6ffa731 Move thunk' from unstable/function' into `racket/function'.
Actually, the new `thunk' is a nullary function, which I think is very
popular expectation for the name.  Since there are possible uses for the
any-arity version, it's added too, as `thunk*'.
2011-06-07 03:38:06 -04:00
Eli Barzilay
a70ef57f02 Move identity' from unstable/function' into `racket/function'. 2011-06-07 03:38:06 -04:00
Matthew Flatt
b24c387dde add PLTDISABLEGC environment variable 2011-06-02 16:20:20 -07:00
Carl Eastlund
c8600f01a1 Added examples to documentation for for/fold/derived, for*/fold/derived,
define-sequence-syntax, and :do-in.
2011-06-02 16:10:23 -04:00
Vincent St-Amour
c32efa727c Document with-intercepted-logging. 2011-06-01 16:11:11 -04:00
Carl Eastlund
5582f7591f Replaced an outdated reference to syntax-object->datum with syntax->datum. 2011-06-01 01:47:23 -04:00
Matthew Flatt
a7ae3b807e fix docs for `multi-in'
because the previous documentation didn't actually define the form;
 the examples were good, but epecting a reader to infer meaning
 from examples wasn't good enough. The use of a `module-path?' contract
 in the old docs wasn't appropriate; contracts apply to values, while
 grammar productions should be used to document syntax constraints.
 Also, `module-path?' was too permissive (only literal strings and
 identifiers are actually allowed), while the actual syntax allows
 either a single path or a sequence.
2011-05-30 08:49:46 -06:00
Matthew Flatt
bbfeb85440 mak argument to `make-immutable-hash' optional 2011-05-30 07:38:57 -06:00
Matthew Flatt
f3e1cf10aa change `hash-count' to take the lock; fix docs 2011-05-30 07:38:57 -06:00
Vincent St-Amour
48b5725b2e Document extension to multi-in. 2011-05-26 11:56:31 -04:00
Vincent St-Amour
c3da0babb7 sub-in -> multi-in 2011-05-26 11:56:31 -04:00
Asumu Takikawa
7f143f03ed Add impersonator-contract? along with docs/tests.
The impersonator-contract? function checks if its argument is
a contract that is neither flat nor a chaperone contract.
2011-05-26 00:37:05 -04:00
Vincent St-Amour
2cddccfe7e Improve docs for sub-in. 2011-05-24 16:53:52 -04:00
Tony Garnock-Jones
7615c2a512 Implementation, documentation and tests for adding a failure-result to property accessor procedures. 2011-05-24 16:53:52 -04:00
Tony Garnock-Jones
9ce0f9d29e Minor cleanup of documentation for make-impersonator-property. 2011-05-24 16:53:52 -04:00
Vincent St-Amour
5e87097854 Document the sub-in require syntax. 2011-05-24 12:40:16 -04:00
Matthew Flatt
22702a70bd typo 2011-05-24 06:28:54 -06:00
Matthew Flatt
23777f291c avoid flock() under Solaris 2011-05-24 06:18:40 -06:00
Ryan Culpepper
dc0138bcb7 minor doc fix (optional args last) 2011-05-11 15:56:24 -06:00
Matthew Flatt
34b8dc249e fix documented contracts for path functions
and make `cleanse-path' work for any platform's paths
  while fixing `resolve-path' checking to disallow paths
  for other platforms
 Closes PR 11891
2011-05-04 11:40:01 -06:00
Matthew Flatt
76484e9ead fix docs
Closes PR 11888
2011-05-03 14:43:27 -06:00
Sam Tobin-Hochstadt
e8f07c1dc3 Add more examples for remove', remq', `remv'. 2011-04-29 13:27:38 -04:00
Sam Tobin-Hochstadt
9469835be4 Add deftech for "future". 2011-04-28 18:23:53 -04:00
Kevin Tew
7134b95ff1 [Places] place/anon place/thunk 2011-04-27 11:50:44 -06:00
Vincent St-Amour
b2f7132577 Fix typos in ephemeron docs. 2011-04-27 10:11:05 -04:00
Kevin Tew
a589ea42b6 [Places] added place-break primitive 2011-04-26 18:41:19 -06:00
Matthew Flatt
8679afed60 clean up C part of build
- no more attempt to support places with the Boehm GC
 - no more libatomic (which was for places + Boehm GC)
 - remove unsupported configuration options
 - strip Racket-specific configure options before libffi configure
 - port two leftover Perl scripts to Racket scripts
2011-04-26 17:14:55 -06:00
Robby Findler
1fdfd8406d made sure that all of the mzlib/contract exports are documented
(some by using racket/contract exports and some by adding
   more docs)
2011-04-25 11:54:14 -05:00
Robby Findler
be1a0e62f7 added docs for current-contract-region 2011-04-25 11:53:23 -05:00
Robby Findler
21cbd9ad81 added the racket/contract/combinator library,
and documented and adjusted these libraries:
     racket/contract/base
     racket/contract/exists
     racket/contract/parametric (renamed from exists)
     racket/contract/region
2011-04-25 11:51:44 -05:00
Ryan Culpepper
8ad54552a1 fix references in eopl docs to assq, etc 2011-04-24 20:41:34 -06:00
Matthew Flatt
2f8006aa6b add an optional argument to `assoc'
and implement `assoc', `assq', and `assv' in Racket
2011-04-24 07:55:33 -06:00
Matthew Flatt
b1ac25023d allow additional arguments to `raise-mismatch-error'
because it's often useful to show more values, and a
 tail `raise-mismatch-error' instead of a nested `format'
 can avoid some safe-for-space work in the JIT output
2011-04-24 07:55:33 -06:00
Matthew Flatt
499800d96e fix typos 2011-04-20 14:25:53 -06:00
Matthew Flatt
18e3f54fa5 doc corrections
Closes PR 11865
 Merge to 5.1.1
2011-04-19 07:24:37 -06:00
Matthew Flatt
6664e20815 fix typo
Closes PR 11864
 Merge to 5.1.1
2011-04-19 07:24:22 -06:00
Matthew Flatt
963a8214b8 fix typo
Closes PR 11862
 Merge to 5.1.1
2011-04-18 15:47:52 -06:00
Matthew Flatt
e0d26d88b6 support exact nonnegative integers as sequences 2011-04-18 14:55:02 -06:00
Matthew Flatt
82c5cd95aa fix typo 2011-04-18 06:34:50 -06:00
Matthew Flatt
2a5fe45c7a add `namespace-attach-module-declaration'
which creates a little more sharing than the automatic
 caching of modules, but only for a program that explicitly
 attaches module declarations to share
2011-04-16 13:25:57 -06:00
Stevie Strickland
bdd5ac2d41 Document prop:contracted and impersonator-prop:contracted. 2011-04-15 16:29:17 -04:00
Robby Findler
ec50a8c5a2 additional fixes to the docs and racket/contract's exports to make them match up 2011-04-15 12:44:44 -05:00
Matthew Flatt
f1d0811249 fix typo 2011-04-15 07:32:45 -06:00
Matthew Flatt
e747937ceb clarify mark interactions for `syntax-local-lift-require'
Closes PR 11850
2011-04-14 08:03:21 -06:00
Matthew Flatt
aed25d9097 better docs and xref on `provide' and rename transformers
Closes PR 11851
2011-04-14 07:47:40 -06:00
Ryan Culpepper
459cce23be moved contents of unstable/set to racket/set 2011-04-12 09:35:26 -06:00
Robby Findler
570a3e58b9 renamed parametric/c to parametric->/c
and cleaned up the organization of the related files
2011-04-09 21:45:49 -05:00
Matthew Flatt
857003378a futures: more bug fixes, make `touch' safe
- bug fixes are related to allocation and runstack space
 - a `touch' within a future can complete before the `touch'ing
   future is itself `touch'ed
 - also make `length' safe (and JIT-inlined)
2011-04-09 17:12:24 -06:00
Ryan Culpepper
f49412add8 moved unstable/poly-c to racket/contract/parametric 2011-04-08 08:25:22 -06:00
Ryan Culpepper
86f65468d7 removed define-pattern-variable 2011-04-07 09:47:20 -06:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
Eli Barzilay
000e52d31d Minor but potentially confusing typo 2011-04-07 10:52:15 -04:00
Matthew Flatt
3bf0f800a7 futures: make `future' work in a future, overhaul logging, fix bugs 2011-04-06 17:40:44 -06:00
Stevie Strickland
6494bf863e Changing absent so that fields may be specified as well as methods. 2011-04-05 15:03:46 -04:00
Stevie Strickland
eafacc78a0 Adding `absent' to class contracts.
The `absent' clause lists public methods which must _not_ exist in the
contracted class.
2011-04-04 19:38:27 -04:00
Kevin Tew
26d7768d3d Rename place-channel-recv place-channel-receive 2011-03-31 13:36:40 -06:00
Eli Barzilay
bad4a40741 Fix `regexp-quote' description.
Closes PR11818.
2011-03-31 06:16:53 -04:00
Matthew Flatt
60dc3a5773 fix typo 2011-03-28 15:26:25 -06:00
Matthew Flatt
789081e2c3 fix xref 2011-03-28 10:43:25 -06:00
Matthew Flatt
5844b56a10 doc typos 2011-03-28 06:45:06 -06:00
Matthew Flatt
84d8bb3726 racket/sequence repairs
including addition of `sequence-generate*'
2011-03-27 10:02:11 -06:00
Robby Findler
4e81299e98 added examples to struct-copy docs 2011-03-25 11:04:17 -05:00
Robby Findler
614ec41ab7 extended struct-copy so that you copy adjust fields from super structs 2011-03-25 08:47:27 -06:00
Matthew Flatt
e652546bf5 add streams to `racket'
- rename old `racket/stream' to `racket/sequence', and adjust
   to avoid stateful iterations
 - add a new `racket/stream' library with a `strean-cons' that is based
   on SRFI 41
 - adjust `for' and some sequence constructors like `in-range' to
   work more directly with streams
2011-03-18 19:05:23 -06:00
Vincent St-Amour
e9789c6697 Fix the 2-argument case of atan to conform to the documentation and
fix the documentation.
2011-03-17 13:10:19 -04:00
Matthew Flatt
ad8e959a98 tweak performance of `for' with non-inlined sequences 2011-03-16 17:02:53 -06:00
Matthew Flatt
0efcf22ed4 racket/generator: clean-ups, including planned generalization
- syntax is now (generator formals body ...+)
 - add `generator?'
 - remove common run-time code from the `generator' macro expansion
 - doc fixes
 - start test suite
2011-03-15 20:14:01 -06:00
Matthew Flatt
b9c4bbae67 futures: limit parallelism via custodians
Closes PR 11682
2011-03-15 14:43:18 -06:00
Matthew Flatt
17a1322fe5 match': document var' pattern 2011-03-15 12:25:53 -06:00
Matthew Flatt
cf69cb2aff special treatment of void as 'inferred-name property
allows keyword-based application to hide temporary
 names that happen to be bound to procedure arguments
2011-03-13 09:02:39 -06:00
Matthew Flatt
1a6dacc4c5 clarify `path-element->string' docs 2011-03-13 09:02:39 -06:00
Eli Barzilay
a18197ff25 Add a warning about the current state of racket/stream. 2011-03-11 06:47:36 -05:00
Matthew Flatt
a5a7076fe0 `file-or-directory-permissions': expose more info, add write mode
and add `user-read-bit', etc., to `racket/file'
2011-03-11 02:50:06 -06:00
Matthew Flatt
0b496d5275 a round of doc corrections from Gwyth 2011-03-10 06:34:33 -06:00
Kevin Tew
3fa033e27b doc typo fix 2011-02-28 16:03:05 -07:00
Robby Findler
07a2ace943 added the #:pre/name and #:post/name keywords to ->i 2011-02-25 13:42:09 -06:00
Robby Findler
4b68377af1 Revert "started adding comments to the #:pre and #:post parts of ->i"
This reverts commit a27b7d5c61.

ack, sorry.
2011-02-25 09:44:34 -06:00
Robby Findler
a27b7d5c61 started adding comments to the #:pre and #:post parts of ->i 2011-02-25 09:42:23 -06:00
Matthew Flatt
b4056373be generalizations to `subprocess' & company
- allow byte strings in more places
  - allow stderr spec to be 'stdout to redirect stderr to stdout
 Closes PR 11711
2011-02-19 08:30:34 -07:00
Matthew Flatt
9325fe0f25 fix `peek-string-evt' and related docs
Closes PR 11748
2011-02-19 06:54:35 -07:00
Matthew Flatt
6041833ac5 fsemaphore cleanup
- abstract over JIT inlining of fsemaphore operations
 - fix problems with non-parallel fsemaphores
 - adjust tests so they don't assume too much concurrency
 - clarify fsemaphore vs. semaphore in the docs
2011-02-18 09:55:01 -07:00
Eli Barzilay
8886b87876 Reformat this mess. 2011-02-16 15:26:15 -05:00
James Swaine
f9c12f9e58 Merge branch 'master' of pltgit:plt 2011-02-14 14:02:47 -06:00
Matthew Flatt
0840430b21 clean up `define-syntax-rules'
by removing a redundant expression in an error message, adding
 tests, and documenting the fact that a syntax-error message can
 expose the pattern source to users
2011-02-11 09:59:42 -07:00