Permalink
Switch branches/tags
Nothing to show
Commits on Jun 18, 2015
Commits on Mar 16, 2013
  1. use the slim constructor in more cases, less code bloat

    nikodemus committed Mar 16, 2013
      Allow using the fast predicate with user functions and in presence
      of an explicitly null :KEY.
    
      Define global two-arg entry points for commonplace variadic
      predicates instead of generating one per call site.
  2. remove references to sb-studio.net

    nikodemus committed Mar 16, 2013
      End of an era.
Commits on Mar 1, 2011
  1. update TODO schedule

    nikodemus committed Mar 1, 2011
  2. fix outdated comment

    nikodemus committed Mar 1, 2011
     HEAP-MIN is called HEAP-TOP.
  3. 1.0 release

    nikodemus committed Mar 1, 2011
  4. fix typo in docstring

    nikodemus committed Mar 1, 2011
Commits on Nov 18, 2010
  1. fix for Bordeaux-Threads support

    nikodemus committed Nov 18, 2010
      * MAKE-LOCK doesn't use a keyword argument for the name, oops!
Commits on Nov 3, 2010
  1. another boundary bug in %HEAP-DELETE.

    nikodemus committed Nov 3, 2010
      Deleting the last element of a heap vector requires no fixing
      up.
    
      Add tests for basic boundary cases of HEAP-HELETE.
Commits on Nov 2, 2010
  1. slot renaming

    nikodemus committed Nov 2, 2010
      Rename TEST to FAST-PRED to avoid confusion.
    
      Rename VECTOR to %VECTOR for safe subclassing.
  2. update README

    nikodemus committed Nov 2, 2010
  3. fix bug in HEAP-DELETE introduced when adding :COUNT

    nikodemus committed Nov 2, 2010
     :COUNT NIL deleted only a single element.
  4. improve HEAP-DELETE docstring

    nikodemus committed Nov 2, 2010
     Clarify that it currently always uses EQL.
Commits on Nov 1, 2010
  1. two bugs in %HEAP-DELETE

    nikodemus committed Nov 1, 2010
     * Deletion of last element of the heap left a reference to it at the
       last index, confusing HEAP-DELETE.
    
     * Return value mixup.
  2. stray DYNAMIC-EXTENT

    nikodemus committed Nov 1, 2010
     Left over when I thought supporting DX allocation for heaps was worth
     it. Dunno -- maybe it is, but it makes sense only when your initial
     :SIZE is good enough that you don't need any further growth, and
     still small enough to fit on a page to be safe...
    
     Maybe look at this again later.
  3. documentation and minor changes

    nikodemus committed Nov 1, 2010
     - Steal the SBCL docstring extractor again.
    
     - Edit docstrings for readability.
    
     - Add a few wrapper functions so things like HEAP-KEY have "heap" as
       the argument in the docs instead of "instance".
    
     - Remove HEAP-P as redundant.
  4. no asynch-unwind safety

    nikodemus committed Nov 1, 2010
  5. add :KEY to MAKE-HEAP

    nikodemus committed Nov 1, 2010
     Combine predicate and key to a single function.
    
     Add a compiler-macro to convert common variadic predicates to
     fixed-arg lambdas.
    
     Use Alexandria wholesale instead of cherry-picking symbols.
  6. defensive programming

    nikodemus committed Nov 1, 2010
     HEAP-INSERT calls the predicate with the new element before
     mangling the heap, so that problematic inserts are detected
     before the heap state is messed up.
    
     %HEAP-DELETE restores the deleted element on unwind, and in lucky
     cases even manages to restore the heap to a clean state.
  7. fix typo in TEST-OP

    nikodemus committed Nov 1, 2010
  8. make clean & make wc

    nikodemus committed Nov 1, 2010
  9. rudimentary tests

    nikodemus committed Nov 1, 2010
  10. unordered traversal

    nikodemus committed Nov 1, 2010
     MAP-HEAP can also traverse the heap without respect to heap order,
     which allows recovery of heaps with bad elements.
    
     (Though it would be better if HEAP-INSERT fixed the heap on unwind.)
    
     Also improve locking docs, and explain the approach to thread safety
     and its limitations.
  11. .gitignore

    nikodemus committed Nov 1, 2010
Commits on Oct 31, 2010
  1. lock the package

    nikodemus committed Oct 31, 2010