Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

MX Linux 19 にもClozure CL(Common Lisp)をインストール

Clozure CL のインストール

Clozure CLのダウンロードとインストール

バイナリで配布されているものをダウンロードして配置

Release Clozure CL 1.12 · Clozure/ccl · GitHub

この記事を書いている段階では、バージョン1.12。
→ ccl-1.12-linuxx86.tar.gz

解凍するとcclディレクトリが展開され、その中にある「lx86cl64」と「lx86cl」が本体。
コマンドプロンプトから「ccl」で実行できるようにシェルスクリプトを作成。

ファイル名 → ccl

#!/bin/bash

# Clozure CL 64bit
/home/kamuycikap/opt/ccl/lx86cl64

Quicklispのインストール

Quicklisp beta

上記URLからQuicklispのプログラムをダウンロード
https://beta.quicklisp.org/quicklisp.lisp

quicklisp.lispをダウンロードしたら、
lx86cl64を実行。
※lx86cl64を実行するディレクトリに、quicklisp.lispを置いとくこと。

起動したら、quicklisp.lispをloadする。

? (load "quicklisp.lisp")

すると、あれやこれやと処理が走り始める。

  ==== quicklisp installed ====

    To load a system, use: (ql:quickload "system-name")

    To find systems, use: (ql:system-apropos "term")

    To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)

    For more information, see http://www.quicklisp.org/beta/

これが表示されたら、説明の一つにあるコマンドを実行

? (ql:add-to-init-file)

Quicklispでライブラリをインストール

よく使いそうなライブラリをインストール。
記録として実行したコマンドだけ列挙。

? (ql:quickload :inferior-shell)   ; CUIコマンドを実行できる。
? (ql:quickload :cl-ppcre)          ; 正規表現ライブラリ
? (ql:quickload :cl-fad)              ; 日付計算 
? (ql:quickload :drakma)           ; HTTPリクエストを投げる 
? (ql:quickload :cl-json)            ; JSONフォーマットテキストの操作
? (ql:quickload :clack)              ; Webサーバー

Slime のインストール

Common Lisp の開発環境としてEmacsIDEとするSlimeを取り上げます。
Clozure CLを起動して、下記の関数を評価。

? (ql:quickload :quicklisp-slime-helper)   ; Slime環境構築を助けてくれるファイルを作成。

すると下記文章が画面に表示されます。

[package quicklisp-slime-helper]
slime-helper.el installed in "/home/kamuycikap/quicklisp/slime-helper.el"

To use, add this to your ~/.emacs:

  (load (expand-file-name "~/quicklisp/slime-helper.el"))
  ;; Replace "sbcl" with the path to your implementation
  (setq inferior-lisp-program "sbcl")

(:QUICKLISP-SLIME-HELPER)

その後、Emacsの設定ファイルに書きを追記

;; SLIME設定
(when (require 'slime nil t)

  (load (expand-file-name "~/quicklisp/slime-helper.el"))

  (setq inferior-lisp-program "ccl")

  (set-language-environment 'utf-8)
  (setq slime-net-coding-system 'utf-8-unix))

slimeの起動

Emacsを起動し、M-x slime で起動します。