Commit Graph

1841 Commits

Author SHA1 Message Date
Asumu Takikawa
2f0dee9270 Doc fixes for takef & friends 2013-03-09 17:13:59 -05:00
Eli Barzilay
3af72ecab4 Added splitf-at', takef-right', dropf-right', splitf-at-right', and more.
* See comment about implementation issues.

* Removed the `list?' requirement on `takef' etc -- so it matches the
  non-*f versions.  (IMO, it'd be better to drop it from all of them.)
  This also changes the output of `dropf' to `any/c'.

* Swapped the argument order so the predicate is last -- this makes it
  uniform with the non-f* versions.  (IMO, it'b be better to use the
  popular order in all of them instead.)

* Includes tests, and also improved version of previous tests.

* Includes docs, and also fixes to previous docs (eg, drop* doesn't
  return a fresh list).
2013-03-09 15:47:43 -05:00
Eli Barzilay
e47cc6efb1 Clean up source layout. 2013-03-09 15:47:42 -05:00
Eli Barzilay
2cdfe18beb Rename {take,drop}-while' -> {take,drop}f'.
Also, improve the tests a little.
2013-03-09 15:47:42 -05:00
Asumu Takikawa
bb17b6a8f6 Add take-while, drop-while to racket/list 2013-03-07 12:26:36 -05:00
Eli Barzilay
75ece5c330 Minor sandbox improvements.
* Check `sandbox-path-permissions' for bad values such as
  '(<perm> <path1> <path2>) where <path2> would get silently ignored.

* Try to clarify the intent of `call-in-sandbox-context' as a meta tool
  rather than a safe execution tool.
2013-03-05 02:22:06 -05:00
Asumu Takikawa
855ce453a0 Fix docs on udp-open-socket 2013-03-02 13:37:29 -05:00
Matthew Flatt
0acb9b8432 doc correction and test additions for `atan'
Closes PR 10324
2013-03-01 15:28:39 -07:00
Matthew Flatt
cdf0f6b9ab add 'so-mode to `system-type'
To work better with OpenBSD (which has been a problem since we
changed `ffi-lib' to open libraries in "local" mode by default).
2013-03-01 15:20:17 -07:00
Eli Barzilay
b84a7bce66 Fix typo in `string-replace' keyword name. 2013-02-28 01:49:50 -05:00
Matthew Flatt
abf44f8b49 add `module-compiled-cross-phase-persistent?' 2013-02-27 08:53:43 -07:00
Matthew Flatt
88a36a077c terminology change again: "cross-phases persistent" modules 2013-02-27 08:53:43 -07:00
Matthew Flatt
e15569e006 add `racket/kernel/init' 2013-02-26 19:01:36 -07:00
Matthew Flatt
2646ff6895 try "phase-collapsing" instead of "phaseless" 2013-02-26 19:01:36 -07:00
Matthew Flatt
2e652fc2b3 fix some "phaseless" module holes 2013-02-26 19:01:35 -07:00
Matthew Flatt
899a3279c2 add experimental support for "phaseless" modules
The intent is to support phase-crossing data such as the `exn:fail:syntax'
structure type that is instantiaed by macros and recognized by contexts
that use `eval' or `expand'. Phaseless modules are highly constrained,
however, to avoid new cross-phase channels, and a module is inferred to
be phaseless when it fits syntactic constraints.

I've adjusted `racket/kernel' and improved its documentation a little
so that it can be used to implement a phaseless module (which can
import only from other phaseless modules).

This change also adds a `flags' field to the `mod' structure type
from `compiler/zo-structs'.
2013-02-26 14:55:28 -07:00
Asumu Takikawa
1cf1e1baa4 Add an example for local-require 2013-02-21 14:45:45 -05:00
Matthew Flatt
42b8163f8f fix docs on `case'
The Guide was was out-of-date in several ways, and the Reference
didn't describe the dispatch-time guarantee.
2013-02-21 08:34:54 -07:00
Matthew Flatt
772afd94fd fix docs for `begin0'
It's body currently isn't an internal-definition position.
2013-02-21 08:34:54 -07:00
Danny Yoo
0b0ce6574a Note that integer-sqrt produces exact output when given exact input.
Closes PR 9542.
2013-02-20 16:39:36 -07:00
Matthew Flatt
79c4af4e45 racket/base: add `impersonator-ephemeron' 2013-02-18 17:01:11 -07:00
Robby Findler
5c109946c2 add support to struct/dc to name the selector directly
and use that in struct/c

closes PR 13054
closes PR 13461
related to PR 13050
2013-02-16 17:24:11 -06:00
Matthew Flatt
6c49aee3a6 doc: add some links 2013-02-14 17:30:10 -07:00
Matthew Flatt
421cb24138 add `port-counts-lines?' 2013-02-14 15:45:26 -07:00
Tobias Hammer
7e2b443fa9 Support for multiple value return from wrap-evt and handle-evt
wrap/handle-evt that receives multiple values must have a handler function with adequate arity.

struct.c:
  change contract for wrap/handle-evt from (any/c -> any) to procedure?
thread.c:
  adjust sync processing
sync.rktl:
  add test for handle-evt, wrap-evt and prop:evt
2013-02-14 15:45:26 -07:00
Matthew Flatt
4c98570fb6 reference: fix typo and terminology for `with-continuation-mark'
Closes PR 13478
2013-02-02 05:58:42 -08:00
Matthew Flatt
0583616dd7 racket/date: change current-date', add date*->seconds' 2013-02-01 15:00:24 -08:00
Michael Filonenko
17b8092641 extflonums
An extflonum is like a flonum, but with 80-bit precision and
not a number in the sense of `number?': only operations such as
`extfl+' work on extflonums, and only on platforms where extflonums
can be implemented by hardware without interefering with flonums
(i.e., on platforms where SSE instructions are used for
double-precision floats).

[Patch provided by Michael Filonenko and revised by Matthew.]

The compiler tracks information about bindings that are known to
hold extflonums, but the JIT does not yet exploit this information
to unbox them (except as intermediate results).
2013-01-28 18:17:06 -07:00
chrdimo
7223c503f2 adding docs entry for blame update 2013-01-28 19:36:36 -05:00
Stephen Chang
15d41a787e add examples for make-struct-info in docs 2013-01-26 14:06:04 -05:00
Robby Findler
27442fa44c make contracts slightly more readable for
the get-location arguments to make-input-port
and make-output-port
2013-01-24 22:04:47 -06:00
Matthew Flatt
21c8ef6e91 doc clarification on readtable procedures 2013-01-24 06:43:10 -05:00
Matthew Flatt
b38036f36d doc clarification
Based on Tobias's text from the PR.

Closes PR 13441
2013-01-24 06:43:10 -05:00
Asumu Takikawa
3ddde6a7e9 Equip parameter/c with separate in/out contracts 2013-01-23 14:45:59 -05:00
Sam Tobin-Hochstadt
40d2fd65b0 Add OrderedAnd patterns, and use them in ? patterns.
This guarantees that patterns like (? pred pat) will
always check `pred` before matching any of `pat`.
However, `and` patterns are not required to match left-
to-right.
2013-01-22 14:59:41 -05:00
Matthew Flatt
c298062259 racket/match: add doc note on `for-syntax' exports 2013-01-22 09:12:00 +01:00
Matthew Flatt
48e0509381 add `file-truncate' 2013-01-18 11:03:46 -06:00
Matthew Flatt
a605452b0f minor doc repair 2013-01-18 11:03:46 -06:00
Asumu Takikawa
15a73e2c00 Example for with-handlers 2013-01-18 10:39:36 -05:00
Sam Tobin-Hochstadt
230172cf94 Use syntax-procedure-alias-property with struct constructor procedures as well.
This uses a new `racket/private/procedure-alias` module
which provides the relevant symbol via `protect-out`.
2013-01-14 14:27:33 -05:00
Ryan Culpepper
1109e0f86d fix rounding in ~r, docs
Merge to 5.3.2.
2013-01-13 15:52:08 -05:00
Asumu Takikawa
5e78aa7d9e Add examples & slight fix for stxparam docs 2013-01-06 16:26:02 -05:00
Asumu Takikawa
470a8c8892 Minor rewording 2013-01-06 16:26:02 -05:00
Asumu Takikawa
3885ea7cdd Fix doc typos 2013-01-03 02:27:30 -05:00
Vincent St-Amour
18389532e7 Move define-inline to racket/performance-hint.
Move begin-encourage-inline to racket/private for dependencies.
2013-01-02 12:18:36 -05:00
Danny Yoo
c70f7d2ed2 Disambiguate sentence on custodian shutdown.
See:
http://lists.racket-lang.org/dev/archive/2012-December/011373.html

Motivated by Sgeo's question in:
http://racket-lang.org/irc-logs/20121229.txt at 22:10.
2013-01-01 00:48:50 -08:00
Matthew Flatt
cdfc4912ad racket/base: add exn:fail:filesystem:errno and exn:fail:network:errno
Provide raw error codes when available, which is mostly from filesystem
and networking primitives.
2012-12-31 12:04:03 -07:00
Matthew Flatt
8b7379a7ad docs: clarification for `immutable?' 2012-12-30 20:30:20 -06:00
Asumu Takikawa
4041e3c841 Fix sandbox doc example 2012-12-30 01:55:44 -05:00
Matthew Flatt
f2d870859a logging: allow name in `log-message', report it in a log-receiver evt
The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.

Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.

These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.
2012-12-27 14:12:40 -06:00