Gloo

About This Project

gloo is a personal passion project — a custom interpreted programming language built in Ruby that I've been designing and building over several years. It's under active, ongoing development, so expect the design (especially around GUI support) to keep evolving.

This is shared publicly for visibility, not as a maintained open-source project. I'm not actively seeking contributions right now, but feel free to open an issue if something's broken or you're curious about the design — just know response times may be slow.

Installation

The gloo gem is published on RubyGems and can be installed with:

gem install gloo

Usage

Run gloo:

gloo

See documentation below, or the in-app help for usage.

Documentation

Read in order for a guided tour of the language, top to bottom, or jump straight to any page — pages toward the bottom are reference material and read fine out of sequence.

  1. Getting Started — prerequisites, installation, hello world, history and concepts
  2. Application — running gloo, modes, configuration, logging, the in-app help shell
  3. Language, Objects — object naming, keywords, literals, value conversion
  4. Language, Syntax — color, errors, events, system objects, here/it, pathnames
  5. Language, Scripting — script files, constants, line continuation
  6. Objects — a tour of built-in object types (string, container, integer)
  7. Verbs — a tour of verbs (run, tell, put)
  8. Operators — math and comparison operators
  9. Iterators — each, repeat
  10. Plugins — core libraries and user extensions

License

This project is licensed under the MIT License — see LICENSE.txt for details.