動機 Lispといえばマクロというくらい、Lispとマクロは関連が深いです。 なのですが、自分は簡単なマクロなら自分で書けるものの、長いマクロや複雑なマクロをあまり書いたことがありません。 そろそろ次の1歩に進んでもいい頃合いかなと思うのですが、じゃぁどうするというところが思いつきません。 それなら公式の長めのマクロを読むことで色んなヒントを得ればいいじゃない、ということで読もうと思いました。 言語はClojureで、読むマクロはclojure.coreから長いものを適当に選ぶことにします。 長いマクロベスト4 case defmulti fn doseq(for) 定量的に図ったわけではないですが、ほぼ間違いないと思います。おそらく、Clojureに触ったことがある人であれば、大体わかるのではないでしょうか。 コードリーディング ソースコードはGit Hubより引用します。変更される可能
LWJGL と OpenCV を Clojure で書いていく 動機 Lisp っぽいSyntaxで OpenGL とか使ってノベルゲームエンジンを作ってみたい JVM 言語で書けば、どこでも動くんじゃないかな? ゆくゆくは OpenCV + OpenAL も使って動画ファイルを再生したい JavaFX...知らない子ですねぇ 出来たこと (OpenCV を Clojure で使うことが出来た)<= まだクロスプラットホームに対応させられていない・・・ LWJGL を、 Java のチュートリアルを変換することで使うことが出来た レポジトリはこちらです 実装方法 注意:ここの実装方法は、OpenCV の項をクリアした上でなければ動きません・ Project.clj ここが一番重要な部分だと思います。僕ではうまく実装することが出来なかったので、[こちら] を参考にさせていただきました。 (お
動機 先日、Clojureの長めのマクロを読むという記事を書いたのですが、自分でもびっくりするほど展開時のコードとコンパイル時のコードを区別できていませんでした。 次は何をしようかなーと考えてはいたものの、さすがにもう少しマクロについて理解せずに先に進むわけにもいかないので再度勉強し直すことにしました。 自分が理解していないのはマクロの中でもクォートだと思ったので、今回はクォートに絞って理解を勧めます。 何番煎じかわかりませんが、自分なりの表現でまとめてみます。 '(クォート)の特性 基本的にクォートされた値は評価されません。例を見たほうが早いでしょうか。 '(シングルクォーテーション)はquoteと同じ意味で、実行時に展開されるリーダマクロと呼ばれるものです。 ※追記 コメントで指摘いただきましたが、リーダマクロが展開されるのは実行時ではなくリード時でした。 ;; 下記は(quote (
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く