Уводзіны і падручнік для Common Lisp
Гэты дакумент падае невялікі набор рэсурсаў і спасылак на Common Lisp. Першапачаткова ён быў падрыхтаваны для студэнтаў ва ўмовах няпоўнага працоўнага часу MS-праграм ва Універсітэце кампутарных навук Джона Хопкінса. Гэты дакумент не развіваецца так хутка, як гэта было раней, паколькі вялікая частка майго часу зараз ідзе на працу з Java і Ajax . Тым не менш, калі ласка, адпраўце карэктоўкі / прапановы Marty Hall (hall@jhu.edu). Арыгінал гэтага дакумента знаходзіцца на http://www.apl.jhu.edu/~hall/lisp.html.
Звернеце ўвагу, што некаторыя з дакументаў знаходзяцца ў PostScript. Калі ваш вэб-браўзар не можа адлюстроўваць PostScript, яны ўсё адно могуць быць захаваны і раздрукаваны.
Утрыманне
- Lisp-Кнігі па гэтай тэме.
- Анлайн літаратура Lisp.
- Пытанні для пачынаючых і сталых карыстачоў Lisp.
- Пытанні для сталых праграмістаў Lisp.
- CLOS.
- Інтэрнэт рэсурсы Lisp і вольная рэалізацыя Lisp.
- Дакументы, злучаныя з Lisp.
- Розная інфармацыя
Кнігі-Lisp па гэтай тэме
Вось некаторыя з маіх асабістых любімых Lisp, AI-праграмаванне і агульныя AI-тэксты. Я магу рэкамендаваць гэта ўсім з майго асабістага досведу. Націсніце назвы, каб убачыць дадатковую інфармацыю ці проста замовіць іх.
- Асноўнае агульнае праграмаванне Lisp
- Не AI Slant: умерана хуткі тэмп: ANSI Common Lisp Пола Грэма. Лепшымі ўводзіны ў Common Lisp як у мову праграмавання. Часам гэта трохі цяжка для неспрактыкаваных праграмістаў, аднак.
- А. AI Slant: Lisp Уінстана і Хорна. Класічныя AI-прыкладанні. у тэксце Lisp.
- Пашыранае агульнае праграмаванне Lisp
- Не AI Slant: На Lisp: Дадатковыя метады для Common Lisp Пола Грэма . Дзіўна глыбокі ахоп макрасаў.
- AI Slant: Парадыгмы праграмавання А. AI: аналіз Common Lisp Пятра Норвіга. Мой адзіны саамы любімы тэкст Lisp.
- CLOS
- Lisp-літаратура
- Common Lisp: Мова Гай Л..Канчатковыя спасылкі да выпуску спектр ANSI. Пагледзіце “kludges” у індэксе для некаторых добрых кампутараў. Мой іншы любімы сайт – “BOA канструктар” бізнэсу.
- Схема (насамрэч праграмаванне і алгарытмы)
- Структура і інтэрпрэтацыя кампутарных праграм па Абельсону і Сусману. Адзін з лепшых кампутарных тэкстаў навукі, які я калі-небудзь бачыў. У зносках знаходзяцца рэчы больш добрыя, чым ва утрыманнях большасці іншых кніг.
- Штучны інтэлект (прыкладна ў парадку перавагі)
- Штучны інтэлект: Сучасны падыход Расэла і Норвіга. Калі б мне прыйшлося абраць адзін AI-т экст, я б абраў менавіта гэты.
- Асновы штучнага інтэлекту Мэтама Гінзберга. Забаўляльныя і кароткія ўводзіны ў лепшыя усталяваныя вобласці штучнага інтэлекту.
- Штучны інтэлект. Тэорыя і практыка Дзіны, Алены і Аламоніса. Добрая AI-кніга ўключае таксама некаторы ахоп (і прыклады) Common Lisp.
- Штучны інтэлект: структуры і стратэгіі комплекснага рашэння задач па Лугеру і Стаблфілду. Калі вы жадаеце добрую AI кнігу., што складаецца з некаторага ахопу Lisp, а таксама ўключае пралог, тады яна менавіта для вас.
- Штучны інтэлект Патрыка Генры Уінстана. Класічныя спасылкі. Трохі цяжкія для тэмы навучання.
- Java і вэб-праграмаванне. Добра, добра, так што яны не маюць нічога агульнага з Lisp. Але я не змог з гэтым спрацівіцца.
Lisp-літаратура Online
- HyperSpec. Версія HTML- афіцыйная спецыфікацыя ANSI для Common Lisp. З Кента Пітмана з і Арлекіна Інк.Ен не падручнік, але цалкам вызначае усё змененыя функцыі, будуе усё ў Common Lisp.
- Утрыманне.
- Асноўныя функцыі (намеснік Утрыманне).
- Галоўны індэкс.
- Спіс усіх слоў у Common Lisp (зменныя словы, імёны функцый і г.д.).
- Common Lisp: мова (2-е выданне, HTML версія). Гэта было афіцыйнае вызначэнне мовы да выпуску ANSI спецыфікацыі, дагэтуль вельмі карысная спасылка.
- ANSI праект спецыфікацыі для Common Lisp (PostScript па частках). Для інтэрнэт-доступу выкарыстоўвайце HyperSpec, але канчатковы спектр ANSI не даступны бясплатна ў PostScript
- Ан-лайн даведнік па CLOS СС (Meta-Object Protocol).
- Як атрымаць доступ да Common Lisp: Даведка з лакальнай машыны (apl.jhu.edu карыстачоў).
- Кіраўніцтва для карыстачоў CLIM 2,0. CLIM з’яўляецца Common Lisp Interface Manager, графічная бібліятэка падтрымлівае некалькі розных пастаўшчыкоў. Кіраўніцтва для карыстачоў.
- Кароткая бібліяграфія літаратуры Lisp. Маецца таксама у PostScript.
Пытанні для пачынаючых і сталых карыстачоў Lisp.
- На адной старонцы знаходзіцца рэзюмэ асноўных Lisp канструкцый (PostScript).
- Некаторыя мініяцюрныя рэзюмэ. PostScript версіі- адна старонка.
- Калі выкарыстоўваць ці не выкарыстоўваць цытаты.
- cond, let, і let *. Маецца таксама у PostScript з кароткая інфармацыя loop на той жа старонцы.
- loop. Маецца таксама у PostScript.
- format, у адказ на Lisp у fprintf C. Маецца таксама у PostScript.
- Структуры і defstruct сінтаксісу. Маецца таксама у PostScript.
- backquote (PostScript).
- CLOS. Маецца таксама у PostScript.
- Вельмі кароткае рэзюмэ пра тое, як узаемадзейнічаць з Lisp усярэдзіне Emacs. Гл. PostScript Emacs- раздаткавыя матэрыялы (Кароткае даведкавае кіраўніцтва і Intro) для больш падрабязнай інфармацыі.
- Трохі больш падрабязная справаздача пра тое, як узаемадзейнічаць з Lisp знутры XEmacs і GNU Emacs, пад X-Windows ці ў тэрміналах. Гл. PostScript Emacs, раздаткавыя матэрыялы (Кароткае даведкавае пра кіраўніцтва і Intro) для больш падрабязнай інфармацыі.
- Нават кароткія рэзюмэ для выкарыстання VI для Lisp. Як міргаць круглыя дужкі і аўтаводступы.
- Захоп вынікаў інтэрактыўнага сеансу Lisp. Дае рэкамендацыі пра тое, як лепш захаваць вынікі тэставання ў файле. Гэта дае Lisp-спецыфікацыі (dribble), UNIX-спецыфікацыі (script), і Emacs-спецыфічныя метады. Ва ўсіх выпадках, выкарыстанне макрасаў-выйсце Паказаць будзе лягчэй захаваць тэстаў.
- Канвенцыя рэшты “*” S вакол глабальных зменных імёнаў у Lisp.
- Простая разумная рэалізацыя Lisp веж у Ханоі.
- Агульныя рэалізацыі Lisp праблем Queen N. Яно знаходзіць рашэнне для любой N-Queens праблемы для любога N 4 ці нават больш. Рашэнне можа быць знойдзена за лінейны час (пэўны час), хоць раздрукоўкі рада прымае O (N ^ 2)час. Але пошук тут не ўдзельнічае. Калі ў вас ёсць Java-браўзар з уключанай падтрымкай, наведайце http://www.apl.jhu.edu/ ~ зала / NQueens.html, каб убачыць інтэрактыўную версію гэтага ў Java.
- Вельмі кароткі прыклад выкарыстання функцыі агульнага роду Lisp.
Пытанні для сталых праграмістаў Lisp
- Уводзіны ў некаторых вышэйшых агульныя функцыі Lisp. Функцыі вышэйшага парадку выкарыстоўваюцца іншымі функцыямі ў якасці аргументаў. Перадача функцый вакол Lisp з’яўляецца адной з яго адметных асаблівасцяў. Маецца таксама у PostScript.
- макрас завецца Show-output, што дазваляе захоўваць тэстЫ. Выкарыстанне Show-output зусім не складана: вы проста пастаўляеце Lisp формы, і кожная форма раздрукоўваецца, разам з імі і вяртаецца значэнне формы. Але гэта патрабуе пісьмовага агульнага ўяўленне пра макрасы Lisp.
- Некаторыя рады па аналізе кода Lisp (PostScript).
- Мноства простых тэрмінаў / вымяральных функцый у Common Lisp.
- Разбуральныя аперацый і спіс прадукцыйнасці. Маецца таксама у PostScript.
- Уводзіны ў агульныя макрасаў Lisp. Макрасы формы, якія генеруюць код Lisp. Таксама даступна у PostScript.
- Кіраўніцтва па добрым стылі Lisp (PostScript). Ад Пятра Норвіга і Кента Пітмана у LUV-93 падручніка.
- Спіс Джэфа Далтона пра распаўсюджаныя памылкі ў Lisp. Большасць з іх для прасунутых карыстачоў.
- VT100 кіраванне курсорам у Lisp.
- Кароткая балада, прысвечаная росту праграм (Ashwin Ram).
CLOS
CLOS з’яўляецца “Common Lisp Object System”, магутны пакет,убудаваны ў Common Lisp.
- Мініяцюрнае рэзюмэ CLOS. Таксама мае адну старонку файла ў PostScript.
- Уступныя CLOS лекцыі. Маецца таксама у PostScript.
- Агульныя грубыя памылкі ў CLOS (PostScript).
- Некаторыя падрабязнасці пра defclass. Маецца таксама у PostScript.
- Некаторыя падрабязнасці пра defgeneric. Маецца таксама у PostScript.
- Спрошчаны інтэрфейс для defclass. Def-класа макрас дазваляе ўвесці
- (Def-Class Class (Parents)
- (Slot-1 Val-1)
- (Slot-2 Val-2)
- Slot-3)
і атрымаць вынік
(defclass Class (Parents) ((Slot-1 :initform Val-1 :accessor Slot-1 :initarg :Slot-1) (Slot-2 :initform Val-2 :accessor Slot-2 :initarg :Slot-2) (Slot-3 :accessor Slot-3 :initarg :Slot-3)))
Вызначэнне класа макрасаў мае аднолькавы сінтаксіс для Def-класа, але ён таксама дадае ўнікальны слот імені і робіць некаторыя бухгалтарскія адсочваць выпадкі. Ён падтрымлівае асобнікаў, каб атрымаць аб’ектаў дадзенага класа, Direct-асобнікаў, каб атрымаць аб’ектаў дадзенага класа, але не з падкласа, і шэраг іншых працэдур бухгалтарскага ўліку.
- Аптымізацыя ў Сімволіка CLOS Рэалізацыі. артыкулу Д. Скот Cyphers і Дэвід Месяц, які паказвае, як CLOS могуць быць рэалізаваны эфектыўна.
Lisp Рэсурсы Інтэрнэт
- Бясплатны Common Lisp для Windows. Гэта версія папулярнага камерцыйнага Allegro Common Lisp для Windows з некаторымі абмежаваннямі, такімі як невялікі памер аб’ектаў, незалежная падтрымка ўсіх функцыі, кампіляцыя файла, немагчымасць захавання малюнка (Save- малюнкі). Аднак, кампіляцыя усё яшчэ даступна, і файлы кампілююцца з той час, калі яны загружаюцца (вы проста не можаце захаваць скампіляваную версію на дыску). У адваротным выпадку гэта версія будзе такой жа, як і версія камерцыйнай рэалізацыі. Выдатны выбар для студэнтаў з машынамі Windows, ен складаецца з падручнікаў інтэрактыўнага навучання. Гэта старонка таксама дазваляе спампаваць бясплатную выпрабавальную версію Allegro CL для UNIX. Таксама гл. Франц вэб-сайт для атрымання дадатковай інфармацыі пра дадзеную прапанову.
- Яшчэ адзін бясплатны Common Lisp для Windows. З Harlequin, Inc, вытворца LispWorks асяроддзя UNIX – гэта больш абмежаванае ўжыванне, яное раней было толькі для акадэмічнага выкарыстання. Няма кампілятара.
- Абмежаваны час выпрабавальнай копіі выкарыстання Macintosh Common Lisp 4,0. З DIGITOOL.
- Паказальнікі на іншыя вольныя Common Lisp, даступныя ў сетцы для UNIX, VMS, DOS / Windows і Macintosh. Вытрымкі з версіі 1.48 у FAQ для comp.lang.lisp. Гл. там апошнія дэталі.
- Канспекты лекцый, раздаткавыя матэрыялы, а таксама некаторыя практыкаванні з залы Марці. Праграмаванне класа А. AI у часе MS праграмы CS.
- Асацыяцыя карыстачоў Lisp (ALU).
- Інтэрактыўныя Падручнікі.Lisp.
- Тэхас і А& M асноўныя Lisp Падручнікі.
- FAQ (часта задаваныя пытанні) спіс з comp.lang.lisp.
- Агульны код архіваў Lisp.
- Рэсурсы Старонкі Lisp з Віртуальнай бібліятэкі.
- Зыходны код з трох папулярных Common Lisp тэкстаў.
- ANSI Common Lisp Пола Грэма .
- Common Lisp Пола Грэма : Дадатковыяметадыдля Common Lisp.
- Пітэр Норвіг у Парадыгмы праграмавання штучнага інтэлекту: аналіз Common Lisp.
- Які пашыраецца сервер http, напісаны на Common Lisp. З MIT AI Lab.
- Камерцыйныя ANSI-CL перакладнікі і Lisp бібліятэкі.
- Comp.lang.lisp навін Usenet. Вы можаце выкарыстоўваць праграму чытання навін, замест браўзара WWW, калі вы сапраўды падпісаны на яго.
- Складаная сітуацыя з аб’явамі пра вакансіі на адпаведныя пасады Lisp. Большасць з гэтых прац прыходзяць праз спіс вакансій Lisp Марка Кантовіца (Адправіць “дапамогу” ў прграме) ці comp.lang.lisp група Usenet. Гэта калекцыя знаходзіцца ў фармаце паштовай скрыні UNIX, так, каб прагледзець яго, вы проста загружаеце яго і чытаеца з дапамогай вашай любімай паштовай праграмы. Яна таксама ўключае працы,злучаныя з АL, якія не абавязкова згадваюць Lisp, калі яны знаходзяцца ў большай вобласці Балтымора / Вашынгтона. Для поўнага архіва Lisp-прац і спісу вакансій А.AI Lisp-прац, гл. архіваў ва Ўніверсітэце.
Lisp-даклады
- Кароткая гісторыя Lisp. (PostScript)
- Эвалюцыя Lisp падрабязную гісторыю Lisp. ACM Гісторыя моў праграмавання (HOPL-II) і канферэнцый (PDF) з 1993.
- Lisp: Добрыя навіны, дрэнныя навіны, як выйграць па-буйнаму. AI-эксперты. Таксама даступна у PostScript.
- Хол, Марці і Джэймс Мэйфілд, “Павышэнне прадукцыйнасці праграмнага забеспячэння-AI: Выплаты і падводныя камяні ў выкарыстанні Аўтаматычнай Меманізацыі ” Шосты міжнародны сімпозіум па распрацоўцы штучнага інтэлекта, Мантэрэй, Мексіка, верасень 1993. Працы (PostScript). Зыходны код даступны тут.Гл. пачатак Memoization.lisp для хуткага апісання асноўных функцыі на ўзроўні карыстача.
- Дакумент Кена Андерсана дае падрабязную інфармацыю пра лікавыя аптымізацыі ў Lisp у параўнанні з С. Ен заснаваны на алгарытме, вядомым як fannkuch. (PostScript)
- Выбітныя калекцыі Генрыха Бэйкера з дакументамі,злучанымі з Lisp. Звярніце ўвагу, што Netcom часта перагружаны, так што можа запатрабаваць адразу ж некалькі спроб, каб звязацца з ім.
- Метады агляду збору смецця ПолаУілсана. З’яўляюцца вылічальным даследваннем у ACM. (PostScript)
- Збор смецця падтрымліваецца Дэвідам Чэйзам. FAQ.
- GC даклады Ханса Боема у Xerox PARC:
- Абмеркаванне складанасці разгорткі супраць зборшчыкаў капіяванАГА смецця. Ён спрабуе аспрэчыць сцвярджэнне, што калекцыянеры копій лепш робяць падпампоўкі прадукцыйнасці дзякуючы ўшчыльненню, пагэтаму гэты працэс будзе займаць менш часу.
- Прыклад, які паказвае, што ў некаторых выпадках вылучэнні і вызваленні (Malloc / бясплатна) могуць быць вылічальна даражэйшым, чым збор смецця. Звернеце ўвагу, што ён не сцвярджае, што GC хутчэй на практыцы, ен толькі аспрэчвае сцвярджэнні, што ен павінны быць павольней.
- Зборшчык смецця для C і C + +.
