Ryan Culpepper
d5fe602131
added #:datum-literals, like #:literals but for ~datum patterns
2013-01-22 21:35:53 -05:00
Ryan Culpepper
fd7d8a412c
move lazy-require to racket/lazy-require
2012-12-03 19:28:12 -05:00
Ryan Culpepper
5470899d6e
fix shadowing (caused unwanted state threading)
...
closes PR 13327
2012-12-01 11:17:13 -05:00
Ryan Culpepper
d8296a31f5
syntax/parse/experimental/template: make errors consistent with 'syntax'
2012-09-27 12:45:55 -04:00
Ryan Culpepper
008d1f7f1b
syntax/parse/experimental/template: quasitemplate, template/loc
2012-09-24 13:31:03 -04:00
Ryan Culpepper
8a02ff54ac
syntax/parse/experimental/template: improve prop handling & syntax checks
...
Separate parameters for props to serialize and those to transfer.
Make syntax?/list? checks on attributes explicit.
Also add continuation barrier around metafunction application.
2012-09-20 12:28:18 -04:00
Ryan Culpepper
ddcafbc6d1
syntax/parse/experimental/template: fix ellipses/depth rules again
2012-09-20 12:19:51 -04:00
Ryan Culpepper
35a0e50de4
syntax/parse/experimental/template: fixed bugs, added error tests
2012-09-17 18:11:44 -04:00
Ryan Culpepper
fcac1fdc50
syntax/parse/experimental/template: fix bad initial environment
2012-09-17 12:29:17 -04:00
Ryan Culpepper
32ae484c72
syntax/parse: fix scoping of this-syntax (include formals)
2012-08-13 18:47:02 -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
3bde72ffb0
syntax/parse: fix dependencies of experimental modules
2012-05-07 14:46:14 -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
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
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
e2404184ee
syntax/parse: fix opaque head patterns and splicing syntax classes
...
closes PR 12537
2012-02-07 13:43:26 -07:00
Ryan Culpepper
a1009bbf26
syntax/parse: add begin-for-syntax to kernel-literals
2011-10-07 19:40:48 -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
Eli Barzilay
623c7493ed
Some selective #:when (not ...)' ->
#:unless ...'.
2011-09-16 10:48:18 -04: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
Ryan Culpepper
883e9e9e6b
syntax/parse: syntax-parse sets current-syntax-context
2011-08-30 12:04:25 -06: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
Eli Barzilay
3157955d40
".ss" -> ".rkt" scan done.
2011-07-02 10:37:53 -04: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
Ryan Culpepper
2cea046fef
syntax/parse: report stxclass arity error without ~var form
...
closes PR 11933
2011-06-27 10:21:12 -06: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
Ryan Culpepper
d9f05a61a3
syntax/parse: better error message for unbound literals
2011-05-05 02:17:54 -06:00
Ryan Culpepper
1bf95392d2
syntax/parse: added litset extension
2011-05-03 01:25:41 -06:00