# racket/racket

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/racket-racket).**

5,157 stars · 690 forks · Racket · NOASSERTION

## Links

- GitHub: https://github.com/racket/racket
- Homepage: https://racket-lang.org/
- awesome-repositories: https://awesome-repositories.com/repository/racket-racket.md

## Topics

`racket`

## Description

Racket is a general-purpose, multi-paradigm programming language in the Lisp family designed for language creation. It functions as a language workbench, providing a platform for designing and implementing custom programming languages through a flexible system of macros and modules.

The system distinguishes itself by offering a comprehensive suite for semantics engineering, allowing for the construction of specialized language subsets and educational layers. It includes tools for custom language design, such as lexer and parser generation, as well as the ability to define module expansion rules and dynamic language selection at read-time.

The project provides an integrated development environment with a built-in editor, visual debugger, and a software package manager. Its capability surface extends to a general-purpose standard library covering 2D graphics rendering, binary data processing, SQL and deductive database integration, and the construction of graphical user interfaces.

The environment supports compiling source code into standalone executable files for distribution.

## Tags

### Programming Languages & Runtimes

- [General Purpose Language Environments](https://awesome-repositories.com/f/programming-languages-runtimes/general-purpose-language-environments.md) — Provides a complete platform and standard library for creating standalone software and web applications. ([source](https://docs.racket-lang.org/))
- [Language Workbenches](https://awesome-repositories.com/f/programming-languages-runtimes/language-workbenches.md) — Functions as a language workbench for designing and implementing custom programming languages through macros and modules.
- [Dynamic Language Selection](https://awesome-repositories.com/f/programming-languages-runtimes/dynamic-language-selection.md) — Allows the system to determine the language definition for a module at read-time based on environment variables. ([source](https://docs.racket-lang.org/choose-lang/index.html))
- [Language Development Environments](https://awesome-repositories.com/f/programming-languages-runtimes/language-development-environments.md) — Offers an integrated environment for writing, editing, and executing code across various languages. ([source](https://docs.racket-lang.org/drracket/index.html))
- [Lisp Dialects](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/language-specific-resources/functional-programming-ecosystems/lisp-dialects.md) — Implements a general-purpose, multi-paradigm programming language in the Lisp family.
- [Read-Time Module Expansion](https://awesome-repositories.com/f/programming-languages-runtimes/read-time-module-expansion.md) — Determines the language definition for a module at read-time to apply specific semantics and expansion rules.
- [Binary Serializers](https://awesome-repositories.com/f/programming-languages-runtimes/s-expression-data-formats/binary-serializers.md) — Converts nested data structures into a canonical byte-string format using size-prefixed atoms for unambiguous stream parsing.
- [Byte-String Serializers](https://awesome-repositories.com/f/programming-languages-runtimes/s-expression-data-formats/byte-string-serializers.md) — Converts s-expressions into a canonical byte-string format using size-prefixed atoms for unambiguous stream parsing. ([source](https://docs.racket-lang.org/csexp/index.html))
- [Semantics Engineering Tools](https://awesome-repositories.com/f/programming-languages-runtimes/semantics-engineering-tools.md) — Provides a comprehensive suite for semantics engineering to build new programming languages. ([source](https://cdn.jsdelivr.net/gh/racket/racket@master/README.md))
- [Standard Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/standard-libraries.md) — Ships a vast standard library covering networking, graphics, database integration, and binary data processing.
- [Binary Executable Creation](https://awesome-repositories.com/f/programming-languages-runtimes/binary-executable-creation.md) — Supports compiling source code into standalone native binary executables for distribution. ([source](https://docs.racket-lang.org/drracket/index.html))
- [Foreign Function Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/foreign-function-interfaces.md) — Implements foreign function interfaces for calling code written in other languages from within the environment. ([source](https://docs.racket-lang.org/))
- [Lexer Generators](https://awesome-repositories.com/f/programming-languages-runtimes/lexical-token-streams/token-stream-converters/regex-token-stream-lexers/lexer-generators.md) — Provides tools for automatically generating lexers to transform raw input text into token streams. ([source](https://docs.racket-lang.org/br-parser-tools/index.html))

### Development Tools & Productivity

- [Command Line Package Managers](https://awesome-repositories.com/f/development-tools-productivity/command-line-package-managers.md) — Ships a dedicated command-line tool for installing, updating, and versioning software libraries and extensions. ([source](https://docs.racket-lang.org/))
- [Integrated Development Suites](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/integrated-development-suites.md) — Provides a comprehensive software suite that unifies code editing, debugging, and execution tools into a single interface.
- [Remote Debugging](https://awesome-repositories.com/f/development-tools-productivity/application-debugging/remote-debugging.md) — Supports connecting to and inspecting the state of running processes via a remote server-client interface. ([source](https://docs.racket-lang.org/dbg-manual/index.html))
- [Visual Debugging Environments](https://awesome-repositories.com/f/development-tools-productivity/debugging-tools/visual-debugging-environments.md) — Provides a visual debugger with stack view and definition windows to inspect program state. ([source](https://docs.racket-lang.org/drracket/index.html))

### Software Engineering & Architecture

- [Macro-Driven Transformations](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation/macro-driven-transformations.md) — Transforms source code into structured parse trees using a domain-specific language for semantics engineering.
- [S-Expression Parsers](https://awesome-repositories.com/f/software-engineering-architecture/recursive-expression-parsers/s-expression-parsers.md) — Ships a parser specifically designed for converting byte strings or input ports into nested Lisp-style s-expressions. ([source](https://docs.racket-lang.org/csexp/index.html))
- [Formal Grammar Parser Generators](https://awesome-repositories.com/f/software-engineering-architecture/trees/syntax-tree-construction/formal-grammar-parser-generators.md) — Produces lexers and parsers from formal grammar specifications to convert token streams into structured representations.
- [Thread-Aware Memory Analyzers](https://awesome-repositories.com/f/software-engineering-architecture/memory-usage-analysis/thread-aware-memory-analyzers.md) — Ships utilities that isolate and report memory allocation statistics on a per-thread basis. ([source](https://docs.racket-lang.org/dbg-manual/index.html))
- [Parser Generators](https://awesome-repositories.com/f/software-engineering-architecture/trees/syntax-tree-construction/grammar-based-parsers/parser-generators.md) — Provides facilities to construct parsers that convert token streams into structured representations using grammar specifications. ([source](https://docs.racket-lang.org/br-parser-tools/index.html))
- [Binary Data Processing](https://awesome-repositories.com/f/software-engineering-architecture/type-safe-data-handling/binary-data-processing.md) — Provides capabilities for parsing and serializing complex binary formats and data structures using defined patterns.

### Data & Databases

- [Pattern-Based Parsing](https://awesome-repositories.com/f/data-databases/binary-and-text-file-parsing/binary-stream-parsing/pattern-based-parsing.md) — Enables destructuring bytestrings into values using fixed-width fields, delimiters, and configurable endianness. ([source](https://docs.racket-lang.org/binary-matcher/index.html))
- [Binary Schema Definitions](https://awesome-repositories.com/f/data-databases/binary-data-formats/binary-schema-definitions.md) — Allows mapping field sequences to binary formats to automate the handling of complex data structures. ([source](https://docs.racket-lang.org/binary-class/index.html))
- [Parser Generators](https://awesome-repositories.com/f/data-databases/binary-data-parsers/parser-generators.md) — Provides a domain-specific language for generating binary data parsers with backtracking and context-sensitivity. ([source](https://docs.racket-lang.org/binfmt-manual/index.html))
- [Binary Type Inspectors](https://awesome-repositories.com/f/data-databases/data-type-inspection/binary-type-inspectors.md) — Provides predefined types for interpreting raw bytes as big-endian or little-endian integers, floats, and byte strings. ([source](https://docs.racket-lang.org/binary-class/index.html))
- [Deductive Databases](https://awesome-repositories.com/f/data-databases/deductive-databases.md) — Supports executing declarative logic queries using Horn clauses and tabling to ensure result termination. ([source](https://docs.racket-lang.org/datalog/index.html))
- [SQL Database Management](https://awesome-repositories.com/f/data-databases/sql-database-management.md) — Executes relational queries and manages data persistence using an SQL backend with parameterized statements. ([source](https://docs.racket-lang.org/continue/index.html))

### Education & Learning Resources

- [Educational Abstraction Layers](https://awesome-repositories.com/f/education-learning-resources/programming-language-education/educational-abstraction-layers.md) — Enables the creation of specialized language subsets and educational layers to simplify programming concepts. ([source](https://docs.racket-lang.org/deinprogramm/index.html))
- [Pedagogical Language Subsets](https://awesome-repositories.com/f/education-learning-resources/programming-language-education/pedagogical-language-subsets.md) — Supports the creation of specialized language subsets and teaching packages to simplify learning for different skill levels.

### Graphics & Multimedia

- [2D and 3D Graphics Rendering](https://awesome-repositories.com/f/graphics-multimedia/2d-and-3d-graphics-rendering.md) — Provides comprehensive 2D graphics rendering for drawing lines, shapes, and text using customizable pens and brushes. ([source](https://docs.racket-lang.org/draw/index.html))
- [Bitmap Manipulation](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/dynamic-pixel-renderers/pixel-art-renderers/raster-image-generation/raster-image-rendering/bitmap-manipulation.md) — Includes tools for modifying bitmap images using alpha channels, blending, and clipping regions. ([source](https://docs.racket-lang.org/draw/index.html))
- [Vector Graphics Export](https://awesome-repositories.com/f/graphics-multimedia/vector-graphics-export.md) — Generates visual content in standardized vector formats including PDF, SVG, and PostScript. ([source](https://docs.racket-lang.org/draw/index.html))

### Networking & Communication

- [Distributed Systems Coordination](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination.md) — Manages communication between remote process nodes using asynchronous bidirectional channels and message passing.
- [Message-Passing Process Coordination](https://awesome-repositories.com/f/networking-communication/message-passing-process-coordination.md) — Implements a message-passing interface for sending, receiving, and broadcasting data across distributed process nodes. ([source](https://docs.racket-lang.org/distributed-places/index.html))

### Operating Systems & Systems Programming

- [Custodian Tracking](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation/custom-memory-allocators/managed-memory-allocators/memory-allocation-management/custodian-tracking.md) — Tracks allocated bytes and object counts across specific threads to identify and reclaim memory-intensive resources.
- [Thread Inspection](https://awesome-repositories.com/f/operating-systems-systems-programming/thread-inspection.md) — Includes capabilities for listing and analyzing the stack frames of threads associated with a running process. ([source](https://docs.racket-lang.org/dbg-manual/index.html))

### System Administration & Monitoring

- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Includes capabilities for sampling execution to identify performance bottlenecks and measure execution time. ([source](https://docs.racket-lang.org/dbg-manual/index.html))

### Testing & Quality Assurance

- [Test Coverage Metrics](https://awesome-repositories.com/f/testing-quality-assurance/testing-best-practices-methodologies/quality-assurance-practices/testing-methodologies/test-coverage-metrics.md) — Provides tools for measuring the percentage of source code executed by test suites. ([source](https://docs.racket-lang.org/cover/index.html))

### User Interface & Experience

- [Graphical User Interfaces](https://awesome-repositories.com/f/user-interface-experience/graphical-user-interfaces.md) — Includes toolkits for designing visual application layouts and interactive components.
