2009-01-01から1年間の記事一覧

ch04::RealWorldHaskell(1)

(p.88)ex.4-1 失敗する時はNothingを返せば良さそう。 -- ex.4-1 safeHead :: [a] -> Maybe a safeHead xs | null xs = Nothing | otherwise = Just (head xs) safeTail :: [a] -> Maybe [a] safeTail xs | null xs = Nothing | otherwise = Just (tail xs) …

ch03::RealWorldHaskell(2)

11/3の続き。正解を探したけど見つからなかったので本当に正しいかどうかは不明。 ex.3-9 data Direction = RTurn -- 右回り | LTurn -- 左回り | Line -- 一直線 deriving (Eq, Show) ex.3-10 3点a,b,cとした時、ベクトルbaから見てベクトルbcが時計回り(RT…

ch03::RealWorldHaskell(1)

ch03の演習問題を解いてみた。なんだかlisp/schemeっぽい。(p.62)ex.3-1 -- 前提 data List a = Cons a (List a) | Nil deriving (Show) -- 参考 fromList (x:xs) = Cons x (fromList xs) fromList [] = Nil -- ex.3-1 toList :: List a -> [a] toList (Cons…

ch02::RealWorldHaskell

(p.27)ex.2-1 :setコマンドで型表示させて式を評価。 Prelude> :set +t Prelude> False False it :: Bool Prelude> (["foo", "bar"], 'a') (["foo", "bar"], 'a') it :: ([[Char]], Char) Prelude> [(True, []), (False, [['a']])] [(True,[]), (False, [['a…

ch01::RealWorldHaskell

amazon:Real World Haskellを購入。 原著は持っているんですがやはり日本語で読めるのはありがたいです。 とりあえずsicpマラソンも3章まで(logを残してませんが)終わったのでこちらを先に読み進めます。 amazon:プログラミングHaskellももうすぐ発売だし暫…

sicpマラソン5日目

環境が復帰したので再開。 [メモ] 最大公約数=Euclidのアルゴリズム (1.2.5) Lameの定理=gcdの計算にkステップ必要な時、gcdの対の小さい方の数はk番目のFibonacci数以上 (1.2.5) ifの評価=述語式を最初に評価し、その結果から帰結式か代替式のどちらかを…

SnowLeopard入れたけど・・・

mac

昨日SnowLeopard入れたんですが、portsが使えなくなってますね。SnowLeopard対応の1.8を入れなおしてもダメなものが結構ありました。gaucheとかmit-schemeとかはportsからinstallできない模様です。guileは大丈夫でした。落ち着くまでLeopardにもどします。 …

夏休み5日目(最終日)

Snow Leopard買った。sicpは思ったより進まなかった。 明日から仕事。

sicpマラソン4日目

[メモ] 線形再帰的プロセスでべき乗計算=ステップ数はθ(n)、スペースはθ(n)必要 (1.2.4) 線形反復的プロセスでべき乗計算=ステップ数はθ(n)、スペースはθ(1)必要 (1.2.4) 逐次平方を使用するとステップ数はθ(log n) (1.2.4) 反復的アルゴリズム設計時に不…

夏休み4日目

民主党が勝利。うーん・・・。外国人参政権とか、浅はかなばらまきで実は国民の負担増とか、頭を捻る事多かったんだけどなぁ。 あとニコニコ生放送の選挙特番充実し過ぎだった。TVいらないだろJK。

sicpマラソン3日目(2)

[メモ] 練習問題の内容、結構忘れてるなぁ (1.2.3) [演習問題] 1.15 (define (cube x) (* x x x)) (define (p x) (- (* 3 x) (* 4 (cube x)))) (define (sine angle) (if (not (> (abs angle) 0.1)) angle (p (sine (/ angle 3.0))))) a.(sine 12.15)の評価…

sicpマラソン3日目(1)

[メモ] オーダーの話 (1.2.3) [演習問題] 1.14 1$の両替の場合の数 ## 1$を両替する場合の数 (define (count-change amount) (cc amount 5)) (define (cc amount kinds-of-coins) (cond ((= amount 0) 1) ((or (< amount 0) (= kinds-of-coins 0)) 0) (else …

夏休み3日目

選挙いってきた。家にTV無いので結果がわからない。実況スレをチェックしよう。 あとテレ東が選挙速報をするらしい、日本オワタ。

sicpマラソン2日目(2)

[メモ] 木構造再帰=プロセスが樹木状に進化 (1.2.2) 木構造再帰の必要ステップ数=木構造の節の数に比例 (1.2.2) 木構造再帰の必要スペース=木構造の最大深さに比例 (1.2.2) 両替の場合の数問題懐かしい (1.2.2) [演習問題] 1.11 ## 再帰的プロセス (defin…

sicpマラソン2日目(1)

[メモ] 再帰的プロセス=置き換えモデルで遅延演算が膨張・収縮 (1.2.1) 反復的プロセス=置き換えモデルで一定数の状態変数のみ更新、伸び縮みしない (1.2.1) 線形再帰的プロセス=計算に必要な情報量(遅延演算の列の長さ)とステップ数が線形に成長 (1.2.1)…

夏休み2日目

外出したら負けだと思ってる。

sicpマラソン1日目(2)

[メモ] 述語には疑問符(?)で終わる名前をつけるといいよ (1.1.7) ブロック構造=定義の入れ子 (1.1.8) 静的有効範囲って便利 (1.1.8) [演習問題] 1.6 condを使ってif(new-if)を定義 (define (new-if predicate then-clause else-clause) (cond (predicate th…

sicpマラソン1日目(1)

amazon:計算機プログラムの構造と解釈はじめるよ〜。 [メモ] 置き換えモデルは不完全、可変データを持つ手続きで使うと破綻 (1.1.5) 正規順序の評価=演算子と被演算子を完全に展開してから簡約 (1.1.5) 作用的順序の評価=引数を評価し作用させる、解釈系が…

夏休み1日目

今日(8/28)から5日間(9/1まで)夏期休暇を取得しました。ダラダラと寝倒すのもいいんですが、せっかくなので夏休みらしい事でもしようかと思います。 LEGOブロックでリアル(等身大)ヨーダ(StarWars)を作成 延々と動画作成&ニコ動/youtubeにupマラソン 漫喫で…

圏論による論理学(0)

amazon:ふつうのHaskellプログラミング]と[amazon:入門Haskellの2周目が終わりました。 終わったんですがイマイチ理解しきれていないところ(特にモナドとか)があります。モナドとか関数論の数学的背景/理論(圏論)について、正直よくわかっていないので、…

連休終わり

積んでいた本を読んでるうちに3連休が経過、悲しい。ふらふらと紀伊国屋書店で本を探していると、Working Effectively with Legacy Codeの翻訳本のレガシーコード改善ガイドが並んでいました。原著版まだ読み終わってないのに! わりと最近買ったばかりなの…

wiliki入れてみた

メモ用にwikiが欲しくなったので導入ed。どのEngineにしようか迷ったんですが前から気になっていたWiLiKiにしました。以下導入メモ。 gauche導入 $ sudo port install gauche ここからWiLiKi-X-X.tgzをDownloadしてgauche-package $ gauche-package install …

macでeclipse日本語化

MacでEclipseを日本語化するのに色々作業が必要だったのでメモ。 http://www.eclipse.org/downloads/からmac版eclipse3.4をダウンロード 解凍してできたeclipseを[/Applications/eclipse/]に設置 http://mergedoc.sourceforge.jp/index.html#/pleiades.html…

そうだLifeGameを作ろう(1)

無性にLifeGameが作りたくなる時があります。早速作ってみたんですが、いまいティンとこないです。きっとJavaで作ったからですね、わかります。 Javaが駄目ならassemblerを使えばいいじゃない byマリー という事でassemblerで作ってみようかなと思います。ち…

macportsメモ

mac

macでパッケージ管理といえばfinkってイメージだったけど、最近の流行はmacportsらしい。そのまんまBSDのportsなんですかね。 macports install まず、macportsの導入にはXCodeToolsが必要みたいなので、mac付属のDVDからinstall。次にmacportsのサイトからm…

引っ越し

今までlivedoorでblogをつけていましたが、色々あってこちらに引っ越しed。作業log的にメモをつらつらと記録。