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

Racket Documentation

This is an installation-specific listing. Running raco docs (or Racket Documentation on Windows or Mac OS X) may open a different page with local and user-specific documentation, including documentation for installed packages.

Searching or following a “top” link will use 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

 

Teaching

  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

  Parenlog

  PLAI Typed Language

  ProfessorJ: Java in Racket

  RASH: RAcket SHell Library

 

  How to Design Classes Languages

  PLAI Lazy

 

Tools

  Matrix Rotate: rotate a 2-dimension array

  Simple-Qr: Qr Code generator

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

  Web Applications in Racket

 

  raco fc: Finding Collections

  Futures Visualizer

  Molis Hai: Natural Language Password Generation

  PLaneT: Automatic Package Distribution

  Portaudio: Bindings for the Portaudio portable sound library

  Racklog: Prolog-Style Logic Programming

  RackUnit: Unit Testing

  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

  MrLib: Extra GUI Libraries

  Turtle Graphics

  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

  RtMidi

  Net: Networking Libraries

  Windows Native SSL: Secure Communication

  OS X Native SSL: Secure Communication

  Unix Domain Sockets

  XML-RPC

  ZeroMQ

 

Parsing Libraries

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

  Binary-class: parsing and saving binary data

  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

  XML: Parsing and Writing

  YAML

 

Tool Libraries

  Dynext: Running a C Compiler/Linker

  Macro Debugger: Inspecting Macro Expansion

  Make: Dependency Manager

  Overeasy: Racket Language Test Engine

  Readline: Terminal Interaction

  Errortrace: Debugging and Profiling

  Trace: Instrumentation to Show Function Calls

  SLaTeX Wrapper

  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

 

Audio

  3s: positional audio and mixing

  OpenAL

  Taglib Bindings for Racket

 

Compression and Decompression

  bzip2

 

Data Structures

  Data: Data Structures

  Finger Trees

  Immutable Hash Array Mapped Tries

  Leftist Trees

  Functional Data Structures in Typed Racket

  Ring Buffers

  Functional generic interfaces

  Semi-persistent Matrices

  Semi-persistent Vectors

 

Database

  dbm

  Functional Relational Algebra

  MongoDB

 

Databases

  DB: Database Connectivity

 

Date, Time, and Calendar Libraries

  TZInfo

 

Email

  Mutt API

 

Graphics

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

 

Localization and Internationalization

  CLDR BCP47 Time Zone Data

  CLDR Numbers for Modern Locales

  CLDR Dates for Modern Locales

  CLDR Locale Names for Modern Locales

  CLDR Core

 

Math and Science

  Math Library

 

Parallelism

  Job Queue

  MPI

  OpenCL

 

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

 

Scribble Libraries

  acmsmall support for Scribble

  LIPIcs support for Scribble

  Scriblib: Extra Scribble Libraries

 

Scripting

  Glob: Unix-Style globbing

  Scripty: Distributable shell scripts with dependencies

 

Slideshow Libraries

  Staged Slides

 

Syntax Extensions

  2D Syntax

  Mark Parameters

  More Syntax Classes

  Syntax: Meta-Programming Helpers

 

Testing

  rackunit-chk: a short hand for writing rackunit tests

  chk: a minimal tester

  RackUnit Abbrevs

 

UI

  DOS: Delimited-continuation-based Operating-system Simulator

  lux: brilliant interactive programs

 

Verification

  Temporal Contracts: Explicit Contract Monitors

 

typed-racket

  Trivial: Observably smarter typechecking

 

