Discussion:
[Haskell wikibook] Anyone around?
Daniel David
2010-05-06 22:16:55 UTC
Permalink
Hello everybody,

I joined this list after spending a good while learning Haskell basics with the Wikibook and at the same time trying to do some refactoring on the book itself. Consider this a test message: I am looking for other people interested in discussing ways to improve the contents, and I'm polling the reactions/activity of the subscribers of this list. I am particularly interested in the Beginner Modules - not only because it's the area I, as a newbie haskeller, feel more comfortable in contributing to right now, but also because it naturally would tend to be kind of overlooked by veterans willing to add interesting stuff in the advanced chapters (as far as I can be aware of, only one Wikibook regular has seen some of my contributions there so far, namely Apfelmus).

Waiting for your replies ;-)

Daniel Mlot

P.S.: Forgive me for any etiquette mistakes, it is the first time I'm using a conventional mailing list as opposed to a phpBB forum or something in that vein.
Eric Y. Kow
2010-05-06 22:52:41 UTC
Permalink
Post by Daniel David
Waiting for your replies ;-)
Please don't be discouraged if nobody replies. You could be
responsible for breathing new life into this list.

Where does the Haskell Wikibook fit it in a LYAH and RWH
age? What can we contribute?
--
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/wikibook/attachments/20100506/4fa35dd7/attachment.bin
PR Stanley
2010-05-07 01:27:57 UTC
Permalink
Hello, Anything I can do?
Paul
Post by Daniel David
Waiting for your replies ;-)
Please don't be discouraged if nobody replies. You could be
responsible for breathing new life into this list.
Where does the Haskell Wikibook fit it in a LYAH and RWH
age? What can we contribute?
--
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
_______________________________________________
Wikibook mailing list
http://www.haskell.org/mailman/listinfo/wikibook
Heinrich Apfelmus
2010-05-07 09:54:29 UTC
Permalink
Post by Eric Y. Kow
Post by Daniel David
Waiting for your replies ;-)
Please don't be discouraged if nobody replies. You could be
responsible for breathing new life into this list.
Indeed, thanks for your contributions, Daniel! :)
Post by Eric Y. Kow
Where does the Haskell Wikibook fit it in a LYAH and RWH
age? What can we contribute?
Good question, but I have a good answer, or rather, a plan.

One of the main differences of the wikibook compared to a paper book is
that it's *modular*: you don't have to read the whole wikibook in order
to understand and profit from a single chapter. Well, the wikibook is
not really structured like that at the moment, but I would like to see
this happen.

In particular, I'd like to keep track of dependencies, for example by
adding a small infobox to each chapter along the lines of

"Before reading this chapter, you have to understand: Basic Haskell,
Lazy Evaluation."

For instance, this would greatly improve the introduction to monads;
it's not uncommon for Haskell beginners to skip over the "easy" stuff
and get stuck at monads because they don't have a good grasp on concepts
like type constructors and higher order functions. By making
dependencies explicit, they can backtrack and patch up their
understanding without having to read the whole book.

Of course, the key point is the skill of the authors to make chapters
fairly independent; i.e. to make dependencies substantially smaller than
"read the whole book". But I already have a structure for the Haskell
wikibook in mind that can do this.
Post by Eric Y. Kow
I am particularly interested in the Beginner Modules - not only
because it's the area I, as a newbie haskeller, feel more comfortable
in contributing to right now, but also because it naturally would
tend to be kind of overlooked by veterans willing to add interesting
stuff in the advanced chapters
I admit being mainly interested in the advanced chapters. :D


Regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com
Daniel Mlot
2010-05-07 13:17:42 UTC
Permalink
To Eric and Paul, who asked what they can do to help. The answer is
pretty much anything, from small things to bigger ones :) From improving
the examples on the beginners module, to filling some of the gaps in
advanced or helping with some editorial decisions that need to be made
(like settling on a standard style for displaying code examples), to
simple proofreading. I will put up some particular issues in more
specific messages later on.
Post by Heinrich Apfelmus
Post by Eric Y. Kow
Where does the Haskell Wikibook fit it in a LYAH and RWH
age? What can we contribute?
I must admit I was having enough fun with the Wikibook to allow myself
to remain in blissful ignorance of other tutorials (well, at least until
I attempted to read the more complicated stuff in Advanced). Both of the
resources you mentioned really seem to be excellent, indeed. But I find
the Wiki concept appealing for programming students because it allows
some unique and appealing possibilities of enriching the contents, such
as people adding their notebook annotations or exercises based on
real-life experience. And then there are Apfelmus' considerations...
Post by Heinrich Apfelmus
Good question, but I have a good answer, or rather, a plan.
One of the main differences of the wikibook compared to a paper book is
that it's *modular*: you don't have to read the whole wikibook in order
to understand and profit from a single chapter. Well, the wikibook is
not really structured like that at the moment, but I would like to see
this happen.
In particular, I'd like to keep track of dependencies, for example by
adding a small infobox to each chapter along the lines of
"Before reading this chapter, you have to understand: Basic Haskell,
Lazy Evaluation."
For instance, this would greatly improve the introduction to monads;
it's not uncommon for Haskell beginners to skip over the "easy" stuff
and get stuck at monads because they don't have a good grasp on concepts
like type constructors and higher order functions. By making
dependencies explicit, they can backtrack and patch up their
understanding without having to read the whole book.
Of course, the key point is the skill of the authors to make chapters
fairly independent; i.e. to make dependencies substantially smaller than
"read the whole book". But I already have a structure for the Haskell
wikibook in mind that can do this.
Actually that has a lot to do with some of my ideas about the book.
Going through all of the beginner lessons in a very short amount of time
and then at least skimming through most of advanced made me realize a
couple things about its overall structure, the main point being that the
learning curve is not smooth and predictable, and it would be very
difficult to make it so without dumbing down the contents.

