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.
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.