Racket Documentation
Search Manuals
 
License
Acknowledgements
Release Notes
 
Report a Bug
6.12

Racket Documentation

This is an installation-specific listing. Running raco docs (or Racket Documentation on Windows or Mac OS) may open a different page with local and user-specific documentation, including documentation for installed packages. Searching or following a “top” link will go to a different starting point that includes user-specific information. [Go to user-specific start] [Forget user-specific start]

Getting Started

Racket Cheat Sheet

 

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 Guide

  The Racket Reference

 

  Package Management in Racket

  The Racket Drawing Toolkit

  The Racket Graphical Interface Toolkit

  The Racket Foreign Interface

  Scribble: The Racket Documentation Tool

  DrRacket: The Racket Programming Environment

  raco: Racket Command-Line Tools

 

  How to Program Racket: a Style Guide

 

Teaching

  Computational Thinking : CSC104 (Fall 2017)

 

  How to Design Programs

  How to Design Programs Languages

  How to Design Programs Teachpacks

 

  Essentials of Programming Languages Language

  Programming Languages: Application and Interpretation

  Picturing Programs Teachpack

  Sprachebenen und Material zu Die Macht der Abstraktion

 

Other Languages in the Racket Environment

  The Typed Racket Guide

  The Typed Racket Reference

  R6RS: Scheme

  Datalog: Deductive Database Programming

  The Heresy Programming Language

  Parenlog

  The Pie Reference

  The Pie à-let-mode Reference

  PLAI Typed Language

  ProfessorJ: Java in Racket

  Rash: The Reckless Racket Shell

  The Hackett Programming Language

  The Video Language Guide

 

  How to Design Classes Languages

  PLAI Lazy

 

Tools

  Simple-Barcode: Barcode reader and writer

  Simple-Qr: QR-Code Writer and Reader

  Simple-Xlsx: Open Xml Spreadsheet(.xlsx) Reader and Writer

  Web Applications in Racket

 

  Cover: A test coverage tool

  raco fc: Finding Collections

  Futures Visualizer

  Molis Hai: Natural Language Password Generation

  PLaneT: Automatic Package Distribution

  Portaudio: Bindings for the Portaudio portable sound library

  Quickscript, a scripting plugin for DrRacket

  Racklog: Prolog-Style Logic Programming

  Redex: Practical Semantics Engineering

  AWS S3 Synchronization

  Scribble as Preprocessor

  Script Plugin for DrRacket

  Slideshow: Figure and Presentation Tools

  Sonic Pi: WORK IN PROGRESS

  The Unicoder

  Fast 1-D Haar Wavelet Transform

  Web Server: HTTP Server

 

  DrRacket Plugins

 

  DrRacket Tools

 

GUI and Graphics Libraries

  Framework: Racket GUI Application Framework

  Pict: Functional Pictures

  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

  Games: Fun Examples

  GL Board Game: 3-D Game Support

  Images

  libnotify: an FFI binding for libnotify

  Pict3D: Functional 3D Scenes

  Plot: Graph Plotting

  RSound: A Sound Engine for Racket

  RSVG: an FFI binding for loading SVG images

  Scratchy: A Scratch-like Toy

  Turtle Graphics

  MrLib: Extra GUI Libraries

  GL: 3-D Graphics

  String Constants: GUI Internationalization

  Syntax Color: Utilities

 

Network Libraries

  Distributed Places

  html-writing: Writing HTML from SXML

  LDAP

  memcached

  OpenSSL: Secure Communication

  OSC: Open Sound Control Byte String Conversion

  reCAPTCHA

  RtMidi

  SASL: Simple Authentication and Security Layer

  Net: Networking Libraries

  Windows Native SSL: Secure Communication

  Mac OS Native SSL: Secure Communication

  Unix Domain Sockets

  XML-RPC

 

Parsing Libraries

  Binary-class: parsing and saving binary data

  Resource Interchange File Format (RIFF)

  WAVE File Format (WAV)

  Binary-class/mp3: parsing ID3v2.1 and ID3v2.2

  Parser Tools: lex and yacc-style Parsing (Beautiful Racket edition)

  csv-reading: Comma-Separated Value (CSV) Parsing

  HTML: Parsing Library

  html-parsing: Permissive Parsing of HTML to SXML

  Java

  JSON

  json-parsing: JSON Parsing, Folding, and Conversion

  Racket MIDI reader

  Parser Tools: lex and yacc-style Parsing

  File: Racket File and Format Libraries

  Megaparsack: Practical Parser Combinators

  Sparse: Test Generation for Simple S-expression Language Parsers

  Subtemplate

  XML: Namespaces

  XML: Parsing and Writing

  YAML

 

