2006-08-01から1ヶ月間の記事一覧

OCaml : 多相レコード

って、何だっけ? ::A t = {a :: t ,b :: t -> t}みたいなparametric polymorphismのことではないよね。 上のサブタイピングの話に近い? - [id:mmatsuoka:20060831] [id:soutaro:20060831] いろいろ教えていただきまして、ありがとうございます。 ことの発…

Concurrent Clean : サブタイピング

Cleanには、レコード型のサブタイピングがない。というか、サブタイピングそのものがないんだっけ?型クラスのサブタイピングはある。 下のような、直感的には書けて欲しいプログラムがコンパイルエラーになる。 ::A = {a :: Int ,b :: String} ::B = {a :: …

冥王星

旧聞になりますけど、冥王星の件は、ここの話が面白いと思っていました。 http://www.lizard-tail.com/isana/diary/

Concurrent Clean : エラー処理イベントの登録 -> Erlang風のマルチプロセスプログラミング

ファイル操作やDB操作などで、エラーが発生したときにいちいちログ出力するコードを記述するのではなく、エラー処理イベントを発生させて登録してあるイベント関数をコールバックしてもらうという構造にする方が嬉しい。せっかく関数がファーストクラスなの…

純粋関数型言語とO/R mapper

DBアクセスをサポートする現代的なプログラミング言語には、O/R mapperが欠かせないような気がするのだけれど、本当にそうでしょうか? なんて書く以上は、そうではないことを考えているのですけれど。 そもそも、何故O/R mapperというものが存在するかとい…

Erlang : IBM developperWorks

http://www-128.ibm.com/developerworks/java/library/j-cb04186.html Erlangの記事を発見。後で読む。

Concurrent Clean : Concurrent?

ブクマでコメントがついていたので追記しておきます。 私のPCはなぜかClean八分にあっていて、公式サイトにつながらないので、記憶を頼りに書いていますが、Functional Programming and Parallel Graph Rewriting (International Computer Science Series)…

webapp & concurrency

ちょっと目から鱗な気分。 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

ということで、来年のL.L.Ringには、ぜひErlangが出場してください。

はてなキーワード化 : Erlang

Erlangがキーワード化されていなかったので、キーワード化してみました。 k.inabaさんのサイトを勝手に登録してしまいましたけど、大丈夫でしょうか?

Concurrent Clean : スレッド

CleanをJavaVMに移植して嬉しいことの1つは、JavaVMが提供しているスレッド機構をそのまま利用して、スレッドで遊べるようになること。 CleanがJavaVMに移植されれば、素人目には嬉しいことがいっぱいなのだけれど、最大の欠点は、どこまで行ってもJavaVMの…

Concurrent Clean : Threading

スレッドの話ではない。関数プログラミングなどで、状態を次々と受け渡して行くような書き方を指していう言葉だ。 Haskellがモナドを使ってThreadingを隠蔽してしまったのに対して、Cleanでは一意性型属性を使ってThreadingを陽に表現する。 ところで、Clean…

L.L.Ring

昨日の書き忘れ - Pythonのone linerはいかれててうけた。それにしても、Pythonでone linerと言った瞬間にその面白さに気づけなかったところに、己の未熟さを感じる。ところで、HaskellやConcurrent Cleanもインデント主義だけど、Pythonほどインデント至上…

Haskell初心者

モナドって、合成とかリフトとか出てくると、簡単に死ねるのだろうか? - でも、逆に、IOの閉じ忘れは起こらなさそうだとか思ったりもして、たとえば Start w # (ok,f,w) = fopen "foo.txt" FWriteText w f = f --> fwrites "hogehoge" = okみたいなアレレな…

L.L.Ring

に行きました。 さかいさんとid:soutaroさんに突撃で声をかけてみました。 あと、くさかべさん(id:kusakabeyouji?)とid:hyoshiokさんにも遭遇。 id:sumiiさんは、見かけたので突撃しようかと思ったのですが、他の方と話をしていたので、ひるんでいるうち…

Concurrent Clean : 遅延評価

遅延評価が思考を減らすことができるのって、次のようなプログラムなんかを見るとよく分かるのではないかと思います。 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こんなプログラムを、普通のプ…

Concurrent Clean : 汎用クォート関数

というユーティリティ関数を思いついたので、作ってみた。 //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…

Java : Closures for Java

前のエントリーでは、元ネタを確認してなかったので、チェックしてみました。といっても、原文ではなくって、co-authorによるサマリですが。 http://gafter.blogspot.com/2006/08/closures-for-java.html クロージャの定義 ここで議論されているのは "functi…

Concurrent Clean : Ascription

CleanでAscriptionを記述する方法がよく分からない。というか、ないのではないか? Cleanのリテラルには、同じ記法で複数の型に属する(オーバーロードされている)ものがいくつかあり、それらを使うときにoverloading errorが起こることがあって、Ascriptio…

オレンジ

http://tabesugi.net/memo/cur/cur.html#221300で、オレンジの語源について、a norange -> an orangeに変化したという話を読んで、イタリアで赤いオレンジジュースが欲しいときに「あらんしあ・ろっそ」をくれと言った記憶があったので、話が違うような気が…

Types and Programming Languages (The MIT Press)

21章を読み始めた。'Metatheory of Recursive Types'というタイトルで、induction, coinduction, F-closed, F-consistent, fixed pointというキーワードで特徴付けられるような話が展開されている。なかなか目が慣れなくて現状青息吐息。1ページ理解する…

Java : クロージャ

あちこちで噂になっているようですが http://journal.mycom.co.jp/articles/2006/08/23/java7closuer/ 提案はこれまでにもされて却下されてきた経緯があるような気がするので、提案されただけどうということはないような気がするのですが、今回のには何かこ…

惑星の数が

増えるかと思ったら減るみたい。って、まだ結論は出ていないみたいですけど。

Erlang

Erlangの使い手のBlogってないですかね。

Types and Programming Languages (The MIT Press)

昨日、20章「Recursive Types」を読みました。ページ数は、およそ14ページ。 面白かったのは、'equi-recursive'と'iso-recursive'という2つのアプローチがあるという話。 - 話は戻るが、13章「References」、14章「Exceptions」のあたりで説明され…

Types and Programming Languages (The MIT Press)

昨日、19章読了。 16章読了が15日だった([id:lethevert:20060815:p3])ので、 4日間で48ページなので、1日あたり12ページ。 19章は、Featherweight Javaの説明だったのですが、最後の方は、読むほうがぐだぐだでした。どうにかこうにか読了で…

2匹目のどぜうはいない

昨日、あれほど爽快にプログラミングに集中できた曲が、今日聞いたらその効果を全く失ってしまっていた。 全く、それは2匹目のどぜうのようだ。 だから、1匹目を見つけたら、常にそれに全力で取り組むように心がける。

Information Retrieval

いろいろ見て回って、次の2冊のどちらかがよさそう。Modern Information Retrieval (Acm Press Series)作者: Ricardo Baeza-Yates,Berthier Ribeiro-Neto出版社/メーカー: Addison Wesley発売日: 1999/05/15メディア: ペーパーバック購入: 2人 クリック: 11…

ウクレレ

弾けないけど。ていうか、なんでこんな記法が?

音楽とプログラミング

普段、あまり音楽を聞きたいと思わないのですが、たまにストレスがたまっているときは、無性に音楽が必要になることがあります。 今日はそんな日。そういう時は、特にスピッツをかけながらプログラミングをすると、妙にはかどる気がします。 仕事では、音楽…