mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 06:20:23 +02:00
*** empty log message ***
This commit is contained in:
parent
7688430d05
commit
ed8c86364e
2 changed files with 52 additions and 0 deletions
48
NEWS
48
NEWS
|
@ -35,6 +35,54 @@ in backtraces.
|
||||||
|
|
||||||
* Changes to Scheme functions and syntax
|
* Changes to Scheme functions and syntax
|
||||||
|
|
||||||
|
** New function: sorted? SEQUENCE LESS?
|
||||||
|
Returns `#t' when the sequence argument is in non-decreasing order
|
||||||
|
according to LESS? (that is, there is no adjacent pair `... x y
|
||||||
|
...' for which `(less? y x)').
|
||||||
|
|
||||||
|
Returns `#f' when the sequence contains at least one out-of-order
|
||||||
|
pair. It is an error if the sequence is neither a list nor a
|
||||||
|
vector.
|
||||||
|
|
||||||
|
** New function: merge LIST1 LIST2 LESS?
|
||||||
|
LIST1 and LIST2 are sorted lists.
|
||||||
|
Returns the sorted list of all elements in LIST1 and LIST2.
|
||||||
|
|
||||||
|
Assume that the elements a and b1 in LIST1 and b2 in LIST2 are "equal"
|
||||||
|
in the sense that (LESS? x y) --> #f for x, y in {a, b1, b2},
|
||||||
|
and that a < b1 in LIST1. Then a < b1 < b2 in the result.
|
||||||
|
(Here "<" should read "comes before".)
|
||||||
|
|
||||||
|
** New procedure: merge! LIST1 LIST2 LESS?
|
||||||
|
Merges two lists, re-using the pairs of LIST1 and LIST2 to build
|
||||||
|
the result. If the code is compiled, and LESS? constructs no new
|
||||||
|
pairs, no pairs at all will be allocated. The first pair of the
|
||||||
|
result will be either the first pair of LIST1 or the first pair of
|
||||||
|
LIST2.
|
||||||
|
|
||||||
|
** New function: sort SEQUENCE LESS?
|
||||||
|
Accepts either a list or a vector, and returns a new sequence
|
||||||
|
which is sorted. The new sequence is the same type as the input.
|
||||||
|
Always `(sorted? (sort sequence less?) less?)'. The original
|
||||||
|
sequence is not altered in any way. The new sequence shares its
|
||||||
|
elements with the old one; no elements are copied.
|
||||||
|
|
||||||
|
** New procedure: sort! SEQUENCE LESS
|
||||||
|
Returns its sorted result in the original boxes. No new storage is
|
||||||
|
allocated at all. Proper usage: (set! slist (sort! slist <))
|
||||||
|
|
||||||
|
** New function: stable-sort SEQUENCE LESS?
|
||||||
|
Similar to `sort' but stable. That is, if "equal" elements are
|
||||||
|
ordered a < b in the original sequence, they will have the same order
|
||||||
|
in the result.
|
||||||
|
|
||||||
|
** New function: stable-sort! SEQUENCE LESS?
|
||||||
|
Similar to `sort!' but stable.
|
||||||
|
Uses temporary storage when sorting vectors.
|
||||||
|
|
||||||
|
** New functions: sort-list, sort-list!
|
||||||
|
Added for compatibility with scsh.
|
||||||
|
|
||||||
** The range of logand, logior, logxor, logtest, and logbit? have changed.
|
** The range of logand, logior, logxor, logtest, and logbit? have changed.
|
||||||
|
|
||||||
These functions now operate on numbers in the range of a C unsigned
|
These functions now operate on numbers in the range of a C unsigned
|
||||||
|
|
4
RELEASE
4
RELEASE
|
@ -12,6 +12,10 @@ In release 1.5:
|
||||||
- remove names evalext.c: serial-map,
|
- remove names evalext.c: serial-map,
|
||||||
ramap.c: serial-array-copy!, serial-array-map!
|
ramap.c: serial-array-copy!, serial-array-map!
|
||||||
|
|
||||||
|
Modules sort.c and random.c should be factored out into separate
|
||||||
|
modules (but still be distributed with guile-core) when we get a new
|
||||||
|
module system.
|
||||||
|
|
||||||
Platforms for test builds:
|
Platforms for test builds:
|
||||||
SunOS (gcc and pcc) --- galapas.ai.mit.edu
|
SunOS (gcc and pcc) --- galapas.ai.mit.edu
|
||||||
Solaris (gcc and SUN cc) --- saturn.ai.mit.edu
|
Solaris (gcc and SUN cc) --- saturn.ai.mit.edu
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue