Goby is an object-oriented interpreter language deeply inspired by Ruby as well as its core implementation by 100% pure Go. Moreover, it has standard libraries to provide several features such as the Plugin system. Note that we do not intend to reproduce whole of the honorable works of Ruby syntax/implementation/libraries.
The expected use case for Goby would be backend development. With this goal, it equips (but not limited to) the following features:
Note: Goby had formerly been known as "Rooby", which was renamed in May 2017.
Click to see the demo below (powered by asciinema and GIPHY).
New! Check-out our sample app built with Goby. Source code is also available here.
A 3D visualization of Goby codebase, powered by GoCity
goby -i
)Here's a complete list of all the features.
Confirmed Goby runs on Mac OS and Linux for now. Try Goby on Windows and let us know the result.
Note: Please check the latest release before installing Goby via Homebrew
brew tap goby-lang/goby
brew install goby
In the case, $GOBY_ROOT
is automatically configured.
Try this if you'd like to contribute Goby! Skip 1 if you already have Golang in your environment.
$GOPATH
in your shell's config file( like .bashrc) is correct$GOPATH/bin
to $PATH
export GO111MODULE=on
to your shell profilego get github.com/goby-lang/goby
$GOBY_ROOT
manually, which should be:$GOPATH/src/github.com/goby-lang/goby
In order to install Go, Goby and PostgreSQL on a Linux system, see the wiki page.
goby -v
to see the version.goby -i
to launch igb REPL.require "uri"
in igb.FYI: You can just run brew test goby
to check Homebrew installation.
If you have any issue installing Goby, please let us know via GitHub issues
Goby has official docker image as well. You can try the Plugin System using docker.
The Goby syntax is currently a subset of the Ruby one, with an exception (get_block
), therefore, it's possible to attain syntax highlighting on any platform/editor by simply switching it to Ruby for the currently opened file.
Sublime Text 3 users can use the Only Goby
package, by typing the following in a terminal:
git clone git@github.com:saveriomiroddi/only-goby-for-sublime-text "$HOME/.config/sublime-text-3/Packages/only-goby-for-sublime-text"
this will automatically apply the Goby syntax highlighting to the .gb
files.
Vim users can use the vim-goby-syntax-highlighting
definition, by typing the following in a terminal:
mkdir -p "$HOME/.vim/syntax"
wget -O "$HOME/.vim/syntax/goby.vim" https://raw.githubusercontent.com/saveriomiroddi/vim-goby-syntax-highlighting/master/goby.vim
echo 'au BufNewFile,BufRead *.gb setf goby' >> "$HOME/.vim/filetype.vim"
this will automatically apply the Goby syntax highlighting to the .gb
files.
SpaceVim users can load the lang#goby
layer by adding following configuration:
[[layers]]
name = "lang#goby"
Goby
's simple server is very performant and can handle requests concurrently)More sample Goby codes can be found in sample directory.
See the guideline.
Supporting Goby by sending your first PR! See contribution guideline
The followings are the essential resources to create Goby; I highly recommend you to check them first if you'd be interested in building your own languages: