Commit Graph

42819 Commits

Author SHA1 Message Date
Matthew Flatt
70c763833d repair collection-file-path and default current-compiled-file-roots
The `collection-file-path` function did not handle compiled-file root
paths correctly. The problem was exposed by a recent change to the
default for `current-compiled-file-roots`, which made it match the
documentation, but this commit changes it back and fixes the
documentation.
2021-02-25 13:31:17 -07:00
Cameron Moy
7f34da35e7 Fail random generation of range contracts with bad bounds 2021-02-25 11:34:00 -06:00
Matthew Flatt
f1fb22f0a7 Chez Scheme: faster bignum printing for power-of-two bases
Insteda of using the generic strategy that involves division, walk
through the bits of a bignum to convert to a power-of-two base.
2021-02-25 06:35:46 -07:00
Matthew Flatt
c2b46b1e96 Chez Scheme: Burnikel-Ziegler division for very large integers
Adapted from Peter Bex's Scheme version of CHICKEN's implementation
here:
 https://www.more-magic.net/posts/numeric-tower-part-3.html

Improving dvision has a large effect on printing large integers in
base 10, such as printing `(expt 2 8000000)`.
2021-02-25 06:35:46 -07:00
Matthew Flatt
35116f6015 Chez Scheme: improve multiplication with trailing 0s
Multiplying bignums with trailing 0s is common enough to be worth a
special case.
2021-02-25 06:35:46 -07:00
Matthew Flatt
0cb9643fcb Chez Scheme: improve multiplication and scheduling
Raise the threshold for using Karatsuba. The experimentally determined
threshold (on an M1 Mac) matches the GMP default threshold, so that
seems like a good sign.

Also, adjust kernel bignum operations to decrease the trap counter.
Otherwise, a program that performs many big multiplcations or
divisions does not check for Ctl-C or swap threads often enough.
2021-02-25 06:35:46 -07:00
Cameron Moy
c8bc0c76ad Improve flat-murec-contract with random generation 2021-02-24 15:51:45 -06:00
Matthew Flatt
18435e3a08 cs: fix interactio of unsafe capture and barriers
Fix `unsafe-call-with-composable-continuation/no-wind` so that it's
not blocked by a barrier, since it's supposed to have thread-like
capturing ability.

Closes #3696
2021-02-23 13:03:39 -07:00
Matthew Flatt
fff39d0306 Chez Scheme: fix expected-error log
Repair after commit 0523a5311c.
2021-02-23 13:03:39 -07:00
Fred Fu
12dbfeb58a doc: fix contract for read-bytes-avail!/enable-break 2021-02-23 11:30:05 -07:00
Patrick McCarty
3fa362566c guide: fix a grammatical issue
`into to` -> `into`
2021-02-23 11:29:08 -07:00
yjqww6
4110761f94 cs: optimize pattern matching on authentic structs 2021-02-23 11:25:04 -07:00
Matthew Flatt
23dc67c1a4 unixstyle install: fix when "share/pkgs" is not created 2021-02-22 19:28:36 -07:00
Matthew Flatt
5855fcd0ae more acks.rkt catchup 2021-02-22 19:28:36 -07:00
Matthew Flatt
05ab3ce853 raco pkg: test repair
Thanks to @yfzhe
2021-02-22 19:28:36 -07:00
Matthew Flatt
63aa90c748 repair sandbox test for compile-file-roots with extra paths 2021-02-21 17:52:36 -07:00
Matthew Flatt
6099ec80b3 further repair for test with 'same in compiled-file-roots 2021-02-21 15:11:32 -07:00
Matthew Flatt
5e9535b3a5 fix test to work with ".zo" via compiled-file-roots 2021-02-21 12:58:45 -07:00
Matthew Flatt
d3b4d14287 correction to unixstyle-install for raco commands 2021-02-21 09:47:51 -07:00
Matthew Flatt
441cf9a85c correction to unixstyle-install for libzo mode 2021-02-21 09:41:05 -07:00
Matthew Flatt
4df60bb819 unbreak make install step for non-Unix-style, too 2021-02-21 08:29:33 -07:00
Matthew Flatt
9dbcf179b6 unbreak make install step 2021-02-21 08:16:27 -07:00
Matthew Flatt
51b8606861 unix-style install: ".zo"s in "lib" instead of "share"
For a Unix-style installation, change the default mode to put
"compiled" directories under "lib" instead of "shared", since they're
architecture-specific for Racket CS.

This installation mode relies on the new 'compiled-file-roots config
entry. The installation process updates "config.rktl" so that
`current-compiled-file-roots` is initialized to find ".zo" files under
"lib".

