I'm trying to work from http://srfi.schemers.org/srfi-2/srfi-2.html
because the Chicken site is down, and I can't make and-let* work for
me at all.  I've shown two attempts below.

In the chicken source, in csi.scm, there's:

(and-let* ([(fx>= a len)]
           [o (fxmod len 16)]
           [(not (fx= o 0))] )
    {stuff}        

which looks like it's trying to do something like my first example
below.  As you can see, though, mine doesn't actually work in any
useful sense.

The goal, in case it's subtle, is to have and-let* return #f after
the display of "foo.\n".

-Robin

- -----------

(define land
  (and-let*
    (
     (begin (display "foo.\n") #t)
     ((= 2 1))
     (begin (display "bar.\n") #t)
     )
    (begin
      (display "Still here.\n"))))
(display "land: ")
(write land)
(display "\n")

- ---

$ /tmp/land                       
foo.
Error: call of non-procedure: #<unspecified>

- -----------

- -----------

(define land
  (and-let*
    (
     (begin (display "foo.\n") #t)
     (= 2 1)
     (begin (display "bar.\n") #t)
     )
    (begin
      (display "Still here.\n"))))
(display "land: ")
(write land)
(display "\n")

- ---

[EMAIL PROTECTED]> /tmp/land                       
foo.
bar.
Still here.
Error: call of non-procedure: #<unspecified>

- -----------

-- 
http://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/
Reason #237 To Learn Lojban: "Homonyms: Their Grate!"
Proud Supporter of the Singularity Institute - http://singinst.org/


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to