2011年9月8日木曜日

clojureでhelloworld

インストールについて下記参照
 >> http://y-takagi.blogspot.com/2011/09/clojure.html

1. lein newコマンドでプロジェクトのひな形を作成
 $ lein new helloworld

2. プロジェクトの設定ファイル(project.clj)を以下のように記述する
 :descriptionはプロジェクトの概要
 :dependenciesはライブラリの依存関係を解決。ライブラリを取得してきてくれる。
 :dev-dependenciesはプラグインの依存関係を解決。
 :handlerにはエントリポイントとなる関数名を指定
 ring : pythonのwsgiみたいなもの https://github.com/mmcgrana/ring
 compojure : webフレームワーク https://github.com/weavejester/compojure

 ring + compojureはclojureでwebアプリ開発をする際の定番の組み合わせらしいです。

3. 依存ライブラリのダウンロード
 $ lein deps

4. webアプリケーションの作成(src/helloworld/core.clj)

5. ローカル環境で試す
 $ lein ring server
 を実行するとデフォルトで3000番ポートでJettyが起動します。
 http://localhost:3000にアクセスすると「HelloWorld」が表示されるはず。
 ポートを指定したい場合は「lein ring server ポート番号」

あとで思ったんだけど、実はdependenciesにclojureとclojure-contribを入れておけば
そもそもインストールする必要ないのでは!?
つまり最低Liningenが入ってればrepl起動できるし、アプリ開発も出来ると。

2011年9月7日水曜日

ELPA (Emacs Lisp Package Archive)

Emacsにパッケージマネージャーがあったなんて!
インストール方法は公式サイトにのってます。

ELPA
=> http://tromey.com/elpa/

あとはemacs上で
M-x package-list-packages [ret]
してインストールしたいパーケージを"i"で選択する。

最後に"x"を押してインストール実行。

Clojureのインストール

プログラミング言語Clojureのインストールをしたのでメモ。
といっても全部homebrewで入るので特に問題なし。

環境

  • MacOSX 10.7.1(Lion)
方法
$ brew install clojure
$ brew install clojure-contrib
$ brew install leiningen

clojure-contribはclojureのライブラリでleiningenはビルドツールです。

replの起動は
$ clj
でも出来るのですが、ヒストリーやemacsキーバインドを使うと
^Pや^N、^Hと出てしまうので(こういう現象なんていうんだろう?)
$ lein repl
で起動するといいと思います。

またスクリプトを実行する場合は、
$ clj /path/to/script.clj
で実行できます。

script.clj
-----------------------------------
(println "hello, world")

$ clj script.clj
hello, world