私は Smalltalk を独学しようとしています。チュートリアルには、while ループのこの例があります。
|i|
i:=5.
[i >0] whileTrue:[
Transcript show: ((i*2) asString) ; cr.
i:=i-1.
].
私が理解しているように、whileTrue は BlockClosure に送信されるメッセージであり、受信側が true である限り、引数として指定された BlockClosure を実行するように受信側 BlockClosure に指示します。
BlockClosure が応答する whileTrue メッセージは、Smalltalk で while ループ構造なしでどのように実装されていますか? それとも、ランタイムが書かれている言語で実装されていますか?