KTUGFaq
KTUG FAQ
MiKTeXѱȯ&value=MiKTeX/¹®Á¦Á¡ › TeX�������&value=³»°¡¾²´ÂÆíÁý±â › SpeedBar › Karnes/2006-05 › UnBatangOdal&value=UnBatangOdal › Lambda calculus in TEX
[ÆíÁý]
1.1 Áø¸®°ª°ú ±× ¿¬»êÀÚµé ¶
°£´ÜÇÏÁö¸¸ À¯¿ëÇÑ ¸ÅÅ©·ÎºÎÅÍ Á¤ÀÇÇÑ´Ù.
»ç¿ë·Ê
³í¸® ¿¬»êÀÚµéÀ» Á¤ÀÇÇÑ´Ù.
¼³¸í: \And x y ÀÇ °ªÀº x°¡ ÂüÀ̸é, yÀÇ °ªÀÌ°í, x°¡ °ÅÁþÀ̸é, y °ª¿¡ °ü°è¾øÀÌ °ÅÁþÀÌ´Ù.
\def\Ignore#1{} \def\Identity#1{#1} \def\First#1#2{#1} \def\Second#1#2{#2}
Taking first argument: input : \First {first}{second} output : first Taking second argument: input : \Second {first}{second} output : secondÁø¸®°ªÀ» Á¤ÀÇÇÑ´Ù.
\let\True=\First \let\False=\Second
\def\And#1#2{#1{#2}\False} \def\Or#1#2{#1\True{#2}} \def\Twiddle#1#2#3{#1{#3}{#2}} \let\Not=\Twiddle
À§ÀÇ ³í¸®¿¬»êÀ» Å×½ºÆ®Çϱâ À§Çؼ´Â ¿¬»ê¹® ¸Ç µÚ¿¡ TF¸¦ ºÙÀδÙ; Áï, \True TF´Â T¸¦, \False TF´Â F¸¦ Ãâ·ÂÇÑ´Ù.
Áø¸®°ªµé°ú ¿¬»êÀÚµéÀ» Å×½ºÆ® Çغ¸ÀÚ.
True takes first of TF: input : \True TF output : T False takes second of TF: input : \False TF output : F Not true is false: input : \Not \True TF output : F And truth table TrueTrue: input : \And \True \True TF output : T And truth table TrueFalse: input : \And \True \False TF output : F And truth table FalseTrue: input : \And \False \True TF output : F And truth table FalseFalse: input : \And \False \False TF output : F Or truth table TrueTrue: input : \Or \True \True TF output : T Or truth table TrueFalse: input : \Or \True \False TF output : T Or truth table FalseTrue: input : \Or \False \True TF output : T Or truth table FalseFalse: input : \Or \False \False TF output : F
[ÆíÁý]
1.2 Á¶°Ç¹® ¶
±âº» ¸ÅÅ©·ÎµéÀ» Á¤ÀÇÇÑ´Ù.
»ç¿ë ¹®¹ý
Å×½ºÆ® ÇÑ´Ù:
\def\gobblefalse\else\gobbletrue\fi#1#2{\fi#1}
\def\gobbletrue\fi#1#2{\fi#2}
\def\TeXIf#1#2{#1#2 \gobblefalse\else\gobbletrue\fi}
\def\IfIsPositive{\TeXIf{\ifnum0<}}
\TeXIf <test> <arg>
Numerical test: input : \IfIsPositive {3} TF output : T Numerical test: input : \IfIsPositive {-2} TF output : F
[ÆíÁý]
1.3 ¸®½ºÆ® ¶
¸®½ºÆ®´Â ¸Ó¸®(head)¿Í ²¿¸®(tail)·Î Á¤ÀÇ µÇ´Âµ¥, ¸Ó¸®´Â ÇÑ ±¸¼º¿ä¼Ò(element) ÀÌ°í, ²¿¸®´Â ¶Ç´Ù¸¥ ¸®½ºÆ®ÀÌ´Ù. Áï ¸®½ºÆ®´Â ±× Á¤ÀÇ°¡ Àç±ÍÀûÀÌ´Ù. ºó ¸®½ºÆ®(empty list)¸¦ Nil·Î Ç¥±âÇÑ´Ù.
À§ÀÇ ¸®½ºÆ®ÀÇ Á¤ÀǸ¦ µÎ°³ÀÇ ÀÎÀÚ¸¦ °¡Áø ¿¬»êÀÚ·Î ±¸ÇöÇÑ´Ù:
\let\Nil=\False
- ¸¸¾à ¸®½ºÆ®°¡ ºñ¾îÀÖÁö ¾Ê´Ù¸é, ù¹ø° ÀÎÀÚ´Â ¸Ó¸®¿¡ Àû¿ëµÇ°í, ²¿¸®°¡ ±× ¸®½ºÆ®ÀÇ °ªÀÌ µÈ´Ù.
- ¸¸¾à ¸®½ºÆ®°¡ ºñ¾îÀÖ´Ù¸é, µÎ¹ø° ÀÎÀÚ°¡ ¸®½ºÆ®ÀÌ °ªÀÌ µÈ´Ù.