読者です 読者をやめる 読者になる 読者になる

蓄積しつつ,畳み込む.

foldL :: (a -> b -> c -> c) -> c -> (a -> b -> a) -> a -> [b] -> c foldL f c g a (x:xs) = f a x (foldList f c g (g a x) xs) foldL _ c _ _ _ = c 先日のtakeWhileAcc は foldL のインスタンス. takeWhileAcc :: (a -> b -> Bool) -> (a -> b -> a) …

takeWhileAcc

リストの要素を先頭から見て,特定の条件を満すあいだだけ,要素をとりだしたいとき,takeWhileを使う.条件をすこし一般化して,先頭からの畳み込み値にも依存するようにしたいことが結構あるような気がする.というわけで、takeWhileAccを定義してみた. t…

数学辞典

岩波数学辞典作者: 日本数学会出版社/メーカー: 岩波書店発売日: 2007/03/15メディア: 単行本 クリック: 14回この商品を含むブログ (12件) を見る CD-ROMにPDFがあるので、PCで手軽にもちあるける。問題は読む能力があるかどうか。:)

副作用(side-effect)をめぐって

Haskellプログラミングを始めようとしているプログラマに「Haskellには副作用があるのか」という質問をされると,「ある」と答えるHaskellerと「ない」と答えるHaskellerがいるらしい(私は「ない」と答える派).これでは,「いったいどっちが本当?」とい…

HIMA3 開催のご案内

第3回 HIMA(Haskell Internet Meeting Anytime)を12月13日(日) 19:00〜22:00 に開催いたします.HIMAはHaskellプログラミングに興味をもつ人が,とりとめなく,おしゃべりをするという会です.一応のお題はありますが,Haskellの知識経験の有無深浅にかかわ…

const をめぐるあれこれ

Prelude には,const :: a -> b -> a という関数が定義されています.a -> b -> a という型は a -> (b -> a) のことなので,この関数を引数に適用すると,b -> a という型の関数になります.できあがった関数はどのような値 v :: b に適用しても,この関数を…

Haskellで「ものまねどり Mocking Bird」

自己言及がはいるとHaskellでは型付けができないので,無理かなとおもったら,unsafeCoerceという邪悪なものを使う方法があるそうです.これで,いろいろ遊べそう. module Birds where import Control.Applicative import Unsafe.Coerce -- Haskellで定義済…

アナグラム

Haskellらしさってなんだろうということを考えつつ,[id:yard:20091104]にある課題を解くプログラムを考える過程を記録してみた.整理していないのでとりとめがないです. 単語辞書から相互にアナグラムになっている単語を集める. アナグラムとは,(意味の…

ちょっとしたプログラミング

[id:yarb:20091109]にちょっとしたお題があったので,頭のなかを晒してみよう. 2乗した結果に1から9までの数字が1度ずつ現れる整数をすべて挙げよ まぁ素朴に1から100,000までの数字をチェックしよう. sortを使うからData.ListをインポートすればOKかな. …

Programming in Haskell

こちらの翻訳本もいよいよでますね.プログラミングHaskell作者: Graham Hutton,山本和彦出版社/メーカー: オーム社発売日: 2009/11/11メディア: 単行本(ソフトカバー)購入: 14人 クリック: 503回この商品を含むブログ (115件) を見る

とりあえず,チュートリアル. % cabal install happs-tutorialとりあえずローカルで見ることできるようにする. % cd ~/work % tar xvf ~/.cabal/packages/hakcage.haskell.org/happs-tutorial/0.9.0/happs-tutorial-0.9.0.tar.gz % cd happs-tutorial-0.9.…

できてきた

すこし薄くなったかな. Real World Haskell―実戦で学ぶ関数型言語プログラミング作者: Bryan O'Sullivan,John Goerzen,Don Stewart,山下伸夫,伊東勝利,株式会社タイムインターメディア出版社/メーカー: オライリージャパン発売日: 2009/10/26メディア: 大型…

O'Reilly Japan - Real World Haskell

第一報です :) 楽しんでいただければ幸いです。(10/17 追記) アマゾンにも出たようです。 Real World Haskell―実戦で学ぶ関数型言語プログラミング作者: Bryan O'Sullivan,John Goerzen,Don Stewart,山下伸夫,伊東勝利,株式会社タイムインターメディア出版社…

特殊文字

すぐに忘れるのでメモ # $ % & _ { } ~ ^ \

スクロールバーの幅

デフォルトでは幅がひろすぎる.$HOME/.gtkrc-2.0 style "scroll" { GtkScrollbar::slider-width = 10 } class "*" style "scroll"

Cheatsheet

なんのことはない,ちゃんと本家に用意されてたんだね.そらそうか.

大文字・小文字の反転(その2)

