What's illegal about my function?
Posted: Sun May 03, 2015 11:51 pm
Hi everyone. I'm new to scheme and functional programming in general, so I apologize if this kind of question gets asked a lot. I've tried every conceivable search phrase and lots of modifications, consulted numerous books and tutorials, but the error message just isn't descriptive. I'm afraid I'm fundamentally misunderstanding the language or something.
I'm attempting to write a function that prints each entry of a list on its own line using by re-cursing on the tail. Here's what I have:
Here's how I'm running it and what I get:
The thing runs as I expected, but then shows me the error message and exits. What have I done wrong?
Thanks very much in advance!
I'm attempting to write a function that prints each entry of a list on its own line using by re-cursing on the tail. Here's what I have:
Code: Select all
(define print-list
(lambda (l)
(if (null? l)
(display "done\n")
( (display (car l)) (newline) (print-list (cdr l)) ))))
(print-list '(1 2 3 4 5) )
Code: Select all
john@home:~/code/lisp$ tinyscheme helloworld.scm
1
2
3
4
5
done
Error: (helloworld.scm : 8) illegal function
Errors encountered reading helloworld.scm
john@home:~/code/lisp$
Thanks very much in advance!