This is an example of how #164 could be fixed, by adding strictly tail recursive versions of groupsOf and friends for when they are needed, while still allowing access to the (presumably faster) default versions. It simply uses a direct copy of the tail recursive version of List.take that is used internally by elm/core.
This is just a sample, and intended more to create a place to discuss #164 rather than a definitive solution... perhaps it is considered too much of a corner case to fix anyway?
This is an example of how #164 could be fixed, by adding strictly tail recursive versions of
groupsOf
and friends for when they are needed, while still allowing access to the (presumably faster) default versions. It simply uses a direct copy of the tail recursive version ofList.take
that is used internally by elm/core.This is just a sample, and intended more to create a place to discuss #164 rather than a definitive solution... perhaps it is considered too much of a corner case to fix anyway?