
A curated list of Awesome Racket, libraries and
software. Inspired by awesome-go.


Check the complete package
list
The Racket
repository
Contents
Audio and Music
Libraries for manipulating audio.
- 3s - Positional
sound and mixing for lux and other applications.
- RSound - A
framework for manipulating and playing sounds using the portaudio
library. Runs on Windows, Mac OS X, and linux.
- libopenal-racket
- Racket wrapper to the OpenAL library first written by gcr in
2012.
- midi-readwrite -
Library to read .mid files in racket
- openal - FFI
for OpenAL.
- osc - Open Sound
Control data definitions.
- portaudio -
Bindings for portaudio, a cross-platform audio library.
- rsc3 - SuperCollider
client ported to Racket.
- rtmidi - Provides
racket bindings for the RtMidi library, thus enabling racket programs to
send and receive MIDI events.
- sonic-pi - For
now, this package starts scsynth just like sonic pi does, and can make a
few sounds.
- taglib -
Bindings to the taglib C library, which provides simple access to audio
file metadata.
- wavelet-transform-haar-1d
- A library to perform forward and reverse 1-d Haar Wavelet
transforms.
Compilers
Tools for compiling Racket to other languages.
- abstract-compilation
- DSL reducing boiler plates for doing abstract compilation.
- disassemble -
Disassembler for Racket.
- lens - A Racket
package for creating and composing pure functional lenses.
- minipascal -
MiniPascal as a Racket language.
- racketscript - A
lightweight Racket to JavaScript compiler with some batteries
included.
- urlang - Write
JavaScript with Racket syntax. Bonus: Use Racket to define macros for
JavaScript constructs.
- wasm-adventure - A
WebAssembly DSL.
- whalesong-tools
- DrRacket tool for compiling with Whalesong.
- wracket -
Lisp-like language to WebAssembly build with racket.
- zordoz - Explorer for
.zo bytecode files.
Data Structures
Generic datastructures and algorithms.
- algebraic -
Algebraic structures for untyped Racket.
- dssl - Data Structures
Student Language: an extension of ASL for easier imperative
programming.
- dssl2 - A language for
data structures students.
- gls - Generic Little
(Object, Type, Anything, etc) System - multiple dispatch on types.
- graph - Generic graph
library.
- opt - Optional and
Either data type utilities. Provides util function for Typed Racket’s
Option type as well as defines an Either type.
- phc-adt -
Algebraic Data Types for Typed/Racket, with features tailored to
compiler writing. The data types do not have to be declared before they
are used, like prefab structs and symbols. Behind the scenes, this
library remembers all the data types in a file, and uses it to
implicitly pre-declare them. Mostly stable, although some things may
change a bit in the future.
- quad-tree
- A fairly simple quad-tree implementation. Nothing terribly fancy.
Currently rather unstable.
- rebellion -
Dozens of well-documented modules to aid in general-purpose programming.
Extensive. Includes multidict, range set, and much
more.
- try - A Typed Racket
Try datatype and routines for computations that throw exceptions.
Database Drivers
Libraries for connecting and operating databases.
- binary-class-dbf
- Interface to *.dbf files (dBase, Foxpro, etc).
- db - Database
connectivity (main distribution).
- dbm - An interface
to UNIX dbm files using a libdbm FFI.
- deta - A functional
database mapper.
- fra - Purely
functional implementation of relational algebra.
- mongodb - A
native Racket interface to MongoDB & BSON.
- rackdis - Redis
bindings.
- racquel - Racquel
is an object/relational mapper for Racket.
- redis - A redis
client for Racket.
- sql - an
S-expression notation for SQL.
- sqlite-table - A
quick way to create and query sqlite tables. Basically a simplified
wrapper for a subset of the db library.
Emulators
Racket programs emulating other computers and
architectures
- 6502 - An
emulator/assembler/disassembler for 6502.
- virtual-mpu -
Universal Emulator & Assembler for Old Microprocessors.
GUI Development
Libraries for cross platform GUI development
Game Development
Awesome game development libraries.
- apse - A Pixel
Sprite Editor.
- game-engine -
Scratchpad for racket game stuff.
- get-bonus - An
experimental video game development environment.
- mode-lambda -
Sprite-based 2D graphics engine.
- pict3d - A 3D
engine with a purely functional API.
- towers - Towers is
an original 2-player board game.
- vr-lang -
Racket Lang for Virtual Reality (Aframe).
Games
Games written in Racket
- Racket games - games
in main distribution.
- r-cade - Retro Game
Engine for Racket.
- space-invaders - A
Racket remake of Mary Rose Cook’s JavaScript version of Space
Invaders.
- web-sweeper -
Stateless Server Side Mine Sweeper.
Images
Libraries for manipulating images.
- png-image -
Library to view and modify PNG chunks.
- racket-jpeg -
JPEG parsing, transformation, and codec library for Racket.
- simple-qr
- a qr code tool for racket-lang.
- video - Video is a
DSL for describing videos.
Machine Learning
Libraries for Machine Learning.
- DeepRacket
- A simple starting point for doing deep learning in Racket.
- layer - Neural
network inference the Unix way.
- racket-knn - K
Nearest Neighbors, KNN, is a lazy, supervised machine learning
algorithm. This is an implementation in scheme using racket.
- racket-ml - A
collection of things I found useful for doing Machine Learning problem
sets.
- rml-core -
This Package is part of an expected set of packages implementing machine
learning capabilities for Racket. The core of this package is the
management of ‘datasets’, these datasets are assumed to be for training
and testing of machine learning capabilities.
- rml-decisiontrees
- This Package is part of a set of packages implementing machine
learning capabilities for Racket. This particular package implements
support for classification of individuals using decision trees.
- rml-knn - This
Package is part of a set of packages implementing machine learning
capabilities for Racket. This particular package implements the
K-Nearest Neighbor approach for classification.
- tesseract -
Bindings for Google’s Tesseract-OCR.
Macros
Awesome macros that make your life easier
- anaphoric -
Anaphoric macros for Racket.
- threading -
Macros to flatten nested function calls.
Messaging
Libraries that implement messaging systems.
- neuron-lib -
Implementation of neuron.
- profj - Kathy Gray’s
ProfessorJ language ported to modern DrRacket.
- stomp - STOMP
messaging protocol codec and client.
- zeromq-r
- Bindings for ZeroMQ.
- zmq - Minimal
Racket ZeroMQ Bindings.
Third-party APIs
Libraries for accessing third party APIs.
- aws - Amazon
Web Services including S3, SDB, SES, SNS, SQS, CloudWatch, Glacier,
Dynamo, and Route 53.
- aws-cloudformation-deploy
AWS Cloudformation deployment scripting library.
- comm-panel -
Racket GUI widget for sending, receiving, listening, and broadcasting
strings over AWS SQS.
- google - Google
APIs (Drive, Plus, etc) for Racket.
- racket-ovh -
Unofficial Racket wrapper for OVH API.
- recaptcha -
Utilities for using reCAPTCHA with the web-server/formlets API.
Testing
Libraries for testing codebases and generating test data
- RackUnit -
RackUnit is a unit-testing framework for Racket. It is designed to
handle the needs of all Racket programmers, from novices to
experts.
- al2-test-runner -
alternate rackunit test runner.
- cover - a code
coverage tool for racket.
- test-more
- A Racket version of Perl’s Test::More library.
Web Frameworks
Full stack web frameworks.
- HoLy - HoLy is simple
a HTTP-server Library for Racket.
- Rackt - An
ultrasmall (~70 loc) React wrapper written in RacketScript.
- Routy - Routy is a
lightweight high performance HTTP request router for Racket.
- Spin - Write RESTful web
apps in Racket.
- frog - Frog is
a static blog generator implemented in Racket, targeting Bootstrap and
able to use Pygments.
- koyo - A web
development toolkit for Racket.
- polkadot - A
lightweight personal wiki in Racket.
- racket-request -
Package for simplifying HTTP requests and writing integration tests of
REST-ful APIs in Racket.
- riposte - Scripting
language for testing JSON-based HTTP APIs.
- vela - Simple web
framework to build RESTful app in Racket.
- web-galaxy - A
minimalist web framework for the Racket web-server.
- web-server/servlet -
Running Web Servlets describes how to run the servlets you’ve
written.
racket.md
Github