2013-01-01から1年間の記事一覧
圏論勉強会 第3回の自由対象で悲鳴が上がってたようなので、参考までに図に書いて説明しておく。まず、マグマと自由マグマを以下のように定義する(というか、勉強会においてこう定義していた)。 class Magma a where magappend :: a -> a -> a data FreeMagm…
以前、モナドは自己関手圏におけるモノイドであるという話をしたことがあるのだけど、この時は理解が足りなくてFreeモナドにまで踏み込めなかった。今日調べていたら、Free Monoid Objectsというわかりやすいエントリを見つけたので簡単に紹介。まず、以前の…
圏論勉強会ではないモノイド勉・・・いや、圏論勉強会 第2回に来ました。資料とustreamは公開されています。 第2回: モノイド・群 / 講師 @9_ties さん モノイド、圏は計算機に必要な概念 対象が1つの圏。シンプルだけどシンプル過ぎない圏 約束: 自然数は0…
sequenceを使えば、複数個あるモナド値を1つのモナド値に集められる。 xs :: (Functor m, Monad m) => m [()] xs = sequence [return x' | x' <- [(),()..]] xsはモナドに包まったリストなので、fmapを使ってheadを持ち上げれば先頭要素がとれる。 x :: (Fun…
圏論勉強会ではない圏論勉強会 第1回に来ました。資料とustreamは公開されています。 @seizans さんより ekmett勉強会でekmettさんが圏論勉強するといいよというから開催 日本始まったな 講師 @9_ties さん 圏論だけではなく、圏論を題材に色んなことを学ぶ…
昨日の計算機代数勉強会で代数的実数の実装のために出てきたスツルムの定理、共立出版の数値解析でも近似値の算出に使っており、証明も詳しく載っている。互除法だけではなく3重対角行列の主小行列式がスツルム列をなすことを使って固有値の算出をしたりもし…
せっかくのGWなので、朝からHaskellで計算機代数勉強会に来ています。内容が内容なので正確性は保証できませんが、自分用のメモということで。 HALでもわかるGröbner基底 / @mr_konn さん グレブナー基底 高次連立方程式、初等幾何、統計ロボティクス、計算…
マイナビさん主催の勉強会に参加してレポートを書いてきました。イベントの詳細は以下からどうぞ。 閑歳孝子(@kansai_takako)氏と和田裕介(@yusukebe)氏をプレゼンターとして招き、人気のあるWebサービスはどのように作られるのかというテーマでディスカッシ…
中原市民館に来ております。データベースは圏なんだそうです。SGL読書会の姉妹イベントです。 Databases are categories by Spivakさん / @bonotakeさん Spivakさんのスライドの解説です。 情報の世界の coherence の欠如を解決するためにフレームワークが必…
Perl QA Hackathon 2013 Satellite at Tokyo なるものに参加してきた。こういうイベントで貢献できるガラではないのだけど、開催場所が自分の職場だったのでお邪魔させてもらった。MillaとMinilla周りの話題が熱い中、前々から作ってみたかったQuickCheckも…
射っていうのはscalaだと単なる関数だし、関手はmap、モナドはflatMapなだけです。これのどこが難しいというのでしょう。圏論とかモナドなんて簡単だからscalaを使って説明してみた 内容について考えてみよう。 圏の定義? trait Cat { type A type B def f:…
ekmett勉強会に来ています。ekmettさんがオンライン参加されています。 I love profunctors. They're so easy / liyanghuさん 傘を指し棒に使うと言う斬新なプレゼン。詳細はこちら。 HaskellのFunctorは共変 Predicate (a -> Bool) は Functor ではない (半…
マイナビさん主催の勉強会に参加してレポートを書いてきました。イベントの詳細は以下からどうぞ。 3月19日に竹橋で開催された第1回Tech Compassでは、伊藤直也(@naoya_ito)氏と山本裕介(@yusuke)氏をプレゼンターとして招き、このテーマで議論がなされた。…
実家に帰るついでに、久々にHokkaido.pmへふらっと立ち寄ります。マイクスタンドを借りたのでライブコーディングでも安心です。 cpanfile / @aloelight さん cpanファイルとは? Ruby Gemfileの移植 依存モジュールのバージョン cpanmとcartonで利用可能 ア…
KVMにハッシュ的なデータ構造出し入れするのに、O/Rマッパーのエンティティみたいにプロパティが変わったかを追っかけて必要なときだけ保存したかったんだけど、良さげなのを見つけられなかったので自分で Class::Accessor::TrackDirty て名前のClass::Acces…
Parsecのソース読んでQiitaにメモった。 Parsecのソースちら見 Parsecのソースちら見(2) Parsecのソースちら見(3) 最初に全体構造さえ掴めれば比較的読みやすい内容。 let ... in がhaskellにしては多いのかなと思ったのだけど*1、もしかすると作ってるのOCa…
以下、拾い読みした感じこうなのかなあってのを書いただけだからあってるのかよく知らない。例えば簡約前がこうだとすると、 (λxy.(λz.y((λu.u)z))x)vweak head normal form はλ抽象された中身のλ式は簡約しなくてよい。 λy.(λz.y((λu.u)z))vhead normal for…
最近関数プログミラング入門を読んでるのだけど、擬リストって概念が新鮮だったのでメモ。 関数プログラミング入門 ―Haskellで学ぶ原理と技法―Richard Bird 山下伸夫 予備知識 擬リストの話をするのに必要な概念がボトムとか正格性とか。ボトムとは値の1つで…