<function>
<fname property="Normal Order / LEVEL: 0">
Define
</fname>
<prototype>
LISP形式

(1) (Define symbol exp)
(2) ([Define Order="Normal"] 
	symbol1
	(Argmnets symbol2 ....) 
	exp)
(3) ([Define Order="Applicative"] 
	symbol1 
	env-exp 
	(Argmnets symbol2 ....) 
	exp)
(4) ([Define Order="Normal"] 
	symbol1 symbol2 exp)
(4) ([Define Order="Applicative"] 
	symbol1 env-exp symbol2 exp)

XML形式

(1)
<Define> ^symbol1 exp </Define>

(2)
<Define Order="Normal">
	^symbol1
	<Argmnets>
		^symbol2
		....
	</Argments>
	exp
</Define>
(3)
<Define Order="Applicative">
	^symbol1
	env-exp
	<Argmnets>
		^symbol2
		....
	</Argments>
	exp
</Define>
(4)
<Define Order="Normal"> 
^symbol1
	^symbol2
	exp
</Define>
(5)
<Define Order="Applicative"> 
^symbol1
	^symbol2
	env-exp
	exp
</Define>
</prototype>
<prototype>
C関数宣言

XLtype *
cDefine(XLenv * e,char * symbol,XLtype * exp);
</prototype>
<explanation>
(1) はカレント環境において、symbol1と、expの評価結果を対応させる。もし、 symbolのエントリがすでにあった場合は、その値を書き換える。 

(2)(3) は (Define symbol1 (Lambda (Argments ....) exp) の略記形。 

(4)(5) は (Define symbol1(Lambda symbol exp) の略記形。 
</explanation>
</function>
