Archive for the ‘Haskell’ Category
-
Hello, COM(Haskell) World!
Posted on 1月 27th, 2013 by cx20
COM(Haskell)
COM(Component Object Model)はマイクロソフトの提唱するプログラム部品の仕様である。
COM を用いて開発された部品であれば言語を問わず利用することができる。
以下は Haskell にて COM support library を使用した COM クライアントの例となっている。ソースコード
import System.Win32.Com import System.Win32.Com.Automation main = do coInitialize shell <- createObject "Shell.Application"; method0 "browseForFolder" [inInt 0, inString "Hello, COM(Haskell) World!", inInt 0, inInt 36] shell
コンパイル方法
C:¥> ghc Hello.hs
実行結果
+----------------------------------------+ |Browse For Folder [X]| +----------------------------------------+ | Hello, COM(Haskell) Wolrd! | | | | +------------------------------------+ | | |[Windows] | | | | +[addins] | | | | +[AppCompat] | | | | +[AppPatch] | | | | +[assembly] | | | | : | | | | : | | | | : | | | +------------------------------------+ | | [Make New Folder] [ OK ] [Cancel] | +----------------------------------------+
-
Hello, Win32 API(Haskell) World!
Posted on 6月 27th, 2012 by cx20
Win32 API(Haskell)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は Haskell による Win32 API の呼出し例である。ソースコード
import Graphics.Win32.GDI.Types import System.Win32.Types messageBox :: HWND -> String -> String -> UINT -> IO UINT messageBox hwnd text caption style = withTString text $ c_text -> withTString caption $ c_caption -> failIfZero "MessageBox" $ c_MessageBox hwnd c_text c_caption style foreign import stdcall unsafe "windows.h MessageBoxW" c_MessageBox :: HWND -> LPCTSTR -> LPCTSTR -> UINT -> IO UINT main = messageBox nullHANDLE "Hello, Win32 API(Haskell) World!" "Hello, World!" 0
コンパイル方法
C:¥> ghc hello.hs
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API(Haskell) World! --------------------------- OK ---------------------------
-
Hello, Haskell World!
Posted on 12月 14th, 2011 by cx20
Haskell
Haskell は関数型プログラミング言語のひとつ。名前は論理学者であるハスケル・カリーに由来する。
ソースコード
コンパイル方法
$ ghc -o hello hello.hs
実行結果
Hello, Haskell World!