[comp.sys.next] LISP

pmy@jeeves.acc.Virginia.EDU (Pete Yadlowsky) (09/14/89)

Is anyone using 'cl'? I'd like to know where (or if) there's any
documentation for it, and how it interfaces with Mach, NeXTStep,
resources, system-defined objects etc.


Peter M. Yadlowsky		| "Pay no attention to that man
Academic Computing Center	|	behind the curtain!"
University of Virginia		|
pmy@Virginia.EDU		|

cox@Franz.COM (Charles A. Cox) (09/14/89)

In article <1994@hudson.acc.virginia.edu> pmy@jeeves.acc.Virginia.EDU (Pete Yadlowsky) writes:
>
>Is anyone using 'cl'? I'd like to know where (or if) there's any
>documentation for it, and how it interfaces with Mach, NeXTStep,
>resources, system-defined objects etc.

`cl' on NeXT is Franz Inc.'s Allegro CL Common Lisp.  It has many of
the same features found with Allegro CL on other unix machines (eg,
foreign functions, object-oriented programming, multi-processing
within lisp).  

A powerful extension for the NeXT version of Allegro CL is the
interface to Objective-C.  Not only is one able to pass objects back
and forth between lisp and Objective-C, but it is possible to
dynamically define and redefine Objective-C classes and methods.  In
addition, one can dynamically "look up" the methods or instance
variables for an Objective-C class within lisp.  This is as opposed to
having to rummage through static documentation or Objective-C header
files.

The Objective-C interface opens up NeXTStep to lisp and vice-versa.
There are a couple of example lisp source files included in the lisp
distribution on 1.0 that show how one can write an application in lisp
using a NIB file from the Interface Builder.

Regarding on-line documentation, 1.0 includes descriptions with
examples for each Allegro CL extension to standard common lisp.  In
addition, each lisp function that's part of an extension has its own
documentation page (in a style similar to UNIX man pages).

	Charley
---
Charles A. Cox, Franz Inc.        1995 University Avenue, Suite 275
Internet: cox@franz.com           Berkeley, CA  94704
uucp:     uunet!franz!cox         Phone: (415) 548-3600    FAX: (415) 548-8253

jpd00964@uxa.cso.uiuc.edu (11/14/89)

Can anyone tell me where to get a LISP manual for the implementation on my 
NeXT.  Appearently, digital librairian is a little brain dead or something.

More specifically, is functionp working correctly?  Winston and Horn say it
returns true for an executable, but NeXT is returning true for just about
everything.  Since functionp is not in digital librarian, I am unable to 
confirm/deny that this is a feature, not a bug.

Michael Rutman
SoftMed

mdixon@thelonius.PARC.xerox.com (Mike Dixon) (11/15/89)

the first book you want is "Common Lisp the Language".  according to it,

"functionp returns true for any object that is
    a symbol,
    a list whose car is lambda,
    returned by the function special form, or
    returned by compile with a nil first argument.

Note that functionp returns true when its argument is a symbol even
if that symbol does not have a function binding (either lexical or
dynamic)."

as far as i can tell it does just that.  when you say it returns true
for "just about everything", did you just mean all symbols?
                                             .mike.

gessel@cs.swarthmore.edu (Daniel Mark Gessel) (11/16/89)

In article <246300066@uxa.cso.uiuc.edu> jpd00964@uxa.cso.uiuc.edu writes:
>
>Can anyone tell me where to get a LISP manual for the implementation on my 
>NeXT.  Appearently, digital librairian is a little brain dead or something.
>
>Michael Rutman
>SoftMed

The definative resource on Allegro CL from Franz is Common Lisp: The
Reference, by Franz, inc. It is available from Addison Wesley, and you
can probably get a local bookstore to orger it for you (which is what
I did).

In theory, this should answer all questions about Lisp that aren't in
digital librarian, and anything this book tells you isn't supposed to
be repeated in librarian, although defferences should be noted.

Dan

-- 
Internet: gessel@cs.swarthmore.edu         
UUCP: {bpa,cbmvax}!swatsun!gessel