2

In frame 26 we get the definition for cons0:

(degree (conso a d p)
  (== `(,a ■ ,d) p))

The book hasn't mentioned yet what these black cubes are supposed to do. What does it mean?

One hint is in frame 3-4 where it is mentioned that '(d a t e ■ s) is not a proper list.

Alper
  • 3,424
  • 4
  • 39
  • 45

1 Answers1

2

That's just a dot:

(defrel (cons° a d p) (== `(,a . ,d) p))

The obsession with the quasiquote is quite unhelpful here, in my opinion. It seem much easier to me to read when written as the equivalent

(defrel (cons° a d p) (== (cons a d) p))
Will Ness
  • 70,110
  • 9
  • 98
  • 181
  • I considered it was a dot but what does a dot mean? – Alper Sep 15 '22 at 11:36
  • 1
    Ah, that's a Scheme question. :) it is exactly that which you see here: `(cons 1 2)` prints as `(1 . 2)`, and it also works with the backquote/quasiquote. There should be lots of Q&As about "Scheme dot list" here on SO. – Will Ness Sep 15 '22 at 15:30
  • 1
    See e.g. https://stackoverflow.com/search?tab=votes&q=%5bscheme%5d%20dot%20list. – Will Ness Sep 15 '22 at 15:35