2006-08-01から1ヶ月間の記事一覧
って、何だっけ? ::A t = {a :: t ,b :: t -> t}みたいなparametric polymorphismのことではないよね。 上のサブタイピングの話に近い? - [id:mmatsuoka:20060831] [id:soutaro:20060831] いろいろ教えていただきまして、ありがとうございます。 ことの発…
Cleanには、レコード型のサブタイピングがない。というか、サブタイピングそのものがないんだっけ?型クラスのサブタイピングはある。 下のような、直感的には書けて欲しいプログラムがコンパイルエラーになる。 ::A = {a :: Int ,b :: String} ::B = {a :: …
旧聞になりますけど、冥王星の件は、ここの話が面白いと思っていました。 http://www.lizard-tail.com/isana/diary/
ファイル操作やDB操作などで、エラーが発生したときにいちいちログ出力するコードを記述するのではなく、エラー処理イベントを発生させて登録してあるイベント関数をコールバックしてもらうという構造にする方が嬉しい。せっかく関数がファーストクラスなの…
DBアクセスをサポートする現代的なプログラミング言語には、O/R mapperが欠かせないような気がするのだけれど、本当にそうでしょうか? なんて書く以上は、そうではないことを考えているのですけれど。 そもそも、何故O/R mapperというものが存在するかとい…
http://www-128.ibm.com/developerworks/java/library/j-cb04186.html Erlangの記事を発見。後で読む。
ブクマでコメントがついていたので追記しておきます。 私のPCはなぜかClean八分にあっていて、公式サイトにつながらないので、記憶を頼りに書いていますが、Functional Programming and Parallel Graph Rewriting (International Computer Science Series)…
ちょっと目から鱗な気分。 http://yarivsblog.com/articles/2006/08/27/to-web-developers-think-outside-the-thread you can certainly build a webapp without using concurrency features directly. Most web developers don't. Just keep in mind that m…
ということで、来年のL.L.Ringには、ぜひErlangが出場してください。
Erlangがキーワード化されていなかったので、キーワード化してみました。 k.inabaさんのサイトを勝手に登録してしまいましたけど、大丈夫でしょうか?
CleanをJavaVMに移植して嬉しいことの1つは、JavaVMが提供しているスレッド機構をそのまま利用して、スレッドで遊べるようになること。 CleanがJavaVMに移植されれば、素人目には嬉しいことがいっぱいなのだけれど、最大の欠点は、どこまで行ってもJavaVMの…
スレッドの話ではない。関数プログラミングなどで、状態を次々と受け渡して行くような書き方を指していう言葉だ。 Haskellがモナドを使ってThreadingを隠蔽してしまったのに対して、Cleanでは一意性型属性を使ってThreadingを陽に表現する。 ところで、Clean…
昨日の書き忘れ - Pythonのone linerはいかれててうけた。それにしても、Pythonでone linerと言った瞬間にその面白さに気づけなかったところに、己の未熟さを感じる。ところで、HaskellやConcurrent Cleanもインデント主義だけど、Pythonほどインデント至上…
モナドって、合成とかリフトとか出てくると、簡単に死ねるのだろうか? - でも、逆に、IOの閉じ忘れは起こらなさそうだとか思ったりもして、たとえば Start w # (ok,f,w) = fopen "foo.txt" FWriteText w f = f --> fwrites "hogehoge" = okみたいなアレレな…
に行きました。 さかいさんとid:soutaroさんに突撃で声をかけてみました。 あと、くさかべさん(id:kusakabeyouji?)とid:hyoshiokさんにも遭遇。 id:sumiiさんは、見かけたので突撃しようかと思ったのですが、他の方と話をしていたので、ひるんでいるうち…
遅延評価が思考を減らすことができるのって、次のようなプログラムなんかを見るとよく分かるのではないかと思います。 f s = let len = size s c0 = s.[0] c1 = s.[1] c2 = s.[2] in case len of 0 = '\0' 1 = c0 2 = c1 _ = c2こんなプログラムを、普通のプ…
というユーティリティ関数を思いついたので、作ってみた。 //quote quote_char escape_char bare_string -> quoted_string quote :: !Char !Char !String -> String quote q e s0 # s1 = createArray (2 + newSize 0 0) '\0' = copyQuote s1 where l0 = size…
前のエントリーでは、元ネタを確認してなかったので、チェックしてみました。といっても、原文ではなくって、co-authorによるサマリですが。 http://gafter.blogspot.com/2006/08/closures-for-java.html クロージャの定義 ここで議論されているのは "functi…
CleanでAscriptionを記述する方法がよく分からない。というか、ないのではないか? Cleanのリテラルには、同じ記法で複数の型に属する(オーバーロードされている)ものがいくつかあり、それらを使うときにoverloading errorが起こることがあって、Ascriptio…
http://tabesugi.net/memo/cur/cur.html#221300で、オレンジの語源について、a norange -> an orangeに変化したという話を読んで、イタリアで赤いオレンジジュースが欲しいときに「あらんしあ・ろっそ」をくれと言った記憶があったので、話が違うような気が…
21章を読み始めた。'Metatheory of Recursive Types'というタイトルで、induction, coinduction, F-closed, F-consistent, fixed pointというキーワードで特徴付けられるような話が展開されている。なかなか目が慣れなくて現状青息吐息。1ページ理解する…
あちこちで噂になっているようですが http://journal.mycom.co.jp/articles/2006/08/23/java7closuer/ 提案はこれまでにもされて却下されてきた経緯があるような気がするので、提案されただけどうということはないような気がするのですが、今回のには何かこ…
増えるかと思ったら減るみたい。って、まだ結論は出ていないみたいですけど。
Erlangの使い手のBlogってないですかね。
昨日、20章「Recursive Types」を読みました。ページ数は、およそ14ページ。 面白かったのは、'equi-recursive'と'iso-recursive'という2つのアプローチがあるという話。 - 話は戻るが、13章「References」、14章「Exceptions」のあたりで説明され…
昨日、19章読了。 16章読了が15日だった([id:lethevert:20060815:p3])ので、 4日間で48ページなので、1日あたり12ページ。 19章は、Featherweight Javaの説明だったのですが、最後の方は、読むほうがぐだぐだでした。どうにかこうにか読了で…
昨日、あれほど爽快にプログラミングに集中できた曲が、今日聞いたらその効果を全く失ってしまっていた。 全く、それは2匹目のどぜうのようだ。 だから、1匹目を見つけたら、常にそれに全力で取り組むように心がける。
いろいろ見て回って、次の2冊のどちらかがよさそう。Modern Information Retrieval (Acm Press Series)作者: Ricardo Baeza-Yates,Berthier Ribeiro-Neto出版社/メーカー: Addison Wesley発売日: 1999/05/15メディア: ペーパーバック購入: 2人 クリック: 11…
弾けないけど。ていうか、なんでこんな記法が?
普段、あまり音楽を聞きたいと思わないのですが、たまにストレスがたまっているときは、無性に音楽が必要になることがあります。 今日はそんな日。そういう時は、特にスピッツをかけながらプログラミングをすると、妙にはかどる気がします。 仕事では、音楽…