CODiFY YOUR CREATiVE THOUGHTS iNTO ROBUST, SANE AND METiCULOUSLY OPTiMiZED CROSS-PLATFORM SOFTWARE.
zo is tiny, simple, fast and elegant for creating meticulously optimized software.
zo is focusing on creativity, wasm and performance.
- fast
compilation-time
. - user-friendly
error
messages. - meta-language.
- statically-typed.
- robust
type system
— hindley-milner algorithm.. - safe concurrency model — Actor Model Erlang-like.
- powerfull
tools
— native REPL, code editor, etc.
reading
— read the input and generates the source code as bytes.tokenizing
— transforms a sequence of bytes into a list of tokens.parsing
— creates an abtract syntax tree from a list of tokens.analyzing
— analyses the semantics of a given AST.codegen
— generates the code for a specific target.interpreting
— interprets a given AST.building
— builds the related files based on the target.
|-- zo # The entry point of the compiler.
|-- zo-analyzer # The semantic analysis phase of the compiler.
|-- zo-ast # The `zo` abstract syntax tree.
|-- zo-builder # The builder — used to build the ouput machine code.
|-- zo-codegen # The code generation phase of the compiler.
|-- zo-codegen-llvm # The LLVM code generation phase of the compiler.
|-- zo-codegen-py # The Python code generation phase of the compiler.
|-- zo-codegen-wasm # The WASM code generation phase of the compiler.
|-- zo-compiler # The `zo` compiler.
|-- zo-driver # The command-line interface of the compiler.
|-- zo-inferencer # The type system.
|-- zo-interner # The string interner.
|-- zo-interpreter # The evaluation phase of the compiler.
|-- zo-interpreter-clif # The Cranelift evaluation phase of the compiler.
|-- zo-interpreter-zo # The `zo` evaluation phase of the compiler.
|-- zo-notes # Docs, notes and speeches.
|-- zo-parser # The syntax analysis of the compiler.
|-- zo-reader # The reader — used to read the input source code.
|-- zo-reporter # The reporter — used to generates user-friendly error messages.
|-- zo-samples # Samples of the `zo` programming language.
|-- zo-session # The global session of the compiler.
|-- zo-tokenizer # The lexical analysis of the compiler.
|-- zo-ty # The types of the `zo` programming language.
|-- zo-value # Values are used by the `zo` evaluation phase.
THE SUPERSTAR hello, world!
— PRiNTS hello, world!
.
THE ELEGANT Square root — PRiNTS THE SQUARE ROOT OF 5
.
THE RECURSiVE GCD — PRiNTS THE GREATEST COMMON DiViSOR OF 48
AND 18
.
THE SMOOTH factorial CRiMiNAL — PRiNTS THE FACTORiAL OF 20
.
SiR Fibonacci — PRiNTS THE 11
RANK iN THE FiBONACCi SEQUENCE.