C Ruby
Failed to load latest commit information.
bench Add benchmarks for regexp and array. Apr 10, 2009
lib Ensure exception are raised in compiler, parser and class definitions. Apr 21, 2009
vendor include sys/ucontext.h instead of ucontext.h. Otherwise wont compile … Jul 16, 2010
vm Small grammar fix for Comment from visionmedia Jun 5, 2009
README.rdoc Update Makefile and REAME for new bundled PCRE lib. Apr 10, 2009



A tiny subset of Ruby with a Lua'esc VM.

Everything in TinyRb should run in the big Ruby. (except bugs and things that don't comply to the principle of least surprise.) But not everything in the big Ruby should run in tinyrb.

This is a work in progress and not usable for “real things” yet. See TODO for a couple of those things that need to be done.

github.com/macournoyer/tinyrb #tinyrb on freenode


make test # optional
./tinyrb -h

What WON'T be in tinyrb (tiny patches accepted)

  • for

  • redo, retry

  • if … do, while … do, etc

  • alias keyword (see alias_method)

  • undef keyword (see undefine_method)

  • throw, catch

  • Alternate string delimiters (%q, %Q, etc.)

  • heredoc strings

  • Parallel assignment (a, b = 1, 2)

  • as . (Class::new)

  • Character code literal (?c)

  • protected, private, public (yes everything is public, mind you)

  • ObjectSpace

  • $SAFE (but Sandbox mode at the VM level)

  • … others to come for sure.


Inspired by:

kvec.h and khash.h © 2008, by Attractive Chaos <attractivechaos@aol.co.uk> GC Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers PCRE Copyright © 1997-2008 University of Cambridge released under BSD license

tinyrb is Copyright © Marc-Andre Cournoyer <macournoyer@gmail.com> and released under Ruby license