You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Clojureでエラー値を返すかもしれない関数ってどう書くのだろうとちょっと考えてみる。 Scalaだと例外はあまり使わず、EitherやValidationを使う派。 やはり、コンパイラの恩恵を受けることが出来る書き方が良い。 しかし、Clojureは動的型付けの言語。 コンパイラの恩恵は特にない。 なので、 どのような値が返ると扱いやすいかを考える。 Clojureは基本的に nil返す 例外投げる の2通りだと思う。 Clojure標準のライブラリはnilを渡してもそれなりに動作するし、if-let,when-let,fnilなどの関数も用意されている。 しかし、nilだとどのようなエラーだったのか判別がつかない。 このような時に例外を使って、エラーの種類によって投げる例外を変えれば良いのだと思う。 Clojureの例外を投げるような関数は以下のように書ける。 この場合は、Java
10月21〜24日の4日間、International Lisp Conference (国際Lisp会議) 2012 @ 京都に参加してきました。4日目にはClackについて発表してきました。 せっかくなのでレポートがてら、ILCについて少し書いておこうと思います。 ILC2010 @ Reno/Sparks ILCの参加は前回のILC2010 @ Renoが最初でした。 そのときはClojureでAppEngineを使ってWebアプリケーションを作ろうとしたり、プレゼンツールを作っていました。Schemeは少し書けたものの、Common Lispはまだ複雑に思えてほとんど書いたこともありませんでした。 英語も話せず、お金もなかったにも関わらず、行ったこともないアメリカに単身で行くのは今思い返すとかなり無謀ではありました。 なぜ参加しようと思ったかというと、CLtL3 *1 について調べ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く