Use `--enable-sharezo` to get the old behavior, either for installing
Racket BC or if you want to ignore "lib"-vs.-"share" guidelines to
simplify the installation.
2021-02-21 07:58:29 -07:00
Matthew Flatt
a110c58e52 add 'compiled-file-roots to "config.rktd" 2021-02-21 07:58:29 -07:00
Matthew Flatt
404c91ed55 fix sorting in "acks.rkt" 2021-02-21 07:58:29 -07:00
Matthew Flatt
95ee83e486 cs: remove reference to racket_exit
Was supposed to be part of 1fd516c502, but was missed because the
change wasn't saved.
2021-02-21 07:58:29 -07:00
Matthew Flatt
2239811eab fix doc typo
Thanks to Mike Sperber for the report.
2021-02-21 07:58:29 -07:00
Robby Findler
3d2eeba6a4 typo 2021-02-20 13:47:27 -06:00
Matthew Flatt
cff766ab84 change Git package references to use default branch
If a Git package source does not include "#" followed by a ref, then
use the branch/commit designated by a server as the default branch or
commit (i.e., the one for the "HEAD" symref), instead of assuming the
branch "master".

This is technically a backward-incompatible change to the
interpretation of Git package sources, but explicit branch
specification continues to work the same. For the forseeable future,
to support recent versions, packages in a branch other than "master"
will still need to be specified using the branch name, such as
including "#main" at the end of the package source. Eventually,
relevant versions of Racket will support the new default.

Relevant to #3672
2021-02-20 07:21:10 -07:00
Matthew Flatt
f0e41cf143 git-checkout: add support for 'head as a ref
Also, change the default ref from "master" to 'head. This is
technically a backward-incompatible change, but so far it seems more
likely to make things work right than to break them.
2021-02-19 16:01:29 -07:00
Matthew Flatt
19c3ee456b configure: fix --collectsdir and --appsdir handling
Thanks to @tgbugs for the report an initial repair.

Closes #3692
2021-02-19 09:26:58 -07:00
Matthew Flatt
eaeb49d0d1 update acks.rkt 2021-02-19 09:26:58 -07:00
David Van Horn
f060ba5cd5 Spelling 2021-02-18 10:46:41 -05:00
Matthew Flatt
89130bd64f unbreak cross build 2021-02-17 11:09:54 -07:00
Matthew Flatt
bf8741e727 add #:callback-exns? to _fun and _cprocedure
In Racket BC, callbacks don't have to be atomic, and it's ok for the
callback to raise an exception (as long as the foreign library is ok
with a longjmp escape). Using `#:callback-exns? #t` on a foreign
callout in both CS and BC allows an atomic callback (invoked during
the foreign call) to raise an exception. Terms and conditions apply.
2021-02-17 08:41:09 -07:00
Matthew Flatt
5ed105ef8a reference: fix docs on get-output-string 2021-02-17 08:41:09 -07:00
David Van Horn
cc5dbaac2c Update pkgs/racket-doc/scribblings/guide/other.scrbl
Co-authored-by: Sam Tobin-Hochstadt <samth@cs.indiana.edu>
2021-02-16 22:19:47 -05:00
David Van Horn
77b487b671 Fix up planet url. 2021-02-16 22:19:47 -05:00
David Van Horn
5743e1a143 Occurrences of http -> https that don't redirect. 2021-02-16 22:19:47 -05:00
David Van Horn
4438dec280 Wayback for old MSDN doc. 2021-02-16 22:19:47 -05:00
David Van Horn
497f35a071 Use https for HtDP links since MIT Press doesn't redirect. 2021-02-16 22:19:47 -05:00
David Van Horn
5170940daf Fix stale MELPA URL. 2021-02-16 22:19:47 -05:00
David Van Horn
297c3b93fb Update CGI RFC reference, fix stale URL. 2021-02-16 22:19:47 -05:00
Matthew Flatt
616daa2239 windows: fix finding self for boot files
Use a wide-character function instead of an ASCII function
to open the executable. Otherwise, Racket breaks when installed
into a non-ASCII path.
2021-02-16 17:24:11 -07:00
Ryan Culpepper
f502cf3b4e db: simplify locking 2021-02-16 12:56:15 +01:00
Ryan Culpepper
f1a5dab4c7 db: update sqlite3 to use ffi-common mixin 2021-02-16 12:56:15 +01:00
Ryan Culpepper
594dfafdf4 db: factor out ffi-common mixin 2021-02-16 12:56:15 +01:00
Matthew Flatt
cf0e45b763 cs: unbreak Windows errno
Restores the repair in 6e58310176, which accomodates certain modes of
compiling the Chez Scheme kernel on Windows.
2021-02-15 17:52:56 -07:00
Matthew Flatt
1fd516c502 cs: fix exit on startup error
Also, simplify errno and exit handling, because Chez Scheme always
provided "(cs)s_errno", and "(cs)c_exit" now does what Racket needs.

Closes #3687
2021-02-15 17:41:25 -07:00
Matthew Flatt
688094e622 Chez Scheme: make default exit handler normal
If a script uses `(exit 1)`, for example, the script should
exit with status 1.
2021-02-15 17:23:55 -07:00