Commit Graph

38668 Commits

Author SHA1 Message Date
Matthew Flatt
014441bceb reader: fix parsing of here strings 2018-02-26 14:59:25 -07:00
Matthew Flatt
61fffa4646 avoid a compiler warning 2018-02-26 14:48:05 -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
Leandro Facchinetti
00211413a5 Fix typo in error message 2018-02-26 10:18:16 -06: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
Daniel Feltey
26ed4b246c Use the thread-cell strategy for recursive-contracts that are list contracts 2018-02-15 19:00:58 -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
Matthew Flatt
55ffc24011 JIT: fix bug with call-with-values
Handling of runstack overflow wasn't right for platforms
with a distinction between short and long jumps --- which
includes x86_64, but only after enough code has been
allocated.
2018-02-14 08:24:16 -07: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
Matthew Flatt
60b6b43485 pretty-print: order hash keys in common cases 2018-02-11 14:14:17 -07:00
Sam Tobin-Hochstadt
9fe03ff6d9
Tell Typed Racket about the initial error continuation. (#1950)
Closes racket/typed-racket#660.
2018-02-10 17:38:08 -05: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
Kashav Madan
9981a15901 fix typo in FORCE_MAJOR_AFTER_COUNT comment
"arbitraily" -> "arbitrarily"
2018-02-01 09:08:39 -06:00
Juan Francisco Cantero Hurtado
c173b629d5 aarch64 is now an OpenBSD supported platform 2018-02-01 06:22:24 -07: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
Robby Findler
ad0a47c570 use an absolute require to avoid an error in the sandbox test suite 2018-01-29 07:47:37 -06:00
Robby Findler
551db6c1ef corret c98b0e6 so that empty? is not provided by racket/base
also do the same treatment with cons? as with empty?
2018-01-28 15:04:41 -06:00
Matthew Flatt
32e12fded4 ffi/objc: improve caching for objc_send foreign-procedure variants
Reduce the generation of foreign-function wrappers by `ffi/objc`
by caching type vectors when all of the types refer to module-level
constant bindigs.

Includes an optimizer-validation repair, where improved generation
creates a reference to a variable that would normally be replaced
by constant propagation.
2018-01-28 09:01:37 -07:00
Robby Findler
c98b0e6e1e add empty? to the list of known-good-contracts 2018-01-26 16:51:05 -06: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
8eb9285116 rktio: fix pthread configuration
The Racket-level `configure` script effectively hid the
problem, but it's better to get the pthread flags right.
2018-01-17 11:00:38 -07:00
Matthew Flatt
f2e6978ac2 Mac OS: fix Unix-style --enable-xonx build 2018-01-16 17:16:44 -07:00
Matthew Flatt
a35633ec36 history notes for 6.12 2018-01-12 15:15:55 -07:00
Matthew Flatt
87192caa57 add racket/private/primitive-table
Like `racket/private/check`, this module simplifies a "racket7"
bootstrap.
2018-01-12 15:15:55 -07:00