2008-08-28から1日間の記事一覧

Template Haskellを使ってみる3

listからtupleを生成する関数と、tupleからlistを生成する関数を作ろうと思ったものの型の扱いが上手く行かない・・・。 そんな事は起こる筈無いと思うんだけど・・・良く分からん!!!!!!! 詰まる :t (\y -> $(return (TupE (map (\x -> LitE $ Intege…

TemplateHaskellを使ってみる2

1と殆ど変わらんけど、前進が大事。 $(do return [FunD (mkName "th_test") [Clause [(LitP $ IntegerL 0)] (NormalB $ LitE $ StringL "zero!") [], Clause [(VarP $ mkName "a")] (NormalB $ LitE $ StringL "other") []]]) これは次のコードと等価 th_tes…

Template Haskellを使ってみる1

何で動いたのかは分からないけど、取りあえず次のコードが動いたのでペタリ import Th_Test1 main = print (th_test 10) th_test_main.hsとしてでも保存しておく。 module Th_Test1 where import Language.Haskell.TH -- th_test a = a $(do return [FunD (m…