I don't know if this has been discussed but couldn't we reuse the lambda
abstraction syntax for this?
That is instead of writing: forall a ->
Write: \a ->
Sylvain
On 03/12/2020 17:21, Vladislav Zavialov wrote:
There is no *implicit* universal quantification in that example, but
there is an explicit quantifier. It is written as follows:
forall a ->
which is entirely analogous to:
forall a.
in all ways other than the additional requirement to instantiate the
type vatiable visibly at use sites.
- Vlad
On Thu, Dec 3, 2020, 19:12 Bryan Richter <b...@chreekat.net
<mailto:b...@chreekat.net>> wrote:
I must be confused, because it sounds like you are contradicting
yourself. :) In one sentence you say that there is no assumed
universal quantification going on, and in the next you say that
the function does indeed work for all types. Isn't that the
definition of universal quantification?
(We're definitely getting somewhere interesting!)
Den tors 3 dec. 2020 17:56Richard Eisenberg <r...@richarde.dev
<mailto:r...@richarde.dev>> skrev:
On Dec 3, 2020, at 10:23 AM, Bryan Richter <b...@chreekat.net
<mailto:b...@chreekat.net>> wrote:
Consider `forall a -> a -> a`. There's still an implicit
universal quantification that is assumed, right?
No, there isn't, and I think this is the central point of
confusion. A function of type `forall a -> a -> a` does work
for all types `a`. So I think the keyword is appropriate. The
only difference is that we must state what `a` is explicitly.
I thus respectfully disagree with
But somewhere, an author decided to reuse the same keyword to
herald a type argument. It seems they stopped thinking about
the meaning of the word itself, saw that it was syntactically
in the right spot, and borrowed it to mean something else.
Does this help clarify? And if it does, is there a place you
can direct us to where the point could be made more clearly? I
think you're far from the only one who has tripped here.
Richard
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org <mailto:ghc-devs@haskell.org>
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
<http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs>
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs