Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Mar 16, 2013
  1. use the slim constructor in more cases, less code bloat

    authored
      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

    authored
      End of an era.
Commits on Mar 1, 2011
  1. update TODO schedule

    authored
  2. fix outdated comment

    authored
     HEAP-MIN is called HEAP-TOP.
  3. 1.0 release

    authored
  4. fix typo in docstring

    authored
Commits on Nov 18, 2010
  1. fix for Bordeaux-Threads support

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

    authored
      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

    authored
      Rename TEST to FAST-PRED to avoid confusion.
    
      Rename VECTOR to %VECTOR for safe subclassing.
  2. update README

    authored
  3. fix bug in HEAP-DELETE introduced when adding :COUNT

    authored
     :COUNT NIL deleted only a single element.
  4. improve HEAP-DELETE docstring

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

    authored
     * 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

    authored
     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

    authored
     - 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

    authored
  5. add :KEY to MAKE-HEAP

    authored
     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

    authored
     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

    authored
  8. make clean & make wc

    authored
  9. rudimentary tests

    authored
  10. unordered traversal

    authored
     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

    authored
Commits on Oct 31, 2010
  1. lock the package

    authored
Something went wrong with that request. Please try again.