Commit Graph

106 Commits

Author SHA1 Message Date
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
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
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
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
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
3d69dfab86 first cut at submodules 2012-03-09 10:34:56 -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
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
Ryan Culpepper
5befa7320f syntax/id-table: added uncontracted private version 2011-09-30 04:13:09 -06:00
Ryan Culpepper
c7f86d276c removed useless requires 2011-09-27 19:28:44 -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
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Matthew Flatt
1b14c6a38e fix mistakes uncovered by optimizer warnings 2011-05-03 06:57:48 -06:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
Ryan Culpepper
e72244513d fixed racket/dict contracts
un-split syntax/id-table (no contract-free version)
2010-09-13 13:21:03 -06:00
Ryan Culpepper
fa4f48a82c id-tables can work at different phases now
reduced allocation for id-table updates
2010-09-03 13:53:41 -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
Ryan Culpepper
87b1ec35f3 syntax/parse: work around hiding issue in macro stepper 2010-07-13 15:34:34 -06:00
Ryan Culpepper
07f57aac9b Added uses of unstable/struct 2010-07-13 12:07:47 -06:00
Ryan Culpepper
8c42006ad7 unstable/syntax: renamed syntax-local-values/{catch -> record}, changed uses
also added comments to some unstable/syntax functions
2010-07-01 17:05:05 -06:00
Ryan Culpepper
b2196cc595 syntax/parse: fixed bug in litsets at higher phases 2010-06-02 17:19:12 -06:00
Ryan Culpepper
a25996b4b8 syntax/parse: add ~var option #:attr-name-separator (no docs yet) 2010-05-17 16:33:55 -06:00
Ryan Culpepper
1572b1ece4 syntax/parse: change unbound literal error message 2010-05-17 16:33:55 -06:00
Ryan Culpepper
9f0d446ffd syntax/parse: added details to non-syntax attr error 2010-05-12 14:55:41 -06:00
Ryan Culpepper
6d1b2af74d syntax/parse: scheme->racket, docs for literal phases 2010-05-12 14:55:40 -06:00
Ryan Culpepper
d0cc31b35e syntax/parse: reverted error message, fixed error test 2010-05-04 14:12:49 -06:00
Ryan Culpepper
eff9147ddc syntax/parse: literals, literal-sets, and phases (todo: docs)
typed-scheme: added missing import for literal
2010-05-04 14:12:49 -06:00
Ryan Culpepper
f42adad3f8 syntax/parse: allow phase spec for literals 2010-05-04 14:12:48 -06:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Ryan Culpepper
227aa7be73 syntax/parse: allow action patterns within list patterns 2010-04-23 16:49:40 -06:00
Matthew Flatt
c95a398754 move most of the 'scheme' collection to the 'racket' collection 2010-04-20 15:24:48 -06:00
Matthew Flatt
bdb71498e3 module paths normalize to .rkt, load handler converts .rkt back to .ss if necessary
svn: r18788
2010-04-11 16:55:18 +00:00
Ryan Culpepper
fdd42be5d9 syntax/parse:
fixed bug (thanks Jay!)
  some internal additions/changes

svn: r18731
2010-04-03 23:00:37 +00:00
Ryan Culpepper
cec810a9df syntax/parse:
added parameterized conventions
  fixed description for "str" stxclass
  fixed bug in multiple #:declare directives

svn: r18439
2010-03-03 05:50:15 +00:00
Ryan Culpepper
ab71219408 syntax/parse: removed conventions debugging output
svn: r18067
2010-02-12 18:31:30 +00:00
Ryan Culpepper
c1373f8214 syntax/parse:
allow forward references from conventions
  fix progress comparison bug

svn: r18019
2010-02-08 18:39:56 +00:00
Ryan Culpepper
0f08499e54 syntax/parse: started support for backtracking into syntax classes
incomplete, need to separate descriptions from failure handlers

svn: r18013
2010-02-08 09:47:52 +00:00
Carl Eastlund
d7a7409fe0 Merged changes from the trunk.
svn: r17954
2010-02-03 15:15:11 +00:00
Ryan Culpepper
8d2f32efed syntax/parse:
fixed bug: splicing-stxclass immediately within ellipses
  added tests, docs for local-conventions

svn: r17944
2010-02-02 19:48:08 +00:00
Ryan Culpepper
82e1e3308f syntax/parse:
fixed docs bug in ...+
  fixed bug in rep constraint messages

svn: r17938
2010-02-02 07:22:35 +00:00
Ryan Culpepper
cb7600607b syntax/parse:
added nested ~or ellipsis-head patterns
  added ~between, ...+
  cleaned up declenvs
  fixed kernel-literals (include template phase binding)
  pattern variables may not start with ~ (tilde)
  first cut of syntax-class-possible-errors

svn: r17937
2010-02-02 02:28:32 +00:00
Carl Eastlund
88aba214c9 Merged changes from trunk. No conflicts.
svn: r17780
2010-01-23 17:44:27 +00:00