Skip to content

geko-rs/geko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

264 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

image

🦎 Geko

... is a friendly, lightweight programming language for math and games

πŸ’‘ Status

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.

🏠 Quick Start

putln("Hello, world!");

✨ Examples

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()

πŸ”¦ ToDo

  • os library
  • fs library
  • time library
  • update math library
  • implement random in math library
  • implement choice for list
  • strings library
  • fmt library
  • convert library
  • reflect library
  • env library (by Antares64)
  • mem library
  • unsafe library
  • signal library
  • zip library
  • color library
  • ffi library
  • net/http library
  • net/tcp library
  • net/udp library
  • net/socket library
  • uuid library
  • crypto library
  • sys library
  • process library
  • iter library
  • use lasso for string interning
  • rework anonymous functions syntax
  • implement shuffle for list
  • ok and error builtins
  • todo builtin
  • loop keyword
  • assert keyword
  • 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

About

🦎 A friendly, lightweight programming language for math and games

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors