Diff
Not logged in

Differences From Artifact [d0516fddd5213f2d]:

To Artifact [34739585fd5c7798]:


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