[comp.sys.xerox] Loops -> PCL

sticklen@CPSWH.CPS.MSU.EDU (Jon Sticklen) (04/07/89)

eric,
  we have a project in progress to do a port of several software systems
written in buttress loops to CL/PCL. but we are not taking the direction
you are suggesting (some translator functions). instead we are trying
to build some of the functionality
of LOOPS at the meta level in PCL. our applications
involve graphics (browsers) as well, so what we hope to do is to isolate
machine dependent windows in a few pcl objects, then end up with an
environment that is very much like LOOPS, but which is really PCL and CL -
and is portable to other platforms. (our first platform will be
SUN/Envos because in essence the machine dependent windowing is the
easiest there. we are moving on then to SUN/FranzAllegro and MAC/Allegro.)
  i may be the only one in the world that thinks this way, but i think
that the mental model of programming that PCL promotes is not optimal.
at least in relation to the mental model of LOOPS. with generic functions,
one looses all the sense of a set of cooperating agents working on a problem,
and all the cleanliness of objects owning methods. hence, we are doing what
we are doing. as i say, i am almost surely in a minority. 
  
  i'm very interested to know if anyone else shares my thoughts, and is
trying to go at a move over to PCL the way we are.

	---jon---

welch@CIS.OHIO-STATE.EDU (Arun Welch) (04/07/89)

We've taken the reimplementation route, since we decided that our code
was ready for a redesign anyway, but building a Loops on top of CLOS'
meta-object protocol should be doable, at least to the user interface level.
For example, send is implementable as
(defmacro send (message object &rest args)
	`(,message ,object ,@args))

Internally it's behavior is quite different, but externally it's the
same. 

As for the rest of the Loops world, I've just about finished porting
the CLOS browser  to the Dec PCL.  It now works, but I've got to
straighten out the import/exprt/other-package-crap, which should take
a couple hours.  I've been using it for my stuff, and it's pretty
whippy on a Sun-4.  We're waiting for the windowing issues to shake
themselves out, so portability is still a problem.  Personally, I
think CLX is at too low a level, CLUE is a step in the right
direction, and CommonWindows is getting closer.  What would be nice is
a Public-domain or cheap window system that's really portable, and is
at the right level of abstraction. *sigh*, I've been spoiled on the
dmachines.

...arun

ECOOPER@RCCA.BBN.COM (Eric Cooper x2947) (04/08/89)

We are in the process of converting a project written in Interlisp and Loops
into Common Lisp and PCL, and are interested in finding out if anyone already
has functions to convert Loops (preferably Buttress release) to PCL.  If 
this has already been done, what is the availability of the code?  Thanks 
in advance,

-eric

ik@nova.laic.uucp (Ik Su Yoo) (04/23/89)

In article <8904071453.AA26393@tut.cis.ohio-state.edu>, ECOOPER@RCCA.BBN.COM (Eric Cooper x2947) writes:
> 
> We are in the process of converting a project written in Interlisp and Loops
> into Common Lisp and PCL, and are interested in finding out if anyone already
> has functions to convert Loops (preferably Buttress release) to PCL.  If 
> this has already been done, what is the availability of the code?  Thanks 
> in advance,
> 
> -eric


I have written some primitive but extensible code to convert from
Loops (Lyric/Medely release) to PCL. If you are still interested,
send me mail.

					Ik