New package: lazify

Occasionally, it's useful to make things lazier. The utility-ht package has long offered forcePair :: (a,b) -> (a,b) forcePair ~(a,b) = (a,b) But that only works for pairs! If you want to work with records/tuples much more generally, now you can do so conveniently with the lazify package. Please take a look and let me know what you like and dislike, and whether there's anything more you want. https://hackage.haskell.org/package/lazify-0.1.0.1

On Fri, 3 Sep 2021, David Feuer wrote:
Occasionally, it's useful to make things lazier. The utility-ht package has long offered
forcePair :: (a,b) -> (a,b) forcePair ~(a,b) = (a,b)
right :-)
But that only works for pairs! If you want to work with records/tuples much more generally, now you can do so conveniently with the lazify package. Please take a look and let me know what you like and dislike, and whether there's anything more you want.
It's shallow lazify, right?

Yes, shallow (but it looks through newtypes). To do it more deeply would require some way to mark where to stop. On Fri, Sep 3, 2021, 7:14 AM Henning Thielemann < lemming@henning-thielemann.de> wrote:
On Fri, 3 Sep 2021, David Feuer wrote:
Occasionally, it's useful to make things lazier. The utility-ht package has long offered
forcePair :: (a,b) -> (a,b) forcePair ~(a,b) = (a,b)
right :-)
But that only works for pairs! If you want to work with records/tuples much more generally, now you can do so conveniently with the lazify package. Please take a look and let me know what you like and dislike, and whether there's anything more you want.
It's shallow lazify, right?
participants (2)
-
David Feuer
-
Henning Thielemann