The Racket repository
Go to file
Matthew Flatt 181b9c80ac add syntax-serialize and syntax-deserialize
The new functions provide a more direct way to serialize and
deserialize syntax objects than compiling and running a `quote-syntax`
form. The new functions also offer additional configuration related to
preserving extra syntax properties and limiting the use of shared
"bulk binding" tables (i.e., tables that must provided by module
declarations in the namespace).

This change does not add syntax-object support to `serialize` or
`s-exp->fasl`, because serialized syntax objects are still in many
ways like code: they are version-specific, and their invariants can be
broken by mangling the serialized form (in much the same way that
compiled code can be broken by mangling, and with similar safetly
implications).
2021-04-01 08:05:51 -06:00
.github Run workflow directly in VM (#3731) 2021-03-19 18:23:29 +01:00
pkgs add syntax-serialize and syntax-deserialize 2021-04-01 08:05:51 -06:00
racket add syntax-serialize and syntax-deserialize 2021-04-01 08:05:51 -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: clone single pb branch by default 2021-03-23 17:28:46 -06:00
build.md makefile: fix RACKET_FOR_BOOTFILES 2021-03-26 10:43:40 -06:00
LICENSE update LICENSE to use "CS" and "BC" 2021-01-15 09:32:59 -07:00
Makefile makefile: clone single pb branch by default 2021-03-23 17:28:46 -06:00
README.md Fix README 2020-09-06 09:03:42 -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.