Smartphonemaoeのブログこの広告は、90日以上更新していないブログに表示しています。2014-09-29HackageでHaddockが生成されない時はhaskellここのところずっとHackageでHaddockの生成ボットが止まっているようで、新しくアップロードされたパッケージはたいていドキュメントが無い。新しいサーバにHackageサーバを移しているようなのだけど、きっと忙しいんだろう。haddockしたものをアップロードすることができるので、ここら辺を参考にすると幸せになれる。v2上のページのhackagedocsはパスワードに特定の記号が含まれているとこけるので、URLエンコードする版を貼っておく。comment2014-04-17あるパッケージのバージョンによって別のパッケージへの依存関係を変更するhaskell具体的にはaesonのバージョンが新しい場合にのみscientificを依存関係に組み込みたいとする。errorになり動かない。同僚に聞いてみたところ、flagを使うのが定石らしい。0.7.0aeson070という名前は何でも良い。Trueにして再度インストールしようとする。要するにユーザが手で指定するフラグでは無いので何でも良い。(HPC)というカバレッジを計測する機能とツールがついてくるのだけど、コマンドラインオプションの指定が面倒だったり、そもそもHPCにバグがあって使いづらいためか、あまり広くは使われてこなかった。ところが最近になって状況を一変させるかもしれない、hpc-coverallsというパッケージがHackageに上がっていることに気がついたので使ってみた。Coveralls自体は広く使われてるので解説はいらないと思う。みたいなバッジをよく見かけるはず。testの代わりにrun-cabal-testするafter_scriptでhpc-coverallsとすれば良い。--only-dependenciesした直後に--avoid-reinstallsをつけてhpc-coverallsすると、自分のパッケージの依存関係を壊すことなくインストールできるかもしれないあたりに気を付けると良い。influxdbとlifted-asyncで設定してみたので、設定例が見たい方はこちらをどうぞ。influxdbhttps://github.com/maoe/influxdb-haskellhttps://coveralls.io/r/maoe/influxdb-haskelllifted-asynchttps://github.com/maoe/lifted-asynchttps://coveralls.io/r/maoe/lifted-async実際に使い始めると、hpcコマンドを使うよりはるかに簡単で見やすいので、カバレッジを取りたいならおすすめ。hpc-markupのような1行の中でどこが実行されたかのような細かい情報までは取れないけど、よっぽど1行が長いのでなければ十分なんじゃないかと思う。comment2014-04-07HaskellからInfluxDBを使うhaskellHaskellからお手軽に時系列データベースにアクセスする必要が出てきたので、今巷で人気が出始めたInfluxDBのHaskellクライアントライブラリを書いた。GitHubドキュメントがあんまりなかったり、投げる例外が適当だったりするけど、ひとまず使えるようにはなっている。速度はあまり気にしないで書いたけど、困るほど遅くはないと思う。公式リポジトリのrandom_points.rbをベースに、いろいろ機能拡張したものがrandom-points.hsで、これらを見比べれば大体の使い方はわかるんじゃないかと思う。だいたいaesonのようなものと考えればいい。7.8は、大きめの新機能がいくつも入る。synonymsという言語拡張で、これまで第一級市民でなかったパターンを、再利用可能な部品として扱えるようにする仕組み。チケットが登録されてから3年越しに実現された。haskellあたりを読むと良い。synonymsのよい使いどころに遭遇したので紹介する。うまくなにか当て嵌めると同じになったりしないですかね。synonymsがちょうど良かったという流れ。synonymsを使うことで、他の関数は(些末なスタイルの違いを除けば)まったく同じになっていることがわかる。ここから2つの利点が挙げられる。