Commit Graph

42440 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
e82c60a0e1 Use racketvalfont to avoid LaTeX problem.
Error reported by @rfindler.
2019-10-31 14:06:52 -04:00
Matthew Flatt
6073602c8e udp test: avoid 0 as TTL, because that's not always allowed by the OS 2019-10-30 10:07:24 -06:00
Jay McCarthy
87551667c9 increase timeout 2019-10-30 11:06:48 -04:00
Alex Muscar
966399dec6 Fix gen:dict methods for alists with duplicate keys (#2846)
* Fix gen:dict methods for alists with duplicate keys

This fixes https://github.com/racket/racket/issues/2803.

Note that while this works, the implementation is not particlarly fast.
Especially for iterators.

* Fix tabs

* Make code more efficient

* Fix function definition order

* Import set library

* Preserve order

* Use immutable hash sets

* Remove unused import and remove duplicate checks

* Fix syntax error
2019-10-30 11:04:40 -04:00
Matthew Flatt
5e0be0d672 update "base" version number 2019-10-29 19:23:05 -06:00
Matthew Flatt
c5a7d0e38a finish udp-ttl and udp-set-ttl!
Add tests, documentation, and fixes for rktio and Racket CS.
2019-10-29 18:34:03 -06:00
David K. Storrs
24ec75fd03 added udp-ttl and udp-set-ttl! 2019-10-29 15:35:58 -04:00
Matthew Flatt
c34538c58f cs & thread: fix sync shortcut and handle-evt
A shortcut meant to speed up `sync` on values such as semaphores
caused `handle-evt` handlers to sometimes not run in tail position.
2019-10-28 19:05:31 -06:00
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
Matthew Flatt
f0dc15c335 mark single-valued internal primitives
Probably makes no difference right now, since these internal functons
rarely show up in the process of optimizing user programs, but just in
case.

original commit: b54a288b31731368dbcf57c95b78f0a162c29147
2019-10-28 11:41:37 -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
Oscar Waddell
05ced37f45 fix typo
original commit: 243cd029bb19ce555dac4012e6e20c5673143b64
2019-10-26 17:30:53 -04: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
9ae0e9b971 fix call/cc inside call-...-continuation-attachment
Can't simply use a continuation reified by an attachment
operation, because it is probably a 1-shot continuation
that needs to be promoted.

original commit: 8201aff06df8011ffbc41f217d50e4c430d75bb5
2019-10-24 05:40:55 -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
Matthew Flatt
f52283de7e semi-inline call/cc in tail position
Effectively, change a `call/cc` call to `let/cc` when it appears in
the tail position of a function. This change takes advantage of
continuation-reification support that was built for continuation
attachments.

original commit: 4c015a5b55f7d04839a0efd8e5554fc237e4663b
2019-10-23 08:33:01 -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
Bob Burger
f9a2c87545 Travis: use bionic dist
original commit: a6a7e27f818da196f32e907d085d5e3456a9cd65
2019-10-21 13:15:41 -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
bed6036b26 fix test for folding of mutable field access
original commit: e173ef6374751631dd16441dad3feadd7dcbfe1e
2019-10-16 09:08:13 -06:00