[Haskell-cafe] Errors with Template Haskell

Edsko de Vries edskodevries at gmail.com
Fri Aug 9 11:17:57 CEST 2013


The Template Haskell quotation monad (Q) has proper support for fail:

    module A where

    import Language.Haskell.TH

    foo :: Q Exp
    foo = fail "Custom compile error!"

and

    module B where

    import A

    main :: IO ()
    main = print $foo

gives

    B.hs:6:14:
        Custom compile error!
        In the first argument of `print', namely `$foo'
        In the expression: print ($foo)
        In an equation for `main': main = print ($foo)

-E

On Fri, Aug 9, 2013 at 9:48 AM, Jose A. Lopes <jabolopes at google.com> wrote:
> Hi,
>
> In Template Haskell, what is the proper way of signalling an error ?
>
> For example, you are generating code and you detect that a given
> parameter does not fulfill a precondition (e.g., String is empty), and
> you want to abort compilation with a descriptive error message.
>
> Thanks,
> Jose
>
> --
> Jose Antonio Lopes
> Ganeti Engineering
> Google Germany GmbH
> Dienerstr. 12, 80331, München
>
> Registergericht und -nummer: Hamburg, HRB 86891
> Sitz der Gesellschaft: Hamburg
> Geschäftsführer: Graham Law, Christine Elizabeth Flores
> Steuernummer: 48/725/00206
> Umsatzsteueridentifikationsnummer: DE813741370
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe




More information about the Haskell-Cafe mailing list