2010/01/30
Common Lispã¨Scheme
Common Lispãªãããªä¸ã
CLã¨Schemeãæ¸¡ãæ©ãæã«ã²ã£ãããã®ã¯ã颿°åãæ§æåãå¾®å¦ã« éããã¨ã¨ã¨ãLisp-1 vs Lisp-2ã¨ããããªãã¦ã ãã£ã¨æ¼ ç¶ã¨ããããããæ ¹æ¬çãªãæåãã®ãããªãã®ã§ããæ°ãããã
CLã£ã¦ããã¨ä½ã§ãLispã®ä¸ã§è§£æ±ºãã¡ããå¾åãå¼·ãã¦ã ãã«ãã·ã¹ãã ãã¦ããããã¹ãããããã¬ãå ¨é¨Lispã§ã REPLããAPIãããã¯ãããã¨ã§ä½ã§ãã§ãããåºæ¬ãREPLãé¢ããå¿ è¦ãç¡ãã ä¸å¿ãªã¼ãã¡ã¼ã·ã§ã³ã®ããã«Makefileã¯ãããã©ã ä¸ã§ã¯åã«lispæ¬ä½ãèµ·åãã¦ãã«ãã¹ã¯ãªããã èªã¾ãã¦ãã ãã¨ããã OSããå ¨ã¦Lispã ã£ãæä»£ãå¼ãç¶ãã§ããæåãªã®ã§ã ãããLispã®å¤ã«åºããã¨ã®æ¹ãç¹ä¾ãªã®ã ããã
å¤§è¦æ¨¡ã½ããã¦ã§ã¢ã ã¨ããã®Lispã§æ¸ããããã¼ã¹ã®ã·ã¹ãã ã®ä¸ã« ãã®ããã¸ã§ã¯ãç¹æã®ã³ã³ãã£ã°ãã¡ã¤ã«ãèªã¾ããã ãã¹ãæã®ãµã¼ãããã»ã¹èµ·åãèªååãããâ¦ã¨ãã£ãã¬ã¤ã¤ããã£ã±ã Lispã§æ¸ããã¦è¼ã£ãã£ã¦ãã
ã¾ãã大ããã®ããã¸ã§ã¯ãã ã¨ã½ã¼ã¹ãã¡ã¤ã«ãããããªãµããã£ã¬ã¯ããªã« 忣ãã¦ãããã©ãä¸åº¦asdfãªã©ã®ãã«ãã¹ã¯ãªãããã¡ããã¨ä½ã£ã¡ããã° å¾ã¯ã½ã¼ã¹ã®ä½ç½®ãæèããå¿ è¦ãã»ã¨ãã©ãªãã颿°å®ç¾©ã追ã£ãããã®ã¯ Emacsããç´æ¥é£ã¹ãããã
Schemeã®å ´åãã¨ãã£ã¦ãSchemeçã䏿岩ã§ã¯ãªãã®ã ããã©ã ãã¨ãã¨ã®è¨èªä»æ§ãå°ããã®ã¨ãUnixæã®ä¸ã§çºå±ãã å¦çç³»ãå¤ãããã ããããè¨èªæ©è½ã®å¤ã®è©±ãã¤ã¾ããã«ããå種ãã¹ãã ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ãé å¸ããã±ã¼ã¸ä½æãªã©ã¯ã ç©æ¥µçã«è¨èªã®å¤ã®ãã¼ã«ã使ããã¨ããå¾åãããã¨æãã
ããã¨ãããããã¸ã§ã¯ãã«åå ãã¦ã¨ããããå ¨ä½ã®æ§æãææ¡ããã ãã«ãããã¹ãã®ããã»ã¹ãç¥ããã¨ããå ´åãSchemeã®ããã¸ã§ã¯ãã 㨠ãã®ã¸ãã¯è¨èªãããUnixä¸è¬ã®ç¥èã使ã£ã¦è¦ã¦è¡ããã¨ã«ãªãã GNU以éã®ãªã¼ãã³ã½ã¼ã¹ãªå¦çç³»ã ã¨ã ããããã®ã¸ãã¯å ±éãã¦ããããã®ã§ å¦çç³»æ¯ã®ç´°ããéãã«è¶³ãã¨ãããåã«å ¨ä½ãææ¡ã§ãããå¤ããä¸ã¸ è¦ã¦è¡ãæãã ã
å ¨é¨Lispã§å®çµããCLä¸ã®ããã¸ã§ã¯ãã®å ´åãéã«ã¨ãããã REPLèµ·åãã¦asdfã§ãã«ã/ãã¼ããã¦ãaproposãã¿ã°ã¸ã£ã³ãã使ã£ã¦ Lispã®ãä¸ãããå ¨ä½ãææ¡ãã¦ããæ¹åã«ãªãã ããã§ãå¤ããä¸ããæ··ããã¨ãã¾ããããªãããã¡ã¤ã«ã·ã¹ãã ä¸ã§ Makefileã*.asdãè¦ããªãããã«ãã®ä¾åé¢ä¿ã追ã£ã¦ããã®ã¯ã è¦æ¨¡ã大ããã¨ããªãè¾ããç¹ã«ãã«ãã使®µéã«ããªã£ã¦ããã éä¸ã³ã³ãã£ã°ãã¡ã¤ã«ãèªåçæãããããã¦ãã¨ã ããã¸ã§ã¯ãç¬èªã®ã¬ã¤ã¤ãLispä¸ã«è¼ã£ãã£ã¦ãå ´åã¯ã ã¨ã«ããREPLããããããã¬ã¤ã¤ãçªã£ã¤ããAPIãè¦ã¤ãåºãã¦ æ £ãããã¨ãæ©éã ã
ããã©ãç§èªèº«ã¯Unixã§è²ã£ãã®ã§ãã©ãããã¡ã¤ã«ãåºæ¬ã« èãã¡ããã¨ããããããã ãªããä½ãã©ã®ãã¡ã¤ã«ã«ãããã® ããããé ã®ä¸ã«ç¡ãã¨è¿·ãæããã¿ã°ã¸ã£ã³ããã¾ãã£ã¦ã㨠迷路ã彷徨ã£ã¦ãæ°ããã¦ããã
ã¾ãããã¡ã¤ã«ã®ä½ç½®ã¨ã½ã¼ã¹ã®æ§æã¨ã®ç´ã¤ããç·©ãã®ã¯ æè¿ã®IDEã¨ãã§ããããªãã§ãããããã¡ã¤ã«æ§æã¨ ã½ã¼ã¹æ§æã対å¿ããããã£ã¦æèã®æ¹ãUnixã¹ã£ãããããã®ãããããªãã
Tags: Programming, Lisp, Scheme
knishii2156 (2010/01/31 10:39:52):
shiro (2010/02/01 04:12:51):