Hi Johannes:

> > That said, don't be thrown off by the introductory nature of SOE.
> > In particular, chapters 13, 15, and 19 ...
> 
> Certainly. But for instance in chapter 15,
> I am quite worried about the usage of the memo "function",
> without which the whole thing wouldn't work.
> To students, this looks as if for "really interesting" tasks,
> standard Haskell isn't sufficient.

Indeed, it isn't :-).

> Chapter 13 is on animations (behaviours), from a user's
> (not implementor's) perspective. I will definitely cover this,
> but here i would like to use FranTk, not FAL. why?

FranTk is a great choice, I'm not arguing with that, especially if you
want to do GUI's.  However, I wonder if you look into the guts of
FranTk, if there isn't at least one unsafePerformIO?  I'm assuming that
you will get your students to USE FranTk, not implement it.  The "memo"
function in SOE is used to IMPLEMENT Fal, not use it.

> 1) FranTk runs with hugs *and* with ghc
>    (does this hold for FAL as well? last I checked it seemed hugs
>     only)

True, GHC does not know about the graphics lib.  If you're intent on
using GHC, then you're right, this would be a showstopper.

> 2) FranTk has all those fancy input widgets

Yes, they're great!

> Again i want to avoid the impression that Haskell is a toy language
> because all examples are run on a seemingly small interpreter,
> and the graphics libraries are too simple. As I said,
> the students have done some programming, including Java.

Yes, this is the compromise in teaching how to implement a DSL, not just
use it.  At Yale, however, all of our work with real robots, for
example, uses the core implementation that's in SOE.  It's simplicity is
one of the nice things about it.

Anyway, sounds like you've made some good choices.

  -Paul

Reply via email to