29 11 2012 Haskell javascript Tweet
(……きこえますか…きこえますか…JSerの…みなさん… 三島Ha…無名…会です… 今… あなたの…心に…直接… 呼びかけています…フロントエンドは…underscore.jsを…使う場合では…ありません…あなたが…使う…言語は… Clojure某でも…ありません…Haskellです…Haskellを…使うのです…fayでコンパイルするのです…)
fayはHaskellコードをjavascriptにコンパイルするツールで最近精力的に開発が進んでいるようで素晴らしいですね、心に呼びかけられるのも納得です。
import Language.Fay.Prelude mylist :: [Int] mylist = [1..10] -- test main :: Fay () main = print $ any (==2) mylist
fayコマンドでhaskellをjavascriptにコンパイルすればnode.jsで動かせるようになります。
$ fay test.hs $ node test.js true
underscore.jsに載ってた他の関数もこんな感じ。findなんかはMaybe型で返ってくるので値がなかった場合の処理も楽ちんです。
-- each mapM_ print mylist -- map map (3*) mylist -- reduce foldl (+) 0 mylist -- reduceRight foldr (+) 0 mylist -- find find even mylist -- filter filter even mylist -- reject filter (not . even) mylist -- all all (>0) mylist -- any any (>5) mylist -- contains any (==2) mylist
すごいHaskellをKindleで読む時が来ましたね!これは内側からなぜか湧き上がる物欲ですが、、、、
三島Haskell無名関数の会は一緒にHaskellを学ぶお友達を絶賛募集中です。今度は三島でHaskell勉強してホルモン食べながらビールを飲みます。