Matthew Flatt
dfdc22ea12
doc repair
...
Closes PR 13415
2013-02-14 15:55:07 -07:00
Ryan Culpepper
d5fe602131
added #:datum-literals, like #:literals but for ~datum patterns
2013-01-22 21:35:53 -05:00
Carl Eastlund
5130abf2dd
Wrote documentation for quote-srcloc-string and quote-srcloc-prefix.
2013-01-14 17:17:10 -05:00
Carl Eastlund
860cc3cbed
Added quote-srcloc-string and quote-srcloc-prefix to syntax/location.
...
Also cleaned up implementation; only generates syntax for requested part(s) of
source location, and is more intelligent about calculation of relative paths.
2013-01-14 17:17:10 -05:00
Carl Eastlund
b03450c7b0
Clarified the purpose of quote-module-name and quote-module-path in the Scribble docs.
2013-01-14 17:17:10 -05:00
Robby Findler
2067534431
add #:extra-srclocs argument to raise-read-error
...
Also, modernize the error checking to use raise-argument-error
and generally Rackety
2013-01-11 23:09:38 -06:00
Asumu Takikawa
3885ea7cdd
Fix doc typos
2013-01-03 02:27:30 -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
Matthew Flatt
6b16679b39
fix `lazy-require' in phase levels other than 0
...
The `lazy-require' form expands to `define-runtime-module-path-index',
whch doesn't work right at phase levels other than 0. Work around the
problem by generating a submodule to hold the
`define-runtime-module-path-index' form.
This repair fixes `raco exe' on certain uses of `match', which in turn
uses `lazy-require' at compile time.
Also, use `register-external-module' to generate appropriate
dependencies on lazily loaded modules.
2012-11-11 09:38:16 -07:00
Matthew Flatt
a6cfe3d5fb
fix `resolve-module-path-index' when w.r.t. is submodule
...
A submodule path on the w.r.t. path was incorrectly (in most
cases) added to the resolved path.
2012-11-11 09:38:15 -07:00
Eli Barzilay
14d8c8b5a5
Newlines at EOFs.
2012-11-06 14:07:15 -05:00
Danny Yoo
dcf4d8b040
adding close-eval at the end of scribble files that have a toplevel evaluator
2012-11-01 15:32:53 -06: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
Matthew Flatt
fc52248446
add #:break' and
#:final' to `for' forms
...
Support for break clauses complicates expansion to `for/fold/derived';
a new `syntax/for-body' library provides a helper for macros that need
to split a `for'-style body into a prefix part and wrappable part.
2012-09-14 14:57:35 -06:00
Matthew Flatt
4f351dd6b1
add `current-compiled-file-roots', PLTCOMPILEDROOTS, and -R/--compiled
...
The new parameter (and supporting environment variables and
command-line flags) can bytecode lookup to a tree other than
where a source file resides, so that sources and generated
compiled files can be kept separate. It also supports storing
bytecode files in a version-specific location (either with
the source or elsewhere).
2012-09-11 13:18:18 -06:00
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