cons
Forum rules
Please respect your teacher's guidelines. Homework is a learning tool. If we just post answers, we aren't actually helping. When you post questions, be sure to show what you have tried or what you don't understand.
Please respect your teacher's guidelines. Homework is a learning tool. If we just post answers, we aren't actually helping. When you post questions, be sure to show what you have tried or what you don't understand.
Re: cons
Even if unquoted empty lists were recognized, the following part of your expression is not a pair:
Code: Select all
(cons (cons 12 ()) )
-
- Posts: 94
- Joined: Mon Jul 21, 2008 7:26 am
- Location: München, Germany
- Contact:
Re: cons
Actually, in Common Lisp, () is equivalent to (reads as) NIL, which is self-evaluating, so it's a completely legitimate way of writing the empty list. (Which does not mean it isn't stylistically questionable.)
Re: cons
Maybe it's easier to compose it with list first eg.Ehsan wrote:Hi every . i have question about cons in lisp . how can i make this list
(1 (4 9 (12) ))
i used this rule (cons 1 (cons (cons 4 (cons 9 (cons (cons 12()))) ()) ())) but interpreter return error
Code: Select all
(list 1 (list 4 9 (list 1 2)))
So translating the first list would get you:
Code: Select all
(cons 1(cons (list 4 9 (list 1 2)) NIL))
It's quite difficult to get it right so before list and quasiquoting it must have been a source of many errors
This is true for Scheme. The empty list needs to be quoted since it cannot be evaluated.nuntius wrote:I think the main issue is that the empty list must be written as '(). If you write (), then it will try to evaluate the function with no name.
For Common Lisp quoting is optional. (), NIL, '() and 'NIL evaluates to NIL.nuntius wrote: In Common Lisp, '() can also be written as nil.
I'm the author of two useless languages that uses BF as target machine.
Currently I'm planning a Scheme compiler :p
Currently I'm planning a Scheme compiler :p
Re: cons
tnx everyone . I created this instruction , but this is very confusing
(cons 1 (cons (cons 2 (cons 6 (cons 7 (cons 8 ()))))(cons 3 ( cons (cons 4 (cons 9 (cons (cons 12())())))(cons(cons 5(cons 10 (cons 11()))) ())))))
(1 (2 6 7 8) 3 (4 9 (12)) (5 10 11))
(cons 1 (cons (cons 2 (cons 6 (cons 7 (cons 8 ()))))(cons 3 ( cons (cons 4 (cons 9 (cons (cons 12())())))(cons(cons 5(cons 10 (cons 11()))) ())))))
(1 (2 6 7 8) 3 (4 9 (12)) (5 10 11))