Gram instances for data types.
Note! This is not a complete implementation and will not work for all datatypes.
- Multiple type arguments
- Tuple, Function, List types
- All primitive types (also when used in user defined types!)
Use with care.
Gram instance. This is a Template Haskell function. Usage example:
data T1 = C1 | C2 | C3 $(deriveGrammar ''T1)