= ludy changes history

== ludy 0.1.4, 2008.01.31

* added Page#begin and Page#end for real index in the data
* added Paginator#count for counter.call wrapper

* rename from Ludy::eout to Ludy::erbout
* added erubis support
* rename task from erb:preprocess to preprocess:erb and preprocess:erubis
* task preprocess would preprocess with erb and erubis
* rename PROJ to Project with open struct. use Project.name now

== ludy 0.1.3, 2008.01.23

* renamed next_page to next, and prev_page to prev
* added Page#page to get the page number of that page.
* added Ludy::eout to use in erb's block, see ludy/tasks/common.rb
  i would extract it to erb or somewhere else someday.
* better header_guard usage, with block

== ludy 0.1.2, 2008.01.17

* aims to add functional stuffs, list comprehension is working in progress
* Paginator series are added.
* more rdocs are added.

== ludy 0.1.1, 2008.01.10

* add Array#tail and Array#map_with_index to make the task of
  template forward parameters work again. (without depend on facets)

* add some todo notes.

== ludy 0.1.0, 2008.01.08

* directory structure rearranged
    now you would like to require something like:
    require 'ludy/proc/bind'
    require 'ludy/lazy'
    require 'ludy/kernel/defun'
    require 'puzzle_generator'
    ...
    the load path is now manipulated by ludy.rb, with require guard,
    to make sure that all .rb is only required once. (all the same require path.)

* you can now:
    require 'ludy/kernel' # for all kernel method
    require 'ludy/all'    # for all ludy things

* there's no require_ludy anymore.

* project skeleton is now built through Mr Bones 1.3.0, see NOTICE

* many things are now deprecated. they are hard to implemented correctly,
  or useless, or easy to be replaced, or for some other reasons.

* ludy is now compatible with ruby 1.9. and a few ruby 1.9's features are
  now added in ludy to help improve compatibility between ruby versions.

* ludy executable is added. it simply call rake with ludy tasks, so:
    $ ludy test # to run all tests
    $ ludy doc  # generate rdoc
    $ ludy      # see all ludy tasks

* ludy_ext.rb is split into many other .rb

* C++ ERB meta-programming is added.

* multi re-implementation is done. the new one is called defun.
  it supports overloading(ad-hoc polymorphism), multi-method,
  pattern matching, and perhaps others?

* rdoc support is added.

* http://ludy.rubyforge.org would now insist on the latest rdoc.

* Array#reverse_map, Array#body, Array#rotate, Array#combos, etc. is added.

== ludy 0.0.9, 2008.01.07

* Proc#bind added, see test/tc_bind.rb

== ludy 0.0.8, 2007.12.06

* ludy_ext:
  added:
    * Array#untranspose!
    * Array#unzip!

  changed:
    * Kernel#curry support Symbol

* puzzle_generator added...

== ludy 0.0.7, 2007.10.08

* ludy_ext:
  added:
    * Array#untranspose
    * Array#unzip
    * Array#combine!
    * Object#m
    * Kernel#id

== ludy 0.0.6, 2007.09.15

* ludy_ext:
  added:
    * Array#combine

  moved:
    * move Symbol#to_proc to Symbol#to_msg,
       and take back the original Symbol#to_proc implementation.

* change the way we require

== ludy 0.0.5, 2007.09.15

 i forgot what i'd done... (days ago)
 but sure there's Symbol#to_proc and Symbol#to_msg,
 also, please read unit test.

== ludy 0.0.4, 2007.08.12

* ludy_ext:
  renamed:
    * Proc#curry => Proc#__curry__

  added:
    * Kernel#curry

 strongly suggest that use Kernel#curry instead of Proc#__curry__,
 see unit test for usage and changes

== ludy 0.0.3, 2007.08.07

* ludy_ext:
  added:
    * Proc#curry
    * Proc#compose
    * Proc#chain
    * Symbol#to_proc
    * Array#foldl
    * Array#foldr
    * Array#filter

  removed:
    * Fixnum#collect # see tc_ludy_ext.rb#test_fixnum_collect for reason

  info:
    * ruby2ruby has NilClass#method_missing return nil,
       so i can't just make it return blackhole

* module Curry:
  see test/tc_curry.rb for usage

 see unit test for usage