Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 1.72 KB

README.md

File metadata and controls

65 lines (48 loc) · 1.72 KB

Kaba

Kaba is a general purpose programming language. The core is a simplified version of c++, with some python-style syntax sugar.

Features:

  • it compiles down to machine code - x86 64/32 bit or aarch64 - binary compatible with c++ (at least g++, clang and msvc)
  • JIT compiler - can be used for plugin systems, interacting with a c++ host program
  • fairly clean syntax - lists, optionals etc. directly integrated into the language
  • some safety features - value semantics - less mutable data by default - guards against usage of null values

This is the stand-alone compiler/execution environment for running scripts/applications.

Syntax

Uses indentation for blocks:

func main()
    print("hi")

Strong typing system, with easy built-in containers:

func f(i: i32) -> i32[]
    return [i,1,2,3]

Some functional ideas:

let x = [1.0, 2.0, 3.0] |> sin
                        |> filter(x => x>0)
                        |> sort

Libraries

  • user interface (gtk backend)
  • OpenGL
  • vulkan
  • threads
  • math (3d linear algebra, fft)
  • networking

For a full reference, see: https://wiki.michi.is-a-geek.org/kaba.reference/

Building