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"

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

Reply via email to