내부 정의 제한: #%stratified-body
내부 정의 제한: #%stratified-body
#%stratified-body는 내부 정의 맥락에서 표현식이 정의보다 먼저 나오는 것을 허용하지 않는, 제한된 형태의 폼입니다. letrec과 달리 모든 변수의 위치가 먼저 할당됩니다.
출처: Racket Reference
본문
syntax
(#%stratified-body defn-or-expr ...)
내부 정의 맥락의 정의/표현식 수열에 대해 (let () defn-or-expr ...)와 같습니다. 다만 한 가지 차이가 있는데, 정의 앞에 표현식이 나오는 것을 허용하지 않으며, 모든 정의는 그 외의 모든 정의를 참조하는 것으로 취급됩니다(즉, 변수들의 위치가 모두 먼저 할당되는데, 이는 letrec과 같고 letrec-syntaxes+values와는 다릅니다).
#%stratified-body 폼은 더 제한된 종류의 내부 정의 맥락을 제공하는 구문 폼이나 언어를 구현할 때 유용합니다.
더 알아보기
letrec,letrec-syntaxes+values관련 구문 폼- 내부 정의 (Internal Definitions) 관련 문서