Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: bc963e6b4d
Fetching contributors…

Cannot retrieve contributors at this time

file 266 lines (264 sloc) 13.985 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266
v0.7.0 (May 05, 2012)
----------------------
  - ignore TAGS
  - Moved FANCY_VERSION to Fancy::VERSION and bumped it to 0.7.0
  - added Array#-
  - some refactoring to Fancy Package classes
  - updated fancy --help output (added list-packages option)
  - Implemented Fancy Package Uninstaller and refactored parts of Installer out into Package Handler class.
  - fixed method name in test
  - added Class#instance_methods: and Class#methods:
  - added support for installing/symlinking bin_files in package system
  - added Fakefile list of auto-mode-alist for fancy-mode
  - push NilLiteral in empty singleton method definition
  - Added link to new twitter profile in README
  - removed another .fy extension in lib/boot.fy
  - omit .fy ending in lib/boot.fy
  - added DynamicValueArray test
  - added DynamicKeyHash test
  - added tests for DynamicSlotObject
  - set slot reader/writers in DynamicSlotObject#object itself
  - added docstrings for DynamicKeyHash, DynamicSlotObject & DynamicValueArray
  - more cleanups in Enumerable
  - fixed docstring typo and default arg value for Enumerable#superior_by:taking:
  - renamed Enumerable#uniq => Enumerable#unique
  - added travis build status image to readme
  - added notifications back to .travis.yml
  - added -d option to fspec and also sort test files by name
  - moved random into Number mixin
  - remove rbx-2.0.0pre rvm option
  - small fix to .travis.yml
  - updated .travis.yml
  - fixed String class docstring
  - a bunch of Enumerable related refactorings, also added common to_s method and other improvements
  - added Enumerable#count:
  - added unless:then:else: alias for unless:do:else:
  - simplify example and testcase
  - Return superclass, if any, as well in Class#inspect
  - added File##read_config:
  - added ActorProxy class
  - print amount of files compiled for fancy -c option
  - added retry_with: parameter to Integer#times_try:retry_with:
  - simplified stupid quicksort example
  - updated copyright notice in README
  - Refactored Object#message_name: into Symbol#message_name and String#message_name.
  - Hash cleanup
  - Added Class#lazy_slot:value:
  - added File##eval:
  - Added File##read_binary:with: and File##read_binary:
  - Default to reading binary in File##open:
  - Added IO#read: alias
  - Fixed define_forward_method_missing call in compiler by adding missing pop instruction at the end
  - make some class methods public
  - fix set test: don't rely on ordering of values in set
  - fix typo
  - added Integer#times_try:
  - fixed bootstrap bug
  - added Module#[]: for setting constants within modules and classes
  - some cleanups to Enumerable class
  - added get_slot: and set_slot:value: in Hash
  - added Alias for Fixnum#^ (bitwise xor)
  - Use __send__() instead of send()
  - moved BasicObject into Fancy namespace
  - added Object#lambda:
  - Added lib/rbx/proc
  - Year update to LICENSE
  - cleanup Rakefile
  - allow single method names be passed to Class#delegate:to_slot:
  - Added FutureSend#when_failed:
  - small bugfix for Class#delegate:to_slot:
  - allow more flexible usage of whitespace in hash literals.
  - allow hash literals with trailing commas at the end, similar to tuples and arrays
  - Added Class#delegate:to_slot:
  - Added Class#class_eval: wrapper method.
  - Added Enumerable#map_with_index:
  - Always use stringliteral as docstring if its the first expression in an ExpressionList (method/class defs).
  - cleanup
  - added Object#with_mutable_slots:do:
  - don't exit programm within lib/fancy_spec but in bin/fspec instead, for better seperation of concerns.
  - Small fix to Tuple#from:to: to allow Tuples to be used in splat-assignments as well.
  - added Tuple#from:to:
  - typo fix in docstring
  - Added docstring to FutureSend class
  - true, false & nil only behave like message sends when explicitly expressed that way syntactically.
  - refactored Array#[]
  - Moved Array#first - #fourth to Enumerable
  - Improved Array#[] and String#[] and updates tests
  - properly end comment for fancy-mode.el
  - Merge remote-tracking branch 'origin/master'
  - Published fancy-mode.el on marmalade-repo.org.
  - typo fix in docstring
  - added Enumerable#map_chained:

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/features.md
  - 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 github.com:bakkdoor/fancy
  - check for eof? in Console#readln:
  - added Hash#at:else:
  - allow '. as symbol name
  - Merge branch 'master' of github.com:bakkdoor/fancy
  - 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:

