Commit Graph

780 Commits

Author SHA1 Message Date
Stephen Chang
5de19e593b
guide: a few more typos in instantiations and visits sec 2018-04-19 13:33:25 -04:00
Ben Greenman
25fbaad1ad guide: proofread section on instantiations and visits 2018-04-19 11:48:47 -04:00
Vincent St-Amour
becdd56ca8 Fix typoes in the visit module instantiation docs. 2018-04-18 11:07:46 -05:00
Matthew Flatt
959a57d31f guide: add section on instantions and visits 2018-04-17 14:07:33 -06:00
Matthew Flatt
7bccfa7824 ffi/unsafe/obj: ignore NULL protocols
If the `#:protocols` clauses of a `define-objc-class` form includes
errors, but it simplifies the declaration of protocols that are
introduced in different versions of a framework, and it's effectively
more compatible with the implementation before dc0898f5ef.
2018-04-16 06:34:13 -06:00
Matthew Flatt
8100438afc unsafe-fxlshift: fix constant folding
Closes #2034
2018-04-15 11:10:48 -06:00
Alexis King
09dc3940b0 Improve the local-expand documentation on handling of implicit forms 2018-04-12 12:06:51 -05:00
Matthew Flatt
fcfa72e73a add raise-result-arity-error
Use it to provide some proper errors from the expander.

Closes #2029
2018-04-11 06:47:58 +02:00
Alex Knauth
f66b3312df match: check duplicate identifiers across list-no-order patters (#2000)
* match: check duplicate identifiers across list-no-order patters

* match: document that list-no-order doesn't support duplicate ids between sub-pats

* match: put duplicate id docs in a margin note between the two variants
2018-04-11 00:00:14 -04:00
Alexis King
d0e6a5839f
Fix a documented default value for syntax-local-make-definition-context 2018-04-10 15:50:11 -05:00
Ryan Culpepper
a48259ba29 syntax/loc: only use loc arg if it has source or position 2018-04-09 11:40:12 +02:00
Ryan Culpepper
7f12dc567c bump version 2018-04-09 11:40:12 +02:00
Ryan Culpepper
84ca256029 rename ??,?@ to ~?,~@ (see PR #2031) 2018-04-09 11:40:12 +02:00
Ben Greenman
1e0fb22822 doc: fix zo struct typos
- remove `decode-module-binding`, because this function doesn't seem to
  be provided
- remove the `stx` struct
- fix small typos / broken links
2018-04-07 16:18:23 -04:00
Kieron Hardy
9b72423545 Fix typo and rephrase
Fix typo and rephrase for better readability and search-ability.
2018-04-03 13:38:50 -05:00
Ryan Culpepper
c2eab77cec update version number and fix history for syntax/?@/?? 2018-03-29 11:40:35 +02:00
Ryan Culpepper
72a7bbcefc update docs for syntax, template 2018-03-29 11:40:35 +02:00
Matthew Flatt
e01a21db0c raco exe: add --embed-dlls for Windows
Creating an executable with embedded DLLs means that the executable
can be truly stand-alone, instead of needing to be kept with its
DLLs in a relative subdirectory.

DLL embedding works by bypassing the OS's LoadLibrary and
GetProcAddress functions, and instead maps the DLL into memory
and performs relocations explicitly. Joachim Bauch's MemoryModule
(Mozilla license) implements those steps.
2018-03-25 16:35:42 -06:00
Robby Findler
26d1e94421 correct typo 2018-03-23 08:45:10 -05:00
Robby Findler
11d6664b7e stop referring to functions that don't appear to exist 2018-03-22 18:03:31 -05:00
Paulo Matos
42017fa671 Add example showing +nan.0 is a number 2018-03-22 09:35:05 -05:00
Philip McGrath
8db1c39a7a Typo fix 2018-03-21 14:18:55 -05:00
Matthew Flatt
b0424737a7 places: handle impersonated values by copying
Recognize vector, hash table, and prefab impersoantors/chaperones,
and allow them as place0channel messages by copying.

Closes #2001
2018-03-21 08:57:16 -06:00
Leandro Facchinetti
b8341f1559 Fix grammar 2018-03-20 14:58:45 -05:00
Matthew Flatt
37a985a681 compile expander in "static" linklet mode
The expander as a linklet will be instantiated once, so there's no
need to capture references in closures among functions within the
expander. Add a "static" linklet compilation mode to inline the
variable addresses that would otherwise be referenced via a closure.

Although the change is intended to speed up the expander by avoiding
some indrections, it also reduces the bytecode size of the expander.
Bitmaps that track which linklet variables are used in closures turn
out to have been about 25% of the expander's bytecode size, since the
linklet has so many definitions.
2018-03-17 07:24:50 -06:00
Matthew Flatt
1dd0a83333 racket/path: add #:more-than-same? argument to find-relative-path
Closes #1980
2018-03-13 20:14:04 -06:00
Matthew Flatt
0cda14300d non-original code inspector => mark loaded bytecode as non-runnable
This change adjusts the way that trust is threaded through bytecode
and the code inspector. In Racket v6.x, reading bytecode would fail if
the code inspector is non-original and if the bytecode contains a
reference to an unsafe operation. Now, reading bytecode doesn't fail
for that reason, but all bytecode is marked as non-runnable (even
without references to unsafe operations) when loaded under a
non-original code inspector. A `read` operation by itself remains as
safe as ever.

This commit also disables the bytecode validator. For now, the
validate can be re-enabled with `PLT_VALIDATE_LOAD`.
2018-03-13 17:26:50 -06:00
Matthew Flatt
85ff4eee74 racket/fasl: switch to version-independent format
Make `s-exp->fasl` generate an encoding that can be parsed by any
future version of `fasl->s-exp`. The new format does not rely on the
runtime system's bytecode writer and reader.
2018-03-13 16:32:01 -06:00
Vincent St-Amour
b4fec19c40 Fix link to TR test suite.
Closes #1985.
2018-03-12 09:08:00 -05:00
Matthew Flatt
2f930dd6f3 add syntax-property-remove 2018-03-11 11:31:56 -06:00
Matthew Flatt
af4c23fa72 variable-reference->namespace: ensure that module is available 2018-03-09 11:06:49 -07:00
Matthew Flatt
d8dce77984 input-port-append: add #:name argument 2018-03-06 20:01:47 -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
Robby Findler
34189b38f7 attmpet to clarify define/contract's boundary a bit more 2018-03-02 14:44:46 -06:00
Robby Findler
081b1cc3f3 add for-label require; closes #1967 2018-03-02 07:42:56 -06: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
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
586feb6df0 expander: fix problems with cross-phase persistence 2018-02-26 20:29:22 -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
Paulo Matos
1ea340144a Fix typo
'suitiable' should read 'suitable'
2018-02-21 13:19:25 -06: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
Hashim Muqtadir
95dab07e47 Update port-lib.scrbl (minor typo) 2018-02-16 12:28:23 -06: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