Use of forall as a sigil

John Ericson john.ericson at obsidian.systems
Sun Nov 22 16:40:51 UTC 2020


I have thought about this too, and don't believe it has been widely 
discussed.

- We are already getting `forall {a}.`, so it fits nicely with that.

- However, it would have to be `forall @a ->`, because `forall a.` is 
already an invisible quantification, unless one wants to just change the 
meaning of `forall a.`!

John

On 11/22/20 6:23 AM, Andrey Mokhov wrote:
> Hi Richard,
>
>> In the end, I've never loved the forall ... -> syntax, but I've never seen
>> anything better.
> What about the forall @a. syntax?
>
> For example:
>
>    sizeOf :: forall @a. Sized a => Int
>
> We already use @ to explicitly specify types, so it seems natural mark type parameters that must be explicitly specified with @ too.
>
> Here's how one would read it: "for all explicitly specified a, ..."
>
> Apologies if this has been discussed and I missed it. It doesn't seem to be mentioned in the Alternatives section of the proposal but perhaps it will just never work for some reason.
>
> Cheers,
> Andrey
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list