awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
racket avatar

racket/racket

0
View on GitHub↗
5,157 stars·690 forks·Racket·10 viewsracket-lang.org↗

Racket

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.

Features

  • General Purpose Language Environments - Provides a complete platform and standard library for creating standalone software and web applications.
  • Language Workbenches - Functions as a language workbench for designing and implementing custom programming languages through macros and modules.
  • Command Line Package Managers - Ships a dedicated command-line tool for installing, updating, and versioning software libraries and extensions.
  • Integrated Development Suites - Provides a comprehensive software suite that unifies code editing, debugging, and execution tools into a single interface.
  • Dynamic Language Selection - Allows the system to determine the language definition for a module at read-time based on environment variables.
  • Language Development Environments - Offers an integrated environment for writing, editing, and executing code across various languages.
  • Lisp Dialects - Implements a general-purpose, multi-paradigm programming language in the Lisp family.
  • Read-Time Module Expansion - Determines the language definition for a module at read-time to apply specific semantics and expansion rules.
  • Binary Serializers - Converts nested data structures into a canonical byte-string format using size-prefixed atoms for unambiguous stream parsing.
  • Byte-String Serializers - Converts s-expressions into a canonical byte-string format using size-prefixed atoms for unambiguous stream parsing.
  • Semantics Engineering Tools - Provides a comprehensive suite for semantics engineering to build new programming languages.
  • Standard Libraries - Ships a vast standard library covering networking, graphics, database integration, and binary data processing.
  • Macro-Driven Transformations - Transforms source code into structured parse trees using a domain-specific language for semantics engineering.
  • S-Expression Parsers - Ships a parser specifically designed for converting byte strings or input ports into nested Lisp-style s-expressions.
  • Formal Grammar Parser Generators - Produces lexers and parsers from formal grammar specifications to convert token streams into structured representations.
  • Pattern-Based Parsing - Enables destructuring bytestrings into values using fixed-width fields, delimiters, and configurable endianness.
  • Binary Schema Definitions - Allows mapping field sequences to binary formats to automate the handling of complex data structures.
  • Parser Generators - Provides a domain-specific language for generating binary data parsers with backtracking and context-sensitivity.
  • Binary Type Inspectors - Provides predefined types for interpreting raw bytes as big-endian or little-endian integers, floats, and byte strings.
  • Deductive Databases - Supports executing declarative logic queries using Horn clauses and tabling to ensure result termination.
  • SQL Database Management - Executes relational queries and manages data persistence using an SQL backend with parameterized statements.
  • Remote Debugging - Supports connecting to and inspecting the state of running processes via a remote server-client interface.
  • Visual Debugging Environments - Provides a visual debugger with stack view and definition windows to inspect program state.
  • Educational Abstraction Layers - Enables the creation of specialized language subsets and educational layers to simplify programming concepts.
  • Pedagogical Language Subsets - Supports the creation of specialized language subsets and teaching packages to simplify learning for different skill levels.
  • 2D and 3D Graphics Rendering - Provides comprehensive 2D graphics rendering for drawing lines, shapes, and text using customizable pens and brushes.
  • Bitmap Manipulation - Includes tools for modifying bitmap images using alpha channels, blending, and clipping regions.
  • Vector Graphics Export - Generates visual content in standardized vector formats including PDF, SVG, and PostScript.
  • Distributed Systems Coordination - Manages communication between remote process nodes using asynchronous bidirectional channels and message passing.
  • Message-Passing Process Coordination - Implements a message-passing interface for sending, receiving, and broadcasting data across distributed process nodes.
  • Custodian Tracking - Tracks allocated bytes and object counts across specific threads to identify and reclaim memory-intensive resources.
  • Thread Inspection - Includes capabilities for listing and analyzing the stack frames of threads associated with a running process.
  • Binary Executable Creation - Supports compiling source code into standalone native binary executables for distribution.
  • Foreign Function Interfaces - Implements foreign function interfaces for calling code written in other languages from within the environment.
  • Lexer Generators - Provides tools for automatically generating lexers to transform raw input text into token streams.
  • Thread-Aware Memory Analyzers - Ships utilities that isolate and report memory allocation statistics on a per-thread basis.
  • Parser Generators - Provides facilities to construct parsers that convert token streams into structured representations using grammar specifications.
  • Binary Data Processing - Provides capabilities for parsing and serializing complex binary formats and data structures using defined patterns.
  • Application Performance Profiling - Includes capabilities for sampling execution to identify performance bottlenecks and measure execution time.
  • Test Coverage Metrics - Provides tools for measuring the percentage of source code executed by test suites.
  • Graphical User Interfaces - Includes toolkits for designing visual application layouts and interactive components.

