Mark partial functions as such

Daniel Díaz Casanueva dhelta.diaz at gmail.com
Fri Aug 31 02:16:51 UTC 2018


Why not? I don't think mentioning that length doesn't work with infinite
lists will do any harm.

I think many people make a distinction between partiality due to endless
evaluation and partiality due to a call to "error". But I still think
documenting either of both things can be helpful.

Best,
Daniel

Am Fr., 31. Aug. 2018 um 04:09 Uhr schrieb David Feuer <
david.feuer at gmail.com>:

> Yes, I think so. What about functions like length? length (repeat ()) is
> bottom. repeat () is not bottom. Ergo, length is partial. But I don't think
> we want to say that!
>
> On Thu, Aug 30, 2018, 10:05 PM Daniel Díaz Casanueva <
> dhelta.diaz at gmail.com> wrote:
>
>> +1 from me too. The partiality of a function seems to me like something
>> that should be documented.
>>
>> Best,
>> Daniel
>>
>> Am Fr., 31. Aug. 2018 um 02:10 Uhr schrieb Richard Eisenberg <
>> rae at cs.brynmawr.edu>:
>>
>>> 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/e4ebad74/attachment.html>


More information about the Libraries mailing list