ÀΰøÁö´É ±¸¼ºÀÇ Ã¶ÇÐ (3)

-  ÀΰøÁö´É ¾ð¾î LISP ÀÇ Ã¶ÇÐÀû ±âÃʸ¦ Áß½ÉÀ¸·Î -

 

ÀΰøÁö´ÉÀÇ Ã¶ÇÐ : ÀÌÃʽÄ, °í·Á´ë ÃâÆǺÎ, 1993, Page 242~267

 

1. LISP¶õ ¹«¾ùÀΰ¡?

2. LISPÀÇ Á¢±Ù ÀýÂ÷

3. LISPÀÇ ¼ú¾î󸮹æ½Ä

4. Á¶°ÇÇ¥ÇöÀÇ ¹®Á¦

5. ¿ª¸®Çö»óÀÇ LISPÀÇ È¸±ÍÇ¥Çö

 

 

1. LISP¶õ ¹«¾ùÀΰ¡?

AIÀ» ±¸¼ºÇϱâ À§Çؼ­´Â ¹«¾ùº¸´Ùµµ ÄÄÇ»ÅÍ ÇÁ·Î±×·¥À» ÀÛµ¿ÇÒ ¼ö ÀÖ´Â ¾ð¾î°¡ ÇÊ¿äÇÏ´Ù. ¿ì¸®´Â ¿À´Ã³¯ AI ¿¬±¸¿¡¼­ °¡Àå ³Î¸® ÀÌ¿ëµÇ°í ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÎ LISP¿¡¼­ À̸¦ °³°üÇØ °¡¸é¼­ ±× ¼Ó¿¡ ´ã°ÜÁø öÇÐÀû ±âÃʵéÀ» ¹àÇô º¸°íÀÚ ÇÑ´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷Àº °úÇÐöÇÐ, ƯÈ÷ Çü½Ä°úÇÐÀÇ Ã¶ÇÐÀÇ ½Ã°¢¿¡¼­ ¼öÇàµÈ´Ù°í ÇÒ °ÍÀÌ´Ù. ÄÄÇ»ÅÍÀÇ Çü½Ä°ÔÀÓÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ´Ù·ê ¼ö ÀÖ´Â ¹üÀ§´Â ³í¸®ÀûÀ¸·Î Á¢±ÙÇÒ ¼ö ÀÖ´Â ¹üÀ§·Î¼­, °úÇÐÀû Áö½ÄÀÇ ±¸Á¶¤ý¼ºÀå¤ýÀÀ¿ëÀÇ ÀϹÝÀ̷аú Ư¼öÀ̷п¡ ÇØ´çµÈ´Ù°í ÇÏ°Ú´Ù. ±×·¯³ª ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Æ¯¼º¿¡ µû¶ó ½ÇÁ¦·Î ´Ù·ê ¼ö ÀÖ´Â °¡´ÉÇÑ ¹üÀ§´Â ±×º¸´Ù ÈξÀ Á¦ÇÑµÉ °ÍÀ̹ǷΠÀÌ ÇѰ踦 Á¶±ÝÀÌ¶óµµ ³ÐÈ÷°í ±× ¾ð¾î·Î Çü¼ºµÇ´Â ÀÛ¾÷ȯ°æÀ» °³¼±ÇØ °¡·Á´Â °ÍÀÌ ÇÁ·Î±×·¡¹Ö ¾ð¾î±¸¼ºÀÇ ¸ñÇ¥ÀÌ´Ù.

LISP´Â 1956³â AIÀÇ Ã¢½ÃÀÚÀÎ John McCarthy ¿¡ ÀÇÇØ °í¾ÈµÈ ÀÌ·¡·Î AI¿¡ ³Î¸® ¾²¿©Áö¸é¼­ ¿©·¯ °¡Áö·Î º¸¿ÏµÇ¾ú°í ¸¹Àº ¹æ¾ðµéÀÌ »êÃâµÇ¾ú´Ù. ¿ì¸®°¡ »ìÆ캸·Á´Â °ÍÀº ¿©·¯ LISPµéÀÇ °øÅëÁ¡À» ¸ð¾Æ ±¸¼ºÇÑ Golden Common LISP ÀÌ´Ù. ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀº ¼öµé(numbers)À» ´Ù·ç´Â µ¥ ºñÇØ LISP´Â ÁÖ·Î ±âȣó¸®(symbolic processing)¸¦ ÇÒ ¼ö ÀÖµµ·Ï °í¾ÈµÈ °ÍÀÌ Æ¯»öÀÌ´Ù. 'LISP'¶ó´Â ¸»ÀÌ LIST PROCESSING LANGUAGE ¿¡¼­ À¯·¡µÇ¾úµíÀÌ ±×°ÍÀº ¸®½ºÆ® 󸮾ð¾î¶ó°í ÇÒ ¼ö ÀÖ´Ù. ¿©±â¼­ ¸®½ºÆ®¶ó´Â °ÍÀº Áö½ÄÇ¥ÇöÀÇ À¯ÇüÀ¸·Î¼­ µ¶Æ¯ÇÑ Àǹ̸¦ Áö´Ñ´Ù. Á»´õ Á¤È®È÷ ¸»Çϸé LISPÀÇ ±âº»ÀûÀÎ µ¥ÀÌÅÍÀ¯Çü(data types)Àº ¸®½ºÆ®¿Í ¾ÆÅè(atom)À¸·Î µÇ¾î ÀÖÀ¸¸ç ¾ÆÅèÀº ´Ù½Ã±Ý ¼ö(number)¿Í ±âÈ£(symbol)·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.

¿ì¸®´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ³íÇÒ ¶§ µ¥ÀÌÅÍ ´ë»ó(data objects)°ú ÀýÂ÷(procedures)¸¦ ±¸º°ÇÏ°Ô µÈ´Ù. À̸¦ ¿ä¸®ÇÏ´Â µ¥ ºñÀ¯Çϸé, °¡·É 'µÎºÎ Âî°³ ¹é¹Ý'ÀÇ °æ¿ì, µÎºÎ¤ý°íÃßÀå¤ý½Ò µîÀÌ µ¥ÀÌÅÍ ´ë»óÀÌ°í ±× ¿ä¸®¹ýÀÌ ÀýÂ÷¶ó°í ÇÏ°Ú´Ù. ¿ä¸®ÀÇ Á¾·ù¿¡ µû¶ó ´Ù¾çÇÑ Àç·á°¡ ÇÊ¿äÇÏ°í ¿©·¯ °¡Áö Á¾·ùÀÇ ±×¸©ÀÌ ÀÖ¾î¾ß ÇϵíÀÌ ¸®½ºÆ®ÀÇ Á¾·ùµµ ¹«Ã´ ¸¹´Ù. LISP¿¡¼­ ¸®½ºÆ®´Â ÁÂÃø¿¡¼­ °ýÈ£¸¦ ¿­°í ¿ìÃø¿¡¼­ °ýÈ£¸¦ ´Ý´Â Çü½ÄÀ» ÃëÇϴµ¥, ºó ±×¸©Ã³·³ ¾Æ¹«°Íµµ ¾ø´Â ¸®½ºÆ®´Â ( ) ¶Ç´Â nil ·Î Ç¥½ÃÇÑ´Ù. ¸®½ºÆ® ¼Ó¿¡´Â ¾ÆÅèÀ̳ª ´Ù¸¥ ¸®½ºÆ®¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¸¶Ä¡ ¾î¶² ±×¸©¿¡´Â µÎºÎ¸¦ ´ã°í ´Ù¸¥ ±×¸©¿¡´Â °íÃßÀåÀ» ´ãÀ¸¸ç ±× ¸ðµÎ¸¦ ´ãÀº ±×¸© ÀÚü¸¦ ´ã´Â ±×¸©ÀÌ ÀÖ´Â °Í°ú Èí»çÇÏ´Ù. ±×·¯¹Ç·Î ¸®½ºÆ®´Â ±×¸©ÀÎ µ¿½Ã¿¡ ±× ÀÚü°¡ ¿ä¸®ÀÇ ÀÚ·á·Î °£ÁÖµÉ ¼ö ÀÖÀ¸¹Ç·Î ¸®½ºÆ®´Â ¾ÆÅè°ú ´õºÒ¾î µ¥ÀÌÅÍ À¯Çü¿¡ ¼ÓÇÑ´Ù°í ÇÏ¿´´Ù. ¾ÆÅèÀ̶ó´Â °ÍÀÌ ´õ ÀÌ»ó ºÐÇÒµÇÁö ¾Ê´Â ¹°ÁúÀÇ ±âº»´ÜÀ§ÀÎ ¿øÀÚ¸¦ ÁöĪÇÏ¿´µíÀÌ ¿©±â¿¡¼­´Â ³ª´­ ¼ö ¾ø´Â ±âº»´ë»óÀ» ¾ÆÅèÀ̶ó°í Çϸç ÀÌ°ÍÀº ¼ö¾ÆÅè°ú ±âÈ£¾ÆÅèÀÇ µÎ °¡Áö À¯ÇüÀ¸·Î Å©°Ô ±¸ºÐµÇ°í ÀÖ´Ù.

À§¿¡¼­ 3.14 ´Â ¼ö¾ÆÅèÀÌÁö¸¸ (3.14) ´Â ÇϳªÀÇ ¼ö¾ÆÅèÀ» ¿ä¼Ò·Î Áö´Ñ ¸®½ºÆ®´Ù. ¸®½ºÆ®´Â (THIS)ó·³ ÇϳªÀÇ ´Ü¾îÀÎ ±âÈ£¾ÆÅèÀ» ¿ä¼Ò·Î Çϱ⵵ ÇÏ°í (THIS IS A BOOK)¿¡¼­Ã³·³ ³× °³ÀÇ ¿ä¼Ò·Î µÈ ¹®ÀåÀ» Æ÷ÇÔÇÒ ¼öµµ ÀÖ´Ù. ±×¸®°í (+ 5 7)ÀÇ ¸®½ºÆ®´Â ù°ÀÚ¸®´Â ±âÈ£¾ÆÅèÀÌ°í ³ª¸ÓÁö´Â ¼ö¾ÆÅèµéÀÌ È¥ÇÕµÈ °ÍÀÌ´Ù.

ÀÌ·± µ¥ÀÌÅÍ À¯Çü¸¸ º¸´õ¶óµµ LISPÀÇ ´ë»ó¼¼°è´Â ¼ö¿Í ±âÈ£·Î Ç¥ÇöµÉ ¼ö ÀÖ´Â ¸ðµç ¼¼°èÀ̹ǷÎ, ±×°ÍÀÌ µÎºÎ, °íÃßÀå, ½Ò µîÀÇ ÀڷḦ °®°í ¸¸µé ¼ö ÀÖ´Â ¿ä¸®º¸´Ù ¾ó¸¶³ª ´Ù¾çÇÑ ¿ä¸®¸¦ ¸¸µé ¼ö ÀÖÀ» °ÍÀÎÁö ´ÉÈ÷ ÁüÀÛÇØ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª ÀÌ µ¥ÀÌÅÍ À¯ÇüÀ¸·Î ¸¸µé ¼ö ÀÖ´Â ¿ä¸®´Â µÎºÎÂî°³ ¹é¹Ýó·³ ¸ÔÀ» ¼ö´Â ¾ø´Ù. ±×°ÍÀº Áö´ÉÀÇ ¾ç½ÄÀ¸·Î¼­ ¼·Ãë, ¼ÒÈ­ÇØ »õ·Î¿î ¹®Á¦ ÇØ°á¿¡ È°¿ëµÉ ¼ö ÀÖ´Â Á¤º¸À̸ç Áö½ÄÀÌ´Ù.

¿ì¸®´Â LISPÀÇ µ¥ÀÌÅÍ À¯Çü¿¡¼­ ³í¸®Àû ¿øÀÚ·Ð(Logical Atomism)°ú Èí»çÇÑ ¼¼°è°üÀ» ¹ß°ßÇÏ°Ô µÈ´Ù. ¼¼°è´Â ¿øÀÚÀû »ç½ÇµéÀÇ ÃÑüÀÌ°í ¿øÀÚÀû »ç½ÇÀº ¿øÀÚ ¸íÁ¦¿¡ ´ëÀÀÇϹǷΠ¿øÀÚ¸íÁ¦µéÀÇ °áÇÕÀ¸·Î ¼¼°è¸¦ ±â¼úÇÒ ¼ö ÀÖ´Ù´Â ³í¸®Àû ¿øÀÚ·ÐÀº ¾ÆÅèÀÇ »ý°¢°ú ±× ¿ë¾îºÎÅÍ ºñ½ÁÇÏ´Ù. ¹°·Ð LISP¿¡¼­´Â ¿øÀÚ¸íÁ¦¸¦ ±âº»´ÜÀ§·Î »ïÁö´Â ¾Ê¾ÒÀ¸³ª, ¼¼°è´Â ±× ¾î¶² ±âº»´ÜÀ§µé°ú ±×µéÀÇ °áÇÕ¿¡ ÀÇÇØ ±â¼úµÉ ¼ö ÀÖ´Ù´Â »ý°¢ÀÌ À¯»çÇϱ⠶§¹®ÀÌ´Ù. ´Ù¸¸ ¿©±â¼­´Â ±× ±âº»´ÜÀ§°¡ ¾ÆÅèÇ¥Çö°ú ¸®½ºÆ® Ç¥ÇöÀ¸·Î ¹Ù²î¾úÀ» »ÓÀÌ´Ù.

