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> 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> skrev: > >> >> >> On Dec 3, 2020, at 10:23 AM, Bryan Richter <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 > 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