• Stars
    star
    459
  • Rank 92,201 (Top 2 %)
  • Language
    C
  • Created almost 16 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tiny subset of Ruby with a Lua'esc VM

tinyrb

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

Install

make
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.

Credits

Inspired by:

kvec.h and khash.h © 2008, by Attractive Chaos <[email protected]> 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 <[email protected]> and released under Ruby license

More Repositories

1

thin

A very fast & simple Ruby web server
Ruby
2,235
star
2

neuralconvo

Neural conversational model in Torch
Lua
780
star
3

pusher

The Rack App that pushes (aka Rack::Comet)
Ruby
172
star
4

min

The Min language
Java
102
star
5

tube

The internet is a series of tubes. This is one of them.
Ruby
78
star
6

rbv8

A Ruby VM running on Google V8 super VM.
C++
65
star
7

tinyjs

A subset of JavaScript implemented in JavaScript
JavaScript
59
star
8

orange

Yummy & juicy compiler
Ruby
56
star
9

invisible

The invisible framework
CSS
51
star
10

thin-turbo

New and ultra-turbo-crazy-fast backend for Thin
C
47
star
11

thin_async

A nice wrapper to send response body asynchronously with Thin
Ruby
39
star
12

utterance_parser

Extract intent and entities from natural language utterances
Ruby
36
star
13

ruby_http_parser

Ruby bindings to Ryan Dahl's http-parser
C
34
star
14

talker.rb

A real-time Talker Ruby client.
Ruby
26
star
15

fast_output_buffer

A faster output buffer for ActionView.
C
23
star
16

nn.rb

A toy Neural Network in Ruby
Ruby
22
star
17

mysql_s3_backup

A simple backup script for Mysql and S3 with incremental backups.
Ruby
21
star
18

nanodb

an ultra tiny db
16
star
19

rack-sandbox

Run multiple framework / rack app / wathever inside the same VM
Ruby
15
star
20

scout

The campfire bot we use at Standout Jobs
Ruby
10
star
21

llvmruby

LLVM bindings for Ruby
Ruby
8
star
22

confoo

My Confoo.ca presentation: How to kick assess with asynchronous processing
Ruby
6
star
23

sc

If static site generators were vegies, this one would be a pickle.
Ruby
6
star
24

node-syscalls

Node wrapper to some UNIX syscalls. Used during http://truthabouteventloops.com/.
C++
5
star
25

peg

fork of peg/leg
C
5
star
26

mtlrb-jan12

Montreal.rb January 2012 presentation on creating an homoiconic programming language in < 150 LOC.
Ruby
4
star
27

node-cusec

node.js CUSEC 2010 presentation stuff
JavaScript
4
star
28

Ruby-Supreme.tmbundle

A TextMate bundle I use w/ my Ruby stuff. Full of magic.
4
star
29

macournoyer.github.com

ze github pages of mine
3
star
30

mor7

My Montreal on Rails 7 presentation of Thin
Ruby
3
star
31

meshu

MeshU presentation
Ruby
3
star
32

sequencer

Online sequencer
JavaScript
3
star
33

waq

"How a Web server works" presentation for Web à Québec (in french)
Ruby
2
star
34

gh-contest

Ruby
2
star
35

iolounge

My personal casual comforting place to play w/ Io
2
star