A Fresh Way to Develop Your Programs

But Why Anima?

Anima is designed to...

Easily Work With Modern C++

Easily call C++ from inside the ART, and vice-versa.

Shared libraries are even easier than before.

// In breve:

// Declare [C++ -> ART] mapping call:
@Expose(name = "myARTFunction")
artCall :: () -> void { /* ... */ }

// Declare [ART -> C++] mapping call (RunTime-specific):
@Native(name = "myNativeFunction")
nativeCall :: () -> int64

// Declare [ART -> C++] mapping call (ART-compatible shared library):
@Shared(name = "myLibraryFunction", lib = mylib)
libCall :: () -> string

Be Memory-Safe and Performant

Values are handled via Reference Counting, removing the need for background garbage collection.

Write more deterministic code with ease.

More information coming soon!

More information coming soon!

Meet Breve: the Flagship Language of Anima

using import core

@Main
main :: () -> void {
    IO.writeLine("Hello, World!")
}

// Or, in one line:

@Main _ :: () => (import core).IO.writeLine("Hello, World!")

Need to go to a Lower Level? Minima is There for You