我必须创建一个函数,它接受一个表达式作为参数,比如sin 2.5或cos 1。有没有像Function或Expression这样的构造函数类型?我的老师给了我们一张工作表,他在上面写下了这个存在,但没有写下如何使用它...
Function
Expression
cnjp1d6j1#
是的,这个是存在的,它被称为模板Haskell。
$ ghci GHCi, version 8.6.5: http://www.haskell.org/ghc/ :? for help Prelude> :m +Language.Haskell.TH Prelude Language.Haskell.TH> :set -XTemplateHaskell Prelude Language.Haskell.TH> runQ [|sin 2.5|] AppE (VarE GHC.Float.sin) (LitE (RationalL (5 % 2)))
1条答案
按热度按时间cnjp1d6j1#
是的,这个是存在的,它被称为模板Haskell。