Skip to content
Commits on Sep 22, 2011
  1. @ept
Commits on Jul 20, 2011
Commits on Mar 26, 2011
Commits on Mar 25, 2011
  1. Simplify #guard exception logic...

    committed
    Also change from 'yield' to 'block.call', to work around some weird Ruby
    behaviour (bug?): after the 'yield', callback_args becomes an empty
    array!  Maybe due to switching stacks between the callback and yield...?
  2. Sensible semantics if guard expression raises an exception...

    committed
    Less because good code would be written that way, and more to obey the
    Principle of Least Astonishment.  It would be upsetting if raising an
    exception here caused the reactor thread to die, for example.
  3. Fluent syntax for #timeout too

    committed
Commits on Jan 21, 2011
Commits on Jan 19, 2011
  1. DG::Combinators#map -> #transform to avoid confusion with Enumerable#map

    committed
    Abstractly it wouldn't actually have been confusion, because Array#map
    (the most common case) and Deferrable#map are both functorial map
    operators, lifting a transformation function into their respective
    domains.
    
    Unfortunately Enumerable#map in general breaks this rule as it always
    returns an Array, whatever type of thing you called it on.  (e.g.
    Set.new().map(&:upcase) => []).  In general, Ruby programmers are
    trained to expect #map to be something to do with arrays.  (Scala
    programmers have the right idea :)).  With that expectation,
    it's pretty hard to read DG::Deferrable#map.
    
    So picking a new, less-encumbered name.
Commits on Jan 15, 2011
  1. Remove lift combinator - doesn't make sense any more...

    committed
    Only thought it did because I was assuming all Deferrables would have a
    method like #go.
  2. Reimplement combinators using new Bind operator...

    committed
    ... Have to remove <<, it doesn't make sense now one side has to be a
    lambda.
  3. Improve comments for Bind2

    committed
  4. Fully spec and impl Bind2 with block not returning Deferrable...

    committed
    bind! is equivalent to #map in this case.  Using it that way is probably
    confusing, but we should still behave sensibly if people do.
Commits on Jan 10, 2011
Commits on Jan 5, 2011
Something went wrong with that request. Please try again.