Life Goes On

まあまあだけど楽しんでる方です

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

Lazy K 入門

何となく触ってみました。以下に体験記を。 Lazy K の入力はチャーチ数のリストとして与えられます。出力もチャーチ数のリストとして構成。Haskell の interact が最初から備わっているような感じ。 なので、入力をそのまま出力する echo サーバは以下のよう…

モナドのすべて

All About Monads まだ第 I 部しか読んでいませんが、すごく、分かりやすいです。

都電荒川線8800形

今日から都電で新型車両が運行されます。という訳で出発式に行ってきました。 お目当てのおもちゃ付きボールペン(↓ボールペン付きおもちゃ?)はゲットしたものの、あまりに人が多く、乗車はできず‥‥。子どもと二人でふてくされてました。早期のリベンジが…

残り10問

ようやく残り10問に。 全問完答もできるんじゃないかという気がしてきた。 もう1年以上やってるもんな。 解くのに時間のかかった問題を並べてみると Problem 156 : ただの分割統治法 Problem 186 : ただのグリーディーアルゴリズム Problem 201 : ただ…

Scala を知る

今まで「Scala って Java と Haskell の中途半端なコピーでしょ」って思いこんでいたのだけど、JJUGのカンファレンス で修正されました。 Scala って Java よりずっと純粋なオブジェクト指向言語だったんだ! +がメソッド(5.+(7)とか書ける)ってカコイイ…

SKS = I

なんで SKK = I なんだっけと考えていて、SKKx = Kx(Kx) = x で (Kx) は無視されるから、二つ目の K は他のコンビネータ(例えば S)でもいいよなと思ったわけです。 s x y z = x z (y z) k x y = x というように、Haskellで定義して実行すると、上手くいき…

SQL で素数(解決)

SQL

一昨日の件、youz さんに教えていただきました。ありがとうございます。 素数 - * *scrap* なるほど、外部結合する前に絞り込みたいんだったら、ON 句に絞り込み条件を書かなきゃ駄目、ってことですね。絞込み条件なら WHERE 句だろ、って思い込んでました。…

SQL で素数

SQL

