Send Beginners mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."
Today's Topics:
1. How to call constructor from Template Haskell (Baa)
----------------------------------------------------------------------
Message: 1
Date: Mon, 11 Dec 2017 13:04:33 +0200
From: Baa <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
beginner-level topics related to Haskell <[email protected]>
Subject: [Haskell-beginners] How to call constructor from Template
Haskell
Message-ID: <20171211130433.6e191c18@Pavel>
Content-Type: text/plain; charset=US-ASCII
Hello All!
I have function which constructs some data type. It has signature `Name -> Q
[Dec]`.
Somewhere in its body I'm extracting constructors of some type with
pattern-matching:
case tyCons of
DataD ctx nm tyVars mbKind cs derivs -> ...
Type of those constructors `cs` instantiates some class like this:
class MyClass a where
specialValue :: a
So, I'm iterating over those `cs` but I want to skip one of them which is
equal to `specialValue`. Something like this:
[c | c <- cs, c /= specialValue]
How to do this with Template Haskell's `Con` type (`c`::Con) - I can't call
it to compare created value with a `specialValue` ?
===
Best regards, Paul
------------------------------
Subject: Digest Footer
_______________________________________________
Beginners mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
------------------------------
End of Beginners Digest, Vol 114, Issue 13
******************************************