(Haskellな日々になってるな…。) モナドというものがあり、Haskellで有名ですが、実際には、Java8のOptional、ScalaのOptionやfor内包表記などでは使用されています。ScalazというScalaのライブラリや、monadlogieというGroovyのライブラリでも使われています。 とはいえ、一般に、Haskellでのように積極的には使われていないというのが公平な見かたでしょう*1。Haskellでは本当にいろんなものがモナド化されています。入出力(IO)、状態、失敗するかもしれない計算(Maybe、Either)、非決定計算、継続、パーサ(モナディックパーサ)、リーダ、ライタ、etc.etc……。 なぜこのような差が生じるのでしょうか? その前に、まず押さえておくべきことは、モナドは非常に汎用的な機能だということです。数学的定義はともかく、機能的に言うと、
米Facebookによって開発されたファイルの変更監視ツール「Watchman」がオープンソースで公開された。ビルド作業を高速化するために同社内で開発されたツールで、ビルドの効率化を行えるという。 Watchmanは指定したディレクトリ下にあるファイルの変更をモニタリングするツール。変更されたファイルの記録やあらかじめ指定しておいたアクションの実行などが可能で、自動ビルド、特定のファイルへの変更を通知する機能なども備える。ただし、symlinksはサポートしていない。対応OSはMac OS XおよびLinux、FreeBSD、Solaris。 Facebookによると、同社は迅速かつ効率のよい開発を重視しており、ビルドに要する時間を短縮できないかという問題を解決するために開発したという。変更されたファイルをすぐに把握でき、クエリを実行することで前回のクエリから変更・削除されたファイルをすぐ
いつの時代もより高速に動作するフレームワークや言語に対する関心は高いものですが、そんな疑問に答えるWeb Framework Benchmarksの最新版が公開されています。こちらのベンチマークはテスト用のコードや環境がオープンソースになっており16の言語(C C# Clojure D Erlang Go Groovy Haskell Java JavaScript Lua Perl PHP Python Ruby Scala)と57のフレームワークについて最適な実装が集められてテストされているという点で一般性があります。また実行環境もEC2と実マシンの2種類をそれぞれ実行している点も興味深いです。 気になるテスト結果のうち特に複雑度の高いデータベースから複数件のデータを取得してHTMLページとして出力した場合の結果は下記のとおりです。 堂々のトップに輝いているのはServletで最大で1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く