Commit Graph

6341 Commits

Author SHA1 Message Date
Matthew Flatt
0d06ba2848 expander: treat unbound and top-level-bound as free-identifier=?
Restores quetionable but traditional behavior.
2018-03-09 16:07:37 -07:00
Matthew Flatt
35dc59ee07 expander: preserve syntax properties on let[rec]-values clauses 2018-03-09 15:44:11 -07:00
Matthew Flatt
af4c23fa72 variable-reference->namespace: ensure that module is available 2018-03-09 11:06:49 -07:00
Matthew Flatt
e4e17db51d expander: fix origin tracking with a set! transformer 2018-03-08 14:14:28 -07:00
Matthew Flatt
83d792fca5 reader: fix locations on various kinds of errors 2018-03-08 10:14:44 -07:00
Matthew Flatt
d5d8249c12 reader: fix "original?" property on #lang-derived module name 2018-03-07 17:59:21 -07:00
Sam Tobin-Hochstadt
3438b888a2
Increase timeout for racket7 2018-03-07 11:06:48 -05:00
Matthew Flatt
ac2addeeb6 expander: fix 'origin on let-syntax-bound id-macro expansions 2018-03-07 08:20:57 -07:00
Matthew Flatt
d8dce77984 input-port-append: add #:name argument 2018-03-06 20:01:47 -07:00
Matthew Flatt
c29e072f7e identifier-binding: don't lose nominals
Repairs ebef94435c
2018-03-06 13:33:24 -07:00
Paulo Matos
80ae3394aa Update function name
Function reference `supervise-named-dynamic-place-at` should be `supervise-place-at`.
2018-03-06 09:19:49 -07:00
Matthew Flatt
be371aa2cc doc repair
Closes #1954
2018-03-06 09:12:48 -07:00
Matthew Flatt
efb9a919fc ffi docs: clarification on unsafe-socket->port
Thanks to Hong Feng for suggesting the clarification.
2018-03-06 08:51:49 -07:00
Milo Turner
275d7974cd Added #:cut pattern directive 2018-03-05 15:03:45 +01:00
Matthew Flatt
c6579bbdcf expander: fix provide of prop:exn:missing-module 2018-03-04 07:21:18 -07:00
Matthew Flatt
ea7f973102 expander: repairs for top-level define-values and begin-for-syntax 2018-03-02 18:00:02 -07:00
Robby Findler
34189b38f7 attmpet to clarify define/contract's boundary a bit more 2018-03-02 14:44:46 -06:00
Matthew Flatt
e78eb0563a expander: fix shadowing require after shadowing define
Refines the repair in 11fd70c3dd to properly handle a `require` that
should be allowed to shadow the initial require.
2018-03-02 13:37:48 -07:00
Robby Findler
081b1cc3f3 add for-label require; closes #1967 2018-03-02 07:42:56 -06:00
Matthew Flatt
11fd70c3dd expander: fix require after shadowing define 2018-03-01 14:14:24 -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
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
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
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
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
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
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
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-begins
Also, restore the old syntax-error message for an `if`
without an "else" clause.
2018-02-27 13:44:11 -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
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
014441bceb reader: fix parsing of here strings 2018-02-26 14:59:25 -07:00
Matthew Flatt
59ef254318 switch to a new, Racket-implemented expander & module system
This commit merges changes that were developed in the "racket7" repo.
See that repo (which is no longer modified) for a more fine-grained
change history.