Miscellaneous Libraries

  SRFIs: Libraries

 

  3D Model Library

  Chinese-4-Stratego

  RacketUI: Automated Web UI Generator

  _

  Adapton: Composable, Demand-Driven Incremental Computation

  afl

  aful

  Legacy Persistent Vectors

  alexis/util: Filling in the Gaps

  Multicast Asynchronous Channels

  Legacy Generic Collections

  Lenses for Generic Collections

  Anaphoric conditionals

  Advent of Code: solutions & explanations

  Racket Assembler

  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

  bitsyntax

  Beautiful Racket

  brag: the Beautiful Racket AST Generator

  C Metaprogramming Utilities

  C Constants

  calendar

  canonicalize-path: Filesystem Path Canonicalization

  ccnum: Credit Card Number Utilities

  check-sexp-equal

  Lenses for Generic Collections

  colon-kw and kw-colon

  :match

  Extensible Command Line

  Hive

  Compact Annotations

  Compiler Goodies

  cond: what it should have been

  Elementary Continued Fraction Arithmetic Package

  Control

  Cookies: HTTP State Management

  Cover: A test coverage tool

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

  cpuinfo: CPU Information

  cs2500f16-jsonlab

  CS7480 Utilities

  css-tools

  CueCore Lighting Control

  custom-load: Cautious Bytecode Loaders

  Persistent Vectors

  Set: Purely Functional Sets

  D-Bus

  debug

  Debuging scope-related issues

  Deferred: a simple library for doing things later

  define-match-spread-out

  defpat

  Derpy: Presentation Room Control

  Describe

  Building Distributions of Racket

  Delimited Reading

  Device Mapper

  Documentation Coverage

  doodle

  dotmethod

  Racket Dropbox SDK

  Reading Writing ".DS_Store" Files

  DSSL: Data Structures Student Language

  While loops for Racket

  Easings

  EBML: A binary encoding format

  ECMAScript

  ELF Library

  Envy: An environment variable manager

  Epson Projector Control

  eventfd

  exact-decimal-lang

  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

  Fulmar

  fuse

  gdbdump: GDB-based Native Thread Backtrace Dumps

  Racket Generic Binding Forms

  Generic Syntax Expanders

  GObject Introspection

  github-api

  GLS: Generic Little System

  Tessellation via GLU

  Gnucash

  Racket Generic Graph Library

  Gregor: Dates and Times

  Grip a core TR library.

  Crypto Typed Racket crypto procedures

  hash-lambda

  Bug Reporting

  Help and Documentation Utilities

  The Heresy Programming Language

  hostname: Getting Hostname, FQDN, and IP Addresses

  Implementing HtDP Teachpacks, Libraries, and Customized Teaching Languages

  html-template: HTML-Writing Template Language in SXML

  HTTP

  hygienic-quote

  Making reader extensions hygienic

  hyper-literate

  Hyphenate

  Identikon

  Utilities for Manipulating Directories

  Infix Expressions for Racket

  Interface-Oriented Programming for Classes

  IRC Client Library

  IRC Client: High-Level IRC API

  JavaScript for PLT Scheme

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

  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

  Lenses

  levenshtein: Levenshtein Distance Metric

  OpenAL: Bindings for the OpenAL sound library

  libscrypt

  libserial: Portable Serial Port Access

  libtoxcore-racket

  libuuid

  Extra Utilities for match

  match-string

  mboxrd-read

  mediafile: Media File Metadata Utilities

  Medic Debugger

  Memoize: Lightweight Dynamic Programming

  MetaPict

  MiniKanren: logic programming in Scheme

  Miscellaneous Utilities

  Mocks

  Mock RackUnit Checks

  mockfighter

  multi-file-lang

  Multipath Daemon API

  mutable-match-lambda

  my-cond

  my-cond/iffy with sweet-exp

  my-object

  Nanopass Framework

  netrc

  NLopt

  no-vert-bar-lang

  numformat-old: Number Formatting

  numspell: Spelling Numbers as English

  OpenGL

  OpenGL

  option-bind

  Parameter Utilities

  Paren-shape Pattern Expanders

  Parsec implementation in Racket

  parted: Interface to GNU Parted Disk Partion Utility

  pdf-read: Read and render PDF files

  Perflinty

  Apollo Art PEx Power Control

  PGMP: Profile-Guided Meta-Programming

  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

  point-free

  Pollen: the book is a program

  pollen-count

  Pollen sample project: Typography for Lawyers

  Positions

  postfix-dot-notation

  Postmark

  postnet: USPS POSTNET Barcode Encoding

  Progressive Picts and Slides

  PPrint: A Universal Pretty-Printer

  Predicates

  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-quandl

  #lang rackjure

  rackonsole: Lightweight Operator Console for Server Processes

  RackUnit Spec: BDD interface for RackUnit

  Racquel: An Object/Relational Mapper for Racket

  ragg: a Racket AST Generator Generator

  RaList: Purely Functional Random-Access Lists

  data-red-black: augmented red black tree structures

  Remote Shells and Virtual Machines

  REPL test: copy-paste REPL interactions to define tests

  reprovide-lang

  Requests

  rfc3339-old: RFC 3339 Timestamps

  RFC 6455 WebSockets for Racket

  roomba: iRobot Roomba/Create Interface

  Ruckus: Procedural CAD For Weirdos

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

  SAGIRI controller reference implementation

  sau-cptr-405

  scgi: Web Server HTTP SCGI and CGI

  scope-operations

  scribble-code-examples

  Scribble Enhanced

  Scribble Examples Evaluator Forms

  scribble-math

  Option Contracts

  The #%namespaced hook

  Purely Functional Struct Updaters

  Generic Collections

  Reader Function Literal Shorthand

  Dynamic multiple dispatch

  Interactive Evaluation in Slideshow

  PLAI Typed S-Sxpression Matching

  Handin Server

  Scriblogify: Scribble Your Blogs

  Semver: Semantic Versioning

  seq-no-order

  Set Expressions

  GUI ".plt" Installer

  sexp-diff

  Sfont: play with fonts in Racket

  SHA and SHA-2

  Shell Pipeline Library

  shootout: Expression Performance Comparison

  SICP Collections

  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

  Static Procedure Renaming

  The Stepper

  stockfighter-api

  STOMP

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

  sudo: Sudo Command Processes

  Sugar

  Sweet: an alternative to s-expressions

  Swindle

  SXML: S-Expression Representation of XML

  SXML in Racket: Tools for XML and HTML

  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

  Threading Macros

  The turnstile language

  txexpr: Tagged X-expressions

  HtDP/2e Teachpacks for Typed Racket

  measures-with-dimensions

  typed-map

  Typed-Stack: A Typed Racket stack library

  udelim

  unix-signals

  uri-old: Web URI and URL

  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

  XML Expression Path Lookup

  4chan API Client Library

  Zippers for Racket

  Minimal ZeroMQ Bindings

 

Experimental Languages and Libraries

  FrTime: A Language for Reactive Programs

  Lazy Racket

 

  Algol 60

  Honu

 

  Agile

  Magnolisp

  McFly Runtime: Embedded Package Documentation for Racket

  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

  MzLib: Legacy Libraries

  Graphics: Legacy Library