E D R , A S I H C RSS

Lisp Language



1. ์†Œ๊ฐœ

  • Functional Language. AI ๋“ฑ์— ๋งŽ์ด ์“ฐ์ธ๋‹ค. Scheme ์€ LispLanguage ์˜ ๋ฐฉ์–ธ.
  • ๋‚˜๋ฌด์œ„ํ‚ค์˜ ์„ค๋ช…(๋•์งˆ์€ ์œ„๋Œ€ํ•˜๋‹ค): https://namu.wiki/w/LISP

2. Document

  • For the beginners:
    • Common LISP wikibooks: https://en.wikibooks.org/wiki/Common_Lisp
      • ์˜๋ฌธ LISP ํŠœํ† ๋ฆฌ์–ผ ์ค‘์—์„œ ๋‰ด๋น„์—๊ฒŒ ๊ฐ€์žฅ ์นœ์ ˆํ•ด ๋ณด์ด๋Š” ์„ค๋ช…์„œ. ํ•˜์ง€๋งŒ ๋ฏธ์™„์„ฑ์ด๋‹ค.

    • TutorialsPoint LISP: http://www.tutorialspoint.com/lisp/index.htm
      • ๊ทธ ๋‹ค์Œ์œผ๋กœ ์นœ์ ˆํ•ด ๋ณด์ด๋Š” ์„ค๋ช…์„œ.

    • emacs ๊ฐ•์ขŒ - lisp ์ดํ•ดํ•˜๊ธฐ 1: http://ageofblue.blogspot.kr/2012/01/emacs-lisp-1.html
      • emacs๋ผ๋Š” IDE๋Š” lisp์„ ํ†ตํ•ด ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ฌ์ง€์–ด ๊ฑฐ๋Œ€ํ•œ lisp ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๊นŒ์ง€ ํ•œ๋‹ค. ์ด ๊ธ€์€ ๋น„๋ก emacs๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•ด ๋ถ€๊ฐ€์ ์œผ๋กœ lisp์„ ์„ค๋ช…ํ•˜๋Š” ์ˆ˜์ค€์ด์ง€๋งŒ, ๋ช‡ ์•ˆ๋˜๋Š” ํ•œ๊ตญ์–ด lisp ์„ค๋ช…๊ธ€์ด๋ฏ€๋กœ ์ฐธ๊ณ ๋ฅผ ์œ„ํ•ด ๋งํฌ๋ฅผ ๊ฑธ์–ด ๋‘”๋‹ค.

    • Practical Common LISP: http://www.gigamonkeys.com/book/
      • ์ฑ… ์›๊ณ ๋ฅผ ์˜จ๋ผ์ธ ๊ณต๊ฐœํ–ˆ๋‹ค. ๊ทผ๋ฐ ์ดˆ์žฅ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด๊ฐ€๋ฉด์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ํ•™์Šต ๋‚œ์ด๋„๊ฐ€ ์ข€ ๋†’์€์ง€๋„ ๋ชจ๋ฅธ๋‹ค.

  • ์‰ฌ์šด ๋”ฐ๋ผํ•˜๊ธฐ
  • CommonLispUnit
  • Lisp Prime - ์ฑ…์ธ๋“ฏ
  • Successful Lisp:How to Understand and Use Common Lisp - ์ฑ…์ธ๋“ฏ(some ์— ๋Œ€ํ•œ ์„ค๋ช… ์žˆ์Œ)

4. ์˜ˆ์ œ ์†Œ์Šค

4.1. Factorial

(defun fact(x)
	(if (> x 0)
	    (* x (fact(- x 1)))
	1))

4.2. ๊ตฌ๊ตฌ๋‹จ

 (dotimes(j 9)(dotimes(i 9) (format t "~% ~s * ~s = ~s" (+ j 1) (+ i 1) (* (+ j 1) (+ i 1)))))

4.3. save & load

