Commit Graph

22496 Commits

Author SHA1 Message Date
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
Stevie Strickland
649fe2f276 Fix #%app bindings for `with-contract'-based contract forms.
Closes PR11975.
2011-06-16 14:25:01 -04:00
Danny Yoo
e35e005a1c added example of making an evaluator for interaction 2011-06-16 12:09:55 -04:00
Matthew Flatt
a919062143 support progress evts in result of `make-limited-input-port'
and also adjust initial position in various port constructions
 to use `file-position' instead of `port-next-location'
2011-06-16 09:18:47 -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
Matthew Flatt
80bd949531 add mode to arc' in dc-path%' to support right/bottom alignment 2011-06-16 08:17:14 -06:00
Matthew Flatt
c5b94831e4 fix colorize' nested inside (linewidth #f ...)' 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
Sam Tobin-Hochstadt
eaa156554a Add contracts for `Sequenceof' values. 2011-06-15 17:02:09 -04:00
Kevin Tew
4176f093b8 place -> dynamic-place and place-wait return value fixes 2011-06-15 11:09:02 -06:00
Vincent St-Amour
e057e6a857 Optimize in typed regions. 2011-06-15 11:20:51 -04:00
Matthew Flatt
c8999c2541 adjust `racketmodname' to ignore for-label imports
so that `@racketmodname[lazy], for example, typesets correctly
 when `lazy' is imported for-label
2011-06-15 08:23:33 -06:00
Robby Findler
9bf26ef69e add more caching to avoid calling normalize-path so much;
this should affect the test coverage coloring and the stacktrace
arrows/stop-sign window
2011-06-15 16:45:47 +08:00
Robby Findler
b9ff7dc4af thanks, Sam. 2011-06-15 12:52:39 +08:00
Robby Findler
68f34502b8 add a cache to avoid calling normalize-path so often when switching tabs
closes PR 11936
2011-06-15 11:44:25 +08:00
Robby Findler
497172f64e fix typo 2011-06-15 11:02:21 +08: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
Robby Findler
58b60a6a87 fixed lw-test.rkt test suite 2011-06-15 09:25:50 +08:00
Sam Tobin-Hochstadt
b76819a66e Wrap expected type. Closes PR 11980. 2011-06-14 19:05:16 -04:00
Eli Barzilay
71b8440adb Tweak things a little: make simple-compose*' use simple-compose' when
the first function's arity is 1, avoiding another `call-with-values'.

The difference in timing is in the noise (looks like `call-with-values'
is optimized for an arity-1 receiver), but it seems more in line with
the rest...  Incidentally, it steps around the problem in PR11981.
2011-06-14 19:02:30 -04:00
Eli Barzilay
da1c334f70 Use `apply apply' which is slightly faster for most inputs than using
`list*'.  (And add specialized cases for small inputs.)
2011-06-14 19:02:30 -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
Eli Barzilay
e80308aa15 Make `test' messages show keyword arguments too. 2011-06-14 19:02:30 -04:00
Eli Barzilay
03a5468e59 Disable drdr runs on `meta/web'.
The problem is that it spits out a warning message on stderr whenever it
can't find a git repository to extract release announcements (from
annotated tags).  Resolving this will require some way to (a) tell drdr
to ignore such output, (b) make it run the code with a $GIT_DIR
environment variable set to the git tree, or (c) make it set some
environment variable so the web build will avoid such messages.  (I
prefer the first most, and the last least.)
2011-06-14 19:02:30 -04:00
Eli Barzilay
80f0d57cdd Revise this comment 2011-06-14 19:02:30 -04:00
Eli Barzilay
45e3c4f4af Fix catching of initial exceptions to happen outside of the sandbox context,
so the error is actually printed instead of swallowed silently.

Also, fix some copy/paste uses of 'make-evaluator instead of
'make-module-evaluator in error messages, and two more in
`make-evaluator*' that lacked a "who" input.
2011-06-14 19:02:30 -04:00
Vincent St-Amour
48bf6f8290 Make type annotations optional for for*/lists: and for*/fold:. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
3ff1a3320a Improve error message for untyped variables that don't come from the original program. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
7a4bd387cc Change examples to use prettier types. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
d43c8fc406 Tidy up TR reference. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
1cf57b893c Add note about optimizing structs to the TR docs. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
e3274a3cf7 Add missing word. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
52e14362b5 Split the TR reference into multiple pages. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
589f42feb1 Reorganize TR docs directory. 2011-06-14 17:53:27 -04:00
Vincent St-Amour
b835e8a75b Add myself to the TR doc author list. 2011-06-14 17:53:27 -04:00
Vincent St-Amour
a1787cede4 Document optionality of type annotations for the for: macros. 2011-06-14 17:53:27 -04:00
Vincent St-Amour
2922821f3c Synthesize annotations for for/lists: if possible. 2011-06-14 17:53:27 -04:00
Vincent St-Amour
f4973ff05e Remove obsolete comment. 2011-06-14 17:53:27 -04:00
Vincent St-Amour
8c92a32cbb Fix bad name. 2011-06-14 17:53:27 -04:00
Vincent St-Amour
a5bccaffe1 Allow omitting type annotation in most of the for: forms. 2011-06-14 17:53:27 -04:00
Vincent St-Amour
ef11f754e5 Fix a typo in Eric Hanchrow's name. 2011-06-14 17:53:26 -04:00
Vincent St-Amour
506980240a Allow omitting type annotation on for/fold:. 2011-06-14 17:53:26 -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
Robby Findler
ecf45ab426 added a missing error check to scribble decoding 2011-06-11 08:58:06 -05:00
Kevin Tew
4ee71096e7 Places: a few more send receive to get put renames 2011-06-11 02:07:28 -06:00
Kevin Tew
4dff43d4c5 place-wait returns void for now 2011-06-11 02:07:28 -06:00
Eric Dobson
c7f9a80de8 TR: Changed type of port->list 2011-06-10 17:22:14 -04:00