2006-10-01から1ヶ月間の記事一覧
のやつで、 mapE{|∀f::*→*.(Functor f)⇒t|}ρ = mapE{|t|}ρ(f:=liftE)というのがあったけど、Haskellってbounded quantificationって使えるの? - 「やつ」ってこれね。http://lethevert.blogspot.com/2006/10/verious-types.html
[id:lethevert:20061016:p1]では、ちょっと何がいいたいかよく分からなくなっていたのだけれど、 ::Number :== E.(Arith a): Number ((a -> a) -> Number) introNumber :: a -> Number | Arith a introNumber n = app where app f = introNumber (f n) appNu…
ちょっと思うことがあっていろいろ試していたら、http://lethevert.blogspot.com/2006/10/what-does-this-program-means.htmlのようなバグ(?)を見つけたわけですが、 一番やりたいことはこういうことで、 ::Number | Arith a :== aあるいは、 ::Number :=…
Cなんか勉強している暇があったら、C--の勉強をするべきだと思った。 google:C--]は検索性が悪いので、[google:C minusで検索すべし。
[id:lethevert:20051229:p4]で、ランクN多相はまだ使えないよ、ということを書いていたのだけれど、 翻訳された言語報告のバージョンが2.0だったので、古かったらしい。 http://lethevert.blogspot.com/2006/10/re-verious-types.html のサンプルに見られる…
OCamlはtype classがないということは、 [1,2,3] == [1,2,3]のようなリストを比較するような関数を書く場合には、リストの要素の型毎に用意するか、要素の比較用の関数を明示的に渡してやらないといけないのかな?
[id:squeaker:20061013:p2] ちょっと面白いなと思ったので、メモ
Generic Haskellの資料を見ながら、Generic Programmingのお勉強中。 CleanのGenericsはgeneric functionのindexにkindしか取れないようで。実際に適用されるtypeは、type inferenceに任せるしかなさそう。 でもって、CleanにはAscriptionの構文がないので、…
[id:sumii:20061013:1160743984] # controversialなところにわざわざな感はあるのですが・・・ 言語研究としてOOと関数型が対立しないのはわかるのですが、 OOの方面で蓄積されてきた資産を、関数的OOに適用したときに、どの程度の変更が必要になるのかとか…
もう少し見てみた。 どうも、{P}や{I}という注釈で並列性を記述するみたい。 Fib n -> + ({P} Fib (- n 1)) (Fib (- n 2))というふうに書くと、fibを並列で計算するようになるみたいです。 ただし、この記法は、今のClean 2.1.1はもちろん、昔のClean 1.3.2…
ぅ
Addison-Wesley本(Functional Programming and Parallel Graph Rewriting (International Computer Science Series))のまだ見ていなかったConcurrent Programming関連の部分をざっと眺めてみたのですが、ここで使われているABCマシン命令は、今のCode Gene…
そういえば、私はC言語のことは全然わからないんです。全然というのは、SQLiteのClean向けbindingを作るのにGoogleを引き引きしなければいけないというくらいダメです。 当然、アセンブラもよくわかりません。YTさんのサイトの助けがあって、やっとClosure f…
Now the package is available here: http://sourceforge.net/project/showfiles.php?group_id=179225 Suversion repository can be browsed here: http://svn.sourceforge.net/viewvc/cleansqlite/trunk/ It is distributed under the modified BSD license.
ライブラリの中身をもう一度いろいろ見ていたら、Hildeというライブラリを見つけた。いろいろ便利そうなモジュールが詰まっているのだけれど、どういうカテゴリで集まっているのかよく分からない。 あとでじっくり調査するか。
SQLiteのAPIのメモリ管理がどうなっているのか追っていた。 sqlite3_column_textで得られた文字列を使い終わった後に誰が解放するのか不明なため。 とりあえず、利用側で解放しておけばいいのか? - ソースを追いかけるのをやめて、テストプログラムを作って…
大体できてきたのだけれど、最後のところでcycle in spineエラーが起こる。 - どうやら、Cleanの関数呼び出しの規約をよく理解していなかったことが原因だった模様。 返値がタプルでない場合は、最後にthunkを更新するコードを追加しておく必要がある。 たと…
というわけで、完成しました。 いまのところWindows専用だけど、ちょっとコードを修正するだけで他のOSでも動くようになるはず。 Sourceforge.netにプロジェクト申請しておいたので、準備が出来次第、そっちに登録しておきます。 急いで使ってみたいという人…
立て続けに匿名コメントが3件もつくと、Python関連の話を書く気がなくなるなぁ。
とは、Lisであるかを試す述語である。
http://d.hatena.ne.jp/w_o/20061008#p1 私のようなC++初心者がC++のtemplateを学ぶには格好の教材ですね。
のバインディングを作ってみようと考え中 - http://www.sqlite.org/download.htmlより sqlitedll-3_3_7.zip sqlite-source-3_3_7.zip をDL。sqlitedll-3_3_7.zipからはsqlite3.dllを、sqlite-source-3_3_7.zipからはsqlite3.hを入手。 - なんとなく飲み込め…
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdndeepc/htm/deep051099.asp サイドバーの文字化けはどうすればなおるのか。
に実データを入れて、いろいろ調整中。フィールドを増やしてみたり。
obj.methodA(a, b) .methodB(c, d)とやると、Syntax Error。 よく考えれば当然だけどなんだかなー。 obj.methodA( a, b).methodB( c, d)かなぁ? bが長いと分かりにくくなる。 obj.methodA( a, b ).methodB( c, d)こう?
Noneにappend(a)すれば、[a]になれば if key in dic: dic[key].append(val) else dic[key] = [val]とか書かなくても、 dic[key].append(val)だけでよくなるのに。 まあ、このくらいしか使いたいことはないので、 append(dic, key, val): if key in dic: dic[…
って、ambと同じような処理がかけるんだっけ? - do 後で調べる
ambオペレータってScheme処理系に標準でついてくるのかな? 独習Scheme三週間というサイトを見つけたら、ambだけで1章できていたので。 - gaucheに(amb 1 2 3)って打ち込んでも、エラーになるな。標準ではないのかな? - (後で調べる)
[id:mr_konn:20061004:1159969890]より OCamlは1と3.4を足せません。Haskellは足せます。それは型クラスがあるからです。 ってホントかよ Hugs> 1+3.4 4.4 Hugs> let a = 1 in let b = 3.4 in a + b 4.4ホントだ・・・ うーむ。気持ち悪い、と思ってしまうの…
Pythonistaになりました。 例の家計簿アプリを作るのに、Pythonを使ったので。 で、地味に便利だと思ったのが、ローカルなインポート文が書けるところでした。 def nanikakansuu (): import hokanomodule //sono module wo tsukatta codeところで、pythonist…