let* -- r7rs Definition syntax;
Syntax keywords:
variable: identifier;initializer: identifier;binding: pattern with variants:
(variable initializer);bindings: pattern with variants:
();(binding |...|);expression: expression;Syntax variants:
(_ bindings)(_ bindings expression |...|)scheme:base -- (scheme base);scheme -- (scheme);(let* <bindings> <body>)Syntax:
<Bindings>has the form((<variable_1> <init_1>) ...)and
<body>is a sequence of zero or more definitions followed by one or more expressions as described in section onlambda.Semantics: The
let*binding construct is similar tolet, but the bindings are performed sequentially from left to right, and the region of a binding indicated by(<variable> <init>)is that part of thelet*expression to the right of the binding. Thus the second binding is done in an environment in which the first binding is visible, and so on. The<variable>s need not be distinct.(let ((x 2) (y 3)) (let* ((x 7) (z (+ x y))) (* z x))) ===> 70
The text herein was sourced and adapted as described in the "R7RS attribution of various text snippets" appendix.