guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: sorted?


From: Stefan Schmiedl
Subject: Re[2]: sorted?
Date: Mon, 09 Dec 2024 19:14:10 +0000
User-agent: eM_Client/10.1.4588.0

------ Original Message ------
From tomas@tuxteam.de
To "Stefan Schmiedl" <s@xss.de>
Cc guile-user@gnu.org
Date 09.12.2024 15:10:18
Subject Re: sorted?

On Mon, Dec 09, 2024 at 01:54:47PM +0000, Stefan Schmiedl wrote:
 ------ Original Message ------
 > From tomas@tuxteam.de
 To guile-user@gnu.org
 Date 09.12.2024 12:42:22
 Subject Re: sorted?

 > On Mon, Dec 09, 2024 at 11:37:33AM +0000, Ricardo G. Herdt wrote:
 > >  Hi Jeremy,
 > >
 > >  Am 09.12.2024 11:21 schrieb Jeremy Korwin-Zmijowski:
 > >  > The reference says :
 > >  >
 > >  >    Scheme Procedure: *sorted?* items less
 > >  >    C Function: *scm_sorted_p* (items, less)
 > >  >
 > >  >        Return |#t| if items is a list or vector such that, for each
 > >  >        element x and the next element y of items, |(less y x)| returns
 > >  >        |#f|. Otherwise return |#f|.
 > >  >
 > >  > I think the description should be :
 > >  >
 > >  >    Return |#t| if items is a list or vector such that, for each element
 > >  >    x and the next element y of items, |(less y x)| returns |#t|.
 > >  >    Otherwise return |#f|.
 > >
 > >  Actually no, since less is applied to y and x in that order. This way
 > >  (sorted? '(1 1) <) correctly returns #t as your experiments show.
 >
 > I don't get it. (< 1 1) is /always/ #f, regardless of the order of the
 > ones?
 >
 > I'm as confused as Jeremy is.
 >

 I understand the reference text as "Return #t if the list is _not
 unsorted_".
 Since (< 1 1) returns #f, '(1 1) is _not unsorted_ and all is well.
This seems the intention. But since it accepts an arbitrary "less"
function, it ends being iffy. How do you go from some "less" to a
"less-or-equal" without running into undecidability dark alleys?

Well, the iffyness is managed by the programmer, who chooses the
comparison function.

Do you have an example of such an iffy set?

s.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]