Haskell
はじめに あけましておめでとうございます。正月休みを使って手探りでHaskellの学び方を模索しているわけですが、「これは便利だ!」と思ったので自分へのメモと同時に、共有です。もっと便利な方法を教えてください! Haskellの対話型実行環境GHCi Haskell…
動機 HaskellをむりやりSnow Leopardで動くようにしたのはいいけれど、cabalがないと面倒なので設定した。 前提 Haskellでは同じ発音をする、"Cabal"と"cabal"があります。2者は大きく違います。注意。 cabalコマンドの使い方 - あどけない話 Cabal Haskell…
プログラミングHaskell作者: Graham Hutton,山本和彦出版社/メーカー: オーム社発売日: 2009/11/11メディア: 単行本(ソフトカバー)購入: 13人 クリック: 478回この商品を含むブログ (115件) を見る id:Voluntas と id:aodag からの推薦があったんで買って…
動機 MacPortsでGHC入れようと思ったらまだSnow Leopard対応してないのね。 $ sudo port install ghc Password: Warning: Skipping upgrade since p5-locale-gettext 1.05_0 >= p5-locale-gettext 1.05_0, even though installed variants "+universal" do n…
xmonad | the tiling window manager that rocks ついに来たよ!Haskellで書かれたX Windowのウィンドウマネージャ。いやぁ、俺もこういう風にHaskellでいろいろ遊んでみたいなぁ。まだまだ修行が足りないですね。精進精進。
Haskellを書くときはEmacs(Meadow)使ってるんですが、doの次の行のインデントがうまく合わないなぁと思っていたら大きな間違いだった。 main = do cs <- getContents putStr cs ここで2行目でTabを押すと main = do cs <- getContents putStr cs さらにもう…
lrstrip.hs lrstrip :: String -> String lrstrip = rstrip . lstrip tail2.hs main = do cs <- getContents putStr $ lastNLines 10 cs lastNLines :: Int -> String -> String lastNLines n = unlines . reverse . take n . reverse . lines fgrep.hs fgre…
たしかにポイントフリースタイルで書くとすっきりする気がする。ただ綺麗に書ける自信があまりない。 lstrip.hs lstrip :: String -> String lstrip = dropWhile (== ' ') rstrip.hs rstrip :: String -> String rstrip = reverse . lstrip . reverse
fold.hs foldCol = 61 main = do cs <- getContents putStr $ unlines $ map foldLineAt $ lines cs foldLineAt :: String -> String foldLineAt cs = case snd (splitAt foldCol cs) of [] -> cs (c1:cs1) -> if length cs1 >= (foldCol - 1) then foldLine…
sort.hs import System import List main = do cs <- getContents putStr $ sortLines cs sortLines :: String -> String sortLines cs = unlines $ map sort $ lines cs uniq.hs import System import List main = do cs <- getContents putStr $ groupLine…
expandA関数の定義の部分で"expandA"を"expadnA"とミスタイプしちゃったのにコンパイル通っちゃった。どうしてだろう?とりあえず自分の解答。 expandA.hs main = do cs <- getContents putStr $ expand cs expand :: String -> String expand cs = map expa…
自分が作ってみた解答。こんな感じでいいんでしょうか? countbyte.hs main = do cs <- getContents print $ length cs countword main = do cs <- getContents print $ length $ words cs
書籍その2 - YAMAGUCHI::weblogにあるとおり、Haskellの本を買いました。研究会直前にも関わらず買いました。まあ知ったこっちゃありませんよね、そんなのは。いよいよ夏休みまでの暇つぶしができそうです。
nvaca先生に相談した結果、GHCを入れるべきであるということになったので速攻でインストールしました。各OSで容易に利用できるようだけど、今はWindows使ってるんでとりあえずバイナリをゲッツ。 The Glasgow Haskell Compiler 色気を出してソースコードをma…
ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門作者: 青木峰郎,山下伸夫出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/06/01メディア: 単行本購入: 25人 クリック: 285回この商品を含むブログ (333件) を見る こんな…
研究会前とか含めいろんな締切が近いから現実逃避にいろいろ始めたくなるお年頃。というわけで前々から気になっていたHaskellを始めてみようかと。 A Gentle Introduction to Haskell, Version 98 About Haskell 結城浩のHaskell日記 - haskell The Glasgow …