SML#の威力

SML#の外部関数インターフェースが盛り上がっているようなので後追い。

SML# 0.20 (2007-03-30 10:47:08 JST)
# val user32 = DynamicLink.dlopen "user32.dll";
val user32 = 0x77cf0000 : unit ptr
# val MessageBoxA =
>     DynamicLink.dlsym (user32, "MessageBoxA")
>     : _import _stdcall (unit ptr, string, string, Word32.word) -> int;
val MessageBoxA = fn : unit ptr * string * string * word  -> int
# val MB_SYSTEMMODAL = 0w4096;
val MB_SYSTEMMODAL = 0wx1000 : word
# MessageBoxA (NULL, "Hello World!", "SMLSharp", MB_SYSTEMMODAL);
val it = 1 : int

他にもOpenGLとかサウンドとか(Cのqsort関数でMLの多相型配列を)クイックソートとかあります

P.S. MinGW版の対話環境はまだCtrl-Cで終了してしまうようなので注意(UNIX版では直った)。