To put it simply: My question is whats is the type of a define expression in Scheme?
Take for example:
(define x 5)
or
(define x (lambda (n) (* n n)))
It's a bit confusing for me. Can anyone help?
To put it simply: My question is whats is the type of a define expression in Scheme?
Take for example:
(define x 5)
or
(define x (lambda (n) (* n n)))
It's a bit confusing for me. Can anyone help?
In Racket
define
is a special form and not an expression, so it doesn't have a value per-se, if you try to execute something like this you'll get an error:If it were to have a value it'd be something akin to
void
, but that will be dependent on the particular implementation details of the interpreter (I believe I saw one interpreter return#t
after adefine
was completed)The specification doesn't go into details on this point, either - reinforcing the statement that it's implementation-dependent.