2014-01-01から1年間の記事一覧

2014年を振り返る(オープンソース活動編)

2日前に書いたやつ2014年を振り返る(blog編)の続き的なもの

sbtで指定した特定のScalaコンパイラの警告を表示しないようにする方法

sbt

https://github.com/ermine-language/ermine-legacy/blob/d576a7b97/build.sbt#L39-L59 https://github.com/ermine-language/ermine-legacy/blob/d576a7b97/project/Build.scala#L42-L61

2014年を振り返る(blog編)

色々振り返りたいことあった気がするのですが、全部書くと長くなりすぎると思ったのでとりあえずblog記事中心にまとめます。blog編の他になにを書くのか決めてないですが。

msgpack javaについて

色々あってmsgpackいじってたりするのですが、とりあえず見つけたバグとかその他色々まとめてみる。

関数プログラミング実践入門

著者の人と直接的な面識はそれほどない(twitter上では知ってたし会話したことあるはず)のに、ある日突然この本(の電子書籍版)いただきました。ありがとうございます! というわけで、頂いてから結構期間空いてしまって申し訳ないんですが、感想書きました。 …

playframeworkのJsonのEitherのReadsやWritesやFormat

これはPlay framework Advent Calendar 2014の24日目ですアドベントカレンダー空いてたのと、たまたま思い出したので、また 前回書いたものと関係あるような play-jsonのReadsやWritesの話をします。

macroとdynamicを使って任意の型を簡潔に記述、生成する手法がやばい

shapelessの話をします。

jol(Java Object Layout)という、Javaのオブジェクトがどのようにメモリ上にレイアウトされるのか?というツールをsbtから便利に使えるようにする

最近公式にopenjdkの一部になったらしい?ので、まだあまり有名じゃないかもしれませんが、以下のような便利ツールがあるの知ってますか?http://openjdk.java.net/projects/code-tools/jol/

shapeless.TypeClassとGHC.Generic

twitter便利ですね。作者からリプライきました

playframeworkのJsonのReads, Writes, Formatと直和型

これはplayframework2014アドベントカレンダーの、13日目です。 少し長いので先に内容を要約しておくと play-jsonで、直和型のReads, Writes, Formatを短く簡潔に定義しようとすると微妙に面倒なことに気づいた どのあたりが面倒なのか?という理由の説明 解…

2014年のplayframeworkと自分のpull request

これは Play framework advent calendar 2014 の10日目です。 9日目は play アプリケーションのクラスパス指定を短くする でした。 去年に引き続き、

代数的データ型とshapelessのマクロによる型クラスのインスタンスの自動導出

これは、ドワンゴ Advent Calendar の 7日目です。6日目は DartのASTを触ってみる でした。

slamdataについて

これは、purescriptアドベントカレンダーの6日目です。

purescriptのライブラリ紹介

これは purescriptアドベントカレンダー2014年の2日目です。 昨日は purescript-react を動かしてみるまで頑張る でした

mavenリポジトリに上がっているsources.jarの中身を手軽に読みたいときのための何かを作った

https://github.com/xuwei-k/java-src http://java-src.appspot.com/org.scalaz/scalaz-core_2.11

QiitaのScalaのAPI clientライブラリ作った

https://github.com/xuwei-k/qiitascala

Scala2.10.4以前だと、scala.io.SourceのmkStringはとても遅い(10倍以上?)ので気をつけましょう

https://github.com/scala/scala/commit/4c4d3245 https://github.com/scala/scala/pull/2929

playframeworkのJsonのReadsやWritesやFormatで要素数が23以上の場合のcase class用のコード生成sbt pluginをつくった

タイトル長げーよ!!!

Scalaのマクロのバグ見つけた(AbstractMethodErrorやNoSuchMethodException発生する)

https://issues.scala-lang.org/browse/SI-8949 https://gist.github.com/xuwei-k/0348d85d3b80fcce1094

2014年10月現在のHaskell環境構築方法

とりあえずチャットで教えてもらったのを全部貼り付け

函数型なんたらという勉強会でshapelessの発表してきた

http://xuwei-k.github.io/slides/functional-something-shapeless/#0 https://github.com/xuwei-k/slides/blob/4dd0dfa/functional-something-shapeless/functional-something-shapeless/functional-something-shapeless.md

typesafe configとScala標準ライブラリのDurationの互換性

以下のテスト実行すると通ったので、大体あるっぽい。https://gist.github.com/xuwei-k/16d2ae62e9e04e9fda94大きすぎたりすると、ずれるけど・・・。あと、無限とかUndefindedは対応してないみたい?

Scalaのmacroを使ってstructural subtypingにおいてリフレクションを回避する方法

https://github.com/xuwei-k/scalikejdbc/commit/93a327b649

specs2のテストクラス内のさらに特定のテストだけ実行する際にtab補完するやつ作った

「テストクラス内のさらに特定のテスト名」については、まず以下の記事参照

sbt-appengineで2段階認証

https://github.com/sbt/sbt-appengine1. sbtのコンソールで以下のように入力

Scala2.11.3がでたけど絶対使っちゃダメです

一言でいうとバイナリ互換崩れてるから。AbstractMethodError発生の可能性があります。2.11.2を使い続けるか、新しくでるはずのやつ待ちましょう。 公式にアナウンスあって、気が向けば詳細な経緯とか理由書くかもしれませんし、書かないかもしれません。ひ…

日本語でScalazとかShapelessなどの、Scalaの関数型なものについて話すgitterのチャット作った

https://gitter.im/scalajp/functionalわりと好評?なscalajpのgitterですが

ekmett/trifecta内部のItというデータ構造について

作者からreplyきたぞい。けどイマイチ納得できてないので、もうちょっと考えてみている tgtr.ExtendWidget({id:'728945',url:'http://togetter.com/'});

typelevelのCode of Conduct問題

え、問題発生してるの?という感じですが、事実炎上気味なので、自分の知ってる限りの経緯や個人的意見まとめ

Scalaにおいて一番関数型というかHaskellっぽいコマンドラインオプション解析のライブラリ

それほど色々試したわけではないけど、数日前に良さそうなやつが登場したので貼っておく