Re: RFC: Add HasCallStack constraint to partial Data.List functions.

David Feuer <[email protected]>
Newsgroups gmane.comp.lang.haskell.libraries
Message-ID <CAMgWh9uM=dwGYgGjCBn-5Jc7=0-D3DvaLBi7a4HCSBR0RGqrRA@mail.gmail.com>
FWIW, partiality annotations seem a bit silly to me when we don't have
termination checking.

On Wed, Jun 9, 2021, 9:45 AM Henrik Nilsson <[email protected]>
wrote:

>  > I'm not sure I really agree with that.  There is a rich literature on
>  > effect systems, which decorate types with information about what
>  > effects the function has: exceptions, divergence, IO, and the like.
>   > So type like
>  >   head :: Partial => [a] -> a
>  > where 'Partial =>' expresses the fact that calling this function
>  > might lead to a call of 'error' doesn't seem inherently something
>  > that doesn't belong in a type system.
>
> I, of course, agree that partiality is an effect. And I have no
> issues with effects being reflected in the type system.
> We do that all the time with e.g. monads.
>
> If we indeed had something like
>
>     head :: Partial => [a] -> a
>
> that would be both informative and fairly straightforward to
> explain to students, for example. (Even if it is not clear to
> me that a type class really is the right way to express
> partiality of functions: I always thought information about
> partiality ought to be tied to the function arrow.)
>
> My point is that "HasCallStack" strongly suggest a specific approach
> to monitor the behaviour of a function in case it goes wrong.
>
> To me, at least, that is very operational.
>
> And I would struggle to explain
>
>     head :: HasCallStack => [a] -> a
>
> beyond saying "it's just something that sometimes will help you
> with debugging", and deeply hoping no clever student would
> ask about the lack of similar annotations for other partial
> functions.
>
> Best,
>
> /Henrik
>
>
>
> This message and any attachment are intended solely for the addressee
> and may contain confidential information. If you have received this
> message in error, please contact the sender and delete the email and
> attachment.
>
> Any views or opinions expressed by the author of this email do not
> necessarily reflect the views of the University of Nottingham. Email
> communications with the University of Nottingham may be monitored
> where permitted by law.
>
>
>
>
> _______________________________________________
> Libraries mailing list
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>

_______________________________________________
Libraries mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.