Commit Graph

29105 Commits

Author SHA1 Message Date
Matthew Flatt
169e801803 switch rascket/base' and scheme/base' to submodule language style
The `#%module-begin' of `racket/base' and `scheme/base' now introduces
a suitable `configure-runtime' submodule, instead of using the
`module->language-info' path.

A submodule is a lot easier to work with, as illustrated by the
removal of the `racket/private/lang' and `scheme/private/lang'
languages.

Also, add `#%printing-module-begin', which is the old `#%module-begin'
(i.e., the one that doesn't introduce a `configure-runtime' submodule).
2013-05-07 08:31:16 -04:00
Matthew Flatt
27f1b39294 add `configure-runtime' submodule support
A language can now introduce a `configure-runtime' submodule that
is `dynamic-require'd before the enclosing module.

This new submodule protocol provides a more general and
easier-to-understand way of configuring the run-time environment for
a module's language, as compared to the `module->language-info'
path (through a `get-info' function, via a 'configure-runtime value,
and finally loading the specified module).

The `module->language-info' path remains in place, and it is
checked after a `configure-runtime' submodule is run, since
that order is likely to be the most backward compatible.
2013-05-07 08:31:16 -04:00
Matthew Flatt
34d0037b37 fix `module' non-simplification of syntax during expansion
This change affects the time required to `expand' a module.
2013-05-07 08:31:16 -04:00
Matthew Flatt
f60803c300 make scribble' (and raco scribble') use a `doc' submodule when present 2013-05-07 08:31:16 -04:00
Robby Findler
1e0625bd39 fix tests
The test cases in question never failed for what appears to be
an amazing fluke. I broke these test in Jan of 2012 (commit 2afda360)
and they don't seem to have failed since then, due to luck with
the random number generator
2013-05-07 07:13:58 -05:00
Robby Findler
2648542a6c allow #:chaperone specification in struct/dc
related to PR 13734
2013-05-06 18:17:43 -05:00
Robby Findler
d8a444dfef misc improvements to generate-term
- there should no longer be an internal errors (hopefully)
  that is, all of the errors with the form should be caught
  and reported properly now
- several of the options in generate-term now generate less code
- the blue box portion of the documentation is now more precise
2013-05-06 18:17:42 -05:00
Robby Findler
23d2e5cf83 another edito
closes PR 13734
2013-05-06 14:54:50 -05:00
Robby Findler
65b7d7855c edito 2013-05-06 14:44:42 -05:00
Robby Findler
a849733b8a add more explaination to #%expression 2013-05-06 08:35:18 -05:00
Jay McCarthy
7afde31fa6 Fixing PR13729 2013-05-06 07:23:08 -06:00
Jay McCarthy
a734c6badb Fix re Robby 2013-05-06 07:23:08 -06:00
Ryan Culpepper
7fd52472b4 fixed quasisyntax to work with prefab struct templates
Prefab struct templates have problems with unsyntax-splicing,
but so do vectors. See commented tests.
2013-05-05 18:07:10 -04:00
Ryan Culpepper
219e26b28d improve tests 2013-05-05 18:07:10 -04:00
Ryan Culpepper
002213d98e fix syntax error context 2013-05-05 18:07:09 -04:00
Ryan Culpepper
87921e914e fix problem with define-eh-alternative-set related to lazy-require 2013-05-05 18:07:09 -04:00
Ryan Culpepper
22b9548ecb added raco commands for check-requires, show-dependencies 2013-05-05 18:07:02 -04:00
Ryan Culpepper
c764ee0ac3 add file menu items to macro stepper frames
closes PR 13698
2013-05-05 18:06:35 -04:00
Robby Findler
e5a84eff8d disable the extra information redex puts for check syntax
... because it results in programs that have different identifiers
with overlapping ranges in the editor, something that check syntax is
not yet prepared to deal with.
2013-05-05 15:43:17 -05:00
Robby Findler
48c719a3ee Refactor Redex so that it tells Check Syntax that non-terminal
references are binding/bound variables (beyond those appearing in the
define-language itself)

Specifically,

- change define-language (and friends) so they record binding and
  source location information for non-terminals in the identifier that
  names the language (and to expand to disappeared bindings);

- change rewrite-side-conditions/check-errs so that it accepts the
  language identifier (instead of a list of non-terminals) and returns
  one extra piece of syntax: that extra piece of syntax is just
  (void), but it has a bunch of disappeared uses on it that connect
  to the identifiers added to define-language;

- similarly, adjust (term ...) so that it puts disappeared uses for
  non-terminal references.
2013-05-05 15:43:16 -05:00
Robby Findler
104f22c9f8 relax check syntax's syntax-original? requirement
Allow macro writers to put an 'original-for-check-syntax
property on identifiers and, if it is there, don't
insist on syntax-original? holding, just draw arrows anyway
2013-05-05 15:43:16 -05:00
Matthew Flatt
158997cde7 racket/draw: support libjpeg v9
Closes PR 13721
2013-05-05 09:13:38 -06:00
Matthew Flatt
d5ed6cfe77 raco pkg: make conflict checking work with bytecode
Also, have only one package->modules implementation, instead of
two ways to compute a package's modules.
2013-05-05 09:13:37 -06:00
Burke Fetscher
601640c3b1 redex: fix generate-term error messages 2013-05-04 22:03:27 -05:00
Robby Findler
b6e4bbdbc8 adjust guide to avoid else for match and to encourage _ 2013-05-04 21:32:58 -05:00
Robby Findler
350e8184eb fix my stupid error 2013-05-04 21:32:58 -05:00
Burke Fetscher
66824ec9a9 redex: fix unify coverage tests
expect `_' from match-a-pattern, instead of `else'
2013-05-04 20:22:10 -05:00
Robby Findler
512d953a01 add error checking 2013-05-04 19:53:49 -05:00
Mike Sperber
05d429909f Synch German string constants with latest. 2013-05-04 18:35:06 +02:00
Robby Findler
f8e8c42780 more else -> _ conversions 2013-05-04 10:36:42 -05:00
Robby Findler
ad8b5c5eb7 minor clarification of properties and datum->syntax 2013-05-04 10:32:22 -05:00
Robby Findler
b9375bc7e3 remove some misleading uses of 'else' from Redex 2013-05-04 09:28:11 -05:00
Robby Findler
0aa8862109 add missing require 2013-05-04 07:52:12 -05:00
Asumu Takikawa
e53b0858c3 Fix printing of tc-any-results in type errors.
In the long run, these error messages should get
simplified so that this printing is not necessary.

Closes PR 13577 and PR 13526
2013-05-03 15:13:18 -04:00
Asumu Takikawa
64e1b68c8d Refactor and add purpose statements/contracts 2013-05-03 15:13:18 -04:00
Vincent St-Amour
0690ccd90f Fix race condition in `delay/thread'.
There's mutual dependence between promises and their threads. This may
cause a thread to start running before its promise is fully initialized,
in which case it will be `#<undefined>', which causes errors down the road.

This was the cause of an intermittent failure in the TR test harness.
2013-05-03 13:21:53 -04:00
Asumu Takikawa
7c96321cd4 Fix docs for Opaque
Closes PR 13531
2013-05-03 13:10:31 -04:00
Robby Findler
cf8ec30bee some random tests to try to stress the immutable hash table implementation 2013-05-03 11:58:15 -05:00
Matthew Flatt
03b35cd846 raco setup: allow foreign-lib and man-page installation
This change hopefully fills out the things that a distribution
can do and that packages should be able to extend.
2013-05-03 09:13:41 -06:00
Matthew Flatt
717eacf90d fix bytecode validator bug
If a function is bound by a `letrec' (or internal definition)
that cannot be simplified to `let' or lifted to a constant or
top-/module-level function, and if the `letrec' binding is used in
a non-application position, and if the function has in its closure
a typed binding (i.e., boxed, fixnum, flonum, or extflonum),
then the validator was incorrectly rejecting the function's
bytecode --- because the validator didn't distinguish between typed
arguments and typed closure content.

File under "surprised that we didn't hit this one earlier".
2013-05-03 09:13:41 -06:00
Tobias Hammer
e278d43e22 use correct value for (processor-count) on QNX 2013-05-03 09:13:41 -06:00
Asumu Takikawa
c3b80bee41 Clean up struct: and disallow unsupported options
Related to PR 13562
2013-05-02 18:31:58 -04:00
Jay McCarthy
ccf1119b68 Adding summary mode, quiet program mode and changing tests/eli-tester to cooperate so it adds useful information in summary mode 2013-05-02 14:49:58 -06:00
Matthew Flatt
413ca68435 raco setup: add --doc-index; raco pkg: use --doc-index
This combination of changes moves the decision about rebuilding
"scribblings/main" and "scribblings/main/user" to `raco setup',
which is in a better position to know whether documentation should
be built at all.
2013-05-02 12:18:40 -06:00
John Clements
a2dfe1ba46 added stepper-complete string constant 2013-05-02 09:09:43 -07:00
Eli Barzilay
a4cb954e27 New Racket version 5.3.4.7. 2013-05-02 03:30:13 -04:00
Eric Dobson
9c71dafb63 Fix require/untyped-contract to generate better names in contracts.
Related to PR 13716.
2013-05-01 20:35:20 -07:00
Matthew Flatt
4e6e18119c add advice on cross-compiling for Android 2013-05-01 20:41:40 -06:00
Matthew Flatt
69c417e55b work around Android dlsym() bug 2013-05-01 20:41:40 -06:00
Matthew Flatt
5d653e52ba configure: fix ar' and as' inference for cross-compile 2013-05-01 20:41:40 -06:00