Dear hugs developers:
I am the author of the original GUI for Gofer and Hugs. From time to time
I have slightly improved the interface. Recently I have solved what i think
is one of the most important limitations of Winhugs. I have developed a
version
of the GUI that is compatible with the Win32 libraries. I have tested it on
the very recent September release with the GraphicsLib and with Fran1.12h98
and it works (althoug Fran sources need an instance of Show for functions
in order to compile).
The idea that I used is simple. I use two Win32 threads in winhugs. One is
used to run
the evaluator. The other renders the interface. Ctrl-Break Interruptions are
handled by the GUI thread. No more active polling is done for this purpose
(I have checked it observing the CPU usage with Windows System Monitor).
Messages to windows
created by the evaluator (i.e. a haskell program are sent to the second
thread)
while Messages for the GUI are sent to the first.
To my surprise, not many changes were needed. I send in a separate mail
corresponding .exe file.
In another mail, I send the source files. Note that changes to the original
distribution
are embraced with PEPEG and USE_THREADS c preprocessor definitions. I have
also
added a directory (hugs4win) with the GUI files. Note also the the original
win-text file
can not be used with the threaded version. I have compiled the sources mith
Microsoft Visual C++. The makefile that I used is in the hugs4wib dir. So to
compile the source I do:
C:> cd hugs4win
C:> config
C:> cd ..
C:> nmake
and get winhugs.exe
On other matters I have found a couple of bugs on the standard distribution.
* I think that some defaults definition are missed in the Enum class for
enumFrom an d enumFromThen (see Haskell 98 erratas and report).
* getChar and getLine still don't work on Windows 95-98
I hope you consider distributing the new version of the GUI as I think
it is very usefull for windows users. I case you decide not to do it I would
like to distribute it myself. I know that there are plans on building a new
GUI using HEP, but I think that my current GUI can be useful meanwhile.
I wait for your reply.
Pepe Gallardo
Universidad de M�laga
Spain