Anima is designed to...
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
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!
using import core
@Main
main :: () -> void {
IO.writeLine("Hello, World!")
}
// Or, in one line:
@Main _ :: () => (import core).IO.writeLine("Hello, World!")
Simplicity meets modernity.
Write less, and make more.