[Haskell-beginners] Syntactic sugar to insert into a Map?
fuuzetsu at fuuzetsu.co.uk
Sun Jul 21 15:08:13 CEST 2013
-----BEGIN PGP SIGNED MESSAGE-----
On 21/07/13 13:36, martin wrote:
> Hello all,
> What is the best way to enter several (key, value) pairs into a
> Map, such that the code "looks nice", kind of like the do-notation
> with monads.
> I suppose this question is not really specific to a Map. It is
> about chaining functions with a type of a1 ->...-> an -> b -> b.
> Is there any syntactic sugar available?
> _______________________________________________ Beginners mailing
> list Beginners at haskell.org
There's no sugar but that doesn't mean you have to have something that
doesn't look nice! Hackage tells me it's an instance of monoid.
*Main Data.Monoid Data.Map> singleton 1 2
*Main Data.Monoid Data.Map> singleton 1 2 <> singleton 2 3
*Main Data.Monoid Data.Map> singleton 1 2 <> singleton 2 3 <>
singleton 4 3
There's of course fromList
*Main Data.Monoid Data.Map> fromList [(1, 2), (3, 4)] <> fromList [(7,
2), (8, 4)]
*Main Data.Monoid Data.Map> fromList $ zip [1 .. 3] ['a' .. 'z']
I don't think that fromList looks nice enough, especially considering
that you can split it across many lines etc. It'd be easier to help if
you could be more specific about what you're looking for.
As per your chaining question, no, there's no general way to do this
for arbitrary `n' that I'm aware of (that doesn't involve some real
hackery which doesn't seem like what you're looking for)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the Beginners