lilypond-user
[Top][All Lists]
Advanced

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

Re: [SPAM] Re: Validating a Scheme list


From: Urs Liska
Subject: Re: [SPAM] Re: Validating a Scheme list
Date: Thu, 15 May 2014 11:26:20 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.0

Am 15.05.2014 10:26, schrieb David Kastrup:
Urs Liska <address@hidden> writes:

Hi all,

I am working on a Scheme function and would like to check if I have found the 
best solution for a specific subpart. Somehow it looks more complicated than 
necessary.

The function needs to test if each element of a given list is a (sub)list with 
exactly two elements. So

'((1 2)(3 4))

would return #t while

'((5 6)(7 8 9))

would return #f.

My solution is

\version "2.19.6"

validate =

#(define-scheme-function (parser location lst) (list?)

    (if (memv #f (map (lambda sig

Why (lambda sig ... rather than (lambda (sig) ... here and consequently
(car sig) instead of sig below?

getting lost maybe? ;-)


                        (and (list? (car sig))

                             (= 2 (length (car sig))))) lst))

        (display "invalid")

        (display "valid"))

    (newline))

(if (every (lambda (sig) (eqv 2 (length+ sig))) lst)
     (display "valid")
     (display "invalid"))


Apart from that it's "eqv?" this works perfectly and is (other than Orm's solution) simple to incorporate in my actual function.

Thanks
Urs


--




reply via email to

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