David Whiting created CRUNCH-650:
------------------------------------
Summary: Support case classes and tuples without reflection or
codegen using shapeless
Key: CRUNCH-650
URL: https://issues.apache.org/jira/browse/CRUNCH-650
Project: Crunch
Issue Type: Improvement
Components: Scrunch
Reporter: David Whiting
Assignee: David Whiting
Attachments:
0001-Replace-generated-tuple-code-and-reflective-case-cla.patch
Scrunch support for case classes is pretty buggy, only supports a subset of
scala versions, and fails at runtime instead of compile time if something goes
wrong. Additionally, the support of tuple types via code generation is awkward
and unnecessary.
This patch should hopefully solve both of these with a shapeless
(https://github.com/milessabin/shapeless) based solution which should be much
simpler and more reliable, by defining a mechanism for deriving PTypeH
instances for HLists where PTypeH instances for each type in the list is known.
We have used it in a few production cases at SC for a while, and the unit and
integration test suite passes, but I didn't write any new tests specifically
for this purpose. Hopefully they should be covered by the existing tests using
case classes and tuples.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)