やったーHaskellの動くMySQLできたよー

やったー○○の動くMySQLできたよーシリーズ

を見て.このネタは自分にもできそうだなーと思って,Haskellの式を評価するMySQL UDFを作ってみた.

mysql-haskell-plugin

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に投げるカンジで.