• Stars
    star
    163
  • Rank 231,141 (Top 5 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 13 years ago
  • Updated over 12 years ago

Reviews

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

Repository Details

The first *native* implementation of CoffeeScript on the Rubinius VM.
1. What is Poetics?

A native implementation of CoffeeScript [1] that runs on the Rubinius VM [2].

  Q. Whence comes the name Poetics?

  A. Poetics is a partial anagram of the word CoffeeScript. It is also a nod
     to Jeremy Ashkenas, the author of CoffeeScript, and his interest in code
     as literature.

  Q. Why a native implementation?

  A. CoffeeScript is an interesting language in its own right. Rather than
     merely being a syntax layer on top of Javascript, and bound to expressing
     its semantics in those of Javascript, it deserves its own implementation.
     Many of the reasons to use CoffeeScript in Node.js would also apply to
     using this native implementation.


2. License

Poetics is MIT licensed. See the LICENSE file.


3. Installation

First, install Rubinius:

  1. Using RVM (http://rvm.beginrescueend.com).

    rvm install rbx

  2. Or directly (http://rubini.us/doc/en/what-is-rubinius/).

Second, install Poetics:

    rbx -S gem install poetics


4. Running Poetics

Poetics provides a REPL for exploratory programming or runs CoffeeScript
scripts.

    rbx -S poetics -h

The REPL presently just parses code and returns an S-Expression
representation:

    $ rbx -S poetics
    > 42
    [:number, 42.0, 1, 1]
    > "hello, y'all"
    [:string, "hello, y'all", 1, 1]
    >

To exit the REPL hit CTRL + d.


5. Getting Help

Poetics is a work in progress. If you encounter trouble, please file an issue
at https://github.com/brixen/poetics/issues


6. Contributing

If you find Poetics interesting and would like to help out, fork the project
on Github and submit a pull request.


7. People

Poetics was created by Brian Ford (brixen) to force him to really learn
Javascript and CoffeeScript.

<add your name here>


8. Credits

Jeremy has created an very interesting language in CoffeeScript. This
implementation steals bits and pieces from other projects:

* Rubinius (https://github.com/rubinius/rubinius/)
* KPeg (https://github.com/evanphx/kpeg/)
* Atomy (https://github.com/vito/atomy/)
* Poison (https://github.com/brixen/poison/)
* Talon (https://github.com/evanphx/talon/)


[1] CoffeeScript (http://jashkenas.github.com/coffee-script/)
[2] Rubinius (http://rubini.us)

More Repositories

1

poison

An interpretation of Potion on the Rubinius language platform.
Ruby
37
star
2

redcard

Check your Ruby's credentials
Ruby
36
star
3

pegarus

Implementation of LPEG on Rubinius
Ruby
27
star
4

swifter

https://developer.apple.com/swift/ on Rubinius (at least the good parts, anyway).
13
star
5

syme

An implementation of Newspeak on the Rubinius VM.
C
12
star
6

Epigram

Mirror of Epigram darcs repository (darcs-fastconvert export of http://www.e-pig.org/darcs/Pig09 | git fast-import)
Haskell
9
star
7

rash

You don't want to know.
8
star
8

mkruby

A tool for building a Ruby implementation.
7
star
9

joy-of-atomy

Joy of Clojure examples and exercises written in Atomy (http://atomy-lang.org)
7
star
10

charm

Rubinius helping Ruby swallow Java, one bytecode at a time.
Ruby
6
star
11

labrador

6
star
12

tofu

Implementation of ECMAScript on the Rubinius VM.
5
star
13

archer

A programming language using only Unicode arrows.
4
star
14

clojure

CloXure is Clojure running on the Rubinius VM
3
star
15

taskflow

Task automation description and execution.
Ruby
3
star
16

govm

Experimental Go virtual machine illustrating the new Rubinius instruction set and interpreter
Go
3
star
17

presentations

Various talks and presentations
Ruby
3
star
18

winpthreads

svn2git import of https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/experimental/winpthreads
C
3
star
19

brixen.io

A collection of stuff.
3
star
20

rift

Ruby Information Flow Tool based on the idea of Cift presented at a Galois tech talk.
1
star
21

pandemics

Resources and actions for ending pandemics
1
star
22

eyesore-theme

A Limechat theme
1
star
23

ruby_sampling_profiler

Randomized Sampling Profiler for Ruby
1
star