Matthew Flatt
11fd70c3dd
expander: fix require
after shadowing define
2018-03-01 14:14:24 -07:00
Matthew Flatt
7069510d67
expander: bind U+3BB as a macro, not a core form
2018-03-01 11:55:35 -07:00
Matthew Flatt
ae0ce206f8
reader: source location for #lang
language
2018-03-01 09:40:33 -07:00
Matthew Flatt
a668a6a674
expander: fix compilation of top-level begin-for-syntax
2018-03-01 08:22:22 -07:00
Matthew Flatt
618d362f09
load, ...: make sure load handlers receive paths
2018-03-01 07:56:44 -07:00
Matthew Flatt
c59c961ebc
read: restore some lost source-location reporting
2018-03-01 07:54:03 -07:00
Matthew Flatt
82d761aef0
at-exp: use "...
" for literals in error messages
...
Match the corresponding change in the Racket reader.
2018-03-01 07:00:11 -07:00
Matthew Flatt
57b6a1402f
fix evaluation of #%variable-reference
variants
2018-03-01 06:00:21 -07:00
Matthew Flatt
e6bab71e8a
unbreak namespace-variable-value
...
Repair a mistake in b4f0499256
.
2018-02-28 20:33:43 -07:00
Matthew Flatt
7bdc3d626b
adjust test that depends on keyword-argument expansion
...
Revert the test to go along with the "kw.rkt" reversion.
2018-02-28 20:12:04 -07:00
Matthew Flatt
8f9fcb02f3
expander: fix sealed initial parameterization
2018-02-28 19:36:28 -07:00
Matthew Flatt
9cd4f44d42
vector*-set!: repair to disallow an impersonator
2018-02-28 18:57:48 -07:00
Matthew Flatt
6fc9368d5c
revert a keyword-argument expansion that confuses TR
...
A change in keyword-argument expansion was intended to avoid
copy-propagation wrok in later passes. That saving does not appear to
be worthwhile, so revert it.
Reverting the change exposed weakness in the expander flattener and an
unsoundness in its simplification pass. That unsoundness has to do
with the assumption that variables are defined before use. The unsound
assumption is likely to be fine for code that is flattened --- all the
more considering that flattened code is routinely run in unsafe mode
--- but it's a departure from the intended safety of the simplifier.
Improving the analysis to so that it's sound and good enough will
require sometimes inferring when a structure-type property guard (for
`prop:evt`, at least) will succeed.
2018-02-28 18:49:58 -07:00
Matthew Flatt
b4f0499256
expander: add 'protected property to protected references
...
As documented and as implemented by the old expander.
2018-02-28 17:14:06 -07:00
Matthew Flatt
24a4882e5d
linklet evaluation: correctly install prompt in a no-JIT build
2018-02-28 16:23:51 -07:00
Matthew Flatt
6018dcfdf6
expander: propagate module properties to #%module-begin
...
Closes #1968
2018-02-28 14:23:22 -07:00
Matthew Flatt
de27be536d
expander: propagate srcloc on rename-transformer expansion
2018-02-28 13:59:13 -07:00
Matthew Flatt
3c69a1296a
expander: pay more attention to (error-print-source-location)
...
When source locations are disabled, don't include a source location in
an error message from `raise-syntax-error`.
2018-02-28 13:08:22 -07:00
Matthew Flatt
25b0c23db7
expander: adjust bindings in module->namespace
...
Make the module path index for bindings in a `module->namespace` be a
"self" MPI (with #f for path and base), instead of the MPI associated
with bindings as view from the outside of the module instance. That
makes interactive evalaution in the namespace more closely approximate
expansion within the original module.
Example use: ASL detects a "self" MPI to determine when it should
allow assignment to module-defined variables in the REPL.
2018-02-28 10:30:24 -07:00
Matthew Flatt
a6e585a72e
racket/unit: update expected error messages in tests
2018-02-28 07:02:11 -07:00
Matthew Flatt
4eacbbd296
change makefile to be more helpful for "seletc-startup.rkt" failure
2018-02-28 06:56:16 -07:00
Matthew Flatt
e4296f5c1e
add stdout logging in the same style as stderr logging
...
Use stdout log reporting instead of stderr log reporting for status
reporting during the build, so that the status report is not
misinterpreted as an error.
2018-02-28 06:52:55 -07:00
Ryan Culpepper
19df146ccf
expand and expand-to-top-form unset observer parameter
...
This change means that if a macro transformer calls expand (not
local-expand, but top-level expand), the macro debugger won't
receive the inner expand's events. Previously, the macro debugger
tried to parse and then discard the inner expand, but that was
brittle and complicated the grammar.
2018-02-28 06:11:00 -07:00
Ryan Culpepper
ceee75b5ce
make symbols consistent with macro debugger, send events as symbols
2018-02-28 05:37:22 -07:00
Ryan Culpepper
2f7c0dd9fa
fix/simplify logging for main expand and expand-to-top-form
2018-02-28 05:36:52 -07:00
Ryan Culpepper
3a40125168
add arity checks for log-expand, fix some uses
2018-02-28 05:36:52 -07:00
Ryan Culpepper
ed3d2d0082
fix typo
2018-02-28 05:36:52 -07:00
Matthew Flatt
408a8cb79e
compiler/cm: repair for chained compiled-file roots
2018-02-27 20:23:13 -07:00
Matthew Flatt
3e5e2cc30d
raco decompile: support non-module programs
2018-02-27 20:23:12 -07:00
Matthew Flatt
bd231cd75d
restore syntax-local-make-delta-introducer
...
Closes #1965
2018-02-27 20:23:12 -07:00
Matthew Flatt
e288df5e8e
add missing key in "system.rktd" to enable cross-compilation
2018-02-27 20:23:12 -07:00
Matthew Flatt
0e9634f917
namespace-variable-value: fix default vale for 2nd argument
2018-02-27 18:14:55 -07:00
Matthew Flatt
4e1e91a34e
peek-{char,byte}-or-special: add 'special option
...
The old reader used an internal option to short-circuit special-value
reading when a special value acts as a terminating "character". Expose
that shortcut by allowing 'special as an argument to
`peek-{char,byte}-or-special`, and update the reader to use it.
2018-02-27 18:14:54 -07:00
Matthew Flatt
613de748df
reader: fix another here-string problem
2018-02-27 13:48:40 -07:00
Matthew Flatt
e707d7decd
expander: fix lift context for multiple #%module-begin
s
...
Also, restore the old syntax-error message for an `if`
without an "else" clause.
2018-02-27 13:44:11 -07:00
Matthew Flatt
1d8e04896e
avoid a pattern that confuses xform
2018-02-27 06:58:12 -07:00
Matthew Flatt
654e846720
namespace-attach-module: fix namespace for declaration callback
2018-02-27 06:46:55 -07:00
Matthew Flatt
f691d4b68c
fix incorrect variable reference in the compiler
2018-02-27 06:07:41 -07:00
Matthew Flatt
ada6b8c5d1
reader: handle port whose position moves backwards
2018-02-27 05:46:59 -07:00
Matthew Flatt
586feb6df0
expander: fix problems with cross-phase persistence
2018-02-26 20:29:22 -07:00
Matthew Flatt
9fec456335
fix tests that relied on a specific internal hashing function
2018-02-26 19:46:33 -07:00
Matthew Flatt
cf60eb2715
reader: fix #reader
2018-02-26 19:24:52 -07:00
Matthew Flatt
5ba83c6340
expander: fix cross-module reference to gensym
ed name
2018-02-26 19:18:58 -07:00
Matthew Flatt
95333f6fe8
avoid a compiler warning
2018-02-26 18:46:58 -07:00
Matthew Flatt
8f77775cf5
JIT: fix 32-bit x86 problem
2018-02-26 18:14:02 -07:00
Matthew Flatt
6757a202d5
reader: fix/unbreak reading of here strings
...
The repair in 55a27e01a6
wasn't right.
2018-02-26 17:36:07 -07:00
Matthew Flatt
55a27e01a6
expander: fix tracking of MPIs for cross-submodule inlining
2018-02-26 17:18:54 -07:00
Matthew Flatt
40219b88f3
adjust expected error message in test
2018-02-26 15:54:57 -07:00
Matthew Flatt
283b8ad788
fix interning of chars read from bytecode
2018-02-26 15:42:01 -07:00
Matthew Flatt
62b7ff6f84
syntax-source-module: use second argument
...
The implementation still lacks a way to find the original source name,
though, in case of a ".ss" to ".rkt" conversion.
2018-02-26 15:30:04 -07:00