projects/alexandria/alexandria.git
3 months agoadd existence of &KEY to return-values of PARSE-ORDINARY-LAMBDA-LIST master
Nikodemus Siivola [Sat, 26 Jan 2013 14:40:02 +0000] 
add existence of &KEY to return-values of PARSE-ORDINARY-LAMBDA-LIST

3 months agofix docstring of IOTA
Nikodemus Siivola [Sat, 26 Jan 2013 14:25:56 +0000] 
fix docstring of IOTA

3 months agofix contagion in IOTA when step is a complex integer and start is a float
Nikodemus Siivola [Sat, 26 Jan 2013 13:46:01 +0000] 
fix contagion in IOTA when step is a complex integer and start is a float

3 months agoImprove spelling
Michael Stevens [Sun, 14 Oct 2012 13:09:31 +0000] 
Improve spelling

3 months agodocument restrictions on GAUSSIAN-RANDOM
Nikodemus Siivola [Sat, 26 Jan 2013 13:33:48 +0000] 
document restrictions on GAUSSIAN-RANDOM

3 months agoFORMAT-SYMBOL now uses WITH-STANDARD-IO-SYNTAX
Nikodemus Siivola [Sat, 26 Jan 2013 13:24:33 +0000] 
FORMAT-SYMBOL now uses WITH-STANDARD-IO-SYNTAX

3 months agofix starts-with-subseq :start1 and :start2
Nikodemus Siivola [Sat, 26 Jan 2013 13:10:59 +0000] 
fix starts-with-subseq :start1 and :start2

3 months agoupdate doc/alexandria.texinfo
Jan Moringen [Mon, 18 Jun 2012 17:27:04 +0000] 
update doc/alexandria.texinfo

  add IO chapter containing READ-FILE-INTO-{STRING,BYTE-VECTOR}

  change include/fun-alexandria-ensure-gethash.texinfo
  -> include/macro-alexandria-ensure-gethash.texinfo

12 months agotweak EXTREMUM
Nikodemus Siivola [Thu, 26 Apr 2012 09:01:35 +0000] 
tweak EXTREMUM

 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.

12 months agoadd EXTREMUM
Nikodemus Siivola [Wed, 25 Apr 2012 12:24:49 +0000] 
add EXTREMUM

  From http://www.cliki.net/EXTREMUM

  A simple version built on top of REDUCE for now.

12 months agountabify tests
Nikodemus Siivola [Sun, 22 Apr 2012 16:45:36 +0000] 
untabify tests

  Yech. Phui. Tabs.

12 months agoadjust tests
Nikodemus Siivola [Sun, 22 Apr 2012 16:33:51 +0000] 
adjust tests

  Workarounds for the Clisp and CMUCL failures.

  Newer Clisp's no longer have the stack-overflow for the hash-table test, so
  enable it too.

13 months agocopy-stream: fix non-standard loops
Nikodemus Siivola [Fri, 30 Mar 2012 15:22:47 +0000] 
copy-stream: fix non-standard loops

  Added test-case.

13 months agoclarify SHUFFLE docstring
Nikodemus Siivola [Fri, 30 Mar 2012 15:05:35 +0000] 
clarify SHUFFLE docstring

  It's destructive.

13 months agoRevert "generic MEAN and MEDIAN, new function DISPLACE-ARRAY"
Nikodemus Siivola [Fri, 30 Mar 2012 14:55:55 +0000] 
Revert "generic MEAN and MEDIAN, new function DISPLACE-ARRAY"

  This reverts commit 485544d4feb13d3f463f54a5605b3a480bc49046.

  MEAN and MEDIAN are again non-generic, and DISPLACE-ARRAY is removed.

  Motivation on the mailing list.

14 months agoFix COPY-STREAM when called without an explicit END argument.
Zach Beane [Wed, 7 Mar 2012 03:35:42 +0000] 
Fix COPY-STREAM when called without an explicit END argument.

14 months agoAdded support for copy-stream for START and END keyword arguments.
Attila Lendvai [Fri, 2 Mar 2012 08:13:48 +0000] 
Added support for copy-stream for START and END keyword arguments.