±×·± ´ÙÀ½ ¿ì¸®´Â LISPÀÇ ¸ðµç ÇÁ·Î±×·¥ÀÌ ÇÔ¼ö(functions)¶ó´Â Á¡¿¡ ÁÖ¸ñÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. Rudolf Carnap ÀÌ °üÇ×¾î(functor)¿Í ¼ú¾î(predicate)¸¦ ¾ö¹ÐÈ÷ ±¸ºÐÇÑ °ÍÀÌ »ó±âµÈ´Ù. °¡·É, ´õÇϱâ¿Í ¾Æ¹öÁö¸¦ ´ÙÀ½°ú °°ÀÌ ±â·ÏÇß´Ù°í ÇÏÀÚ.

¾çÀÚ´Â ¿ÜÇüÀÌ ºñ½ÁÇϱ⠶§¹®¿¡ ´Ù °°Àº ¸íÁ¦·Î »ý°¢Çϱ⠽¬¿ì³ª 2)´Â ÁøÀ§¸¦ °¡¸± ¼ö ÀÖ´Â ¸íÁ¦ÀÌ°í 1)Àº ÁøÀ§¸¦ ³íÇÒ ¼ö ¾ø´Â ÇÔ¼öÀÏ »ÓÀÌ´Ù. ¸íÁ¦ÀÇ °æ¿ì´Â ¸»ÀÌ ÀÏ´Ü ³¡³µÀ¸³ª ÇÔ¼öÀÇ °æ¿ì´Â ¾ÆÁ÷ ¸»ÀÌ ¸Î¾îÁöÁö ¾Ê´Â ´À³¦ÀÌ´Ù. Áï 'a ´õÇϱâ b ´Â c ´Ù' ¶ó°í ÇØ¾ß ¸»ÀÌ ³¡³ª ¸íÁ¦·Î µÈ´Ù. ¿©±â¼­ c ´Â 'a ´õÇϱâ b' ÀÇ °ªÀ̶ó°í ÇÑ´Ù. À̸¦ ÀϹÝÈ­ÇÏ¿© ¼öÇп¡¼­ 'y=f(x)'¸¦ Á¤ÀÇÇÔ¿¡ À־ y ´Â x ÀÇ ÇÔ¼ö°ªÀ̶ó ÇÏ¿© y ÀÇ ¿µ¿ªÀ» Ä¡¿ª(range)À̶ó°í ÇÏ°í x ÀÇ ¿µ¿ªÀ» ½Ã¿ª(domain)À̶ó ÇÑ´Ù. LISPÀÇ ¸ðµç ÇÁ·Î±×·¥¿¡¼­´Â ¹Ù·Î ÀÌ·± ÇÔ¼ö¿Í ÇÔ¼ö °ªÀÇ °ü°è¸¦ È°¿ëÇÏ¿´´Ù. ¿¹¸¦ µé¾î,

LISP´Â À§ÀÇ º¸±â¿¡¼­Ã³·³ ÇÔ¼ö¸¦ ¸®½ºÆ®·Î Á¦½ÃÇϸé, Áï °ýÈ£¸¦ ´ÝÀ¸¸é ±× ÇÔ¼ö°ªÀÌ ³ª¿Â´Ù. À̸®ÇÏ¿© ¸¶Ä¡ ¹¯°í ´ë´äÇÏ´Â Çü½Äó·³ º¸ÀδÙ. À§ÀÇ ¿¹  *(+ 5 7) ¿¡¼­ ¸Ç ¾ÕÀÇ º°Ç¥´Â ¹«¾ùÀΰ¡¸¦ ŸÀÌÇÁ ÇØÁֱ⸦ ±â´Ù¸®´Â Ãʱâ»óÅ ¶ó°í ÇÏ°ÚÀ¸¸ç °ýÈ£ ¿­°í ¸Ç ùÀÚ¸® +´Â °üÇ×¾î·Î¼­ À̸¦ ÀýÂ÷¸í(procedure name)À̶ó°í ÇÑ´Ù. ´ÙÀ½¿¡ Ä­À» ¶¼¾î ±â¼úÇÑ 5¿Í 7Àº °¢±â ³íÇ×(argument)À» ÀÌ·é´Ù. ±×¸®°í ¸¶Áö¸·À¸·Î °ýÈ£¸¦ ´Ý°í ½ÄÀ» ¸¶¹«¸®ÇÏ¸é ±× ½Ä¿¡ ´ëÇÑ Æò°¡ 12°¡ ³ªÅ¸³­´Ù. »ê¼ú¿¡¼­ + ´Â µÎ °³ÀÇ ³íÇ× »çÀÌ¿¡ ³õ¾ÒÀ¸³ª LISP¿¡¼­´Â ¸®½ºÆ®ÀÇ Ã¹ ÀÚ¸®¸¦ ÀýÂ÷¸íÀ¸·Î ÇÑ ´ÙÀ½ À§¿¡¼­Ã³·³ µÑ ÀÌ»óÀÇ ³íÇ×À» Á¦½ÃÇÑ´Ù. ¿©±â¼­ ÀýÂ÷¸íÀÎ '+' ÀÚü°¡ ±âÈ£¾ÆÅèÀÓÀ» ÁÖ¸ñÇØ º¼ ÇÊ¿ä°¡ ÀÖ´Ù. ¾ÕÀÇ ¿ä¸® ºñÀ¯¿¡¼­ µ¥ÀÌÅÍ ´ë»óÀÎ µÎºÎ³ª ½Ò µî°ú ÀýÂ÷¸¦ Áö½ÃÇÏ´Â ¿ä¸®¹ýÀ» ±¸ºÐÇߴµ¥ ÀýÂ÷¸í ÀÚüµµ µ¥ÀÌÅÍ À¯ÇüÀÇ Çϳª°¡ µÇ¾ú±â ¶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î ÀýÂ÷µµ ÀÏÁ¾ÀÇ µ¥ÀÌÅÍ À¯ÇüÀ¸·Î °£ÁֵȴÙ.

 

2. LISPÀÇ Á¢±Ù ÀýÂ÷

ÄÄÇ»ÅÍ°¡ Çü½Ä°ÔÀÓÀ» ÇÏ´Â ½Ã½ºÅÛÀ̶ó´Â °ÍÀ» »ó±âÇØ º¸¸é¼­ LISPÀÇ ±¸Á¶¸¦ »ìÇDZâ·Î ÇÑ´Ù. LISP´Â ±âº» ÅäÅ«µéÀ» °®Ãß°í ÀÖÀ¸¸ç À̵éÀ» ´Ù·ç´Â ¿©·¯ °¡Áö ±ÔÄ¢µéÀÌ ¸¶·ÃµÇ¾î ÀÖ´Ù. LISP¿¡´Â ¾Õ¼­ »ìÆ캻 »ê¼úÀÇ ´õÇϱ⠱âÈ£ +, »©±â ±âÈ£ -, °öÇϱ⠱âÈ£ *, ³ª´©±â ±âÈ£ /¤ý=¤ý<¤ý> µî°ú ´õºÒ¾î ¾Æ¶óºñ¾Æ ¼ýÀÚµéÀÌ ÀÖ¾î ¼öÇÐÀû Ç¥ÇöµéÀ» ´Ù·ê ¼ö ÀÖ°í ¾ËÆĺª°ú °¢Á¾ ±âÈ£µéÀÌ Àֱ⠶§¹®¿¡ ¿µ¾î µîÀÇ ÀÏ»ó¾ð¾îµµ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª LISPÀÇ ¹®¹ýÀº ÀÏ»ó¾ð¾îÀÇ °æ¿ì¿Í ´Þ¸® ÀΰøÀûÀ¸·Î ¾ö¹ÐÈ÷ ±ÔÁ¤µÇ¾î ÀÖ´Ù. Àå±â¿¡¼­ ±Ã, Â÷, ¸¶, Æ÷, »ó, Á¹ µîÀÌ °¢±â Çึ ±ÔÄ¢ÀÌ ´Ù¸£µíÀÌ, ¼­·Î ´Þ¸® ¾²ÀÌ´Â ±ÔÄ¢ÀÇ ÅäÅ«µéÀÌ ¸¹ÀÌ ³»ÀåµÇ¾î ÀÖ´Ù. ±×Áß¿¡´Â ±âÈ£µéÀÇ °ªÀ» ¹Ù²Ù´Â ±âÈ£, »õ·Î¿î ÀýÂ÷¸¦ ±ÔÁ¤ÇÏ´Â ±âÈ£, »õ·Î¿î ¿ä¼Ò¸¦ ¸®½ºÆ® ¾È¿¡ Ãß°¡ÇÏ´Â ±âÈ£ µî »ç¿ëÀÚµéÀÌ ÀÚÀ¯·Ó°Ô ¸¸µé¾î ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ÀåÄ¡°¡ µÇ¾î Àֱ⠶§¹®¿¡, LISP·Î Á¢±ÙÇÒ ¼ö ÀÖ´Â ¼¼°è´Â ¹«Ã´ ³Ð°í, ´Ù¸¥ ÄÄÇ»ÅÍ ¾ð¾îµéº¸´Ù âÀǼºÀ» ¹ßÈÖÇÒ ±âȸ°¡ ¸¹Àº ÀåÁ¡À» Áö´Ï°í ÀÖ´Ù. ±×¸®ÇÏ¿© Àå±â¸¦ µÎ·Á¸é ¿ì¼± Çึ±ÔÄ¢ºÎÅÍ ÀÍÇô¾ß ÇϵíÀÌ, LISP¶ó´Â Çü½Ä°ÔÀÓÀ» ÇÏ·Á¸é ±âº» ÅäÅ«µéÀÇ ±ÔÄ¢ºÎÅÍ ¾Ë¾Æ¾ß ÇÑ´Ù.

¿ì¼±, µðÁöÅÐ ÄÄÇ»ÅÍ°¡ Àбâ¿Í ¾²±âÀÇ µ¹¸²À» ÇÑ´Ù´Â Á¡°ú ¿¬°èÇÏ¿©, LISP°¡ °®Ãß°í ÀÖ´Â ±âº»ÀûÀÎ ÀýÂ÷ ÅäÅ«µé·ÎºÎÅÍ »ìÆ캸ÀÚ. ±×·¯¸é ÀÚ·áµéÀ» ²ôÁý¾î³»´Â ÀýÂ÷¿Í ÀÚ·áµéÀ» Áý¾î³Ö´Â ÀýÂ÷, ±×¸®°í ÀڷḦ Áö´Ñ »õ·Î¿î °ÍÀ» ¸¸µé¾î³»´Â ÀýÂ÷, ÀÌ·¸°Ô ¼¼ °¡Áö Á¾·ùÀÇ ÀýÂ÷°¡ ÇÊ¿äÇѵ¥ ÀÌ·± ÀýÂ÷¸¦ ¼öÇàÇÏ´Â ÀÚ¸¦ °¢±â ÀдÂÀÌ(Reader), ¾²´ÂÀÌ(Writer), ¿«´ÂÀÌ(Constructors)¶ó°í Çϸç ÀÌ ¼¼ °¡Áö ÀýÂ÷¸¦ ÃÑĪÇÏ¿© 'Á¢±ÙÀýÂ÷'(Access Procedures)¶ó ÇÑ´Ù. ÀÌ ¼¼ °¡Áö À¯ÇüÀÇ ÀýÂ÷ Áß¿¡¼­ °¡Àå ±âº»ÀûÀÎ °Í ¸î °¡Áö¸¸ °ËÅäÇØ º½À¸·Î½á LISPÀÇ ±¸Á¶¸¦ ¾Ë¾Æ º¸µµ·Ï ÇÏÀÚ.

LISPÀÇ °¡Àå Áß¿äÇÑ ÀÚ·á´Â ¸®½ºÆ®À̹ǷΠ¸®½ºÆ®¸¦ ÀÐ°í ¾²°í ¿«´Â ÀýÂ÷°¡ ÇÊ¿äÇÏ´Ù. ±âÃÊÀûÀÎ Àд À̵éÀº FIRST, REST, LAST, LENGTHÀÌ´Ù. FIRST´Â ¸®½ºÆ® ¾ÈÀÇ Ã¹Â° ¿ä¼Ò¸¦ Àо¶ó´Â ±âÈ£ÀÌ°í REST´Â ù° ¿ä¼Ò¸¦ »©³½ ´ÙÀ½ ³ª¸ÓÁö ¸®½ºÆ®¸¦ Àо¶ó´Â ±âÈ£À̸ç LAST´Â ¸¶Áö¸· ¿ä¼Ò¸¸À» Á¦¿ÜÇÑ ¸ðµç ¿ä¼Ò¸¦ »©³½ ¸®½ºÆ®¸¦ Àо¶ó´Â ±âÈ£ÀÌ´Ù. ±×¸®°í LENGTH´Â ÇϳªÀÇ ¸®½ºÆ® ¾ÈÀÇ ¿ä¼ÒµéÀÇ ¼ö¸¦ Àо¶ó´Â ±âÈ£ÀÌ´Ù. ¿©±â ±âÈ£µéÀº ¿µ¾î·Î µÇ¾î ÀÖÀ¸¹Ç·Î ÀÌÇØÇϱ⠽¬¿ì³ª, Ãʱ⿡ LISP¸¦ IBM 704¿¡ Àû¿ëÇϵµ·Ï ¸¸µé¾úÀ» ´ç½Ã¿¡´Â FIRST¸¦ CAR·Î, ±×¸®°í REST¸¦ CDR·Î »ç¿ëÇß´Ù. ¿À´Ã³¯µµ ÀÌ Ç¥±â¹ýÀ» ±×´ë·Î »ç¿ëÇÏ´Â ÇÁ·Î±×·¡¸ÓµéÀÌ ¸¹´Ù.

