Skip to main content

Hi there! V is a programming language that I'm working on in my spare time (it won't be big and professional like D and Go ;-)).

V is statically typed and has very powerful metaprogramming capabilities. In fact, one of the main goals is to let the programmer use the exact same syntax and libraries for both their code and their metacode. Another explicit goal (which is made possible by making compiler internals available to the programmer) is to keep both the language and the compiler small and instead move as much functionality as possible into libraries (including a standard library).

Highlights:

  • Metaprogramming done right
    • Hygienic macros
    • Same syntax for program and metaprogram
    • Compile-time execution
    • Access to compiler internals
  • Compiles to machine code
  • Fast compiler
  • Familiar (C-like) syntax

Status:

  • Some simple programs like Hello World, GCD calculation, Fibonacci numbers, etc. work
  • Very simple non-optimising bytecode backend for compile-time evaluation
  • Very simple non-optimising x86-64 backend
  • Direct output to ELF executables

It's currently just me working on the project and it's very far from finished.

The project is Free Software and you can find the complete source code on GitHub.