Hi all,
I have been working on my own R2L implementation. I decided to write it in
Haskell using ghc and its Gtk+ bindings, which are currently in alpha-beta
stage. ghc is written in Haskell and can only be compiled by itself
(bootstrap). Furthermore, it requires a Haskell parser called happy which
can only be compiled by ghc (double-bootstrap). I implemented the file's
creation deletion and polling using a Haskell Monad, which is managed by
the event loop of the GUI. Did I mention that Haskell is purely functional
and does not have variable assignment?
I'm just kidding, so relax.
Actually, I wrote my R2L implementation in Perl using Perl/Gtk+. Writing
the turn on/off/poll logic was the easy part, but getting the GUI right
requires some tweaking. For some reason, the Glade-2-Perl I used croaked
on me with some error. Thus, I had to design a GUI with Glade, but to
implement it in Perl by hand.
I encountered some Gtk+-related issues, but I managed to solve them using
various resources (including the perl-GTK mailing-list of which I am a
member). The application is still not completely finished yet, and I have
yet to create some dialogs.
At the moment the GUI is implemented using a dialog creation function
which has several closures. (a la "Structure and Implementation of
Computer Programs"). Nonetheless, I'd like to convert it to a standard
hash-based Perl object.
The code probably "maqdim eth zmano", as I'm planning to give a lecture
about Perl Modules and Objects, which will explain some of the concepts I
present there.
In any case, if anybody wish to take a look, he can send me a letter and I
will send him the code I have at the moment. Do you think it's a good idea
that I put the code on the web prior to the meeting next week?
Regards,
Shlomi Fish
----------------------------------------------------------------------
Shlomi Fish [EMAIL PROTECTED]
Home Page: http://t2.technion.ac.il/~shlomif/
Home E-mail: [EMAIL PROTECTED]
A more experienced programmer does not make less bugs. He just realizes
what went wrong more quickly.