Commit Graph

40607 Commits

Author SHA1 Message Date
Jay McCarthy
6510ebb565 Turn off demod tests for CS 2019-10-28 16:37:48 -04:00
Matthew Flatt
7d58a92af1 unbreak benchmark starters 2019-10-28 14:02:27 -06:00
Matthew Flatt
a81f9c1c6d /: repair for complex inexact
For a division c+di, when c is less than d, and when (/ d c) produces
infinity, then the sign on the imaginary part of the result was
backwards. For example, `(/ -1.0e-9-1.0e+300i)` produced `-0.0-0.0i`
instead of `-0.0+0.0i`.
2019-10-28 14:02:27 -06:00
Fred Fu
1439fc0e85 fix a typo in comments (#2876) 2019-10-28 10:25:09 -04:00
Sam Tobin-Hochstadt
44895a0027
Relicense this repository under Apache 2.0/MIT. (#2871)
Note: the traditional Racket executable continues to incorporate
LGPLv3 code and thus modifications to it must be released under
that license. However, all Racket code in this repository, as well
as the Racket-on-Chez excutable, are more permissively licensed.

Thanks in particular to @otherjoel and @zyrolasting for their work
on this project.
2019-10-28 09:17:56 -04:00
Dan Holtby
42c897a75f fix for (setup) when (current-library-collection-links) contains hash tables 2019-10-28 06:06:59 -06:00
Matthew Flatt
238cd527f4 revert accidental change to setup/main 2019-10-27 13:49:29 -06:00
Matthew Flatt
2a9a901caa benchmarks: allow specification of alternate executable 2019-10-27 10:38:45 -06:00
Matthew Flatt
0965e5ad6c cs: fix internal procedure-arity-includes/c macro
Repair to 5345fd294c.
2019-10-27 10:38:45 -06:00
Matthew Flatt
bee4a92251 cs-bootstrap: updates to work with recent Chez Scheme changes 2019-10-27 10:38:45 -06:00
Matthew Flatt
47f47d187a guide: correct and improve information on packages
Update the "More Libraries" section.
2019-10-24 15:00:16 -04:00
Matthew Flatt
0263b50c17 reference: add examples for in-directory 2019-10-24 15:00:16 -04:00
Sam Tobin-Hochstadt
01f33de537 Revert "provide example for in-directory"
This reverts commit 348cd7976f.
2019-10-24 15:00:16 -04:00
Sam Tobin-Hochstadt
460ca285b9 Revert "update packges sources"
This reverts commit 6fe8f635e4.
2019-10-24 15:00:16 -04:00
Matthew Flatt
f26181dd84 racket/date: add correctly spelled scaliger functions 2019-10-24 15:00:16 -04:00
Matthew Flatt
b1cae06897 openssl: use OPENSSL_sk_num when no sk_num, etc.
OpenSSL 1.1 adds `OPENSSL_` to the front of some names.
2019-10-24 15:00:16 -04:00
Sam Tobin-Hochstadt
2f8207e7c9 Revert "scalinger -> scaliger"
This reverts commit de0fbf2648.
2019-10-24 14:58:59 -04:00
Sam Tobin-Hochstadt
8f579af413 Revert "Handle symbol changes between openssl-1.0 and 1.1"
This reverts commit 822938d9ae.
2019-10-24 14:58:59 -04:00
Matthew Flatt
fb38db3b84 cs: more direct application of continuations 2019-10-24 07:33:24 -06:00
Matthew Flatt
5345fd294c cs: faster internal procedure-arity-includes/c 2019-10-24 06:25:20 -06:00
Matthew Flatt
487277ad02 cs & thread: fix use of custodian weak reference
Commit 77023aeaba made the reference from a custodian-managed
value to the custodian weak, and that could cause a crash in
certain shutdown cases.

Relevant to #2867
2019-10-23 17:32:57 -06:00
Matthew Flatt
79c27ece6f cs: use improved Chez Scheme call/cc
Just bumping the version number here to make sure the improved
`call/cc` is used. The improvement saves about 10% on ctak by avoiding
a layer of closure allocation.
2019-10-23 17:32:57 -06:00
Matthew Flatt
5bce9e822f cs: improve composable continuation
Refactor to move some composable-continuation support out of the
way of prompts, and add a shortcut for simple composition cases.

Also, fix stack traces with continuation barriers and composable
composition, which could show sections of a trace duplicated.
2019-10-23 17:32:57 -06:00
Sam Tobin-Hochstadt
f01a561c47 Small typos in guide. 2019-10-21 21:27:10 -04:00
Sam Tobin-Hochstadt
b55cc89166 Revert "Guide proofread" and "Guide typos".
This reverts commit 75d5b42640.
This reverts commit 9835bc2f7b.

The author of these commits wishes not to relicense their changes.
2019-10-21 21:26:20 -04:00
Matthew Flatt
7f5f289ff6 cs: improve notes on Racket CS developement
Explain how to build Chez Scheme bootfiles using Racket, and fix
information on concurrency that had become out-of-date.
2019-10-19 17:02:01 -06:00
Matthew Flatt
77023aeaba fix custodian weak reference and memory-limit unregistration
For Racket CS, weaken references from managed objects to managing
custodians. Otherwise, a custodian with any managed values cannot
be GCed. Also, fix `collect-garbage` call that is triggered by
a memory-limit shutdown to happen after the current thread
(likely shutdown) is swapped out.

For traditional Racket, fix custodian shutdown on a memory-limited
custodian so that it is unregistered as having a limit.
2019-10-18 22:31:35 -06:00
Matthew Flatt
3c2efafbf5 cs: fix printf and handler interaction
Fixes inconsistency in the uses of handlers compared to traditional
Racket, and repairs a crash for displaying byte strings via `~a`.
2019-10-18 18:57:46 -06:00
Matthew Flatt
588778d14c cs: fix compile for non-serializable literals
Lift and delay serialization for non-serializable literals when
using `compile`. Just `compile`ing such an expression is ok, but
it reports an error if there's an attempt to serialize (by printing)
the compiled value.

This improvment also brings Racket CS much more in line with
traditional Racket on the kinds of values that it is willing to
serialize. For example, non-prefab structures no longer serialize
(where deserializing in a new Racket run would produce an instance of
a distinct structure type). The exception type and error message also
now matches traditional Racket.

The improvement relies on a new argument to `s-exp->fasl` for handling
errors.
2019-10-18 18:36:52 -06:00
Matthew Flatt
014f3ab800 increase some test timeouts 2019-10-18 12:11:09 -06:00
Matthew Flatt
772289e2c1 force a major GC after memory-limit custodian shutdown
Also, adjust a memory-limit test that wasn't checking behavior as
intended and that wasn't consistent with a Racket CS improvement over
traditional Racket.
2019-10-18 06:57:44 -06:00
Matthew Flatt
334bfd2f3c adjust some test timeouts 2019-10-17 16:59:12 -06:00
Sam Tobin-Hochstadt
3bf637f6f9
Sell pre-built versions more. (#2860) 2019-10-16 22:10:49 -04:00
Matthew Flatt
a0aeadca0a schemify: fix name associated to on-demand procedure
Fix the procedure name that is used before an on-demand procedure is
extracted.
2019-10-16 15:50:16 -06:00
Luke Lau
a3d2939dae Fix libcrypto native-lib install on macOS 10.15
Catalina now aborts when dlopen'ing the versionless libcrypto/libssl
dylibs.
This removes the versionless libs on macOS from the list of versions
2019-10-16 13:55:35 -06:00
Matthew Flatt
01ed8e4662 cs & ffi/unsafe: change base type of (_bytes o <n>) to _pointer
A base type of `_gcpointer` works ok for traditional Racket as a kind
of "maybe it's GCable, so treat it that way just in case". That
approach doesn't work for Racket CS, where `_gpointer` has to mean
"definitely GCable memory". Although the difference is unfortunate,
making Racket CS base `(_bytes o <n>)` on `_pointer` is consistent
with the way plain `_bytes` is like `_pointer` in Racket CS and like
`_gcpointer` in traditional Racket.
2019-10-16 13:52:21 -06:00
Matthew Flatt
e0b51e2709 expander: repair top-level compilation to machine-independent 2019-10-16 07:18:17 -06:00
Matthew Flatt
ea2d1571a8 Adjust README.md to point to {download,docs}.racket-lang.org
As suggested by Sam.
2019-10-16 05:34:09 -06:00
Matthew Flatt
ecf905469a normalize license file names can centralize as much as possible 2019-10-16 05:34:09 -06:00
Matthew Flatt
972788c137 replace "INSTALL.txt" with rendered Build Guide 2019-10-15 19:05:36 -06:00
Sam Tobin-Hochstadt
df5b2a1cd5 Small typos 2019-10-15 14:21:45 -04:00
Matthew Flatt
32b7b6d697 initial version of build and contributing guide
This guide is meant to replace "INSTALL.txt" and create
a long-term home for advice on contributing.
2019-10-15 10:28:50 -06:00
Sam Tobin-Hochstadt
9f87cf46b5 Make this a dot file. 2019-10-15 08:15:25 -04:00
Sam Tobin-Hochstadt
a647cea35d Minor metadata changes. 2019-10-15 08:09:32 -04:00
Matthew Flatt
6aa96ad3f7 csm thread, io: avoid termination problem
Especially avoid problems with `custodian-shutdown-all` on the main
custodian in the main thread.
2019-10-14 18:38:19 -06:00
Matthew Flatt
6e0c5e60f3 expander: fix extract dependency checking
Don't convert the recorded version number to a path.
2019-10-14 16:43:04 -06:00
Matthew Flatt
978d60e4a7 windows: adjust flush handling of file-stream output ports
Some synchronization built into `close-output-port` seems unnecessary
on modern Windows (NT and up). An extra manager thread is needed for a
anonymous pipe for "write ready?" purposes, but not to buffer output.
The Windows documentation is not entirely clear on this point, but
experiments suggest that modern anonymous pipes behave in the obvious
way.

Meanwhile, adjust the io layer used by Racket CS with the
synchronization that would be needed for Windows 95. This adjustment
is questionable, because it doesn't seem likely that we'll ever go
back that far with Racket CS. But the rktio interface to support
flushing synchronization might somehow be needed in a future setting,
or mabe it will turn out that I'm wrong about pipe buffers.
2019-10-14 16:12:06 -06:00
Matthew Flatt
81815980d7 adjust test for Windows
Adjusts a test added in 89403dc8cd.
2019-10-14 13:32:01 -06:00
Matthew Flatt
c19b944110 racket/port: fix evt constructors to work right with read errors
Propoagate read errors to the `sync` that is applied to an event,
instead of writing the events to stdout.

Related to racket/web-server#76
2019-10-14 11:52:50 -06:00
Matthew Flatt
89403dc8cd fix file-stream read/write on concurrent close
Includes repairs for both Racket CS and traditional Racket.
2019-10-14 10:53:33 -06:00