Racket Documentation (original) (raw)
Category Theory in Programming
Tutorials
Quick: An Introduction to Racket with Pictures
Continue: Web Applications in Racket
More: Systems Programming with Racket
Racket Language and Core Libraries
The Racket Graphical Interface Toolkit
Scribble: The Racket Documentation Tool
DrRacket: The Racket Programming Environment
raco: Racket Command-Line Tools
Building, Distributing, and Contributing to Racket
How to Program Racket: a Style Guide
Teaching
How to Design Programs Languages
How to Design Programs Teachpacks
Essentials of Programming Languages Language
Programming Languages: Application and Interpretation
Sprachebenen und Material zu Schreibe Dein Programm!
Other Languages in the Racket Environment
Русский язык программирования Ади́на
Datalog: Deductive Database Programming
The Heresy Programming Language
Qi: An Embeddable Flow-Oriented Language
Rash: The Reckless Racket Shell
Sketching A Language for Creative Coding
Zuo: A Tiny Racket for Scripting
How to Design Classes Languages
Tools
Fast-Xml: Simplified XML Parsing and Writing
Pure-Crypto: a pure crypto implementation for racket
Simple-Barcode: Barcode reader and writer
simple-qr: QR-Code Writer and Reader
Simple-Xlsx: XLSX File Reading and Writing
dbg: debug applications remotely
Molis Hai: Natural Language Password Generation
PLaneT: Automatic Package Distribution
Portaudio: Bindings for the Portaudio portable sound library
protoc-gen-racket: Generate Racket Code for Protocol Buffers
Cross-Compilation and Multi-Version Manager: raco cross
Redex: Practical Semantics Engineering
Rhombus Slideshow: Figure and Presentation Tools
Slideshow: Figure and Presentation Tools
Fast 1-D Haar Wavelet Transform
GUI and Graphics Libraries
Framework: Racket GUI Application Framework
Pict Snip: Build Snips from Picts
Browser: Simple HTML Rendering
Cards: Virtual Playing Cards Library
charterm: Character-cell Terminal Interface
Embedded GUI: Widgets Within Editors
GL Board Game: 3-D Game Support
libnotify: an FFI binding for libnotify
Rilouworld: Decentralized Game Universe
RSound: A Sound Engine for Racket
RSVG: an FFI binding for loading SVG images
Rhombus Pict: Functional Pictures
Simple-Svg: Scalable Vector Graphics
String Constants: GUI Internationalization
Network Libraries
csexp: S-expressions over the network
html-writing: Writing HTML from SXML
http-easy: a high-level HTTP client
OSC: Open Sound Control Byte String Conversion
SASL: Simple Authentication and Security Layer
Windows Native SSL: Secure Communication
Mac OS Native SSL: Secure Communication
Parsing Libraries
Binary-class: parsing and saving binary data
Resource Interchange File Format (RIFF)
Binary-class/mp3: parsing ID3v2.1 and ID3v2.2
Extracting binary data from bytestrings using match
binfmt: binary format parser generator
Parser Tools: lex and yacc-style Parsing (BR edition)
csv-reading: Comma-Separated Value (CSV) Parsing
gemtext: A text/gemini parser for Racket
html-parsing: Permissive Parsing of HTML to SXML
json-parsing: JSON Parsing, Folding, and Conversion
Parser Tools: lex and yacc-style Parsing
Megaparsack: Practical Parser Combinators
File: Racket File and Format Libraries
Sparse: Test Generation for Simple S-expression Language Parsers
Tool Libraries
choose-lang: Pick #lang at read-time
Choose-out: Conditional Provide
Dynext: Running a C Compiler/Linker
Expeditor: Terminal Expression Editor
GLPK: The Gnu Linear Programming Kit
Macro Debugger: Inspecting Macro Expansion
Readline: Terminal Interaction
Errortrace: Debugging and Profiling
Trace: Instrumentation to Show Function Calls
Version: Racket Version Checking
Low-Level APIs
Interoperability
MzCOM: Racket as a Windows COM Object
Protocol Buffers: Portable Data Serialization
DrRacket Plugins
Quickscript, a scripting plugin for DrRacket
Audio
3s: positional audio and mixing
Benchmarks
Chess
Compression and Decompression
Zstandard - Fast real-time compression algorithm
Data Structures
Simple, Deterministic Dictionaries
Immutable Hash Array Mapped Tries
Functional Data Structures in Typed Racket
Database
Databases
Neo4j – Library for accessing Neo4j database
deta: Functional Database Mapping
Date, Time, and Calendar Libraries
Digital Ricœur
pydrnlp: NLP Library for Digital Ricœur
TEI Encoding Guidelines for Digital Ricœur
DrRacket Plugins
drracket-cmdline-args: Accessible Command-Line Arguments for DrRacket
DrRacket Quickscripts
Examples
Git
Libgit2: Bindings for the libgit2 Git Library
Graphics
mode-lambda: the best 2D graphics of the 90s, today!
Hardware
Localization and Internationalization
CLDR Locale Names for Modern Locales
CLDR Numbers for Modern Locales
Logic programming
MiniKanren: logic programming in Scheme
Racklog: Prolog-Style Logic Programming
Machine Learning
Racket Machine Learning — Core
Racket Machine Learning — Decision Trees
Racket Machine Learning — K-Nearest Neighbors
Math and Science
Flomat: Floating Point Matrices
Parallelism
Performance
live-free-or-die: Freedom from Typed Racket
Performance Tools
Presentations
puresuri: the king of presentations
Resource Management
Scribble Libraries
A Scribble Document Style for NSF Proposals
Scriblib: Extra Scribble Libraries
Scripting
Scripty: Distributable shell scripts with dependencies
Slideshow Libraries
slideshow-text-style: a small library to improve text formatting in slideshow
Syntax Extensions
struct-define: Short-hand accessors for struct fields
Syntax: Meta-Programming Helpers
Teaching
Terminal
lux-charterm: amazing terminal programs
Testing
rackunit-chk: a short hand for writing rackunit tests
Expect: First Class Assertions
Overeasy: Racket Language Test Engine
rackcheck: Property-based Testing
Text block
UI
DOS: Delimited-continuation-based Operating-system Simulator
lux: brilliant interactive programs
raart: Racket ASCII Art and Interfaces
Verification
Temporal Contracts: Explicit Contract Monitors
Web Development
typed-racket
Trivial: type-tailored library functions
Struct type properties for Typed/Racket
Miscellaneous Libraries
Karp: A Language for NP Reductions
Packrat: Simple Packrat Parsing
RifL: a playing card stack language
SRFI-105 Curly Infix for Racket
_-exp: Configurable Scribble-like Syntax
Adapton: Composable, Demand-Driven Incremental Computation
al2-test-runner – Alternative way of running rackunit test suites
Multicast Asynchronous Channels
alexis/util: Filling in the Gaps
Lenses for Generic Collections
The Algebraic Racket Collection
amb-parser: Parser generator for ambiguous grammars
Anarki: Community-Managed Arc Variant
Advent of Code: solutions & explanations
Using AppVeyor with Racket Projects
array: Generic and Dynamic Arrays
Automata: Compiling State Machines
barrel: A stack language meant for lists
Beeswax: a Pollen-friendly template language
bencode: BitTorrent Bencode Decoding
binaryio: Functions for Reading and Writing Binary Data
BoincRPC - Thin abstraction for BOINC’s Client RPC
Bookcover: Generating PDFs for book covers
brag: a better Racket AST generator
Brush: Literate Programming Without Tangling
Script: Testing Bitcoin Riddles
buid: universally unique lexicographically sortable identifiers
canonicalize-path: Filesystem Path Canonicalization
ccnum: Credit Card Number Utilities
cli: Simple Command Line Interfaces
Lenses for Generic Collections
colormaps – Additional Colormaps for the Racket Plot Package
cond: what it should have been
Config - File based configuration parameters
Elementary Continued Fraction Arithmetic Package
Cookies: HTTP State Management
cpu-affinity: an FFI binding for getting/setting CPU affinity
Crypto: Cryptographic Operations
Constraint-satisfaction problems (and how to solve them)
custom-load: Cautious Bytecode Loaders
Dallas—Science & Commerce with the D database language
Deferred: a simple library for doing things later
Simple Function Specifications
Delimiter-Sensitive Application
Derpy: Presentation Room Control
Diagrama: A diagram drawing library
Building Distributions of Racket
Dotted identifiers and λ.code syntax
drracket-restore-workspace: Restore workspace for DrRacket
Reading Writing ".DS_Store" Files
DSSL: Data Structures Student Language
DSSL2: Data Structures Student Language
Translate X-Expressions to Keyword Procedure Applications
EBML: A binary encoding format
Emoji: emoji terminal output for Racket
Enforestation with Macro Expansion
envlang: an experimental language with first-class environments
Envy: An environment variable manager
Etl: Expresson Transformation Language
Fancy App: Scala-Style Magic Lambdas
Fast-convert: fast and easy conversion from bytes to string
Fig: Simple and Extensible Configuration
Monitoring file system activity with file-watchers
Finalizer: trivial finalization
Expressions rendered as both XML and JSON
Fourier-Motzkin Elimination for Integer Systems
fmt: an extensible code formatter for Racket
gdbdump: GDB-based Native Thread Backtrace Dumps
geoid – Efficient storage and queriying of geographic data
OpenGL Mathematics (GLM) for Racket
global: Global variables with command-line interaction
The OpenGL Shading Language 4.5 (GLSL)
GMP: Multi-precision Arithmetic
Goblins: a transactional, distributed actor model environment
Graphite: A data visualization library
Gref: Generalized References for Racket
GNU GSL Random Number Generation
Happy App: A Toolbox of Syntactic Shortcuts
hash-view: Struct-like Views of Hashes
Help and Documentation Utilities
helpful: providing suggestions on unbound identifier error.
Hermit’s Heresy: DQB2 Power Tools
hostname: Getting Hostname, FQDN, and IP Addresses
Implementing HtDP Teachpacks, Libraries, and Customized Teaching Languages
htdp-json: A JSON library for use with HtDP
html-examples: Examples in HTML
html-template: HTML-Writing Template Language in SXML
Making reader extensions hygienic
Utilities for Manipulating Directories
infix-prefix: a library to convert prefix expressions to infix and vice versa
Racket bindings for the Linux inotify API
Interface-Oriented Programming for Classes
XMPP IQ (Info/Query) Functions
IRacket: Racket Kernel for Jupyter
IRC Client: High-Level IRC API
Jobsched: Running jobs with multiple Racket instances
json-pointer: Referring to bits of JSON
jsonic: because JSON is boring
JSON Web Token (JWT) and JSON Web Signature (JWS)
keyring: a library for uniformly accessing secrets
Expressive Functional Reactive Programming (Kinda)
kitco: Precious Metals Market Info. Access
A picture showing all the languages used to implement Racket.
BCP-47 compliant language tag predicates
ldap-ffi: a Racket LDAP client built on top of libldap C API
levenshtein: Levenshtein Distance Metric
OpenAL: Bindings for the OpenAL sound library
Libquiche - Miscellaneous Racket libraries
libserial: Portable Serial Port Access
libxml2: Bindings for XML Validation
license-audit: audit package licenses
#lang lindenmayer, a language for L-Systems
Loess: local polynomial regression
Levin Tree Search with Context Models
A Racket client for the Maelstrom distributed systems test harness
Magenc Magnet URIs: Secure Object Permanence for the Web
Malt - A minimalist deep learning toolkit
A Racket GUI Widget to display maps based on OpenStreetMap tiles
The Margrave Tool for Policy Analysis
mediafile: Media File Metadata Utilities
memo: Memoization with cache and finalization control
Mischief: a Racketeer’s Toolkit
Modern Macros: a talk given at PADL 2023
monotonic: monotonic clock for Racket
MessagePack-RPC Client for Racket
Polyvalent identifiers with multi-id
Net2: Evolved Networking Libraries
Neuron: Decentralized Software Organisms
noise: Perlin/Simplex noise generators
numformat-old: Number Formatting
numspell: Spelling Numbers as English
Parsec implementation in Racket
parted: Interface to GNU Parted Disk Partion Utility
pdf-read: Read and render PDF files
PGMP: Profile-Guided Meta-Programming
Pinyin: Convert Hanzi to Pinyin
Package Management GUI Libraries
Pkg-Build: Building and Testing All Racket Packages
Package Dependency Graph Visualization
plot-container – Embed plot snips to GUI applications
png-image: Library to view and modify PNG chunks.
McGill-style citations for Pollen
Pollen-rock: a RESTful Pollen Server
Pollen sample project: Typography for Lawyers
Pollen sample project: Tufte CSS
Polysemy: support for polysemic identifiers
postnet: USPS POSTNET Barcode Encoding
PPrint: A Universal Pretty-Printer
pprint-compact: a non-greedy pretty printer
pretty-expressive: a pretty expressive printer
Pretty-printing with format strings
progedit: Programmatic File Editing
protobj: Prototype-Delegation Object Model
Puzzler: A Language for 2D Puzzle Game Creation
python-tokenizer: a translation of Python’s tokenize.py library for Racket
qtOps: perform operations on things with qualities
Scripts from the Quickscript Competition July 2020
R16 — Community-Driven Interactive Code Evaluation
racket-cord: Racket discord library
(eighth RacketCon) Workshop: Web Programming
The RacketScript Language and Compiler
RacketUI: Automated Web UI Generator
rackonsole: Lightweight Operator Console for Server Processes
Rackpropagator: Reverse-mode automatic differentiation of Racket programs
RackUnit Spec: BDD interface for RackUnit
raco-invoke: invoke raco commands
raco-pkg-env: virtualenv like tool for Racket
Racquel: An Object/Relational Mapper for Racket
ragg: a Racket AST Generator Generator
RaList: Purely Functional Random-Access Lists
Reactor: a synchronous reactive language
data-red-black: augmented red black tree structures
An Introduction to Redex with Abstracting Abstract Machines (v0.6)
Remember: storage for macros which is persistant across compilations
Remote Shells and Virtual Machines
Retry: Retrying Arbitrary Computations
rex: deterministic regular expressions
rfc3339-old: RFC 3339 Timestamps
RFC 6455 WebSockets for Racket
Rince: Racket-INtegrated C Environment
Riposte—Scripting Language for JSON-based HTTP APIs
Rival: Real Computation via Interval Arithmetic
roomba: iRobot Roomba/Create Interface
rparallel : Racket in parallel
rs-l : Loop and event library for rs
Ruckus: Procedural CAD For Weirdos
rws-html-template: Racket Web Server html-template Support
First-order logic saturation with atom rewriting
Sawzall: A grammar for chopping up data
scgi: Web Server HTTP SCGI and CGI
scramble: Assorted Utility Libraries
Scribble Examples Evaluator Forms
scribble-slideshow: Using Scribble to Make Slides
Interactive Evaluation in Slideshow
Reader Function Literal Shorthand
Purely Functional Struct Updaters
PLAI Typed S-Sxpression Matching
Scriblogify: Scribble Your Blogs
Sdraw: Cons-Cell Diagrams with Pict
Search Filesystem While Approaching Root Directory
Serializing Syntax Introducers
Sfont: play with fonts in Racket
shlex for Racket: Simple lexical analysis
shootout: Expression Performance Comparison
Simple Polynomials of One Variable
Simple Tree Text Markup: Simple Markup for Display as Text or in GUI
SLIB/Common Lisp format for Racket
Snappy: FFI bindings for fast compression
Soup: A library of useful routines
SQL: A Structured Notation for SQL Statements
stardate: compute the current TNG stardate
String to S-expression for Fundamentals I, 2016, Northeastern University
Lightweight Stripe API Library
Struct-type properties with a struct-like interface
Suffix trees with Ukkonen’s algorithm
Sweet: an alternative to s-expressions
SXML: S-Expression Representation of XML
SXML in Racket: Tools for XML and HTML
Symbolic algebraic expressions
syncvar: a library of synchronous variables
Combining syntax classes together as multiple variants
Support for date text-field% in racket/gui
Support for markdown in racket/gui text%
Turing: A Turing Machine language
HtDP/2e Teachpacks for Typed Racket
Vector Struct: Performant Fake Structs
Utilities for composing functions in Typed Racket
Typed-Stack: A Typed Racket stack library
tzgeolookup – Lookup timezone names for geographic coordinates
ulid: universally unique lexicographically sortable identifiers
uri-template: A template language for URIs (IETF RFC 6570)
uuid: Universally Unique Identifiers
Functional Multi-Valued Computations
Multiple and Keyword Return Values
version-case: conditionally compile code based on current version number
vlc: VideoLAN VLC Media Player Control
Variable-Length-Input Benchmarks
Web IO for Fundamentals I, 2016, Northeastern University
webscraperhelper: Generating SXPath Queries from SXML Examples
WordNet - A Lexical Database for English
Wordle solver: A simple greedy solver for Wordle
Xenomorph: binary encoding & decoding
XMPP Service Discovery (XEP-0030)
YAML Syntax for Racket Languages
Experimental Languages and Libraries
FrTime: A Language for Reactive Programs
ee-lib: Library Support for DSL Macro Expanders
iPoe: interactive poetry editor
McFly Runtime: Embedded Package Documentation for Racket
syntax-spec: A Metalanguage for Hosted DSLs
syntax-spec: A Metalanguage for Hosted DSLs
Unstable: May Change Without Warning
Unstable GUI: May Change Without Warning
Unstable Flonums: May Change Without Warning
Unstable Redex: May Change Without Warning
Legacy Languages and Libraries
Scheme: Compatibility Libraries and Executables
Compatibility: Features from Racket Relatives
MysterX: Legacy Support for Windows COM
mzpp and mztext: Preprocessors
Nonfree SRFI Specification Documents
Other