wagnerdm | 17 Mar 19:17 2013

ANN: universe-0.0

I've long heralded "data-default" as my favorite ten-line package...  
before it was released, I found my self writing those a few lines in  
each project to do just what's done there. Inspired by this, and the  
fact that there's a separate ten lines that I find myself writing in  
nearly every project, I'm pleased to announce the initial release of  
"universe". The package sports just two load-bearing lines:

class Universe a where universe :: [a]
class Universe a => Finite a where universeF :: [a]

...along with a dozen or so instances of each. The instance do nothing  
more than enumerating all the values of the given type.

Hope you enjoy it, and let me know if you think there are some  
important missing instances!

http://hackage.haskell.org/package/universe
https://github.com/dmwit/universe

~d
wagnerdm | 20 Mar 20:54 2013

ANN: universe-0.1

Thanks to all for the very interesting feedback! Your suggestions have  
resulted in a second release of universe. New in this release:

* instances of Universe and Finite for function spaces
* some cheeky, optional instances of Eq, Ord, Show, and Read for  
functions with Finite domains
* support for (some) Representable functors
* ...but the downside is that this release now relies on TypeFamilies  
(let me know if this seems like a showstopper for you)

Enjoy, and keep the complaints coming!
~d

Quoting wagnerdm <at> seas.upenn.edu:

> I've long heralded "data-default" as my favorite ten-line package...  
> before it was released, I found my self writing those a few lines in  
> each project to do just what's done there. Inspired by this, and the  
> fact that there's a separate ten lines that I find myself writing in  
> nearly every project, I'm pleased to announce the initial release of  
> "universe". The package sports just two load-bearing lines:
>
> class Universe a where universe :: [a]
> class Universe a => Finite a where universeF :: [a]
>
> ...along with a dozen or so instances of each. The instance do  
> nothing more than enumerating all the values of the given type.
>
> Hope you enjoy it, and let me know if you think there are some  
> important missing instances!
(Continue reading)


Gmane