List of resources for Racket Programming Language
Everything for Racket Lang (functional programming)
Source : https://github.com/avelino/awesome-racket
Web Frameworks
Full stack web frameworks.
- web-server/servlet - Running Web Servlets describes how to run the servlets you’ve written.
- Spin - Write RESTful web apps in Racket.
- Routy - Routy is a lightweight high performance HTTP request router for Racket.
- HoLy - HoLy is simple a HTTP-server Library for Racket.
- web-galaxy - A minimalist web framework for the Racket web-server.
- vela - Simple web framework to build RESTful app in Racket.
Game Development
Awesome game development libraries.
- mode-lambda - Sprite-based 2D graphics engine.
- get-bonus - An experimental video game development environment.
- game-engine - Scratchpad for racket game stuff.
- pict3d - A 3D engine with a purely functional API.
- vr-lang - Racket Lang for Virtual Reality (Aframe).
- towers - Towers is an original 2-player board game.
- apse - A Pixel Sprite Editor.
Games
Games written in Racket
GUI Development
Libraries for cross platform GUI development
Audio and Music
Libraries for manipulating audio.
- 3s - Positional sound and mixing for lux and other applications.
- 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.
- RSound - A framework for manipulating and playing sounds using the portaudio library. Runs on Windows, Mac OS X, and linux.
- 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.
Video
Racket tools for working with videos
- video - Video is a DSL for describing videos.
Compilers
Tools for compiling Racket to other languages.
- 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.
- whalesong-tools - DrRacket tool for compiling with Whalesong.
- abstract-compilation - DSL reducing boiler plates for doing abstract compilation.
- minipascal - MiniPascal as a Racket language.
- zordoz - Explorer for .zo bytecode files.
- wasm-adventure - A WebAssembly DSL
- wracket - Lisp-like language to WebAssembly build with racket.
Emulators
Racket programs emulating other computers and architectures
- 6502 - An emulator/assembler/disassembler for 6502.
- virtual-mpu - Universal Emulator & Assembler for Old Microprocessors.
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.
- opt -
Optional and Either data type utilities. Provides util function for
Typed Racket's Option type as well as defines an Either type.
- try - A Typed Racket Try datatype and routines for computations that throw exceptions.
- gls - Generic Little (Object, Type, Anything, ...) System - multiple dispatch on types.
- graph - Generic graph library.
- 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.
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, ...) for Racket.
- recaptcha - Utilities for using reCAPTCHA with the web-server/formlets API.
- racket-ovh - Unofficial Racket wrapper for OVH API.
Machine Learning
Libraries for Machine Learning.
- 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.
Database Drivers
Libraries for connecting and operating databases.
- db - Database connectivity (main distribution).
- mongodb - A native Racket interface to MongoDB & BSON.
- binary-class-dbf - Interface to *.dbf files (dBase, Foxpro, ...).
- dbm - An interface to UNIX dbm files using a libdbm FFI.
- fra - Purely functional implementation of relational algebra.
- redis - A redis client for Racket.
- rackdis - Redis bindings
- racquel - Racquel is an object/relational mapper 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.
Messaging
Libraries that implement messaging systems.
- zmq - Minimal Racket ZeroMQ Bindings.
- zeromq-r - Bindings for ZeroMQ.
- stomp - STOMP messaging protocol codec and client.
- neuron-lib - Implementation of neuron.
- profj - Kathy Gray's ProfessorJ language ported to modern DrRacket.
Macros
Awesome macros that make your life easier