ããã€ãã®èšäºã§ãèè ã¯Lispãã·ã³ã®æŽå²ã«ã€ããŠè©±ãããšãçŽæããããããã§ã¯ãªãã£ãããšã«æ°ã¥ããã ããããããã®çãèšäºã¯ITã®æŽå²æå¥œå®¶ã«ãšã£ãŠè峿·±ããã®ã«ãªãã§ãããã
ã¯ããäžçã§ã¯ãã©ã ãèšç®ã®ããŒããŠã§ã¢ãµããŒããåããè»ã¯ã»ãšãã©ãããŸããã§ãã-1988å¹Žã®æç¹ã§ãäžçã§çŽ7000å°ã§ãã ãã¡ãããä»ã§ã¯ã¯ããã«å°ãªããªã£ãŠããŸãã å®éãLispãã·ã³ã¯æ å ±æè¡ã®æŽå²ã«ãããŠéåžžã«åŒ·åãªåœ¹å²ãæãããŸããã ãããã®å¥åŠãªã³ã³ãã¥ãŒã¿ãŒã®ãããã§ãäžçã¯ã¬ãŒã¶ãŒå°å·ããã«ããŠã£ã³ããŠGUIãªã©ã®ãã¯ãããžãŒãåãåããŸããã
èæ¯
1930幎代ãäžéšã®æ°åŠè ã¯èšç®å¯èœæ§ã®æŠå¿µãèªèããŠåæããããšããŸããã ãã®ãããªè©Šã¿ã®1ã€ã¯ãã¢ãã³ãŸæäŒã«ãã£ãŠè¡ãããλèšç®ãäœæããŸããã ããã§åœŒã«ã€ããŠã¯æžããŸãã-ãããã¯ã倧ããããŸãã å°ãªããšããã®åèªãç¥ã£ãŠããããšãåæãšããŠããŸã:)ã
埮ç©åã«ãã埮ç©åã§ãããé©çšããå¿ èŠããããŸãã 人工ç¥èœã®åéã§ä»äºãå§ãŸã£ããšãããã®åéã®åé¡ãé©åã«è§£æ±ºããããã°ã©ãã³ã°èšèªã®å¿ èŠæ§ãçããŸããã ãã®ãšãããžã§ã³ã»ããã«ãŒã·ãŒã¯MITã§åãã1958幎ãã1963幎ã«ãããŠãæ°åŠã®è«çã®å®çãèªåçã«å°åºã§ããAIã®å®è£ ãç®çãšããIPLãåºç€ãšããŠãLispãéçºããŸããã Lispã€ã³ã¿ãŒããªã¿ãŒã®æåã®ããŒãžã§ã³ã¯IBM 704ã§å®è¡ãããŸããã1960幎ãLispã¯PDP-1ã«ç§»æ€ãããŸããã äžè¬ã«ãLispã¯é åžãããŸããã 1ã€ã ãåé¡ããããŸãã-Lispã¯ãå€å žçãªïŒã€ãŸãããã®ã³ã³ããã¹ãã®æšæºã¢ãŒããã¯ãã£ïŒã³ã³ãã¥ãŒã¿ãŒã§éåžžã«ãã£ãããšåäœããŸããã Lispãã·ã³ã®æŽå²ã«ç§»ãåã«ããã®ã¢ãŒããã¯ãã£ã衚é¢çã«èŠãããšããå§ãããŸãã
Lispãã·ã³çè«
Lispãã·ã³ã®ç圢å®çŸãèŠãŠããããèŠãŠã¿ãŸãããã ãã§ã«ç¥ã£ãŠããããã«ã圌ãã¯ãããLispã§ããã°ã©ã ããŸãã ãã¡ãããããã»ããµã¯Lispã³ãŒããçŽæ¥å®è¡ããŸãããããã€ã¯ãã³ãŒããšã¹ã¿ãã¯ãã·ã³ã¯ã³ãŒãå®è¡çšã«æé©åãããŠããŸãã ããã«ãããæçæ°ãšè€çŽ æ°ã®äž¡æ¹ã§å·éã«äœæ¥ããããšãã§ããŸããã OSã¯ä»®æ³ã¡ã¢ãªã䜿çšããŠååã«å€§ããªã¢ãã¬ã¹ã¹ããŒã¹ãæäŸããã¬ããŒãžã³ã¬ã¯ã¿ãŒã¯äžèŠãªã¢ã€ãã ãã¡ã¢ãªããèªåçã«åé€ããæ°ãããã®ã®ããã«ã¹ããŒã¹ãè§£æŸããŸãïŒãåãã®ãšãããã¬ããŒãžã³ã¬ã¯ã¿ãŒã¯å®è£ ãããŠããŸãïŒã ãã·ã³ã®ã¢ãŒããã¯ãã£ã¯ã¿ã°ä»ãã¢ãŒãã«å±ããŸãããã·ã¢èªã§ã¯æ å ±ãã»ãšãã©ãªãããããã®ã¢ãŒããã¯ãã£ã«ã€ããŠç°¡åã«èª¬æããŸãã
ã¿ã°ä»ãã¢ãŒããã¯ãã£ãŒïŒã¿ã°ä»ãïŒïŒæã ãŽãã çè«çã«ã¯ãããŒããŠã§ã¢ã«ç§»ããŸãããã
λèšç®ã®ããŒããŠã§ã¢å®è£
1973å¹Žãæ¥ãŸããã ããµãã¥ãŒã»ããç ç©¶æã®AIç ç©¶æã¯ãLISPãããŒããŠã§ã¢ã§ãµããŒãããã³ã³ãã¥ãŒã¿ãŒã¢ãŒããã¯ãã£ãäœæããããšãçå£ã«èããŠããŸãããåœæãæšæºçãªã¢ãŒããã¯ãã£ã³ã³ãã¥ãŒã¿ãŒã§LISPããã°ã©ã ãå®è¡ããã®ã¯æ°åŒ±ã ã£ãããã§ãã åäžã®å€æ°ã®å ¥åã¯ãã³ã³ãã€ã«ã§ã¯ãªãããã°ã©ã ã®å®è¡äžã«å®è¡ããããããæ°åãããå ŽåããããŸãã ãå¥è·¡ã®ã¢ãŒããã¯ãã£ããäœæããã¿ã¹ã¯ã¯ãGreenblattãšKnightãšãã2人ã®ããã°ã©ãã«å§ããããŸããã
ã倧ãŸããªã24ãããããŒãžã§ã³ã®ã¢ãŒããã¯ãã£ã¯ããªã¹ãèšèšæŒç®åã«ã¡ãªãã§åœåãããCONSãšåŒã°ããŠããŸããã ãã€ããåå£«è«æãæè·ããã®ã¯ããã®ãã·ã³äžã§ã§ããã å°æ¥ããã®ãã·ã³ã®ã¢ãŒããã¯ãã£ã¯æ¹åãããCADRãšåä»ããããŸããïŒlisp颿°cadrã«æ¬æã衚ããŠïŒã ããããã¢ãŒããã¯ãã£ãéçºããããšãšã³ã³ãã¥ãŒã¿ãŒãäœæããããšã¯å¥ã®ããšã§ãã ãããŠãSymbolicsãInc.ãã¢ãªãŒãã«å ¥ããŸãã
SymbolicsãInc.
SymbolicsãInc. ããµãã¥ãŒã»ããå·ã®ã©ãã»ã«ïŒã©ãã»ã«ãããã«ãŒïŒã«ãã£ãŠèšç«ããããã®åŸã«ãªãã©ã«ãã¢ã«ç§»ããŸããã å瀟ã¯LISPãã·ã³ã®çç£ãšããããã®ããã®ãœãããŠã§ã¢ã®äœæã«åŸäºããŠããŸããã å¥åŠãªã³ã³ãã¥ãŒã¿ãŒã補é ããŠããã®ã¯åœŒå¥³ã ãã§ã¯ãªããLisp MachinesãIncãåãããšãããŠããŸããããSymbolicsã«ã¯å°éå®¶ãšæ¬²æããããŸããã ãšããã§ãsymbolics.comã¯ãããã.comãŸãŒã³ã®æåã®ã€ã³ã¿ãŒããããã¡ã€ã³ã§ããã
1981幎ã«ããã®äŒç€Ÿã¯æåãšæåŸã®32ãããCADRã¢ãŒããã¯ãã£ãã·ã³ã§ãã1MBã®RAMãæèŒããCADR LM-2ãäœæããŸããã OSãšãã®ã¢ããªã±ãŒã·ã§ã³ã¯ãå¥åŠãªããšã«ãLispèªäœããŸãã¯ããæ£ç¢ºã«ã¯ãæ¹èšLisp Machine Lispã§æžãããŠããŸãã 1982幎ãOpen Generaãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãäœæãããEmacsïŒZmacsïŒã«ç§»æ€ãããŸãããLISPãã·ã³ã§äœæ¥ããåããªå°ããªäººã ã«ã©ã ãèšç®ã®å šåãçºæ®ããããšãå¯èœã«ãªããŸããã
Open GeneraãšLisp Machine OSã§ãã¬ããŒãžã³ã¬ã¯ã¿ãŒãä»®æ³ã¡ã¢ãªãããŒãžã£ãŒããã«ãã¿ã¹ã¯GUIããããã¬ãŒãChaosnetãµããŒããªã©ãããããã®ãããããã³ãç»å ŽããŸããã
ã©ã€ã»ã³ã¹ã«é¢ããMITãšSymbolicsã®å°ç«¶ãåãã®çµæãšããŠïŒãã§ã«ãåç¥ã®ããã«ãRichard Stallmanãããã蚪ããŸããïŒã圌ãã®ååã¯1983幎é ã«çµãããŸããã ãããŠããªãã£ãŒãã¯ãäœãèµ·ãããªãã£ãããã«ãäž»ã«MITã®äººã ã§æ§æãããLISPããã«ãŒã®ã®ã£ã³ã°ãçµç¹ããŸããã
1983幎ãSymbolicsã¯ãLISPãã·ã³ã®æ°ããã©ã€ã³ã®æåã®ã¢ãã«-Symbolics 3600ãå°å ¥ããŸãããããã¯ãCADRã¢ãŒããã¯ãã£ã«åºã¥ãå®¶åºçšå·èµåº«ã®ãµã€ãºã§ãã ãã¡ãããã€ãããŒã·ã§ã³ããªãããã§ã¯ãããŸããã ã驿°çãªãæ°ããèšèšã«å ããŠããã·ã³ã¯ã¬ããŒãžã³ã¬ã¯ã¿ãšä»®æ³ã¡ã¢ãªã®ããŒããŠã§ã¢ãµããŒããåããŸããã ããã»ããµã¯36ãããã«ãªããã¡ã¢ãªã¯44ãããã¯ãŒãã§åäœãããã®ãã¡8ãããã¯ãšã©ãŒèšæ£ïŒECCïŒã«äœ¿çšãããŸããã 3600ã¢ãŒããã¯ãã£ã«ã¯4096åã®ã¬ãžã¹ã¿ïŒCISCãããã«ã¡ã¯ïŒïŒãå«ãŸããŠããããã®ãã¡ååã¯ã³ãŒã«ã¹ã¿ãã¯ã«äœ¿çšãããæ®ãã®ååã¯ãã€ã¯ãã³ãŒããšæéãæããããã°ã©ã ãããã³ãã©ã€ããŒã«äœ¿çšãããŸããïŒã¡ãªã¿ã«ããã©ã€ããŒã®æŠå¿µã¯äœæäžã«å°å ¥ãããŸããLispãã·ã³ïŒã
3600ã¯TTLéç©åè·¯äžã«æ§ç¯ãããåšæ³¢ââæ°ã¯çŽ5 MHzã§ããã ããã»ã©å€ãã¯ãããŸããããåœæã®LISPã®ããŒããŠã§ã¢ãµããŒããèæ ®ãããšãéåžžã«é«å¯åºŠã§ããã Chaosnetã®ãµããŒãã¯å»æ¢ãããä»åŸã¯Symbolicsã®ã¿ãã€ãŒãµãããããµããŒãããŸããã ããã3幎ã§ã36xxã©ã€ã³ã®5ã€ã®ä»£è¡šè -3600ã3670ã3640ã3675ãããã³3645ããªãªãŒã¹ãããŸãããåŸç¶ã®ã¢ãã«ã¯ãã¡ã¬ãã«ãããã³ãã®ä»ã®æ°ã®ã¿ãç°ãªããã¢ãŒããã¯ãã£ã«ç¹å¥ãªå€æŽã¯ãããŸããã§ããã
3600ã©ã€ã³ã®ä»£è¡šè ã¯ã人工ç¥èœç ç©¶ã®åéã§éåžžã«äººæ°ããããŸããã ã¡ãªã¿ã«ã3600ã·ãªãŒãºã®è»ã¯HDTVå質ã®ãããªãåŠçã§ããŸããããããæ¥æ¬ã§ã®äººæ°ã®çç±ã§ããã
1988幎ãåãäŒç€Ÿãã¢ã€ããªãŒã©ã€ã³ãäžçã«ç޹ä»ããŸããããã®æåã®ä»£è¡šã¯XL400ã§ããã ãããã®ã³ã³ãã¥ãŒã¿ãŒã¯æ¢ã«40ãããã§ããã16 GBã®ã¡ã¢ãªãã¢ãã¬ã¹æå®ã§ããŸããã Ivoryã¢ãŒããã¯ãã£ãããã¯VLSIãšHewlett Packardã«ãã£ãŠçç£ãããSymbolicsèªäœã«å ããŠãSunãšAppleã§ã䜿çšãããŸããïŒãããLispããã»ããµã¯Macintoshã§ã䜿çšãããŸããããã¡ã€ã³ãšããŠã¯äœ¿çšãããŸããã§ããïŒã
ã¢ã€ããªãŒããã»ããµã®ã¢ã»ã³ãã©ãœãŒã¹ãèŠãŠã¿ãŸãããã
ENTRY: 2 REQUIRED, 0 OPTIONAL PUSH 0 PUSH FP|3 PUSH NIL BRANCH 15 SET-TO-CDR-PUSH-CAR FP|5 SET-SP-TO-ADDRESS-SAVE-TOS SP|-1 START-CALL FP|2 PUSH FP|6 FINISH-CALL-1-VALUE BRANCH-FALSE 15 INCREMENT FP|4 ENDP FP|5 BRANCH-FALSE 6 SET-SP-TO-ADDRESS SP|-2 RETURN-SINGLE-STACK
ããã¯ã次ã®Lispã³ãŒããšåçã§ãã
(defun example-count (predicate list) (let ((count 0)) (dolist (i list count) (when (funcall predicate i) (incf count)))))
æªããªãã§ããïŒ ã芧ã®ãšãããããŒã¢ããã¯ã¯éåžžã«é·ããéåžžã®æå³ã§ã¯ã¢ã»ã³ãã©ãŒãšåŒã¶ããšããå°é£ã§ãã ã¢ã€ããªãŒã¢ã»ã³ãã©ãŒããã®ä»ã®ãã·ã³ã®æ¬è³ªã«èå³ãããå Žåã¯ãbitsavers.orgã®ããã¥ã¡ã³ããã芧ãã ããã ä»ã«ãå€ãã®Symbolicsããã¥ã¢ã«ããããŸãã
Ivory-Sunstoneã«åºã¥ããRISCããã»ããµãäœæãããšããå瀟ã®è©Šã¿ã«èšåãã䟡å€ããããŸãã ãããããããžã§ã¯ãã¯çž®å°ãããŸããã BBNãšXeroxãLISPãã·ã³ã䜿çšããŠããŸããã BBNã®äœæã¯ãInerlispã§ããã°ã©ã ãããJerichoãã·ã³ã§ããã ãã®äœåã¯è²©å£²ãããããšã¯ãããŸããã 1980幎代ã«Xerox Parcã¯Xerox Lisp MachineãäœæããŸãããããã¯ãå®å šãªéçºç°å¢ã§ããInterLisp-Dãšæåã®Hypertextã¢ããªã±ãŒã·ã§ã³ïŒNoteCardsïŒã§ç¥ãããŠããŸãã
æ¥æ¬ã®ãšã³ãžãã¢ã«ããLISPãã·ã³ã®äœæã«æåããäŸã¯ç¥ãããŠããããã®ãã¡å€§éªå€§åŠã§éçºãããTAKITAC-7ããã³EVLISãåŒã³åºãããšãã§ããŸãã æ®å¿µãªãããçŸæç¹ã§ã¯ãããã«ã€ããŠã¯äœãèšããŸããã
çµãã
ããããå€å žçãªã³ã³ãã¥ãŒã¿ãŒã®ãŸããŸãå¢å€§ããåãæ¢ããããšã¯ã§ããŸããã§ããã ã©ã ãèšç®ã®ããŒããŠã§ã¢ãµããŒãã¯äžèŠã«ãªããŸããã ã·ã³ããªãã¯ã¯æçµçã«ç Žç£ãã1995幎ãŸã§ã«LISPãã·ã³ã®æä»£ã¯çµãããŸããã ããããç§ãã¡ã¯ããããå¿ããŸããããïŒ :)
çµè«ãšããŠãLispãã·ã³ã¯Xèšèªã®ããŒããŠã§ã¢ãµããŒããåããã³ã³ãã¥ãŒã¿ãŒãäœæããå¯äžã®è©Šã¿ã§ã¯ãªããPrologããã³Javaãã·ã³ã®å®è£ ããããŸãããããã®ããšã«ã€ããŠã¯æ¹ããŠèª¬æããŸãã èªãã§ãããŠããããšã:)ã
PSäžæ£ç¢ºãŸãã¯ãšã©ãŒã衚瀺ãããå Žåã¯ãå人ã§ãç¥ãããã ããã