[id:mzp:20090804#maybe]Maybeで繋げるなら,こんな感じかな. import Control.Monad import Data.Char import Data.Maybe affect :: (MonadPlus m, Eq a) => (a -> a) -> a -> m a f `affect` x = if fx == x then mzero else return fx where fx = f x inv…

大文字・小文字の反転(その1)

[id:mzp:20090804#invert]変換関数を直接作るなら,こんな感じかな. import Control.Arrow lowers = ['a'..'z'] uppers = ['A'..'Z'] exFun :: Eq a => (a,b) -> (a -> b) -> a -> b exFun (x,y) f x' = if x == x' then y else f x' invertChar :: Char ->…

modキーの割り当て変更

modキーはデフォルトでは(左?)Altキー. これだとEmacsのキーバインドど干渉するので,窓キーに変更することにした. つい先月末まで使っていたThinkPad X 23には窓キーがなかったんだよね.ふふふ.でもこんどのThinkPad X200sにはちゃんと窓キーあるもんね…

横2分割 縦2分割

xmonadを使いはじめると,1つのワークスペースをEmacs 1フレームで使うことが普通になる. 各種のモードで上下2分割ウィンドウを使うことが多いのだけれど,これを左右2分割に切り換えたい.で見つけたページ:Meadow/Emacs memo: ウィンドウ/フレーム関連 ―…

xmonad の cheat sheet

xmonad : a guided tourを読みながらのメモいまのところ軟弱に:) Gnome中で利用している.そのうち生で使うかも(ぉ!?) xmonad.hsは今のところデフォルトままで,使っている. キーバインド一覧 キー操作 効果 mod-shift-return 端末を開く mod-space レイア…

D02HWで繋ぐ

接続 % sudo pon emobile切断 % sudo poff emobile /etc/ppp/peers/emobile hide-password noauth connect "/usr/sbin/chat -v -f /etc/chatscripts/emobile-ppp" debug /dev/ttyUSB0 460800 defaultroute noipdefault user "em" remotename emobile-ppp ipp…

バックスラッシュ

\symbol{"5C}

Haskellに副作用はないのか?

Haskellには副作用はないのか?議論に微かな違和感があるような気がしたのですが,それが何にたいする違和感かよくわかりませんでした.件の記事を読みかえして,また違和感を感じたので,すこし考えてみることにします. 「副作用」って何のことを言ってい…

Haskellerが勘違いして『Scheme初心者へのアドバイス』を書いてみた

Scheme初心者へのアドバイスを書いてみる - ヤドカリデンキ商会(第一倉庫)にインスパイアされて書いてみた. ネタだからね真に受けないでね. お題はServer error トップダウンに考える 部品からいきなり作ってはいけません.その部品にひきずられてしまい…

安西徹雄:英文翻訳術

英文翻訳術 (ちくま学芸文庫)作者: 安西徹雄出版社/メーカー: 筑摩書房発売日: 1995/05メディア: 文庫購入: 23人 クリック: 235回この商品を含むブログ (31件) を見る 今は手元に1冊しかないのだけれど,何冊も買っているはずなのである.江川泰一郎「英文法…

クレジットカード番号の Check Digit

クレジットカード番号の最後の桁はチェック用の桁です.チェックは,クレジット番号を一桁おきに倍にして(10以上の場合は9を引いて)足し合せそれが10で割り切れるかどうかを知らべるものです.ただし,最後のチェック用の桁を倍にすることがないように,番…

Ubuntu 9.04

8.10 から 9.04 にアップグレードしてみたんだけどフォントに関連して2つすんなりいかなくて困った.自己解決する能力がない orz ので現象だけ記録しておく. emacs-snapshot M+IPAの日本語フォントが使えない. (add-to-list 'default-frame-alist '(font .…

Real World Haskell 読書会

内容 O'Reilly刊の Real World Haskellを読む 日時 2009年04月18日(土)13:00 〜 18:00 場所 株式会社タイムインターメディア 2F会議室 参加登録 資料準備,会場のキャパの都合などがあるので'''必ず'''参加登録をお願いします. 備考 今後1回/月のペース…

JUS勉強会「Haskellによる関数プログラミング」資料

先週3/20に行われました勉強会に祝日にもかかわらず参加いただきましてありがとうございます. 当日の資料はhttp://hop.timedia.co.jp/downloads/jus200903にて公開しております. また,当日,説明できなかった部分などの解説はすこし整理してから公開しま…

SD 記事のエラッタ

Software Design 4月号「—Haskellで学ぶ— 関数プログラミングことはじめ」の記事に関して校正で見おとした誤りなどの修正を以下のURLで公開しています.http://hop.timedia.co.jp/show/article/SD200904また,感想など聞かせていただけると大変嬉しいです.

Software Design 4月号

id:software_design「—Haskellで学ぶ— 関数プログラミングことはじめ」にて記事を書きました.読んでいただけると嬉しいです.

"Real World Haskell" Jolt賞受賞

http://www.realworldhaskell.org/blog/2009/03/12/we-won-a-jolt-award/Congratulations!読書会を4月より開始予定.Real World Haskell作者: Bryan O'Sullivan,John Goerzen,Don Stewart出版社/メーカー: Oreilly & Associates Inc発売日: 2008/12/05メディ…

2 進表現

これは,は,,,で構成できる.ということは,はとで構成できる.つまり, となるような演算子を定義できる.そうするとは,の 2 進表現を逆順にならべたものと, を対応させて構成できる.このときはで構成できる.これをHaskellのコードにすると以下のよ…

タプリング

ととからがもとまるわけである.がわかるので項の値の限界の設定も可能である.しかし,とを独立に計算するのは樹状再帰になって効率が悪い.そこで,Fibonacci数列では定石のタプリングを考える. とする.,はが求まれば求まるわけである.さて, [tex:\be…

Fibonacci数列の性質

でもねというのは7桁の数だからそんなに大きくはない.これがじゃなくて,たとえばだったらどうだろ.フィボナッチ数の定義を とすると,は偶数でかつ という性質がある.いまこれをと置くと フィボナッチ数の小宇宙―フィボナッチ数、リュカ数、黄金分割作者…

問題 2:Fibonacci列偶数値項の和

Fibonacci数列の項はそれに先立つ2つの項を足すことで生成する.1,2 から始めて最初の 10 項は 1,2,3,5,8,13,21,34,55,89,... である.4,000,000を超えない偶数の値をもつ項の和を求めよ. HaskellだとエレガントにFibonacci数列が定義できてしまう.

問題 1: リストを使ってはいけない.

10 未満で 3 もしくは 5 の倍数である自然数をすべて列挙すると,3,5,6,9 で,その和は 23 である.1000 未満の 3 もしくは 5 の倍数の和を求めよ. Haskellだと数列を表現するリストやフィルタが簡単に書けてしまうので,以下のようにやってしまいがちな…

ファイル拡張子の変換

zsh

shellの使い方が全然わかってないので自明なものもメモ xxx.euc のように .eucという拡張子のテキストファイル(EUC-JPでエンコードされている)が大量にある エンコーディングをUTF8に変換して,xxx.utf8 というファイルを作りたい. % for i in *.euc for>…

「Haskellによる関数プログラミング」

3月20日(金,祝)に日本UNIXユーザ会の勉強会として開催されます.私が講師としてしゃべります.ご興味,お時間がございましたら是非,参加下さいませ.http://www.jus.or.jp/benkyokai/09-03Haskell.htmlIntroduction To Functional Programming, 2nd Editio…

lazyS

2009-02-28 に開催された Shibuya.lisp Tech Talk #2 にどうしても参加したくて,LTネタとして半日ででっちあげた.Scheme風S式を遅延評価する解釈系です.バリバリ手抜きですのでもちろん実用にはなりません.裏側が知りたいという方がいたので公開しますが…

HaHaHa!はこちらへ

Haskell関連のネタは http://haskell.g.hatena.ne.jp/nobsun/ で書いていたのですが,どちらもときどきしか更新しないので,今後はこちらで書くつもりです.Real World Haskell作者: Bryan O'Sullivan,John Goerzen,Don Stewart出版社/メーカー: Oreilly & A…

xx使い

2008-09-23 - プログラミング日記PHP使い = ぺちぱーというのがツボった。Oracle使い = おらぁーっ!くらーっ!というのはどう?

ウィキペディア革命

ふむふむと読み始めた。議論の進め方がなんというかフランス的(ってどういう意味よ?>儂)。 ウィキペディア革命―そこで何が起きているのか?作者: ピエールアスリーヌ,フロランスオクリ,ベアトリスロマン=アマ,デルフィーヌスーラ,ピエールグルデン,Pierre…

初詣

新年恒例の初詣。東大寺にでかける。今小路のバス停で下車して、東へすこし歩いて戒壇院の裏手へ。そのまま東へ歩くと大仏殿の北側に出るのだが、歩道がとぎれて歩きにくいので、戒壇院の正面へまわる。東大寺の戒壇院には天平期の四天王の塑像があるのだが…

ラッセルのパラドックス

ラッセルのパラドクス―世界を読み換える哲学 (岩波新書 新赤版 (975))作者: 三浦俊彦出版社/メーカー: 岩波書店発売日: 2005/10/20メディア: 新書購入: 1人 クリック: 28回この商品を含むブログ (51件) を見る とろとろと読み始めた。読みやすい。よい本であ…

SHURE SE110

iPhoneで音楽を聴くのだけど、付属のイヤホン(ヘッドフォンとはいわないのかなぁ)がどうも自分の耳の形状に馴染まなくて直ぐに外れてしまう。それに通勤電車でつかうのと、喫茶店(もう死語かもしれないなぁ)で使うことが多いので外界のノイズが少ないも…

Le Petit Prince

星の王子さま (岩波少年文庫 (001))作者: サン=テグジュペリ,内藤濯出版社/メーカー: 岩波書店発売日: 2000/06/16メディア: 文庫購入: 9人 クリック: 71回この商品を含むブログ (89件) を見る 岩波書店の内藤濯訳しかなかったのに。何年か前に急に翻訳本が増…

上大岡トメ

のうだま―やる気の秘密作者: 上大岡トメ,池谷裕二出版社/メーカー: 幻冬舎発売日: 2008/12メディア: 単行本購入: 18人 クリック: 124回この商品を含むブログ (80件) を見る 手元にはないが、以前に「きっぱり!」という書名の本を読んだことがある。その「x…