やったーHaskellの動くMySQLできたよー
やったー○○の動くMySQLできたよーシリーズ
を見て.このネタは自分にもできそうだなーと思って,Haskellの式を評価するMySQL UDFを作ってみた.
mysql> select hs_eval('sum [1 .. 10]'); +--------------------------+ | hs_eval('sum [1 .. 10]') | +--------------------------+ | 55 | +--------------------------+ 1 row in set (0.13 sec) mysql> select hs_eval('let fib = 1 : 1 : zipWith (+) fib (tail fib) in fib !! 10'); +----------------------------------------------------------------------+ | hs_eval('let fib = 1 : 1 : zipWith (+) fib (tail fib) in fib !! 10') | +----------------------------------------------------------------------+ | 89 | +----------------------------------------------------------------------+ 1 row in set (0.05 sec)
hs_evalに渡される式をFFIでhintに投げるカンジで.