[Haskell-cafe] Use unsafePerformIO to catch Exception?
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Fri Mar 27 20:23:24 EDT 2009
On Fri, 2009-03-27 at 12:26 +0100, Henning Thielemann wrote:
> On Thu, 26 Mar 2009, wren ng thornton wrote:
>
> > Functions like uncons and viewL are nicer (because they're safe), but they
> > can have overhead because they're unnecessarily complete (e.g. the Maybe
> > wrapper can be avoided if we know a-priori that Just will be the constructor
> > used).
>
> If you know, it's always Just, then don't use Maybe. There must be some
> point in your program, from where it is sure, that it is always Just and
> that is the point where to leave Maybe. When I searched my old code for
> fromJust and head and review it carefully, I could eliminate them in most
> cases.
>
> In another thread (Grouping - Map/Reduce)
Yes, grouping is the one where I most often find the need for head or
partial patterns. The function group produces a list of non-empty lists
but that is not reflected in the type. On the other hand, actually
reflecting it in the type would make it more awkward:
group :: Eq a => [a] -> [(a,[a])]
Duncan
More information about the Haskell-Cafe
mailing list