とりあえず,チュートリアル. % 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>…