New Rubygem released

Showing 1-1 of 1 messages
New Rubygem released Christopher Bertels 3/8/11 11:52 PM
Hi everyone,

I pushed a new Rubygem today, see:
You can install it via: $ rbx -S gem install fancy

This isn't a full official release but more of a snapshot release that's easily installable.
Mostly to get some feedback, if people are interested.

New features that are in that gem:

- Support for calling out to Fancy from within Ruby:
  The syntax isn't optimal. Ideally I'd want to use Ruby Hashes for emulating the keyword messages, but 
  Hashes aren't ordered in Ruby 1.8 (which Rubinius is compatible with at the moment). Once Rubinius has
  full Ruby 1.9 support, we can even move to the new Hash syntax. Also, Ruby 1.9 Hashes are ordered.

- Futures:
  Send 'message' to obj asynchronously and return a Future object:
      f = obj @ message 
  To retrieve the value of the future, send it the 'value' message:
      f value
  This will block the current Thread, if the async message hasn't finished computing.

- Pure async message sends:
      obj @@ message
  This simply returns nil immediately and schedules the message send to be processed asynchronously.
  This is also the case for Futures, which get currently scheduled in a thread pool.

- Lots of documentation additions to the standard library

- Bugfixes to the pygments lexer (for syntax highlighting)

- A new page of all the standard library source files syntax highlighted (as GitHub doesn't have support for that yet).

- Support for string interpolation with format-strings: "foo-%s-%s" % ("bar, "baz")   # => "foo-bar-baz"

- Added support for Fibers, including some bugfixes to Rubinius itself (mostly JIT related) to make those work in Fancy

- Threadpool & Fiberpool classes

- And much more I probably forgot.

I'm preparing things for the next major release. Mostly documentation and fixing bugs I come across.
I'm also planning on writing up some of the development details in a blog post soon.

If you're willing to try out the latest version, I'd like to hear some feedback. 
Also let me know if you're having any issues with installation etc.