... is a friendly, lightweight programming language for math and games
Geko is unstable, and currently a work in progress project (WIP).
Nightly builds are available giving you a chance to explore and test the language as it evolves.
putln("Hello, world!");
fun greet(name) {
greetings := [
"Nice to meet you",
"Welcome aboard",
"Glad you're here",
"Hey"
]
greeting := greetings.choice()
putln(greeting + ", " + name, " π!")
}
putln("π Hey there! What's your name?")
greet(readln())
class Sandwich {
fun init(self, cheese, tomatoes) {
self.cheese := cheese
self.tomatoes := tomatoes
}
fun cook(self) {
putln(
"Sandwich is ready with "
+ str_of(self.cheese) + " cheese, "
+ str_of(self.tomatoes) + " tomatoes."
)
}
}
sandwich := Sandwich(3, 2)
sandwich.cook()
-
oslibrary -
fslibrary -
timelibrary - update
mathlibrary - implement
randominmathlibrary - implement
choicefor list -
stringslibrary -
fmtlibrary -
convertlibrary -
reflectlibrary -
envlibrary (byAntares64) -
memlibrary -
unsafelibrary -
signallibrary -
ziplibrary -
colorlibrary -
ffilibrary -
net/httplibrary -
net/tcplibrary -
net/udplibrary -
net/socketlibrary -
uuidlibrary -
cryptolibrary -
syslibrary -
processlibrary -
iterlibrary - use
lassofor string interning - rework anonymous functions syntax
- implement
shufflefor list -
okanderrorbuiltins -
todobuiltin -
loopkeyword -
assertkeyword - error propagation
?operator - implement anonymous functions
- extend for loop to iterate over items of list
- implement dictionaries
- write specification for standard library
- start writing documentation
- basic jit