±×·±µ¥ ÀÌ·± Á¾·ùÀÇ ³íÀÇ¿¡¼­ ¿ì¸®´Â ±âÈ£¿Í ±âÈ£ÀÇ °ªÀ» ±¸º°ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. °¡·É, °í·Á´ëÇлýÀ̶ó´Â ±âÈ£¿Í °í·Á´ëÇлýÀ» ±¸º°Çϱâ À§ÇØ, ÀüÀÚ¸¦ '°í·Á´ëÇлý'À̶ó°í ÀÏ»ó¾ð¾î¿¡¼­µµ ´Þ¸® Ç¥ÇöÇÏ´Â ¹æ½ÄÀ» ¿ì¸®´Â LISP¿¡¼­µµ ¹ß°ßÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, º½¤ý¿©¸§¤ý°¡À»¤ý°Ü¿ïÀÇ »ç°èÀýÀ» S ¶ó°í ÇÏ¿´À» °æ¿ì, S ´Â º½ ¿©¸§ °¡À» °Ü¿ï·Î µÈ ¸®½ºÆ®¸¦ °ªÀ¸·Î ÇÏÁö¸¸, 'S ó·³ ¹®ÀÚ³ª ¸®½ºÆ® ¿ÞÆí À§ÂÊ¿¡ µû¿ÈÇ¥¸¦ ºÙÀÌ¸é ±× °ªÀº ±× ¹®ÀÚ ÀÚü°¡ µÈ´Ù. ±×¸®°í 'S ¸¦ º½ ¿©¸§ °¡À» °Ü¿ïÀÇ ¸®½ºÆ®·Î ¾ÕÀ¸·Î »ç¿ëÇÏ°Ú´Ù'°í ÇÏ°í ½ÍÀ¸¸é Setf¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

¿©±â¼­ ¿øÃʱâÈ£ SETF´Â SET Field¸¦ ÁÙÀÎ ¸»ÀÌ´Ù. ÀÌ ±âÈ£¸¦ È°¿ëÇϸé ÀÌó·³ ÀÓÀÇÀÇ »õ ±âÈ£ S ¸¦ »ç¿ëÇÏ¿© ´ë½ÅÇÏ°í ½ÍÀº ±âÈ£µéÀ» ±× °ªÀ¸·Î »ïÀ» ¼ö ÀÖ´Ù. ±×·¯³ª ¿©±â¼­ ÁÖÀÇÇÒ °ÍÀº S ÀÇ °ªÀº ¸®½ºÆ® ±âÈ£À̱⠶§¹®¿¡ ¸®½ºÆ® ¾Õ°ýÈ£ À­ºÎºÐ¿¡ µû¿ÈÇ¥¸¦ ºÙ¿©¾ß Çϸç À̸¦ ºÙÀÌÁö ¾ÊÀ¸¸é À߸øÀ̶ó´Â Ç¥½Ã°¡ ³ª¿Â´Ù.

LISP¿¡¼­´Â Åë»óÀûÀÎ °æ¿ì, ÁöÁ¤µÈ ÀýÂ÷¸¦ »ç¿ëÇϱâ ÀÌÀü¿¡ ÁÂÃøÀ¸·ÎºÎÅÍ ¿ìÃøÀ¸·Î ¸ðµç Çü½ÄµéÀÇ ¸ðµç ³íÇ×À» Æò°¡ÇÑ´Ù. (+ (* 5 2) (/10 2)) ÀÇ °æ¿ì, µÎ °³ÀÇ ³íÇ× (* 5 2) ¿Í (/10 2) ¸ðµÎ ÁÂÃøÀ¸·ÎºÎÅÍ ¿ìÃøÀ¸·Î Æò°¡ÇÏ°í ±× °÷¿¡ + ÀÇ ´õÇϱâ ÀÛ¾÷À» ÇÑ´Ù. SETF ´Â ÀÌ·± ±ÔÄ¢ÀÇ Áß¿äÇÑ ¿¹¿ÜÀÌ´Ù. ±× ù° ³íÇ×Àº Æò°¡µÇ´Â °ÍÀÌ ¾Æ´Ï°í ±× ±âÈ£ÀÇ °ªÀ» Á¦°øÇÏ´Â µÑ° ³íÇ×ÀÌ Æò°¡µÇ±â ¶§¹®ÀÌ´Ù. ±×·±µ¥ ¸®½ºÆ® ¾ÈÀÇ ¸®½ºÆ®·Î Á¦½ÃµÈ(SPRING SUMMER FALL WINTER) ¾È¿¡¼­ ù° Ç×Àº ±× ¸®½ºÆ®ÀÇ ´Ù¸¥ Ç×µéÀ» Æò°¡ÇÏ´Â ÇÔ¼ö¿©¾ß ÇÑ´Ù°í º¸´Âµ¥ ±×°ÍÀÌ Á¤ÀǵÇÁö ¾Ê¾Æ À߸øµÇ¾ú´Ù´Â °ÍÀÌ´Ù. À§ÀÇ ÀдÂÀÌ(reader) µéÀÇ ¿¹´Â ´ÙÀ½°ú °°´Ù.

LISPÀÇ ÁøÇàÀÌ ¹®´ä½Ä ´ëÈ­·Î º¸ÀÌ´Â °ÍÀº *Ç¥ ³­¿¡ Á¦½ÃµÈ ÇÔ¼öÇüÀ» ¹¯´Â °ÍÀ̶ó°í ÇÏ¸é ¹ØÀÇ ³­¿¡ Á¦½ÃµÇ´Â ´ë´äÀ¸·Î °£ÁÖÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ±×¸®°í À߸ø ¹°¾úÀ» °æ¿ì¿¡µµ Ä£ÀýÇÏ°Ô ¹«¾ùÀÌ ¾î¶»°Ô À߸øµÇ¾ú´Ù°í ÁöÀûÇØ ÁֹǷΠÆíÇÏ°Ô ¹°À» ¼ö ÀÖ´Ù. ¹°·Ð À§ÀÇ Setf ÀÇ °æ¿ìó·³ ¿¹¿ÜÀûÀ¸·Î ¾²±âµµ ÇÏ°í ¾ÕÀ¸·Î »ìÆ캸°ÚÁö¸¸ LISP¿¡µµ ¹¯´Â Çü½ÄÀÌ µû·Î ÀÖ±â´Â ÇÏÁö¸¸ ÀüüÀûÀ¸·Î ÇÔ¼ö¿Í ±× °ªÀÇ ±â¹ýÀÌ ´ëȭü¸¦ ÀÌ·é´Ù´Â Á¡ÀÌ Ã¶ÇÐÀû ´ëÈ­ÀÇ °¡´É¼ºµµ ±â´ëÇØ º¼ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.

