The Racket repository
Go to file
Matthew Flatt 4a4e12bc8c cs: repair register-finalizer-and-custodian-shutdown
Refine the approach in 91abd020d1 so that it's only used when needed
to work for the combination of custodian management and unsafe
finalization.

Also, improve the documentation to clarify the constraints on
`register-finalize` due to its implementation in CS by ordered
finalization. This constraint is also reflected in a new `#:ordered?`
argument to `register-custodian-shutdown`. Any existing code that uses
`register-custodian-shutdown` plus `register-finalizer` directly
instead of `register-finalizer-and-custodian-shutdown` would need to
be updated for Racket CS, but code like that should be rare to
nonexistent.

Closes #3352
2020-08-16 07:37:22 -06:00
.github Clean up uuid dependencies from workflows (#3331) 2020-08-03 19:21:48 +02:00
pkgs cs: repair register-finalizer-and-custodian-shutdown 2020-08-16 07:37:22 -06:00
racket cs: repair register-finalizer-and-custodian-shutdown 2020-08-16 07:37:22 -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
.lgtm.yml Fetch PB to start LGTM build 2020-08-07 12:17:17 +02:00
.mailmap Minor metadata changes. 2019-10-15 08:09:32 -04:00
.makefile makefile: adjust pb fetch for older git clients 2020-08-15 07:46:11 -06:00
build.md update build guide and READMEs for CS as default 2020-08-02 07:57:12 -06:00
LICENSE Recent GMP is under LGPL v3. 2020-05-01 22:26:25 -04:00
Makefile makefile: adjust pb fetch for older git clients 2020-08-15 07:46:11 -06:00
README.md fix broken build guide link 2020-07-20 09:02:28 -04: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, 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 LGPLv3, Apache 2.0, and MIT licenses. Those licenses are available in this repository in the files racket/src/LICENSE-LGPL.txt, racket/src/LICENSE-APACHE.txt, and racket/src/LICENSE-MIT.txt.

See the Racket Build Guide for more guidance on contributing.

The Friendly Environment Policy contains guidelines on expected behavior within the Racket community.

License

Racket is free software; see LICENSE for more details.