16 months agogeneric MEAN and MEDIAN, new function DISPLACE-ARRAY
tpapp [Wed, 4 Jan 2012 11:28:39 +0000] 
generic MEAN and MEDIAN, new function DISPLACE-ARRAY

 Objects other than sequences have means and medians (eg probability
 distributions, arrays, sequences/arrays wrapped in another object, etc), so
 it makes sense to make these functions generic.

 DISPLACE-ARRAY is a small utility function that is used in the implementation
 of MEDIAN for arrays, but is also of general utility because it makes the
 creation of displaced arrays simpler, dispensing with the need to specify the
 element type, and offering sensible defaults when one wants vectors.

 Also added tests for all the new functions/methods.

16 months agomake Alexandria work with readtable-case :INVERT
Jyrki Jaakkola [Fri, 20 Jan 2012 14:59:54 +0000] 
make Alexandria work with readtable-case :INVERT

16 months agoconvert ENSURE-GETHASH into a macro
Ryan Davis [Wed, 21 Dec 2011 18:20:47 +0000] 
convert ENSURE-GETHASH into a macro

 Evaluate the default-form only if we actually use it.

18 months agoSHUFFLE on non-lists did not respect :START and :END
Jianshi Huang [Wed, 9 Nov 2011 12:56:58 +0000] 
SHUFFLE on non-lists did not respect :START and :END

18 months agobeef up the README a bit
Nikodemus Siivola [Wed, 2 Nov 2011 16:33:48 +0000] 
beef up the README a bit

18 months agofix bug in CURRY compiler-macro
James M. Lawrence [Wed, 2 Nov 2011 16:25:13 +0000] 
fix bug in CURRY compiler-macro

  Multiple evaluation of the function argument, oops.

18 months agodeclare LAST ignorable in PROPER-LIST-LENGTH and friends
Antony [Sat, 29 Oct 2011 22:06:25 +0000] 
declare LAST ignorable in PROPER-LIST-LENGTH and friends

  Clozure CL at least considers it currently unused and
  signals a style warning.

18 months agoimproved -- well, fixed -- SUBFACTORIAL
Mason Smith [Sat, 29 Oct 2011 21:49:29 +0000] 
improved -- well, fixed -- SUBFACTORIAL

  Plus tests.

18 months agoimproved COPY-ARRAY
Svante Carl v. Erichsen [Sat, 29 Oct 2011 21:42:02 +0000] 
improved COPY-ARRAY

  No need to depend on the vagaries of ADJUST-ARRAY.

