Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Aug 16, 2012
  1. @ConradIrwin

    Merge branch 'in_parallel'

    ConradIrwin authored
  2. @ConradIrwin
Commits on Nov 8, 2011
  1. @ConradIrwin
  2. @ConradIrwin
  3. @ConradIrwin

    Add #safe_callback and #safe_errback.

    ConradIrwin authored
    Removes some of the temptation to use "#transform" and
    "#transform_error" to acheive this effect.
  4. @ConradIrwin
  5. @ConradIrwin
Commits on Oct 28, 2011
  1. @ConradIrwin
Commits on Oct 27, 2011
  1. @ConradIrwin
  2. @ConradIrwin

    Add Deferrable#rescue_from

    ConradIrwin authored
Commits on Jul 20, 2011
  1. @samstokes
Commits on Mar 26, 2011
  1. @samstokes
Commits on Mar 25, 2011
  1. @samstokes
  2. @samstokes
  3. @samstokes
  4. @samstokes

    Sensible semantics if guard expression raises an exception...

    samstokes authored
    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.
  5. @samstokes
  6. @samstokes
  7. @samstokes
  8. @samstokes
Commits on Mar 24, 2011
  1. @samstokes
  2. @samstokes
Commits on Jan 21, 2011
  1. @samstokes
  2. @samstokes
  3. @samstokes
  4. @samstokes
Commits on Jan 19, 2011
  1. @samstokes
  2. @samstokes
  3. @samstokes

    Add much verbosity to spec_helper to work around a possible Ruby bug...

    samstokes authored
    succeed_with would fail with 'ArgumentError: 0 for 1' if succeed was
    called with an empty array [].  Pretty sure that's not supposed to
    happen, suspect a bug in Ruby (1.8.7, not 1.9.1): see
    http://stackoverflow.com/questions/4721708/is-this-a-bug-in-methodto-proc-ruby-1-8-7
    for more details on the possible bug.
  4. @samstokes
  5. @samstokes

    DG::Combinators#map -> #transform to avoid confusion with Enumerable#map

    samstokes authored
    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. @samstokes
  2. @samstokes

    Remove lift combinator - doesn't make sense any more...

    samstokes authored
    Only thought it did because I was assuming all Deferrables would have a
    method like #go.
  3. @samstokes

    Test rewriting a series of nested binds as a chain works as expected...

    samstokes authored
    i.e. that Bind behaves as a monadic bind operator as intended.
    
    It only works this way when passing a block that returns a Deferrable:
    misusing #bind! like #map breaks this law and can cause confusion.
    (Specifically, if a block returns something other than a Deferrable,
    calling #bind! on that thing breaks us out of the monad - e.g. with a
    NoMethodError - so the nested syntax doesn't really make sense.)
  4. @samstokes
Something went wrong with that request. Please try again.