Introduction to VimanaLang - an experimental programming language in the spirit of Lisp and Forth
Channel: Mikael Kindborg
Date: 15/04/2021

The last couple of days I have implemented an experimental dynamic programming language inspired by Lisp and Forth. I did this for the fun of it. I cal it VimanaLang as a tribute to the ancient flying Vimanas.

Download the code on GitHub: https://github.com/mikaelkindborg/VimanaLang

This implementation is in PHP. It uses the PHP callstack for recursion. I intend to implement a separate callstack and support tail recursion. If the project works well I might do a C implementation for embedded devices and the Internet of Things (IoT).

Lisp is one of my favourite programming languages. I programmed a lot of Lisp in the 1980s. VimanaLang is a retro project in many ways. It uses uppercase symbols (you can easily change this). Like early LISP, FORTH, and LOGO did. I might also do a workbench for Amiga-style arcade games using the SDL library.

In Vimana several things are the reverse of Lisp. The syntax is uniform, just like Lisp, but the notation is postfix instead of prefix (Reverse Polish Notation, as in Forth). And lists are not evaluated by default. In Lisp lists that are not quoted are expected to take a function as the first parameter. In Vimana, the function is the last item, preceded by parameters.

Anyway, if you are a dynamic programming language fan, you can download and experiment with this implementation.