18 months agofix edge-case in CIRCULAR-TREE-P
Anton Kovalenko [Sat, 29 Oct 2011 21:33:42 +0000] 
fix edge-case in CIRCULAR-TREE-P

  CIRCULAR-TREE-P had an unfortunate corner case, causing it to overflow
  the stack (seen and repoted at #lisp for '#1=(#1#).)

  The problem is caused by the end-test (of the outer DO) being run before the
  body has a first chance to check for (member slow seen).

2 years agoadd :description and :long-description to .asd
Nikodemus Siivola [Thu, 12 May 2011 06:27:47 +0000] 
add :description and :long-description to .asd

2 years agomore error-checking in RANDOM-ELT
Nikodemus Siivola [Sun, 6 Mar 2011 11:37:10 +0000] 
more error-checking in RANDOM-ELT

 Check for empty sequences and invalid bounding index designators.

2 years agomissing final punctuation in a docstring
Nikodemus Siivola [Sun, 6 Mar 2011 11:36:37 +0000] 
missing final punctuation in a docstring

2 years agoclarify INLINE/NOTINLINE issue with compiler-macros
Nikodemus Siivola [Sun, 6 Mar 2011 11:35:25 +0000] 
clarify INLINE/NOTINLINE issue with compiler-macros

2 years agoduh. use the right feature check for package-locks on SBCL
Nikodemus Siivola [Wed, 13 Oct 2010 22:41:19 +0000] 
duh. use the right feature check for package-locks on SBCL

 ...I of all people should know this...

2 years agoMerge branch 'master' of common-lisp.net:/project/alexandria/alexandria
Nikodemus Siivola [Wed, 13 Oct 2010 21:58:36 +0000] 
Merge branch 'master' of common-lisp.net:/project/alexandria/alexandria

2 years agolock the package on SBCL
Nikodemus Siivola [Wed, 13 Oct 2010 21:57:54 +0000] 
lock the package on SBCL

 Should have done this ages ago.

2 years agocopy-sequence returns the number of bytes written
Attila Lendvai [Fri, 8 Oct 2010 17:01:51 +0000] 
copy-sequence returns the number of bytes written

2 years agooptimizations to BINOMIAL-COEFFICIENT and COUNT-PERMUATIONS
Nikodemus Siivola [Thu, 23 Sep 2010 15:41:57 +0000] 
optimizations to BINOMIAL-COEFFICIENT and COUNT-PERMUATIONS

 Patch by Gustavo on alexandria-devel.

 Also add tests.

2 years agoDESTRUCTURING-CASE & friends in the manual
Nikodemus Siivola [Thu, 23 Sep 2010 15:32:06 +0000] 
DESTRUCTURING-CASE & friends in the manual

2 years agonew: DESTRUCTURING-CASE, -CCASE, and -ECASE
Nikodemus Siivola [Thu, 23 Sep 2010 15:22:28 +0000] 
new: DESTRUCTURING-CASE, -CCASE, and -ECASE

  I've been wondering about adding these for a fair while
  now, but they _are_ nice when writing eg. certain kinds
  of macros,

2 years agoadded .gitignore -files
Nikodemus Siivola [Thu, 23 Sep 2010 15:20:35 +0000] 
added .gitignore -files

2 years agoSupport case-sensitive lisps.
Andreas Fuchs [Thu, 23 Sep 2010 13:38:03 +0000] 
Support case-sensitive lisps.

* Alter `format-symbol` to accept a string designator as the format
  control.
* Use uninterned symbols as format control for type names in type.lisp
  to get the correct names in case-sensitive lisps.

3 years agosimple-style-warning & co: better compatibility with ccl
Attila Lendvai [Sun, 11 Apr 2010 18:51:14 +0000] 
simple-style-warning & co: better compatibility with ccl

3 years agobetter docstring for MULTIPLE-VALUE-PROG2, a few more tests
Nikodemus Siivola [Mon, 5 Apr 2010 16:52:54 +0000] 
better docstring for MULTIPLE-VALUE-PROG2, a few more tests

3 years agodoc/Makefile tweak
Nikodemus Siivola [Sun, 4 Apr 2010 23:21:50 +0000] 
doc/Makefile tweak

 Make sure we build the documentation from the in-tree version
 of Alexandria.

3 years agodocument ENSURE-FUNCTIONF
Nikodemus Siivola [Sun, 4 Apr 2010 23:21:35 +0000] 
document ENSURE-FUNCTIONF

3 years agodocumentation baby-steps
Nikodemus Siivola [Tue, 23 Mar 2010 07:05:29 +0000] 
documentation baby-steps

 * Default doc/Makefile command now generates all docs and cleans up
   temporary files.

 * Generate info as well, and use makeinfo to generate the html.

 * Spit out a ifnottex.include for @&key macros, etc for the benefit
   of makeinfo.

 * Clean up &WHOLE and &ENVIRONMENT from the lambda-lists.

 * MAKE-CIRCULAR-LIST was documented twice, oops.

3 years agodocumentation updates
Nikodemus Siivola [Tue, 9 Mar 2010 16:51:46 +0000] 
documentation updates

  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.)

3 years agocopy docstrings.lisp from SBCL
Nikodemus Siivola [Tue, 9 Mar 2010 16:50:29 +0000] 
copy docstrings.lisp from SBCL

  Easier to work with like this. Note: the code has already mutated a bit.

3 years agominimal README
Nikodemus Siivola [Mon, 8 Mar 2010 10:57:12 +0000] 
minimal README

3 years agomissing earmuff in tests.lisp
Nikodemus Siivola [Mon, 8 Mar 2010 08:52:04 +0000] 
missing earmuff in tests.lisp

Patch by: Peter Graves <peter@armedbear.org>

