読者です 読者をやめる 読者になる 読者になる

北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

shu-thing (シューティングもどき) を動かす

12年前にhaskellで書かれた shu-thing を手元で動かした。と言っても、ほとんど何もせずに動いてしまった。

@@ -10,6 +10,7 @@
 import System.Process

 main = do
+  getArgsAndInitialize
   keystate <- newIORef []
   cp       <- newIORef (openingProc keystate)
   initialWindowSize $= Size 640 480
@@ -44,9 +45,9 @@
   mainLoop
   destroyWindow wnd

-  `catch` (\exc -> return ())
+  `catch` (\exc -> print (exc :: SomeException))

-exitLoop = throwIO $ ExitException ExitSuccess
+exitLoop = exitWith ExitSuccess

 initMatrix = do
   viewport $= (Position 0 0,Size 640 480)
@@ -184,7 +185,7 @@

 closeProc = do
   putStrLn "closed"
-  throwIO $ ExitException ExitSuccess
+  exitWith ExitSuccess

 bosstime=6600
 bosstime2=7200
$ stack ghc -- -o shu-thing.exe gl.hs
[1 of 1] Compiling Main             ( gl.hs, gl.o )
Linking shu-thing.exe ...

freeglut 入りの mingw64 でビルド、実行している。

2017/5/18追記: hackageにも上がってた