[Haskell-beginners] How to nest arbitrary things
Francesco Ariis
fa-ml at ariis.it
Mon Dec 21 20:10:42 UTC 2015
On Mon, Dec 21, 2015 at 08:41:47PM +0100, martin wrote:
> > I would say typeclasses might help you, but before that, what would
> > the unpack function signature look like?
> >
> > unpack :: (Package s) => s a -> [a]
> >
> > Like this? If so, I don't see much benefit (or what problem we're
> > trying to solve) in trucks>boxes>parcels>cans types.
>
> Unpacking should separate the container from its contents, i.e.
> given a packed container it should return an empty container and
> whatever was inside.
I'd still ask for a type signature if you feel it's possible, it
clears things up (and/or highlights where the type system is getting
in the way).
An I'd still argue that "arbitrarily nestable" things is a bad idea,
as Kim-Ee Yeoh explained. I like Haskell type system because carefully
designed types "lead the way": some 'wrong' code won't even compile.
In real life, what are we trying to model? Why is `unpack` useful/needed?
How would I use its output? (a valid answer being: "just a mental
experiment")
More information about the Beginners
mailing list