2006-12-01から1ヶ月間の記事一覧

日記中のソースコードのライセンス

思うところあって、日記中の僕が書いたソースコードのライセンスを2-clause BSDライセンスからMITライセンスに変更します。具体的にはこちらを参照してください。どちらのライセンスもフリー具合はあまり変わらないと思いますが、どうしても困るという人は僕…

自分でmapを実装してみます

たくさんの関数 - もち 数ある高階関数の中でも非常によく使う関数です。Haskellだとこんな感じ。なおRubyの場合、僕はcollect派ではなくmap派です。短かいし、Haskellでも同じ名前だから。 module Main (main) where myMap :: (a -> b) -> [a] -> [b] myMap…

パスワードの強度

パスワードの強度 - rubyco(るびこ)の日記より。Haskellで実装してみました。あれ、Integerの累乗を求める関数って標準で用意されていませんでしたっけ? module Main (main) where import Data.List (genericLength) power :: Integer -> Integer -> Inte…

休暇です

歯医者に行こうと思って休暇をとりました。歯に詰めてた金属がとれたのですが、ついでに歯石もとってもらおうと思います。

今から帰ります。

練習

ANSI Common Lisp 2章「Lispの世界へようこそ」 - もちから。いい例題です。僕もHaskellで書いてみました。 module Main (main) where -- 2つの数を引数として,大きい方を返す関数。 myMaximum :: Ord a => [a] -> a myMaximum [] = error "myMaximum: empt…

徳が高い ⇔ 低い

Haskellで徳が高いプログラムっていう表現をどこかで見たなーと思ってGoogleに聞いてみました。どうやらここのようです。 Diary 宣言的にプログラムを書くと徳が高いそうです。なるほど。 徳が高い例。 fact 0 = 1 fact n = n * fact (n - 1) fact n = foldl…

20:00ごろ帰りました。

第13回Ruby勉強会@関西の演習課題をHaskellで解いてみました。そのに