ƯÈ÷ ±âÈ£ÀÇ °ªÀ» ¹¯´Â ±âÈ£¿Í ±× ±âÈ£ ÀÚü¸¦ ¹¯´Â ±âÈ£ÀÇ ±¸º°Àº ¸Å¿ì Áß¿äÇÏ´Ù. À§ÀÇ ¼³¸í¿¡¼­´Â ÀÏ»ó¾ð¾î¿¡¼­µµ µû¿ÈÇ¥·Î ±¸º°ÇØ¿À´ø ¹Ù¶ó°í °£´ÜÈ÷ ¾ð±ÞÇßÀ¸³ª ½Ç»ó Çй®¿¬±¸³ª ÀÏ»ó»ýÈ°¿¡¼­ ÀÌ ±¸ºÐÀÌ Àß µÇÁö ¾Ê¾Æ ¸¹Àº È¥¶õÀÌ ÀÖ¾î ¿Ô´Ù. ±×¸®ÇÏ¿© Çö´ë ºÐ¼®Ã¶ÇеéÀº ´ë»ó¾ð¾î(object language)¿Í ±× ´ë»ó¾ð¾î¿¡ °üÇÑ ¾ð¾î·Î¼­ÀÇ ¸ÞŸ¾ð¾î(meta-language)¸¦ ±¸ºÐÇÏ¿´´Ù. ÀÌ ±¸ºÐÀ» ¸øÇÏ¿´À» °æ¿ì¿¡ ¸¹Àº È¥¶õÀÌ ¾ß±âµÈ´Ù. ¿ì¸®´Â ±× ±¸ºÐ¿¡ ÀÇ°ÅÇÏ¿© ÇØ°áÇÑ ¹®Á¦µé ÁßÀÇ Çϳª·Î¼­ À̸¥¹Ù ¿¡ÇǸ޴ϵ¥½ºÀÇ ¿ª¸®(Epimenides' Paradox)¸¦ ²ÅÀ» ¼ö ÀÖ´Ù.

À§¿¡¼­´Â LISP°¡ ¸¶·ÃÇÏ°í ÀÖ´Â ¿øÃÊÀûÀÎ Àд À̵é·Î¼­ FIRST, REST µîÀ» ¸î °¡Áö »ìÆ캸¾Ò°í, ÀÌÁ¦´Â ¿øÃÊÀûÀÎ ¿«´Â ÀÌ(constructor) ·Î¼­ CONS ÀÇ ±â´ÉÀ» ¿ì¼± °ËÅäÇØ º¸µµ·Ï ÇÑ´Ù. CONS´Â CONStructÀÇ ÁÙÀÎ ¸»·Î¼­ ÀÌ¹Ì ÀÖ´Â ÇϳªÀÇ ¸®½ºÆ® ¾È¿¡ ¿ä¼Ò¸¦ ´ÙÀ½°ú °°ÀÌ Ãß°¡ÇÒ ¶§ »ç¿ëÇÑ´Ù.

±×¸®°í ¿ì¸®´Â ÀÌ°ÍÀ» ±âÈ£ÀÇ °ªÀ» ¹Ù²Ù´Â ¿øÃʱâÈ£ SETF ¿Í °áÇÕÇØ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

±×·±µ¥ LISP´Â ¿øÃÊÀûÀÎ ÀýÂ÷µéÀ» °®Ãß°í ÀÖÀ» »Ó ¾Æ´Ï¶ó »õ·Î¿î ÀýÂ÷µéÀ» ¸¸µå´Â ÀýÂ÷±îÁöµµ °®°í Àֱ⠶§¹®¿¡ À߸øÀ» ½±°Ô °íÄ¥ ¼öµµ ÀÖ°í ±âÁ¸ÀÇ ÀýÂ÷µéÀ» ÀÌ¿ëÇØ »õ·Î¿î ÀýÂ÷¸¦ âÀÇÀûÀ¸·Î ¸¸µé¾î³¾ ¼öµµ ÀÖ´Ù. ±× Áß¿¡¼­ ´Ü¼øÇÑ ÀýÂ÷ âÁ¶ÀÇ ¿øÃʱâÈ£´Â DEFUNÀÌ´Ù.

°¡·É, ¿ì¸®°¡ ¾î¶² ¸®½ºÆ®ÀÇ ¾çÂÊ °¡ÀåÀÚ¸®¿¡ ÀÖ´Â ¿ä¼Ò¸¦ »Ì¾Æ »õ·Î¿î ¸®½ºÆ®¸¦ ¸¸µç´Ù°í ÇÏÀÚ. ±×·± ÀýÂ÷°¡ LISP¿¡ ¿øÃÊÀû ÀýÂ÷·Î¼­ ¸¶·ÃµÇ¾î ÀÖÁö ¾ÊÀ¸¹Ç·Î ÀÌ¹Ì ¿øÃÊÀýÂ÷·Î °®Ãß°í ÀÖ´Â °ÍÀ» È°¿ëÇØ ±×·± ÀýÂ÷¸¦ ¸¸µé¾î¾ß ÇÒ ÅÍÀε¥ ÀÌ·± ÀýÂ÷ âÁ¶ÀÇ ÀýÂ÷°¡ DEFUNÀ¸·Î ÀÌ·ç¾îÁø´Ù.

¿©±â¼­ ù°¿ä¼Ò A ¿Í ¸¶Áö¸· ¿ä¼Ò F ¸¦ »Ì¾Æ ÇÕÇÑ (A F)¶ó´Â ¸®½ºÆ®¸¦ ¸¸µé·Á°í ÇÑ´Ù. ±×·¯¸é (CONS (FIRST M) (LAST M))À̶ó°í ÀÌ¹Ì ¾Ë·ÁÁø FIRST, LAST, CONSÀÇ ¿øÃʱâÈ£¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ±×·¯³ª ÀÌ°ÍÀÌ ¹ø°Å·Î¿ö °£ÆíÇÏ°Ô '¾çÂÊ °¡ÀåÀÚ¸® ¿ä¼Ò¸¦ »Ì¾Æ ¸®½ºÆ®¸¦ ¸¸µé¶ó'´Â ÀýÂ÷¸íÀ» YANGKA ÇÑ ¸¶µð·Î ±× ÀÏÀ» ¼öÇàÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.

¿©±â¼­Ã³·³ DEFUNÀÇ »ç¿ë¿¡ µû¸£´Â ¿ä¼ÒµéÀ» ¸ð¾Æ ³õ´Â ±¸Á¶ ÆÐÅÏÀÎ Á¶Çü(Template)Àº ´ÙÀ½°ú °°´Ù.

ÀÌ Á¶ÇüÀ» ÀϹÝÈ­ÇÏ¸é ¸Å°³º¯Ç×¸íµµ <º¯Ç׸í 1>, <º¯Ç׸í 2>, ... µîÀ¸·Î ¿©·¯ °³ ¼³Á¤ÇÒ ¼ö ÀÖ°í Çü½Äµµ <Çü½Ä 1>, <Çü½Ä 2>, ... µîÀ¸·Î ¸¹ÀÌ ´Ù·ê ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ´Ù¾çÇÏ°Ô ÀýÂ÷󸮸¦ ÇÒ ¼ö Àֱ⠶§¹®¿¡ LISP´Â ¿øÃÊÀû ÀýÂ÷¸¦ ÀÌ¿ëÇØ¾ß ÇÑ´Ù´Â Á¦¾àÀ» ¹ÞÁö¸¸ ±×µéÀ» âÀÇÀûÀ¸·Î °áÇÕÇÔÀ¸·Î½á »õ·Î¿î ÀýÂ÷µéÀ» ¸¸µé ¼ö ÀÖ´Â ÀÚÀ¯ÀÇ °¡´É¼ºÀÌ ºÎ¿©µÇ¾ú´Ù°í ÇÏ°Ú´Ù.

»Ó¸¸ ¾Æ´Ï¶ó ³í¸®ÇÐÀÚ Ã³Ä¡(A. Church)°¡ °³¹ßÇÑ ¸íĪ ¾ø´Â ÇÔ¼öÀÇ Ç¥±â¹ýÀÎ Lambda Ç¥ÇöÀ» ÀÌ¿ëÇÏ¿© ÀýÂ÷¸í±îÁöµµ ¾ø¾Ö°í DEFUNÀÇ ÀýÂ÷ âÁ¶ÀÇ ±â´ÉÀ» ÇÏ´Â ±â¹ýÀ» â¾ÈÇØ LISPÀ» ´õ¿í Æí¸®ÇÑ ¾ð¾î·Î ±¸¼ºÇÏ¿´´Ù. À§ÀÇ ¾ç°¡ ¼±¹ß ¿¹¿¡¼­ º»´Ù¸é DEFUN°ú YANGKAÀÇ ÀýÂ÷¸íÀ» Á¦¿ÜÇÏ°í (LAMBDA (M) (CONS (FIRST M) (LAST M)))¸¦ »ç¿ëÇÒ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù.

LISP´Â CONS ÀÌ¿Ü¿¡µµ constructor ·Î¼­ LIST, APPEND, REVERSE µîÀ» °®°í ÀÖ´Ù. LIST´Â ¿ä¼ÒµéÀÇ ÁýÇÕÀ¸·ÎºÎÅÍ ÇϳªÀÇ ¸®½ºÆ®¸¦ ¸¸µé °æ¿ì¿¡ »ç¿ëµÇ°í APPEND´Â µÎ °³ÀÇ ¸®½ºÆ®ÀÇ ¿ä¼ÒµéÀ» ÇϳªÀÇ ¸®½ºÆ®·Î °áÇÕÇÏ´Â µ¥ ¾²¿©Áö¸ç REVERSE´Â ¿ä¼ÒµéÀ» °Å²Ù·Î ¹è¿­ÇØ ¸®½ºÆ®¸¦ ¸¸µé ¶§ »ç¿ëµÈ´Ù. ´ÙÀ½ÀÇ º¸±â°¡ À̵é constructor ÀÇ Â÷À̸¦ Àß ³ªÅ¸³» ÁØ´Ù.

LISPÀÇ Á¢±ÙÀýÂ÷ Áß¿¡¼­ reader ¿Í constructor ÀÇ ¿øÃʱâÈ£ ¸î °¡Áö¸¦ ¼Ò°³ÇßÀ¸¸ç ±× writer ÀÇ ¿øÃÊÀû ±âÈ£µéÀº ÀÛ¾÷ÇÑ °ÍÀ» º¸°üÇÏ´Â ÀÏÀÌ´Ù. ¾ÕÀÚ¸®¿¡ ÀýÂ÷±âÈ£¸¦ »ç¿ëÇÏ´Â LISPÀÇ Ç¥±â¹ýÀº Æ÷¶õµå ³í¸®ÇÐÆÄÀÇ Ç¥±â¹ýÀ» ÀÀ¿ëÇß´Ù°í ÇÏ°Ú´Ù.

 

3. LISPÀÇ ¼ú¾î󸮹æ½Ä

¿ì¸®´Â LISP°¡ ÇÔ¼öÇü½ÄÀ» ÃëÇÏ°í ÀÖÀ¸¸ç °üÇ×¾î´Â ¼ú¾î¿Í ±¸ºÐµÈ´Ù´Â Á¡À» ¾Õ¿¡¼­ ÁöÀûÇÑ ¹Ù ÀÖ´Ù. ±×·¯¸é ¿©±â¼­´Â ¼ú¾î¿Í ¼ú¾î³í¸®´Â ¾î¶»°Ô ´Ù·ç¾îÁö°í Àִ°¡? LISP¿¡¼­´Â ¼ú¾îµµ ÇÔ¼öó·³ ´Ù·ç±â À§ÇØ ¼ú¾î¸¦ ÂüÀ̳ª °ÅÁþÀ» »êÃâÇÏ´Â ÀýÂ÷·Î Ãë±ÞÇÑ´Ù. ÀÌ°ÍÀº ¼ú¾î°¡ ³íÇ×°ú °áÇÕÇÏ¿© ¸íÁ¦°¡ µÇ°í ¸íÁ¦´Â Âü ¾Æ´Ï¸é °ÅÁþÀÇ Áø¸®°ªÀ» °®´Â Á¡¿¡ Âø¾ÈÇÑ °ÍÀÌ´Ù. ±×¸®ÇÏ¿© LISP¿¡¼­´Â ¿ì¼± ÂüÀ» T, °ÅÁþÀ» NILÀ̶ó°í ÇÏ°í ÀÌ Áø¸®°ªÀ» ¹Ù²Ù´Â ¿øÃʱâÈ£¸¦ NOTÀ¸·Î ±ÔÁ¤ÇÏ¿© ³í¸®ÇÐÀÇ Áø¸®Ç¥¹æ½ÄÀ» ÅÃÇÏ¿´´Ù. ¿©±â¼­ Áß¿äÇÑ °ÍÀº T ÀÇ ±âÈ£µµ T ÀÌ°í T ÀÇ °ªµµ T À̸ç NILµµ ¸¶Âù°¡Áö·Î ±× ±âÈ£¿Í °ªÀÌ ¸ðµÎ NILÀ̶ó´Â Á¡ÀÌ´Ù.

¼ú¾î¸¦ T ³ª NILÀ» °Ë»çÇÏ´Â ÀýÂ÷·Î º¸°Ô µÇ¸é ±× °Ë»çÀÇ ±âÁØÀÌ µÇ´Â '°°´Ù'´Â ¼ú¾îÀÇ Àǹ̸¦ ¹àÈú ÇÊ¿ä°¡ ÀÖ´Ù. ÀüÅë³í¸®Çп¡¼­ ³í¸®Àû »ç°íÀÇ ±âº»¿ø¸®·Î¼­ µ¿ÀÏ·üÀ» ²Å¾Æ¿Â °ÍÀ̳ª, ¾î¸°À̵éÀÇ »ç°í Àü°³°úÁ¤¿¡¼­ ¹«¾ùÀÌ ¹«¾ù°ú °°´Ù°Å³ª °°Áö ¾Ê´Ù´Â °ÍÀ» °¡¸®´Â ÀϺÎÅÍ ÇØ¿Â °ÍÀº µ¿ÀÏ·üÀÇ Á߿伺À» Àß ¼³¸íÇØ ÁØ´Ù. ¹«¾ùÀÌ ¹«¾ù°ú °°´Ù°í ÇÒ ¶§ ¾î¶² Ãø¸é¿¡¼­ °°Àº °ÍÀÎÁö¸¦ ¹àÇô¾ß ÇÑ´Ù. À̸¦ ¹àÈ÷Áö ¾Ê°í ¼­·Î ´Ù¸¥ ±âÁØ¿¡ ÀÇ°ÅÇÏ¿© °°´Ù°Å³ª °°Áö ¾Ê´Ù°í ÇÏ¿´À» °æ¿ì, »ç°íÀÇ È¥¶õÀ» ÀÏÀ¸Å°°í ¶§·Î´Â ¾µµ¥¾ø´Â ³íÀïÀ» ÇÏ°Ôµµ µÈ´Ù. Àǹ̷ÐÀÇ ¹®Á¦·Î¼­ '»ûº°°ú Àú³áº°ÀÌ °°´Ù'´Â ¿¹°¡ ³íÀÇÀÇ ´ë»óÀ¸·Î ÀÚÁÖ °Å·ÐµÇ¾î¿Â °Íµµ ±×µéÀÌ °°´Ù´Â ±âÁØÀ» ¹àÇô¾ß Ç߱⠶§¹®ÀÌ´Ù. ±×µéÀÌ Áö½ÃÇÏ´Â ¹Ù°¡ °°´Ù´Â ¿Ü¿¬Àû µ¿Àϼº°ú ±× °³³äÀÇ ³»Ç¥°¡ °°´Ù´Â °ÍÀº ¾ö¿¬È÷ ±¸ºÐµÇ¾î¾ß ÇÒ °ÍÀÌ´Ù.

»ê¼úÀÇ '2 + 3 = 5'¿¡¼­ '+'´Â °üÇ×¾î(functor) ÀÎ µ¥ ºñÇØ '='´Â ¼ú¾î·Î ±¸ºÐµÇ¸ç ÈÄÀÚ´Â '°°´Ù'´Â ¼ú¾î¿¡ ÇØ´çµÈ´Ù. ±×°ÍÀº ÀÏ»ó¾ð¾î·Î 'µÑ ´õÇϱ⠼ÂÀº ´Ù¼¸°ú °°´Ù'·Î Ç¥ÇöµÈ´Ù. ±×·¯³ª 'µÑ ´õÇϱ⠼Â'Àº '´Ù¼¸'°ú °°Áö ¾Ê´Ù°í ÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î °°Àº °ÍÀ» ³ªÅ¸³»´Â ±âÈ£¸¦ ±¸º°ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. LISP´Â µ¥ÀÌÅÍ À¯ÇüÀ¸·Î¼­ ¾ÆÅè°ú ¸®½ºÆ®, ±×¸®°í ¾ÆÅèÀº ¼ö¿Í ±âÈ£¸¦ ±¸ºÐÇÏ¿´À¸¹Ç·Î, '°°´Ù'´Â ¼ú¾îµµ ÀÌ·± Ç¥Çö°ú °ü·ÃÇÏ¿© '°°´Ù'´Â ¼ú¾î¸¦ ´Þ¸® »ç¿ëÇÑ´Ù. ±×¸®°í ÀÌ ¼ú¾î¸¦ ÇÔ¼öÇüÀ¸·Î Çϱâ À§ÇØ ¹¯´Â ¹æ½ÄÀ» ÃëÇÏ¿´´Ù. EQLÀº µÎ ³íÇ×ÀÇ °ªÀÌ °°Àº ±âÈ£(°°Àº À¯Çü) ÀÎÁö, ±×¸®°í = Àº µÎ ³íÇ× °ªÀÌ °°Àº ¼öÀÎÁö¸¦ ¹¯´Â ¿øÃʱâÈ£·Î °£ÁֵǾú´Ù.

´ÙÀ½À¸·Î LISP°¡ Áö´Ñ µ¥ÀÌÅÍ À¯ÇüÀ» °Ë»çÇϱâ À§ÇÑ ¿øÃʱâÈ£µé·Î¼­, ¾ÆÅèÀ» ¹¯´Â ATOM, ¼ö¸¦ ¹¯´Â NUMBERP, ±âÈ£¸¦ ¹¯´Â SYMBOLP, ±×¸®°í ¸®½ºÆ®¸¦ ¹¯´Â LISTP µîÀÌ ÀÖ°í ¼ö Áß¿¡¼­µµ ¿µÀÎÁö¸¦ ¹¯´Â ZEROP, ¾çÀÇ ¼öÀÎÁö¸¦ ¹¯´Â PLUSP, À½ÀÇ ¼öÀÎÁö¸¦ ¹¯´Â MINUSP, Ȧ¼ö¸¦ ¹¯´Â ODDP µîÀÌ ÀÖ´Ù. ±×¸®°í ¸®½ºÆ®µéÀ» °Ë»çÇÏ´Â °ÍÀ¸·Î¼­ °¡Àå Áß¿äÇÑ ¿øÃÊÀû ±âÈ£´Â NULL°ú CONSP¿Í MEMBERÀÌ´Ù.

¾î¶² °ÍÀÌ °ø ¸®½ºÆ®(empty list) ÀÎÁö¸¦ ¾Ë¾Æ º¸·Á¸é NULLÀ» »ç¿ëÇÑ´Ù. µû¶ó¼­ NULLÀº ³íÇ×ÀÌ °ø ¸®½ºÆ®Àΰ¡ ÇÏ´Â ¹°À½À¸·Î Ç®À̵ȴÙ. ¾î¶² ¸®½ºÆ®°¡ °ø ¸®½ºÆ®°¡ ¾Æ´Ï¶ó¸é ±×°ÍÀº ¸í½ÃÀûÀÌµç ¾Ï¹¬ÀûÀÌµç ¾î´À ÇÑ CONSÀÇ °á°ú·Î °£ÁֵȴÙ. ±×¸®ÇÏ¿© ³íÇ×ÀÌ CONSÀÏ ¼ö ÀÖ´Â °ÍÀΰ¡¸¦ ¹¯´Â CONSP´Â ¸®½ºÆ® °Ë»ç¿¡¼­ ÇʼöÀûÀÌ´Ù. ±×¸®°í ´õ¿í ÁÖ¸ñÇÒ ¸¸ÇÑ °ÍÀº MEMBERÀÌ´Ù. ÀÌ°ÍÀº ù° ³íÇ×ÀÌ ±âÈ£ÀÌ°í ±×°ÍÀÌ µÑ° ³íÇ×ÀÌ µÇ´Â ¸®½ºÆ®ÀÇ ¿ø¼ÒÀÎÁö¸¦ ¾Ë¾Æº¸±â À§ÇØ »ç¿ëÇÏ´Â ¼ú¾îÀÌ´Ù. ±×¸®°í ù°ÀÇ ±âÈ£´Â µÑ° ¸®½ºÆ®ÀÇ ÃÖ»óÀ§ ¼öÁØÀÇ ¿ø¼Ò(a top-level element)À̾î¾ß ÇÑ´Ù.

¼ú¾îµéÀ» °áÇÕÇÏ´Â ÀýÂ÷´Â ¸íÁ¦³í¸®ÀÇ °áÇÕ»ç (connective) µéÀÇ Áø¸®Ä¡°ü°è¿¡ ´ëü·Î µû¸£°Ô µÈ´Ù. ±×·¯³ª ÀÌ¹Ì »ìÆ캸¾ÒµíÀÌ LISPÀÇ Ç¥±â¹ýÀº Åë»óÀûÀÎ ¼öÇÐÀ̳ª ³í¸®ÇÐÀÇ °Í°ú´Â ´Þ¸® Æ÷¶õµåÇÐÆÄÀÇ °ÍÀ» ä¿ëÇÏ°í ÀÖ´Ù. Áï, »ê¼úÀÇ µ¡¼ÀÀº "2 + 4 + 7 + 5 + 9" ´ë½Å "(+ 2 4 7 5 9)"¸¦ »ç¿ëÇÔÀ¸·Î½á °üÇ×¾î +¸¦ ¹Ýº¹ÇÏÁö ¾Ê¾Æµµ µÇ¾ú´Ù. LISPÀÇ ¼ú¾î °áÇÕ¿¡ À־ Æ÷¶õµå½Ä Ç¥±â¹ýÀº ´õ¿í ¶Ñ·ÇÇÏ´Ù. °¡·É, Åë»óÀûÀÎ ¿¬¾ð¸íÁ¦ p ¡ü q ´Â Æ÷¶õµå½ÄÀ¸·Î´Â ¡ü p q À̸ç LISP ¿¡¼­´Â (And p q)·Î Ç¥±âµÇ±â ¶§¹®ÀÌ´Ù. µÎ °³ ÀÌ»óÀÇ ¼ú¾îµéÀÇ °áÇÕÀ» °Ë»çÇÔ¿¡ À־, ¼ú¾îµéÀÇ ¿¬¾ð(and) ÀÇ °æ¿ì´Â ÇϳªÀÇ ¼ú¾î°¡ °ÅÁþÀÌ¶óµµ °ÅÁþÀÌ µÇ¸ç ¼ú¾îµéÀÇ ¼±¾ð(or) ÀÇ °æ¿ì´Â ÇϳªÀÇ ¼ú¾î°¡ ÂüÀÏÁö¶óµµ ÂüÀÌ µÈ´Ù´Â Á¡ÀÌ È°¿ëµÈ´Ù. ±×¸®ÇÏ¿© ¿¬¾ð And´Â ¿ÞÆí¿¡¼­ ¿À¸¥ÆíÀ¸·Î ³íÇ×µéÀ» Æò°¡ÇØ °¡¸é¼­ NILÀÌ ³ª¿À¸é NIL·Î °áÁ¤ÇÏ°í ¸ðµÎ °Ë»çÇØ NILÀÌ ¾øÀ¸¸é T ·Î ÆÇÁ¤ÇÑ´Ù. ±×¸®°í ¼±¾ð OR µµ ¿ÞÆí¿¡¼­ ¿À¸¥ÆíÀ¸·Î ³íÇ×µéÀ» Æò°¡ÇØ °¡´Âµ¥ À̶§¿¡´Â ¾î¶² °ÍÀÌ NILÀÌ ¾Æ´ÑÁö¸¦ Æò°¡ÇØ °£´Ù. ¿©±â¼­ non-NILÀº ¹Ýµå½Ã T °¡ ¾Æ´ÔÀ» À¯ÀÇÇØ º¼ ÇÊ¿ä°¡ ÀÖ´Ù.

¿ì¸®´Â ¿©±â¼­ LISPÀÇ ¿¬¾ð(and) °ú ¼±¾ð(or) ÀÌ ³í¸®ÀûÀÎ ±×°Íµé°ú ¿©·¯ °¡Áö·Î À¯»çÇÏÁö¸¸ Â÷ÀÌ°¡ ÀÖÀ½À» ¹ß°ßÇÏ°Ô µÈ´Ù. ±× Ç¥±â¹ýÀÌ ´Ù¸¥ Á¡Àº ÀÌ¹Ì ¾ð±ÞµÇ¾úÀ¸¸ç ¿¬¾ð Ç¥ÇöÀ̳ª ¼±¾ð Ç¥ÇöÀÇ °ªÀÌ T ³ª NIL ÀÌ¿ÜÀÇ °ÍÀ¸·Îµµ ±â·ÏµÉ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. ±× ±î´ßÀº T °¡ ¾Æ´Ñ non-NILÀÇ °ªµµ Æò°¡ÀÇ ´ë»óÀÌ µÇ¸ç ±× Æò°¡´Â ¼øÂ÷ÀûÀ¸·Î ¿ÞÆí¿¡¼­ ¿À¸¥ÆíÇ׿¡·Î ÁøÇàµÇ±â ¶§¹®ÀÌ´Ù. µû¶ó¼­ Æò°¡ÀÇ °ªÀÌ T ¿Í NILÀÇ µÑ»ÓÀÌ ¾Æ´Ï°í ±× ÀÌ»óÀÌ µÉ ¼ö ÀÖ´Ù´Â Á¡¿¡¼­ ÀÌÄ¡³í¸®(two-valued logic)À» ³Ñ¾î¼± ´ÙÄ¡³í¸®(many-valued logic)¸¦ ¼ö¿ëÇÏ´Â ¹æ½ÄÀ̶ó°í ÇÏ°Ú´Ù. ³íÇ×ÀÇ ¼ø¼­¿¡ °ü°è¾øÀÌ »ç¿ëµÉ ¼ö ÀÖ´Â ³í¸®Àû ¿¬¾ðÀ̳ª ¼±¾ð°ú´Â ´Þ¸®, LISP-AND¿Í LISP-OR¿¡¼­´Â ±³È¯¹ýÄ¢ÀÌ ¼º¸³µÇÁö ¾Ê´Â´Ù´Â °ÍÀº À§ÀÇ º¸±â¿¡¼­µµ Àß ³ªÅ¸³ª ÀÖ´Ù.
¿ì¸®°¡ LISPÀÇ AND¿Í ÀÌÄ¡³í¸®¿¡ ±â¹ÝÀ» µÐ ³í¸®Àû ¿¬¾ðÀ» ºñ±³Çϱâ À§ÇØ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇÏ¿© »ç¿ëÇØ º¸ÀÚ.

À§¿¡¼­ º¸´Â ¹Ù¿Í °°ÀÌ ³í¸®Àû ¿¬¾ðÀº ³íÇ×ÀÇ Æò°¡ ¿©ºÎ¸¦ Á¦¾îÇÒ ¼ö ¾ø¾î LISPÀÇ ¿¬¾ðº¸´Ù ¸Å¿ì Á¦ÇѵǾî ÀÖ´Ù. ±×·¯³ª ÀÌÄ¡³í¸®ÀÇ ±â¹ÝÀÎ ºÎ¿ï ´ë¼ö(Boolean Algebra)ÀÇ 1 °ú 0 µéÀº  Claude Shannon ¿¡ ÀÇÇØ Àü±â ½ºÀ§Ä¡ ȸ·Î·Î Ç¥ÇöµÉ ¼ö ÀÖÀ½À» ¹àÈ÷°Ô µÇ¾ú°í ÀÌ°ÍÀÌ ¿À´Ã³¯ ÄÄÇ»ÅÍÀÇ È¸·Î¿¡ Àû¿ëµÈ ¸¸Å­ LISPÀÇ ¿¬¾ðÀ̳ª ¼±¾ðµµ °á±¹ 0°ú 1ÀÇ °ªÀ¸·Î Àü°³µÇ´Â ¿øÃÊÀûÀÎ ³í¸®Àû ¿¬»êÀÚ(primitive logical operator)¿¡ ÀÇÁ¸ÇÑ´Ù°í ÇÏ°Ú´Ù.

 

4. Á¶°ÇÇ¥ÇöÀÇ ¹®Á¦

Á¶°Ç¾ðÀÇ Ç¥ÇöÀº ¹«Ã´ ´Ù¾çÇÑ »ç°íÀ¯ÇüÀ¸·Î ¾²¿©Áú »Ó¸¸ ¾Æ´Ï¶ó ³í¸®Àû »ç°í³ª Àΰø¾ð¾î ±¸Á¶ÀÇ ±âÃÊÀûÀÎ ¿äÀÎÀÌ µÇ±â ¶§¹®¿¡ Áß¿äÇϸ鼭µµ ¶§·Î´Â È¥¶õÀ» ¸¹ÀÌ ¾ß±âÇØ¿Â ¹®Á¦À̱⵵ ÇÏ´Ù. ¾î¶² ³í¸®Àû »ç°íµµ Ã߸®ÀÇ Çü½ÄÀ» ÃëÇÏ°í Ã߸®¶õ '¸¸¾à ÀüÁ¦ÀÌ¸é °á·ÐÀÌ´Ù'´Â Á¶°Ç¾ðÀÇ Çü½ÄÀ¸·Î Ç¥ÇöµÇ¹Ç·Î Á¶°ÇÇ¥ÇöÀÌ ¿¬¿ªÀûÀÎ µµÃâ°¡´É¼º°úµµ °áºÎµÇ¾î ¿ÔÀ¸¸ç, ÇÔ¼öÇü½ÄÀ» ÃëÇÏ´Â LISPÀÇ °æ¿ìµµ '¸¸¾à ÇÔ¼öÇüÀ¸·Î ¹°À¸¸é ÇÔ¼ö°ªÀ» ´ë´äÇÑ´Ù'·Î µÇ¾î LISP ÀÚüµµ Á¶°Ç¾ðÀÇ Ç¥ÇöÀ¸·Î Ç®ÀÌµÉ ¼ö ÀÖ´Ù. ±×·±µ¥ Á¶°Ç¾ðÀÇ ³í¸®ÀÇ ´ëÇ¥ÀûÀÎ Çü½ÄÀÎ ½ÇÁúÇÔÃà(material implication)Àº À̸¥¹Ù ¿ª¸®Çö»ó(paradox) ¿¡ ºÎµúħ¿¡ µû¶ó, À̸¦ ÇؼÒÇϱâ À§ÇØ ½ÇÁúÇÔÃàÀÇ ÀÌÄ¡³í¸®ÀûÀÎ Áø¸®ÇÔ¼ö°ü°è¿¡ ´ëÇÑ ¿©·¯ °¡Áö À½¹Ì¿Í ºñÆÇÀÌ ÀÖ¾ú°í ±×¸¦ ÅëÇØ »õ·Î¿î ³í¸®µéÀÌ °³¹ßµÇ±âµµ ÇÏ¿´´Ù.

LISPÀÇ Á¶°ÇÇ¥Çöµéµµ ±×·¯ÇÑ »õ·Î¿î ³í¸®°³¹ßÀÇ ÇÑ °¡Áö ÇüÅ·Πº¼ ¼ö ÀÖ´Ù. p ¡æ qÀÇ Çü½ÄÀ¸·Î Ç¥ÇöµÇ´Â ¸íÁ¦³í¸®ÀÇ ½ÇÁúÇÔÃà À̶õ ÁÖÁöÇÏ´Â ¹Ù¿Í °°ÀÌ ¡­p ¡ý q³ª ¡­(p ¡ü ¡­q)·Î Á¤ÀǵǸç--ÀÌ Á¤ÀÇ¿¡´Â Âü°ú °ÅÁþÀ̶ó´Â µÎ °³ÀÇ Áø¸®Ä¡ °ü°è¸¸ÀÌ °í·ÁµÈ´Ù-- ÀÌ·± ÀÌÄ¡³í¸®¸¦ ±â¹ÝÀ¸·Î ÇÏ¿© ±×°ÍµéÀÇ ÀÏÄ¡ ¿©ºÎ¸¸À» ³íÇÏ´Â Áø¸®ÇÔ¼öÀÇ ³í¸®¿´´Ù. ±×¸®°í ÀÌ ½ÇÁúÇÔÃàÀ» ÀÏ»ó¾ð¾î·Î´Â Á¶°Ç¾ð Çü½ÄÀ¸·Î '¸¸¾à p¸é q' (if..., then...)¶ó°í ȣĪÇØ ¿Ô´Ù.

±×·±µ¥ ½ÇÁúÇÔÃà¿¡ ÀÇÇϸé Àü°ÇÀÎ p°¡ °ÅÁþÀ̸é ÈÄ°ÇÀÎ qÀÇ Áø¸®Ä¡¿¡ °ü°è¾øÀÌ ±× ½ÇÁúÇÔÃàÀº ÂüÀÌ µÈ´Ù. ´Ù½Ã ¸»Çϸé, '±è±ºÀÌ ´ëÇп¡ ÀÔÇÐÇÏ¸é ³ª´Â ±è±º¿¡°Ô ±¸µÎ¸¦ »ç ÁÖ°Ú´Ù'°í ÇÑ ¸»Àº ±è±ºÀÌ ´ëÇп¡ ÀÔÇÐÇÏÁö ¸øÇϸé ÂüÀÌ µÈ´Ù´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº ÀÏ»ó¾ð¾îÀÇ Á¶°Ç¾ð ÀÇ¹Ì¿Í ¹èÄ¡µÈ´Ù. ±×¸®ÇÏ¿© ±×°ÍÀº À̸¥¹Ù ½ÇÁúÇÔÃàÀÇ ¿ª¸®·Î ȣĪµÇ¾î ¿Ô´Ù. ±×·¯¸é ÀÌÄ¡³í¸®ÀÇ ÄÄÇ»ÅÍ È¸·Î¸¦ ±â¹ÝÀ¸·Î ÇÏ¿© ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ¾ß ÇÏ´Â LISP´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ¾î¶»°Ô ÇØ°áÇÒ ¼ö ÀÖµµ·Ï Á¶°ÇÇ¥ÇöÀ» ÇÏ°í ÀÖ´Â °ÍÀϱî?

LISP°¡ Á¶°ÇÇ¥ÇöÀ» À§ÇØ ¸¶·ÃÇÑ ¿øÃÊÀû ±âÈ£·Î´Â WHEN, UNLESS, IF, COND°¡ ÀÖ´Ù. À̵éÀÇ ÀýÂ÷¸¦ ¸ð¹üÀûÀ¸·Î Á¦½ÃÇÏ´Â Á¶Çü(template)°ú ±× ½Ç·ÊµéÀ» »ìÆì º¸¸é¼­ ½ÇÁúÇÔÃàÀÇ ¿ª¸®ÇؼҸ¦ ¾î¶»°Ô ½ÃµµÇß´ÂÁö¸¦ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. °¡·É, ¿Âµµ¿Í °°Àº º¯Ç×ÀÇ °ªÀ» °Ë»çÇÏ¿© ±× °á°ú°¡ Ãß¿îÁö, ´õ¿îÁö, Àû´çÇÑÁö¸¦ ¾Ë·Á´Â °æ¿ìó·³, LISPÀÇ ¿øÃÊÀû Á¶°Ç±âÈ£µéÀº, ¿ì¸®°¡ ¾Ë°íÀÚ ÇÏ´Â °ªÀÌ ¾î¶² °Ë»çÀÇ °á°ú¿¡ ÀÇÁ¸ÇÏ´Â °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï °í¾ÈµÇ¾ú´Ù. ÀϹÝÈ­µÈ Á¶°Ç±âÈ£´Â CONDitional¿¡¼­ µû¿Â COND ÀÌÁö¸¸ ±×º¸´Ù ´Ü¼øÇÑ °ÍÀº IF ÀÌ°í WHEN °ú UNLESS ´Â IFÀÇ Æ¯¼öÇÑ °æ¿ì¶ó°í ÇÒ ¼ö ÀÖÀ¸¹Ç·Î IF ºÎÅÍ ¾Ë¾Æ º¸±â·Î ÇÑ´Ù.

IFÀÇ ¸ðÁ¶ÇüÀº ´ÙÀ½°ú °°´Ù.
(IF <°Ë»çÇü> <Á¦2Çü> <Á¦3Çü>)
IFÇü½Ä¿¡ À־ ù° ³íÇ×Àº ¹«¾ùÀ» °Ë»çÇϱâ À§ÇØ ÀÛµ¿ÇÏ´Â Çü½Ä(trigger or test form)Àε¥ ±× °Ë»ç°á°ú°¡ T À̰ųª NILÀÌ ¾Æ´Ñ °ÍÀ¸·Î µÇ¸é Á¦2ÇüÀ» Æò°¡ÇÏ°í ±× °Ë»ç °á°ú°¡ NILÀ̸é Á¦3ÇüÀ» Æò°¡ÇÑ´Ù. ´ÙÀ½ÀÇ º¸±â´Â º¯Ç× X ¸¦ ¿Âµµ°¡ È­¾¾ 50µµÀÎ ¹°À̶ó°í ÇßÀ» °æ¿ìÀÌ´Ù.

±×·±µ¥ Á¶°ÇÇ¥Çö WHENÀº °Ë»çÇüÀÌ T ³ª non-NIL ÀÎ °æ¿ì Á¦2ÇüÀ» Æò°¡ÇÏ°í °Ë»ç°á°ú°¡ NIL À̸é NIL ·Î Æò°¡ÇÏ´Â Çü½ÄÀÌ´Ù. ÀÌ°ÍÀº (WHEN <°Ë»çÇü> <Á¦2Çü>)ÀÇ ¸ðÁ¶ÇüÀ¸·Î Ç¥ÇöµÈ´Ù. Á¶°ÇÇ¥Çö UNLESS ´Â ±× °Ë»çÇüÀÌ NIL ÀÎ °æ¿ì, Á¦2ÇüÀ» Æò°¡ÇÏ°í non-NIL À̸é NIL ·Î ÆòÇÏ´Â °ÍÀ¸·Î¼­ (UNLESS <°Ë»çÇü> <Á¦2Çü>)ÀÇ ¸ðÁ¶ÇüÀ» ÃëÇÑ´Ù.

°Ë»çÇÑ °á°ú°¡ non-NILÀÏ ¶§¸¸ ±×¿¡ ´ëÀÀÇÏ´Â °á°ú °ªÀ» Æò°¡ÇÏ°Ô µÈ´Ù. ±×¸®ÇÏ¿© °Ë»çÇü Áß¿¡´Â °¡´ÉÇÑ ¸ðµç °æ¿ì¸¦ ¸ðµÎ ¿­°ÅÇÏ¿© Æò°¡Çϸé ÇØ´çÇÏ´Â ÀûÀýÇÑ °ªÀ» ¾òÀ» ¼ö ÀÖ´Ù. Á¶ÇüÀÇ ¸¶Áö¸· <°Ë»çÇü n>´Â T ·Î ´ëÄ¡ÇÏ¿© ÈçÈ÷ »ç¿ëÇϴµ¥ ±×°ÍÀº ³ª¸ÓÁö °æ¿ì ¸ðµÎ¸¦ ÁöĪÇϹǷΠÆí¸®ÇÏ°Ô ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.

À§¿¡¼­ »ìÆ캻 LISPÀÇ Á¶°ÇÇ¥ÇöµéÀ» ¸íÁ¦³í¸®ÀÇ ½ÇÁúÇÔÃà°ú ºñ±³Çϱâ À§ÇØ Áø¸®Ç¥(truth-table)¸¦ ¸¸µé¾î º¸ÀÚ. Áø¸®°ª NILÀº F ·Î Á¤È®È÷ ¹ø¿ªµÇÁö¸¸ non-NILÀº T ¿Í ¿ÏÀüÈ÷ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ¾Æ·¡ µµÇ¥¿¡¼­ Ç¥½ÃµÈ T ¿Í ¿ÏÀüÈ÷ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ¾Æ·¡ µµÇ¥¿¡¼­ Ç¥½ÃµÈ T ´Â ³íÀÇÀÇ ÆíÀÇ»ó ´ÜÁö non-NILÀ» ´ëÇ¥ÇÏ´Â °ÍÀ¸·Î °£ÁÖÇÑ´Ù.

 

p

q

p¡æq

(WHEN p q)

(UNLESS p q)

(IF p q)

(COND p q)

1
2
3
4

T
T
F
F

T
F
T
F

T
F
T
T

T
F
F
F

F
F
T
F

T
F
?
?

T
F
?
?

WHENÀÇ °æ¿ì, °Ë»çÇüÀÎ p °¡ non-NILÀÏ ¶§ Á¦2ÇüÀÎ q ÀÇ °ª¿¡ µû¶ó °áÁ¤µÇ°í ÀüÀÚ°¡ °ÅÁþÀÏ °æ¿ì´Â ¸ðµÎ °ÅÁþÀ¸·Î µÇ¾ú°í, UNLESS´Â °Ë»çÇüÀÌ °ÅÁþÀÏ ¶§¿¡¸¸ Á¦2ÇüÀ» Æò°¡ÇÏ°í ³ª¸ÓÁö °æ¿ì´Â ¸ðµÎ °ÅÁþÀ¸·Î ó¸®ÇÏ¿´±â ¶§¹®¿¡ À§¿Í °°Àº Áø¸®Ç¥°¡ ¼º¸³µÈ´Ù. ±×·¯³ª IF ¿Í CONDÀÇ °æ¿ì´Â °Ë»çÇüÀÌ °ÅÁþÀÌ¸é µÎ °³ÀÇ ³íÇ׸¸À¸·Î °áÁ¤ÇÒ ¼ö ¾ø°í ¼¼¹ø° ³íÇ×ÀÇ °ª¿¡ ÀÇ°ÅÇÏ¿© Æò°¡µÇ¹Ç·Î µÎ °³ÀÇ ³íÇ׸¸À¸·Î´Â °áÁ¤µÉ ¼ö ¾ø°í ¿ÀÁ÷ °Ë»çÇüÀÌ °ÅÁþÀÌ ¾Æ´Ò °æ¿ì¸¸ Æò°¡µÉ »ÓÀÌ´Ù. À̸®ÇÏ¿© °Ë»çÇüÀÌ °ÅÁþÀÌ¸é ¾ðÁ¦³ª ÂüÀ¸·Î ÆÇÁ¤µÇÁö ¾Ê±â ¶§¹®¿¡ ½ÇÁúÇÔÃàÀÇ ¿ª¸®´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª LISPÀÇ Á¶°ÇÇ¥Çöµé¿¡¼­´Â non-NILÀÌ T ÀÌ¿Ü¿¡ ´Ù¸¥ ±âÈ£°ªÀ¸·Îµµ Á¦½ÃµÇ±â ¶§¹®¿¡ ÀÌÄ¡³í¸®ÀÇ ½ÇÁúÇÔÃà¿¡¼­Ã³·³ Áø¸®Ä¡ÀÇ ¿¬»êÀ» ÇÒ ¼ö ¾ø´Ù°í ÇÏ°Ú´Ù.

 

5. ¿ª¸®Çö»óÀÇ LISPÀÇ È¸±ÍÇ¥Çö

ÀÚ¿¬¾ð¾î¿Í Àΰø¾ð¾î¿¡¼­ È¥µ¿À̳ª ¿ÀÇظ¦ ¾ß±â½ÃÅ°´Â ¹®Á¦µé Áß¿¡´Â ÀÚ±âÁö½ÃÀû ¾ð¾îÀÇ ¿ª¸®µéÀÌ ÀÖ´Ù. 19¼¼±â ¸»°ú 20¼¼±â ÃÊ¿¡ °ÉÃÄ È°¹ßÈ÷ ³íÀǵǾú´ø ¼öÇÐÀÇ ±âÃÊÀÌ·Ð ºÐ¾ß¿¡¼­ ·¯¼¿ÀÇ ¿ª¸®(B. Russell's Paradox)·Î ´ëÇ¥µÇ´Â ÁýÇÕ·Ð ¶Ç´Â ³í¸®Àû ¿ª¸®¿Í °ÅÁþ¸»ÀïÀÌÀÇ ¿ª¸®·Î ÁöĪµÇ´Â ÀνķР¶Ç´Â Àǹ̷ÐÀû ¿ª¸® µîÀÌ ±×·¯ÇÑ ºÎ·ù¿¡ ¼ÓÇÑ´Ù. ±×¸®°í Ãʱ⠺ñÆ®°Õ½´Å¸Àΰú ³í¸®½ÇÁõÁÖÀÇÀÇ Â÷ÀÌÁ¡¿¡¼­¿Í °°ÀÌ, 1930³â´ë ÃÊ¿¡ Ä«¸£³³ÀÌ Àΰø¾ð¾î ±¸¼º¿¡ °üÇÑ ºñÆ®°Õ½´Å¸ÀÎÀÇ °ßÇظ¦ ºñÆÇÇÑ °Íµµ ¹Ù·Î ÀÚ±âÁö½ÃÀû ¾ð¾î¸¦ Áß½ÉÀ¸·Î Àü°³ÇÑ °ÍÀ̾ú´Ù. ÀÌó·³ 20¼¼±â ÃÊ¿¡ È°¹ßÈ÷ Àü°³µÇ¾ú´ø ³í¸® ¹× ¼ö¸®Ã¶ÇÐÀû ³íÀÇÀÇ °á°úµéÀº ƯÈ÷ LISPÀÇ È¸±ÍÇÔ¼ö 󸮿¡ Àß ¹Ý¿µµÇ¾ú´Ù°í ÇÏ°Ú´Ù.

·¯¼¿ÀÇ ¿ª¸®¶õ ¸ðµç ¼öÇÐÀÇ ±âÃÊ°¡ µÇ´Â ÁýÇÕÀÇ °³³äÀ» ¸íÈ®È÷ ¹àÈ÷·Á´Â öÇÐÀû Ž±¸°úÁ¤¿¡¼­ ¹ß°ßµÇ¾ú´Ù. Åë»óÀûÀÎ ÁýÇÕµéÀº Çϳª ÀÌ»óÀÇ ¿ø¼ÒµéÀÇ ÁýÇÕÀÌÁö¸¸ ÇϳªÀÇ ¿ø¼Ò¸¸ °¡Áø °Íµµ ÁýÇÕÀ̶ó°í ÇÏ¸ç ½ÉÁö¾î´Â ÇϳªÀÇ ¿ø¼Òµµ °®Áö ¾ÊÀº °Íµµ °øÁýÇÕ(null set)À̶ó°í ÇÏ¿© ÁýÇÕÀÇ ¸íĪÀ» ºÙÀδÙ. ±×¸®°í Åë»óÀûÀÎ ÁýÇշп¡ ÀÇÇϸé ÁýÇÕµéÀº ÀÚ±â Àڽŵµ ÀÚ±âÀÇ ¿ø¼Ò·Î »ï´Â °ÍÀÌ Á¤»óÀûÀ̹ǷÎ, ÀÌ·¸°Ô 'ÀÚ±â ÀÚ½ÅÀ» ¿ø¼Ò·Î »ï´Â ÁýÇÕµéÀÇ ¸ðµç ÁýÇÕ'À» N À̶ó°í ÇÏÀÚ. ±×·±µ¥ ·¯¼¿ÀÌ »óÁ¤ÇÑ ÁýÇÕÀº ±×·± Á¤»óÀû ÁýÇÕ°ú´Â ´Þ¸® 'ÀÚ±â ÀÚ½ÅÀ» ¿ø¼Ò·Î »ïÁö ¾Ê´Â ÁýÇÕ'ÀÌ´Ù. À̸®ÇÏ¿© ÀÚ±â ÀÚ½ÅÀ» ¿ø¼Ò·Î »ïÁö ¾Ê´Â ¸ðµç ÁýÇÕµéÀÇ ÁýÇÕÀ», N °ú ±¸º°ÇÏ´Â ·¯¼¿ÀÇ ÁýÇÕÀ̶ó´Â ¶æ¿¡¼­ R ·Î ȣĪÇϸé,

ÀÌ µÈ´Ù. ±×·±µ¥ ÀÌ R Àº ÀÚ±â Àڽſ¡ ¼ÓÇϴ°¡ ¼ÓÇÏÁö ¾Ê´Â°¡ ÇÏ´Â °ÍÀÌ ¹®Á¦´Ù. ¸¸¾à R ÀÌ R ¿¡ ¼ÓÇÏÁö ¾Ê´Â´Ù¸é ±×°ÍÀº R ÀÇ Á¤ÀÇ¿¡ ÀÇÇØ R ¿¡ ¼ÓÇÑ´Ù. »Ó¸¸ ¾Æ´Ï¶ó ¸¸¾à R ÀÌ R ¿¡ ¼ÓÇÑ´Ù¸é ±×°ÍÀº ´Ù½Ã±Ý R ÀÇ Á¤ÀÇ¿¡ ÀÇÇØ R ¿¡ ¼ÓÇÏÁö ¾Ê´Â´Ù´Â ¿ª¸®Çö»ó¿¡ ºÎµúÄ£´Ù.

´Ù¸¥ ÇÑÆí, Àǹ̷ÐÀû ¿ª¸®·Î ȣĪµÇ´Â °ÅÁþ¸»ÀïÀÌÀÇ ¿ª¸®´Â °í´ë ±×¸®½º öÇÐÀÚµéÀÇ ³íÀÇ Áß¿¡¼­ Á¦±âµÇ¾ú´ø °ÍÀÌ´Ù. Å©·¹Å× »ç¶÷ ¿¡ÇǸ޴ϵ¥½º´Â "¸ðµç Å©·¹Å× »ç¶÷Àº °ÅÁþ¸»ÀïÀÌ´Ù"¶ó°í ¸»ÇÏ¿´´Ù. ÀÌ ¸»Àº Âü¸»Àΰ¡ °ÅÁþ¸»Àΰ¡? ¸¸¾à ±×°¡ Âü¸»À» ÇÏ¿´´Ù¸é ±×°ÍÀº °ÅÁþ¸»ÀÌ°í ¸¸¾à ±×°¡ °ÅÁþ¸»À» ÇÏ¿´´Ù¸é ±×°ÍÀº Âü¸»ÀÌ´Ù. ÀÌ ¿ª¸®Çö»óÀ» Á»´õ ´Ü¼øÈ­ÇÏ¿© ¸»ÇÑ´Ù¸é '³»°¡ Áö±Ý ¸»ÇÏ°í ÀÖ´Â °ÍÀº °ÅÁþ¸»ÀÌ´Ù'¶ó´Â Ç¥Çö S ·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù.³»°¡ °ÅÁþ¸»À» Çß´Ù¸é ±×°ÍÀº S ¿¡ ÀÇÇØ Âü¸»ÀÌ°í ¸¸¾à ³»°¡ Âü¸»À» Çß´Ù¸é ±×°ÍÀº S ¿¡ ÀÇÇØ °ÅÁþ¸»À» ÇÑ °ÍÀÌ µÇ´Ï ¸»ÀÌ´Ù.

ÀÌ¿Í °°Àº ¿ª¸®Çö»óµéÀº ¾óÇÍ º¸¸é ¸»À峭ó·³ º¸À̱⵵ Çϳª 1903³â ·¯¼¿ÀÌ ¹ßÇ¥ÇÑ ÁýÇÕ·ÐÀÇ ¿ª¼³Àº ´ç½Ã ¼öÇа迡¼­ Á¤¼³·Î ±»¾î°¡´ø Ä­Åä¾î(G. Cantor)ÀÇ ÁýÇÕ·ÐÀÇ ±âÃʸ¦ µÚÈçµé°Ô µÇ¾ú°í ¼öÇаèÀÇ À§±â·Î °£ÁֵǴ ū »ç°ÇÀ̾úÀ¸¸ç ±× ÇØ°áÀÇ ¹æÇâÀÌ Çö´ë ¼öÇÐÀÇ Çà¹æÀ» ±ÔÁ¤ÇØ ÁÙ Á¤µµ¿´´Ù. ÀÌ¿Í °ü·ÃµÈ Àǹ̷ÐÀû ¿ª¼³Àº ¾ð¾îÀÇ ¼öÁØÀ» ±¸ºÐÇÔÀ¸·Î½á ±× ¿ª¸®Çö»ó ¹ß°ßÀº Çö´ë¿¡¼­ Áø¸®·Ð ¿¬±¸¿Í ¾ð¾îºÐ¼®ÀÇ »õ·Î¿î ÀüȯÁ¡ÀÌ µÇ¾ú´Ù.

·¯¼¿ ÀÚ½ÅÀº ÁýÇÕ·ÐÀÇ ¿ª¸®¸¦ À¯Çü·Ð(theory of types)À» Á¦½ÃÇÏ¿© ÇØ°áÇÏ¿´´Ù. ¿ì¸®°¡ ¼ú¾î³í¸®¿¡¼­ 'x ´Â p ´Ù'¶ó°í ÇßÀ» ¶§ ÀÌ°ÍÀÌ Àǹ̸¦ Áö´Ï±â À§Çؼ­´Â x ¿Í p ÀÇ ¹üÀ§°¡ °¢±â ±ÔÁ¤µÇ¾î¾ß ÇÏ´Â °Íó·³, 'X °¡ Y ¿¡ ¼ÓÇÑ´Ù'°í ÇßÀ» ¶§µµ °¢±â ±× ¹üÀ§µéÀÌ ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. ÁýÇÕ¿¡¼­ °¡Àå ³·Àº À¯ÇüÀº °³Ã¼µéÀ̸ç, °³Ã¼µéÀÇ ÁýÇÕ, ±× ÁýÇÕÀÇ ÁýÇÕÀ¸·Î À¯ÇüÀÌ Â÷·Ê·Î ³ô¾Æ°£´Ù. ±×·¯¹Ç·Î °¡·É, °³Ã¼µé a, b, cÀÇ ÁýÇÕ A ÀÇ À¯ÇüÀº ±× °³Ã¼µé a º¸´Ù ÇÑ ´Ü°è ³ôÀº À¯ÇüÀÌ´Ù. ÀÌ¿Í °°ÀÌ 'X ¡ô Y'¿¡ À־ Y ÀÇ À¯Çü(type)Àº X ÀÇ À¯Çüº¸´Ù ÇÑ ´Ü°è ³ô¾Æ¾ß ÇÔ¿¡µµ ºÒ±¸ÇÏ°í ÀÌ À¯ÇüÀÇ Â÷À̸¦ ¹«½ÃÇÏ°í, ±×µéÀÇ À¯ÇüÀ» µ¿ÀÏÇÑ °ÍÀ¸·Î Ãë±ÞÇϴµ¥¼­ ¿ª¸®Çö»óÀÌ ³ªÅ¸³­´Ù°í º¸¾Ò´Ù. ±×·¯¹Ç·Î 'X ¡ô X'¿¡¼­µµ ¾ÕÀÇ À¯ÇüÀ» µÚÀÇ À¯Çüº¸´Ù ÇÑ ´Ü°è ³·Àº °ÍÀ¸·Î Ãë±ÞÇÏ¸é ¿ª¸®°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ƯÈ÷ ·¯¼¿Àº ÀÌ·± Á¾·ùµéÀÇ ¿ª¸®¸¦ ÇÇÇϱâ À§ÇØ ÁؼöÇØ¾ß ÇÏ´Â ¾Ç¼øȯÀÇ ¿ø¸®(vicious circle principle)¸¦ Á¦½ÃÇÏ¿´´Ù. ±×°ÍÀº ¾î¶² ÁýÇÕµµ ±× Àüü¿¡ ÀÇÇؼ­¸¸ Á¤ÀÇµÉ ¼ö ÀÖ´Â ±×·± ¿ø¼Ò¸¦ °¡Áú ¼ö ¾ø´Ù´Â ³»¿ëÀÇ ¿ø¸®´Ù.

ÁýÇÕ·ÐÀÇ ¿ª¸®°¡ ÀÚ±â Áö½Ã(self reference)ÀÇ À¯ÇüÀ» È¥µ¿ÇÑ °ÍÀ̶ó¸é Àǹ̷ÐÀÇ ¿ª¸®´Â ¾ð¾îÀÇ ¼öÁØÀ» È¥µ¿ÇÑ °ÍÀ¸·Î ÁöÀûµÇ¾ú´Ù. Ÿ¸£½ºÅ°(A. Tarski)´Â Áø¸® °³³äÀ» ±×°ÍÀ» Ç¥ÇöÇÏ´Â ¾ð¾î¿¡ ÀÇÁ¸ÇÏ´Â °ÍÀ¸·Î ÆÇÁ¤ÇÏ¿´´Ù. ¾î¶² ÁÖÀåÀÌ ÂüÀ̶ó°í ÇÒ ¶§ ±×°ÍÀÌ ÂüÀÌ µÈ´Ù´Â Àǹ̸¦ ºÐ¸íÈ÷ Çϱâ À§Çؼ­´Â ±×°ÍÀ» Ç¥ÇöÇÏ´Â ¾ð¾îÀÇ ¼öÁØÀÌ Á¦½ÃµÇ¾î¾ß ÇÑ´Ù. ƯÈ÷ ´ë»ó¾ð¾î(object language)¿Í ¸ÞŸ¾ð¾î(meta language)ÀÇ ¼öÁØÀÌ ±¸ºÐµÇÁö ¾Ê´Â ÀÚ±âÁö½ÃÀû ¾ð¾î¸¦ »ç¿ëÇÏ°Ô µÉ ¶§ °ÅÁþ¸»ÀïÀÌÀÇ ¿ª¸®¿Í °°Àº Àǹ̷ÐÀû ¿ª¸®°¡ ¹ß»ýÇÑ´Ù´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, '¸ðµç Å©·¹Å× »ç¶÷ÀÌ ¾ð¾î L1 ·Î ¸»ÇÏ´Â °ÍÀº °ÅÁþ¸»À̶ó°í ¿¡ÇǸ޴ϵ¥½º´Â ¾ð¾î L2 ·Î ¸»ÇÏ¿´´Ù'°í ¸»ÀÌ´Ù. ÀÌ·¸°Ô ¾ð¾î¼öÁØÀ» ±¸ºÐÇÏ¸é ¿ª¸®´Â Çؼҵȴٴ °ÍÀÌ´Ù. ´ë»ó¾ð¾î¿Í ¸ÞŸ¾ð¾îÀÇ ±¸ºÐÀº Çö´ë ºÐ¼®Ã¶Çп¡¼­ °³¹ßÇÑ ¸í¼®È­ÀÛ¾÷ÀÇ Áß¿äÇÑ ¾÷ÀûÀÌ¸ç ±× µµ¿òÀ» ¹è°æÀ¸·Î ÇÏ¿© ÇÁ·Î±×·¥¾ð¾îÀÎ LISP¿¡¼­µµ ±âÈ£¿Í ±âÈ£ ÀÚ½ÅÀ» ³ªÅ¸³»´Â ±âÈ£¸¦ ±¸ºÐÇϱâ À§ÇØ µû¿ÈÇ¥°¡ ¾²¿©Áö°Ô µÇ¾ú´Ù°í ÇÏ°Ú´Ù.

±×·¯¸é ÀÚ±â Áö½Ã(self reference) ¿¡¼­ ¾ð¾î¼öÁØÀ» ±¸ºÐÇØ¾ß ÇÑ´Ù´Â °ÍÀº ±× ¼öÁØ¿¡ µû¶ó ¾ð¾îü°è°¡ ¿ÏÀüÈ÷ ´Þ¶ó¾ß ÇÑ´Ù´Â ¸»Àΰ¡? ´ë»ó¼¼°èÀÇ ¾ð¾îü°è¿Í ±× ¸ÞŸ¾ð¾îÀÇ ¾ð¾îü°è, ±× ¸ÞŸ ¸ÞŸ ¾ð¾îÀÇ ¾ð¾îü°è µîÀ¸·Î °è¼ÓµÇ¾î¾ß Çϴ°¡? ±×·¸´Ù¸é ¾ð¾îü°è°¡ ¹«ÇÑÈ÷ ÅðÇàÇÒ °ÍÀÌ´Ù. ±×¸®ÇÏ¿© ºñÆ®°Õ½´Å¸ÀÎÀº ÁöºØ¿¡ ¿À¸£±â À§ÇØ »ç´Ù¸®¸¦ »ç¿ëÇÏÁö¸¸ ¿À¸£°í ³ª¸é »ç´Ù¸®°¡ ÇÊ¿ä¾øµíÀÌ, ƯÁ¤ÇÑ ¼öÁØ¿¡ À̸£¸é ¾ð¾î¸¦ ÃÊ¿ùÇØ¾ß ÇÑ´Ù°í º¸¾Ò´Ù. ÀÌ·¯ÇÑ ¹«ÇÑÅðÇàÀ» ÇÇÇÏ·Á¸é °á±¹ Àڱ⸦ Áö½ÃÇÏ´Â ¾ð¾î¸¦ »ç¿ëÇÒ ¼ö¹Û¿¡ ¾ø°í ±×·¸°Ô µÇ¸é ¼øȯ³í¹ý¿¡ ºüÁö°Ô µÈ´Ù. ÀÌ·± ³­¹®¿¡ ºÎµúÃÄ ÀÚ±âÁö½ÃÀû ¾ð¾î¸¦ »ç¿ëÇϸ鼭µµ ¾Ç¼øȯ ¾Æ´Ñ ¹æ¹ýÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀ» º¸ÀÌ°íÀÚ ÇÑ °ÍÀÌ Ä«¸£³³ÀÇ <¾ð¾îÀÇ ³í¸®Àû ±¸¹®·Ð>À̾ú´Ù. ¿©±â¿¡¼­ Ä«¸£³³ÀÌ ±¸¼ºÇÑ Àΰø¾ð¾îÀÇ Æ¯»öÀº Kurt Gödel ÀÇ »ê¼úÈ­ ¹æ¹ýÀ» ÀÚ½ÅÀÇ ±¸¹®·Ð ¼­¼ú¿¡ »ç¿ëÇÑ °ÍÀÌ´Ù. ÀÌ¿¡ ÀÇÇÏ¸é ±¸¼º¾ð¾î I ÀÇ ±¸¹®·ÐÀ» ±â¼úÇÏ´Â µ¥ ±×¿Í´Â º°µµÀÇ ´Ù¸¥ ¾ð¾î¸¦ »ç¿ëÇÑ °ÍÀÌ ¾Æ´Ï¶ó ¹Ù·Î ¾ð¾î I ¿¡ ÀÇÇØ ¾ð¾î I ¿¡ °üÇÑ ±¸¹®·ÐÀ» ³íÇß´Ù. ±×´Â À̸¦ ±Ù°Å·Î ºñÆ®°Õ½´Å¸ÀÎó·³ ¹«ÇÑÅðÇàÀ̳ª ¼øȯ³í¹ýÀ» ÇÇÇϱâ À§ÇØ ¸»ÇÒ ¼ö ¾ø´Â ±× ¾î¶² °Í¿¡ È£¼ÒÇÑ´Ù¸é ½ÅºñÁÖÀǸ¦ ºÎÈ°ÇÏ´Â °ÍÀ̶ó°í ºñÆÇÇÏ¿´´Ù.

ÀÌ°°Àº Ä«¸£³³ÀÇ »ç»óÀº LISPÀÇ È¸±Í(recursion)Ç¥Çö¿¡¼­ Àß µå·¯³­´Ù. Àü»ê°úÇÐÀÇ °¡Àå ±Ùº»ÀûÀÎ °³³äÁßÀÇ ÇϳªÀΠȸ±Í°³³äÀº LISPÇÔ¼öµéÀÌ ÀÛ¾÷À» ¼öÇàÇϱâ À§ÇØ ÇÏÀ§ Â÷¿øÀÇ ÇÔ¼öµéÀ» È£ÃâÇÏ´Â µ¥µµ ¾²ÀÌ°í LISPÇÔ¼ö°¡ ÀÚ±â ÀÚ½ÅÀ» Á÷Á¢ ¶Ç´Â °£Á¢À¸·Î È£ÃâÇÏ´Â µ¥µµ ¾²ÀÌ¸ç ´õ¿íÀÌ ÇÔ¼ö°¡ Àڱ⸦ Á¤ÀÇÇÏ´Â °æ¿ì, ±× Á¤ÀÇ ¾È¿¡¼­ ÀÚ½ÅÀ» È£ÃâÇÏ´Â °æ¿ì¿¡µµ ¾²ÀδÙ. ÀÌ ¸¶Áö¸· °æ¿ì´Â ºÐ¸íÈ÷ ¼øȯÀûÀ̶ó°í ÇÒ ¼ö ÀÖÀ¸³ª ±×°ÍÀº ¾Ç¼øȯÀÌ ¾Æ´Ï°í Á¤´çÇÏ°Ô Àڱ⸦ Á¤ÀÇÇÏ´Â °ÇÀüÇÑ ¼øȯÀ̶ó°í ÇÏ°Ú´Ù. °¡·É, LISP¿¡¼­ ¸®½ºÆ®ÀÇ ¾ÆÅèµéÀÇ ¼ö ¼¿¶ó(ATOM-SAELA)¸¦ Á¤ÀÇÇÏ´Â °æ¿ì »ç¿ëµÇ´Â ȸ±Í°³³äÀÇ »ç·Ê¸¦ »ìÆì º¸¸é °ÇÀüÇÑ ¼øȯÀÌ °¡´ÉÇÔÀ» ¾Ë ¼ö ÀÖ´Ù.

ÀÌ È¸±ÍÀû Á¤ÀǸ¦ º¸¸é ÇÇÁ¤ÀÇÇ×(definiendum)ÀÎ ATOM-SAELA °¡ Á¤ÀÇÇ×(definiens)ÀÎ COND Çü ¼Ó¿¡ µÎ ¹øÀ̳ª µé¾î ÀÖÀ¸¹Ç·Î ºÐ¸íÈ÷ Á¤ÀÇÇÒ °ÍÀ» Á¤ÀÇÇÏ´Â ¼Ó¿¡¼­ »ç¿ëÇÏ´Â ¼øȯ³í¹ýÀÌÁö¸¸ ÀÌ Á¤ÀÇ°¡ ¼øȯÀ̶ó°í Çؼ­ À߸øµÈ ¾Ç¼øȯÀÌ ¾Æ´Ï¶ó Á¤´çÇÑ Á¤ÀÇÀÓÀ» ÀÔÁõÇÑ °ÍÀÌ´Ù. ÀÌ¿Í °°Àº Çü½ÄÀÇ Á¤ÀǷμ­ ¿ì¸®¿¡°Ô Ä£¼÷ÇÑ °ÍÀº ¼öÇп¡¼­ FACTORIALÀ» Á¤ÀÇÇÑ °ÍÀÌ´Ù.

ÀÌ Á¤ÀÇ ¹æ½ÄÀ» LISPÀÇ È¸±ÍÀû Ç¥ÇöÀ¸·Î ¾ÕÀÇ ATOM-SAELA¸¦ Ʋ¿¡ ¸ÂÃß¾î Á¤ÀÇÇÏ¸é ´ÙÀ½°ú °°´Ù.

¿©±â¼­µµ FACTORIALÀ» Á¤ÀÇÇÔ¿¡ À־ FACTORIALÀ» ÀÌ¿ëÇÏ´Â ÀÚ±âÁö½ÃÀûÀÎ ¼øȯÀÌÁö¸¸ Á¤´çÇÑ Á¤ÀÇÀÓÀÌ ¹àÇôÁø´Ù. ÀÌ·± Á¤ÀÇ¿¡ ÀÇÇؼ­ FACTORIALÀÇ °¡´ÉÇÔÀÌ ÄÄÇ»ÅÍ·Î °ËÅäµÉ ¼ö Àֱ⠶§¹®ÀÌ´Ù. Áï À§¿Í °°Àº Á¤ÀǸ¦ ÇÏ°í ³ª¸é ±× ÀýÂ÷¸íÀ» »ç¿ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ ±× Á¤ÀÇÇÑ ÀýÂ÷ ³»¿ë¿¡ µû¶ó ÀÏÀ» ¼öÇàÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.

¿ì¸®´Â Áö±Ý±îÁö AI ÇÁ·Î±×·¡¹Ö ¾ð¾î LISPÀÇ Áö±ØÈ÷ ±âÃÊÀûÀÎ °³³äµé°ú ÀýÂ÷µéÀ» ¼Ò°³ÇÏ°í ±×µéÀÇ Ã¶ÇÐÀûÀÎ ¿¬°ü¼ºÀ» °ËÅäÇØ º¸¾Ò´Ù. LISPÀÇ ±â¼úÀû Ãø¸é¿¡¸¸ Âø¾ÈÇÏ°í ±×°ÍÀÇ ½Ç¿ë¼º¿¡¸¸ ÁýÂøÇÏ´Ù º¸¸é öÇÐÀû ¿¬°ü¼ºÀº ¼ÒȦÇØÁö±â ½±´Ù. ±×·¯³ª Àΰø¾ð¾î ±¸¼º¿¡´Â öÇÐÀû ÀüÁ¦µéÀÌ °áºÎµÇ¹Ç·Î ±× öÇÐÀû ±âÃÊ¿¡ ´ëÇÑ À½¹Ì¾øÀÌ Àΰø¾ð¾îÀÇ °áÁ¡°ú ÀåÁ¡µéÀ» Á¾ÇÕÀûÀ¸·Î °ËÅäÇϱâ´Â ¾î·Æ´Ù. ¶ÇÇÑ ±×·± °ËÅä¾øÀÌ ÇÑÃþ ´õ ³ôÀº ´Ü°èÀÇ ¾ð¾î¸¦ ±¸¼ºÇÑ´Ù´Â °ÍÀº ±â´ëÇÒ ¼öµµ ¾øÀ» °ÍÀÌ´Ù. »Ó¸¸ ¾Æ´Ï¶ó LISPÀÇ È¸±Í Ç¥Çö °°Àº °Í¿¡¼­ º¸¾ÒµíÀÌ AIÀÇ ¾ð¾î¸¦ ÅëÇØ ¿ªÀ¸·Î öÇÐÀû ³­Á¦ ÇØ°áÀÇ °¡´É¼ºÀ» ¹ß°ßÇÏ°Ô µÇ¸ç ÀÌ·± ¹®Á¦´Â AI È°¿ëÀÇ Ã¶ÇÐÀÌ Á÷¸éÇÑ °úÁ¦ÀÌ´Ù.