The Racket repository
Go to file
Matthew Flatt 03c978d2e8 expander: avoid race condition on syntax-e
Concurrent lazy scope propagation had a (very unlikely) race condition
updating a syntax object. Ryan pointed out this problem as part of the
discussion for #3162.

Switch to using a single field for a syntax object's content and
propagations, so a CAS can be used to update the field. As a pleasant
side effect, this change tends to make syntax objects more compact.
2020-05-12 13:04:17 -06:00
.github Revert "Add future tests to CI (#3169)" 2020-05-10 10:59:20 +02:00
pkgs expander: avoid race condition on syntax-e 2020-05-12 13:04:17 -06:00
racket expander: avoid race condition on syntax-e 2020-05-12 13:04:17 -06:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Fix typo. 2019-06-21 12:32:37 -05:00
.mailmap Minor metadata changes. 2019-10-15 08:09:32 -04:00
build.md makefile: add SERVER_URL_SCHEME to support https 2020-05-03 16:09:55 -06:00
LICENSE Recent GMP is under LGPL v3. 2020-05-01 22:26:25 -04:00
Makefile makefile: add SERVER_URL_SCHEME to support https 2020-05-03 16:09:55 -06:00
README.md add link to https://racket-lang.org/friendly.html (#3164) 2020-05-08 12:57:53 +02:00

Racket is a general-purpose programming language and an ecosystem for language-oriented programming.

This repository holds the source code for the core of Racket plus some related packages. The rest of the Racket distribution source code is in other repositories, mostly under the Racket GitHub organization.

Quick Start

Pre-built versions of Racket for a variety of operating systems and architectures, as well as convenient source distributions are available at

https://download.racket-lang.org

Racket comes with extensive documentation, including several tutorials. You can read all of this documentation, as well as documentation for third-party packages at

https://docs.racket-lang.org

Building from Source

For information on building Racket from this repository, see the Build Guide.

Contributing

Contribute to Racket by submitting a pull request, reporting an issue, joining the development mailing list, or visiting the IRC or Slack channels.

By making a contribution, you are agreeing that your contribution is licensed under the Apache 2.0 and MIT licenses. Those licenses are available in this repository in the files LICENSE-APACHE.txt and LICENSE-MIT.txt.

License

Racket is free software; see LICENSE for more details.

Friendly Environment Policy

Please see https://racket-lang.org/friendly.html