2006-03-01から1ヶ月間の記事一覧
まだ、University of Nijmegenにつながらない。 どうなってるんだ?
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted13.html 「(13)型推論」を書きました。 初心者のうちに、もっとも混乱させられるものの一つ、型エラーについて、その手がかりになるような説明を書いたつもり。
欲しいです。 http://d.hatena.ne.jp/hyuki/20060316
久しぶりにJavaのネタです。 Javaがガーベジコレクションを持っていることは良く知られていますが、その詳細な動作を理解している人は少ないようです。Javaは世代別GCというコピーGCの発展版を採用している(下記参考)のですが、その辺の詳しい話は置いてお…
欲しいな。あれがあると、任意のリテラルを捏造定義できるのに。
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted12.html 「(12)多相性・型クラス」を書きました。段々ややこしくなってきました。 次は、「(13)型推論」です。 全体の構成を再掲しておきます。 環境構築 プロジェクト 基本データ型 基本…
CleanをJVMで動作するclassファイルにコンパイルするのは、おそらくそれほど難しくないはずなんです。 まず、CleanVMのオブジェクトを作ります。この中に、スタックやグラフ領域を作ります。 Cleanの関数は、「CleanVM -> CleanVM」という型のstatic関数にな…
f [a:as] = ...と書いてきたが f [a:ar] = ...と書くほうがいいかも。 f as=:[a:ar] = ...と書けるから。 rはrestのr。 Clean入門の記述を一括修正する?
http://www.hyuki.com/haskell/20041228215300をみて、型クラスと型構築子クラスの区別に気づく。 Cleanではどうなっているのかと見たところ、 http://sky.zero.ad.jp/~zaa54437/programming/clean/LanguageReport21/Chap6.html#sc4 型構成子クラスという名…
会話 しおり:どんな分野の本をお探しですか? あなた:MITで使われるコンピュータプログラミングの教科書 しおり:一番関係ありそうなのはどれでしょう?私は一番上かなと思うんですけど。(日立製作所/入門/事業) あなた:入門 しおり:イメージがわいて…
A famous problem, first raised by R. Hamming, is to enumerate, in ascending order with no repetitions, all positive integers with no prime factors other than 2, 3 or 5. Start :: [Int] Start = take 20 S where S = [1 : uniqMerge S2 $ uniqMer…
exp_series = [1, 1, 1/2, 1/(3*2), 1/(4*3*2), ...] = [1/n!] cos_series = [1, 0, -1/2, 0 , 1/(4*3*2), ...] sin_series = [0, 1, 0 , -1/(3*2), 0 , ...] Define a procedure integrate_series that takes as input a stream a0, a1, a2, ... representi…
add_series as = as add_series bs = bs add_series [a:as] [b:bs] = [a+b : add_series as bs] mul_series _ = mul_series _ = mul_series aa=:[a:as] bb=:[b:bs] = [a*b : add_series (mul_series as bb) (map ((*)a) bs)] Start = mul_series [1,1,1] [1,…
S * X = 1 (1 + Sr) * X = 1 X + Sr * X = 1 X = 1 - Sr * X procedure invert_unit_series that computes 1/S for a power series S with constant term 1. invert_unit_series [1.0:ar] = X where X = [1.0 : map ~ $ mul_series ar X] Start = take 20 $ …
リストが単調増加であることを isMonotone ls = foldl (で確認できると思ったけど、そんなことはなかった。 勘違いだった。 isMonotone ls = all $ map (uncurry (と書くべきだった。
[id:lethevert:20060311:p2] Generic、使ってみた。 Start = gMap{|*->*->*|} inc dec (5,5) 結果は、(6,4) Start = gMap{|*->*->*|} inc dec (5,5,5) 結果は、(5,6,4) Start = gMap{|*->*->*|} inc dec 5 コンパイルエラー Start = gMap{|*->*->*|} inc dec…
http://www.generic-haskell.org/ http://page.freett.com/shelarcy/diary_2004-03.html#mars162004 この辺は、さらに資料少ないなぁ。
http://www.cs.ru.nl/~clean/Recent_Latest_News/body_recent_latest_news.html もっとも最初のリリースは、Mac版でした。 1987 Clean 0.5(中間言語として) 1993 Clean 0.8 1995 Clean 1.0(最初の成熟版) 1996 Clean 1.1 1997 Clean 1.2 1997 Object I/O…
型注釈を使って、プログラムの実行を制御しようという発想かな。
そういえば、最近、本家サイトが落ちてるみたいなんですけど・・・ ・・・落ちてるというか、名前解決できない。 こちらはwikipediaではなくて、wikibook -> http://en.wikibooks.org/wiki/Concurrent_Clean
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted11.html 「(11)内包表記」を書きました。 内包表記を簡潔に説明するのは難しい。
http://fukumori.org/diary/20060311.html#p01 Bob Kahn: ところが、設計している時には、8ビットあればもう十分、完璧だろうと本気で信じていた。 を見て、そういうことってあるよなとしみじみ。
Cleanの総称関数について、あまり突っ込んで調べたことがなくて、型クラスとどう違うのだろう、みたいに思っていたのだけれど、今日、少し、ちゃんと読んでみた。 http://sky.zero.ad.jp/~zaa54437/programming/clean/LanguageReport21/Chap7.html 総称定義…
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted09.html 「(9)無名関数」を書きました。 let式を使って、ローカルスコープが定義できる case式を使って、パターンマッチを書ける if式を使って、条件分岐が書ける Yコンビネータを使って、…
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted10.html 「(10)演算子」を書きました。
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted08.html 「(8)クロージャ・カリー化」を書きました。
Cleanの標準ライブラリに、iterateという関数があります。 //関数fと値aに対して、[a, f a, f (f a),...]という無限リストを返す iterate f a = [a : iterate f (f a)]というようなものですが、"Improving Sequence"を見て、ああそういう使い方があるのか、…
($) infixr 1 ($) f a = f aの他に、 (,) infixl 2 (,) f a = f aという演算子を用意すると便利かと思ったのですが、カンマは使えませんでした。 よく考えると、タプルと区別できなくなるな。
について、なんか、復習したので、そのことを書こうかと思ったら、[id:m-hiyama:20060307:1141702593]にほぼそのままな記事が書かれていたので、リンクだけ貼って終わりにします。
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted07.html 「(7)高階関数」を書きました。