2011年12月25日

IPython 0.12 でグラフとか

とりあえずいろいろ入れておく。

# test 関係
pip install nose
pip install pexpect

# numpy のインストール
pip install numpy

# scipy のインストール
# scipy をインストールするには Fortran コンパイラが必要なので gfortran をインストール
# http://gcc.gnu.org/wiki/GFortranBinaries#MacOS
curl -O http://quatramaran.ens.fr/~coudert/gfortran/gfortran-4.6.2-x86_64-Lion.dmg
# dmg 内の pkg で 普通にインストールます

pip install scipy

# matplotlib のインストール
# http://www.activestate.com/activetcl/downloads 入れておく

sudo port install antigraingeometry

sudo port install libpng

pip install pytz
# http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/
# から tar.gz 取得
tar xvfz matplotlib-1.1.0.tar.gz
cd matplotlib-1.1.0
# 環境によっては export CC=gcc しないとコンパイルできないかも
python setup.py build
easy_install -UZ .

# Sympy のインストール
pip install sympy

とりあえずいろいろはいるので起動する。

ipython --pylab
plot([1,2,3])

2011年12月24日

clsql で MySQL 接続簡易サンプル

マニュアルはhttp://clsql.b9.com/manual/にある。結構丁寧に書いてある。

(eval-when (:compile-toplevel :load-toplevel :execute)
  (require :clsql))

;; DB に接続
(clsql:connect '("localhost" "cclsample" "root" "")
                   :database-type :mysql)

;; field-names を nil にすると column は返ってこないようにする
(clsql:query "select * from sample" :field-names nil)

;; insert 文発行
(clsql:execute-command "insert into course value('1','sample')")

;; clsql:do-query ループ
(clsql:do-query ((no name)
  "select no,name from sample")
  (format t "~a,~a~%" no name))

;; 接続を切る
(clsql:disconnect)

環境によって文字化けするかも。

2011年12月22日

Clozure CL が App Store に公開された

Clozure CL が App Store に公開された。

Clozure CL 1.7(無料)App
カテゴリ: 開発ツール
販売元: Clozure Associates - Clozure Associates, LLC(サイズ: 28.3 MB)
全てのバージョンの評価: (1件の評価)

これでアプリケーションの管理とか、バージョンアップとかが簡単になるし、Mac で Common Lisp するならやはり ccl が一番早道な気がしている。

2011年12月20日

IPython 0.12 が正式リリースされた

IPython 0.12 が正式リリースされた。
IPython: Productive Interactive Computing — IPython
とりあえず notebook を動作させてみた。

pip install ipython
pip install tornado
sudo port install zmq
pip install pyzmq
# 速度を求める場合は pyzmq-ctypes
# pip install ctypes
# pip install pyzmq-ctypes
# 起動
ipython
> from IPython.external import mathjax; mathjax.install_mathjax()
> exit
# notebook 起動
ipython notebook

デフォルトのプラウザで起動する。ブラウザベースの環境としてはかなり強力。
用途は色々あるけど、まずは画像とかも出るので、ターミナルで画像が表示できないとかの環境なら、利用すると良いんぢゃないかな。

2011年12月4日

ccl(Clozure Common Lisp) での補完

cclは標準状態では補完は動作しません。補完するのは Lineditrlwrap を利用します。
Linedit の ccl 対応は比較的最近なのでまだ設定してないので、rlwrap の方で書いておきます。

sudo port install rlwrap
alias ccl='rlwrap -pgreen -r -m --history-filename=${HOME}/.ccl/ccl_history --histsize=1000000 -c -b "(){}[],^%$#@\"\";''|\\" -f ${HOME}/.ccl/ccl_completions ccl64 -K utf-8'

あとは ccl-init.lisp にhttps://gist.github.com/1140214 の設定を追加しておくと補完が楽になります。

設定を完了して ccl コマンドで起動すると補完が効きます。履歴の補完場所とかは自分の好みで変更してください。
注意点として slime の repl に rlwrap を有効にした物を設定してしまうと変になると思います。

Mac での Common Lisp 環境構築

利用する実装

Common Lisp の実装は複数ありますが、Clozure CL(以後 ccl)を利用します。
ccl はコンパイル速度が早くて、スレッドも利用でき、もともとMacで開発されたこともあり、Mac用の機能なんかもあって楽しいのでこれを利用するのが良いです。

インストール

MacPorts を利用するのが楽。

# インストール
sudo port install ccl
# 起動
ccl64
# 終了
(quit)

設定ファイル

「$HOME/.ccl-init.lisp」が設定ファイルになります。設定ファイルは当然 Common Lisp で書きますので、Common Lisp勉強する前には書けないかと思います。とりあえず空のファイルを作成しておくと良いかと思います。

Quicklispのインストール

ライブラリをインストールする場合は Quicklispを利用します。昔はASDF-Installとか利用していたけど、全然便利ではないし ccl では非推奨になったので利用しません。

以下のようにインストールします。

curl -O http://beta.quicklisp.org/quicklisp.lisp
ccl64 --load quicklisp.lisp
(quicklisp-quickstart:install)

以下で動作確認ができます。「term」を含むライブラリを検索しています。
(ql:system-apropos "term")

起動直後からQuicklispを有効にするために設定ファイルに設定を追加します。
(ql:add-to-init-file)

設定ファイルを見るとパスが記述れているのでQuicklispのディレクトリ位置を変更したい場合は設定ファイルを修正してください。
Emacs の設定ファイルを記述したことがある人なら簡単な設定変更はできるかと思います。

人気のライブラリはQuicklisp news: Project download statistics等を参照するとわかるので、上から入れて、ためしてみたり、ソース読んだりすると勉強になるかもしれない。
ライブラリに関してはいずれ書きたい。