Personal tools

Talk:The Other Prelude

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Naming comment, Monad => Functor)
(starting a discussion, wiki style!)
Line 1: Line 1:
 
i have no idea what i'm talking about here, but shouldn't "Monad m" imply "Functor m" if we're already starting with a clean slate? Also, what should the solution to "head", etc be? --[[User:JohannesAhlmann|Johannes Ahlmann]] 09:47, 21 December 2006 (UTC)
 
i have no idea what i'm talking about here, but shouldn't "Monad m" imply "Functor m" if we're already starting with a clean slate? Also, what should the solution to "head", etc be? --[[User:JohannesAhlmann|Johannes Ahlmann]] 09:47, 21 December 2006 (UTC)
 
:"Monad m" should imply "Functor m". By your question about "head", do you mean the problem of it being undefined on <hask>[]</hask>? [[User:BrettGiles|BrettGiles]] 14:13, 21 December 2006 (UTC)
 
:"Monad m" should imply "Functor m". By your question about "head", do you mean the problem of it being undefined on <hask>[]</hask>? [[User:BrettGiles|BrettGiles]] 14:13, 21 December 2006 (UTC)
  +
:: <hask>head</hask>, <hask>fst</hask> et cetera are projection functions. They can, in fact, be achieved by pattern matching, and are done that way often. It seems to me that at least the Prelude should be very mathematical and leave them out. YMMV. But <hask>Monad m</hask> should really imply <hask>Functor m</hask> if we want to be mathematical, and indeed we do. --[[User:Uchchwhash|Pirated Dreams]] 22:33, 21 December 2006 (UTC)
   
   
 
==Naming==
 
==Naming==
 
Although the name of the page "The Other Prelude" does not seem to fit the Wiki standard (sentence case says: The other prelude), I left it as it appears to be a proper name when you read the content. [[User:BrettGiles|BrettGiles]] 14:13, 21 December 2006 (UTC)
 
Although the name of the page "The Other Prelude" does not seem to fit the Wiki standard (sentence case says: The other prelude), I left it as it appears to be a proper name when you read the content. [[User:BrettGiles|BrettGiles]] 14:13, 21 December 2006 (UTC)
  +
: Yes Brett, at least that was my intention. --[[User:Uchchwhash|Pirated Dreams]] 22:33, 21 December 2006 (UTC)
  +
  +
== Issues ==
  +
I propose the following:
  +
* The Functor hierarchy proposal should be adopted.
  +
* There will be basic algebra modules in the Prelude hierarchy. Named, possibly, <hask>TheOtherPrelude.Algebra</hask>, if the numerical prelude people are happy with it. At this point I think the name, though clear, is very long.
  +
* I propose operators to be preferred over alphanumeric names. <hask>(++)</hask> seems way cooler than <hask>M.plus</hask>. YMMV. Vote here. About the precedence issue, I think proper usage of parentheses is enough for all practical purposes. Besides, (++) is associative.

Revision as of 22:33, 21 December 2006

i have no idea what i'm talking about here, but shouldn't "Monad m" imply "Functor m" if we're already starting with a clean slate? Also, what should the solution to "head", etc be? --Johannes Ahlmann 09:47, 21 December 2006 (UTC)

"Monad m" should imply "Functor m". By your question about "head", do you mean the problem of it being undefined on
[]
? BrettGiles 14:13, 21 December 2006 (UTC)
head
,
fst
et cetera are projection functions. They can, in fact, be achieved by pattern matching, and are done that way often. It seems to me that at least the Prelude should be very mathematical and leave them out. YMMV. But
Monad m
should really imply
Functor m
if we want to be mathematical, and indeed we do. --Pirated Dreams 22:33, 21 December 2006 (UTC)


1 Naming

Although the name of the page "The Other Prelude" does not seem to fit the Wiki standard (sentence case says: The other prelude), I left it as it appears to be a proper name when you read the content. BrettGiles 14:13, 21 December 2006 (UTC)

Yes Brett, at least that was my intention. --Pirated Dreams 22:33, 21 December 2006 (UTC)

2 Issues

I propose the following:

  • The Functor hierarchy proposal should be adopted.
  • There will be basic algebra modules in the Prelude hierarchy. Named, possibly,
    TheOtherPrelude.Algebra
    , if the numerical prelude people are happy with it. At this point I think the name, though clear, is very long.
  • I propose operators to be preferred over alphanumeric names.
    (++)
    seems way cooler than
    M.plus
    . YMMV. Vote here. About the precedence issue, I think proper usage of parentheses is enough for all practical purposes. Besides, (++) is associative.