The Racket repository
Go to file
Matthew Flatt 16ad9ed522 cs: use new immobile-object support
Implement 'atomic-interior allocation and immobile cells using
`make-immobile-bytevector` and `make-immobile-vector`, which avoids
having to unlock through a finalizer.

Also, the Chez Scheme GC can now mostly mark a major generation,
instead of copying it, which can significantly reduce memory
use during a GC for an old, large heap (such as DrRacket's).
2020-04-22 07:19:38 -06:00
.github Static Analysis CI workflow using LLVM scan-build (#3090) 2020-04-02 21:35:37 +02:00
.gitlab Test all XML collection 2019-11-07 18:18:32 +01:00
pkgs cs: use new immobile-object support 2020-04-22 07:19:38 -06:00
racket cs: use new immobile-object support 2020-04-22 07:19:38 -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
.gitlab-ci.yml Test all XML collection 2019-11-07 18:18:32 +01:00
.mailmap Minor metadata changes. 2019-10-15 08:09:32 -04:00
build.md racket-build-guide: Don’t decode within exec/commandline 2020-01-02 12:17:07 -06:00
LICENSE Clarify embedded executable issues (#2908) 2019-11-15 21:02:20 -05:00
Makefile makefile: add an advice-giving clean target 2020-03-21 15:09:58 -06:00
README.md Fixed small typo. 2019-12-10 06:09:32 -07: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.