3 years agofaster WHICHEVER
Nikodemus Siivola [Mon, 8 Mar 2010 08:46:37 +0000] 
faster WHICHEVER

 Call RANDOM just once, and build an inline binary search tree
 for O(log n) goodness instead of O(n).

 Patch by: Gustavo <gugamilare@gmail.com>

3 years agorobuster docstring generation
Nikodemus Siivola [Mon, 8 Mar 2010 08:29:14 +0000] 
robuster docstring generation

 SBCL makes a directory called doc/manual/docstrings; this interferes
 with loading the lisp file if the SBCL source tree had documentation
 built in it unless we use an explicit .lisp suffix.

 Patch by: Daniel Herring <dherring@at.tentpost.dot.com>

3 years agofix: assoc-value setter now always returns the new value
Attila Lendvai [Wed, 17 Feb 2010 14:06:14 +0000] 
fix: assoc-value setter now always returns the new value

3 years agorewrite assoc-value to look up the alist entry only once
Attila Lendvai [Fri, 12 Feb 2010 11:32:56 +0000] 
rewrite assoc-value to look up the alist entry only once

3 years agoadded a minimal assoc-value test
Attila Lendvai [Fri, 12 Feb 2010 11:23:14 +0000] 
added a minimal assoc-value test

3 years agofix: (push (assoc-value ... :test 'foo) ...) ignored :test when looking up the value
Attila Lendvai [Fri, 12 Feb 2010 10:54:21 +0000] 
fix: (push (assoc-value ... :test 'foo) ...) ignored :test when looking up the value

3 years agoadd &rest args to UNIONF and NUNIONF to support the keyword args of UNION and NUNION...
Attila Lendvai [Sat, 9 Jan 2010 20:15:09 +0000] 
add &rest args to UNIONF and NUNIONF to support the keyword args of UNION and NUNION (suggested by Andrew Philpot)

3 years agofix: parse-ordinary-lambda-list was normalizing keyword args a bit even when it was...
Attila Lendvai [Fri, 4 Dec 2009 11:34:05 +0000] 
fix: parse-ordinary-lambda-list was normalizing keyword args a bit even when it was not asked for

3 years agoadd assoc-value and rassoc-value to the experimental part of package.lisp
Attila Lendvai [Wed, 25 Nov 2009 12:50:14 +0000] 
add assoc-value and rassoc-value to the experimental part of package.lisp

3 years agoadded assoc-value (written by John Fremlin)
Attila Lendvai [Wed, 25 Nov 2009 12:50:04 +0000] 
added assoc-value (written by John Fremlin)

3 years agoFixed conjoin single predicate bug; more tests
Kilian Sprotte [Sun, 1 Nov 2009 15:16:43 +0000] 
Fixed conjoin single predicate bug; more tests

Added new test cases for DISJOIN, CONJOIN, COMPOSE and MULTIPLE-VALUE-COMPOSE.
All of them testing for the edge case of a single predicate / function.

3 years agocopy-pastable goodie in the docstring of parse-ordinary-lambda-list
Attila Lendvai [Fri, 30 Oct 2009 17:29:03 +0000] 
copy-pastable goodie in the docstring of parse-ordinary-lambda-list

3 years agoadded :allow-specializers to parse-ordinary-lambda-list
Attila Lendvai [Fri, 30 Oct 2009 17:24:11 +0000] 
added :allow-specializers to parse-ordinary-lambda-list

3 years agoparse-ordinary-lambda-list: make normalization customizable through keywords
Attila Lendvai [Mon, 28 Sep 2009 21:06:47 +0000] 
parse-ordinary-lambda-list: make normalization customizable through keywords

3 years agoreorder definitions to get rid of a warning about not inlining a forward reference
Faré Rideau [Fri, 9 Oct 2009 19:12:35 +0000] 
reorder definitions to get rid of a warning about not inlining a forward reference

3 years agofix: drop a leftover break from parse-ordinary-lambda-list (hint: setup bright red...
Attila Lendvai [Mon, 28 Sep 2009 21:05:26 +0000] 
fix: drop a leftover break from parse-ordinary-lambda-list (hint: setup bright red face for BREAK and PRINT... :)

3 years agofix: in parse-ordinary-lambda-list normalize &aux specifications as promised in the...
Attila Lendvai [Mon, 28 Sep 2009 20:13:18 +0000] 
fix: in parse-ordinary-lambda-list normalize &aux specifications as promised in the docs

3 years agofix median
Johan Ur Riise [Wed, 16 Sep 2009 13:27:20 +0000] 
fix median

4 years agoadded read-file-into-byte-vector and write-byte-vector-into-file (until io.lisp's...
Attila Lendvai [Tue, 24 Mar 2009 09:57:58 +0000] 
added read-file-into-byte-vector and write-byte-vector-into-file (until io.lisp's fate is decided)

4 years agoadded (unexported) with-open-file* to io.lisp, use there
Attila Lendvai [Fri, 5 Dec 2008 13:12:49 +0000] 
added (unexported) with-open-file* to io.lisp, use there

4 years agoadded ensure-functionf
Attila Lendvai [Sun, 16 Nov 2008 17:49:09 +0000] 
added ensure-functionf

4 years agonil external-format means the default for functions in io.lisp. also clean up doscstr...
Attila Lendvai [Sun, 23 Nov 2008 12:00:49 +0000] 
nil external-format means the default for functions in io.lisp. also clean up doscstrings.

4 years agouse ensure-function at one more place
Attila Lendvai [Sun, 23 Nov 2008 11:47:16 +0000] 
use ensure-function at one more place

4 years agofix force-output/finish-output thinko in io.lisp
Attila Lendvai [Sun, 23 Nov 2008 11:16:47 +0000] 
fix force-output/finish-output thinko in io.lisp

4 years agouse &key's in copy-stream just like the other io functions. add :force-output, :buffe...
Attila Lendvai [Mon, 27 Oct 2008 14:02:14 +0000] 
use &key's in copy-stream just like the other io functions. add :force-output, :buffer and :buffer-size arguments.

4 years agoadded reversef and nreversef
Attila Lendvai [Sun, 7 Sep 2008 00:31:07 +0000] 
added reversef and nreversef

4 years agoamend COPY-SEQUENCE.1
Luis Oliveira [Sun, 27 Jul 2008 03:01:30 +0000] 
amend COPY-SEQUENCE.1

- can't assume that (upgraded-array-element-type 'fixnum)

4 years agotests: mark CLISP failures
Luis Oliveira [Sun, 27 Jul 2008 02:54:27 +0000] 
tests: mark CLISP failures

- COPY-HASH-TABLE.1 causes a stack overflow due to a CLISP bug.
- ALIST-HASH-TABLE.1, PLIST-HASH-TABLE.1 fail because HASH-TABLE-TEST
  returns EXT:FASTHASH-{EQ,EQL}.

4 years agotests: define and use ERRORP
Luis Oliveira [Sun, 27 Jul 2008 02:46:35 +0000] 
tests: define and use ERRORP

- TYPEP returns a generalized boolean.  On Lisps like ECL, this detail
  was causing some tests to fail.  ERRORP takes this into account.

4 years agoSmall fix to COPY-HASH-TABLE
Luis Oliveira [Sun, 27 Jul 2008 02:45:07 +0000] 
Small fix to COPY-HASH-TABLE

- New hash-table was being created with a bogus rehash-size.
- Added regression test in another patch.

4 years agoDefine an alexandria-tests ASDF system.
Luis Oliveira [Sun, 27 Jul 2008 02:43:21 +0000] 
Define an alexandria-tests ASDF system.

- make it usable for other Lisps besides SBCL.
- TEST-OP runs tests both compiled and evaluated.

4 years agoNew macro: MULTIPLE-VALUE-PROG2
Luis Oliveira [Sun, 27 Jul 2008 02:37:13 +0000] 
New macro: MULTIPLE-VALUE-PROG2

4 years agoPROPER-LIST-LENGTH and related changes
Nikodemus Siivola [Fri, 1 Aug 2008 17:46:47 +0000] 
PROPER-LIST-LENGTH and related changes

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

4 years agoAdd AUTHORS file.
Tobias C. Rittweiler [Wed, 11 Jun 2008 16:25:23 +0000] 
Add AUTHORS file.

4 years agoUNWIND-PROTECT-CASE docstring update
Tobias C. Rittweiler [Sat, 7 Jun 2008 12:22:02 +0000] 
UNWIND-PROTECT-CASE docstring update

4 years agoexplicitly export the CDR5 types from DEFPACKAGE
Nikodemus Siivola [Mon, 7 Jul 2008 09:50:26 +0000] 
explicitly export the CDR5 types from DEFPACKAGE

4 years agoimplement MAKE-GENSYM, use similar logic in MAKE-GENSYM-LIST
Nikodemus Siivola [Mon, 7 Jul 2008 08:57:04 +0000] 
implement MAKE-GENSYM, use similar logic in MAKE-GENSYM-LIST

4 years agoimplement PARSE-ORDINARY-LAMBDA-LIST
Nikodemus Siivola [Mon, 7 Jul 2008 08:55:06 +0000] 
implement PARSE-ORDINARY-LAMBDA-LIST

4 years agoimplement SIMPLE-PROGRAM-ERROR
Nikodemus Siivola [Mon, 7 Jul 2008 08:51:14 +0000] 
implement SIMPLE-PROGRAM-ERROR

4 years agoDefault value for external-format
Levente Meszaros [Mon, 23 Jun 2008 10:49:01 +0000] 
Default value for external-format

4 years agoadded symbolicate
Attila Lendvai [Wed, 4 Jun 2008 21:10:20 +0000] 
added symbolicate

4 years agoadded io.lisp with a few utils:
Attila Lendvai [Mon, 2 Jun 2008 16:49:36 +0000] 
added io.lisp with a few utils:

with-input-from-file
with-output-to-file
read-file-into-string
write-string-into-file
copy-stream
copy-file

4 years agotype in WHEN-LET* docstring
Nikodemus Siivola [Mon, 2 Jun 2008 08:58:48 +0000] 
type in WHEN-LET* docstring

4 years agoextended WITH-GENSYMS documentation
Nikodemus Siivola [Mon, 2 Jun 2008 08:50:28 +0000] 
extended WITH-GENSYMS documentation

4 years agoadditional restart for DEFINE-CONSTANT
Nikodemus Siivola [Mon, 2 Jun 2008 08:48:26 +0000] 
additional restart for DEFINE-CONSTANT

4 years agomove EXTRACT-FUNCTION-NAME to control-flow.lisp
Nikodemus Siivola [Mon, 2 Jun 2008 08:42:55 +0000] 
move EXTRACT-FUNCTION-NAME to control-flow.lisp

4 years agobetter lambda-list for IF-LET, thanks to Tobias Ritterweiler
Nikodemus Siivola [Mon, 2 Jun 2008 08:40:32 +0000] 
better lambda-list for IF-LET, thanks to Tobias Ritterweiler

4 years agoWHEN-LET* short circuits, IF-LET* deleted
Nikodemus Siivola [Sat, 31 May 2008 22:35:09 +0000] 
WHEN-LET* short circuits, IF-LET* deleted

4 years agoalexandria-functions-really-shutup-notes.diff
Tobias C. Rittweiler [Sun, 1 Jun 2008 09:01:11 +0000] 
alexandria-functions-really-shutup-notes.diff

4 years agoalexandria-functions-shutup-opt-notes.diff
Tobias C. Rittweiler [Sun, 1 Jun 2008 08:43:12 +0000] 
alexandria-functions-shutup-opt-notes.diff

* functions.lisp: Make optimization notes about
%COERCE-CALLABLE-TO-FUN go away by inserting calls to
ENSURE-FUNCTION to the appropriate places.

4 years agoalexandria-more-concrete-proper-list-type.diff
Tobias C. Rittweiler [Sun, 1 Jun 2008 08:55:09 +0000] 
alexandria-more-concrete-proper-list-type.diff

* lists.lisp (proper-list): Make type more concrete, instead of
"(SATISFIES PROPER-LIST-P)" make it "(AND LIST ...)".