guile-user
[Top][All Lists]
Advanced

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

Re: guile.m4


From: Aaron VanDevender
Subject: Re: guile.m4
Date: Tue, 13 Jun 2006 22:02:12 -0500

On Wed, 2006-06-14 at 01:17 +0100, Neil Jerram wrote:
> > +GUILE_CHECK([GUILE_CORRECT_VERSION_P],
> > +    [(exit (let loop ((v1 (map string->number (string-split (version) 
> > (string-ref \".\" 0))))
> > +             (v2 (map string->number (string-split \"$1\" (string-ref 
> > \".\" 0)))))
> 
> Can we use #\. instead of (string-ref "." 0), or is the former a
> nightmare to quote correctly?

I tried to escape it, and I couldn't figure it out. And from
guile.m4:GUILE_CHECK:

#    Avoid using the character "#" since that confuses autoconf.

It may not be possible. I don't know.

> > +             (cond ((and (null? v1) (null? v2)) 0)
> > +                   ((null? v1) 0)
> > +                   ((null? v2) 1)
> > +                   ((> (car v1) (car v2)) 0)
> > +                   ((< (car v1) (car v2)) 1)
> 
> Shouldn't the (null? v1) case have the same polarity as the (< v1 v2)
> case (because absence == 0) ?

Yes, you are correct. It should be:
             (cond ((and (null? v1) (null? v2)) 0) 
                   ((null? v1) 1)
                   ((null? v2) 0)
                   ((> (car v1) (car v2)) 0)
                   ((< (car v1) (car v2)) 1)
                   (else (loop (cdr v1) (cdr v2))))))

I had it all figured out with #f's and #t's instead of 1's and 0's, but
then I couldn't get it to escape in autoconf, so I guess I messed it up
when I switched to 0's and 1's.

Good eyes.



-- 

address@hidden
Plead the First.




reply via email to

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