/vapour

Typed superset of R

Primary LanguageGoApache License 2.0Apache-2.0

A typed superset of the R programming language

Docs | Get Started | Install

Warning

Vapour is in (very) early alpha!

type person: object {
   age: int,
   name: char 
}

func create(name: char): person {
  return person(name = name)
}

@generic
func (p: any) set_age(age: int, ...: any): any

@default
func(p: any) set_age(age: int): null {
  stop("not implemented")
}

func(p: person) set_age(age: int): person {
  p$age = age
  return p
}

let john: person = create("John") |>
  set_age(36)