Skip to content

Vyzer9/racket

 
 

Racket Programming Language

License: MIT/Apache/LGPL Made with Scheme

Racket Logo

Racket is a general-purpose programming language in the Lisp/Scheme family and an ecosystem for language-oriented programming.

This repository contains the source code for the core Racket system and some related packages.
Other parts of the Racket distribution are maintained in separate repositories under the Racket GitHub organization.


📌 Table of Contents


What is Racket?

Racket is a mature, functional-first language with support for multiple paradigms and a focus on language creation.

Key Features

  • Supports functional, imperative, object-oriented, and logic programming
  • Language-oriented: create new syntaxes and DSLs with powerful macros
  • Comes with DrRacket, a beginner-friendly IDE
  • Used in education, research, and production
  • Includes a package ecosystem, module system, and REPL

For detailed instructions, see the Build Guide

Install

Prebuilt binaries for major platforms are available at:

Note: Prebuilt packages are available for most operating systems.

Building from Source

To build Racket from this repository:

  • This repository is intended for Racket development or contributions.
  • Follow the instructions in the Build Guide
git clone https://github.com/racket/racket
cd racket
make

Note: For detailed instructions, see the Build Guide.

Documentation

Example Code

#lang racket

(define-syntax-rule (factorial n)
  (let loop ([i n] [acc 1])
    (if (<= i 1)
        acc
        (loop (sub1 i) (* acc i)))))

(factorial 5)
; => 120

For more Racket examples, visit the Official Racket Examples page

Contributing

We welcome contributions of all kinds, including code, documentation, and issue reports.

By contributing, you agree to license your work under the following licenses:

See the LICENSE.txt file and the LICENSE files in racket/src/ for more information.

Please read our Friendly Environment Policy to ensure respectful and inclusive communication.

Community

Stay connected with the Racket community:

License

This project is distributed under the following licenses:

See the LICENSE.txt file for general information.

About

The Racket repository

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Racket 43.3%
  • Scheme 25.8%
  • C 23.5%
  • C++ 2.5%
  • Shell 1.3%
  • TeX 0.9%
  • Other 2.7%