Commit Graph

532 Commits

Author SHA1 Message Date
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
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
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
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
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
Matthew Flatt
be371aa2cc doc repair
Closes #1954
2018-03-06 09:12:48 -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
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
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
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
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
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
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
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
Alexis King
868815c72e Fix the vector-drop-right docs to clarify the indexing direction 2017-12-27 10:23:56 -08: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
5dec488ec4 add custodian-shut-down? 2017-12-18 15:37:04 -07:00
Matthew Flatt
f214bedf7d reference: fix link to DrRacket docs
Closes #1914
2017-12-18 06:52:13 -07:00
Ryan Culpepper
ea0efd9e14 add docs for lazy-require-syntax 2017-12-15 21:19:12 +01:00