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

scalazのTraverseとStateモナドを使ってTreeの重複を削除(もしくはdirected acyclic graphをtreeに変換)する話(scalapropsの内部実装)

タイトルを無闇に長くしていくスタイル

play2.4でも相変わらずJsObjectがMonoid則を満たさない件

https://gist.github.com/xuwei-k/9a306226b04f9214f742

sbtで、privateリポジトリやgithub enterpriseでも、project referenceを使ってsshプロトコルで直接参照する方法

sbt

タイトル長ぇよ!

sbtで重複を許可しないparserを作る

"重複を許可しない" という言葉だけだと、何言ってるかわからないと思いますが、少しタイトル長くした程度ではいずれにせよ理解してもらえなそうだったので、こういうタイトルになりました。

scalazとcatsの型クラスやデータ構造の対応表

名前が違ってるのだけ書きだした。 猫はまだ1度もリリースされてないし、これ書いてる時点(2015-05-22)の情報なので、今後変わる可能性は大いにあり? 必要以上に(?)名前変えるのは、当て付けなのか何なのか・・・。混乱を招くデメリットのほうが大きい気が…

typesafe社が社名変更大喜利を始めたようです

http://www.typesafe.com/blog/whats-in-a-name For opinions about the @typesafe renaming process, use #typesafename hashtag. Thanks to @trapo1975 for the idea!2015-05-20 11:46:50 via Tweetbot for iΟS参加しましょう(?)

json4sの3.3系とsbt0.13.7やsbt0.13.8は一緒に使えません

https://github.com/json4s/json4s/issues/236#issuecomment-103363789

Scalaのオンライン実行環境 scastie

http://scastie.org/ https://github.com/OlegYch/scastie

sbtのtest-interfaceについて

sbt

これ https://github.com/sbt/test-interface

scalaz.concurrentのActorとFutureとTaskあたりの説明

https://www.dropbox.com/s/567s5mxlcyzzh8h/PurelyFunctionalConcurrency.pdf

sbtのCommandとTaskの違い

sbt

Scala祭での、eed3si9nさんによる「sbt被害者の会」をまとめたgoogle documentより抜粋をしたtweetURL"commandは世に出すべきものではないというスタンス、ドキュメントにもそう書いている""stateにアクセスしないといけない場合のみ(sbtそのものの挙動を変…

scalapropsというproperty based testingのライブラリをリリースしました

https://github.com/scalaprops/scalaprops *1 *1:最初organization作ってませんでしたが、途中から専用organization作りました

nscala-timeのScalaのversion毎の使用状況

使用というか、ダウンロード数ですが。 なんとなくsonatypeのグラフを見ていて少し面白そうだったので、あれリリース権限持っていないと見れないので、blogに公開しておく

scalaz 7.2.0-M1をリリースしました

リリースノートをgithubのwikiにまとめてるのでそれを読もうhttps://github.com/scalaz/scalaz/wiki/7.2.0-M1

scalaz-streamの基本的なクラスや概念まとめ

なぜかgistに書いた

"Theorems for free!"とParametricityとJVMとCLRのジェネリクスの実装の違いの関係

という題だけ思いついて、中身を書ける気がしないので、誰か書いて欲しい(他力本願)

sbtで "-Ywarn-unused" や "-Ywarn-unused-import" を設定する際のベストプラクティス

前提や問題点 "-Ywarn-unused" と "-Ywarn-unused-import" は、Scala2.11以降の機能 REPLでこれが有効になるとうざいだけなので、REPLのときのみ無効にしたい

scalikejdbcのstar数がsquerylを超えたようです

めでたい? 2015-04-12時点でsquerylが422でscalikejdbcが423あとそういえば、この日(2015-04-12)時点で、自分のscalikejdbcへのコミットがちょうど100だったhttps://github.com/scalikejdbc/scalikejdbc/graphs/contributors?to=2015-04-12&type=c

remotelyが最初はakkaを使っていた話

Scaladays2015サンフランシスコの動画が公開され初めていたので、個人的に興味がある者から見始めていますhttps://www.parleys.com/channel/scala-days-san-francisco-2015

akkaのActorのコンパニオンオブジェクトの定型パターンをほんの少しだけ共通化するなにか

https://gist.github.com/xuwei-k/20f6b813aa0d5452198e

playframeworkがScala2.10のサポートをやめるのはいつ?

https://github.com/playframework/playframework/issues/3174#issuecomment-91063294今のところ I guess we'll drop 2.10 support when we adopt 2.12 support, that will likely be Play 3. という予定らしい

モナドの本当の力を引き出す・・・モナドによる同期/非同期プログラミングの抽象化

以下の2つの続き ScalaでFutureとEitherを組み合わせたときに綺麗に書く方法 FutureとEitherの話の続き(ApplicativeとMonadの違い)

scalaz.ListTはモナドではないのでscalaz.StreamTを使おう?

http://togetter.com/li/800229togetterのまとめ内でも言ってますが、直そうとしてもスタック溢れる残念なものにしかならなそうなので、このままかなぁ・・・。 かといって、StreamTも場合によってはスタック溢れるっぽいですが。 スタック溢れる残念なもの…

Scalaでテストライブラリを作ってる話

http://xuwei-k.github.io/slides/scalazcheck/#0 https://github.com/xuwei-k/slides/blob/gh-pages/scalazcheck/scalazcheck/scalazcheck.md

Scala標準ライブラリのscala.xml.XML.loadStringなどを直接使うとXXE(XML External Entity)という脆弱性になるので気をつけましょう

liftというweb frameworkのメーリングリストで「ちょっとセキュリティの問題見つかってリリースしたから、アップデートしてくれ」というのが2015/3/16 (月曜)頃に流れてくる https://groups.google.com/d/topic/liftweb/NSXpg778Oos/discussion ↓

shapless2.2によるScalaにおけるFoldableのderivingとstack overflowとその回避策

shapeless2.2.0-RC1がリリースされる http://notes.implicit.ly/post/113543562389/shapeless-2-2-0-rc1↓

Scalazのstar数がSwiftzに抜かれた!?

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわあああああああ

「Functional Programming in Scala」を訳した「Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド」という本が出ます

わざと両方のタイトルをblogのタイトルに入れてみました(ながい・・・) レビューに少しだけ関わりました。自分が翻訳したわけではありません。あくまでもレビューです

scalikejdbcのcode generatorとflywayのsbt pluginを組み合わせて頑張ろうとしてる話

「頑張ろうとしてる」とは、どういうことかというと 「とりあえず方法思いついたけど、これで本当にうまくやっていけるかなぁ?と半信半疑なので、意見を伺いたい状態」 ということ。

Scalaのprivateメソッドと内部的クラスとバイナリ互換

またバイナリ互換・・・ Scalaのversionは2.10.4です