id:ha-tan:20061218:1166371729の続きで整数をローマ数字の文字列に変換する関数を書いてみました。解答例のRubyのプログラムも結構いけてました。そのまま移植しても徳の高いHaskellのプログラムになりました。 module Main (main) where import System (ge…

今から帰ります。

賛美歌109番 きよしこの夜

もうじきクリスマスですし。ということで、さっきぽろんぽろん弾いてたのを。Low-G用(High-Gでもあんまり変わらないかもしれないけど一応)。

第13回Ruby勉強会@関西の演習課題をHaskellで解いてみました

問題はこちらです。今回の課題はオブジェクト変数、クラス変数の使い分けがポイントです。Haskellでこういう状態を覚えておくようなプログラムは書きにくいです。悩んだ末、結局IORefを使ってしまいました。うーむ。

mixiのアカウント

最近mixi経由で情報を入手することも増えてきたので、この日記に僕のmixiのページへのリンクを書いておきます。僕自身はあまりmixiでは活発に活動していませんが(日記をふたつもメンテナンスできないよ!!)。 http://mixi.jp/show_friend.pl?id=1297436

日本語で10行プログラミング

http://journal.mycom.co.jp/column/nihongoprog/ おー、面白そうなネタがいっぱいです。参考にしよう。

もし会社を辞めたら、その時あなたに何が残りますか?

昨日のRuby勉強会のかずひこさんの発表中の言葉。3年くらい前に同じことを会社を辞める同期からも言われました。そのころはあまり社外で活動してなかったせいか、結構グサっときてしばらくひきずっていました… ポイントポイントで自分の足跡を振り返るのは重…

プログレスバーをテキストで表示する関数

プログレスバーをテキストで表示する関数を作ってみました。getProgressBarを呼ぶと関数が返ってきて、その関数に現在の進捗を与えるとプログレスバーを表示します。時刻に関連するIOは、getProgressBarの中で閉じるようにしています。 module Main (main) w…

小さい鞄買った

ちょっと早めに京都入りして一澤信三郎帆布に行きました。無茶苦茶混んでいました。40分待ちました。茶色の小さい鞄を買いました。鞄が小さくなってちょっと身軽にさくさく動けるかも。

第13回Ruby勉強会@関西

ちょっと遅刻しました。微妙に迷った(^^; 右上の写真は京都女子大学のバス停のところにあったサンタです。 Ruby初級者レッスン by okkezさん、ナツマさん フレッシュな雰囲気。 Taiyakiが焼き立てかどうか? privateのいいこと。内部的なデータは外から呼ば…

18:00ごろ帰りました。

My Family and Other Animals(6,900語)

*MY FAMILY & OTHER ANIMALS PGRN3 (Penguin Readers (Graded Readers))作者: Gerald Durrell出版社/メーカー: Pearson Japan発売日: 1999/11/01メディア: ペーパーバック クリック: 2回この商品を含むブログ (1件) を見る話の進展早すぎ。でも動物ものは話…

ドラッグ & ドロップしたファイルのパスをクリップボードにコピーする

Win32SDKを使って、ドラッグ & ドロップしたファイルのパスをクリップボードにコピーするプログラムを書いてみました。うーん、見事なほどにIOの山。ついでにスーパーpre記法のシンタックス・ハイライトを使ってソースコードに色をつけてみました。でもHaske…

指定した桁数で改行を入れる

おおー、id:hakobe932くんもHaskellかー。id:hakobe932:20061215:1166201940 僕も大体同じ動きをするプログラムを書いてみました。参考まで。 module Main (main) where import System (getArgs) import System.IO (stderr, hPutStrLn) readFiles :: [String…

Eの押え方

id:M-Ohta:20061216#1166198249 僕は、4弦から4(中指)4(中指)4(薬指)2(人差し指)かな。人差し指は2フレットをセーハしてしまうことも多いです。Eを使うキーでは、セーハが必要がコードが多いような気がするので…

そうだ京都行こう

明日Ruby勉強会で京都に行きます。折角なので京都のガイドブックを買ってみました。明日早起きできたら早めに京都に行ってぶらぶらしてみよう。京都地図本―歩きたくなる (エルマガmook)作者: 京阪神エルマガジン社出版社/メーカー: 京阪神エルマガジン社発売…

Hello, world!といえば…

http://d.hatena.ne.jp/chmod/20061215/1166183181 世の中、いかに小さいHello, world!を作るかというすばらしいチャレンジをされているかたがいるようです。こんなの年賀状でもらっても… d.y.d. The smallest Linux ELF binary to print ’Hello world!’ - …

モーツァルト生誕250周年で全作品の楽譜をオンラインで公開 - ITmedia NEWS

おー、すごい。今度時間ができたら見てみよう。ついでにこの楽譜も紹介。TAB譜付スコア ウクレレモーツァルト 松井朝敬 編 模範演奏CD付 ウクレレ1本で奏でるモーツァルト名曲集の決定版作者: 松井朝敬出版社/メーカー: ドレミ楽譜出版社発売日: 2006/09/12…

塚口の辺に行ってました。17:00ごろ終了。

今から帰ります。

引数が複数個の場合のポイントフリースタイル

複数個の引数をポイントフリースタイルで省略すると、.がひとつずつ増えていきます。こんな感じ。 module Main (main) where e n1 = n1 f n1 = n1 g n1 n2 = n1 + n2 h n1 n2 n3 = n1 + n2 + n3 hoge1 n1 = e $ f n1 hoge1' = e . f -- ポイントフリー(引数…

関数のポインタ

関数ポインタ - もち ああ関数も所詮アドレスなんだ〜と悟りが開ける瞬間ですね。関数のポインタはいろんな使い方ができるけど、Rubyでいうところのブロックみたいな使い方が一般的かしら。とりあえずいくつかC言語の関数を挙げてみます。 qsort - NetBSD Ma…