Vintage BASIC is an interpreter for a programming language of days gone by. A time when every home computer had a simple language called BASIC, and every kid who owned a computer learned it. It is implemented in Haskell, a modern language very unlike BASIC. I constructed it, beginning in Prof. Tim Sheard's Advanced Functional Programming Class, as a way to demonstrate how Haskell's monads could be used to implement BASIC's dynamic control structures. This odd marriage has now produced a fully functional implementation of that old favorite.

Vintage BASIC is open source software, provided under the BSD license. It will run on any platform that supports the GHC compiler, including Windows, macOS, and Linux.

Update: 1 August 2017

Version 1.0.3 of Vintage BASIC has now been released! You can find it at the download page. This version makes BASIC keywords case-insensitive. There is also now a 64-bit Windows version.