From: ·········@gmail.com
Subject: newbie questions
Date: 
Message-ID: <1130685824.467394.274770@z14g2000cwz.googlegroups.com>
Hello there,

I have decided to re-visit Lisp and try to re-learn it.
My first attempt at lisp was about 20 years ago, when I was
finishing my Computer Science degree...  At that time, I think
I had some "immaturity" in learning new computer languages, and
out of two half/courses of Lisp, I barely managed to pass the first
half, and the second half I dropped.  At that time, I had a hard
time understanding the paradigms of lisp, being more used to the
procedural languages such as Pascal, PL/I and C.  Since then,
I have spent about 20 years professionaly programming in just
about all other languages, currently doing myst of my work in
J2EE world, which is what my clients want.

Recently, I have started embedding python code, to make my
application 'programmable', using Jython as an embedded scripting
language in my J2EE applications with realy good success.  Since
I was already using the python interpreter, my thoughts started
going back to other interpretive languages such as lisp, and here
I am now, attempting to re-learn it.  I have downloaded a version
of LispWorks, and am attempting to do some simple examples (I have
also ordered a lisp book from Amazon)....

My questions about lisp, and LispWorks:

1)  How does one connect from a running J2EE application to an
instance of LispWorks ?  I believe the LispWorks Orb product is
such a product, but I am not 100% sure.  I am interested in both
types of integration -- where a Java application instantiates an
instance of LispWorks, and where a continual LispWorks daemon is
running, and listening on a TCP socket (SSL and non-SSL 'plain'),
receiving Lisp commands and executing them. and returning back
results.

2)  Furthermore, if the Lisp instance portion of this hybrid is
running, can it persist it's running environment at any time ?
For example, if the "data is code" paradigm of lisp is used, and
the actual lisp application has grown during a 24 hour of continual
running, can it save that "knowledge" (save itself?) to a file,
so that when it re-starts, it can automatically reload that
enviornment (learned patterns for example)???

3)  Is there a good example somewhere, where Lisp has been used
in an enterprise scale project?  How does one architect large
Lisp projects where a Lisp portion integrates seamlessly within
the enterprise?

Thank you for your patience with all these newbie questions..

Regards, Aleksandar

From: Joe Marshall
Subject: Re: newbie questions
Date: 
Message-ID: <oe576kpf.fsf@alum.mit.edu>
·········@gmail.com writes:

> Hello there,
>
> I have decided to re-visit Lisp and try to re-learn it.

Congratulations!

> My questions about lisp, and LispWorks:
>
> 1)  How does one connect from a running J2EE application to an
> instance of LispWorks ?  I believe the LispWorks Orb product is
> such a product, but I am not 100% sure.  I am interested in both
> types of integration -- where a Java application instantiates an
> instance of LispWorks, and where a continual LispWorks daemon is
> running, and listening on a TCP socket (SSL and non-SSL 'plain'),
> receiving Lisp commands and executing them. and returning back
> results.
>
> 2)  Furthermore, if the Lisp instance portion of this hybrid is
> running, can it persist it's running environment at any time ?
> For example, if the "data is code" paradigm of lisp is used, and
> the actual lisp application has grown during a 24 hour of continual
> running, can it save that "knowledge" (save itself?) to a file,
> so that when it re-starts, it can automatically reload that
> enviornment (learned patterns for example)???
>
> 3)  Is there a good example somewhere, where Lisp has been used
> in an enterprise scale project?  How does one architect large
> Lisp projects where a Lisp portion integrates seamlessly within
> the enterprise?
>
> Thank you for your patience with all these newbie questions..

These are *NOT* newbie questions!  That's a pretty ambitious
undertaking.  There are several ways to accomplish the tasks you have
set out, but all of them require extensions to the base language.  I
suggest scaling back a bit.

I have used Lisp in an enterprise scale project.  We used it as the
middle layer in a 3-tier application.  The bottom level was an OODBMS
that was integrated with Lisp and the client layer was a Java applet
talking an ad-hoc protocol across TCP/IP.
From: John Thingstad
Subject: Re: newbie questions
Date: 
Message-ID: <op.szg3susipqzri1@mjolner.upc.no>
On Sun, 30 Oct 2005 16:23:44 +0100, <·········@gmail.com> wrote:

>
> My questions about lisp, and LispWorks:
>
> 1)  How does one connect from a running J2EE application to an
> instance of LispWorks ?  I believe the LispWorks Orb product is
> such a product, but I am not 100% sure.  I am interested in both
> types of integration -- where a Java application instantiates an
> instance of LispWorks, and where a continual LispWorks daemon is
> running, and listening on a TCP socket (SSL and non-SSL 'plain'),
> receiving Lisp commands and executing them. and returning back
> results.

Well if you create a console version and follow the instructions to set it
up to run under SLIME in emacs you will have created a socket based  
interface
to LispWorks.
(I think you need the professional version to make this work.)
The client side you will have to write yourself but the
slime code is in elisp, right, so this should give you some idea.
ACL already runs in this way pr. default.
Well that's the lisp server.

For accessing Java ACL has
http://www.franz.com/support/documentation/6.2/doc/jlinker.htm

This a lisp environment that runs on JRE (incomplete and slow)
http://armedbear.org/abcl.html

>
> 2)  Furthermore, if the Lisp instance portion of this hybrid is
> running, can it persist it's running environment at any time ?
> For example, if the "data is code" paradigm of lisp is used, and
> the actual lisp application has grown during a 24 hour of continual
> running, can it save that "knowledge" (save itself?) to a file,
> so that when it re-starts, it can automatically reload that
> enviornment (learned patterns for example)???

save-image although that may be a bit drastic.
There is some shareware code for persistent classes you
might want to look into. http://plob.sourceforge.net/plob.html
or allegro cache  
http://www.franz.com/products/allegrocache/AllegroCache_for_ILC_2005.htm.

>
> 3)  Is there a good example somewhere, where Lisp has been used
> in an enterprise scale project?  How does one architect large
> Lisp projects where a Lisp portion integrates seamlessly within
> the enterprise?
>

This page lists some industrial applications of lisp
http://wiki.alu.org/Industry_Application

> Thank you for your patience with all these newbie questions..
>
> Regards, Aleksandar
>

No problem, though these are hardly beginners questions.
Allegro common lisp is expensive but has the most comprehensive support
for your rather demanding needs.

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
From: Andras Simon
Subject: Re: newbie questions
Date: 
Message-ID: <vcdslufkkyz.fsf@csusza.math.bme.hu>
·········@gmail.com writes:

 
> My questions about lisp, and LispWorks:
> 
> 1)  How does one connect from a running J2EE application to an
> instance of LispWorks ?  I believe the LispWorks Orb product is
> such a product, but I am not 100% sure.  I am interested in both
> types of integration -- where a Java application instantiates an
> instance of LispWorks, and where a continual LispWorks daemon is
> running, and listening on a TCP socket (SSL and non-SSL 'plain'),
> receiving Lisp commands and executing them. and returning back
> results.

jfli (LispWorks only) or Foil (more recent, from the same author) may
help in some of this. Both can be found on sourceforge.

Andras