Mark partial functions as such

Simon Jakobi simon.jakobi at googlemail.com
Fri Aug 31 15:21:16 UTC 2018


(Sending this again, as I forgot to include the list)

Hi Richard,

I think that's a good idea!

What about typeclass methods where totality / partiality depends on the
instance like Foldable's foldl1? What do we mark partial in this case? The
method declaration? The instance? Both?

Cheers,
Simon

Am Fr., 31. Aug. 2018 um 02:13 Uhr schrieb Richard Eisenberg <
rae at cs.brynmawr.edu>:

> Just to clarify here: all I mean is that we should include the word
> "Partial" in the Haddock documentation -- no deprecation or warning, just
> documentation.
>
> Richard
>
> > On Aug 30, 2018, at 8:10 PM, Richard Eisenberg <rae at cs.brynmawr.edu>
> wrote:
> >
> > Proposal: Mark partial functions in `base` as partial
> >
> > Motivation: I'm about to teach Haskell to a classful of beginners. In my
> experience, they will soon reach for functions like `head` and `tail`,
> because pattern-matching is foreign to them. I would love just to be able
> to say "Don't use partial functions", but many students will not easily be
> able to tell partial functions from total ones.
> >
> > I do expect this problem to work itself out rather quickly, and then
> students will be able to identify partial functions, but loudly marking
> partial functions as partial seems like a small service to everyone and a
> bigger one to newbies. I don't see any downsides.
> >
> > Thoughts?
> >
> > Thanks,
> > Richard
> > _______________________________________________
> > Libraries mailing list
> > Libraries at haskell.org
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20180831/0f4e5e13/attachment.html>


More information about the Libraries mailing list