chicken-users
[Top][All Lists]
Advanced

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

[Chicken-users] scheme student perplexed by failures ...


From: john saylor
Subject: [Chicken-users] scheme student perplexed by failures ...
Date: Sat, 11 Aug 2012 18:51:37 -0400

hi

been working through 'yet another scheme tutorial'
[http://www.shido.info/lisp/idx_scm_e.html], and have come up against
something i cannot figure out.

here is the "answer:"


(define (my-reverse ls)
  ;(my-reverse-rec ls ()))
  (my-reverse-rec ls '()))

(define (my-reverse-rec ls0 ls1)
  (if (null? ls0)
      ls1
      (my-reverse-rec (cdr ls0) (cons (car ls0) ls1))))


works great- reverses the list.

and here is my propsed solution:
define js-reverse
    (lambda (ls)
        ((reverse-rec ls '()))))

(define js-reverse-rec
    (lambda (asc dsc)
        ((if (null? asc)
            dsc
            ;(js-reverse-rec (cdr asc) (list dsc (car asc)))))))
            (js-reverse-rec (cdr asc) (cons (car asc) dsc))))))

pretty much identical [i left in my initial (incorrect) use of 'list']

but my code errors out!
#;38> (js-reverse '(1 2))

Error: call of non-procedure: (dsc)

        Call history:

        <syntax>          (quote (1 2))
        <syntax>          (##core#quote (1 2))
        <eval>    (js-reverse (quote (1 2)))
        <eval>    [js-reverse] ((reverse-rec ls (quote ())))
        <eval>    [js-reverse] (reverse-rec ls (quote ()))
        <eval>    [reverse-rec] (null? asc)
        <eval>    [reverse-rec] (reverse-rec (cdr asc) (cons (car asc) dsc))
        <eval>    [reverse-rec] (cdr asc)
        <eval>    [reverse-rec] (cons (car asc) dsc)
        <eval>    [reverse-rec] (car asc)
        <eval>    [reverse-rec] (null? asc)
        <eval>    [reverse-rec] (reverse-rec (cdr asc) (cons (car asc) dsc))
        <eval>    [reverse-rec] (cdr asc)
        <eval>    [reverse-rec] (cons (car asc) dsc)
        <eval>    [reverse-rec] (car asc)
        <eval>    [reverse-rec] (null? asc)     <--

i have tried putting the dsc in parens, calling 'quote' all to no avail.

i hope it's something idiotic that i am just missing. any help is welcome.

-- 
\js [http://or8.net/~johns/] : "complete obscure contrariness"



reply via email to

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