chicken-users
[Top][All Lists]

## Re: [Chicken-users] list of more than 2 elements is pair?

 From: Paul Sika Subject: Re: [Chicken-users] list of more than 2 elements is pair? Date: Mon, 10 Dec 2018 12:13:21 +0000

hi Thomas,
thank you very much. it is indeed clear from your explanation. it is about the cons cells.

But i must say that at the back of the mind it feels like it should not satisfy pair? because there are 3 elements in the list.

That said, I shall keep learning :-)

thanks again, Thomas.

On Mon, Dec 10, 2018 at 12:00 PM Thomas Chust <address@hidden> wrote:
On Mon, 10 Dec 2018 11:48:56 +0000 Paul Sika <address@hidden> wrote:

> [...]
> I am trying a scheme tutorial using the chicken repl and i see that
> (pair? '(1 2 3))  yields true.
> is this normal ?
> [...]

Hello Paul,

yes, this is perfectly normal: Every non-empty list satisfies the pair?
predicate because lists are linked chains of cons cells.

The _expression_

'(1 2 3)

can also be represented by the the following more verbose notation,
which matches its in-memory structure more closely:

'(1 . (2 . (3 . ())))

Everything represented by '(X . Y) or produced by (cons X Y) will
satisfy pair?.

I hope this helps :-)

Ciao,
Thomas

--