2008-02-01から1ヶ月間の記事一覧

泡だて器

ティーバック入りのチャイを買った。 で、牛乳で煮出してみようと思った。 鍋に牛乳を入れて火にかけて、ティーバックをちゃぽんと2つ投下した。 普通、牛乳で煮出すというと、茶葉を直接入れるイメージだ。 ティーバックだとなんかしっくりこないというか…

"Write Yourself a Scheme in 48 Hours/Parsing" http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours/Parsing を読む

Parsingの後半の練習問題を解く。 Excercise 3 Instead of using the try combinator, left-factor the grammar so that the common subsequence is its own parser. リストもしくはドットリストをパースするところは、tryコンビネータを使って do char '(' …

"Write Yourself a Scheme in 48 Hours/Parsing" の後半を読む

Recursive Parsers: Adding lists, dotted lists, and quoted datums ということで、"Parsing"の章の前半では、AtomやStringなどのパースをやったが、 後半ではリストなど繰り返しのある構文のパースをする。ここではsepByという関数がでてくる。 http://leg…

"Write Yourself a Scheme in 48 Hours/Parsing" http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours/Parsing を読む

Parsingの練習問題の続き。 Excercise 2 support escaping of internal quotes (続き) many (noneOf "\"") の部分は、このままだと、「"」が来たら止まって、それまで読んだところを文字列で返すような感じになっている。 で、「abc"def"g」 だったら、(「ab…

3.2 Spot a category in Haskell をもう一度

この3.2のところで、この論文でどんな圏を扱うことにするか書いてあるわけだが、 いくつか勘違いしていたようで、つっこみを頂きました。(ありがとうございます。) ということでもう一度整理したいと思います。 Haskell には型と値がある。(参照: http://…

"Write Yourself a Scheme in 48 Hours/Parsing" http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours/Parsing を読む

これは面白い。 Excercise 2 support escaping of internal quotes ということで、Stringのパースのとこで "ab\"c" -> ['a','b','"','c']のようなエスケープをサポートしろという問題。 最初は以下のようになっている。 parseString :: Parser LispVal parse…

The Haskell Programmer’s Guide to the IO Monad ― Don’t Panic ― http://stefan-klinger.de/pub.xhtml

4.3 Functors in Haskell List やMaybeがFunctorになるという話。Fがfunctorのとき、objectsからobjectsへのmapをFo、 morphismsからmorphismsへのmapをFmとする。 unaryであるType Constructor Ft、つまり(List a)とか(Maybe a)のように (* -> *)になってる…

The Haskell Programmer’s Guide to the IO Monad ― Don’t Panic ― http://stefan-klinger.de/pub.xhtml

3.2 Spot a category in Haskell Haskell全体を扱うのではなく、objectsとmorphismsのように振舞う箇所だけを扱う。 カリー化とかexponentialの話もここではしない。ということで、objectは型の一部。kindが(* -> *)とかでなく(*)な型だけをobjectとする。だ…

Communicating and Mobile Systems: The Pi-Calculus

3.1 Labelled transition systems ラベル付遷移システム。 LTS over Act は、次のような(Q, T)である。 Q は states の set T は transition relationのset。T⊆(Q × Act × Q) 3.2 Strong simulation 読み中。 日本語の上記本の解説を発見。 http://kaiya.cs.…

トランザクションとか

スターバックスは2フェーズコミットを使わない http://ameblo.jp/ouobpo/entry-10070039150.html 訳: http://code.google.com/p/gregors-ramblings-ja/wiki/18_starbucks 原文: http://www.eaipatterns.com/ramblings/18_starbucks.htmlComposable memory …

Robin Milner, "The Polyadic pi-Calculus: A Tutorial" を引き続き読む。 3.1 Some derived forms パイ計算で、ラムダ計算のカリー化のようなことをどうするか、という話。 これで便宜的に複数の引数をやりとりするチャンネルが導入される。 あと、パラメー…

式の書き方

ためしにHTMLで書いてみたけど結構面倒だ。でもmimtexも面倒だしな。普通のアスキーだけで書ける表記法を決めた方が早いかな。 でも読んでる論文と違う表記法使うのも翻訳が面倒かな。http://reperiendi.wordpress.com/2008/01/02/polyadic-asynchronous-asy…

Robin Milner, "The Polyadic pi-Calculus: A Tutorial" http://citeseer.ist.psu.edu/19489.html

2.2 Some simple examples 例から。以下、プロセスの例。プロセス≒式のようなかんじ。式を合成できるように、プロセスとプロセスを合成してプロセスができる。 プロセスPとプロセスQを縦棒|で区切って合成すると、PとQを並列に実行するという意味になる。…

メモ

"Calculi for Interaction" Robin Milner , April 1995 http://citeseer.ist.psu.edu/milner96calculi.html今日寒すぎ。 家に着いたとき、鼻が赤くなってた。

上記の続き

10ページほど読んだので、メモ。 束縛変数、自由変数などはラムダ計算とほぼおなじようだ。 リダクションもほぼおなじだが、チャンネルが絡んでくるのでちょっとちがってくる。 (lambda x:x * 2)3 -> 3 * 2 ラムダ計算だと、関数の右にくる値でリダクショ…

Pi-Calculus

おもろげ。 業務アプリでどんなワークフローというか状態遷移のような処理が必要とされているかに興味があって詳説 ビジネスプロセスモデリング ―SOAベストプラクティス (THEORY/IN/PRACTICE)作者: Michael Havey,長瀬嘉秀(監訳),永田渉(監訳),株式会社テク…

The Haskell Programmer’s Guide to the IO Monad ― Don’t Panic ― http://stefan-klinger.de/pub.xhtml

ErlangでなくHaskellで書こうという雰囲気が強まってきた。でHaskellで書くにはいくつか壁を突破しなくてはならない。 ということでまずはモナド。 Haskellのモナドの解説には、カテゴリ理論よりのものと、プログラミング手法としてのみ扱ってカテゴリ理論に…

行って来ました。

とてもたのしかったです。みなさんありがとうございました。

Haskell

やっぱHaskellもいいかも。 Haskellだと茨の道が待っている気がしてちょっとびびる。 大体STMってなんだ?そんなにいいものなのか? Erlangなら動的型だしメッセージパッシングわかりやすいし、その上に乗っかっていれば悩むことはなさそうなんだが。 やって…

HAppS

ということで、HAppSが動くまで頑張ろう。 まずはUbuntu server 7.10 + vmweare player でHAppSが動くところを目指す。 中略 いろいろいれて、 1. darcs get http://happs.org/repos/happs.org MyProject 2. cd MyProject 3. sp ghc -isrc src/Main.hs --mak…

Erlang

DBというかWebアプリをつくろうと思うわけだが、Erlangを使ってみようと思う。 トランザクションやレプリケーション、バックグラウンドジョブの制御などを自分でやろうと思ったら、 Erlangの強みが生きてくるのではないか、というのがその理由。他の候補とし…