Ryan Culpepper
70a2ced71a
syntax/id-table: simplify use of chaperones
2012-08-29 20:44:04 -04:00
Ryan Culpepper
3ccc93590a
syntax/id-table: more work on *-id-table/c
2012-08-29 20:43:24 -04:00
Eric Dobson
e7c7e14485
Added tests to idtbl/c and fixed revealed bugs.
2012-08-29 20:25:32 -04:00
Eric Dobson
d4efe8f5aa
Clean up creation of identifiers in id-table.rkt
2012-08-29 20:25:32 -04:00
Eric Dobson
4725775126
Implemented contract for immutable id-tables.
2012-08-29 20:25:32 -04:00
Eric Dobson
8f8bc76e39
Add idtbl-chaperone and implement contracts on top of that.
2012-08-29 20:25:32 -04:00
Eric Dobson
54b82871ab
Add support for contracts on identifier tables.
2012-08-29 20:25:31 -04:00
Ryan Culpepper
8ad09dee8e
fix bug typo
...
closes PR 13055
2012-08-28 23:37:00 -04:00
Ryan Culpepper
32ae484c72
syntax/parse: fix scoping of this-syntax (include formals)
2012-08-13 18:47:02 -04:00
Sam Tobin-Hochstadt
77d5cacbff
Add examples for collapse-module-path
.
2012-08-10 10:39:44 -04:00
Ryan Culpepper
0ea03360c3
template: improve syntax property support
2012-08-03 18:14:16 -04:00
Ryan Culpepper
9e566a90ac
find syntax properties to transfer at compile time
2012-07-31 19:15:21 -04:00
Ryan Culpepper
e10951024f
syntax/parse: fix bug in specialized code for ellipsis patterns
...
The result of 'stx->list' is not always either a list or #f.
Merge to 5.3.
2012-07-28 17:37:06 -04:00
Ryan Culpepper
510d3937a7
change id-tables so iterators not invalidated by mutation of existing keys
...
id-table fixes
test for id-table
2012-07-20 10:59:50 -04:00
Sam Tobin-Hochstadt
857a312e61
mzscheme
-> racket/base
in syntax/struct
2012-07-19 10:55:31 -04:00
Matthew Flatt
daa98b4e33
syntax/location: repair after `variable-reference->module-source' fix
2012-07-10 18:35:03 -06:00
Matthew Flatt
603e920538
syntax/location: fix and change `quote-submodule-{name,path}'
...
Paths are left as paths, instead of trying to convert them to strings
or byte strings. Submodule path elements should be unquoted -- in the
same form as a `submod' form. All extra parts are submodule path elements,
never module paths or ".".
2012-07-10 11:42:42 -06:00
Asumu Takikawa
a1aedaff1e
Fix doc typos
2012-07-06 18:59:10 -04:00
Jon Rafkind
6457e69b48
[honu] support for-syntax in require
2012-06-11 13:07:53 -06:00
Sam Tobin-Hochstadt
865a2cdcbd
Support definitions of keyword functions in Typed Racket.
...
Caveats:
- keyword function definitions do not define static
bindings, thus limiting optimization opportunities
- can't use `define:`, `lambda:`, etc with keywords
- error messages sometimes expose the implementation
- the optimizer skips most of the generated code for
keyword functions definitions (user-level code is
optimized)
2012-06-02 18:22:07 -04:00
Matthew Flatt
248301c9ed
disable nested `#lang'
...
A `syntax/module-reader' reader disables `#lang' when looping to
read a module body. The HtDP languages require a little additional
treatment.
2012-05-29 11:01:52 -06:00
Matthias Felleisen
f1c1376d87
added 'range' to *sl per jpr's request and #lang-ified a couple of files
2012-05-29 12:00:27 -04:00
Matthew Flatt
6fded4bac1
syntax/free-vars: fix quadratic behavior
...
(Forgot to fix the "FIXME" before committing last time.)
2012-05-28 20:22:31 -06:00
Matthew Flatt
ee93e35260
syntax/free-vars: deterministic result order
...
Closes PR 12798
2012-05-28 20:15:43 -06:00
Matthew Flatt
964020f288
implement scribble/srcdoc' via submodules instead of
expand'
...
Also add a `for-doc' require form, make `proc-doc' et al. provide
forms, make `provide/doc' an alias for `provide'.
2012-05-12 01:37:50 -06:00
Matthew Flatt
9412ea0707
add `syntax/quote' library
2012-05-12 00:55:12 -06:00
Ryan Culpepper
3bde72ffb0
syntax/parse: fix dependencies of experimental modules
2012-05-07 14:46:14 -06:00
Ryan Culpepper
eb3dce14cd
fix some doc contracts for submodules
2012-05-07 14:46:13 -06:00
Stevie Strickland
b2bfbad240
Add special typechecking rule for expansion of (quote-module-name).
2012-05-03 19:38:47 -04:00
Matthew Flatt
9ba663aa77
preserve submoduleness in module path index for expanded submodules
...
The preserved path is exposed by a new `module-path-index-submodule'
function, and `module-path-index-join' now accepts an optional
submodule path.
Also, fixed a problem with `collapse-module-path-index' when
a module path indx is built on a resolved module path that
is a submodule path.
In addition to the main repair, `collapse-module-path[-index]' is
correctly documented to allow '(quote <sym>) rel-to paths.
Finally, `collapse-module-path-index' changed to use a symbolic
resolved module path that appears as the base of a module path
index, rather than falling back to the given rel-to path. It's
possble that the old beavior was intentional, but it wasn't tested,
and it seems more likely to have been a bug.
Closes PR 12724
2012-04-24 21:10:28 -06:00
Ryan Culpepper
211e382a70
syntax/parse: update phase discussion with begin-for-syntax
...
merge to 5.3
2012-04-10 15:50:32 -06:00
Kevin Tew
bba967144b
quote-module-name and quote-module-path now take an optional submodule path
...
(quote-module-name "..")
(quote-module-path ".." 'A 'B)
2012-03-28 18:52:02 -06:00
Matthew Flatt
ae89e210fb
allow (submod "..")' as a shorthand for
(submod "." "..")'
...
Also, `(submod ".")' is allowed as a module path; it's not useful,
but it makes the grammar slightly more regular.
2012-03-22 18:43:11 -06:00
Ryan Culpepper
74ca931f5a
more template improvements
...
- loosen pattern variable depth rules (now compatible with syntax)
- generalize ?? form to head-templates
- doc improvements
- propagate paren-shape property
2012-03-21 17:48:10 -06:00
Ryan Culpepper
df265ddc67
syntax/parse: eliminate old minimatch struct syntaxes
2012-03-21 17:33:08 -06:00
Ryan Culpepper
6c369f2563
updates to syntax/parse/experimental/template
...
- changed substitute to use closure-compilation
- added stress/perf test for templates
- updated minimatch with vector patterns
- split substitute into separate file, minimize dependencies
- do ellipsis optimization dynamically
- validate guides: check var indexes
2012-03-21 17:33:08 -06:00
Ryan Culpepper
a564110c08
syntax/parse: change expectstack rep to reduce/consolidate allocations
2012-03-13 19:50:09 -06:00
Ryan Culpepper
5db8553ea1
syntax/parse: expect:thing stores stx being matched
2012-03-13 19:50:09 -06:00
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