Commit Graph

33 Commits

Author SHA1 Message Date
Ryan Culpepper
fd7d8a412c move lazy-require to racket/lazy-require 2012-12-03 19:28:12 -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
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
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
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
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
a22783f635 syntax/parse: added workaround for racket/runtime-path at phase>0 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
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
Ryan Culpepper
e5e12ab01a syntax/parse: added define-syntax-class/specialize 2011-05-02 21:02:11 -06: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
7828a7bfa7 moved unstable/{location,srcloc} to syntax collection
fixed bugs in unstable/wrapc
2011-04-08 08:25:22 -06:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
Ryan Culpepper
553ef2834d syntax/parse: removed stx from expectstack 2010-11-03 18:09:21 -06:00
Ryan Culpepper
b572f0c7dc removed useless requires 2010-09-03 13:53:41 -06:00
Ryan Culpepper
712a8f60e9 updated syntax/parse/exp./splicing, updated honu use
fixed stress.rkt
2010-08-31 16:21:44 -06:00
Ryan Culpepper
d7a87c79e0 Merged changes to syntax/parse
Changed backtracking algorithm, runtime representations
    - syntax classes, ~describe no longer implicitly commit
    - ~describe no longer delimits effect of cut
  Added keyword & optional args for stxclasses
  Added ~do and #:do, ~post, ~commit and #:commit,
    ~delimit-cut and #:no-delimit-cut
  Added syntax/parse/debug, syntax/parse/experimental/*
    - expr/c for contracting macro sub-expressions
      moved from syntax/parse to syntax/parse/experimental/contract
    - syntax class reflection (~reflect, ~splicing-reflect)
    - eh-alternative-sets (~eh-var)
    - provide-syntax-class/contract
      (only for params, not attrs so far)
  Changed ~fail to not include POST progress (#:fail still does)
    old (~fail _) is now (~post (~fail _))
  Made msg argument of ~fail optional
  Removed generic "repetition constraint violated" msg
  Removed atom-in-list stxclass
  Removed unnecessary datum->syntax on cdr of pair pattern
    massive improvements to long-list microbenchmarks
  Optimization: integrable syntax classes (id, expr, keyword)
    need better measurements
  Optimization: ad hoc elimination of head/tail choice point
    for (EH ... . ()) patterns
  Added unstable/wrapc (proc version of expr/c)
2010-08-31 10:55:58 -06:00