Commit Graph

441 Commits

Author SHA1 Message Date
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
Robby Findler
9245f4b19a move away from mzlib/contract and towards racket/contract 2011-03-28 23:04:43 -05:00
Ryan Culpepper
bf591d4d01 syntax/parse: added #:disable-colon-notation option 2011-03-17 13:47:38 -06:00
Ryan Culpepper
b5154b444f syntax/parse: docs for define-simple-macro 2011-03-17 13:47:38 -06:00
Ryan Culpepper
012746540c syntax/parse: added define-simple-macro form (needs docs) 2011-03-17 13:47:38 -06:00
Ryan Culpepper
1353d40612 syntax/parse: allow zero syntax-parse clauses and zero syntax-class variants 2011-03-17 13:47:38 -06:00
Matthew Flatt
cf69cb2aff special treatment of void as 'inferred-name property
allows keyword-based application to hide temporary
 names that happen to be bound to procedure arguments
2011-03-13 09:02:39 -06:00
Ryan Culpepper
4ef3dfe6a8 fixed doc typo
Fixes PR 11703
  Merge to release branch
2011-02-03 17:02:35 -07:00
David Van Horn
c9519fd113 Fixed various spelling errors. 2011-02-03 17:42:33 -05:00
Ryan Culpepper
b8fc41283e syntax/parse: exported and documented ~do action pattern 2010-12-09 12:19:34 -07:00
Ryan Culpepper
c51f769672 syntax/parse: vars w/ splicing-stxclasses bind stxobjs, not lists 2010-12-09 12:19:26 -07:00
Matthew Flatt
43d69fa80e fix duplicate definitions 2010-12-05 13:15:43 -07:00
Ryan Culpepper
8605fecaf3 syntax/parse: fixed bug in #:do (with expression) 2010-11-26 19:28:55 -07:00
Ryan Culpepper
a2c4574688 syntax-parse: improved error for non-syntax attribute in syntax template 2010-11-11 16:14:37 -07:00
Ryan Culpepper
a39645ff7a fixed error in syntax-parse docs (re ~bind, #:attr) 2010-11-05 13:47:54 -06:00
Ryan Culpepper
553ef2834d syntax/parse: removed stx from expectstack 2010-11-03 18:09:21 -06:00
Ryan Culpepper
95d690d550 syntax/parse: pinpoint stx from progress, not expectstack 2010-11-03 18:09:21 -06:00
Ryan Culpepper
68e7cda162 syntax/parse: added todo items 2010-11-03 18:09:20 -06:00
Ryan Culpepper
60f8d3854a syntax-parse: tidy up 2010-10-29 16:01:51 -06:00
Ryan Culpepper
c941db0bfa Added ~peek-not, cf packrat/PEG ! operator 2010-10-22 15:30:24 -06:00
Matthew Flatt
fe301b1ff4 print-boolean-long-form, #true, #false, read-accept-lang, flonum? 2010-10-08 15:13:04 -06:00
Vincent St-Amour
f281abe693 Added quote-syntax to kernel-literals. 2010-10-06 17:32:29 -04:00
Ryan Culpepper
de5b110d75 added lookahead (~peek) 2010-10-04 11:54:03 -06:00
Eli Barzilay
ee138cf2cb Some repeated "and and"s and "the the"s, and two more typos.
Closes PR 11229.
2010-09-20 15:38:18 -04:00
Ryan Culpepper
274c56a4d5 fixed bug in syntax/modcode docs 2010-09-17 16:54:53 -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
3f15f5bc13 edited syntax/parse intro 2010-09-13 13:21:01 -06:00
Ryan Culpepper
90cf9f2183 reorg and renamed syntax/parse docs, removed useless section tags
Fixes PR 11163
2010-09-06 23:26:42 -06:00
Ryan Culpepper
fff692309e removed useless requires 2010-09-03 13:53:42 -06:00
Ryan Culpepper
b572f0c7dc removed useless requires 2010-09-03 13:53:41 -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
be3ca941bb eliminated some uses of rest-args and list unpacking 2010-08-31 18:36:32 -06:00
Ryan Culpepper
6c42fe2766 changed static syntax class back to perform post-checks 2010-08-31 16:21:45 -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
Matthew Flatt
036ed57000 fix *SL `define-struct' expand-time info: omit non-existent struct type 2010-08-30 16:11:08 -06:00
Eli Barzilay
606b7f60dc Lots of "~e" to "~.s" changes. 2010-08-25 17:17:01 -04:00
Matthew Flatt
90ec44f65c CM: report bad dependencies clearly; fix file-stamp-in-paths
for when `use-compile-file-paths' has multiple subpaths
  Probably merge to 5.0.1
2010-07-21 15:50:22 -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
Matthew Flatt
b884b1f409 modcode: fix ss<->rkt handling for bytecode & extensions 2010-06-12 15:55:31 -06:00
Matthew Flatt
773d0f6d70 fix use of .ss when .rkt exists in executable creation
more generally, fixes anything tha uses syntax/modcode
2010-06-05 16:49:34 -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
Eli Barzilay
939af28a4c Some random ".ss" -> ".rkt"s 2010-05-17 05:58:19 -04:00
Eli Barzilay
2d9601089d A lot of "MzScheme" -> "Racket"s. 2010-05-16 18:26:26 -04:00
Matthew Flatt
aa9a8549ad finish Guide chaper on defining languages 2010-05-14 13:34:23 -06:00
Matthew Flatt
8752e65bf8 disable check on a module's source name 2010-05-14 11:33:09 -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
Matthew Flatt
eb15dceb34 rackety misc docs 2010-05-07 09:13:51 -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
Matthew Flatt
a6694a08b7 fix make-base-namespace in scheme/base (PR 10870) 2010-04-26 06:47:02 -06:00
Matthew Flatt
616080c7c4 change 'define-struct' to bind the type name as a constructor, add an #:extra-constructor-name option, etc. 2010-04-25 12:10:36 -06:00
Ryan Culpepper
227aa7be73 syntax/parse: allow action patterns within list patterns 2010-04-23 16:49:40 -06:00
Robby Findler
59d90b279d improved support for #lang planet (in drscheme) 2010-04-21 12:14:17 -04:00
Matthew Flatt
51fb2b4a31 doc improvement 2010-04-21 19:15:20 -06:00
Matthew Flatt
7503f8c6e9 change #:module-info to #:language-info for consistency with module->language-info 2010-04-21 18:50:16 -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
b4aa4d4afb add define-values-for-export to scheme/unit; sort out different unit-signature 'struct' forms for mzlib vs. scheme vs. racket
svn: r18792
2010-04-12 13:54:40 +00: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
Matthew Flatt
b559c9db9b initial cut at HtDP languages via #lang; syntax/module-reader: split compiled-module info from reader info, reorganize and complete docs, don't export read-properties or get-info-getter for now
svn: r18759
2010-04-08 02:30:00 +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
Matthew Flatt
1af4bb9cfb fix problem with 'make-meta-reader' and passing a module path to the next reader in the chain
svn: r18511
2010-03-11 14:00:01 +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
Stevie Strickland
e54f1c3a5e scheme/contract => scheme/contract/base
svn: r18371
2010-02-27 01:03:55 +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
fe40d3e888 Merged changes from trunk.
svn: r18007
2010-02-06 19:23:24 +00:00
Eli Barzilay
c88a5a6856 A bunch of additional typos
svn: r17976
2010-02-05 03:21: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
2513e7d6e0 Merged changes from the trunk.
svn: r17892
2010-01-30 04:59:20 +00:00
Ryan Culpepper
f14118c075 syntax/parse: added syntax/parse/experimental
svn: r17873
2010-01-28 21:08:02 +00:00
Carl Eastlund
88aba214c9 Merged changes from trunk. No conflicts.
svn: r17780
2010-01-23 17:44:27 +00:00
Carl Eastlund
7f58c26709 Replaced uses of quote-srcloc with quote-syntax.
svn: r17757
2010-01-19 23:25:07 +00:00
Ryan Culpepper
ef138249f4 syntax/parse: fixed bugs (thanks samth)
Please propagate this to the release branch.

svn: r17756
2010-01-19 21:03:51 +00:00
Carl Eastlund
ad7976079f Kept syntax-parse expr/c error message consistent with define/contract.
svn: r17750
2010-01-19 09:26:42 +00:00
Carl Eastlund
722fae41a8 Ported more code to new contract tools.
svn: r17733
2010-01-19 03:42:45 +00:00
Ryan Culpepper
7b866a7cf3 syntax/parse: fixed error message (PR 10683)
svn: r17517
2010-01-06 22:20:25 +00:00
Ryan Culpepper
f0b09a0842 syntax/parse: fixed conventions and literal-sets
svn: r17345
2009-12-17 22:35:25 +00:00
Eli Barzilay
aaaa4754de document new name
svn: r17229
2009-12-06 11:10:53 +00:00
Eli Barzilay
f83bf42796 use "anonymous-module" for modules without a source file
svn: r17228
2009-12-06 10:46:05 +00:00
Ryan Culpepper
63469d2f3d scribblings: fixed misc doc typos
syntax/id-table: disabled debugging code

svn: r17215
2009-12-05 22:02:46 +00:00
Eli Barzilay
2ea73bb1bd Move some code outside of the main macro, a few other simplifications.
svn: r17202
2009-12-05 08:35:37 +00:00