갈루아의 반서재




1. 가상환경구축

1
2
3
4
5
6
7
8
9
10
11
12
root@localhost:~# mkdir lispworks
root@localhost:~# cd lispworks
root@localhost:~/lispworks# virtualenv -p python3 venv
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /root/lispworks/venv/bin/python3
Also creating executable in /root/lispworks/venv/bin/python
Installing setuptools, pip, wheel...done.
root@localhost:~/lispworks# source venv/bin/activate
(venv) root@localhost:~/lispworks# which pip
/root/lispworks/venv/bin/pip
(venv) root@localhost:~/lispworks# pip freeze
cs


2. CLISP 설치

다수의 리스프 컴파일러중 CLISP (Common Lisp)를 설치해서 사용해보자. CLISP는 http://clisp.cons.org/ 에서 다운로드 가능하다. Ubuntu의 경우 다음과 같이 설치한다. 

1
2
(venv) root@localhost:~/lispworks# sudo apt-get update
(venv) root@localhost:~/lispworks# sudo apt-get install clisp
cs


3. CLISP 실행과 종료

CLISP 실행은 다음과 같이 커맨드라인에 clisp 라고 타이핑하면 된다. CLISP는 자동적으로 read-eval-print loop (REPL) 로 넘겨준다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(venv) root@localhost:~/lispworks# clisp
  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8
Welcome to GNU CLISP 2.49 (2010-07-07) <http://clisp.cons.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
[1]>
cs

간단하게 다음과 같은 연산을 실행해보자. (+ 3 (* 2 4)) 라고 타이핑하면 11이라는 결과를 얻는다.

1
2
3
[1]> (+ 3 (* 2 4))
11
[2]>
cs

CLISP를 종료할 때는 (quit) 이라고 치면 된다. 물론 (exit)도 작동한다. 

1
2
3
4
5
6
7
8
[1]> (quit)
Bye.
(venv) root@localhost:~/lispworks
 
[1]> (exit)
Bye.
(venv) root@localhost:~/lispworks#
 
cs