The Avail Programming Language
Mobile Users: Click here to view our text rendering warning.


Avail is a multi-paradigmatic general purpose programming language whose feature set emphasizes support for articulate programming. Avail is an open-source project that comprises a language virtual machine and a standard library. Both are released under the 3-clause BSD license.

The current release version of Avail is 1.0.0 DEV 2014-04-28. This is a development release, and while it is believed to be useful, it is not recommended for production use.

Avail workbench icon: a stylized A next to a hammer, in front of a green oval. Download a binary or source
distribution of Avail here!

To whet your appetite for Avail, below is a snippet from our largest example, Wump the Wumpus. This application is an homage to Gregory Yob's BASIC classic, Hunt the Wumpus, and can be found in its entirety (16 modules) in the /examples module root.

(The parameters are dependency injected I/O functions, in case you were wondering.)

Recent News

2017.08.08: Avail now has modular lexers.

2016.11.21: Avail has a sparkly new compiler. While blogging is fun, creating Avail is even more fun, so surely you can forgive this hiatus…

2015.08.16: The Avail team belatedly welcomes another member, Jared Mehl, who has actually been working with us for several months already. (Obviously we need to work on our publicity skills…)

2015.01.12: The Avail team welcomes its newest member, Robbert van Dalen. This is an exciting occasion for Avail, as Robbert is the first team member who is neither 1) a resident of the United States or 2) already known to The Avail Foundation's founding members. We choose to take this as evidence that Avail's sphere of influence is expanding. :)

2014.12.19: File I/O is now stable. This also marks the first entry in Mark's blog.

2014.10.28: The Avail Retreat of 2014, the first installment of Todd's blog, is now available. Also, Avail now incorporates server-side WebSocket and can function as an app server. And it's 20% faster and uses 73% less memory.

2014.10.16: Avail Newsletters, Edition #7: File I/O. Mostly. is now available. The construction work on file I/O and iterators is still ongoing, but open again for read-bound traffic.

2014.05.28: In response to the bug described in ticket 83, new versions of the Avail workbench's Windows installer and Unix bash script have been uploaded to the website and repository, respectively. To download the new installer, visit the download page. To update your script, do a git pull (as described on the Unix install instructions page).

2014.05.03: Fibonacci, the next installment of the Learning Avail tutorial series, is now available.

2014.05.02: We have enabled Google Analytics Demographics and Interest Reporting in the hope that it will provide information helpful in expanding our audience, and have updated our Privacy Policy accordingly.

2014.05.01: The Avail team welcomes its newest members, Evan Beach and Peter Monks. There have also been minor fixes to the tutorials.

2014.04.30: The Avail FAQ is now available.

2014.04.28: Avail Newsletters, Edition #6: Hello, World! is now available. (Oh, and we also changed the entire website and added a download link.)

Site Map

This site is under active development, and, like Avail itself, it is by no means "complete". It is, nonetheless, home to a significant volume of useful content. This content can be accessed from the side bar to the left.

  1. Introduction. This is a bird's eye view of Avail. It describes the rationale for Avail, some philosophy behind its development and usage, and its goals. It also enumerates the features of Avail at a high level and in a buzzword bingo fashion.