Goby Versions Save

Goby - Yet another programming language written in Go

v0.1.2

6 years ago
  • Upgrade to Go 1.9
  • Support splat arguments
  • Add dup and splat_array instructions
  • Restrict parameters define order: normal arg > optioned arg > splat arg (last)
  • Suspend using duplicated parameter name when defining methods - by @shuheiktgw
  • Refactor lexer to better support string escaping - by @Maxwell-Alexius
  • Fix REPL's display issue on Windows OS - by @mattn

v0.1.1

6 years ago

v0.1.0

6 years ago

Full features for version 0.1.0

Special Features

  • Plugin system
    • Allows to use Go libraries (packages) dynamically
    • Allows to call Go's methods from Goby directly (only on Linux for now)
  • Builtin multi-threaded server and DB library
  • REPL (run goby -i)

Normal Language Features

  • Everything is object
  • Object and Class
    • Top level main object
    • Constructor
    • Class/instance method
    • Class
      • Inheritance
      • Singleton class is now supported
    • self
  • Module
    • #include
    • #extend
    • :: for namespace
  • Variable: starts with lowercase letter like 'var`
    • Local variable
    • Instance variable
  • Constant
    • Starts with uppercase like Var or VAR
    • global if defined on top-level
    • not reentrant
    • (special variables with $ are unsupported)
  • Methods
    • Evaluation with arguments
    • Evaluation without arguments
    • Evaluation with block (closure)
    • Defining singleton method
  • Block
    • do - end
  • Flow control
    • if, else, elsif
    • while
  • IO
    • #puts
    • ARGV
  • Import files
    • require (Just for standard libraries by now)
    • require_relative
  • Thread (not a class!)
    • Goroutine-based thread method to create a new thread
    • Works with Channel class for passing objects between threads, like chan in Go
    • See this sample: One thousand threads

v0.1.0.rc2

6 years ago

v0.0.9

6 years ago
  • Added REPL
  • Largely refactored vm
  • Fixed some compiler bugs
  • Removed compile feature
  • Added Range class
  • Ported more API to built in types

v0.0.8

6 years ago
  • Add Net::SimpleServer as built in server
  • Support thread method to create new thread
  • Add Channel for passing objects between threads

v0.0.6

6 years ago

v0.0.5

6 years ago

Added some standard libraries like:

  • URI
  • Net::HTTP
  • Net::SimpleServer
  • File

Also improved VM's design and fixed some syntax issues.

v0.0.2

7 years ago

An update

v0.0.1

7 years ago

This is the first release of this language.