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

Haskellでwhichコマンド

基本機能だけです。 import qualified Control.Monad as CM import qualified Data.Maybe as DM import System.Directory (doesFileExist) import System.Environment (getArgs) import System.FilePath (getSearchPath, ()) findExe :: String -> IO (Maybe…

Haskellでwc -lを作った

String,ByteString,Textの速度比較を行うために、wc -lを作ってみました。 用意したコードは下記の通りです。 mywc_text.hs {-# LANGUAGE OverloadedStrings #-} import Control.Applicative ((<$>)) import qualified Data.Text.Lazy as LazyT import quali…

Haskellでtailコマンド - その2

前回作ったtailがあまりにも遅過ぎて酷かったので、全面的に書き直しました。 mmapは使ってません。conduitは使ってます。 {- - 方針 - Sourceでは、seekして後ろから4096バイトずつ(又はファイルサイズの1/10バイトずつ)取得する。 - Conduitで、後ろからn…

Haskellでtailコマンド

conduitを試しに使ってみようという事でtailコマンド書いてみました。 やれることはファイルの後ろから数行を表示するという基本だけ。 引数の処理はテキトーなので行数指定必須です。クソです。 {-# LANGUAGE OverloadedStrings #-} import Control.Applica…