Racket

Although I have been an expert in popular computer programming languages like C, C++, and Java, the software side of most of my current consulting and personal work is in Racket, which originally grew out of the Lisp dialect PLT Scheme.

This page covers misc. Racket work of mine that is publicly-available at this time. (Most of my Racket-related work products are proprietary and confidential, but I'm trying to get some of the more generic stuff open-sourced.)

If you're a user of Racket, Common Lisp, or Scheme, and in the greater Boston area, you simply must join the boston-lisp-announce low-traffic, announcements-only list that I manage.

If you're using plain Emacs for Racket or Scheme development, you might want to be using my Quack enhancements to Emacs. You might also want Racket Scribble Emacs Mode.

I try to package up general-purpose Racket code from my personal projects as reusable open source libraries, both big and small.

bencode: BitTorrent Bencode Decoding

ccnum: Credit Card Number Utilities

CharTerm: Character-cell Terminal Interface

cpuinfo: CPU Information

csv: Comma-Separated Value (CSV) Utilities

gdbdump: GDB-based Native Thread Backtrace Dumps

html-parsing: Permissive Parsing of HTML to SXML/xexp

html-template: HTML Writing Template Language based on SXML/xexp

html-writing: Writing HTML from SXML/xexp

hostname: Getting Hostname, FQDN, and IP addresses

json-parsing: JSON Parsing, Folding, and Conversion

levenshtein: Levenshtein Distance Metric

McFly Runtime: Embedded Package Documentation Runtime

McFly Tools: Developer Tools for Racket

mediafile: Media File Metadata Utilities

numformat: Sketchy Number Formatting

numspell: Spelling Numbers as English

Overeasy: Racket Language Test Engine

parted: Interface to GNU Parted Disk Partion Utility

path-misc: Misc. Path Utilities

postnet: USPS POSTNET Barcode Encoding

progedit: Programmatic File Editing

Protobj: Prototype-Delegation Object Model

Rackonsole: Lightweight Operator Console for Racket Server Processes

randtok: Random Token String Generation

rfc3339: RFC3339 Date and Time Format

scgi: Web HTTP SCGI and CGI

shootout: Expression Performance Comparison

SICP Support for DrRacket

soundex: Soundex Index Keying

srfi-9-plus: Enhanced define-record-type

sudo: Sudo Command Processes

tabexpand: Tab Character Expansion

uri: Web Uniform Resource Identifiers (URI and URL)

vlc: VideoLAN VLC Media Player Control

web-server-xexp: SXML/xexp Support for Racket Web Server

WebScraperHelper: Simple Generation of SXPath Queries from SXML Examples

xexp: SXML/xexp Representation of XML and HTML

Obsolete and unsupported libraries:

ASXT: Another Scheme XML Transformer [obsoleted; replacement might someday be released]

HtmlPrag: Pragmatic Parsing and Emitting of HTML using SXML and SHTML [replaced by html-parsing, html-writing, xexp]

Httper: Web HTTP Client in PLT Scheme

linux-proc-apm: Linux /proc/apm APM Data Access in Scheme [no means of testing]

Morc: Mock Arc Programming Language as Scheme Extension

srfi19.plt: Neil's Temporary SRFI-19 for PLT [a version now in PLT]

Testeez: Lightweight Unit Test Mechanism [obsoleted by Overeasy]

UriFrame: Web Uniform Resource Identifier Framework for PLT Scheme [obsoleted by uri]

UrlSkip: Web URL Simplification in Scheme [not maintained]

A Racket-based app, which is a work-in-progress, is RackOut.)

Also hosted here is Lytha Ayth's SICP in Texinfo Format.

Obsolete pages: Using OpenGL with PLT Scheme (now part of PLT Scheme), Zhu Chongkai's MrMathematica (now hosted elsewhere), and SSAX for PLT Scheme (now maintained by Kirill Livosky).

To anyone new to programming, I recommend installing DrRacket (part of Racket) and working through HtDP.

© Copyright Neil Van Dyke      Contact