Fancy v0.6.0 released

Showing 1-1 of 1 messages
Fancy v0.6.0 released Christopher Bertels 1/26/12 9:33 AM
I've released Fancy v0.6.0 yesterday.
I've also uploaded the latest version as a Rubygem to

To install it run:
    $ rbx -S gem install fancy

Or if you use rvm:
    $ rvm use rbx
    $ gem install fancy

You can also always run it from source by cloning the git repo:
Just make sure to add Fancy's bin/ directory to your $PATH.

Besides some bug fixes this release also includes more and better documentation, more tests, a bunch of additions to the standard library and performance improvements.

Let me know if you have any issues with the installation or in general.
Below the list of changes from the Changelog.

- Christopher.



v0.6.0 (Jan 25, 2012)
  - More Docstrings
  - Added docstrings to FutureSend
  - Added docstring for File#expanded_path
  - Bumped version for next release so it won't be forgotten.
  - Pass args as explicit array to Block#call:
  - use partial blocks where appropriate
  - backported support for partial blocks to bootstrap compiler
  - small naming fixes
  - uncomment assertion
  - Fix typo in KVO docstring
  - Added KVO Mixin - Objective-C style Key-Value Observing
  - Removed explicit typecheck in Array#remove_at:. It's bad..
  - added Enumerable#to_hash:
  - Fixed bug in FancyEnumerable#find:
  - fixed Hash testcase to not rely on order of values in Array returned by Object#slots
  - some fixes to Object docstrings
  - fix bootstrap failing error. dammit.
  - added fancy syntax highlighting to doc/
  - fixed Set#[]
  - small positional fix
  - fixed FutureSend#when_done: and also added FutureSend#with_value: as an alias for #when_done:
  - Don't crash the vm when dealing with a parse/lex error. Closes #66
  - cleanup
  - added File##write:with: and File##read:with:
  - Added Fancy code highlighting to README file
  - Quit ifancy when entering 'quit' or 'exit'. Closes #67
  - added System##abort
  - added Fancy MessageSink class.
  - added auto-load for files with fancy shebang line
  - added support for Module#included: hook.
  - added Hash#to_object
  - renamed Block#object to Block#to_object for consistency reasons
  - Moved installation logic for ruby dependencies in .fancypack files into RubyDependency class. And make sure to also install Ruby dependencies when running fancy install --deps
  - Allow return as message selector and transform it at compile time into raise_returning it. This means that the following 2 lines of code are identical: (1,2,3) each: |x| { x println; return x } # and the new version: (1,2,3) each: |x| { x println; x return } # or short, using partial blocks: (1,2,3) each: @{ println; return }
  - moves FancyEnumerable and FancyEnumerator into Fancy namespace instead of prefixing their names
  - added Object#tap:
  - fixed typo in Module#[] and added tests for it
  - added some methods to Module
  - added Array#to_hash
  - added Object#copy_slots_from:
  - added Block#to_hash_deep
  - added Hash#fetch:else:
  - added String#relative_path:
  - Added Set#[]
  - Added Tuple##with_values:
  - Moved Array#each_with_index: into FancyEnumerable.
  - added System##abort:
  - added alias for Method#executable
  - docstring fixes to String class
  - added docstrings for aliased String methods
  - reformatted docstring
  - String#uppercase & String#lowercase
  - added Symbol#to_sym
  - cleanup
  - added more aliases to Date
  - Added Number#upto:in_steps_of:do: and Number#downto:in_steps_of:do:. Also moved Number specific tests into tests/number.fy
  - added ruby alias for Array#flatten
  - fixed docstring formatting for FDoc class and handle @{ partial block syntax correctly
  - Reraise any exceptions thrown within a let binding's block.
  - added another testcase for Block#to_a
  - Return self for easy chaining
  - Added Block#to_a for dynamically creating Arrays from Blocks, similar to Block#object and Block#to_hash
  - Small fix to web server example and some Socket class changes.
  - File improvements.
  - Merge branch 'master' of
  - check for eof? in Console#readln:
  - added Hash#at:else:
  - allow '. as symbol name
  - Merge branch 'master' of
  - Added Number#cubed.
  - added mission lib/stringio.fy file
  - always call blocks with html object
  - changed partial blocks to send any messages in the block that don't have an explicit receiver to the first argument. this is nice for dsls while not changing the value of self unexpectedly
  - added Enumerable#skip: as alias for Enumerable#drop:
  - added Block#[] as alias for Block#call:
  - small improvements to HTML class
  - added html generator library
  - added lib/parser/ext/.rbx/ to .gitignore
  - Remove travis ci build status image since travis fails to run my tests correctly at the moment, even though they are passing.
  - improved performance for Block#object and Block#to_hash
  - use set to prevent failure in case the slots aren't returned in the exact same order
  - fix bootstrap failure
  - Let Object#slots return an Array instead of a Set.
  - A bunch of optimizations for string interpolations and stuff.
  - small improvement to Block#to_hash
  - Some improvements to DynamicSlotObject and added Block#to_hash
  - Added support for installing dependencies from a .fancypack file. Looks in the current directory. Run via: $ fancy install --deps
  - added Block#object
  - added TCPSocket#read:
  - Added support for creating Arrays with a predefined size and a block to call for each element in that Array. Also added some more TCPSocket method wrappers.
  - fix test
  - explicitly wait for future completion
  - Fix string interpolation for multi-line strings. Also added Regexp#m and Regexp#x methods.
  - Get rid of old test
  - Moved Method class doctstring.
  - More docstrings to methods and classes in lib/rbx/ dir.
  - fixed docstring for Fancy::Package::Uninstaller
  - added docstring for Array#unshift:
  - removed old spec file
  - added String#substitute:with:
  - Small fixes to html generator example
  - Added Fixnum#random
  - Small test with travis config.
  - Added unary ruby methods to File class, ARGV#main?: and some more.
  - small fix to highlighting of message selectors in fancy-mode.el
  - added << and >> ruby aliases for Bignum and Fixnum classes (for left and right shifting)
  - removed duplicate select: method from Array (already in FancyEnumerable)
  - Updated AUTHORS file
  - Catch errors when passing weird characters to RbReadline.
  - Added tab-completion to infancy. Use RbReadline explicitly over c-readline as we need support for Readline#line_buffer which only RbReadline provides. Try to eval the current receiver when auto-completing method names, if possible.
  - Correctly highlight dynamic variables.
  - bumped version in lib/version.fy - oops...
  - added Object#with_output_to:do: