Ryan Culpepper
6cf3127cf9
syntax/parse: put failure information in syntax exn
2012-03-13 19:50:08 -06:00
Matthew Flatt
facc8db712
change module-path?' to subsume
path?'
...
Although th eoriginal idea was to distinguish "text" paths
from derived filesystem paths, practically everythign that accepts
a module path also accepts a path. Building the generalization into
`module-path?' makes it easier to support `submod' wrappers on paths,
and it seems to fix things rather than break them.
2012-03-12 21:08:54 -06:00
Matthew Flatt
6743900fc7
get-module-code repair
2012-03-09 10:34:57 -07:00
Matthew Flatt
a6a1b02de5
more doc updates for submodules
2012-03-09 10:34:57 -07:00
Matthew Flatt
3d69dfab86
first cut at submodules
2012-03-09 10:34:56 -07:00
Ryan Culpepper
fb7c7e3793
syntax/parse: added roles, other updates/fixes
...
expr/c uses role for contract label when avail
export ~peek-not (previously missed)
fixes for integrable stxclasses
2012-03-08 07:39:42 -07:00
Ryan Culpepper
a0065b9efa
syntax/parse: cut-prompt is inherited, not threaded
2012-03-08 01:17:47 -07:00
Ryan Culpepper
14089e0ac6
syntax/parse: clean up integrable stxclass code
2012-03-08 01:17:47 -07:00
Ryan Culpepper
3e6069a70f
syntax/parse: optimize common ellipsis patterns
2012-02-28 05:27:58 -07:00
Ryan Culpepper
2a3d6d5c31
syntax/parse: add attribute-prefix check to template form
...
(template x.y) raises an error if x an attribute but x.y is not.
2012-02-28 05:27:57 -07:00
Matthew Flatt
60c1bc6638
fix problem with `get-module-code'
...
As reported and fixed by Timur Sufiev
2012-02-24 17:06:20 +00:00
Eli Barzilay
c007c345f9
A bunch of more typos like the ones in David's commit.
2012-02-21 14:21:43 -05:00
Ryan Culpepper
5a1badf397
syntax/parse: added template metafunctions
...
Also fixed some bugs and added simple optimizations.
2012-02-10 22:12:54 -07:00
Ryan Culpepper
06979954fa
syntax/parse: added experimental template form
...
Also added more atomic patterns to syntax-parse (previously overlooked).
2012-02-10 05:26:13 -07:00
Ryan Culpepper
ed1ba3a442
syntax/parse docs: use trusted sandbox config
...
closes PR 12546
2012-02-07 13:43:26 -07:00
Ryan Culpepper
e2404184ee
syntax/parse: fix opaque head patterns and splicing syntax classes
...
closes PR 12537
2012-02-07 13:43:26 -07:00
Ryan Culpepper
f99d79ef10
pruned unstable/contract
...
Removed unused code. Removed nat/c, pos/c as they correspond to
standard predicates.
2011-12-18 13:56:00 -07:00
Matthew Flatt
ee775c3cc3
intern strings, etc. only when making syntax objects, not in `read'
...
Rename `read-intern-literal' to `datum-intern-literal'.
Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
2011-12-14 16:03:44 -07:00
Matthew Flatt
25dd8727cb
add datum-case', etc. as
syntax/datum'
...
This library is used by Redex, which wants a `syntax'-like template
language, but for datum values instead of syntax objects. Using
`datum-case' and `datum' generates much less code. Redex uses
only a small part of the general functionality, so adding
`syntax/datum' could be overkill. It's implemented by generalizing
the `syntax-case' and `syntax' pattern matching and template
constructing code, though; it's not a lot of extra code, and it's
easiest to generalize completely. We may find other uses for
datum templates, too.
2011-12-12 08:13:20 -07:00
Matthew Flatt
17504a960e
more interning related to Scribble xref
2011-12-10 11:43:58 -07:00
Matthew Flatt
b2fade9206
read-intern strings generated by Scribble; other interning
...
This change saves a small amount of space in cross-reference files
and some space in loaded cross-reference information.
It also saves work converting strings to mutable on deserialize,
although the performance difference seems negligible.
2011-12-10 11:43:58 -07:00
Matthew Flatt
a04272d245
fix typo and text duplication
2011-11-27 13:27:04 -07:00
Matthew Flatt
b157ff2399
fix `#lang at-exp' spec and related
...
Closes PR 12174
2011-11-27 11:22:41 -07:00
Matthew Flatt
edec6fafd1
remove unused library (formerly used by the Racket->C compiler)
2011-11-12 05:33:20 -07:00
Ryan Culpepper
81fa15e27b
updated documentation for syntax/trusted-xforms
...
closes PR 12269
merge to 5.2
2011-10-16 02:40:41 -06:00
Ryan Culpepper
192e039e66
fix docs (eval) for syntax/keyword
2011-10-07 19:40:48 -06:00
Ryan Culpepper
a1009bbf26
syntax/parse: add begin-for-syntax to kernel-literals
2011-10-07 19:40:48 -06:00
Ryan Culpepper
528c05b228
emphasize syntax/id-table over syntax/boundmap
2011-10-07 19:40:48 -06:00
Ryan Culpepper
d3cb67b756
syntax/parse: fixed docs
...
closes PR 12255
2011-10-07 19:40:48 -06:00
Matthew Flatt
ec380e34ed
remove built-in reader and printing support for Honu
...
This is a backward-incompatible change, but I think it's
unlikely that any code depends on the removed bindings
or reader syntax.
2011-10-05 09:40:27 -06:00
Ryan Culpepper
38d984367e
syntax/parse: fix check-literals code (references to disappearing names)
2011-10-02 14:17:07 -06:00
Ryan Culpepper
a22783f635
syntax/parse: added workaround for racket/runtime-path at phase>0
2011-09-30 04:13:09 -06:00
Ryan Culpepper
5befa7320f
syntax/id-table: added uncontracted private version
2011-09-30 04:13:09 -06:00
Ryan Culpepper
323aff1efb
syntax/parse: added syntax/parse/pre
...
No *residual* dependencies on racket/contract/base (the *disappearing*
macro transformers and compile-time support do use contracts, though).
2011-09-30 04:13:09 -06:00
Ryan Culpepper
1c6b8bd68e
syntax/parse: lazily load most macro transformers and compile-time support
2011-09-30 04:13:09 -06:00
Ryan Culpepper
c7f86d276c
removed useless requires
2011-09-27 19:28:44 -06:00
Ryan Culpepper
7cc1476170
syntax/parse: fix bug: integrated stxclass might not bind pvar to syntax
2011-09-21 16:58:52 -06:00
Ryan Culpepper
095b5a5131
syntax/parse: use new primitive cross-phase identifier comparison
2011-09-20 14:27:33 -06:00
Matthew Flatt
0197902309
add var-ref->mod-decl-insp' and switch
cur-code-insp' uses
...
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.
The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Eli Barzilay
623c7493ed
Some selective #:when (not ...)' ->
#:unless ...'.
2011-09-16 10:48:18 -04:00
Matthew Flatt
c352ef8fce
allow different phases for `free-identifier=?' arguments
2011-09-12 17:08:50 -06:00
Matthew Flatt
41bdb139d4
fix a formerly overlooked `kernel-syntax-case'
...
Caught by the Check Syntax tests that use Pretty Big
2011-09-08 19:03:54 -06:00
Matthew Flatt
d3c56c9f13
generalized `begin-for-syntax'
2011-09-08 14:06:00 -06:00
Ryan Culpepper
3aa16f2c26
syntax/parse: speed up "is literal bound?" check
...
Can't do check completely statically, because phase of comparison
is expression (and even default is slightly unpredictable).
So instead compute whether check would succeed for likely phase
offsets, and use list of ok offsets as run-time fast path (memv
instead of identifier-binding).
2011-09-06 12:41:03 -06:00
Ryan Culpepper
68e76a9876
syntax/parse: speed up free-identifier=?/phases when phases are same
2011-09-06 12:41:03 -06:00
Matthew Flatt
20a1440dcf
fix build-struct-generation' to work with
racket/base'
...
and also still works with `mzscheme'
2011-09-03 07:49:22 -06:00
Ryan Culpepper
883e9e9e6b
syntax/parse: syntax-parse sets current-syntax-context
2011-08-30 12:04:25 -06:00
Eli Barzilay
2ef9f5ae0e
Fix a bug in resolve-module-path' to do an
expand-user-path', which
...
`file' specs do too (in `require' etc).
2011-08-26 10:13:27 -04:00
Jay McCarthy
3cd6be5931
I believe this fixes PR12117. The teaching languages rely on syntax/struct. (I have run the teaching language tests, but do not other uses of syntax/struct.) It appears that syntax/struct has been incorrectly creating this information for some time. The problem is that it would end the static info with a #f if the selectors or setters were omitted, but reading the documentation implies that there should be a final #f in either case. I've therefore changed the boolean to an or over the flags
2011-08-19 11:30:42 -06:00
Eli Barzilay
d61eb53686
Lots of documentation formatting.
...
Started as fixing misindented definitions, then more indentations, then
a bunch of similar things (square brackets, huge spaces at end-of-lines,
etc).
2011-08-15 07:50:04 -04:00
Matthew Flatt
39a96dd699
add `prop:liberal-define-context'
2011-08-09 16:33:16 -06:00
Ryan Culpepper
95ce7ec6ed
scribble style (capitalize section names)
2011-08-09 12:29:28 -06:00
Matthew Flatt
c6f1178be3
fix an error message
2011-07-27 05:47:46 +01:00
Matthew Flatt
d8d762517f
fix `get-module-path' and associated exception
...
Closes PR 12029
2011-07-17 08:14:33 -06:00
Matthew Flatt
ab0e78122c
revert unnecessary refactoring
...
--- intended to avoid creating a dependency that already exists
Merge 5.1.2
2011-07-16 21:02:41 -06:00
Matthew Flatt
7af5d490ad
fix cm to configure reader when reading .dep files
...
Merge to 5.1.2
2011-07-16 19:29:28 -06:00
Matthew Flatt
f40dc87c29
add letrec-syntaxes+values' to
kernel-syntax-case'
...
Do not merge to 5.1.2; the implications for backward
compatibility are not clear to me.
2011-07-15 20:16:58 -06:00
Vincent St-Amour
111ef109c3
Add vectors to syntax->list.
2011-07-14 17:06:52 -04:00
Carl Eastlund
00a6442712
Changed source-location->string and ->prefix to use
...
path->relative-string/library to produce collection and planet-relative source
names.
2011-07-09 14:48:14 -04:00
Carl Eastlund
2e6a608539
Corrected documentation of quote-module-name to indicate that it does not
...
produce collection and planet-relative paths on its own. Deprecated
quote-module-path, and replaced existing uses of it with quote-module-name.
2011-07-09 14:46:58 -04:00
Ryan Culpepper
0aecbf97ff
syntax/parse: add expr/c to main module
...
Merge to release branch
2011-07-08 15:34:59 -06:00
Eric Dobson
07910253b4
Fixes build-struct-expand-info to create correct struct info.
...
Adds a check to struct-info? to make sure selectors
and mutators are the same length. Closes PR12017.
2011-07-05 11:25:10 -04:00
Eli Barzilay
3157955d40
".ss" -> ".rkt" scan done.
2011-07-02 10:37:53 -04:00
Eli Barzilay
4da4a2759b
New setup/path-to-relative' that supersedes
unstable/dirs' and most of
...
`setup/private/path-utils'.
The API is a little different: instead of getting the alist and the
path, there's a curried function that gets the alist and produces a
function to do the substitutions.
2011-07-02 01:10:38 -04:00
Ryan Culpepper
1b702a2ae3
docs reorganization
...
added tutorial, racket categories
relabeled some other categories
normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Matthew Flatt
b163edff9b
clean up my clumsy first attempt to adapt the web-server languages
...
for syntax taints
2011-07-01 17:11:16 -06:00
Carl Eastlund
97642c1cb6
Fixed syntax/parse bug:
...
Syntax classes with keyword arguments were unintentionally requiring all
arguments at an application site to be in alphabetical order.
Added a test for this fix.
2011-07-01 15:32:34 -04:00
Robby Findler
69b5daa9e6
remove docs tests that no one was interested in
2011-07-01 11:38:09 +08:00
Matthew Flatt
1160d3df62
remove syntax certificates; add syntax taints
2011-06-29 19:15:48 -06:00
Eli Barzilay
40124a0619
A long overdue scan to eliminate files without terminating newlines.
...
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Eli Barzilay
a38f384a00
Finish converting scheme' ->
racket'.
...
Everything compiles fine now even if the compatibility bindings are
gone.
2011-06-28 00:45:38 -04:00
Ryan Culpepper
2cea046fef
syntax/parse: report stxclass arity error without ~var form
...
closes PR 11933
2011-06-27 10:21:12 -06:00
Eli Barzilay
ac26fe7554
A ton of @scheme*' ->
@racket*' and related updates.
...
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Eli Barzilay
debd1f9f1e
Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
...
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Ryan Culpepper
5bf4b1c930
moved phase-of-enclosing-module to unstable/syntax
...
closes PR 11970
2011-06-10 13:22:33 -06:00
Ryan Culpepper
c8a691490a
syntax/parse: added literal-set->predicate
...
closes PR 11968
2011-06-10 13:22:26 -06:00
Sam Tobin-Hochstadt
744d1921d8
Remove duplicate definitions; reprovide from `racket/private/stx' instead.
2011-05-16 14:55:17 -04:00
Sam Tobin-Hochstadt
18e83f2f3b
Fix result contract of `stx->list'.
2011-05-16 14:55:17 -04:00
Robby Findler
507b1cd8fd
moved the docs-complete library into rackunit
...
to avoid having a separate, new manual for the
one library
2011-05-05 16:10:42 -05:00
Ryan Culpepper
abb8f63036
syntax/parse: made link to pattern-directive docs more prominent, indexed
...
Closes PR 11882
2011-05-05 02:17:54 -06:00
Ryan Culpepper
d9f05a61a3
syntax/parse: better error message for unbound literals
2011-05-05 02:17:54 -06:00
Matthew Flatt
1b14c6a38e
fix mistakes uncovered by optimizer warnings
2011-05-03 06:57:48 -06:00
Ryan Culpepper
1bf95392d2
syntax/parse: added litset extension
2011-05-03 01:25:41 -06:00
Ryan Culpepper
e5e12ab01a
syntax/parse: added define-syntax-class/specialize
2011-05-02 21:02:11 -06:00
Ryan Culpepper
0a048b67bb
syntax/parse: refactored some parsing/checking code
2011-05-02 20:28:51 -06:00
Ryan Culpepper
aac8be59ac
updated syntax/parse docs
2011-04-25 20:24:35 -06:00
Ryan Culpepper
bf5248e3b5
syntax/parse: changed #:declare back to "magical" scoping
2011-04-25 20:24:35 -06:00
Robby Findler
e7d0029aea
added lots of new tests that our documentation is complete
2011-04-25 13:24:43 -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
fdede6f063
syntax/parse: added docs for litset #:at kw, relaxed restriction on arg
2011-04-15 14:47:29 -06:00
Ryan Culpepper
7828a7bfa7
moved unstable/{location,srcloc} to syntax collection
...
fixed bugs in unstable/wrapc
2011-04-08 08:25:22 -06:00
Ryan Culpepper
76c75d5a87
added stx-map to syntax/stx from unstable/syntax
2011-04-07 09:47:20 -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
Ryan Culpepper
0bec757e5e
syntax/parse: fixed bug in ~literal uncovered by litset changes
2011-04-07 09:47:20 -06:00
Robby Findler
2893470f27
eliminate one more use of mzlib/contract
2011-04-06 11:35:26 -05:00
Vincent St-Amour
5200b93a0c
Fix ~literal patterns in syntax-parse.
2011-04-01 14:56:17 -04:00
Robby Findler
d1414748a1
fix the contract on get-module-code
...
closes PR 11836
2011-04-01 11:57:55 -05:00
Ryan Culpepper
c677932baf
syntax/parse: added define/syntax-parse, like define/with-syntax
2011-04-01 02:12:30 -06:00
Ryan Culpepper
896cb86dc4
syntax/parse: added phase options to define-literal-set
2011-04-01 00:57:04 -06:00