ãæå¸çã10æå·ã«è¼ã£ã¦ããååå¡「プロローグ」第6回ã§å°ãã ãLispãSchemeãGaucheã«ã¤ãã¦ã®è©±é¡ã«ãªã£ã¦ãããå°èª¬ã§Gaucheã¸ã®è¨åãããã®ã¯ä»ã¯æ¨æ¬é
彦ãããã£ã©ã´ã
ããã ãã ãããã
Lispã®å¦çç³»ãå
¥ãããã対話ç°å¢ã触ã£ã¦ãéç¶ã¨ãããã¨ãã£ã¿ã¨ãã¦Emacsã使ããã¨ã«ãã¦â¦â¦ã¿ãããªæµãã
ãã®ãããã¾ã§ã§ãããLISPã«èå³ãæã£ãããç¥ããªã人ã®ä¹å²ä¹åãæ¯ãè½ã¨ãã ããå£ã®é«ãã ã
Lispã§ãSchemeã§ããå¦çç³»ãèµ·åããã¨ãã®å¯¾è©±ç°å¢ã«ãã»ã¼ä½ã®å
¥åæ¯æ´æ©è½ãåãã£ã¦ããªãã®ã¯ãªããªã®ã ããã
rlwrapç¸å½ã®å
¥åæ¯æ´ãããã©ã«ãã§ä»ãã¦ãã¦ãè¯ãã¨æãã®ã ãã©ããããªã£ã¦ããæ§åã¯ç¡ãã(ã²ãã£ã¨ããã¨ç¥ããªãã ãã§ããããå¦çç³»ããããªãã«ããã®ã?)ãå¦çç³»ã®èµ·åæã®ã¡ãã»ã¼ã¸ãè¦ã¦ãããã¥ã¢ã«ãè¦ã¦ãããç´ ã®ç¶æ
ã§ã®å
¥åã¯å¤§å¤ã§ãããªã©ã¨æ¸ãã¦ãã£ãããããªããã©ãããã°ããã®ãã«ã¤ãã¦(ä¾ãã°Emacsã使ããã©ãè¨å®ã»æä½ããã)ããã¥ã¢ã«ã®å¤ããããã¨ããã«æ¸ãã¦ãããã¨ããã¾ããªãã
ã¨ããããå ¥ã£ã¦ããè¨èªå¦çç³»ãåããã¦ã¿ãã¨ãã人(ä¾ãã°GNUãæ¨ãã¦ããããã¨guileãèµ·åããã¦ã¿ãã¨ã)ã¯çµæ§ãããã ãã©ããããã人ã«ã¨ã£ã¦Lispã»Schemeã®å°è±¡ã¯ããªãæªãæ°ãããã
ã¡ãã£ã¨ã ãLispãSchemeã«èå³ãæã£ã¦å°ãã ã対話ç°å¢ã«è§¦ãã人ã®å¤§å¤æ°ã¯LispãSchemeã®ããã°ã©ã ãã¨ã¦ã¤ããªãæ¸ãã«ãããã¨ãç¥ãã®ã¿ã§ããã¨ãããã«å»ããã«æ
å ±åéãã¦ãããEmacs使ããã£ã¦ã¨ããã§LispãSchemeã«ããããã®ãããã¦ãã¾ãã
(追è¨: drracketãå
¥åæ¯æ´ä»ãã®GUIç°å¢ã ã£ãããã Racketã«ãã¦ããå
¥ã£ã¦ããracket(mzscheme)ãä½ã¨ãªãèµ·åãã¦ã¿ããå
¥åæ¯æ´ãªãã®å¯¾è©±ç°å¢ãç¾ããå
¥åæ¯æ´ä»ãç°å¢ããããã¨ã«æ°ã¥ããå»ã£ã¦ãã¾ããã¨ããã¤ã¡ã¼ã¸)
ã²ãã£ã¨ãã¦å®ã®ã¨ããLispãSchemeããã¾ã使ã£ã¦æ¬²ãããªãã®ã§ã¯ã¨ããæã£ã¦ãã¾ããããã¨ãã¾ããç´ ã®ç°å¢ã§ãè¦ããªãSå¼ãæã¡è¾¼ãã§ããã¨ãã
rlwrapãããã°ã«ãã³å¯¾å¿ã®è¡¨ç¤ºã¨ãã¹ããªæ©è½ã¨è£å®æ©è½ãå¾ãããã®ã§ãå¦çç³»ãrlwrapã§ã©ãããã1ã2è¡ã®ã¹ã¯ãªãã(ã¨è£å®èªãã¡ã¤ã«)ãç¨æãã¦ãã£ããã«ã¤ã³ã¹ãã¼ã«ããã¨ããã ãã§ããå¦çç³»ã«è§¦ããæã®å°è±¡ã¯å¤å°ã¯è¯ããªãæ°ããã(rlwrapãLispã»Schemeã«ä½¿ãã¨ãã¯いくつかのオプションの設定が必要ãªã®ã§ã1ã2è¡ã®ã³ãã³ãã§ãã£ã¦ãã¹ã¯ãªããã«ãªã£ã¦ããã¨ãããã)ã
æå
ã§èµ·åãããå¦çç³»ã«éããªãã¦ãããããããªãããªå
¥åæ¯æ´ä»ãã®REPLç°å¢ãã¦ã§ãä¸ã«ç½®ããã¦ãã¦ããã¥ã¼ããªã¢ã«ä»ãã§ããã«è§¦ã£ã¦è©¦ããããã«ãªã£ã¦ããã°ãLispãSchemeã§å°ãããã°ã©ã ãæ¸ãã¦ã¿ããããã«èå³ãæã¤äººãå¢ãã¦ããæ°ãããã®ã ãã©ã
ããããã°ããªãLispãé¸ã°ãªãã¦ãããããã¨ããæç« ãæ¸ãã¤ããã§ã¾ã£ããã»ã£ããããã«ãã¦ãããããã«éãããæ¸ãã¤ããã ã£ããå°ãã ãæ¸ãã¦éä¸ã§æ¢ã¾ã£ã¦ããæç« ãã¡ã¢ãããªããããä½ãæ¸ãã¤ããã ã£ããå¤ããªããªã£ã¦ãããã®ãå¤ããããã£ããç ´æ£ããã»ããããããããã¨ãã¨ãã®æç« èªä½Lispãæ¬é¡ã§ã¯ãªãã£ãã®ã ãã©ãæ¬é¡ã«ç§»ãã¨ã¾ãä¸æããããªã®ã§ããã§çµããã
èªåã§ä½ããæ¸ããããã誰ãã»ãã®äººãã¡ãæ¸ãããªãLispãé¸ã¶ã¹ããããèªã¿ãããããããªãã