Skip to content
(){ println("my language") }
Go Yacc Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
.gitignore
LICENSE
Makefile
README.md
ast.go
builtins.go
condition.go
context.go
errors.go
function.go
lexer.go
main.go
object.go
parser.go
parser.go.y
types.go

README.md

tako-lang

(X){

my experimental language.

might working. (probably not)

fizzbuzz := (n){
	loop := (i){
		println(if i % 15 == 0 {
			"fizzbuzz"
		} else if i % 3 == 0 {
			"fizz"
		} else if i % 5 == 0 {
			"buzz"
		} else {
			i
		})

		if i < n {
			loop(i + 1)
		}
	}
	
	loop(1)
}

fizzbuzz(30)

feature

  • everything is the expression and they have value
  • dynamic typing
  • object that like table of Lua
  • no GC (plans; not yet)

how to try

$ go get https://github.com/macrat/tako-lang.git && cd tako-lang
$ go generate
$ go build

$ echo 'println("hello tako-lang!")' | ./tako-lang
hello tako-lang!

$ ./tako-lang examples/fizzbuzz.tako
1
2
fizz
...
You can’t perform that action at this time.