Permalink
Commits on Aug 8, 2013
Commits on Jul 24, 2013
  1. Merge pull request #422 from UnixJunkie/simpler_partition

    simpler List.partition implementation using accum helper
    thelema committed Jul 24, 2013
  2. simpler partition code

    Francois Berenger committed Jul 24, 2013
Commits on Jul 23, 2013
  1. Merge pull request #416 from UnixJunkie/takedrop

    BatList.takedrop & ntake
    thelema committed Jul 23, 2013
  2. corrected implementation of ntake

    Francois Berenger committed Jul 23, 2013
  3. added ntake plus tests

    Francois Berenger committed Jul 23, 2013
  4. added ntake

    Francois Berenger committed Jul 23, 2013
Commits on Jul 22, 2013
  1. added takedrop and its tests

    Francois Berenger committed Jul 22, 2013
  2. added takedrop

    rm trailing whitespaces everywhere
    Francois Berenger committed Jul 22, 2013
Commits on Jul 21, 2013
  1. Fix typo in doc

    rixed committed Jul 21, 2013
Commits on Jul 18, 2013
  1. Revert "remove a random test in batList taking too long", and use Vin…

    …cent Hugo's advice instead.
    
    When a random test takes too long to run, the solution is not to
    remove it but reduce the number of time it is run:
    
      (*$Q nsplit & ~count:10
        ...
      *)
    
    This means that any eventual bug will not be found each time the tests
    are run (and may take a large number of individual attempts to
    be hit), but it's indeed much better than having no test at all.
    gasche committed Jul 18, 2013
  2. Merge pull request #414 from UnixJunkie/acc_create

    added Acc.create and use it
    gasche committed Jul 18, 2013
  3. Merge pull request #415 from gasche/master

    bump version to 2.1
    thelema committed Jul 18, 2013
  4. added Acc.create and use it

    Francois Berenger committed Jul 18, 2013
  5. bump version to 2.1

    gasche committed Jul 18, 2013
  6. remove a random test in batList taking too long

    It was helpful to understand nsplit's semantics, but would be painful
    in a frequent testing cycle.
    gasche committed Jul 18, 2013
Commits on Jul 17, 2013
  1. fix some ocamldoc @raise metadata

    gasche committed Jul 17, 2013
Commits on Jul 16, 2013
  1. new spelling test in check_raise

    gasche committed Jul 16, 2013
Commits on Jul 11, 2013
  1. LazyList: new lazy_fold_right function

    It is not entirely clear what is the "right" interface for a *lazy*
    fold_right function. It cannot be the same interface as an eager
    fold_right, as the typing of [fold_right] doesn't allow a lazy
    traversal.
    
    The current interface is:
    
    val lazy_fold_right :
      ('a -> 'b Lazy.t -> 'b) -> 'a t -> 'b Lazy.t -> 'b Lazy.t
    (**Lazy fold_right
       [lazy_fold_right f (Cons (a0, Cons (a1, Cons (a2, nil)))) b] is
       [lazy (f a0 (lazy (f a1 (lazy (f a2 b)))))].
    
       Forcing the result of [lazy_fold_right] forces the first element of
       the list; the rest is forced only if/when the function [f] forces
       its accumulator argument.
    *)
    
    Note that:
    
    (1) The return value of the folding function [f] has type ['b], while
        it could be ['b Lazy.t]; those are in fact equivalent: when the
        function [f] forces its accumulator argument (of type ['b
        Lazy.t]), the tail of the list is forced, and if it is a [Cons]
        the function [f] is called and must produce a ['b] (as we are
        forcing a ['b Lazy.t]); if [f] returned a lazy value, we would
        have to force it immediately. And this is the only call site of
        [f]. Making its return type ['b] instead of ['b Lazy.t] therefore
        faithfully represents what happens in practice (no computation
        is delayed), and allow for a slightly more efficient code
        (as opposed to immediately forcing [f]'s result) in case the user
        indeed wants to return a concrete value directly, without any
        forcing.
    
    (2) The initial accumulator value (the last argument) has type
        ['b Lazy.t] instead of ['b]. This makes sense because lazyness can
        be introduced here: this value only needs to be forced if/when
        [fold_right] reaches the end of the input list (which does not
        always happen). Asking the user (through a type ['b]) to have the
        forced value at hand before calling the function would therefore
        reduce expressiveness.
    gasche committed Jul 9, 2013
Commits on Jul 9, 2013
Commits on Jul 8, 2013
Commits on Jul 6, 2013
  1. Merge pull request #406 from UnixJunkie/patch-1

    Update batList.ml
    thelema committed Jul 6, 2013
  2. Update batList.ml

    new version of unfold
    Francois Berenger committed Jul 6, 2013
Commits on Jul 1, 2013
  1. add a .mailmap entry

    I'm looking at the author list for an OUPS talk, and there is a lot of
    duplicated people. If anyone would rather appear under a different
    name, prefer another mail address, or keep a separation between
    a young age's nick and their current endeavor, just let us know and
    we'll change it.
    gasche committed Jul 1, 2013
Commits on Jun 29, 2013
  1. Merge pull request #404 from chaudhuri/prefilter_ml

    Replace build/prefilter.pl with build/prefilter.ml
    thelema committed Jun 29, 2013
  2. Fix compilation for OCaml 4.01+

    The prefilter mechanism had to be changed because the stlib interface
    for Marshal is not backwards compatible with 4.00. Therefore, we
    now need to prefilter on both major and minor versions. Instead of
    a horribly complex sed secript, I've written a simple Perl script
    build/prefilter.pl that does the filtering.
    chaudhuri committed Jun 29, 2013
Commits on Jun 20, 2013
  1. Merge pull request #398 from UnixJunkie/master

    fix broken test
    gasche committed Jun 20, 2013
  2. new version of combine + unit test for it

    this version does not use Obj.magic anymore
    Francois Berenger committed Jun 20, 2013
  3. one unit test in nsplit was not reflecting the implementation

    Francois Berenger committed Jun 20, 2013
Commits on Jun 19, 2013
  1. start to use Acc.accum everywhere possible

    Francois Berenger committed with gasche Jun 19, 2013