Files
awesome-awesomeness/html/racket.html
2025-07-18 23:13:11 +02:00

369 lines
18 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-racket"><a href="https://awesome-racket.com">Awesome
Racket</a></h1>
<p><a href="https://awesome-racket.com/"><img align="right" src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Racket-logo.svg/240px-Racket-logo.svg.png" alt="awesome-racket" title="awesome-racket" /></a></p>
<p>A curated list of <strong>Awesome Racket</strong>, libraries and
software. Inspired by <a
href="https://github.com/avelino/awesome-go">awesome-go</a>.</p>
<p><a
href="https://github.com/avelino/awesome-racket/actions/workflows/ci.yml?query=branch%3Amain"><img
src="https://github.com/avelino/awesome-racket/actions/workflows/ci.yml/badge.svg?branch=main"
alt="Build Status" /></a> <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></p>
<p><a href="https://www.producthunt.com/posts/awesome-racket?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-awesome-racket" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=326738&theme=light" alt="awesome-racket - A curated list of awesome Racket language | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a></p>
<p><a href="https://pkgs.racket-lang.org/">Check the complete package
list</a></p>
<p><a href="https://github.com/racket/racket">The Racket
repository</a></p>
<h3 id="contents">Contents</h3>
<ul>
<li><a href="#awesome-racket">Awesome Racket</a> - <a
href="#contents">Contents</a>
<ul>
<li><a href="#audio-and-music">Audio and Music</a></li>
<li><a href="#compilers">Compilers</a></li>
<li><a href="#data-structures">Data Structures</a></li>
<li><a href="#database-drivers">Database Drivers</a></li>
<li><a href="#emulators">Emulators</a></li>
<li><a href="#gui-development">GUI Development</a></li>
<li><a href="#game-development">Game Development</a></li>
<li><a href="#games">Games</a></li>
<li><a href="#images">Images</a></li>
<li><a href="#machine-learning">Machine Learning</a></li>
<li><a href="#macros">Macros</a></li>
<li><a href="#messaging">Messaging</a></li>
<li><a href="#third-party-apis">Third-party APIs</a></li>
<li><a href="#testing">Testing</a></li>
<li><a href="#web-frameworks">Web Frameworks</a></li>
</ul></li>
</ul>
<h2 id="audio-and-music">Audio and Music</h2>
<p><em>Libraries for manipulating audio.</em></p>
<ul>
<li><a href="https://github.com/jeapostrophe/3s">3s</a> - Positional
sound and mixing for lux and other applications.</li>
<li><a href="https://github.com/jbclements/RSound">RSound</a> - A
framework for manipulating and playing sounds using the portaudio
library. Runs on Windows, Mac OS X, and linux.</li>
<li><a
href="https://github.com/lehitoskin/libopenal-racket">libopenal-racket</a>
- Racket wrapper to the OpenAL library first written by gcr in
2012.</li>
<li><a
href="https://github.com/jbclements/midi-readwrite">midi-readwrite</a> -
Library to read .mid files in racket</li>
<li><a href="https://github.com/jeapostrophe/openal">openal</a> - FFI
for OpenAL.</li>
<li><a href="https://github.com/jbclements/osc">osc</a> - Open Sound
Control data definitions.</li>
<li><a href="https://github.com/jbclements/portaudio">portaudio</a> -
Bindings for portaudio, a cross-platform audio library.</li>
<li><a href="https://github.com/quakehead/rsc3">rsc3</a> - SuperCollider
client ported to Racket.</li>
<li><a href="https://github.com/jbclements/rtmidi">rtmidi</a> - Provides
racket bindings for the RtMidi library, thus enabling racket programs to
send and receive MIDI events.</li>
<li><a href="https://github.com/jbclements/sonic-pi">sonic-pi</a> - For
now, this package starts scsynth just like sonic pi does, and can make a
few sounds.</li>
<li><a href="https://github.com/takikawa/taglib-racket">taglib</a> -
Bindings to the taglib C library, which provides simple access to audio
file metadata.</li>
<li><a
href="https://github.com/jbclements/wavelet-transform-haar-1d">wavelet-transform-haar-1d</a>
- A library to perform forward and reverse 1-d Haar Wavelet
transforms.</li>
</ul>
<h2 id="compilers">Compilers</h2>
<p><em>Tools for compiling Racket to other languages.</em></p>
<ul>
<li><a
href="https://github.com/philnguyen/abstract-compilation">abstract-compilation</a>
- DSL reducing boiler plates for doing abstract compilation.</li>
<li><a href="https://github.com/samth/disassemble">disassemble</a> -
Disassembler for Racket.</li>
<li><a href="https://github.com/jackfirth/lens">lens</a> - A Racket
package for creating and composing pure functional lenses.</li>
<li><a href="https://github.com/soegaard/minipascal">minipascal</a> -
MiniPascal as a Racket language.</li>
<li><a
href="https://github.com/racketscript/racketscript">racketscript</a> - A
lightweight Racket to JavaScript compiler with some batteries
included.</li>
<li><a href="https://github.com/soegaard/urlang">urlang</a> - Write
JavaScript with Racket syntax. Bonus: Use Racket to define macros for
JavaScript constructs.</li>
<li><a
href="https://github.com/euhmeuh/wasm-adventure">wasm-adventure</a> - A
WebAssembly DSL.</li>
<li><a
href="https://github.com/vishesh/drracket-whalesong">whalesong-tools</a>
- DrRacket tool for compiling with Whalesong.</li>
<li><a href="https://github.com/sschauss/wracket">wracket</a> -
Lisp-like language to WebAssembly build with racket.</li>
<li><a href="https://github.com/bennn/zordoz">zordoz</a> - Explorer for
.zo bytecode files.</li>
</ul>
<h2 id="data-structures">Data Structures</h2>
<p><em>Generic datastructures and algorithms.</em></p>
<ul>
<li><a href="https://github.com/dedbox/racket-algebraic">algebraic</a> -
Algebraic structures for untyped Racket.</li>
<li><a href="https://github.com/tov/dssl">dssl</a> - Data Structures
Student Language: an extension of ASL for easier imperative
programming.</li>
<li><a href="https://github.com/tov/dssl2">dssl2</a> - A language for
data structures students.</li>
<li><a href="https://github.com/Kalimehtar/gls">gls</a> - Generic Little
(Object, Type, Anything, etc) System - multiple dispatch on types.</li>
<li><a href="https://github.com/stchang/graph">graph</a> - Generic graph
library.</li>
<li><a href="https://gitlab.com/RayRacine/opt">opt</a> - Optional and
Either data type utilities. Provides util function for Typed Rackets
Option type as well as defines an Either type.</li>
<li><a href="https://github.com/jsmaniac/phc-adt">phc-adt</a> -
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.</li>
<li><a href="https://github.com/dented42/racket-quad-tree">quad-tree</a>
- A fairly simple quad-tree implementation. Nothing terribly fancy.
Currently rather unstable.</li>
<li><a
href="https://docs.racket-lang.org/rebellion/index.html">rebellion</a> -
Dozens of well-documented modules to aid in general-purpose programming.
<strong>Extensive</strong>. Includes multidict, range set, and much
more.</li>
<li><a href="https://gitlab.com/RayRacine/try">try</a> - A Typed Racket
Try datatype and routines for computations that throw exceptions.</li>
</ul>
<h2 id="database-drivers">Database Drivers</h2>
<p><em>Libraries for connecting and operating databases.</em></p>
<ul>
<li><a
href="https://github.com/Kalimehtar/binary-class-dbf">binary-class-dbf</a>
- Interface to *.dbf files (dBase, Foxpro, etc).</li>
<li><a href="https://github.com/racket/db">db</a> - Database
connectivity (main distribution).</li>
<li><a href="https://github.com/jeapostrophe/dbm">dbm</a> - An interface
to UNIX dbm files using a libdbm FFI.</li>
<li><a href="https://github.com/Bogdanp/deta">deta</a> - A functional
database mapper.</li>
<li><a href="https://github.com/jeapostrophe/fra">fra</a> - Purely
functional implementation of relational algebra.</li>
<li><a href="https://github.com/jeapostrophe/mongodb">mongodb</a> - A
native Racket interface to MongoDB &amp; BSON.</li>
<li><a href="https://github.com/eu90h/rackdis">rackdis</a> - Redis
bindings.</li>
<li><a href="https://github.com/brown131/racquel">racquel</a> - Racquel
is an object/relational mapper for Racket.</li>
<li><a href="https://github.com/stchang/redis">redis</a> - A redis
client for Racket.</li>
<li><a href="https://github.com/rmculpepper/sql">sql</a> - an
S-expression notation for SQL.</li>
<li><a
href="https://github.com/jbclements/sqlite-table">sqlite-table</a> - A
quick way to create and query sqlite tables. Basically a simplified
wrapper for a subset of the db library.</li>
</ul>
<h2 id="emulators">Emulators</h2>
<p><em>Racket programs emulating other computers and
architectures</em></p>
<ul>
<li><a href="https://github.com/soegaard/6502">6502</a> - An
emulator/assembler/disassembler for 6502.</li>
<li><a href="https://github.com/euhmeuh/virtual-mpu">virtual-mpu</a> -
Universal Emulator &amp; Assembler for Old Microprocessors.</li>
</ul>
<h2 id="gui-development">GUI Development</h2>
<p><em>Libraries for cross platform GUI development</em></p>
<ul>
<li><a href="https://github.com/Metaxal/MrEd-Designer">MrEd Designer</a>
- MrEd Designer is WYSIWYG program to create GUI applications for
Racket. (code generator).</li>
<li><a href="https://docs.racket-lang.org/gui/index.html">The Racket
Graphical Interface Toolkit</a> - Racket GUI library (core
distribution).</li>
<li><a href="https://github.com/Bogdanp/racket-gui-easy">gui-easy</a> -
A declarative API on top of <code>racket/gui</code>.</li>
<li><a
href="https://pkgs.racket-lang.org/package/gui-widget-mixins">gui-widget-mixins</a>
- Tool tips, cue text and validation for text-field% GUI widgets in
Racket.</li>
<li><a
href="https://pkgs.racket-lang.org/package/map-widget">map-widget</a> -
A Racket GUI Widget to display maps based on OpenStreetMap tiles More at
<a
href="https://pkgd.racket-lang.org/pkgn/search?q=&amp;tags=gui">packages
tagged <code>GUI</code></a>.</li>
</ul>
<h2 id="game-development">Game Development</h2>
<p><em>Awesome game development libraries.</em></p>
<ul>
<li><a href="https://github.com/jeapostrophe/apse">apse</a> - A Pixel
Sprite Editor.</li>
<li><a href="https://github.com/srfoster/game-engine">game-engine</a> -
Scratchpad for racket game stuff.</li>
<li><a href="https://github.com/get-bonus/get-bonus">get-bonus</a> - An
experimental video game development environment.</li>
<li><a
href="https://github.com/jeapostrophe/mode-lambda">mode-lambda</a> -
Sprite-based 2D graphics engine.</li>
<li><a href="https://github.com/jeapostrophe/pict3d">pict3d</a> - A 3D
engine with a purely functional API.</li>
<li><a href="https://github.com/Metaxal/towers">towers</a> - Towers is
an original 2-player board game.</li>
<li><a href="https://github.com/thoughtstem/vr-lang">vr-lang</a> -
Racket Lang for Virtual Reality (Aframe).</li>
</ul>
<h2 id="games">Games</h2>
<p><em>Games written in Racket</em></p>
<ul>
<li><a href="https://github.com/racket/games">Racket games</a> - games
in main distribution.</li>
<li><a href="https://github.com/massung/r-cade">r-cade</a> - Retro Game
Engine for Racket.</li>
<li><a
href="https://github.com/soegaard/space-invaders">space-invaders</a> - A
Racket remake of Mary Rose Cooks JavaScript version of Space
Invaders.</li>
<li><a href="https://github.com/Halfwake/web-sweeper">web-sweeper</a> -
Stateless Server Side Mine Sweeper.</li>
</ul>
<h2 id="images">Images</h2>
<p><em>Libraries for manipulating images.</em></p>
<ul>
<li><a href="https://github.com/lehitoskin/png-image">png-image</a> -
Library to view and modify PNG chunks.</li>
<li><a href="https://github.com/wingo/racket-jpeg">racket-jpeg</a> -
JPEG parsing, transformation, and codec library for Racket.</li>
<li><a href="https://github.com/simmone/racket-simple-qr">simple-qr</a>
- a qr code tool for racket-lang.</li>
<li><a href="https://github.com/videolang/video">video</a> - Video is a
DSL for describing videos.</li>
</ul>
<h2 id="machine-learning">Machine Learning</h2>
<p><em>Libraries for Machine Learning.</em></p>
<ul>
<li><a href="https://github.com/charlescearl/DeepRacket">DeepRacket</a>
- A simple starting point for doing deep learning in Racket.</li>
<li><a href="https://github.com/cloudkj/layer">layer</a> - Neural
network inference the Unix way.</li>
<li><a href="https://github.com/asbaker/racket-knn">racket-knn</a> - K
Nearest Neighbors, KNN, is a lazy, supervised machine learning
algorithm. This is an implementation in scheme using racket.</li>
<li><a href="https://github.com/danking/racket-ml">racket-ml</a> - A
collection of things I found useful for doing Machine Learning problem
sets.</li>
<li><a href="https://github.com/johnstonskj/rml-core">rml-core</a> -
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.</li>
<li><a
href="https://github.com/johnstonskj/rml-decisiontrees">rml-decisiontrees</a>
- 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.</li>
<li><a href="https://github.com/johnstonskj/rml-knn">rml-knn</a> - 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.</li>
<li><a href="https://github.com/lasfter/tesseracket">tesseract</a> -
Bindings for Googles Tesseract-OCR.</li>
</ul>
<h2 id="macros">Macros</h2>
<p><em>Awesome macros that make your life easier</em></p>
<ul>
<li><a href="https://github.com/jsmaniac/anaphoric">anaphoric</a> -
Anaphoric macros for Racket.</li>
<li><a href="https://github.com/lexi-lambda/threading">threading</a> -
Macros to flatten nested function calls.</li>
</ul>
<h2 id="messaging">Messaging</h2>
<p><em>Libraries that implement messaging systems.</em></p>
<ul>
<li><a href="https://github.com/dedbox/racket-neuron">neuron-lib</a> -
Implementation of neuron.</li>
<li><a href="https://github.com/mflatt/profj">profj</a> - Kathy Grays
ProfessorJ language ported to modern DrRacket.</li>
<li><a href="https://github.com/tonyg/racket-stomp">stomp</a> - STOMP
messaging protocol codec and client.</li>
<li><a href="https://github.com/rmculpepper/racket-zeromq">zeromq-r</a>
- Bindings for ZeroMQ.</li>
<li><a href="https://github.com/mordae/racket-zmq">zmq</a> - Minimal
Racket ZeroMQ Bindings.</li>
</ul>
<h2 id="third-party-apis">Third-party APIs</h2>
<p><em>Libraries for accessing third party APIs.</em></p>
<ul>
<li><a href="https://github.com/greghendershott/aws">aws</a> - Amazon
Web Services including S3, SDB, SES, SNS, SQS, CloudWatch, Glacier,
Dynamo, and Route 53.</li>
<li><a
href="https://github.com/cjdev/aws-cloudformation-deploy">aws-cloudformation-deploy</a>
AWS Cloudformation deployment scripting library.</li>
<li><a href="https://github.com/thoughtstem/comm-panel">comm-panel</a> -
Racket GUI widget for sending, receiving, listening, and broadcasting
strings over AWS SQS.</li>
<li><a href="https://github.com/tonyg/racket-google">google</a> - Google
APIs (Drive, Plus, etc) for Racket.</li>
<li><a href="https://github.com/euhmeuh/racket-ovh">racket-ovh</a> -
Unofficial Racket wrapper for OVH API.</li>
<li><a href="https://github.com/LiberalArtist/recaptcha">recaptcha</a> -
Utilities for using reCAPTCHA with the web-server/formlets API.</li>
</ul>
<h2 id="testing">Testing</h2>
<p><em>Libraries for testing codebases and generating test data</em></p>
<ul>
<li><a href="https://docs.racket-lang.org/rackunit/">RackUnit</a> -
RackUnit is a unit-testing framework for Racket. It is designed to
handle the needs of all Racket programmers, from novices to
experts.</li>
<li><a
href="https://github.com/alex-hhh/al2-test-runner">al2-test-runner</a> -
alternate rackunit test runner.</li>
<li><a href="https://github.com/florence/cover">cover</a> - a code
coverage tool for racket.</li>
<li><a href="https://github.com/dstorrs/racket-test-more">test-more</a>
- A Racket version of Perls Test::More library.</li>
</ul>
<h2 id="web-frameworks">Web Frameworks</h2>
<p><em>Full stack web frameworks.</em></p>
<ul>
<li><a href="https://github.com/nihirash/holy">HoLy</a> - HoLy is simple
a HTTP-server Library for Racket.</li>
<li><a href="https://github.com/rackt-org/rackt">Rackt</a> - An
ultrasmall (~70 loc) React wrapper written in RacketScript.</li>
<li><a href="https://github.com/Junker/routy">Routy</a> - Routy is a
lightweight high performance HTTP request router for Racket.</li>
<li><a href="https://github.com/dmac/spin">Spin</a> - Write RESTful web
apps in Racket.</li>
<li><a href="https://github.com/greghendershott/frog">frog</a> - Frog is
a static blog generator implemented in Racket, targeting Bootstrap and
able to use Pygments.</li>
<li><a href="https://github.com/Bogdanp/koyo">koyo</a> - A web
development toolkit for Racket.</li>
<li><a href="https://github.com/2-3/polkadot">polkadot</a> - A
lightweight personal wiki in Racket.</li>
<li><a
href="https://github.com/jackfirth/racket-request">racket-request</a> -
Package for simplifying HTTP requests and writing integration tests of
REST-ful APIs in Racket.</li>
<li><a href="https://github.com/vicampo/riposte">riposte</a> - Scripting
language for testing JSON-based HTTP APIs.</li>
<li><a href="https://github.com/nuty/vela">vela</a> - Simple web
framework to build RESTful app in Racket.</li>
<li><a href="https://github.com/euhmeuh/web-galaxy">web-galaxy</a> - A
minimalist web framework for the Racket web-server.</li>
<li><a
href="http://docs.racket-lang.org/web-server/">web-server/servlet</a> -
Running Web Servlets describes how to run the servlets youve
written.</li>
</ul>
<p><a href="https://github.com/avelino/awesome-racket">racket.md
Github</a></p>