素数を求める SQL というのがあります。 SQLで数学パズルを解く(数論編-問題) 念のため再掲すると、↓のように EXISTS を使います。 SELECT N1.num FROM Numbers N1 WHERE NOT EXISTS ( SELECT * FROM Numbers N2 WHERE N2.num > 1 AND N2.num <= N1.num/2 …

週末の買い物

Tシャツは、既に持っている成田エクスプレスのやつが、毎日のように着てくたくたになっているので、見つけた瞬間に迷わず購入。さっそく今日から着ると言って聞かなかったので、判断は間違っていなかったと思う。(でも半袖はさすがにまだ寒いよ) 父子とも…

カリー化ふたたび

以前に書いたセミナーの振り返り(カリー化、部分適用、その他の話題 - Life Goes On)について、通勤電車でつらつら考えていて、小さいラムダ式と大きいラムダ式を区別するには、モナドなし/あり2つの Arrow を使えばいいんじゃないかと思いました。 つま…

アルゴリズムデザイン

アルゴリズムデザイン作者: Jon Kleinberg,Eva Tardos,浅野孝夫,浅野泰仁,小野孝男,平田富夫出版社/メーカー: 共立出版発売日: 2008/07/10メディア: 単行本購入: 10人 クリック: 421回この商品を含むブログ (51件) を見る会社の勉強会のテキスト。 第 4 章 …

オダンゴ

記号操作は好きですが、そうやってできた閉じた世界から抜け出すのは、なかなかどうしてムズカシイです。

Monomorphism restriction

同じ問題で悩んでました。 monomorphism restriction - bonotakeの日記 Monomorphism restriction - HaskellWiki まだ分からないのが、単相性制約の存在意義です。 自分は「型宣言をしっかり書こう派」なので実用上の問題はありません。ただ、↓のようなコー…

めざめよ!

すべてがλになる - 猫とC#について書くmatarilloの日記 - あなたもようやく λ 様の御業にお気づきになられたのですね。 そう。万物は λ なのです。 こちらは私どもが不況布教のためにお配りしている冊子です。 λ 様の御力の一端を感じ取っていただければと思…

カリー化、部分適用、その他の話題

前回のエントリに対して、m-hiyama さんから、色々と指摘をいただきました。 以下に訂正を、と思ったら、先に bonotake さんに書かれてしまった。 そもそも問題はというと、「ラムダ抽象=カリー化」という前提を僕が理解していなかったのが、いけなかったの…

「技術者/プログラマのためのラムダ計算、論理、圏」セミナー第2回

行ってきました。自分なりに復讐、もとい復習。 前半はラムダ計算の話。 たとえば g = という関数を考えるとき、g^ = 、g^^ = 、g^^^ = という関数を作ることができる(これがラムダ抽象?)。 絵にすると↓こんな感じ。 これを見てて思ったのが、↓みたいに定…

積ん読

『スマリヤンの決定不能の論理パズル』1 型の推論者で既に混乱しているのに、4 型の推論者とか出てきて泣きそう。紙と鉛筆がないと読めないし、遅々として進まず。 『To Mock a Mockingbird』Amazon で ¥1,500 以下だったので、脊髄反射でクリック。↑が終わ…

独り言

僕はいわゆる SIer の後方支援部隊にいる訳ですが、やはりバックオフィスはぬるま湯で、水が合わないので、いずれは現場に戻ってPMでもしようと思ってます。ただ、それで万事OKかというと、そうでもなく、何かムズムズするものが残るのです。 この間、大…

続・Grass のインタプリタを書いてみたよ

という訳で、書き直しました。 Haskell による Grass のインタプリタです。Grass コードのファイル名を与えて実行します。 必要な仕様は、全て満たしているはず。全角文字(UTF-8、Shift_JIS)も受け付けます。 バグ報告は随時お願いします。 Grass 人口が少…

Grass のインタプリタを書いてみたよ

Haskell で Grass のインタプリタを書いてみました。以前から書いてみたいとは思っていたのですが、どこから手をつければいいものやら分からず、半年近く経ってしまいました。悲願達成。 Haskell 版は既に mr_konn さんが書いているので、目新しいものではあ…

Arrow 入門

id:mzp さんに触発されて、Arrow 勉強中。 Haskell/Understanding arrows - Wikibooks, open books for an open worldの図が分かりやすいです。まずは簡単なサンプルで動作を確認。 -- オリジナル f1 as = tail as ++ init as -- 引数を2つの経路に分けて、…

113問目

http://projecteuler.net/index.php?section=problems&id=113 各桁の数字が昇順または降順に並ぶ数が10100未満でいくつあるか求める。 重複順列です。 main = print $ euler113 100 euler113 :: Integer -> Integer euler113 n = sum $ map nonBouncy [1..n]…

Haskell でグローバル変数

cut-sea さんが書いている グローバル変数が欲しい理由? について自分なりの見解を。 もとは Haskell でグローバル変数が欲しい理由 - あどけない話 の記事です。 Haskell でグローバル変数を持ちまわす必要があるかどうかは、ひとえに関数の設計にかかって…

112問目

http://projecteuler.net/index.php?section=problems&id=112 すべての数字が昇順または降順に並んでいる数を考える。2 桁以下の数はすべてそうだが、桁が増えるとその割合は減っていく。そのような数の割合がちょうど 1% になるのはいくつのときか求める。 …

1 型の推論者

スマリヤンの決定不能の論理パズル を相変わらず読んでるのですが、つまずいたところがあったので、頭の整理を兼ねてメモ。 なかなか理解できなかったのが、以下の論法。 教授が生徒に「君が神の存在を信じないならば、そしてそのときに限り神は存在する」と…

システム開発で動的言語とか

2009-01-25 - marsのメモ - より 少なくともJavaを使っている人にとっては、Ruby on Railsに移行する理由はなくなった思います。 それはそうだけど,Javaでやれている人がわざわざGroovy/Grailsに移行する動機ってのもあまり想像つかなかったりしてます。個…

左マウス

右ペン左マウス派 - ミックのブログ 同志、ハケーン! なぜ左マウスにしたのかは自分でも忘れてしまいましたが、何となく左手を有効活用している気分になれます。ただマウスを多用しているときというのは、たいがいネットサーフィン中なので、そもそも何ら生…

FOREVER UNDECIDED

川辺本、読了。 とても読みやすくて、初心者にも分かりやすかったです。 自分はブール代数に馴染みがなかったので、本当に代数でやってしまうあたり、ちょっと感銘を受けました。 (x ⊃ y = xy + x + 1 とか xx = x とか)で、次はコレ。しかし、いくらなん…

「技術者/プログラマのためのラムダ計算、論理、圏」セミナー

昨日、行ってきました。 こういう話(カリー・ハワード対応がどうとか)を聞く機会はあまりないので、とても楽しめました。 いよいよラムダというところで、時間切れに。→次回も参加します。 7 時までに帰る約束だったので、終わった後の食事会に行けず。→次…

111問目

http://projecteuler.net/index.php?section=problems&id=111 1 を 3 つ含むような 4 桁の素数は以下のように 9 個ある。 1117, 1151, 1171, 1181, 1511, 1811, 2111, 4111, 8111 n 桁の素数で、数字 d が最も多く含まれるような数の和を S(n, d) とおくとき…