Differences From Artifact [34739585fd5c7798]:
- File
doc/index.html
- 2010-11-27 23:46:51 - part of checkin [576c494e53] on branch trunk - fixed: literal "..." is now lifted in user-defined layers (user: kinaba) [annotate]
To Artifact [a25f52da129efe47]:
- File
doc/index.html
- 2010-11-30 02:23:19 - part of checkin [32e5c4ef44] on branch trunk - documentation update (user: kinaba) [annotate]
621 621 <dd><p>
622 622 パターンマッチ失敗時と、"..." という式を実行したときと、再帰が無限に止まらなくなったとき、
623 623 には、Polemy のコードは実行時エラーで終了します……<tt>@value</tt> レイヤならば。
624 624 </p>
625 625 <p>
626 626 ユーザー定義レイヤでは、このような時にも実行時エラーにならず、
627 627 「<font color=red><b>ボトム</b></font>」という特別な値がリフト関数に渡されます。
628 +(ボトムのリフトに失敗した時は、この再帰停止処理は行われません。無限ループします。)
628 629 組み込みの <tt>_isbot</tt> 関数で、ボトムかどうか判定できます。
629 630 </p>
630 631 <p>
631 632 「再帰が無限に止まらなくなったとき」は、
632 633 ある引数で呼び出された関数が、return するよりも前にまた同じ引数で呼び出されたら、
633 634 ループしていると見なすことで判定しています。
634 635 これを判定する実装の副作用として、ユーザー定義のレイヤでは、関数は全てメモ化されています。
................................................................................
1157 1158 <script>explorer.outline.decSymbolLevel();</script>
1158 1159
1159 1160
1160 1161 </td></tr>
1161 1162 <tr><td id="docfooter">
1162 1163 Page was generated with
1163 1164 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px">
1164 - on Sun Nov 28 07:29:42 2010
1165 + on Tue Nov 30 10:23:12 2010
1165 1166
1166 1167 </td></tr>
1167 1168 </table>
1168 1169 </div>
1169 1170 <script>
1170 1171 explorer.packageExplorer.addModule("index");
1171 1172 explorer.packageExplorer.addModule("main");