<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I think this comes down to just documenting things like how strict functions are and how they behave on various classes of inputs. These are good things to document. It doesn’t just have to be about a boolean flag “partial” paste on a bunch of definitions.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 30, 2018, at 7:16 PM, Daniel Díaz Casanueva <<a href="mailto:dhelta.diaz@gmail.com" class="">dhelta.diaz@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Why not? I don't think mentioning that length doesn't work with infinite lists will do any harm.<div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">Best,</div><div class="">Daniel</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">Am Fr., 31. Aug. 2018 um 04:09 Uhr schrieb David Feuer <<a href="mailto:david.feuer@gmail.com" class="">david.feuer@gmail.com</a>>:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="">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!</div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Aug 30, 2018, 10:05 PM Daniel Díaz Casanueva <<a href="mailto:dhelta.diaz@gmail.com" target="_blank" class="">dhelta.diaz@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">+1 from me too. The partiality of a function seems to me like something that should be documented.<br class=""><div class=""><br class=""></div><div class="">Best,</div><div class="">Daniel</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">Am Fr., 31. Aug. 2018 um 02:10 Uhr schrieb Richard Eisenberg <<a href="mailto:rae@cs.brynmawr.edu" rel="noreferrer" target="_blank" class="">rae@cs.brynmawr.edu</a>>:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Proposal: Mark partial functions in `base` as partial<br class="">
<br class="">
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.<br class="">
<br class="">
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.<br class="">
<br class="">
Thoughts?<br class="">
<br class="">
Thanks,<br class="">
Richard<br class="">
_______________________________________________<br class="">
Libraries mailing list<br class="">
<a href="mailto:Libraries@haskell.org" rel="noreferrer" target="_blank" class="">Libraries@haskell.org</a><br class="">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer" target="_blank" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br class="">
</blockquote></div>
_______________________________________________<br class="">
Libraries mailing list<br class="">
<a href="mailto:Libraries@haskell.org" rel="noreferrer" target="_blank" class="">Libraries@haskell.org</a><br class="">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer" target="_blank" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br class="">
</blockquote></div>
</blockquote></div>
_______________________________________________<br class="">Libraries mailing list<br class=""><a href="mailto:Libraries@haskell.org" class="">Libraries@haskell.org</a><br class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries<br class=""></div></blockquote></div><br class=""></body></html>