Commit Graph

1308 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