Commit Graph

42958 Commits

Author SHA1 Message Date
Matthew Flatt
f98d0a5cc1 cs: use call-in-continuation
Using `call-in-continuation` to apply a thunk within a continuation
slightly simplifies and speeds up parts of the implementation of
delimited continuations.
2020-03-13 09:46:12 -06:00
Matthew Flatt
840e5143e2 recognize long form of call/cc in optimization
original commit: 05c31cd27455bce6d122188da14b4973d8a49d7a
2020-03-13 08:14:39 -06:00
Matthew Flatt
5f57648104 add call-in-continuation
This operation effectively allows sending an expression back to a
continuation, instead of just a value. It's the same as Marc Feeley's
`continuation-slice` operation, but adjusted slightly to support
continuation attachments.

original commit: d0e36e72d20a6eaa5d9d8b795da5e77abde75289
2020-03-12 04:48:39 -06:00
sorawee
3ddc1ca367
Fix typos (protect-syntax -> syntax-protect) (#3069) 2020-03-11 11:47:09 -04:00
Matthew Flatt
a105e47d35 Inside Racket docs: add advice on embedding files
Since embedding "petite.boot", "scheme.boot", and "racket.boot" can be
a good idea, add some advice to the documentation to show how that can
be done.
2020-03-08 18:05:59 -06:00
Matthew Flatt
601ffc9b36 avoid compiler warnings 2020-03-07 14:42:41 -07:00
Matthew Flatt
fab04633f3 makefile: add DISABLE_STATIC_LIBS 2020-03-07 14:24:50 -07:00
Matthew Flatt
0de88f203d struct: don't generate excessive struct-field-index code
The expansion of `struct` created far too much code to parameterize
`struct-field-index`, making expansion of a `struct` form with just
100 or 200 fields take a noticeably long time to expand.
2020-03-07 10:45:33 -07:00
Matthew Flatt
ad7f0b9b57 fix annotation argument in fasl step
original commit: e10716c3c6f456007ddfaee75ad07233b31c33d8
2020-03-07 07:59:16 -07:00
Matthew Flatt
35e77092f3 fix typo in a debugging assertion
original commit: 10148ea09455445a76b037e2e9fb5abcb72913ae
2020-03-07 07:06:05 -07:00
Matthew Flatt
00b6803e36 cs: enable embedding in other applications
The "Inside: Racket C API" manual now has a CS part and a BC part.
2020-03-07 06:39:41 -07:00
Gustavo Massaccesi
75872880f8 cptypes: rewrite implementation of primref->argument-predicate
Also, remove signatures from primref. Now the record is reverted to the one in
the main ChezScheme version.

And lift most of the code outside the cptypes function.

original commit: 8f4384e0a5e1e9b383f65e097d6088b30d8069e5
2020-03-07 08:47:37 -03:00
Gustavo Massaccesi
db47781c8c cptypes: rewrite primref->result-predicate
Also, move all result-types calculations to priminfo.ss

original commit: 5a36377edca85724e44a6462ad8a0e53b1c4f669
2020-03-07 08:47:37 -03:00
Gustavo Massaccesi
1cb4278a06 cptypes: pass an explicit variable for the prelex counter
The implicit counter to number the prelex has caused problems in the multithread
version many times, so make it an explicit arguments of the functions that is
passed around until the prelex-counter function uses it.

Perhaps it can be remover later, after rewriting the implementation of
define-specialize.

original commit: 6ca1db6a0159b6a7756fad7c5e25b0225c858609
2020-03-07 08:47:36 -03:00
Gustavo Massaccesi
d6d30d2fcc cs: sync with Chez Scheme change fix in cptypes 2020-03-07 08:07:30 -03:00
Matthew Flatt
e2c9544ed5 bc: fix hash-set key replacement for eq? values 2020-03-06 11:15:50 -07:00
sorawee
6685120c0a
Doc: more illustrative example for the filter-map function (#3066) 2020-03-05 21:46:15 -05:00
Matthew Flatt
d2961790b0 add fasl terminator
While "\44\26\2\f6" currently works as a terminator for non-compressed
fasl streams, the working byte sequence varies as the fasl format
changes. Add "\177" as a simpler and unchanging terminator.

original commit: 332019360491be6cedd2063c9a8056183d764bbb
2020-03-05 17:05:22 -07:00
Matthew Flatt
b4dd4684d9 cs: fix problem getting structure hash codes 2020-03-05 11:28:28 -07:00
dybvig
0a5700cef6 support for internal fasl compression to allow seeking past compile-time info at run time and run-time info at compile time
- the collector now releases bignum temporaries in the collector
  rather than relocating them so we don't keep around huge bignum
  temporaries forever.
     gc.c
- removed the presumably useless vector-handling code from load()
  which used to be required to handle fasl groups.
     scheme.c
- object files are no longer compressed as a whole, and the parameter
  compile-compressed is no longer defined.  instead, the individual
  fasl objects within an object file are compressed whenever the
  new parameter fasl-compressed is set to its default value, #t.
  this allows the fasl reader to seek past portions of an object
  file that are not of interest, i.e., visit-only code and data
  when "revisiting" an object file and revisit-only code and data
  when "visiting" an object file.  the compressed portions are
  compressed using the format and level specified by the compress-format
  and compress-level parameters.  the C-coded fasl reader and
  boot-file loader no longer handle compressed files; these are
  handled, less efficiently, by the Scheme entry point (fasl-read).
  a warning exception is raised the first time a program attempts
  to create or read a compressed fasl file.
    7.ss, s/Mf-base, back.ss, bytevector.ss, cmacros.ss, compile.ss,
    fasl-helpers.ss, fasl.ss, primdata.ss, strip.ss, syntax.ss,
    externs.h, fasl.c, gc.c, scheme.c, thread.c,
    mats/6.ms, mats/7.ms, mats/bytevector.ms, mats/misc.ms, patch*,
    root-experr*,
    intro.stex, use.stex, io.stex, system.stex,
    release_notes.stex
- added begin wrappers around many of the Scheme source files that
  contained multiple expressions to cut down the number of top-level
  fasl objects and increase compressibility.  also removed the
  string filenames for debugging at the start of each file that had
  one---these are best inserted universally by a modified compile-file
  during a debugging session when desired.  also removed unnecessary
  top-level placeholder definitions for the assignments that follow.
    4.ss, 5_1.ss, 5_2.ss, 5_3.ss, 5_7.ss, 6.ss, 7.ss, bytevector.ss,
    cafe.ss, cback.ss, compile.ss, cp0.ss, cpcommonize.ss, cpletrec.ss,
    cpnanopass.ss, cprep.ss, cpvalid.ss, date.ss, engine.ss, enum.ss,
    env.ss, event.ss, exceptions.ss, expeditor.ss, fasl.ss, foreign.ss,
    format.ss, front.ss, ftype.ss, inspect.ss, interpret.ss, io.ss,
    library.ss, mathprims.ss, newhash.ss, pdhtml.ss, pretty.ss,
    prims.ss, primvars.ss, print.ss, read.ss, record.ss, reloc.ss,
    strnum.ss, syntax.ss, trace.ss

original commit: b7f161bf2939dfedce8accbfa82b92dbe011d32a
2020-03-04 16:53:35 -05:00
Bob Burger
668467cdd6 fix Travis-CI tests
original commit: 7360186d9f0e97e2121ba5aa5afbbacd30f8ecd0
2020-03-04 16:23:47 -05:00
Bob Burger
12081203af handle CTRL-C in ta6nt without expression editor
original commit: 7ca7ad78a278278df55140617a3112f5271f42d8
2020-03-04 16:23:47 -05:00
Bob Burger
54112e9bf1 simplification
original commit: 8e4b5f7893b6bb1ee557b4a30ff341bf6268816d
2020-03-04 16:23:47 -05:00
Neal Alexander
e7bb4def71 added unicode support to windows console i/o
original commit: e7e638e871ac4b46a84149dda93aae8741683e0a
2020-03-04 16:23:47 -05:00
Sam Tobin-Hochstadt
8a63d80379 Preserve undocumented args syntax class attribute.
PR #2678 unintentionally removed this attribute, but it was used
at least by "collections-lib" and "static-rename-lib".

cc @sorawee @lexi-lambda @jackfirth @rmculpepper
2020-03-04 15:05:16 -05:00
Sorawee Porncharoenwase
cc76761c1f Update grammar in the syntax class page, s/subdefthing/defsubthing/ 2020-03-04 13:22:19 -05:00
Sorawee Porncharoenwase
3043dbd35c Expose function-header's name, document attributes, fix links 2020-03-04 13:22:19 -05:00
Sorawee Porncharoenwase
1b4126d1e5 Fix a typo, add examples, switch to non-experimental form 2020-03-04 13:22:19 -05:00
R. Kent Dybvig
cec5dce677 Merge pull request #502 from gus-massa/20-3-FaslRead
Fix fasl-read signature
original commit: d1d1945e45ca4606168f0f286f171f2038737f94
2020-03-04 08:27:56 -08:00
Gustavo Massaccesi
3018d8823a fix fasl-read signature
primdata.ss

original commit: f54da8207572e9aa71d97352b3040c5c791a6dc1
2020-03-04 11:09:27 -03:00
sorawee
29c518abbc
Allow multiple catalogs in raco pkg install and friends
Allow `--catalog` to be specified multiple times.
2020-03-04 07:02:45 -07:00
Ben Greenman
258eee40ce
contract: use impersonator prop. for impersonator-unconstrained-domain->/c (#3055)
rename the contract property from a chaperone prop to an impersonator
prop (looks like this was an old copy/paste error)
2020-03-03 15:50:19 -05:00
Štěpán Němec
95b9f0e210 doc: Fix some typos 2020-03-03 07:56:16 -07:00
Štěpán Němec
098a784b88 doc: Fix an error
".rkt" suffix is not added for relative path strings.

Discussed here: https://groups.google.com/d/msg/racket-users/lxQ-SqZ0QNY/8bqv0YqPDgAJ
2020-03-03 07:55:50 -07:00
Sorawee Porncharoenwase
3bb873aea8 Remove contract for define/generic
`local-id` and `method-id` don't have a syntax identifier as a value, so
a contract is inappropriate here.
2020-03-03 07:54:31 -07:00
Gustavo Massaccesi
83e920e0a0 fix fasl-read signature
primdata.ss

original commit: 8a3300b4898fb2f8504512b9a8a91a41582d8b3a
2020-03-01 13:25:17 -03:00
Ben Greenman
a57f96ea9c
doc: contract, clarifications (#3061)
- reword the first-page explanation of chaperone contracts;
  try to give a positive description by talking about wrappers first
  (rather than starting with what chaperones maybe don't do)

- name the recognizer functions for chaperone & impersonator contracts
  (on the first page)

- clarify that `contract-projection` and `contract-val-first-projection`
  are bad --- that there's a preferred alternative

- describe the outputs of `contract-projection` and
  `contract-val-first-projection`; their docs were identical before, but
  now re-use prose from sec 8.7 (Building New Contract Combinators)
2020-03-01 08:49:36 -05:00
Ben Greenman
24cdc58951
style: consistent figure style (#3060)
Use a consistent style for the "good / bad" examples:

- start the code at the far left of each box
- keep a little space between the top of the box & the label
2020-02-28 08:42:59 -05:00
Ben Greenman
354dfbac04 doc: '-> void' to '-> void?'
(accepts anything non-#f vs. accepts (void))
2020-02-27 15:51:20 -05:00
kryptine
8dd65db7e2
Update package LICENSE files (#3048)
* Remove obsolete LGPL license files
* Add LICENSE files to packages
2020-02-25 14:13:34 -05:00
James Bornholt
ac41c8a361 Make get-pure-port redirection case-insensitive
GitHub's CDN seems to have recently started returning the `Location` header for a redirect with a lowercase `l`, which breaks the redirect logic. The HTTP spec says that header names are case-insensitive, so we need to look for either version.
2020-02-25 13:38:44 -05:00
Bob Burger
68c114c930 fixed typo
original commit: 29c9bfebf730a2691e4302ad82c0be7c22e0d2d2
2020-02-25 11:14:51 -05:00
Bodie Solomon
c7b4ce90a0 Exclude unresolved symbol scheme_signals_registered on Win32 builds
Commit 72d90e4 ("library-manager, numeric, and bytevector-compres
improvements") introduced a regression causing Win32 nmake builds to
fail due to an undefined symbol in c\schsig.c.

This symbol (scheme_signals_registered) is defined in a preprocessor-
conditional code block excluding WIN32 between lines 544 and 737.

This commit bypasses the build regression by enclosing the unresolved
expression in a preprocessor conditional excluding WIN32.

See GitHub Issue #497 for more details:
https://github.com/cisco/ChezScheme/issues/497

original commit: 10bccf39badee76f80d87326d2fc7c4d808fa08e
2020-02-25 10:34:21 -05:00
Ben Greenman
164ce0274c doc: typo, 'produce' -> 'produces' 2020-02-24 21:09:25 -05:00
Matthew Flatt
fb620d5556 cs: constrain register-process-global to intended behavior
Make `register-process-global` check for byte strings, and avoid
retaining the byte string that it's given (in case that changes, for
example).

Closes #3053
2020-02-24 07:23:59 -07:00
John Clements
b63e9a4983
add text on spaces (#3049)
Merging this. Please feel free to revert this change if it's not the right thing.
2020-02-23 09:40:20 -08:00
Matthew Flatt
f8fa08dafb fix version in install makefile
original commit: 060bf8c21f1fc758de68d2eff0b6f9f802207c25
2020-02-23 07:20:24 -07:00
Matthew Flatt
5b7f4e2fd8 unbreak Windows build
original commit: 6c062f550486dfb9b25dfc62f6d1a829bbce1d1b
2020-02-22 19:41:02 -07:00
Matthew Flatt
ef856eda76 cs: fix separator for embedded boot files 2020-02-22 17:32:51 -07:00
Matthew Flatt
995e53ca71 Merge github.com:cisco/ChezScheme
original commit: 8cf52012e2a7b5928cb2602bb17e0128ae0f2776
2020-02-22 15:18:47 -07:00