v0.5.0 (Oct 05, 2011)
----------------------
  - Use ruby instead of rbx in fancy_lib/ scripts that are used when fancy is installed via rubygems.
  - Revert Converted ruby_lib/ scripts to shell scripts to make them run faster.
  - Merge branch 'better_docstrings'
  - Updated Changelog
  - Converted ruby_lib/ scripts to shell scripts to make them run faster.
  - Small fix to Block#while_true: docstring
  - prepare for v0.5.0
  - Use fast instructions for certain operations when compiling MessageSends. This speeds up things like Fixnum arithmetic.
  - Require rubygems and ruby dependencies in generated include file when installing a fancy package.
  - Small improvements to actors example
  - Merge branch 'master' of github.com:bakkdoor/fancy
  - Added FutureSend#failure and use correct mutex in FutureSend#failed:
  - added another dynamic scoping example using *stdout*
  - Removed weird goto shit
  - Fixed docstrings formatting so example code is formatted correctly on api.fancy-lang.org
  - Performance improvements for loops of up to 10x in certain cases by using dynamic_method() for the lower-level logic of while_true:. Still allow next/break to work, as expected by wrapping lower-level implementation in Block#while_true:. #speeed!
  - Added more methods and tests to Array and Tuple.
  - Added Symbol#arity for compatibility with Block api.
  - Small doctoring fix to Object#do:
  - Simplified Person example
  - Simplified actor ring example.
  - Added @return to doctoring for Object#do:
  - Small fix to boot/code_loader so bin/fdoc works again.
  - Removed obsolete Array#any?:
  - Return false in FancyEnumerable#any?:
  - Added Symbol#call in boot/fancy_ext/ to allow symbols being used as callables when passing them to ruby code.
  - Use alias for Ruby's Array#[]= in Array#[]: instead of Object#ruby:args:
  - Small changes to Array methods.
  - Added Class#ruby_aliases:
  - Small improvement to Array#inspect
  - small fix to fancy-mode.el for parsing symbols
  - small typo fix
  - updated README and doc/features (mentioning dynamic scoping)
  - Added boot/fancy_ext/bootstrap.rb which is needed during bootstrap process so *stdout* is defined and rake -v works.
  - Use short-cut conditional messages in Block methods.
  - Added missing FalseClass#if_nil:else:
  - Return self in Object#do:
  - Use String#include? in Object#message_name: to get rid of weird crash on rbx-2.0.0pre. Need to look into the actual cause of the crash later.
  - print duration of running tests when running fspecp
  - Small fix to FutureSend: Send future message to receiver's actor after setting up FutureSend object.
  - Don't auto-load FancySpec on startup. Load it explicitly in bin/fspec instead.
  - small fix to copying dynamic vars in Thread#new
  - Added support for preserving the values of dynamic vars when spawning a new thread based on the values in the current thread.
  - Small fixes to tests.
  - Added lib/vars.fy and load it in lib/boot.fy on startup. Also use *stdout* in Object#println.
  - Added support for dynamic variable bindings using let:be:in:. Uses * surrounding variable names to indicate dynamic variable, e.g. *stdin* or *dynamic_var*.
  - Added another Future test
  - ignore .rbx dir
  - Fixed concurrency issues with FutureSend class on rbx-2.0.0pre
  - Added ConditionVariable wrapper class.
  - Added Mutex wrapper class to lib/rbx/.
  - Sort values before comparing in Set test.
  - Array#println returns nil
  - More tests for Set
  - Added missing tests for Stack.
  - Use reverse_each: in Stack#each:
Something went wrong with that request. Please try again.