[Haskell-cafe] Re: Shrinking the Prelude: The "categorical" approach

Imam Tashdid ul Alam uchchwhash at yahoo.com
Thu Dec 21 00:04:15 EST 2006

so the main issues are these:

Bulat Ziganshin raised: Num is intrinsically bound to
the compiler. sad. so let's leave Num out. this
basically means we will avoid "abstract algebra" in
general. that is, forget "groups", "rings", for now,
the principle focus will be "functor", "monad"...

Henning Thielemann provided links to CAL: hi Henning,
would you mind if we "steal" some of the good looking
names in your Prelude?

Brian Hulley raised one serious issue: even if we were
to define a "newbie" friendly Prelude, which should be
preferred, alphanumeric names or operators? I have a
thing for operators, they look good! but Brian's issue
is solid, the precedence isn't documented by Haddock.
any Haddock developer reading this? so mplus stays. I
would still suggest plus/zero over mplus/zero but
Haskell's scoping is rather liberal. I suggest the
convention that Control.Monad is always imported as M.
this would mean we use M.plus, M.zero, M.lift and so

Diego Navarro said: this will confuse beginners. I
disagree. I think type classes and monads are the
basics of Haskell (before that, it's just commonsense
;)... ) so if the error message successfully conveys
the message that there's a problem, that should be
enough to inspire the beginner to start on the basics.

besides, people will ultimately use the standard
Prelude. what I am trying to do is to prove that with
a good choice of names programs written in Haskell can
look more "comprehensible" to beginners.

like Gosling said about Java, the language syntax has
one very good property: it's easy to read it.

Garrett Morris seems to agree with me on this.

Greg Fitzgerald raised the further issue of monads
being overlooked by the beginners. I think "do
notation considered harmful" blog was at least
partially right: it's better to expose the concept
rather than hiding it.

so with enough people interested (I assume) it's time
to move this discussion to the wiki. the wiki code is
not to be taken seriously, it's a "proof-of-concept",
a "guideline".


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Haskell-Cafe mailing list