The commit includes experimental support for running Racket on Chez
Scheme, but that "CS" variant is not built by default.
2018-02-26 13:19:53 -07:00
Robby Findler
d56eb03432 attempt to improve the evt guide section 2018-02-22 17:37:58 -06:00
Vincent St-Amour
606ec2955c Fix contract in docs.
Closes #1960.
2018-02-22 12:04:41 -06:00
Matthew Flatt
38d717e98e fix "foreign-test.rktl" to work on Windows 2018-02-21 13:15:04 -07:00
Paulo Matos
1ea340144a Fix typo
'suitiable' should read 'suitable'
2018-02-21 13:19:25 -06:00
Matthew Flatt
32b274dee1 make syntax/moddep more useful
This tool seems misplaced, but improve it a little to be practical for
larger module hierarchies.
2018-02-19 07:03:52 -07:00
Matthew Flatt
11e81f8776 add variable-reference-from-unsafe?
For now, the result is always #f, but this is a bridge to slightly
more useful functionality in the racket7 branch.
2018-02-19 07:03:52 -07:00
Robby Findler
8393f0b2f6 fix opt/c for flat-contract?
Thanks to Philip McGrath for spotting the problem

Also, along the way, discover the setup for chaperoneness for opt
contracts was bogus, so fix that up too
2018-02-17 19:52:58 -06:00
Hashim Muqtadir
95dab07e47 Update port-lib.scrbl (minor typo) 2018-02-16 12:28:23 -06:00
Philip McGrath
670f89a85b Fix source of package catalog server
`(collection-file-path "pkg-catalog" "meta")` raises an exception.
2018-02-14 15:11:37 -05:00
Milo Turner
2e1a81b345 for/stream can use #:break as advertised (fixes #1910) 2018-02-11 18:59:18 -05:00
Milo Turner
390977c1de Linkify split-for-body in syntax/for-body docs 2018-02-11 18:59:18 -05:00
Matthew Flatt
ecde607a62 fix expander tracking of unbound phase-1 identifiers
Thanks to Mitchell McLean and Jacob Ginspark for the report.
2018-02-11 14:14:17 -07:00
Leif Andersen
dd2a0dceb3
define-simple-macro now works with an ~or macro. (#1949)
The previous definition of define-simple-macro would fail (with
a very poor error message) if the user made a simple macro like:

(define-simple-macro (~or a b)
  (let ([tmp a])
    (if tmp tmp b)))

While the define-simple-macro form does allow syntax-parse patterns,
this should not be enabled for the initial head pattern, as described
in the define-simple-macro documentation.
2018-02-09 10:41:27 -05:00
Ben Greenman
82d3dba913 doc: 'test' -> 'get-first-order'
Fix mistake in previous commit,
 the argument for `build-contract-property` is different than
 `make-contract`
2018-02-07 22:46:45 -05:00
Ben Greenman
c7739a14fd doc: notes about permutations
1. limited to lists with <=256 elements
2. add index, so searches for 'rearrangements' go to 'permutations'
2018-02-07 22:21:29 -05:00
Ben Greenman
c00340c5f0 doc: change input/output contracts for 'current-command-line-arguments'
The parameter accepts a vector of string & converts the input to a
vector of immutable strings.
2018-02-07 22:21:11 -05:00
Ben Greenman
24f4de4dea doc: fix some contract combinators links
Fix some out-of-date argument names in the descriptions of contract
combinators.

E.g. 'get-late-neg-projection' => 'late-neg-proj'
2018-02-07 20:10:51 -05:00
Ben Greenman
f871e1c08c typo: 'outp' -> 'out'
Change the prose to match the parameter name
2018-02-04 23:59:04 -05:00
Alexis King
02f6162283 Add splicing-parameterize to racket/splicing 2018-02-01 10:28:20 -08:00
Andrew M. Kent
7b61fa5f7a docs: fix delimiter typo in for's scribblings 2018-01-31 15:05:10 -05:00
Ben Greenman
367e703c32
typo: local-redirect 'page that is' => 'page is' 2018-01-30 23:14:59 -05:00
Matthew Flatt
b8171611aa fix initial peek on file that attempts jump past the end
Closes #1938
2018-01-25 20:08:10 -07:00
Matthew Flatt
2bf00a1208 add unsafe-os-thread-... to #%unsafe
These functions just `raise exn:fail:unsupported`, but having
them present allows the version of Racket to bootstrap
Racket-on-Chez.
2018-01-25 15:10:39 -07:00
Matthew Flatt
6eb740300f ffi/unsafe: add a #:blocking? argument for foreign callouts
The `#:blocking?` argument has no effect for now, but it will enable
better cooperation with OS thread in Racket-on-Chez. Function that
block indefinitely in a place, for example, will need to be called
with `#:blocking? #t` to prevent stalling GCs in other places.
2018-01-25 11:05:20 -07:00
Matthew Flatt
a9b658bb4c add test for define-serializable-cstruct at top level 2018-01-25 07:16:42 -07:00
Matthew Flatt
8dcfd3d266 improve define-serializable-cstruct tests
Failures were not reported in the right way, and some failures went
undetected.
2018-01-24 20:18:49 -07:00
Matthew Flatt
5680721f04 docs: repair and clarify memmove and memcpy contract
The old format didn't cover some possibilities.
2018-01-24 15:41:16 -07:00
Matthew Flatt
a12a4a51b0 vector-copy!: fix for impersonated overlapping regions
Ensure memmove-like behavior when source and destination
overlap.
2018-01-24 14:32:02 -07:00
Matthew Flatt
e2e469240f repair some tests
A recent test for `_bytes` had a memory bug. An old
test for weak hash tables had a race between GC and
hash-table lookup.
2018-01-20 08:37:33 -07:00
Matthew Flatt
62b8ca3ca7 ffi/unsafe: add _bytes/nul-terminated
Add a `_bytes` variant type that will work more consistently with
Racket-on-Chez, where the representation of a byte string does not
include an implicit nul terminator.
2018-01-19 15:17:36 -07:00
Matthew Flatt
d7421b5dc0 fix some exn:fail:contract:continuation
Some excepts that should be `exn:fail:contract:continuation`
were `exn:fail:contract`.

Closes #1920
2018-01-18 13:04:06 -07:00
Matthew Flatt
0c35905270 continuation-marks: fix caching problem in continuations
Closes #1931
2018-01-18 12:46:26 -07:00
Matthew Flatt
f9d29242c4 doc correct ion hash-table printing
Hash tables with weakly held keys always print as
`#<hash>`.
2018-01-12 15:15:55 -07:00
Matthew Butterick
06bdd2f0c3 update copyright year to 2018 2018-01-12 15:44:07 -06:00
Leif Andersen
16b8a4edc7 Correct the docs for surrogate's augment form. 2018-01-08 16:04:37 -05:00
Eric Dobson
f6bec77535 Filesystem doc wording improvements. (#1923) 2018-01-08 01:42:42 -05:00
Vincent St-Amour
a44d8b698d Post-release version for the v6.12 release 2018-01-07 10:08:40 -06:00
Matthew Butterick
4481546481 Edit out another “performant” 2018-01-06 15:13:14 -07:00
Matthew Butterick
9ea7ae7d38 Edit out “performant” 2018-01-06 15:13:14 -07:00
Eric Dobson
452b2a6f92 Fix type in filesystem docs 2018-01-06 15:12:41 -07:00
shhyou
3d74bab8ff Fix the document of struct-type-make-constructor 2018-01-02 14:27:18 -06:00
shhyou
a240bfe338 Update current-load(/used-compiled) documentation.
Reflect the default behavior of the load handler and
the compiled-load handler when the source file does
not exist.
2018-01-02 14:26:09 -06:00
Matthew Flatt
fdb2076dab docs: fix memory-management bugs in serialize-cstruct example 2018-01-01 19:16:43 -07:00
Matthew Flatt
0ace17a3e9 ffi/unsafe/global: add get-place-table 2017-12-31 08:54:37 -06:00
Alexis King
868815c72e Fix the vector-drop-right docs to clarify the indexing direction 2017-12-27 10:23:56 -08:00
Matthew Flatt
36d563d7ce improve JIT impersonator property predicate/accessor fast path
Faster for the case that an impersonator has a small number of
impersonator properties. To enable hand-coded search, a small number
of properties are now kept in a vector instead of a hash tree.
2017-12-23 06:06:59 -07:00
Matthew Flatt
fe1d9ee517 document/test optional argument of impersonator propertry accessor
An impersonator-property accessor accepts a failure argument
in the same was as a structure-type--property accessor.
2017-12-22 19:07:36 -07:00
Matthew Flatt
8444b70bc1 improve JIT support for property reference with failure value
For a non-procedure failure value, stay in the fast path and
return that value.
2017-12-22 19:07:36 -07:00
Matthew Flatt
9092d31c29 JIT: fix property predicate & selector handling
Commit 89512eda had accientally disabled the JIT's fast
path for structure-type property predicates and selectors.

Re-enable it, but but repair a problem with the way that
impersonator-property operations are handled by the same
code.
2017-12-22 18:01:19 -07:00
Matthew Flatt
5dec488ec4 add custodian-shut-down? 2017-12-18 15:37:04 -07:00
Matthew Flatt
9e3bdaa328 call-in-nested-thread: add prompt
Before 544b7a3d53, an incorrect barrier check prevented applying
a continuation captured in other threads from being applied in a
thread created with `call-in-nested-thread`. There's no good
reason to prohibit such an application, and now that the bogus
check is gone, an explicit prompt is needed in the implementation
to make it behave correctly.
2017-12-18 08:10:23 -07:00
Matthew Flatt
f214bedf7d reference: fix link to DrRacket docs
Closes #1914
2017-12-18 06:52:13 -07:00
Ryan Culpepper
9be7bf53cf syntax/parse: add unwindable state: syntax-parse-state-{ref,set!,...} 2017-12-18 09:10:31 +01:00
Ryan Culpepper
95e6244192 syntax/parse: add debugging code for deps test case 2017-12-15 21:25:20 +01:00
Ryan Culpepper
ea0efd9e14 add docs for lazy-require-syntax 2017-12-15 21:19:12 +01:00
Alexis King
fb80d18428 syntax/parse: Arrange for built-in macro’s names to be preserved
The dance that syntax/parse performs to lazily load its implementation
rewrites uses of syntax/parse macros in such a way that their original
names were discarded, which shows up in error messages. By simply
invoking the underlying transformer directly in the proxy macro instead
of expanding to a rewritten use, users’ names can be preserved.

fixes #1909
2017-12-13 11:05:15 -08:00
Matthew Flatt
c3f61a7626 add ffi/unsafe/port
Provide unsafe functions for working with file descriptors and
sockets. Although more functions are potentially useful, these
reflect the one scurrently exported by the C API.
2017-12-12 15:57:54 -07:00
Matthew Flatt
5ad28e8942 fix unsafe-poller result handling and improve docs 2017-12-12 12:07:41 -07:00
Matthew Flatt
544b7a3d53 fix continuation-barrier checking
Continuation-barrier checking was sometimes too strict,
disallowing jumps out past a barrier (as opposed to
into a barrier) that should be allowed.
2017-12-12 09:11:49 -07:00
Matthew Flatt
fc77c91102 doc typo 2017-12-11 17:58:24 -07:00
Matthew Flatt
7aff978a1f fix merging of marks when applying a composable continuation
When a composable continuation has continuation marks that should
be merged with marks in the immediate continuation frame when
the continuation is applied, then mergeing did not always work.
It only worked in the case that the merge cadidates are the only
marks, because the merging check used the wrong end of the captured
sequence of marks.
2017-12-10 09:02:50 -07:00
Ryan Culpepper
e0a8058db5 syntax/parse: add docs for ~undo, #:undo 2017-12-09 13:42:12 +01:00
Ryan Culpepper
414fd515ab syntax/parse: make undo cooperate with ~commit and ~! (cut) 2017-12-09 13:42:12 +01:00
Matthew Flatt
f16576fff3 doc repair 2017-12-08 17:47:14 -07:00
Matthew Flatt
6a9a269546 bytes-utf-8-{length,index}: fix bytecode optimizer bug
The `bytes-utf-8-{length,index}` function was incorrectly marked as
always returning a fixnum.

Thanks to Jonathan Simpson for reporting the bug.
2017-12-08 17:47:14 -07:00
Matthew Flatt
1e1426a570 Revert "doc correction for will-execute"
This reverts commit 52e7267273.

The change was for `will-try-execute`. And while the change
is a good idea, `will-try-execute` doesn't acually accept
the extra argument.
2017-12-08 17:15:13 -07:00
dented42
167164b8a0 Fixed a typo (#1907)
Fixed a typo in the reference documentation for `impersonate-procedure*`.
2017-12-08 15:20:46 -05:00
Gustavo Massaccesi
516cb73034 remove scheme_complex_izi_type from docs 2017-12-05 08:39:19 -07:00
Greg Hendershott
1f4b989e48 CRLF terminate get-pure-port/headers; fixes #1901
Supply a final CRLF just like purify-port.
2017-12-02 22:34:04 -05:00
Matthew Butterick
b538d03d5a
Remove bold from inside title of Reference
So that the formatting doesn’t propagate throughout the docs.
2017-11-21 10:08:13 -08:00
Matthew Butterick
d2c36210ba
Remove bold from inside title of Guide
So that the formatting doesn’t propagate throughout the docs.
2017-11-21 10:08:09 -08:00
Sam Tobin-Hochstadt
ff5f5ff2af
Fix range for random-seed.
Closes #1892.
2017-11-16 12:52:34 -05:00
Matthew Flatt
b54ea8c5b1 try to make a network ::1 test adapt to an uncooperative environment 2017-11-10 08:08:29 -07:00
Daniel Feltey
c5cf7c1320 Avoid repeatedly constructing contracts as a result of checking a recursive contract
This may provide a speedup on Typed Racket programs that spend a lot of time
constructing contracts.
2017-11-09 22:07:54 -06:00
Matthew Flatt
ee19bf8c99 add missing history note for check-duplicates 2017-11-09 06:23:47 -07:00
Huma Zafar
4e864a5387 Adds optional keyword argument to check-duplicates to determine returned value when no duplicate found. 2017-11-08 18:47:19 -06:00
Stephen De Gabrielle
3cb7044976 filesystem-change-evt? typo
changed
Returns #f if v is a filesystem change event, #f otherwise.
to 
Returns #t if v is a filesystem change event, #f otherwise.
2017-11-06 16:25:37 -06:00
Ben Greenman
d0f5e37b39 typo: 'use do so' => 'do so' 2017-11-05 09:52:22 -05:00
Ben Greenman
4aaf4d88a5 doc: more links in 'json' docs
* Change 'any?' to 'any/c'
* Add for-label require so 'with-XXX-from-string' is a link in the examples
2017-11-05 00:00:34 -04:00
Milo Turner
27ec348a62 curry checks that a single argument is a procedure (notified by #1839) 2017-11-04 23:49:30 -04:00
Milo Turner
48092bdc0c tests for curry 2017-11-04 23:49:24 -04:00
Ben Greenman
64a9791031 doc: index 'RED' and 'REL' 2017-11-04 22:41:10 -04:00
Spencer Florence
4f1ef42d07 replace { with [ to fix exn reference 2017-11-02 13:53:12 -05:00
Sam Tobin-Hochstadt
4f2956917b Add module to run the pack tests (runs on DrDr). 2017-11-01 18:24:21 -04:00
Robby Findler
b9cd60010f correct path examples 2017-10-31 16:12:46 -05:00
Matthew Flatt
512910c83f expander: fix 'module-begin expansion with definition contexts
Using `(local-expand <expr> 'module-begin <stops> def-ctx)` didn't
work right, because definitions added to `def-ctx` were not visible.
(While adding definitions before `module-begin` expansion is an unusual
thing to do, there's no reason that it has to fail.)
2017-10-28 10:15:39 -06:00
سليمان السهمي (Soulaïmane Sahmi)
12febe5cc2 Perhaps you mean O(n) space (#1871) 2017-10-28 01:15:06 -04:00
Robby Findler
259e3a6fe1 use the right identifier
closes #1845
2017-10-26 16:48:12 -05:00
Matthew Flatt
dfa5d48092 unbreak JIT and check limits
Repairs a problem with ce9894c8bf, where a large "inlined" vector
allocation is not actually inlined, but other parts of the JIT
assume that it will behave as inlined --- which implies that the
runstack will be left unchanged after the call.

Closes #1868
2017-10-25 17:48:31 -06:00
Matthew Flatt
55c1685526 JIT: inline vector and struct CAS primitives 2017-10-25 17:36:03 -06:00
Matthew Flatt
c52bd91c54 add unsafe-struct*-cas! 2017-10-25 17:36:03 -06:00
Daniel Mendler
bc26d29bf8 add vector-cas! and unsafe-vector*-cas! 2017-10-25 17:36:03 -06:00
Matthew Flatt
d8e2192145 Revert "Revert "JIT: fix inline allocation for large vectors""
This reverts commit f7b3d3f4b4.
2017-10-25 17:34:54 -06:00
Matthew Flatt
f7b3d3f4b4 Revert "JIT: fix inline allocation for large vectors"
This reverts commit ce9894c8bf.

I don't immediately see what has gone wrong, so reverting for now.
2017-10-25 17:18:32 -06:00
Matthew Flatt
ce9894c8bf JIT: fix inline allocation for large vectors
Cloaes #1800
2017-10-25 09:55:41 -07:00
Matthew Flatt
ae4e85a6a7 evt:struct with unsafe-poller: skip sleep if poll reports ready
Intended to fix racket/gui#80
2017-10-23 06:03:25 -07:00
Rommel Martinez
81d51789ad Fix typo 2017-10-22 01:48:21 -04:00
Jay McCarthy
2b9b1b22f2 raco test --deps docs 2017-10-20 11:34:40 -04:00
Jay McCarthy
5662ed8e99 Adding --deps 2017-10-20 11:34:40 -04:00
Jay McCarthy
62b17db270 Adding docs for new proxy settings 2017-10-20 11:34:40 -04:00
Jay McCarthy
06e3205787 Fix PR1859 2017-10-20 11:34:40 -04:00
Matthew Flatt
e255c737b5 rktio: fix bug in 'text mode on Windows
If a #\return lined up in just the wrong way with a file-read
request, then the #\return could get mishandled.
2017-10-19 19:55:38 -06:00
Andrew Kent
9e16d3f9c9 add #:result clause to for/fold forms 2017-10-18 07:15:15 -04:00
Andrew Kent
3119c5b732 better stx errs for/fold and for*/fold 2017-10-18 07:15:15 -04:00
Alexis King
1e38918aa9 Improve how splicing-syntax-parameterize interacts with module* forms
Commit 00d438cfbe made an attempt at this,
but this commit does it in a much more careful way, based on manually
emulating how the macroexpander expands module* forms in order to allow
splicing-syntax-parameterize to apply even within #%module-begin forms
introduced by the expander.
2017-10-17 14:57:09 -07:00
Leif Andersen
b940ee8440 tag-id -> tag-expr
This is because the optional tag argument can be any expression,
as pointed out by Matthew.
2017-10-16 16:31:38 -04:00
Leif Andersen
2a8bece8de Add #:tag to the docs for define-cpointer-type 2017-10-16 13:07:07 -04:00
Matthew Flatt
2454fd6931 Fix hashing on lists containing self-references
The hashing function was bounded, but with an accidental backtrack
so it could take time exponential in the intended bound.

Closes #1842
2017-10-16 09:27:50 -06:00
Alexis King
00d438cfbe Make splicing-syntax-parameterize recur into module* without a mod-path 2017-10-15 15:53:59 -06:00