Kaba class vec2 ed

...

Syntax ed

class vec2
    var x: f32
    var y: f32

    # constructors
    func mut __init__(x: f32, y: f32)

    # functions
    func pure length() -> f32
    func pure normalized() -> vec2
    func static pure dot(v1: vec2, v2: vec2) -> f32

    # operators
    func pure __length__() -> f32        # len(vec2) -> f32
    func pure __str__() -> string        # str(vec2) -> string
    func mut __assign__(b: vec2)         # vec2 = vec2
    func pure __eq__(b: vec2) -> bool    # vec2 == vec2 -> bool
    func pure __neq__(b: vec2) -> bool   # vec2 __neq__ vec2 -> bool
    func pure __add__(b: vec2) -> vec2   # vec2 + vec2 -> vec2
    func pure __sub__(b: vec2) -> vec2   # vec2 - vec2 -> vec2
    func pure __mul__(b: f32) -> vec2    # vec2 * f32 -> vec2
    func pure __div__(b: f32) -> vec2    # vec2 / f32 -> vec2
    func mut __iadd__(b: vec2)           # vec2 += vec2
    func mut __isub__(b: vec2)           # vec2 -= vec2
    func mut __imul__(b: f32)            # vec2 *= f32
    func mut __idiv__(b: f32)            # vec2 /= f32
    func pure __neg__() -> vec2          # - vec2 -> vec2

    # constants
    let 0: vec2
    let EX: vec2
    let EY: vec2
    let O: vec2

Functions ed

func pure length() -> f32
...

func pure normalized() -> vec2
...

func static pure dot(v1: vec2, v2: vec2) -> f32
...

Elements ed

var x: f32
...

var y: f32
...