(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

2015-06-01から1ヶ月間の記事一覧

Clojure Focus で Reader Conditionals について発表してきた

目次に「まとめ」って書いてるのに「まとめ」のページ作ってなかったのが今日のハイライト。 だいたい参考にしたのは仕様とか設計とかのページ。ここ以外のブログ記事とかみても結局同じこと書いてあるので略。 Reader Conditionals - Clojure Design - Cloj…

assoc と update どっち使う?

Clojure 1.7 から導入された update 関数。 update-in はあるけど、むしろ今までなんで update がなかったんだろうと思ったりする今日このごろです。まぁともあれどういうものかというと普通にドキュメント引けば分かりますが、 update-in で指定するキーワ…

マクロ書いて、これ IFn にキャスト出来ないんだけどってエラーになったとき

たまに馬鹿やります。あやぴーです。 (defmacro foo [] (map inc (range 10))) (foo) ;; java.lang.ClassCastException: java.lang.Long cannot be cast to clojure.lang.IFn こんな感じで上のようなマクロを定義するとエラー吐くけど、よく考えたら当たり前…

どうやってベクターのネストを削除したらいい?

How to remove nested clojure vectorstackoverflow.com久しぶりにこういうの書く*1。さて、質問ですが ([[AA ww me bl qw 100] [AA ee rr aa aa 100] [AA qq rr aa aa 90]] [[CC ww me bl qw 100] [CC ee rr aa aa 67]]) このようなデータ構造を持っている…

Boot を Leiningen プロジェクトの中で使う

一緒にお仕事している Clojure デキルマンに Boot を闇ツール扱いされる今日この頃です。日本ではあまり使っている人が多くない*1 Boot ですが、あやぴー的にはかなり気に入っています。ちなみに先日バージョン 2.0.0 がリリースされています。まぁ、 Boot いい…

Clojure を始めたいけど、周りに Clojure 使ってる人いないし聞ける人いないからなーと思っている人たちへ

「 Clojure が素晴らしい言語であるのはなんとなくわかった。興味はあるんだけど、何処に実際に使っている人たちいるの?」とか「ちょっと分からないところがあるから聞いてみたいんだけど、 QA サイトに投稿するほどじゃないんだよなー」という人たちが一定…

Clojure の開発環境をよりシンプルへ ~ inf-clojure 実践的な設定編?

一ヶ月くらい前に inf-clojure 導入記事を書いたのに、それ以来何も触れてなかったのでそろそろまた書いてみる。Clojure の開発環境をよりシンプルへ ~ inf-clojure 導入編 - (define -ayalog '())一ヶ月くらい前に書いたってことはつまりあれから一ヶ月くら…

第 3 回かわいい Kotlin 勉強会で LT してきたよ #jkug

だいたい Kotlin の話してきました(嘘です、ごめんなさい)。Twitter の TL 見ていると「殴り込み」とか「天下一 JVM 武闘会」とか言われてました。まじすまんかった。第3回かわいいKotlin勉強会 #jkugtogetter.com 話した内容とか タイトルはハッカーと画家…

C-u 大事 - Emacs のキーバインドが枯渇気味の人へ -

だいたい Emacs 使ってて「だいたい使うなー」という拡張が決まってきた。それは良いんだけど、ちょこちょこ拡張を足そうとするときに使い勝手の良いキーバインドはだいたい埋まってきた気がする。 元々 Emacs それ自身が取ってしまっているのもあれば、メジ…

Clojure の開発で gtags を使う

えっと Emacs/Cider ユーザーにはあまり関係ないですね。あと他のエディタや IDE で定義ジャンプ出来る人はいらないと思う。僕はこの前から inf-clojure を使っているので、これが欲しかった。あと例えば他のエディタや IDE で defxxxx なマクロを使っている…

Clojure で依存関係の解決に潜むワナ?

お仕事中に盛大にハマって、最終的に一緒にやってる Clojure チョットデキルマンに助けてもらった。Clojure のライブラリを Leiningen や Boot に含める場合、次のような表記を用いる。 [group-id/name version] Leiningen や Boot はこれを group-id/name でひとつ…