For instance, after a beginner gets a good grasp of the elementary
concepts in the first two chapters (Basics/Elementary) Intermediate
Haskell is no more difficult than what came before. Then of course there
are the monads. Understanding Monads is quite a bit harder than the
preceding material, but a newbie with some patience will get a good
grasp of the key concepts because that module is exceedingly well
written (it presents monads as so powerful you just *have* to understand
them). From them on, the difficulty quickly ramps up through the
advanced monad stuff (transformers, etc. - I still have to really
understand how that works) and hitting a peak at the arrows chapters at
the very beginning of advanced. But then, right in the middle of
advanced, there is that wonderful module on zippers, which is much more
accessible than what comes just before it (well, at least the first,
more practical part is). And then most of the material in the Fun with
Types chapter can be understood and prove useful independently of the
really difficult stuff about I mentioned.

That leads to the conclusion that following the book linearly is
probably not the optimal way to do it, specially when one gets to the
more advanced topics. I thought about having a study guide, which
presented the dependency tree (as Apfelmus suggested) as well as trails
on a particular topic, as in Data structures: Lists and tuples > More
about lists > List processing > (Type declarations) > More on datatypes
Post by Heinrich Apfelmus
(Trees, general map and fold) > Zippers > (Maps? Arrays?) > ... I
also think it would be great having some visually rich way of presenting
the relationships, like using conceptual maps (for instance, have a look
at this nifty tool: http://cmap.ihmc.us/conceptmap.html ).

---

Thanks for the feedback, see you all later :)

Daniel Mlot
Eric Kow
2010-05-07 13:25:44 UTC
Permalink
Post by Daniel Mlot
To Eric and Paul, who asked what they can do to help.
Whoops,
Post by Daniel Mlot
Post by Eric Y. Kow
Where does the Haskell Wikibook fit it in a LYAH and RWH
age? What can we contribute?
I meant more generally what Wikibooks can contribute to the
Haskell learning world.

Personally, I'll be watching from the sidelines and cheering
you on :-)
--
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/wikibook/attachments/20100507/7dfaf9aa/attachment.bin
Daniel Mlot
2010-05-07 13:31:21 UTC
Permalink
Post by Eric Kow
Post by Daniel Mlot
To Eric and Paul, who asked what they can do to help.
Whoops,
Post by Daniel Mlot
Post by Eric Y. Kow
Where does the Haskell Wikibook fit it in a LYAH and RWH
age? What can we contribute?
I meant more generally what Wikibooks can contribute to the
Haskell learning world.
Personally, I'll be watching from the sidelines and cheering
you on :-)
That's fine, you already did quite a lot, as clearly demonstrated by the
many side notes of yours I've met, Kowey :-)
Heinrich Apfelmus
2010-05-10 14:27:49 UTC
Permalink
Post by Daniel Mlot
That leads to the conclusion that following the book linearly is
probably not the optimal way to do it, specially when one gets to the
more advanced topics.
Yep. In particular, people are likely to read the advanced material
after having learned Haskell from other tutorials and so on. We can as
well embrace modularity.
Post by Daniel Mlot
I thought about having a study guide, which
presented the dependency tree (as Apfelmus suggested) as well as trails
on a particular topic, as in Data structures: Lists and tuples > More
about lists > List processing > (Type declarations) > More on datatypes
(Trees, general map and fold) > Zippers > (Maps? Arrays?) > ... I also
think it would be great having some visually rich way of presenting the
relationships, like using conceptual maps (for instance, have a look at
this nifty tool: http://cmap.ihmc.us/conceptmap.html ).
Indeed, the main drawback of modularity is the loss of clear navigation.
Tracking prerequisites and study guides can alleviate that.


Regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com

Loading...