Feb2001 hugs98 on MacOS

Hans Aberg haberg@matematik.su.se
Thu, 1 Mar 2001 13:25:47 +0100


At 02:41 -0800 2001/03/01, Julian Seward (Intl Vendor) wrote:
>I tend to sympathise with Alastair/Johan.  For us, keeping GHC
>working on one platform is not too difficult.  Trying to ensure
>that it keeps going on all supported platforms without inordinate
>amounts of effort, is IMO easily the biggest engineering challenge
>we face.

Well, as the MacOS implementation, it was developed in small chunks at
need, but the Hugs team seemed to not bother to put it in for the last few
years. Thus, they now have a large backlog.

The MacOS intrusions are not that big: The MacOS (pre-X) is distinctively
different from any other platform in that it does not have a shell, and
that forces the need of hooks. The MacOS does not provide stack-checks, so
that has to be implemented by intrusion into the code. Nor does it have
pre-emptive multitasking, only cooperative, which means that one must
intrude into the code to release time to other programs. Etc.

As Alan said, these things ought really to be a part of the Hugs
distribution, as they might be of importance to other platforms. In fact,
some of the MacOS stuff was implemented by riding on the code intrusions
already made for the MS Windows.

It seems me that Johan Nordlander, the first person for a few years
bothering about this Mac stuff at all, is new to it, so he has picked out
everything that he does not immediately understand. However, he then pretty
much breaks everything that makes the MacOS version useful. To fix it up on
the course he lays out will take up a lot of time, as Mac programming is
very time consuming. (Kevin Hammond spend more time on the Mac GUI than
what spent on the Hugs kernel at that time!)

On the other hand, there is now a MacOS X, which has existed half-a-year in
a beta, and gets public by the end of March. MacOS X does have pre-emptive
multitasking, stack-checks, threading (it is built up around a Mach 3
kernel), and the other stuff expected of a modern OS plus some. So much of
that special pre-MacOS X will not be needed.

So, on the one hand, Johan Nordlander at this late date lays out an
extremely time-consuming course for himself, hoping others to join, while
on the same time, it looks it is not worth spending any time at it at all
as far as pre-MacOS X implementation goes.

Some of the stuff may survive if there still are cooperative multitasking
platforms under which Hugs may run.

  Hans Aberg