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.
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.
Nikodemus Siivola [Sun, 22 Apr 2012 16:45:36 +0000]
untabify tests
Yech. Phui. Tabs.
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.
Nikodemus Siivola [Fri, 30 Mar 2012 15:22:47 +0000]
copy-stream: fix non-standard loops
Added test-case.
Nikodemus Siivola [Fri, 30 Mar 2012 15:05:35 +0000]
clarify SHUFFLE docstring
It's destructive.
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.
Zach Beane [Wed, 7 Mar 2012 03:35:42 +0000]
Fix COPY-STREAM when called without an explicit END argument.
Attila Lendvai [Fri, 2 Mar 2012 08:13:48 +0000]
Added support for copy-stream for START and END keyword arguments.
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.
Jyrki Jaakkola [Fri, 20 Jan 2012 14:59:54 +0000]
make Alexandria work with readtable-case :INVERT
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.
Jianshi Huang [Wed, 9 Nov 2011 12:56:58 +0000]
SHUFFLE on non-lists did not respect :START and :END
Nikodemus Siivola [Wed, 2 Nov 2011 16:33:48 +0000]
beef up the README a bit
James M. Lawrence [Wed, 2 Nov 2011 16:25:13 +0000]
fix bug in CURRY compiler-macro
Multiple evaluation of the function argument, oops.
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.
Mason Smith [Sat, 29 Oct 2011 21:49:29 +0000]
improved -- well, fixed -- SUBFACTORIAL
Plus tests.
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.
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).
Nikodemus Siivola [Thu, 12 May 2011 06:27:47 +0000]
add :description and :long-description to .asd
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.
Nikodemus Siivola [Sun, 6 Mar 2011 11:36:37 +0000]
missing final punctuation in a docstring
Nikodemus Siivola [Sun, 6 Mar 2011 11:35:25 +0000]
clarify INLINE/NOTINLINE issue with compiler-macros
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...
Nikodemus Siivola [Wed, 13 Oct 2010 21:58:36 +0000]
Merge branch 'master' of common-lisp.net:/project/alexandria/alexandria
Nikodemus Siivola [Wed, 13 Oct 2010 21:57:54 +0000]
lock the package on SBCL
Should have done this ages ago.
Attila Lendvai [Fri, 8 Oct 2010 17:01:51 +0000]
copy-sequence returns the number of bytes written
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.
Nikodemus Siivola [Thu, 23 Sep 2010 15:32:06 +0000]
DESTRUCTURING-CASE & friends in the manual
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,
Nikodemus Siivola [Thu, 23 Sep 2010 15:20:35 +0000]
added .gitignore -files
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.
Attila Lendvai [Sun, 11 Apr 2010 18:51:14 +0000]
simple-style-warning & co: better compatibility with ccl
Nikodemus Siivola [Mon, 5 Apr 2010 16:52:54 +0000]
better docstring for MULTIPLE-VALUE-PROG2, a few more tests
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.
Nikodemus Siivola [Sun, 4 Apr 2010 23:21:35 +0000]
document ENSURE-FUNCTIONF
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.
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.)
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.
Nikodemus Siivola [Mon, 8 Mar 2010 10:57:12 +0000]
minimal README
Nikodemus Siivola [Mon, 8 Mar 2010 08:52:04 +0000]
missing earmuff in tests.lisp
Patch by: Peter Graves <peter@armedbear.org>
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>
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>
Attila Lendvai [Wed, 17 Feb 2010 14:06:14 +0000]
fix: assoc-value setter now always returns the new value
Attila Lendvai [Fri, 12 Feb 2010 11:32:56 +0000]
rewrite assoc-value to look up the alist entry only once
Attila Lendvai [Fri, 12 Feb 2010 11:23:14 +0000]
added a minimal assoc-value test
Attila Lendvai [Fri, 12 Feb 2010 10:54:21 +0000]
fix: (push (assoc-value ... :test 'foo) ...) ignored :test when looking up the value
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)
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
Attila Lendvai [Wed, 25 Nov 2009 12:50:14 +0000]
add assoc-value and rassoc-value to the experimental part of package.lisp
Attila Lendvai [Wed, 25 Nov 2009 12:50:04 +0000]
added assoc-value (written by John Fremlin)
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.
Attila Lendvai [Fri, 30 Oct 2009 17:29:03 +0000]
copy-pastable goodie in the docstring of parse-ordinary-lambda-list
Attila Lendvai [Fri, 30 Oct 2009 17:24:11 +0000]
added :allow-specializers to parse-ordinary-lambda-list
Attila Lendvai [Mon, 28 Sep 2009 21:06:47 +0000]
parse-ordinary-lambda-list: make normalization customizable through keywords
Faré Rideau [Fri, 9 Oct 2009 19:12:35 +0000]
reorder definitions to get rid of a warning about not inlining a forward reference
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... :)
Attila Lendvai [Mon, 28 Sep 2009 20:13:18 +0000]
fix: in parse-ordinary-lambda-list normalize &aux specifications as promised in the docs
Johan Ur Riise [Wed, 16 Sep 2009 13:27:20 +0000]
fix median
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)
Attila Lendvai [Fri, 5 Dec 2008 13:12:49 +0000]
added (unexported) with-open-file* to io.lisp, use there
Attila Lendvai [Sun, 16 Nov 2008 17:49:09 +0000]
added ensure-functionf
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.
Attila Lendvai [Sun, 23 Nov 2008 11:47:16 +0000]
use ensure-function at one more place
Attila Lendvai [Sun, 23 Nov 2008 11:16:47 +0000]
fix force-output/finish-output thinko in io.lisp
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.
Attila Lendvai [Sun, 7 Sep 2008 00:31:07 +0000]
added reversef and nreversef
Luis Oliveira [Sun, 27 Jul 2008 03:01:30 +0000]
amend COPY-SEQUENCE.1
- can't assume that (upgraded-array-element-type 'fixnum)
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}.
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.
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.
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.
Luis Oliveira [Sun, 27 Jul 2008 02:37:13 +0000]
New macro: MULTIPLE-VALUE-PROG2
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)
Tobias C. Rittweiler [Wed, 11 Jun 2008 16:25:23 +0000]
Add AUTHORS file.
Tobias C. Rittweiler [Sat, 7 Jun 2008 12:22:02 +0000]
UNWIND-PROTECT-CASE docstring update
Nikodemus Siivola [Mon, 7 Jul 2008 09:50:26 +0000]
explicitly export the CDR5 types from DEFPACKAGE
Nikodemus Siivola [Mon, 7 Jul 2008 08:57:04 +0000]
implement MAKE-GENSYM, use similar logic in MAKE-GENSYM-LIST
Nikodemus Siivola [Mon, 7 Jul 2008 08:55:06 +0000]
implement PARSE-ORDINARY-LAMBDA-LIST
Nikodemus Siivola [Mon, 7 Jul 2008 08:51:14 +0000]
implement SIMPLE-PROGRAM-ERROR
Levente Meszaros [Mon, 23 Jun 2008 10:49:01 +0000]
Default value for external-format
Attila Lendvai [Wed, 4 Jun 2008 21:10:20 +0000]
added symbolicate
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
Nikodemus Siivola [Mon, 2 Jun 2008 08:58:48 +0000]
type in WHEN-LET* docstring
Nikodemus Siivola [Mon, 2 Jun 2008 08:50:28 +0000]
extended WITH-GENSYMS documentation
Nikodemus Siivola [Mon, 2 Jun 2008 08:48:26 +0000]
additional restart for DEFINE-CONSTANT
Nikodemus Siivola [Mon, 2 Jun 2008 08:42:55 +0000]
move EXTRACT-FUNCTION-NAME to control-flow.lisp
Nikodemus Siivola [Mon, 2 Jun 2008 08:40:32 +0000]
better lambda-list for IF-LET, thanks to Tobias Ritterweiler
Nikodemus Siivola [Sat, 31 May 2008 22:35:09 +0000]
WHEN-LET* short circuits, IF-LET* deleted
Tobias C. Rittweiler [Sun, 1 Jun 2008 09:01:11 +0000]
alexandria-functions-really-shutup-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.
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 ...)".
Tobias C. Rittweiler [Sun, 1 Jun 2008 08:52:04 +0000]
alexandria.asd-fixup.diff
* alexandria.asd: Add dependency between `types.lisp' and
`sequences.lisp', as the latter uses ARRAY-INDEX since recently.
Attila Lendvai [Sun, 1 Jun 2008 11:46:57 +0000]
Use #+sbcl's simple-reader-error to get an error report with line number and character position
Nikodemus Siivola [Thu, 29 May 2008 18:13:32 +0000]
fix MAP-PERMUTATIONS
Editing damage: extra IF surrounding the permutation guts. Also add a
trivial test-case.
Attila Lendvai [Sun, 27 Apr 2008 20:53:01 +0000]
added simple-parse-error
Attila Lendvai [Thu, 10 Apr 2008 17:28:01 +0000]
Added length
Attila Lendvai [Tue, 1 Apr 2008 11:05:18 +0000]
Fix some glitches with simple-reader-error and add comment why there's no :report for it.
Attila Lendvai [Thu, 27 Mar 2008 19:28:21 +0000]
Added simple-reader-error
Tobias C. Rittweiler [Tue, 11 Mar 2008 19:54:48 +0000]
alexandria-export-unwind-protect-case.diff
* package.lisp: Export UNWIND-PROTECT-CASE.