[Openmcl-devel] What is the state of the phemlock included with OpenMCL?

Gary Byers gb at clozure.com
Sat Jul 31 07:11:24 PDT 2004

On Sat, 31 Jul 2004, Rudi Schlatte wrote:

> On 31. Jul 2004, at 08:59, David Steuber wrote:
> > I'm interested in having a go at porting hemlock to run as a Carbon
> > application.  Which sources should I use?
> >
> You could consider starting from
> http://www.common-lisp.net/project/phemlock/
> These sources are Gilbert's version as of July 2004 and have (very
> preliminary) CLIM support in addition to the clx backend.  Development
> done by Gilbert and other attendants of LSM 2004 will happen in this
> tree, so you will be in good company.  ;)
> HTH, Rudi

The Hemlock sources that are in the OpenMCL 0.14-dev CVS tree are
derived from Gilbert's phemlock sources as of late 2003.  They've been
fairly heavily hacked since, in an attempt to better integrate them
with Cocoa.

Note that "integrating Hemlock with Cocoa" probably isn't a matter of
replacing CLX code to handle redisplay/scrolling with Cocoa/Quartz
equivalents; the idea was and is to use Hemlock as a backend to the
Cocoa text system and get all of that system's redisplay/scrolling/
selection support for free.  (It's not free, but it's probably a
lot closer to free than starting from scratch would be.)

I suspect that if someone wanted to "integrate Hemlock with Carbon"
(why?), they'd face a similar set of issues: you'd either want to
leverage existing text-management and display technology (MLTE)
or try to handle all of these things yourself.

The fact that the development in the main phemlock tree is concerning
itself with backends that aren't just drawing engines and raw event
sources (as CLX is) is potentially good news.  I don't know whether
this could or would lead to a Hemlock whose "backend"
(buffer-management code, command processing, etc.) was independent of
one of several drop-in replacement frontends
(CLX/CLIM/MLTE/Cocoa/...).  That strikes me as being an attractive
long-range goal, but I don't know how easy it would be to achieve in
the near term (those "frontends" aren't exactly orthogonal or
equivalent in terms of the functionality that they offer.)

I got the Hemlock/Cocoa stuff that I was working on up to a certain
barely-usable to worth-criticizing level of functionality (a lot of
stuff works, some stuff doesn't, and there are still lots of bugs,
both big and small.)  I haven't been able to work on it for a few
months, and honestly don't know how soon I'll be able to.  I'd
personally rather try to encourage anyone who's intrerested to try
to finish this (and to offer what help I can) than to suggest that
someone start from scratch.

More information about the Openmcl-devel mailing list