What is the meaning of this scheme

I'm new to Scheme, having looked at Exercise 1.5 SICP, what is the meaning / use of this expression?

(define (p) (p))

Thank!

+5
source share
2 answers
(define (p) (p))

The above function p, which takes no arguments and calls itself recursively (infinitely).

Exercise 1.5 deals with the order of the applicative order and the evaluation of the normal order.

(define (test x y)
  (if (= x 0)
       0
       y))

(test 0 (p))

In an applicative order, all arguments are evaluated, and then they are applied to test, so the program freezes if the interpreter uses such an estimate in this particular case.

+8
source

'define' is defined at the very beginning, in chapter 1 :

General procedure definition form

(define (< > < > ) <body> )

, . "", .

+2

All Articles