[net.lang.lisp] Franz flavors?

pwh@gatech.UUCP (07/12/83)

We at Ga Tech (ai group working for prof Janet Kolodner) are trying to
establish a degree of compatability between Franz Lisp and Zeta Lisp
(Symbolics Lisp Machine). Rumor has it that there may exist a 'flavor'
package for Franz; could anyone supply any clues about this system?

Also, does anyone have any general comments about the ZetaLisp flavor
system? Is it a truly useful extension to Lisp or is it merely a faddish,
Smalltalk-like tack-on? Comments about specific experiences building flavored
systems would be *most* appreciated (that is, systems other than the Lisp
Machine itself).

thanks!

phil hutto

CSNET		pwh@gatech
INTERNET	pwh.gatech@udel-relay
UUCP		...!decvax!duke!mcnc!msdc!gatech!pwh
		...!{allegra, sb1, sb2}!gatech!pwh

tim@unc.UUCP (07/12/83)

    Someone asked for a review of the "flavor" idea in Lisp and for a
source for Franz Flavors.

    There are two different and (from what I hear) incompatible
implementations of flavors for Franz.  One was done at MIT, and is not
yet publicly available, according to discussion on the FRANZ-FRIENDS
mailing list.  The other was done at the University of Maryland; you
can get information by writing Liz Allen (umcp-cs!liz).

    Flavors are very useful in large systems design.  It is natural to
conceive of a large system in terms of objects and messages between
them.  Flavors allow you to translate such a design into code very
simply.  Each system component is the sole instance of its own flavor
in this sort of design.

    The benefits of abstract data types are well-known, so I won't go
into them here.  Flavors provide a flexible and comprehensible
abstract data type mechanism, regardless of the system design
applications.

    A bad thing is that flavors in the UoM Franz Flavors
implementation do provide a non-negligible overhead.  Sending a
message to an instance of a flavor is slower than calling a function.
Reportedly, people at UoM are working on a 10%-15% speedup of message
passing, but even with that the overhead will be significant in Franz.
(Please do NOT write me or anyone else asking about this speedup.  It
will be announced when it is ready, and your questions will not
accelerate its progress; rather the opposite, in fact.)

______________________________________
The overworked keyboard of Tim Maroney

duke!unc!tim (USENET)
tim.unc@udel-relay (ARPA)
The University of North Carolina at Chapel Hill

liz@umcp-cs.UUCP (07/14/83)

We have implemented the speed up for Franz flavors that Tim mentioned.
In fact, now when a message is sent to an object, the look up and
call of the corresponding message is normally done in C.  Since the
method table is now hashed and the function is called directly from
C, it turns out to be quite fast.

We have used the flavor system successfully in several large
projects.  The approach to programming with flavors is, as Tim
said, a very convenient way to think about programming.

Right now, we are revising our policy of distributing this and our
other packages.  I will make an announcement both here and on Franz
friends when the policy has been worked out -- probably next week.
-- 
				-Liz Allen
				 ...!seismo!umcp-cs!liz (Usenet)
				 liz.umcp-cs@Udel-Relay (Arpanet)

bauman@inmet.UUCP (07/21/83)

#R:gatech:-28800:inmet:5100001:000:315
inmet!bauman    Jul 20 10:58:00 1983

A friend of mine at MIT wrote a flavor package for Franz last summer. 
It is fairly compatible with the flavor package under Lisp Machine 
Lisp. I know very few of the particulars, however.

His ARPA address is jrl@mit-vax. I'm sure the thing is distributed free,
and several sites have been using it for a while.