クラウド温泉4.0@小樽 - The Return of F#

今更シリーズその1。 7月の25から28日に、 クラウド温泉4.0@小樽 - The Return of F#に参加するために北海道に行ってきました。

発表資料はこちら。

内容はコンピュテーション式のyieldとreturnについての話で、

あたりの流れの一つのまとめになっています。 上であげた、「コンピュテーション式におけるreturnとyield」では状態引数による実装のみを紹介していましたが、 今回の発表資料の中では、

  • 例外による実装
  • 状態変数による実装
  • 状態引数による実装
  • 継続による実装

と、多数の実装方法を紹介しています。

また、FSharpxやExtCoreといったF#の有名ライブラリが、コンピュテーション式を正しく実装できていない点(yieldやreturn以前の問題)も明らかにしました。 詳しくは追っていませんが、実は標準のAsyncコンピュテーション式がそもそもダメという話も・・・ そもそも、コンピュテーション式を展開して考えている実装者はおそらく皆無であり、 ネット上にある間違った情報をもとにコンピュテーション式を実装している場合が多いように思います。 モナドモナドプラス以上の表現力のものを実装する場合は、せめてコンピュテーション式の展開規則を理解したうえで実装しましょう。

F# Meetup in Tokyo

今更シリーズその2。8月3日に、F# Meetup in Tokyoに参加してきました。

発表資料はこちら。

内容は、業務でF#を使った事例の紹介です。

F#オンリーのイベントにたくさんの人が参加してくれて、またいろいろな話が聞けてよかったです。 名前出していいかわからないから伏せますけど、LangExtを使っているという声も聞けました。 あんな変態ライブラリ、自分ら以外使わんやろー、と思っていたけど、実際に使われているとわかるとうれしいものですね。

またああいうイベント、やりたい!

函数型なんたらの集い 2014 in Tokyo

函数型なんたらの集い 2014 in Tokyoに参加してきました。

発表資料はこちら。

内容は、Excel方眼紙を倒すためにDSLで頑張ったというものです。 この中で紹介しているTableDslは、いろいろと発展を考えているので「アレ使えばいいじゃない」は通じないのです。 あとそのアレ、Excel方眼紙吐けないじゃないですかー。

コメントで「いじられたくないならPDFにしてしまえばいいじゃない」というのがありましたが、Excelで提出することが決まっているのにそういうことできないですからね・・・

12月6日のNGK2014B 昼の部で、DSLとは違ったExcelの話をするので興味のある人はどうぞ。