Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

The first *native* implementation of CoffeeScript on the Rubinius VM.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
Octocat-spinner-32 poetics.gemspec
README
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)
Something went wrong with that request. Please try again.