Tool Libraries

  Dynext: Running a C Compiler/Linker

  GLPK: The Gnu Linear Programming Kit

  left-pad

  Macro Debugger: Inspecting Macro Expansion

  Make: Dependency Manager

  Intercepted Logging

  markdown

  Overeasy: Racket Language Test Engine

  Readline: Terminal Interaction

  Scribble Abbrevs

  Trace: Instrumentation to Show Function Calls

  Errortrace: Debugging and Profiling

  SLaTeX Wrapper

  Source Syntax

  Test Support

  Version: Racket Version Checking

  with-cache

  XREPL: eXtended REPL

  Zordoz

 

Low-Level APIs

  Inside: Racket C API

 

Interoperability

  MzCOM: Racket as a Windows COM Object

  Unicode Chars

 

3D

  Quaternion

 

Audio

  3s: positional audio and mixing

  OpenAL

  Taglib Bindings for Racket

 

Benchmarks

  GTP Benchmarks

 

Compression and Decompression

  bzip2

 

Data Structures

  Arguments Structures

  Data: Data Structures

  Simple, Deterministic Dictionaries

  Simple, Deterministic Sets

  Finger Trees

  Immutable Hash Array Mapped Tries

  Leftist Trees

  Functional Data Structures in Typed Racket

  Algebraic Data Types for compilers

  Algebraic Data Types for compilers: Implementation

  Ring Buffers

  Functional generic interfaces

  Semi-persistent Matrices

  Semi-persistent Vectors

  xlist

 

Database

  dbm

  Functional Relational Algebra

  MongoDB

 

Databases

  DB: Database Connectivity

  Schema: Data Modeling for Typed Racket

 

Date, Time, and Calendar Libraries

  TZInfo

 

Email

  Mutt API

 

Examples

  Syntax Parse Examples

 

Graphics

  mode-lambda: the best 2D graphics of the 90s, today!

 

Hardware

  MIC-1

 

Localization and Internationalization

  CLDR BCP47 Time Zone Data

  CLDR Dates for Modern Locales

  CLDR Numbers for Modern Locales

  CLDR Core

  CLDR Locale Names for Modern Locales

 

Math and Science

  Math Library

 

Parallelism

  Job Queue

  MPI

  OpenCL

  pmap : Parallel map

 

Performance

  live-free-or-die: Freedom from Typed Racket

  require-typed-check

 

Performance Tools

  Benchmark

  Feature-Specific Profiling

  Optimization Coach

  Contract Profiling

  Profile: Statistical Profiler

 

Presentations

  Slideshow LaTeX

  puresuri: the king of presentations

 

Resource Management

  Disposable Values

 

Scribble Libraries

  acmsmall support for Scribble

  Hyper-literate programming

  LIPIcs support for Scribble

  Scribble Enhanced

  Scriblib: Extra Scribble Libraries

 

Scripting

  Scripty: Distributable shell scripts with dependencies

 

Slideshow Libraries

  Progressive Picts and Slides

  slideshow-text-style: a small library to improve text formatting in slideshow

  Staged Slides

 

Syntax Extensions

  2D Syntax

  Mark Parameters

  Static Renaming

  More Syntax Classes

  stxparse-info: Track syntax-parse and syntax-case pattern vars

  Syntax: Meta-Programming Helpers

 

Terminal

  lux-charterm: amazing terminal programs

 

Testing

  rackunit-chk: a short hand for writing rackunit tests

  Expect: First Class Assertions

  Test Fixtures for RackUnit

  Mocks

  Mock RackUnit Checks

  RackUnit: Unit Testing

  RackUnit Abbrevs

 

UI

  DOS: Delimited-continuation-based Operating-system Simulator

  lux: brilliant interactive programs

 

Verification

  Temporal Contracts: Explicit Contract Monitors

 

