An experimental, minimalistic, static, functional language with zero dependencies

View project on GitHub

About the language

Verve aims to be a more approachable functional language. It borrows concepts and syntax from many other languages, both major and minor, functional and object-oriented, and although Verve is fully functional, the idea is to find the right balance amongst these concepts in order to create a nice and approachable language.

If you are interested on the ideas and motivation behind the language, you might like my initial post, Introducing Verve

Getting Started

Right now, Verve runs macOS and Ubuntu


For macOS, all you need is Xcode (available from the App Store)


For Ubuntu, you need make and clang, which you can install using

$ sudo apt-get install make clang

Installing Verve

To install Verve, simply clone the repo and build it, as follows

$ git clone https://github.com/tadeuzagallo/verve-lang
$ cd verve-lang
$ make install

After that, you should be able to use the command line verve. You can try it by running any of the tests, e.g.:

$ verve tests/math_parser.vrv

Running the tests

The tests are split in 3 categories:

  • output_tests - run a program and compare it's output against the expected output
  • error_tests - run a failing program and compare it's message against the expected
  • cpp_tests - C++ unit tests

Each category of tests can be ran individually, with make, as in:

$ make output_tests

Or all together with:

$ make test

Syntax highlight

Vim syntax highlight is available within the repo, you can install it by running:

$ make install_vim_highlight