Star history

Star history chart for racket/racketStar history chart for racket/racket

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Racket

Similar open-source projects, ranked by how many features they share with Racket.
  • gto76/python-cheatsheetgto76 avatar

    gto76/python-cheatsheet

    38,499View on GitHub↗

    This project is a comprehensive technical reference and programming cheatsheet for the Python language. It serves as a curated catalog of language features, syntax patterns, and standard library functions designed to help developers identify and apply correct coding patterns. The documentation covers a broad range of functional areas, including language fundamentals such as object-oriented structuring, functional logic, and list comprehensions. It also provides guidance on utilizing the standard library for data analysis, file management, networking, and concurrent execution. The reference e

    Pythoncheatsheetpythonpython-cheatsheet
    View on GitHub↗38,499
  • haxefoundation/haxeHaxeFoundation avatar

    HaxeFoundation/haxe

    6,880View on GitHub↗

    Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. It provides a unified type system with automatic type inference, a compile-time macro system for code transformation and generation, conditional compilation directives, and a static analysis engine that enforces null safety and eliminates dead code to produce smaller, safer outputs. The language is supported by the HashLink virtual machine, which executes platform

    Haxecompilercross-platformhaxe
    View on GitHub↗6,880
  • norvig/paip-lispnorvig avatar

    norvig/paip-lisp

    7,465View on GitHub↗

    This project is a comprehensive Lisp AI implementation library that provides reference implementations for various artificial intelligence paradigms and symbolic algorithms. It functions as a multi-purpose toolkit containing a logic programming engine, a natural language processing suite, and a symbolic mathematics toolkit. The library is distinguished by its diverse architectural frameworks, including a Prolog-style execution engine that uses unification and goal-driven backtracking, and a system for simulating human decision-making through expert system shells and certainty factors. It also

    Common Lisp
    View on GitHub↗7,465
  • pegjs/pegjspegjs avatar

    pegjs/pegjs

    4,908View on GitHub↗

    PegJS is a parsing expression grammar tool and JavaScript parser generator. It functions as a grammar compiler that transforms formal grammar specifications into executable JavaScript code for analyzing structured text and processing complex input strings. The system generates deterministic parsers that avoid the ambiguity of context-free grammars. It utilizes a packrat parsing model with memoization to ensure linear time complexity and employs recursive descent parsing to process input in a top-down hierarchical manner. The toolset supports the implementation of domain-specific languages an

    JavaScript
    View on GitHub↗4,908
See all 30 alternatives to Racket→

Frequently asked questions

What does racket/racket do?

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.

What are the main features of racket/racket?

The main features of racket/racket are: General Purpose Language Environments, Language Workbenches, Command Line Package Managers, Integrated Development Suites, Dynamic Language Selection, Language Development Environments, Lisp Dialects, Read-Time Module Expansion.

What are some open-source alternatives to racket/racket?

Open-source alternatives to racket/racket include: gto76/python-cheatsheet — This project is a comprehensive technical reference and programming cheatsheet for the Python language. It serves as a… norvig/paip-lisp — This project is a comprehensive Lisp AI implementation library that provides reference implementations for various… haxefoundation/haxe — Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a… pegjs/pegjs — PegJS is a parsing expression grammar tool and JavaScript parser generator. It functions as a grammar compiler that… janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an… ocaml/ocaml — OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and…