Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vivi (.vivi)

Vivi is a hackable modern metaprogramming language with reflective preprocessing.

It is a gradually typed, embeddable scripting lang with optional type annotation and a lightweight core.

Vivi is interpreted, can interpret itself, and runs linearly.

Its #proctime phase works like #comptime, giving you full reflective access to the program before execution

Vivi is NOT

  • A language that has macros. Generate it with #proctime.
  • An object oriented language. No objects, no this.
  • A virtual machine, virtual environment, or bytecode enabled interpreter.
  • A language with a fully featured core library. You extend it yourself, in Vivi.
  • Rigid or locked down, you can hack any part of the language to suit your needs.
  • A language that locks you into itself, you can interop.
  • Free of opinions, but it is also a lang that doesn't get in your way.

Currently only the lexer, ast and parser are implemented. Run vivi with ./build/vivi . --ast after compiling.

Please see the spec for a full breakdown.


Syntax Highlighting is available for vscode and tree-sitter, courtesy of jkylander.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages