From: Nichael Cramer
Subject: LIJOS: Lisp Implementation of the Java ObjectStream
Date: 
Message-ID: <38A0818D.399B6753@sover.net>
LIJOS: Lisp Implementation of the Java ObjectStream

       http://www.pointandclicksolutions.com/lijos/index.html

This message is to announce the availability of the alpha/beta
pre-release version of the LIJOS system.

  -----  -----  -----  -----
LIJOS

LIJOS is a Lisp Implementation of the Java ObjectStream protocol.

Specifically, it is an implementation, in Lisp, of the Java
serializing ObjectStream protocol that supports the (de)serialization
of Java objects into and from appropriately mapped Lisp objects.

Included in the system is an implementation of the Java DataStream
protocol, which supports the (bit-like) reading and writing of the
"primitive" datatypes (the various number-types --bytes, shorts, ints,
longs, floats, doubles-- as well as booleans, UTF-strings, and chars).

  -----  -----  -----  -----
"Pure" Lisp:

A major design goal for the LIJOS systems is that it be a "pure" Lisp
implementation in the sense that no modification to the Java system is
required.

In short, when doing ObjectStream-based input or output, a Java
application should be able to use the identical standard, unmodified
Java ObjectStream mechanisms when communicating with a LIJOS-based
application as it would use when communicating with another Java-based
application.

  -----  -----  -----  -----
The current release:

Included in the present release are:
   -  LispDataOutputStream (final Beta release)
   -  LispDataInputStream (final Beta release)
   -  LispObjectInputStream (alpha release)

(Note: The LispObjectOutputStream is in the final stage of
implementation.)

Available on the Download page on the website are bundles (gzip'ed Tar
for Sparc and Zip for Windows) containing the executable code,
documentation and examples for this pre-release (v1) version of the
LIJOS system, for use with Allegro CommonLisp (v5.0).


  -----  -----  -----  -----
Further information is available at:

       http://www.pointandclicksolutions.com/lijos/index.html


Nichael Cramer
work: ·······@pointandclicksolutions
http://www.sover.net/~nichael/

From: David Bakhash
Subject: Re: LIJOS: Lisp Implementation of the Java ObjectStream
Date: 
Message-ID: <cxjitzz6tp6.fsf@engc.bu.edu>
Hi,

Even before downloading this code, I can say that this has definate
use.  As I recall developing Lisp in a Java house, this type of
software would be of obvious utility.  If it works, and it's
efficient, then it's great.  It would be very useful to your audience
if you provided some benchmarks, (or if you or someone else made them
public, after performing them, or finding out the results).

dave
From: Nichael Cramer
Subject: Re: LIJOS: Lisp Implementation of the Java ObjectStream
Date: 
Message-ID: <38A188C3.D5EE93C@sover.net>
From David Bakhash <·····@bu.edu>:
>Even before downloading this code, I can say that this has definate
>use.  As I recall developing Lisp in a Java house, this type of
>software would be of obvious utility. If it works, and it's
>efficient, then it's great. ...

1] Having previously built and used Lisp systems based on home-grown
serialization protocols, I know it's something that I wished that I
had.

(In addition to its use in inter-process communication, tapping into
the Java Data- and ObjectStream protocols can supply Lisp with a
convenient, widely-used standard for, say, binary data storage and object

caching.)

> ...   It would be very useful to your audience
>if you provided some benchmarks, (or if you or someone else made them
>public, after performing them, or finding out the results).

2] This is a good idea.  As a practical matter, any benchmarks would
be more useful waiting until the LispObjectOutputStream implementation
is completed.  However I would be interested in collecting thoughts
and recommendations on the sort of things that you (and other folks)
would consider useful benchmarks.

Thanks
Nichael


Nichael Cramer
work: ·······@pointandclicksolutions
http://www.sover.net/~nichael/
From: Christopher Browne
Subject: Re: LIJOS: Lisp Implementation of the Java ObjectStream
Date: 
Message-ID: <slrn8a4fqu.19j.cbbrowne@knuth.brownes.org>
Centuries ago, Nostradamus foresaw a time when Nichael Cramer would say:
>From David Bakhash <·····@bu.edu>:
>>Even before downloading this code, I can say that this has definate
>>use.  As I recall developing Lisp in a Java house, this type of
>>software would be of obvious utility. If it works, and it's
>>efficient, then it's great. ...
>
>1] Having previously built and used Lisp systems based on home-grown
>serialization protocols, I know it's something that I wished that I
>had.

Two interesting (if of somewhat "academic" interest) options that have
been proposed as RFCs are:
  <http://casbah.org/LDO/> Lightweight Distributed Objects
  <http://theory.lcs.mit.edu/~rivest/sexp.html> S-Expressions

These are both directed at being language-neutral data representations
that consciously borrow from Lisp S-expressions.
-- 
All bleeding stops...eventually.
········@hex.net - - <http://www.hex.net/~cbbrowne/lisp.html>
From: David E. Young
Subject: Re: LIJOS: Lisp Implementation of the Java ObjectStream
Date: 
Message-ID: <38A1888D.E3166C19@computer.org>
Nichael Cramer wrote:

> LIJOS: Lisp Implementation of the Java ObjectStream
>
>        http://www.pointandclicksolutions.com/lijos/index.html
>
> This message is to announce the availability of the alpha/beta
> pre-release version of the LIJOS system.
>
> Available on the Download page on the website are bundles (gzip'ed Tar
> for Sparc and Zip for Windows) containing the executable code,
> documentation and examples for this pre-release (v1) version of the
> LIJOS system, for use with Allegro CommonLisp (v5.0).

Nice work, Nichael. I see you're distributing your work as a (mostly)
binary release. We're running ACL 5.0 on Linux; care to release a version
for that platform? Thanks much.


--

-----------------------------------------------------------------
David E. Young
Fujitsu Network Communications  "The fact that ... we still
(········@computer.org)          live well cannot ease the pain of
                                 feeling that we no longer live nobly."
                                  -- John Updike
"Programming should be fun,
 programs should be beautiful"
  -- P. Graham
From: Nichael Cramer
Subject: Re: LIJOS: Lisp Implementation of the Java ObjectStream
Date: 
Message-ID: <38A19807.F0AB5198@sover.net>
"David E. Young" <········@computer.org> wrote:

>> LIJOS: Lisp Implementation of the Java ObjectStream
>>
>>        http://www.pointandclicksolutions.com/lijos/index.html
>>  [...]
>
> Nice work, Nichael.

Thanks.

>  I see you're distributing your work as a (mostly)
> binary release. We're running ACL 5.0 on Linux; care to release a version
> for that platform? Thanks much.

I'm hoping to (soon).  I'll keep folks advised.

Nichael


Nichael Cramer
work: ·······@pointandclicksolutions
http://www.sover.net/~nichael/
From: Marco Antoniotti
Subject: Re: LIJOS: Lisp Implementation of the Java ObjectStream
Date: 
Message-ID: <lwg0v1e65x.fsf@parades.rm.cnr.it>
Nichael Cramer <·······@sover.net> writes:

> "David E. Young" <········@computer.org> wrote:
> 
> >> LIJOS: Lisp Implementation of the Java ObjectStream
> >>
> >>        http://www.pointandclicksolutions.com/lijos/index.html
> >>  [...]
> >
> > Nice work, Nichael.
> 
> Thanks.
> 
> >  I see you're distributing your work as a (mostly)
> > binary release. We're running ACL 5.0 on Linux; care to release a version
> > for that platform? Thanks much.
> 
> I'm hoping to (soon).  I'll keep folks advised.
> 

I do have an objection in your choice of naming convention. I know I
am fussy, but somebody has to be.

You use the Java naming convention for your Lisp interfaces as well.
E.g. you use

	(lijos:writeShort OUT-STREAM -11)

This results in

	(LIJOS:WRITESHORT OUT-STREAM -11)

when read in a "regular" Common Lisp (Allegro is somewhat special in
this respect).

I would have appreciated a more Lispy (although non-Java conformant)
convention

	(lijos:write-short OUT-STREAM -11)

I believe this makes life easier and woul keep the look of my code
more consistent :)

Cheers

-- 
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa