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

Haskell から wxWidgets(C++) を呼ぶ

wxWidgetsには wxHaskell に使用されているGUI以外にも wxString、wxVariant など有用なライブラリがあります。 Haskell から wxWidgets の wxAutomationObject で COM を操作してみます。 (以下は wxWidgets がインストールされた環境を前提としています。…

Windows 環境にて Haskell から PostgreSQL を扱う

Real World Haskell:21 データベース操作を参考に PostgreSQL をテストしてみました。 PostgreSQL の最新バージョンは 9.0.1 ですが、そのままでは connectPostgreSQL を実行した時点で krb5_32.dll がないと言われます。ファイルの中味を確認すると9.0.1-1…

CSVファイルをダンプする

【Microsoft SQL Server】 BCPユーティリティの使用法を参考に SQL server のテーブルをCSVファイルにダンプしました。 まず、テーブルのフォーマットを取得します。 >bcp DBNAME.dbo.tablename out c:\c\db\tablename.txt -S HOSTNAME -U username -P…

CSV のファイルを読み込んでリストに変換する

Data.List.Splitを使うと簡単にCSVをリストに変換出来ます。 split パッケージをインストールします。 > cabal update Downloading the latest package list from hackage.haskell.org > cabal install split Resolving dependencies... Downloading split-0…

文字列の md5 ハッシュ値を計算する

pureMD5を使って文字列のMD5を算出します。 > :m + Data.Digest.Pure.MD5 > :t md5 md5 :: Data.ByteString.Lazy.Internal.ByteString -> MD5Digest md5 関数は Data.ByteString.Lazy.Internal.ByteString から MD5Digest を作るので、 Haskellの文字列(Lis…

MS-WIndows 環境での Haskell の文字コード

日本語を含んだHaskellのソースコードは UTF8 で記述しますがコンパイルされた文字列はHaskellの内部コード UCS4 に変換されます。 Windows システムとの文字列のやり取りは UCS4 から SJIS に変換して書き込み、受信した文字列はSJISからUCS4に変換します。…

練習に分数を循環小数で表現してみる。

分数を循環小数で表現しているページを見かけたので Haskell の練習に私もやってみました。 {- > fractionToDecimal 1 2 --=> "0.5" > fractionToDecimal 2 3 --=> "0.(6)" > fractionToDecimal 2 7 --=> "0.(285714)" > fractionToDecimal 1 66 --=> "0.0(1…

negate (-) - の違いは・・・?

nagate は Num 型の引数をひとつとり符号を反転させて返す関数。 > :t negate negate :: (Num a) => a -> a > :i negate class (Eq a, Show a) => Num a where ... negate :: a -> a ... -- Defined in GHC.Num > negate 1 --=> -1 > negate $ negate 1 --=>…