Differences From Artifact [d0516fddd5213f2d]:
- File
doc/index.html
- 2010-11-27 15:49:30 - part of checkin [6de3d8df3a] on branch trunk - reference manual completed (user: kinaba) [annotate]
To 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]
30 <p> 30 <p>
31 あと、 やたらとマクロの章が長くなっていますが、 この部分は、 31 あと、 やたらとマクロの章が長くなっていますが、 この部分は、
32 レイヤ機能を入れたら自動的にすごく自然にマクロが入るなーと思って、 32 レイヤ機能を入れたら自動的にすごく自然にマクロが入るなーと思って、
33 おまけで実装してみた程度のものです。 33 おまけで実装してみた程度のものです。
34 あんまり重要ではないので、適当にスルーして下さいませ。 34 あんまり重要ではないので、適当にスルーして下さいませ。
35 単に、適当に入れたら適当で微妙な部分が多く残ってしまったので注意書きが増えているだけで…。 35 単に、適当に入れたら適当で微妙な部分が多く残ってしまったので注意書きが増えているだけで…。
36 </p> 36 </p>
> 37 <p>
> 38 言い訳ついでにもう一つ言い訳ですが、この言語は、少なとも今のところ、
> 39 実用に使うことを考えた設計にはなっていません。どちらというと、
> 40 Brainfuck や Unlambda や Whitespace の仲間と思ってお使い下さい。
> 41 </p>
37 42
38 43
39 <script>explorer.outline.incSymbolLevel();</script> 44 <script>explorer.outline.incSymbolLevel();</script>
40 <dl> 45 <dl>
41 <script>explorer.outline.writeEnabled = true;</script> 46 <script>explorer.outline.writeEnabled = true;</script>
42 <dt><span class="decl"> 47 <dt><span class="decl">
43 <span class="currsymbol">Syntax</span> 48 <span class="currsymbol">Syntax</span>
................................................................................................................................................................................
672 </p> 677 </p>
673 <pre> 678 <pre>
674 @@type = fun(x) { 679 @@type = fun(x) {
675 if( _isint(x) ) then "int" 680 if( _isint(x) ) then "int"
676 else if( _isstr(x) ) then "str" 681 else if( _isstr(x) ) then "str"
677 else if( _isbot(x) ) then "runtime error" 682 else if( _isbot(x) ) then "runtime error"
678 else "type error" 683 else "type error"
679 } | 684 };
680 </pre> 685 </pre>
681 <pre> 686 <pre>
682 >> @type( 1 ) 687 >> @type( 1 )
683 int 688 int
684 >> @type( 2 ) 689 >> @type( 2 )
685 int 690 int
686 >> @type( "foo" ) 691 >> @type( "foo" )
................................................................................................................................................................................
721 </p> 726 </p>
722 <pre> 727 <pre>
723 @type "if" (c, t, e) {@value( 728 @type "if" (c, t, e) {@value(
724 if( @type(c)=="int" || @type(c)=="runtime error" ) then 729 if( @type(c)=="int" || @type(c)=="runtime error" ) then
725 @type( int_int_int(t(), e()) ) 730 @type( int_int_int(t(), e()) )
726 else 731 else
727 "type error" 732 "type error"
728 )} | 733 )};
729 </pre> 734 </pre>
730 <p> 735 <p>
731 関数が自動リフトされるので、フィボナッチ関数の型を調べることができます。 736 関数が自動リフトされるので、フィボナッチ関数の型を調べることができます。
732 </p> 737 </p>
733 <pre> 738 <pre>
734 >> def fib(x) { if x<2 then 1 else fib(x-1)+fib(x-2) }; 739 >> def fib(x) { if x<2 then 1 else fib(x-1)+fib(x-2) };
735 >> @type( fib(100000000000000) ) 740 >> @type( fib(100000000000000) )
................................................................................................................................................................................
1152 <script>explorer.outline.decSymbolLevel();</script> 1157 <script>explorer.outline.decSymbolLevel();</script>
1153 1158
1154 1159
1155 </td></tr> 1160 </td></tr>
1156 <tr><td id="docfooter"> 1161 <tr><td id="docfooter">
1157 Page was generated with 1162 Page was generated with
1158 <img src="candydoc/img/candydoc.gif" style="vertical-ali 1163 <img src="candydoc/img/candydoc.gif" style="vertical-ali
1159 on Sun Nov 28 00:45:59 2010 | 1164 on Sun Nov 28 07:29:42 2010
1160 1165
1161 </td></tr> 1166 </td></tr>
1162 </table> 1167 </table>
1163 </div> 1168 </div>
1164 <script> 1169 <script>
1165 explorer.packageExplorer.addModule("index"); 1170 explorer.packageExplorer.addModule("index");
1166 explorer.packageExplorer.addModule("main"); 1171 explorer.packageExplorer.addModule("main");