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

チャーチ数とラムダ計算

検索していたら、きしだのはてな・おとうさん、ぼくにもYコンビネータがわかりましたよ! という記事にめぐり逢って面白かったので Scheme 写経してみました。 ラムダ関数の表記 ラムダ関数は λx.x のように表記します。 λx.x λx.x*2(λx.x*2)y という関数は …

Haskell で .NET(Shift_JIS)

hs-dotnet-0.4.0 を入れてみました。 $ runghc Setup.hs configure Configuring hs-dotnet-0.4.0... $ runghc Setup.hs build Preprocessing library hs-dotnet-0.4.0... Building hs-dotnet-0.4.0... [ 1 of 167] Compiling NET.System.TypeCodeTy ( NET\Sy…

Parsecにちょっと触ってみる。

Parsecちょっと触ってみます。 パーサーコンビネータは、小さなパーサを組み合わせて大きなパーサを作っていきますが、まずは小さなパーサがどういうものか。 Parsec, 高速なコンビネータパーサ run :: Show a => Parser a -> String -> IO () run p input =…

COM を学ぶ(7) : HaskellでExcel

HaskellでExcelを読み書きしてみました。 Haskell のソースコードは UTF8。UTF8 のソースはコンパイルすると内部コードUCS4に変換されます。Windows は表面はSJISですが、COM を呼ぶときにはBSTRに変換しています。 ソースに書かれた文字列を直接Excelに書き…

COM を学ぶ(6) : C言語でExcel を操作する(Mingw)

C++ を Haskell から呼ぶのが大変だというのが分ったので、Ruby の win32ole.c を参考にC言語で Excel を操作する関数を書いてみました。 これらの関数を Haskell から呼べば HaskellでExcel を操作出来ます(^^)/ C++ ではシートから行・列を指定してCellsオ…

wxWidgets の wxAutomationObject で Excel を操作する。

MinGWはGNU ツールチェーンのWindows移植版でWindows APIのためのヘッダファイルがありGCC で Windowsアプリケーションの開発することができます。 wxWidgetsはWindowsを初めMac OS X、Linuxなど多くのOSで動かすことが出来るウィジェット・ツールキットです…