From: Ryan Kaulakis
Subject: Cross Platform Distribution Library
Date: 
Message-ID: <dcrpov$d5a$1@f04n12.cac.psu.edu>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Everyone,
I've noticed that there's been a lot of cross-platform library
development going on in the Lisp world of late, but there's one
feature-set which is still conspicuously absent: program distribution.

- From my own experience, I can say that trying to make an executable that
runs like a standard Unix CLI-tool (like grep, sort, etc.) is almost
more trouble than it's worth for the average programmer. There's a
couple documents on how do do it, but usually they all end up working
only on single platforms (the procedures for making a "stand-alone"
under SBCL vary greatly from those under CLisp), and god forbid you'd
want to run the end result on another OS, there'd be no end of head-aches!

Now, if there was a library which abstracted over all the nasty/crufty
bits of producing "stand-alones", many people would find it handy.
Libraries like this are not easy to make, but they can obviously be
created, and PCL even demonstrates something similar by building a
"pathname" library.

Does anyone know if there's been any work done to these ends? And, if
not, would anyone be interested in using a library like that? (Not that
I'm clever enough to write anything that handy   ;)   )

- --Ryan Kaulakis

PS: I apologize if this is a repeat posting, my server is acting screwy.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFC8WrLJz+5/eOGSSYRArx0AKDrJAiZqHz2DqrTssc8Rqbw6tzJOwCggUnt
nHwbnjcxKvUvVk/C1jlN/fI=
=iLGr
-----END PGP SIGNATURE-----

From: Rob Warnock
Subject: Re: Cross Platform Distribution Library
Date: 
Message-ID: <HeqdnQo0lpcUC2zfRVn-tg@speakeasy.net>
Ryan Kaulakis  <······@psu.edu> wrote:
+---------------
| Now, if there was a library which abstracted over all the nasty/crufty
| bits of producing "stand-alones", many people would find it handy.
+---------------

In terms of wider usefulness of such a project, I suggest that
rather than thinking in terms of "stand-alones" you consider the
larger topic of "application delivery" instead.

Note that we had a rather long thread on this very topic back in May,
"Subject: Deploying Common Lisp applications". [That subject will find
44 messages in Google Groups...]


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Robert Uhl
Subject: Re: Cross Platform Distribution Library
Date: 
Message-ID: <m3irylfyuu.fsf@4dv.net>
Ryan Kaulakis <······@psu.edu> writes:
>
> Now, if there was a library which abstracted over all the nasty/crufty
> bits of producing "stand-alones", many people would find it handy.

Almost certainly--the fact that it's a FAQ indicates that.

-- 
Robert Uhl <http://public.xdi.org/=ruhl>
Re: a `diverse' panel of music-listeners
  If it were really diverse, they wouldn't just have music professionals
  on the board.  They'd have a deaf person, some giggling schoolgirls, a
  super-intelligent killbot, and maybe a monkey.                  --szcx
From: Christopher C. Stacy
Subject: Re: Cross Platform Distribution Library
Date: 
Message-ID: <ubr4dfr9h.fsf@news.dtpq.com>
Ryan Kaulakis <······@psu.edu> writes:
> I've noticed that there's been a lot of cross-platform library
> development going on in the Lisp world of late, but there's 
> one feature-set which is still conspicuously absent: 
> program distribution.
 
> From my own experience, I can say that trying to make an executable
> that runs like a standard Unix CLI-tool (like grep, sort, etc.)
> is almost more trouble than it's worth for the average programmer.

I haven't noticed this.  In Lispworks, I just call the function
DELIVER with a file name, an initial function to call, and a
couple other random bits of info about how I want it, and the
result is that an executable file by that name appears on disk 
about two minutes later.  I use Windows, but it works the same way 
on Linux, Unix, and MacOS.  (Apparently for MacOS you need to do
one extra thing, shown below.)   This is for either command-line
programs or for GUI programs.

Example (from the documentation):

(deliver 'hello-world 
         #+:cocoa (write-macos-application-bundle
                    "/Applications/LispWorks 4.4.5/Hello.app")
         #-:cocoa "hello"
         5 
         :interface :capi)
From: Christopher C. Stacy
Subject: Re: Cross Platform Distribution Library
Date: 
Message-ID: <u8xzh5659.fsf@news.dtpq.com>
Ryan Kaulakis <······@psu.edu> writes:

> Yeah, I've heard that Lispworks is very convenient for making
> deliverables, as are most of the commercial Lisps. I was only thinking
> of freely available systems when I wrote my first post (e.g. CMUCL,
> CLISP, SBCL, etc.).
> 
> I was trying (in a round-about and awkward way) to suggest something
> like an ASDF package that could bring that "deliver" function to other
> platforms.

It seems to me that what you are really asking for is a major
improvement in the Lisp implementation that you are using.
But I think you are afraid to ask for that, and so tried
to disguise it as some sort of standardization.

If you are using a Lisp that doesn't support the creation of executables
very well, then you need to get your vendor to address that fundamental
problem.  (Then, once that is solved, then it might make sense to ask
that there be a portable library to paper over the minor differences 
in accessing the feature.

In other words, what you have is a vendor problem,
not a standards or portability problem.
From: Maciek Pasternacki
Subject: Re: Cross Platform Distribution Library
Date: 
Message-ID: <87fyto5dei.fsf@lizard.king>
On Boomtime, Confusion 71, 3171 YOLD, Ryan Kaulakis wrote:

> Yeah, I've heard that Lispworks is very convenient for making
> deliverables, as are most of the commercial Lisps. I was only thinking
> of freely available systems when I wrote my first post (e.g. CMUCL,
> CLISP, SBCL, etc.).

ecl (http://ecls.sf.net/) has c:build-program function in the compiler
which can be used as way of delivering binary to user in a simple way.

-- 
__    Maciek Pasternacki <·······@japhy.fnord.org> [ http://japhy.fnord.org/ ]
`| _   |_\  / { ETERNITY:   He who binds to himself a joy / Does the winged
,|{-}|}| }\/ life destroy; / But he who kisses the joy as it flies / Lives in
\/   |____/ eternity's sun rise.  }                    ( William Blake )  -><-