トップ «前の日記(2006-09-13) 最新 次の日記(2006-09-15)» 月表示 編集

日々の流転


2006-09-14 [長年日記]

λ. CleanとHaskellの宣言スタイルの違い

Concurrent Clean : カリー化と効率 の「Cleanではエクスポートする関数は定義モジュールファイルに関数の型宣言だけを記述するというスタイル」という部分を読んで、HaskellとCleanの宣言のスタイルの違いが少し理解できた気がする。

Clean入門(22):モジュールによれば、Cleanではモジュールを使うのに必要な情報は*.dclファイルとしてユーザによって記述される。そのため、効率的なコンパイルのために、アリティや正格性も宣言の一部として記述することになっているのだろう。 それに対して、Haskellの代表的処理系であるGHCでは、モジュールをコンパイルすると*.hiファイルが生成され、この中にモジュールを使うのに必要な型情報・アリティ・正格性等の情報が格納される*1。そして、そのモジュールを使うコードをコンパイルする際にはそこから情報が参照される。そのため、正格性やアリティをユーザが宣言で明示せずとも、それらを利用した効率的なコード生成が可能になっている。 そのあたりの違いが、HaskellとCleanの宣言のスタイルの違いの一つの理由ではないだろうか。

ところで、どうしてこのような違いが生まれたか考えていて感じたのだけど、Haskellは出来る限り言語や意味論を拡張せず処理系で対処するのに対して、Cleanは言語や意味論を拡張して対処する方にわりと寄っているように思える。モナドvs一意型や、ラムダ計算vsグラフ書き換え系といった対比からもそれはうかがえる。以前はCleanのことを「Haskellに似てるけど何だか奇妙な言語」だと思っていたけど、そう考えるとCleanのデザインディシジョンもなんだか理解できそうだ。

Tags: haskell

*1 インライン化対象のコードについては、コードそれ自体も格納される。

λ. 今日の英語: kind of

If you don't know Arcueid, you're really kind of a failure as an otaku.

「a kind of」と言わなくて良いのだろうか。もし「kind of」を副詞的に使っているのならその後にくるのは形容詞か動詞のような気がするし。

Tags: 英語
本日のツッコミ(全10件) [ツッコミを入れる]
ψ takot (2006-09-18 16:34)

元の文は何に出てきたものなんだろう.<br>最近僕もようやく分かってきましたが,<br>「日本人が考えるほど文法がちゃんと運用されているわけではない」<br>と思います :)

ψ さかい (2006-09-19 15:18)

やっぱり文法についてはそんなものなんですね。<br>ありがとうございます。<br># ちなみに元ネタは海外の掲示板です。

ψ rpf (2006-09-19 20:34)

kind of は口語体で使われる副詞句で「ちょっと」という意味だと思うのですが。Arcueid を知らないなんて、オタクとしてちょっとかなりやばいんじゃないという意味だと思うのですが。

ψ さかい (2006-09-21 23:02)

そういう意味があるのは知っていたのですが、その場合に kind of の後に名詞がくる文を見たことがなかったので、ひっかかっていました。<br>ありがとうございます。

ψ 晩ご (2006-09-22 11:48)

いまさら、蛇足もいいところですが…<br>「a kind of/a sort of」だと「ある種の〜」ですが、「kind of/sort of」は違う意味で、なんというか日本語で話すときの「あーなんというか」というニュアンスなので、話し手が婉曲したいところの表現でいきなり現れます。副詞なのかなあ??be動詞の直前でだけは聞いたことありませんが、「I kind of agree」は典型例で「ぼくは、そのえーと、賛成なんですけど」というニュアンスです。会話でもメールでもしょっちゅう出てきますし、実際たいへん重宝します。

ψ 晩ご (2006-09-22 11:51)

×「ある種の〜」○「その手の〜/一種の〜」すみません。

ψ 晩ご (2006-09-22 12:49)

先のコメントがまとまっていなかったのでもう一度失礼します。文法上、副詞かつ形容詞なんでしょうけど、実際は有意味である限り任意の位置に出現できる挿入句だと思います。<br>>「a kind of」と言わなくて良いのだろうか。<br>両方OKだと思いますが、フォーマルな文ではa kind ofの方になるかと。直訳風ですと、<br>you're kind of a failure as otaku. 「きみはなんというかおたくとしては失敗作だな」<br>you're a kind of failure as otaku. 「きみはおたくとしては失敗作の類だな」<br>ぼくとしては、kind of に反対の意味とも取れる really がかかっている方が驚きなのですが…

ψ さかい (2006-09-23 18:10)

詳しい説明ありがとうございます。<br>「I kind of agree.」とかは確かに便利そうな言い回しですね。今度使ってみます :-)<br><br># しかし、Arcueidに関するツッコミがないところをみると、みんなArcueidについては知ってるのかな……

ψ くるる (2006-09-24 13:45)

えーと、私も"kind of a failure as an Otaku"な口ですが、ウィキ先生に聞いてみたらこれが出ました>Arcueid<br><br>http://en.wikipedia.org/wiki/Tsukihime%2C_Lunar_Legend<br><br>本題に戻って、このkind ofはおそらく「"failure"という表現が適切かどうかわからないけど」という意味で使われているのではないかと。私もよくそんな感じで使います。<br>私の経験上は"I kind of agree"は結構否定的なニュアンスのような。「私は、まあ一応賛成しておきます」くらいで、"What's wrong?"とか聞き返されそうな雰囲気だと思うのですが。

ψ さかい (2006-09-25 15:50)

Wikipedia恐るべしですね (^^;<br>なるほど、「"failure"という表現が適切かどうかわからないけど」という意味ですか。<br>ありがとうございます。