[BACK]Return to function.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts / builtin

Diff for /OpenXM/src/asir-doc/parts/builtin/function.texi between version 1.1.1.1 and 1.5

version 1.1.1.1, 1999/12/08 05:47:44 version 1.5, 2003/12/20 20:05:02
Line 1 
Line 1 
   @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/function.texi,v 1.4 2003/04/20 08:01:28 noro Exp $
   \BJP
 @node $BH!?t$KBP$9$kA`:n(B,,, $BAH$_9~$_H!?t(B  @node $BH!?t$KBP$9$kA`:n(B,,, $BAH$_9~$_H!?t(B
 @section $BH!?t$KBP$9$kA`:n(B  @section $BH!?t$KBP$9$kA`:n(B
   \E
   \BEG
   @node Operations on functions,,, Built-in Function
   @section Operations on functions
   \E
   
 @menu  @menu
   * call::
 * functor args funargs::  * functor args funargs::
 @end menu  @end menu
   
 @node functor args funargs,,, $BH!?t$KBP$9$kA`:n(B  \JP @node call,,, $BH!?t$KBP$9$kA`:n(B
   \EG @node call,,, Operations on functions
   @subsection @code{call}
   @findex call
   
   @table @t
   @item call(@var{name}, @var{args})
   \JP :: $BH!?t(B @var{name} $B$r8F$S=P$9(B.
   \EG :: Call the function @var{name} with @var{args}.
   @end table
   
   @table @var
   @item return
   \JP $BH!?t(B @code{name()} $B$NJV$jCM(B.
   \EG a return value of @code{name()}.
   @item name
   \JP $BH!?tL>$rI=$9ITDj85(B($BH!?t;R$H$O8B$i$J$$(B)
   \EG indefinite (function name)
   @item args
   \JP $B0z?t$N%j%9%H(B
   \EG a list of arguments
   @end table
   
   @itemize @bullet
   \BJP
   @item
   $BH!?t;R$K4X$7$F$O(B, @code{vtype()} $B$r;2>H(B.
   @item
   $B0z?t$N8D?t$,$"$i$+$8$aJ,$+$C$F$$$k$H$-$O(B @code{(*@var{name})()} $B$N7A<0(B,
   $BJ,$+$i$J$$$H$-$O(B @code{call()} $B$r;H$&$H$h$$(B.
   \E
   \BEG
   @item
   See @ref{vtype} for function form.
   \E
   @end itemize
   
   @example
   [0] A=igcd;
   igcd
   [1] call(A,[4,6]);
   2
   [2] (*A)(4,6);
   2
   @end example
   
   @table @t
   \JP @item $B;2>H(B
   \EG @item References
   @fref{vtype}.
   @end table
   
   \JP @node functor args funargs,,, $BH!?t$KBP$9$kA`:n(B
   \EG @node functor args funargs,,, Operations on functions
 @subsection @code{functor}, @code{args}, @code{funargs}  @subsection @code{functor}, @code{args}, @code{funargs}
 @findex functor  @findex functor
 @findex args  @findex args
Line 13 
Line 74 
   
 @table @t  @table @t
 @item functor(@var{func})  @item functor(@var{func})
 :: @var{func} $B$NH!?t;R$r<h$j=P$9(B.  \JP :: @var{func} $B$NH!?t;R$r<h$j=P$9(B.
   \EG :: Functor of function form @var{func}.
 @item args(@var{func})  @item args(@var{func})
 :: @var{func} $B$N0z?t%j%9%H$r<h$j=P$9(B.  \JP :: @var{func} $B$N0z?t%j%9%H$r<h$j=P$9(B.
   \EG :: List of arguments of function form @var{func}.
 @item funargs(@var{func})  @item funargs(@var{func})
 :: @code{cons(functor(@var{func}),args(@var{func}))} $B$rJV$9(B.  \JP :: @code{cons(functor(@var{func}),args(@var{func}))} $B$rJV$9(B.
   \EG :: @code{cons(functor(@var{func}),args(@var{func}))}.
 @end table  @end table
   
 @table @var  @table @var
 @item return  @item return
 @code{functor()} : $BITDj85(B, @code{args()}, @code{funargs()} : $B%j%9%H(B  \JP @code{functor()} : $BITDj85(B, @code{args()}, @code{funargs()} : $B%j%9%H(B
   \EG @code{functor()} : indeterminate, @code{args()}, @code{funargs()} : list
 @item func  @item func
 $BH!?t7A<0$rI=$9ITDj85(B  \JP $BH!?t7A<0$rI=$9ITDj85(B
   \EG function form
 @end table  @end table
   
 @itemize @bullet  @itemize @bullet
   \BJP
 @item  @item
 $BH!?t7A<0$K4X$7$F$O(B, @code{vtype()} $B$r;2>H(B.  $BH!?t7A<0$K4X$7$F$O(B, @code{vtype()} $B$r;2>H(B.
 @item  @item
Line 35 
Line 102 
 @item  @item
 $B5U$K(B, $B<h$j=P$7$?H!?t;R$rCM$K;}$D%W%m%0%i%`JQ?t$r(B @code{F} $B$H$9$l$P(B (@code{*F})(x) $B$G(B  $B5U$K(B, $B<h$j=P$7$?H!?t;R$rCM$K;}$D%W%m%0%i%`JQ?t$r(B @code{F} $B$H$9$l$P(B (@code{*F})(x) $B$G(B
 x $B$r0z?t$H$9$kH!?t8F$S=P$7$^$?$OH!?t7A<0$,F~NO$G$-$k(B.  x $B$r0z?t$H$9$kH!?t8F$S=P$7$^$?$OH!?t7A<0$,F~NO$G$-$k(B.
   \E
   \BEG
   @item
   See @ref{vtype} for function form.
   @item
   Extract the functor and  the arguments of function form @var{func}.
   @item
   Assign a program variable, say @code{F}, to the functor obtained
   by @code{functor()}.  Then, you can type (@code{*F})(x)
   (, or (@code{*F})(x,y,...)
   depending on the arity,) to input a function form with argument x.
   \E
 @end itemize  @end itemize
   
 @example  @example
Line 44  sin
Line 123  sin
 [x]  [x]
 [0] funargs(sin(3*cos(y)));  [0] funargs(sin(3*cos(y)));
 [sin,3*cos(y)]  [sin,3*cos(y)]
 [1] for (L=[sin,cos,tan];L!=[];L=cdr(L)) @{A=car(L); print(eval((*A)(@@pi/3)));@}  [1] for (L=[sin,cos,tan];L!=[];L=cdr(L)) @{A=car(L);
   print(eval((*A)(@@pi/3)));@}
 0.86602540349122136831  0.86602540349122136831
 0.5000000002  0.5000000002
 1.7320508058  1.7320508058
 @end example  @end example
   
 @table @t  @table @t
 @item $B;2>H(B  \JP @item $B;2>H(B
   \EG @item References
 @fref{vtype}.  @fref{vtype}.
 @end table  @end table
   

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.5

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>