[Haskell-cafe] Doing people's homework?

Michael Mossey mpm at alumni.caltech.edu
Tue Sep 29 12:09:06 EDT 2009

Iain Barnett wrote:
> So, if I was trying to come up with a solution to a problem that 
> possibly has multiple solutions, like building an engine for a car, I 
> would do better if I hadn't seen a (well crafted) working engine by 
> someone else than if I had?
> If effort is there, then give me the example any time, because insight 
> will be quicker. If you're going to be lazy then it doesn't matter 
> either way.

This could be a question of learning styles. You wrote "If the effort is 
there..." so I assume that means you have a way of putting effort into 
understanding an engine design, even if you have never seen an engine 
design before. Furthermore you have some way of digesting and transforming 
that knowledge so you can make new designs rather than be a slave to imitation.

I definitely cannot do this very well. I learn much faster by struggling 
with a problem so I learn where the "problem" is---what is the key thing 
I'm trying to do, and why do my efforts seem to fall short? Why do I feel 
confused? And THEN looking at the answer to get that "aha!" moment.

This is especially nice in learning Haskell because solutions tend to be 
elegant and contain deep insights.

Isn't there some saying like: "See and remember for a day. Do and remember 
for a lifetime."

In struggling to answer, a student is not simpling "doing" the problem, but 
is actually "doing" part of the thinking that led to the creation of 
Haskell. They are retracing problems and alternative solutions that are in 
some way related to the history of computer science.


More information about the Haskell-Cafe mailing list