ํŠœํ† ๋ฆฌ์–ผ์— ๋”ฑํžˆ ๋‚˜์™€ ์žˆ์ง€ ์•Š์€๊ฑฐ ๊ฐ™๊ณ 
์ฃผ๋ณ€์—์„œ ํ•˜๋„ ๋ฌผ์–ด๋ด์„œ ๊ทธ๋ƒฅ ๋งํฌ ๋˜์ ธ์ฃผ๊ธฐ ์ข‹๋„๋ก ๊ธฐ๋กํ•จ
๋‹น์—ฐํžˆ ์šฐ๋ถ„ํˆฌ์—์„œ ํ•œ๊ฑฐ๊ณ  window์—์„œ ํ•˜๋Š”๊ฑด ๋ชจ๋ฅธ๋‹ค
๋‹จ์ˆœ output buffer ๊ธฐ๋ก(์ฝ”๋“œ ์ €์žฅ)
clisp์—์„œ
(dribble "/home/test.lisp")
~~~(์ฝ”๋”ฉ์ฝ”๋”ฉ)~~~
(dribble)
ํ•˜๋ฉด dribble ๋‚ด์˜ ์ฝ”๋“œ๋งŒ ""์•ˆ์˜ ๊ฒฝ๋กœ์˜ ํŒŒ์ผ๋ช…์œผ๋กœ ์ €์žฅ๋จ
ํ•„์š”์‹œ clisp์—์„œ (load "/home/test.lisp")์„ ํ•˜๋ฉด ๋กœ๋“œ๋จ
์„ธ์…˜ ์ €์žฅ
clisp์—์„œ
~~~(์ฝ”๋”ฉ์ฝ”๋”ฉ)~~~
(EXT:SAVEINITMEM)
ํ•˜๋ฉด ์„ธ์…˜์ด lispinit.mem์œผ๋กœ ์ €์žฅ๋จ
๋‹ค์‹œ ์‹คํ–‰ํ• ๋•Œ๋Š” cmd์—์„œ clisp -M lispinit.mem ํ•˜๋ฉด ์‹คํ–‰๋จ

5. EBook

Upload:cltl_ht.tar
  • Common Lisp the Language, 2nd Edition by Guy L. Steele Jr. : ์—ญ์‹œ ์ฑ…์ด๋ผ์„œ ์ฒด๊ณ„์ ์œผ๋กœ ์ž˜ ๋‚˜์™€ ์žˆ๋‹ค.

6. Lisp Program

CLISP : Commom Lisp(ANSI ํ‘œ์ค€์œผ๋กœ ์ง€์ •๋œ Lisp ๋ฐฉ์–ธ)์˜ ๊ตฌํ˜„์ฒด ์ค‘ ํ•˜๋‚˜.
Clojure : Rich Hickey๊ฐ€ ์ œ์ž‘ํ•œ Lisp ๋ฐฉ์–ธ ์ค‘ ํ•˜๋‚˜. JVM ์ƒ์—์„œ ๋Œ์•„๊ฐ€๋Š” Lisp ๊ตฌํ˜„์ฒด๋กœ, Java API๋ฅผ ์ง์ ‘ ๋ถˆ๋Ÿฌ์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
NoSmok:CommonLisp, NoSmok:LispM
Moa:LispLanguage, Moa:AnsiCommonLisp

1002์˜ ๊ฒฝ์šฐ XLISP ๋ผ๋Š” ์œˆ๋„์šฐ์šฉ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉํ–ˆ์—ˆ๋‹ค. ์–ธ์–ด ์ž์ฒด๋ฅผ ์ตํžˆ๋Š”๋ฐ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ.

์–ธ์–ด์˜ ์ข…๋ฅ˜
๋จธ์‹  ์นœํ™”์ C๊ฐ€์กฑ
MachineLangaugeAssemblyCC++Objective-CObjective-C++์”จ์•—
๊ฐ์ฒด์ง€ํ–ฅํ•จ์ˆ˜ํ˜• ์–ธ์–ด
SmallTalkJAVAC#Lisp์กฑHaskellScala
์Šคํฌ๋ฆฝํŠธ์–ธ์–ด
JavaScriptCoffeeScriptPerlLuaPHPPythonPyPyRubyShellScriptMATLAB
๋ฏธ๋ถ„๋ฅ˜
ErlangGoJOCamlScalaRCSSMLAdaProlog
ScratchRustless
[http]ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ชฉ๋ก


์–ธ์–ด๋ถ„๋ฅ˜
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:39
Processing time 0.0083 sec