1. 03 Apr, 2016 2 commits
    • Jan Moringen's avatar
      use implementation's EMPTYP when available · afaf1a16
      Jan Moringen authored
      Using the implementation's EMPTYP has the potential advantage of
      supporting user-defined sequence types (as is the case with SBCL).
      
      This commit tests for SEQUENCE:EMPTYP and defines ALEXANDRIA:EMPTYP in
      terms of it.
      
      For implementations that do not provide SEQUENCE:EMPTYP, nothing
      changes.
      afaf1a16
    • Jan Moringen's avatar
      use EMPTYP instead of e.g. PLUSP and LENGTH were appropriate · 8b89a71b
      Jan Moringen authored
      EMPTYP usually (except, maybe, for some user-defined sequence types) has
      two advantages:
      
      1. it has O(1) runtime while LENGTH can be O(n)
      
      2. it can work on user-defined, infinite sequences (given implementation
         support and integration of ALEXANDRIA:EMPTYP with the
         implementation's mechanism as is the case for SBCL)
      8b89a71b
  2. 02 Apr, 2016 2 commits
  3. 26 Jan, 2013 1 commit
  4. 26 Apr, 2012 1 commit
    • Nikodemus Siivola's avatar
      tweak EXTREMUM · 0c39310e
      Nikodemus Siivola authored
       Return NIL if the sequence is empty, instead of the NO-EXTREMUM nonsense.
      
       It was bad design, because it's not an error someone higher up the stack can
       sensibly handle, and handling it locally is too verbose and slow.
      
          (or (extremum ...) (error ...))
      
       expresses the common case succintly, and fits the pattern of existing
       sequence functions.
      
       If it is deemed necessary, we can also add &KEY DEFAULT, but that seems
       overkill and has little precedent in sequence functions.
      0c39310e
  5. 25 Apr, 2012 1 commit
  6. 30 Mar, 2012 1 commit
  7. 09 Nov, 2011 1 commit
  8. 06 Mar, 2011 3 commits
  9. 09 Mar, 2010 1 commit
    • Nikodemus Siivola's avatar
      documentation updates · 829db7c7
      Nikodemus Siivola authored
        Add bunch of missing symbols to the manual, and go over several
        docstrings reformatting them for the benefit of the documentation
        generator.
      
        (A crapton of symbols are still not in the manual.)
      829db7c7
  10. 09 Oct, 2009 1 commit
  11. 01 Aug, 2008 1 commit
    • Nikodemus Siivola's avatar
      PROPER-LIST-LENGTH and related changes · 86f69d0a
      Nikodemus Siivola authored
      - New function: PROPER-LIST-LENGTH.
      
      - Share code between PROPER-LIST-LENGTH, LASTCAR, and SETF LASTCAR
        via a macrolet.
      
      - Use ENDP wrapped in SAFETY 3, to ensure proper detection of dotted
        lists.
      
      - Use PROPER-LIST-LENGTH instead of LIST-LENGTH in ROTATE, RANDOM-ELT,
        and SHUFFLE, and test that they signal an error for improper lists.
        (Thanks to Tobias Rittweiler)
      86f69d0a
  12. 29 May, 2008 1 commit
  13. 10 Apr, 2008 1 commit
  14. 10 Mar, 2008 1 commit
  15. 23 Feb, 2008 1 commit
  16. 19 Dec, 2007 1 commit
    • Nikodemus Siivola's avatar
      better SHUFFLE · 64a631d9
      Nikodemus Siivola authored
       * Thanks to Sean Ross: implement the Fisher/Yates/Knuth algorithm
         correctly.
      
       * As penance, specialize for lists as well: travel along the list,
         swapping towards the end -- marginally more efficient then swapping
         along the whole length.
      64a631d9
  17. 26 Nov, 2007 1 commit
  18. 06 Aug, 2007 1 commit
  19. 11 Jul, 2007 1 commit
  20. 01 Jul, 2007 1 commit
  21. 25 Jun, 2007 1 commit
  22. 01 Jun, 2007 1 commit
  23. 18 Mar, 2007 1 commit
  24. 17 Oct, 2006 1 commit
  25. 16 Oct, 2006 1 commit
  26. 15 Oct, 2006 3 commits