Commit Graph

40607 Commits

Author SHA1 Message Date
Matthew Flatt
c8877055da avoid absolute CPU time requirement in test
Relevant to #2964
2019-12-14 10:21:49 -07:00
Ryan Culpepper
6380df8aca
update expander logging (#2968)
This simplifies the expander logging in some places and adds logging for arming/disarming and scope changes (eg syntax-local-introduce) so the macro stepper can better track term identity.

This relies on corresponding changes to the racket/macro-debugger repo.
2019-12-14 01:27:24 +01:00
Brian Wignall
bcd8de5c9a Fix typos 2019-12-13 06:31:50 -07:00
Paulo Matos
b14b2400fd
Add comment to CI step (non-functional)
@samth requested a clarification of the condition under #2959 
Hopefully this comment makes it clear that we require the condition in order not to tarball and upload the clang artifact on Linux.

The choice not to test both the gcc and clang builds was made to save time and because we are not testing the compiler itself, but racket. 
Hopefully by the time we get these production compilers, they are generating correct code.
2019-12-13 08:52:28 +01:00
Matthew Flatt
58f51f15ed repair test of memory use
Fix a test to be less sensitive to the cost of non-tail recursion when
the goal is to check reachability of values from the current
continuation.

Related to #2963
2019-12-12 16:12:47 -07:00
Matthew Flatt
bf41fee58d fix argument check for instantiate-linklet
Closes #2962
2019-12-12 12:08:08 -07:00
Matthew Flatt
387f90ed92 document and test dict behavior on bad association lists
Follows up on ce3992dbf3 to document and test the constraints
that required reverting the earlier change.
2019-12-11 16:33:18 -07:00
Sam Tobin-Hochstadt
ce3992dbf3 Revert "Fix gen:dict methods for alists with duplicate keys (#2846)"
This breaks existing packages; see https://github.com/greghendershott/aws/issues/64
for an example.

Unfortunately, we probably have to live with this limitation of the
interface because of existing code.

This reverts commit 966399dec6.
2019-12-11 15:59:07 -07:00
Matthew Flatt
a191f77c15 rktio: fix Android workaround
When dynamic-library support moved to rktio, only one of two references
to (an arbitrary exported) function was updated.

Closes #2947
2019-12-11 15:21:17 -07:00
Matthew Flatt
e311eed538 increase core-tests timeout
Relevant to #2961
2019-12-11 15:08:14 -07:00
Matthew Flatt
843824c94e build with musl
Skip libunwind support for musl-based Linux environments, and avoid
`__FLOAT_BITS`, etc., in xform.
2019-12-11 14:32:56 -07:00
Fred Fu
4405ed669f add struct-type-property-predicate-procedure? 2019-12-10 10:01:11 -07:00
Paulo Matos
56afa77a2a
On Linux build with clang as well (#2959)
We build on Linux with clang and gcc, but test only the gcc-compiled version. 
On macos we only build with clang.
2019-12-10 17:55:56 +01:00
Julien Delplanque
2e56976dab Fixed small typo. 2019-12-10 06:09:32 -07:00
Paulo Matos
529c0e93a8
Correct which racket is built for CS bootstrap (#2952) 2019-12-10 09:17:43 +01:00
Matthew Flatt
a319b7e073 cs: wake up main thread blocked on fsemaphore
If a future posts to an fsemaphore that the main thread is waiting on
but went to sleep, then be sure to wake up the main thread.

Relevant to #2957
2019-12-09 07:18:16 -07:00
Matthew Flatt
6db1bdda1b cs: fix touch on a future blocked on a fsemaphore
Relevant to #2957
2019-12-09 06:25:39 -07:00
Ben Greenman
8e884089a2
doc: pidefterm -> deftech (#2956)
Use `deftech` for "structure subtype" so that Typed Racket can more
easily reference it
2019-12-08 17:55:26 -05:00
Matthew Flatt
db626bde3d schemify: don't copy uninterned symbols across module boundary
As pointed out by @gus-massa at racket/ChezScheme#15
2019-12-08 06:22:20 -07:00
Matthew Flatt
602c7b0331 avoid some GC tests on CGC
Relevant to #2954 #2955
2019-12-07 17:10:31 -07:00
Matthew Flatt
6e958d8339 net/sendurl: doc correction 2019-12-07 16:39:44 -07:00
Reuben Thomas
26e3651ef9 net-lib/net/sendurl.rkt: use same executable filtering on all systems
Use “cmd.exe” on Windows. This enables us to have a list (of length one on
macOS and Windows) of launcher executables on all platforms, and use
send-url/unix, now renamed to send-url/simple, to launch all URLs without a
query or fragment.
2019-12-07 16:38:38 -07:00
Reuben Thomas
a17c0fa0f8 net-lib/net/sendurl.rkt: use send-url/trampoline for all queries/fragments
Since we need send-url/trampoline for URLs containing a query or fragment in
the default case on all OSes, simplify the code and always use it for such
URLs.
2019-12-07 16:38:38 -07:00
Reuben Thomas
0680a2e2ee net-lib/net/sendurl.rkt: overhaul and simplify; support xdg-open on Unix
Unix: Cut down all-unix-browsers: add xdg-open, which is standard and can
launch applications for files instead of a browser, like the macOS and
Windows equivalents; remove defunct browsers galeon, camino, skipstone,
htmlview, and the rare dillo. Make opera use try-remote, which is identical
to the code it was using. xdg-open cannot handle queries or fragments in
URLs, so for this case factor out send-url/trampoline from send-url/win and
use it.

macOS: Remove try-to-find-macosx-users-browsers, and use “open” instead of
“osascript”; “open” uses the user’s configured browser. As before, it is
still possible to specify a particular browser.

Windows: Shorten and simplify the justification of the trampoline, which is
mostly out of date, though the trick is still needed.
2019-12-07 16:38:38 -07:00
Reuben Thomas
e4d43fa0dc net-lib/net/sendurl.rkt: remove systype function
XonX is defunct, so this function is no longer needed.
2019-12-07 16:38:38 -07:00
Matthew Flatt
83ae4cd9a4 README.md: add a setence to describe Racket
Based on #2929 by @joshuafitzmorris
2019-12-07 11:22:20 -07:00
Matthew Flatt
965ea4ff2b increase timeout for "deterministic-zo.rkt" test
Racket CS needs more time.
2019-12-07 06:14:41 -07:00
Matthew Flatt
fc9ccb8e8f cs: unbreak boot file concatenation 2019-12-06 19:04:53 -07:00
Matthew Flatt
16f1ae7895 cs: add "repeats N more times" printing for error traces 2019-12-06 16:29:17 -07:00
Matthew Flatt
2e53a4c4ff schemify: deterministic order for some cross-inline info 2019-12-06 16:20:52 -07:00
Matthew Flatt
baab2b9974 cs: avoid full paths attached to functions
Source locations are attached to functions for backtraces. With
traditional Racket, those source locations are connected to the
machinery of `current-write-relative-directory` and
`current-load-relative-directory` to avoid absolute paths, but that
machinery is difficult to integrate into the Racket CS compilation
model. So, since they're "just" for stack traces, save only a couple
of elements of the path.
2019-12-06 16:20:52 -07:00
Matthew Flatt
f664483c05 docs: unbreak Reference 2019-12-05 17:31:23 -07:00
Matthew Flatt
a1567eb416 schemify: repair for JIT pass 2019-12-05 17:25:51 -07:00
Matthew Flatt
d7052da691 schemify: more determinism for lifted procedures
A further repair to 6f919635da.
2019-12-05 15:56:32 -07:00
Matthew Flatt
898517107f schemify: purge all gensyms
Although some of them probbably do not matter (while some certainly
do), avoid various possible problems by always using a locally
determinsitic replacement for `gensym`.
2019-12-05 14:41:33 -07:00
Matthew Flatt
d5ab0fce05 schemify: avoid gensym for struct-type representation
A gensym can end up in known-value information, which makes compiled
files non-deterministic.
2019-12-05 09:37:39 -07:00
Matthew Flatt
f5e6ce4282 schemify: name raw accessor/mutators
Inferred names show up as part of the compiled code, so make sure
they're normalized instead of gensyms.
2019-12-05 08:46:15 -07:00
Matthew Flatt
6f919635da schmeify: improve determinism by ordering lifted procedures 2019-12-05 07:06:28 -07:00
Matthew Flatt
1083aa1317 cs: improve function and module name
The former "path.rkt" module handles more than just paths.
2019-12-05 05:50:07 -07:00
Matthew Flatt
c93693169a cs: fix handling of an empty command-line argument 2019-12-05 05:43:31 -07:00
Matthew Flatt
1f92e98590 cs: fixes for uninterned symbols in compiled code
Use newly added support for uninterned symbols (as opposed to gensyms)
in the Chez Scheme layer. Using uninterned symbols reduces
non-determinsitsm in the build.

The change to use Chez Scheme uninterned symbols exposed problems with
the way that Racket-level uninterned symbols (formerly implemented
with gensym) are handled in ".zo" files. The problem is that some
uninterned symbols are marshaled with `racket/fasl`, which is not
consostent with those that are marshaled by Chez Scheme's `fasl`. This
patch fixes those problems by ensuring that uninterned symbols are
always lifted to the level of a Chez Scheme `fasl` for a complete
linklet bundle.
2019-12-04 21:11:42 -07:00
Matthew Flatt
4a36512570 cs: fix $value handling in fallback interpreter
Closes #2951
2019-12-04 07:06:50 -07:00
Matthew Flatt
1c74f8c956 improve names in keyword-function stack traces
Change the way names are generated for pieces of the implementation of
a keyword-argument function. These functions are not accessible as
values, so the names don't matter for printing a function, but the
names can show up in stack traces.
2019-12-02 07:03:09 -05:00
Paulo Matos
22387af060
Remove AppVeyor pipeline (#2949)
Work is already covered by tests in CI PR. Will soon be added to CI Push as well.
2019-12-02 10:39:57 +01:00
Paulo Matos
434fdc4de4
Remove support for azure-pipelines (#2948)
At this point Actions PR CI and Push CI cover all tests in Azure Pipelines so they
are not needed.
2019-12-02 10:29:40 +01:00
Paulo Matos
af986ffda6
Actions for Windows CI (#2945)
Build Racket.exe (3m) and RacketCS.exe (CS) on Windows on push.
2019-12-02 09:16:02 +01:00
Paulo Matos
2836a6027e
More complete set of tests in Actions (#2944)
This adds tests - 1 set of tests per step - for cgc, 3m and cs on Linux and MacOS.
2019-12-02 00:14:21 +01:00
Alexis King
e9fb60588b Fix fcontrol with prompt tag 2019-11-30 05:34:32 -06:00
Matthew Flatt
406fe85144 cs: fix defined-name reporting 2019-11-29 16:48:52 -07:00
Matthew Flatt
ec9c30d2f1 cs: improve error message for define-values
Report the first variable of the `define-values` form, like
traditional Racket does.
2019-11-29 15:09:32 -07:00