Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 431 lines (426 sloc) 21.301 kB
9354734 @bakkdoor Release v0.8.0
authored
1 v0.8.0 (Aug 29, 2012)
2 ----------------------
3 - Cleanup method definition bytecode generation.
4 - relocating some bootstrap code
5 - ignore Exceptions raised in ensure_block in Object#let:be:in:ensuring:
6 - rename Object#dclone -> Object#dup for consistency with other classes implementing dup
7 - fix Hash#to_hash_deep and add tests
8 - add Hash#to_hash_deep
9 - add optional ensure_block parameter to Object#let:be:in:
10 - add File##append:with:
11 - add NilClass#to_hash
12 - add Object#_
13 - add support for passing blocks to Class#private:, Class#protected: & Class#public:
14 - fix formatting in lib/fdoc.fy
15 - fix docstrings for Fancy::Package::Installer
16 - simplify Fancy::Package::Installer#latest_tag
17 - remove ::
18 - Pass correct arguments to Fancy::Package##install:version: when installing package dependencies.
19 - fix errors with package installation when no git tags are available for versions.
20 - add support for toplevel constants via ::ConstName
21 - use to_sym instead of to_sym()
22 - Fix docstring indentation
23 - Moved proxy classes into Proxies namespace.
24 - Add DistributingProxy
25 - Add Regexp#call:
26 - Add instance_variable_get / instance_variable_set to ruby_aliases in Object
27 - Use __send__ in boot/fancy_ext/class.rb
28 - add StandardError##raise:
29 - cleanup examples/ dir
30 - delete symlinks to bin-files when uninstalling a package
31 - use alias_method:for_ruby: in Regexp
32 - rafactoring, add Class#remove_slot_accessors_for:
33 - add newline
34 - check if documentation available before calculating CompiledMethod#definition_line
35 - add link to dev blog
36 - Fix referenced method names.
37 - Print out invalid method names referenced by test cases in spec. Also print all errors to *stderr*.
38 - Add String#to_fancy_message & Symbol#to_fancy_message
39 - Add Class#has_method?:
40 - Add Class#rebind_instance_method:with:within:receiver: and Object#rebind_method:with:within:
41 - Add ruby alias for UnboundMethod#bind:
42 - Allow non-Block arguments to Class#define_method:with:
43 - Add docstrings to StringIO
44 - cleanup code with empty methods
45 - require lib/stringio in tests/stringio.fy
46 - simplify Stack#pop
47 - add String#main? & String#if_main:else:
48 - add System##aborting:do:
49 - use OptionParser in bin/fspec
50 - fix typo
51 - small cleanup
52 - Use new Binding#constant_scope (was renamed from static_scope a while ago in Rubinius).
53 - make sure dynvars always start & end with '*'
54 - use receiver methods instead of its class' instance methods in ifancy
55 - fix docstring for Hash#call:
56 - Add Hash#call: and Hash#to_block
57 - Make Specification#package_name a writable slot
58 - rename remaining Fancy::Packge::Specification#rubygem_dependencies sends
59 - rename rubygem_dependencies -> ruby_dependencies in Fancy::Package::Specification
60 - small cleanup
61 - fix Integer#times_try:retry_with:
62 - make sure finally block gets run even when raising an exception within a catch block
63 - some cleanup to try/catch/finally blocks in Object
64 - Catch StandardError instead of Object when no exception class defined for catch block
65 - add testcase to tests/exception.fy
66 - cleanup in CodeLoader
67 - just use call_on_instance in Block#call_with_receiver:
68 - some fixes to try/catch/finally bytecode generation
69 - Cleanup lib/parser/methods.fy
70 - Add String#to_i:
71 - Support Block arguments passed to Array#index:
72 - Code cleanup in compiler code
73 - Add docstring for File##read_binary:
74 - Fix whitespace.
75 - fix FancySpec docstrings and make sure to generate documentation for FancySpec in fdoc
76 - fix FalseClass docstrings
77 - add docstring to Fancy##eval:binding:file:line:
78 - Improve / Add docstrings
79 - cleanup old code
80 - Add example for -github-repo option in fdoc
81 - fix spacing
82 - Add Object#ignoring:do:
83 - Add Matchers module with MatchAny and MatchAll matchers.
84 - Add Class#expose_to_ruby:as:
85 - Add doctoring to Class#class_eval:
86 - Add Fancy::Enumerable#join_by:
87 - Add Fancy::Enumerable#rest
88 - Simplify Array#each:
89 - Handle Fancy::NextIteration in Tuple#each:
90 - Add support to fdoc for custom github-links via -github-repo option.
91 - Add github octocat icon to doc/api/ and always show it on fdoc generated page.
92 - Rewrote bin/fdoc as a simple fancy script and put all logic in lib/fdoc.fy.
93 - Fix issue in CompiledMethod#definition_line
94 - Fix docstring for Fancy::Package::Installer
95 - Fix Package installer to use new Github API (v3). Fixes #68
96 - Use File#delete!: in Package uninstaller
97 - Add File#delete!:
98 - Fix docstring for Directory#list:
99 - remove unnecessary parens
100 - Small doctstring tweak for Block#*
101 - FDoc: Allow multiple code blocks in docstrings.
102 - Add Block#*
103 - Fix Array##new:with: docstring
104 - FDoc: align argument descriptions in generated html nicely
105 - Improve Array method docstrings
106 - fix Symbol docstrings
107 - fix typo in docstring
108 - Fix FDoc html generation for code examples.
109 - Fix doctstrings for Integer methods
110 - Fix StringInterpolation with __FILE__
111 - Improve FDoc documentation generator tool.
112 - Add File##absolute_path: (alias for File##expand_path:)
113 - Improve __FILE__ special string compilation
114 - add Hash#reject_keys:
115 - Add remove_after_parsed option to OptionParser.
116 - Sort by option name when printing --help info in OptionParser
117 - add String#multiline?
118 - fix CompiledMethod#definition_line for non-multiline docstrings
119 - Add CompiledMethod#definition_line & CompiledMethod#last_line and use that in fdoc
120 - Fix UnboundMethod#selector_with_args for [] and []: methods.
121 - Fix Class#class_eval: for String arguments
122 - Add before/after/around methods & blocks to classes.
123 - add UnboundMethod#call: and Method#call:
124 - only print banner in OptionParser if any given
125 - add OptionParser class
126 - Add Enumerable#grep: & Enumerable#grep:taking:
127 - add Integer#decimals
128 - Small cleanups in lib/rbx/debugger
129 - Add initial version of debugger support
130 - Allow 1-arg blocks passed to Object#do:
131 - moved Class#ruby_methods and Class#fancy_methods into Object
132 - fix docstring for Class#new & Class#new:
133 - add alias Class#expects_interface:
134 - rename contracts error class
135 - Add contracts / runtime enforceable interface definitions.
136 - add assertion to String#[] test
137 - use each_with_index: in Fancy::Enumerable#at:
138 - fix require in package uninstaller
139 - fix error location output in FancySpec
140 - Make Directory class an alias for Ruby's Dir class.
141 - close opened source files
142 - catch StandardError instead of Exception
143 - simplify handling of string interpolation in parser
144 - forward unary methods in MatchData and Regexp#match:
145 - add Hash#random, Hash#random_key & Hash#random_value
146 - fix typo in Fancy::Enumerable#take: docstring
147 - Add Fancy::Enumerable#first: and Fancy::Enumerable#last:
148 - Add Fancy::Enumerable#split_with: and Fancy::Enumerable#split_at:
149 - Merge branch 'master' of github.com:bakkdoor/fancy
150 - use includes?:
151 - use includes?:
152 - fix spacing
153 - Add Fancy::Enumerable#sorted?
154 - Add ruby_alias for '<=, '>=, '<=> on String.
155 - fix docstring for Hash#select_keys:
156 - Add more Class methods
157 - Add Hash#select_keys:
158 - update README
159 - fix code indentation in README
160 - Clean up README
161 - some fdoc & docstring fixes
162 - fix Enumerable#in_groups_of: when passed size <= 0
163
d5a3f41 @bakkdoor Release 0.7.0
authored
164 v0.7.0 (May 05, 2012)
165 ----------------------
166 - ignore TAGS
167 - Moved FANCY_VERSION to Fancy::VERSION and bumped it to 0.7.0
168 - added Array#-
169 - some refactoring to Fancy Package classes
170 - updated fancy --help output (added list-packages option)
171 - Implemented Fancy Package Uninstaller and refactored parts of Installer out into Package Handler class.
172 - fixed method name in test
173 - added Class#instance_methods: and Class#methods:
174 - added support for installing/symlinking bin_files in package system
175 - added Fakefile list of auto-mode-alist for fancy-mode
176 - push NilLiteral in empty singleton method definition
177 - Added link to new twitter profile in README
178 - removed another .fy extension in lib/boot.fy
179 - omit .fy ending in lib/boot.fy
180 - added DynamicValueArray test
181 - added DynamicKeyHash test
182 - added tests for DynamicSlotObject
183 - set slot reader/writers in DynamicSlotObject#object itself
184 - added docstrings for DynamicKeyHash, DynamicSlotObject & DynamicValueArray
185 - more cleanups in Enumerable
186 - fixed docstring typo and default arg value for Enumerable#superior_by:taking:
187 - renamed Enumerable#uniq => Enumerable#unique
188 - added travis build status image to readme
189 - added notifications back to .travis.yml
190 - added -d option to fspec and also sort test files by name
191 - moved random into Number mixin
192 - remove rbx-2.0.0pre rvm option
193 - small fix to .travis.yml
194 - updated .travis.yml
195 - fixed String class docstring
196 - a bunch of Enumerable related refactorings, also added common to_s method and other improvements
197 - added Enumerable#count:
198 - added unless:then:else: alias for unless:do:else:
199 - simplify example and testcase
200 - Return superclass, if any, as well in Class#inspect
201 - added File##read_config:
202 - added ActorProxy class
203 - print amount of files compiled for fancy -c option
204 - added retry_with: parameter to Integer#times_try:retry_with:
205 - simplified stupid quicksort example
206 - updated copyright notice in README
207 - Refactored Object#message_name: into Symbol#message_name and String#message_name.
208 - Hash cleanup
209 - Added Class#lazy_slot:value:
210 - added File##eval:
211 - Added File##read_binary:with: and File##read_binary:
212 - Default to reading binary in File##open:
213 - Added IO#read: alias
214 - Fixed define_forward_method_missing call in compiler by adding missing pop instruction at the end
215 - make some class methods public
216 - fix set test: don't rely on ordering of values in set
217 - fix typo
218 - added Integer#times_try:
219 - fixed bootstrap bug
220 - added Module#[]: for setting constants within modules and classes
221 - some cleanups to Enumerable class
222 - added get_slot: and set_slot:value: in Hash
223 - added Alias for Fixnum#^ (bitwise xor)
224 - Use __send__() instead of send()
225 - moved BasicObject into Fancy namespace
226 - added Object#lambda:
227 - Added lib/rbx/proc
228 - Year update to LICENSE
229 - cleanup Rakefile
230 - allow single method names be passed to Class#delegate:to_slot:
231 - Added FutureSend#when_failed:
232 - small bugfix for Class#delegate:to_slot:
233 - allow more flexible usage of whitespace in hash literals.
234 - allow hash literals with trailing commas at the end, similar to tuples and arrays
235 - Added Class#delegate:to_slot:
236 - Added Class#class_eval: wrapper method.
237 - Added Enumerable#map_with_index:
238 - Always use stringliteral as docstring if its the first expression in an ExpressionList (method/class defs).
239 - cleanup
240 - added Object#with_mutable_slots:do:
241 - don't exit programm within lib/fancy_spec but in bin/fspec instead, for better seperation of concerns.
242 - Small fix to Tuple#from:to: to allow Tuples to be used in splat-assignments as well.
243 - added Tuple#from:to:
244 - typo fix in docstring
245 - Added docstring to FutureSend class
246 - true, false & nil only behave like message sends when explicitly expressed that way syntactically.
247 - refactored Array#[]
248 - Moved Array#first - #fourth to Enumerable
249 - Improved Array#[] and String#[] and updates tests
250 - properly end comment for fancy-mode.el
251 - Merge remote-tracking branch 'origin/master'
252 - Published fancy-mode.el on marmalade-repo.org.
253 - typo fix in docstring
254 - added Enumerable#map_chained:
255
c702c06 @bakkdoor Release v0.6.0
authored
256 v0.6.0 (Jan 25, 2012)
257 ----------------------
258 - More Docstrings
259 - Added docstrings to FutureSend
260 - Added docstring for File#expanded_path
261 - Bumped version for next release so it won't be forgotten.
262 - Pass args as explicit array to Block#call:
263 - use partial blocks where appropriate
264 - backported support for partial blocks to bootstrap compiler
265 - small naming fixes
266 - uncomment assertion
267 - Fix typo in KVO docstring
268 - Added KVO Mixin - Objective-C style Key-Value Observing
269 - Removed explicit typecheck in Array#remove_at:. It's bad..
270 - added Enumerable#to_hash:
271 - Fixed bug in FancyEnumerable#find:
272 - fixed Hash testcase to not rely on order of values in Array returned by Object#slots
273 - some fixes to Object docstrings
274 - fix bootstrap failing error. dammit.
275 - added fancy syntax highlighting to doc/features.md
276 - fixed Set#[]
277 - small positional fix
278 - fixed FutureSend#when_done: and also added FutureSend#with_value: as an alias for #when_done:
279 - Don't crash the vm when dealing with a parse/lex error. Closes #66
280 - cleanup
281 - added File##write:with: and File##read:with:
282 - Added Fancy code highlighting to README file
283 - Quit ifancy when entering 'quit' or 'exit'. Closes #67
284 - added System##abort
285 - added Fancy MessageSink class.
286 - added auto-load for files with fancy shebang line
287 - added support for Module#included: hook.
288 - added Hash#to_object
289 - renamed Block#object to Block#to_object for consistency reasons
290 - 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
291 - 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 }
292 - moves FancyEnumerable and FancyEnumerator into Fancy namespace instead of prefixing their names
293 - added Object#tap:
294 - fixed typo in Module#[] and added tests for it
295 - added some methods to Module
296 - added Array#to_hash
297 - added Object#copy_slots_from:
298 - added Block#to_hash_deep
299 - added Hash#fetch:else:
300 - added String#relative_path:
301 - Added Set#[]
302 - Added Tuple##with_values:
303 - Moved Array#each_with_index: into FancyEnumerable.
304 - added System##abort:
305 - added alias for Method#executable
306 - docstring fixes to String class
307 - added docstrings for aliased String methods
308 - reformatted docstring
309 - String#uppercase & String#lowercase
310 - added Symbol#to_sym
311 - cleanup
312 - added more aliases to Date
313 - Added Number#upto:in_steps_of:do: and Number#downto:in_steps_of:do:. Also moved Number specific tests into tests/number.fy
314 - added ruby alias for Array#flatten
315 - fixed docstring formatting for FDoc class and handle @{ partial block syntax correctly
316 - Reraise any exceptions thrown within a let binding's block.
317 - added another testcase for Block#to_a
318 - Return self for easy chaining
319 - Added Block#to_a for dynamically creating Arrays from Blocks, similar to Block#object and Block#to_hash
320 - Small fix to web server example and some Socket class changes.
321 - File improvements.
322 - Merge branch 'master' of github.com:bakkdoor/fancy
323 - check for eof? in Console#readln:
324 - added Hash#at:else:
325 - allow '. as symbol name
326 - Merge branch 'master' of github.com:bakkdoor/fancy
327 - Added Number#cubed.
328 - added mission lib/stringio.fy file
329 - always call blocks with html object
330 - 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
331 - added Enumerable#skip: as alias for Enumerable#drop:
332 - added Block#[] as alias for Block#call:
333 - small improvements to HTML class
334 - added html generator library
335 - added lib/parser/ext/.rbx/ to .gitignore
336 - Remove travis ci build status image since travis fails to run my tests correctly at the moment, even though they are passing.
337 - improved performance for Block#object and Block#to_hash
338 - use set to prevent failure in case the slots aren't returned in the exact same order
339 - fix bootstrap failure
340 - Let Object#slots return an Array instead of a Set.
341 - A bunch of optimizations for string interpolations and stuff.
342 - small improvement to Block#to_hash
343 - Some improvements to DynamicSlotObject and added Block#to_hash
344 - Added support for installing dependencies from a .fancypack file. Looks in the current directory. Run via: $ fancy install --deps
345 - added Block#object
346 - added TCPSocket#read:
347 - 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.
348 - fix test
349 - explicitly wait for future completion
350 - Fix string interpolation for multi-line strings. Also added Regexp#m and Regexp#x methods.
351 - Get rid of old test
352 - Moved Method class doctstring.
353 - More docstrings to methods and classes in lib/rbx/ dir.
354 - fixed docstring for Fancy::Package::Uninstaller
355 - added docstring for Array#unshift:
356 - removed old spec file
357 - added String#substitute:with:
358 - Small fixes to html generator example
359 - Added Fixnum#random
360 - Small test with travis config.
361 - Added unary ruby methods to File class, ARGV#main?: and some more.
362 - small fix to highlighting of message selectors in fancy-mode.el
363 - added << and >> ruby aliases for Bignum and Fixnum classes (for left and right shifting)
364 - removed duplicate select: method from Array (already in FancyEnumerable)
365 - Updated AUTHORS file
366 - Catch errors when passing weird characters to RbReadline.
367 - 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.
368 - Correctly highlight dynamic variables.
369 - bumped version in lib/version.fy - oops...
370 - added Object#with_output_to:do:
371
8f99781 @bakkdoor Updated Changelog
authored
372 v0.5.0 (Oct 05, 2011)
373 ----------------------
d925010 @bakkdoor v0.5.0 - Updated Changelog.
authored
374 - Use ruby instead of rbx in fancy_lib/ scripts that are used when fancy is installed via rubygems.
375 - Revert Converted ruby_lib/ scripts to shell scripts to make them run faster.
376 - Merge branch 'better_docstrings'
377 - Updated Changelog
8f99781 @bakkdoor Updated Changelog
authored
378 - Converted ruby_lib/ scripts to shell scripts to make them run faster.
379 - Small fix to Block#while_true: docstring
380 - prepare for v0.5.0
381 - Use fast instructions for certain operations when compiling MessageSends. This speeds up things like Fixnum arithmetic.
382 - Require rubygems and ruby dependencies in generated include file when installing a fancy package.
383 - Small improvements to actors example
384 - Merge branch 'master' of github.com:bakkdoor/fancy
385 - Added FutureSend#failure and use correct mutex in FutureSend#failed:
386 - added another dynamic scoping example using *stdout*
387 - Removed weird goto shit
d925010 @bakkdoor v0.5.0 - Updated Changelog.
authored
388 - Fixed docstrings formatting so example code is formatted correctly on api.fancy-lang.org
8f99781 @bakkdoor Updated Changelog
authored
389 - 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!
390 - Added more methods and tests to Array and Tuple.
391 - Added Symbol#arity for compatibility with Block api.
392 - Small doctoring fix to Object#do:
393 - Simplified Person example
394 - Simplified actor ring example.
395 - Added @return to doctoring for Object#do:
396 - Small fix to boot/code_loader so bin/fdoc works again.
397 - Removed obsolete Array#any?:
398 - Return false in FancyEnumerable#any?:
399 - Added Symbol#call in boot/fancy_ext/ to allow symbols being used as callables when passing them to ruby code.
400 - Use alias for Ruby's Array#[]= in Array#[]: instead of Object#ruby:args:
401 - Small changes to Array methods.
402 - Added Class#ruby_aliases:
403 - Small improvement to Array#inspect
404 - small fix to fancy-mode.el for parsing symbols
405 - small typo fix
406 - updated README and doc/features (mentioning dynamic scoping)
407 - Added boot/fancy_ext/bootstrap.rb which is needed during bootstrap process so *stdout* is defined and rake -v works.
408 - Use short-cut conditional messages in Block methods.
409 - Added missing FalseClass#if_nil:else:
410 - Return self in Object#do:
411 - 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.
412 - print duration of running tests when running fspecp
413 - Small fix to FutureSend: Send future message to receiver's actor after setting up FutureSend object.
414 - Don't auto-load FancySpec on startup. Load it explicitly in bin/fspec instead.
415 - small fix to copying dynamic vars in Thread#new
416 - Added support for preserving the values of dynamic vars when spawning a new thread based on the values in the current thread.
417 - Small fixes to tests.
418 - Added lib/vars.fy and load it in lib/boot.fy on startup. Also use *stdout* in Object#println.
419 - Added support for dynamic variable bindings using let:be:in:. Uses * surrounding variable names to indicate dynamic variable, e.g. *stdin* or *dynamic_var*.
420 - Added another Future test
421 - ignore .rbx dir
422 - Fixed concurrency issues with FutureSend class on rbx-2.0.0pre
423 - Added ConditionVariable wrapper class.
424 - Added Mutex wrapper class to lib/rbx/.
425 - Sort values before comparing in Set test.
426 - Array#println returns nil
427 - More tests for Set
428 - Added missing tests for Stack.
429 - Use reverse_each: in Stack#each:
430
Something went wrong with that request. Please try again.