typed-racket

  Pure functions and promises

  Trivial: type-tailored library functions

  Type expander library

  Type expander: Implementation

  Type inference helper for map

  Struct type properties for Typed/Racket

  Typed worklist

 

Miscellaneous Libraries

  SRFIs: Libraries

 

  3D Model Library

  Chinese-4-Stratego

  HoLy

  SAT

  SSE

  _

  _-exp: Configurable Scribble-like Syntax

  ACL2s Beginner Mode

  Adapton: Composable, Demand-Driven Incremental Computation

  Adjutor: A Helper Library

  afl

  aful

  alexis/util: Filling in the Gaps

  Multicast Asynchronous Channels

  Legacy Generic Collections

  Legacy Persistent Vectors

  Lenses for Generic Collections

  Anaphoric conditionals

  Anarki: Community-Managed Arc Variant

  Advent of Code: solutions & explanations

  Argo: JSON Schema Adventures

  Racket Assembler

  ASN.1

  AsyncUnit

  auto-syntax-e

  Automata: Compiling State Machines

  AVL Trees

  Amazon Web Services

  #lang axe

  backport-template-pr1514

  XDG Basedir Library

  bencode: BitTorrent Bencode Decoding

  bencode-codec

  binaryio: Functions for Reading and Writing Binary Data

  Racket Binutils

  bitsyntax

  Bookcover: Generating PDFs for book covers

  Beautiful Racket

  brag: the Beautiful Racket AST Generator

  Brush: Literate Programming Without Tangling

  C Metaprogramming Utilities

  C Constants

  calendar

  canonicalize-path: Filesystem Path Canonicalization

  ccnum: Credit Card Number Utilities

  Chaining module languages

  check-sexp-equal

  chk: a minimal tester

  #lang circuit-playground

  A calculus of mediated exchange (cmx)

  Lenses for Generic Collections

  colon-kw and kw-colon

  :match

  Extensible Command Line

  Hive

  Compact Annotations

  Compiler Goodies

  Function Composition Syntax

  cond: what it should have been

  Elementary Continued Fraction Arithmetic Package

  Control

  Cookies: HTTP State Management

  cpu-affinity: an FFI binding for getting/setting CPU affinity

  cpuinfo: CPU Information

  crc32c

  Crypto: Cryptographic Operations

  cs2500f16-jsonlab

  CS7480 Utilities

  CSS-expressions

  css-tools

  CueCore Lighting Control

  Cur

  custom-load: Cautious Bytecode Loaders

  Dan Scheme

  Persistent Vectors

  Semi-Persistent Arrays

  Set: Purely Functional Sets

  D-Bus

  debug

  Debuging scope-related issues

  Deferred: a simple library for doing things later

  define-match-spread-out

  Simple Function Specifications

  defpat

  Delimiter-Sensitive Application

  Derpy: Presentation Room Control

  Describe

  Digimon: Lorem Ipsum

  Building Distributions of Racket

  Delimited Reading

  Device Mapper

  Documentation Coverage

  doodle

  dotenv

  Dotted identifiers and λ<arg>.code syntax

  dotmethod

  Racket Dropbox SDK

  Reading Writing ".DS_Store" Files

  DSSL: Data Structures Student Language

  DSSL2: Data Structures Student Language

  While loops for Racket

  Easings

  EBML: A binary encoding format

  ECMAScript

  Effection

  ELF Library

  Envy: An environment variable manager

  Epson Projector Control

  Event-lang: synchronizable event programming

  eventfd

  exact-decimal-lang

  Extensible Functions

  extensible-parser-specifications

  Fancy App: Scala-Style Magic Lambdas

  Fast-convert: fast and easy conversion from bytes to string

  ffi-definer-convention: augments define-ffi-definer

  Finalizer: trivial finalization

  Expressions rendered as both XML and JSON

  Fourier-Motzkin Elimination for Integer Systems

  Frog

  Fulmar

  Furtle - a library for turtles

  fuse

  Game Engine

  gdbdump: GDB-based Native Thread Backtrace Dumps

  Racket Generic Binding Forms

  Generic Syntax Expanders

  GObject Introspection

  github-api

  glossolalia

  GLS: Generic Little System

  Tessellation via GLU

  GMP: Multi-precision Arithmetic

  Gnucash

  Racket Generic Graph Library

  Gregor: Dates and Times

  Grip a core TR library.

  Crypto: Typed Racket crypto procedures

  GTP Checkup

  GTP measure

  GTP utilities

  hash-lambda

  Bug Reporting

  Help and Documentation Utilities

  hidapi

  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-template: HTML-Writing Template Language in SXML

  HTTP

  hygienic-quote

  Making reader extensions hygienic

  Hyphenate

  Identikon

  Utilities for Manipulating Directories

  Infix Expressions for Racket

  infix-syntax

  Interface-Oriented Programming for Classes

  IRC Client Library

  IRC Client: High-Level IRC API

  Indiana University pict

  J in Racket

  JavaScript for PLT Scheme

  json-pointer: Referring to bits of JSON

  JSON Web Token (JWT) and JSON Web Signature (JWS)

  k-infix

  kitco: Precious Metals Market Info. Access

  kw-make-struct

  Keyword Utils

  read-lang-file

  A picture showing all the languages used to implement Racket.

  Scribble + LaTeX utils

  Lathe Comforts

  ldap-ffi: a Racket LDAP client built on top of libldap C API

  Lenses

  levenshtein: Levenshtein Distance Metric

  Libgit2: Bindings for the libgit2 git library

  OpenAL: Bindings for the OpenAL sound library

  libscrypt

  libserial: Portable Serial Port Access

  libtoxcore-racket

  libuuid

  #lang lindenmayer, a language for L-Systems

  List utilities

  literify

  Extra Utilities for match

  match-string

  mboxrd-read

  Units and Measurements

  mediafile: Media File Metadata Utilities

  Medic Debugger

  Memoize: Lightweight Dynamic Programming

  mf-apply

  MiniKanren: logic programming in Scheme

  Miscellaneous Utilities

  Mischief: a Racketeer’s Toolkit

  mockfighter

  monitors

  MessagePack

  MessagePack-RPC Client for Racket

  multi-file-lang

  Polyvalent identifiers with multi-id

  Multipath Daemon API

  mutable-match-lambda

  my-cond

  my-cond/iffy with sweet-exp

  my-object

  Nanopass Framework

  nat-traversal

  neologia

  Net2: Evolved Networking Libraries

  netrc

  Neuron: Decentralized Software Organisms

  NLopt

  no-vert-bar-lang

  numformat-old: Number Formatting

  numspell: Spelling Numbers as English

  Neovim client for Racket

  OpenCPU

  OpenGL

  OpenGL

  option-bind

  Parameter Utilities

  Paren-shape Pattern Expanders

  Parsec implementation in Racket

  parted: Interface to GNU Parted Disk Partion Utility

  pcg

  pdf-read: Read and render PDF files

  PEG

  Perflinty

  Apollo Art PEx Power Control

  PGMP: Profile-Guided Meta-Programming

  phc-toolkit

  Text and Paths for Pict3D

  pidec

  Data Pipes (Iteratees)

  Package Management GUI Libraries

  Package Dependency Graph Visualization

  Bestfit: Lines of Best Fit

  PLT Service Monitor

  Creating PLT-Style Web Pages

  png-image: Library to view and modify PNG chunks.

  point-free

  Pollen: the book is a program

  Pollen Component

  pollen-count

  Pollen-rock: an improved Pollen server

  Pollen sample project: Typography for Lawyers

  Polysemy: support for polysemic identifiers

  Pattern Matching for Ports

  Positions

  postfix-dot-notation

  Postmark

  postnet: USPS POSTNET Barcode Encoding

  PPrint: A Universal Pretty-Printer

  Predicates

  Pretty-printing with format strings

  Pretty Graphs

  profile-flame-graph

  progedit: Programmatic File Editing

  protobj: Prototype-Delegation Object Model

  python-tokenizer: a translation of Python’s tokenize.py library for Racket

  Quad: document processor

  Quickcheck

  quote - bad

  R Lexer

  rackdis

  racket-cord: Racket discord library

  dogstatsd

  Racket Language Server

  racket-quandl

  RacketUI: Automated Web UI Generator

  #lang rackjure

  rackonsole: Lightweight Operator Console for Server Processes

  RackUnit Spec: BDD interface for RackUnit

  Racquel: An Object/Relational Mapper for Racket

  racr

  ragg: a Racket AST Generator Generator

  RaList: Purely Functional Random-Access Lists

  rascas

  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

  Repeated application

  REPL test: copy-paste REPL interactions to define tests

  reprovide-lang

  Requests

  Retry: Retrying Arbitrary Computations

  rex: deterministic regular expressions

  rfc3339-old: RFC 3339 Timestamps

  RFC 6455 WebSockets for Racket

  rktreq

  #lang rokit-racket

  Roman Numerals

  roomba: iRobot Roomba/Create Interface

  Ruckus: Procedural CAD For Weirdos

  rws-html-template: Racket Web Server html-template Support

  Racket Rx

  sau-cptr-405

  scgi: Web Server HTTP SCGI and CGI

  scope-operations

  scratch

  scribble-code-examples

  Scribble Examples Evaluator Forms

  scribble-math

  Linea: line oriented reader

  PLAI Typed S-Sxpression Matching

  Option Contracts

  Threading Macros

  Dynamic multiple dispatch

  Generic Collections

  The #%namespaced hook

  Reader Function Literal Shorthand

  Purely Functional Struct Updaters

  Handin Server

  Interactive Evaluation in Slideshow

  Scriblogify: Scribble Your Blogs

  Semver: Semantic Versioning

  seq-no-order

  Serializing Syntax Introducers

  Set Expressions

  GUI ".plt" Installer

  sexp-diff

  Sfont: play with fonts in Racket

  SHA and SHA-2

  Shell Pipeline Package

  shootout: Expression Performance Comparison

  SICP Collections

  signature

  simple-http

  sl2014

  Snappy: FFI bindings for fast compression

  soundex: Soundex Hashing

  SQL: A Structured Notation for SQL Statements

  SQLite Table

  Squicky: a quick wiki parser

  SS-RPC server

  stardate: compute the current TNG stardate

  The Stepper

  stockfighter-api

  STOMP

  String to S-expression for Fundamentals I, 2016, Northeastern University

  sudo: Sudo Command Processes

  Sugar

  superv - A Supervisor Program

  Sweet: an alternative to s-expressions

  Swindle

  SXML: S-Expression Representation of XML

  SXML in Racket: Tools for XML and HTML

  Symbolic algebraic expressions

  High Level Syntax for Syndicate

  2d Graphics with syndicate-gl

  Language creation

  Counting Source Lines of Code

  Syntax Warnings

  SystemD Support

  Table Panel

  Tandem

  Task Server

  Racket Turtle

  Tesira Client

  text-table

  thread-utils

  tmemoize (Typed Memoize) - the final frontier!

  Todo List for DrRacket

  tr-immutable

  Turn-Based Games

  The turnstile language

  txexpr: Tagged X-expressions

  HtDP/2e Teachpacks for Typed Racket

  measures-with-dimensions

  Typed-Stack: A Typed Racket stack library

  udelim

  unix-signals

  uri-old: Web URI and URL

  uri-template: A template language for URIs (IETF RFC 6570)

  Multiple and Keyword Return Values

  Vector Struct: Performant Fake Structs

  DrRacket Version Tool

  version-case: conditionally compile code based on current version number

  vlc: VideoLAN VLC Media Player Control

  Web IO for Fundamentals I, 2016, Northeastern University

  webapi: Web APIs

  webscraperhelper: Generating SXPath Queries from SXML Examples

  WordNet - A Lexical Database for English

  wort

  XML Expression Path Lookup

  4chan API Client Library

  zKanren

  Zippers for Racket

  Minimal ZeroMQ Bindings

  zubat

 

Experimental Languages and Libraries

  FrTime: A Language for Reactive Programs

  Lazy Racket

 

  Algol 60

  Honu

 

  Agile

  iPoe: interactive poetry editor

  Magnolisp

  McFly Runtime: Embedded Package Documentation for Racket

  Ocelot: a solver for relational logic

  The Rosette Guide

  Super C

  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

  R5RS: Legacy Scheme

  Scheme: Compatibility Libraries and Executables

 

  Combinator Parser

  Compatibility: Features from Racket Relatives

  MysterX: Legacy Support for Windows COM

  MzScheme: Legacy Language

  mzpp and mztext: Preprocessors

  Graphics: Legacy Library

  MzLib: Legacy Libraries