From: K.J. Seefried
Subject: Developing on Symbolics, running on something else
Date: 
Message-ID: <5on8qs8hmb1l8mc6v4ggpq2mlo6o3lpji2@4ax.com>
Does anyone have experience developing on Symbolics/Genera for another
target, such as Franz Lisp?  Other than the obvious "don't use Genera
specific stuff", what should one be aware of?

Ken Seefried, CTO & Founding Partner, DigitalMoJo

From: ······@corporate-world.lisp.de
Subject: Re: Developing on Symbolics, running on something else
Date: 
Message-ID: <8oh72a$5ss$1@nnrp1.deja.com>
In article <··································@4ax.com>,
  K.J. Seefried <·········@digitalmojo.com> wrote:
>
> Does anyone have experience developing on Symbolics/Genera for another
> target, such as Franz Lisp?  Other than the obvious "don't use Genera
> specific stuff", what should one be aware of?

Symbolics Common Lisp has a lot of extensions to Common Lisp
and it has direct access to a complete operating system written in
Lisp. The developer is always tempted to use something out
of the existing library. For cross-platform development you
need discipline to either avoid the libraries or to create
carefully constructed layers, so that dependencies are not
sprinkled throughout of your code. When in doubt use always
portable libraries (CLX, CLIM, CL-HTTP, CLIM Defsystem, ...).
Make sure you don't use special Genera characters in your source
code. SCL does not optimize tail-calls... Several times
companies have developed something like "Extended Common Lisp"
which brings portions of SCL to other platforms. Use
logical pathnames.

In general I would say that cross-platform development for
several areas is quite easy with Common Lisp. CL-HTTP for
example has Genera as the main development platform and
code is moving to and from MCL, LW(W), ACL and CMUCL.


Sent via Deja.com http://www.deja.com/
Before you buy.
From: Raymond Laning
Subject: Re: Developing on Symbolics, running on something else
Date: 
Message-ID: <39AF2545.475A673E@west.raytheon.com>
Wisdom Systems started development of its Concept Modeler (ca 1988,
eventually about 100,000 loc) on a Symbolics/Genera with the goal in
mind of porting to Unix/LucidCL platforms.  To this end, we wrote a
portability layer for dealing with platform-specific issues such as
graphics, windows, keyboard/mouse events, etc.  We put all the code for
these in one file in the package "Kosher".

In the beginning, due to our inexperience with the target platform
architectures, most of the "kosher" entities were simple maps to
Genera/window objects, methods and functions, but as we became
knowledgeable about CLX and other non-genera capabilities, we mutated
the entities to accomodate extended functionality of other systems.  All
the mappings for various platforms were handled with #+ switches in the
kosher file.

A policy which we found most useful for developing cross-platform
software was to write the "kosher" objects to the highest-level
available representations (not the lowest).  Then write code to supply
missing functionality in a particular platform's package to bring it up
to the level of the desired platform's implementation.

HTH

"K.J. Seefried" wrote:
> 
> Does anyone have experience developing on Symbolics/Genera for another
> target, such as Franz Lisp?  Other than the obvious "don't use Genera
> specific stuff", what should one be aware of?
> 
> Ken Seefried, CTO & Founding Partner, DigitalMoJo