LAST CALL to comment on the Appicative/Monad Proposal

Mario Blažević blamario at ciktel.net
Wed Dec 19 03:44:41 UTC 2018


On 2018-12-18 7:25 p.m., Doug McIlroy wrote:
> I am very glad to see Applicative take its place in the
> report: one less mystery in understanding Haskell in the
> wild. The following comments pertain to presentation.

Thank you for the comments. I will act on them if we end up accepting 
the proposal.


> 13.1 Functor class
>
> "The Functor class is used for types that can be mapped over."
>
> "is used for" is extremely vague. Better wording would be
> "The functor class comprises types that can be mapped over."
>
> The same comment applies to section 6.3.5.

     This was the wording in Haskell 2010, so I left it in place. I 
agree that this is a good time to improve it.


> 13.2 Applicative class
>
> A verbal hint about the mnemonic intent of liftA2,
> like those for liftA and liftA3 in 13.4, would be helpful.
>
> Why is the "methods" subsection empty?

     Huh, good catch. I copied the output of Haddock into the TeX file, 
I don't know why the methods are missing. I'll have to examine the 
Haddock output more closely.


> 13.3 Alternative class
>
> This class hasn't been fully integrated into the report.
>
> It is missing from the Standard Prelude (Section 9)
> and from its natural place after 6.3.6.

     This was intentional: the proposal is about Applicative, not about 
Alternative. I have added the Alternative class definition to the 
non-normative Control.Applicative module only to parallel the MonadPlus 
definition in the Control.Monad module. Note that Prelude contains no 
trace of MonadPlus either.

     If the present proposal is accepted (with the other repairs you 
suggested), we'll next have a choice to make regarding Alternative. We 
can leave it in its present non-normative state, we can add it to 
Prelude in its full glory, or we can completely excise it from the 
report. I don't have a strong opinion here, but I dislike the first 
option and I have a weak preference for the last one. I'd mete the same 
treatment to MonadPlus, in this case with more conviction, and I've 
created an RFC for it.


> <|> appears here without definition and is not in the index.
>
> Why is the "methods" subsection empty?
>
> Doug McIlroy
> _______________________________________________
> Haskell-prime mailing list
> Haskell-prime at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-prime




More information about the Haskell-prime mailing list