Arc resources

pg’s, install, Arc tutorial and the Arc 3.1 release

kens’ arc2 documentation plus what’s new in arc3

the Arc forum and search the forum

Anarki, a public collection of Arc code that anyone can edit and add to

documentation for PLT Scheme, the language Arc is implemented in

conanite’s rainbow, an implementation of Arc in Java


The right way to do library dependencies


Creating a parser combinator library to parse JSON


the Hackinator: Download, apply, and run hacks to Arc

sendgmail: Send email from Arc through Gmail via Perl


scheme0: Access Scheme from Arc

lang2: Call Perl and Python from Arc

tojson: Generate JSON from Arc

fromjson0: A JSON parser

template5: readably embed other languages in Arc

binary1: Binary data

Web and networking

post2: simple HTTP POST


urlencode1: A version that encodes Unicode

parseurl0: Parse a URL into its component parts

read-headers0: read headers terminated by an empty line

encodequery0: generate the query portion of a URL

String functions and pattern matching

re3: Access to MzScheme regular expressions

begins-rest0: returns the remainder of the string if the beginning matches

parsecomb0: A parser combinator library

srv extensions

baseop1: Choose at runtime how to respond to a request

implicitreq0: Implicit request


srv-staticdirs: Multiple static dirs



Arc extensions

table-rw3: Table reader / writer

implicit2: Implicit variables

table-vivifier: automatically create new values in a table

defvar: Provide an implementation for a global variable

defarc: Write extensions to the Arc compiler in Arc

readline1: a version of readline that accepts both lf and crlf endings

lock1: individual atomic locks


between: Like each, with also doing something in between each action


span: Split a list into the longest prefix that meets a test and the rest

extend: Conditionally extend a function



alistcall: Use x!foo for association list lookups

Contact me

Twitter: awwx
Email: andrew.wilcox [at]