I'm trying to introduce a new local variable to some scope, in this
example this scope is represented by print $( varE ohNoes)
Everything works as expected, but I'm getting a warning message which
I don't seem quite right to me. Am I doing anything wrong?
---- Blah.hs ----
{-# LANGUAGE TemplateHaskell #-}
module Blah where
import
Language.Haskell.TH
sample :: Q Exp
sample = newName "ohNoes" >>= \ohNoes -> [| let $( varP ohNoes ) =
"Teh warning!" in print $( varE ohNoes ) |]
---- Main.hs ----
{-# LANGUAGE TemplateHaskell #-}
module Main where
import Blah
main :: IO ()
main = $( sample )
---- output ----
Blah.hs:8:49: Warning:
This pattern-binding binds no variables:
$(varP ohNoes) = "Teh warning!"
sample
======>
let ohNoes_a2Al = "Teh warning!" in print ohNoes_a2Al
_______________________________________________
Haskell-Cafe mailing list
Haskel...@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe