Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

compiling a Lisp source to exe

1,758 views
Skip to first unread message

cartercc

unread,
Sep 29, 2008, 2:31:53 PM9/29/08
to
Is it possible to compile a Lisp source file to an exe on an x86
machine running Windows?

Using gcc (on Windows) like this: [>gcc -o hello.exe hello.c] will
produce a file that I can run natively. Is it possible to do this same
with a Lisp file?

When I run compile-file I don't get anything I can copy to another
machine (with a Lisp) and run.

Thanks, CC

Rainer Joswig

unread,
Sep 29, 2008, 2:43:59 PM9/29/08
to
In article
<4e36fe48-6a6b-4e0d...@d70g2000hsc.googlegroups.com>,
cartercc <cart...@gmail.com> wrote:

> Is it possible to compile a Lisp source file to an exe on an x86
> machine running Windows?
>
> Using gcc (on Windows) like this: [>gcc -o hello.exe hello.c] will
> produce a file that I can run natively. Is it possible to do this same
> with a Lisp file?

It depends on the Lisp implementation. You need to
consult its manual. LispWorks for example can save
images or create applications for delivery. The manual
describes how to do that.

Which Lisp implementation are you using?

> When I run compile-file I don't get anything I can copy to another
> machine (with a Lisp) and run.

When you use COMPILE-FILE, you get a piece of compiled Lisp code.
The Lisp code is not portable between different Lisp implementations,
but you can move the compiled code (the 'fasl' file) to another machine,
start the Lisp implementation there and load the compiled file.
So, when you have, say, LispWorks on both Windows machines
you can compile the file on one machine, copy the file to the
other machine and LOAD the file there into LispWorks.
If you have function calls in the file, they will be executed
upon loading - you can also call the defined functions
after loading the compiled file.

>
> Thanks, CC

--
http://lispm.dyndns.org/

Alex Mizrahi

unread,
Sep 29, 2008, 3:19:38 PM9/29/08
to
c> Using gcc (on Windows) like this: [>gcc -o hello.exe hello.c] will
c> produce a file that I can run natively. Is it possible to do this same
c> with a Lisp file?

c> When I run compile-file I don't get anything I can copy to another
c> machine (with a Lisp) and run.

compile-file is like `gcc -c` -- it compliles to sort of object file, but
does not link it to an executable. if you have lisp on your target machine,
you can just load that "object files" (usually called fasls), so you do not
really need linking.

if you actually want a standalone executble, that is made via
implementation-specific functions. for example, check
ECL documentation:
http://ecls.sourceforge.net/new-manual/ch22s06.html

cartercc

unread,
Sep 29, 2008, 3:21:35 PM9/29/08
to
On Sep 29, 2:43 pm, Rainer Joswig <jos...@lisp.de> wrote:
> Which Lisp implementation are you using?

On my Windows machine, I am using Lisp in a Box, with clisp 2.33. On
my Linux machine, I am using cmucl dated 2008-04-08.

> When you use COMPILE-FILE, you get a piece of compiled Lisp code.
> The Lisp code is not portable between different Lisp implementations,
> but you can move the compiled code (the 'fasl' file) to another machine,
> start the Lisp implementation there and load the compiled file.
> So, when you have, say, LispWorks on both Windows machines
> you can compile the file on one machine, copy the file to the
> other machine and LOAD the file there into LispWorks.
> If you have function calls in the file, they will be executed
> upon loading - you can also call the defined functions
> after loading the compiled file.

I looked at LispWorks now, and almost fell out of my chair at the
prices. I am a student and frankly cannot afford this product. Does
the Personal Edition create exe files? The blurb says that it does not
support application delivery?

I don't need an IDE. I do just fine with Emacs.

Thanks, CC.

Rainer Joswig

unread,
Sep 29, 2008, 3:28:00 PM9/29/08
to
In article
<f3ef0e5d-9aa5-4e4d...@i76g2000hsf.googlegroups.com>,
cartercc <cart...@gmail.com> wrote:

> On Sep 29, 2:43 pm, Rainer Joswig <jos...@lisp.de> wrote:
> > Which Lisp implementation are you using?
>
> On my Windows machine, I am using Lisp in a Box, with clisp 2.33. On
> my Linux machine, I am using cmucl dated 2008-04-08.

Well as I said, read the fine manuals.

For CLISP for example:

http://clisp.cons.org/impnotes/image.html

see the :executable option to the function
EXT:SAVEINITMEM .

CMUCL:

http://common-lisp.net/project/cmucl/doc/cmu-user/extensions.html#toc47

See the :executable option to the function extensions:save-lisp .

> > When you use COMPILE-FILE, you get a piece of compiled Lisp code.
> > The Lisp code is not portable between different Lisp implementations,
> > but you can move the compiled code (the 'fasl' file) to another machine,
> > start the Lisp implementation there and load the compiled file.
> > So, when you have, say, LispWorks on both Windows machines
> > you can compile the file on one machine, copy the file to the
> > other machine and LOAD the file there into LispWorks.
> > If you have function calls in the file, they will be executed
> > upon loading - you can also call the defined functions
> > after loading the compiled file.
>
> I looked at LispWorks now, and almost fell out of my chair at the
> prices. I am a student and frankly cannot afford this product. Does
> the Personal Edition create exe files? The blurb says that it does not
> support application delivery?

Correct, the personal edition does not support application delivery.

> I don't need an IDE. I do just fine with Emacs.
>
> Thanks, CC.

--
http://lispm.dyndns.org/

Paul Donnelly

unread,
Sep 29, 2008, 3:45:22 PM9/29/08
to
cartercc <cart...@gmail.com> writes:

Copy the source code?

Pascal Costanza

unread,
Sep 29, 2008, 6:13:55 PM9/29/08
to
cartercc wrote:

> I looked at LispWorks now, and almost fell out of my chair at the
> prices. I am a student and frankly cannot afford this product. Does
> the Personal Edition create exe files? The blurb says that it does not
> support application delivery?

If you are a student and don't want to sell software products for a
living, you don't need to create exe files. Lisp programs are
traditionally deployed differently, except for shrink-wrapped software.

You can execute Lisp programs directly from within a Lisp environment.
This includes compiling programs to low-level machine code and executing
that, which makes this competitive with other compiled languages.

It takes a while to get used to that somewhat different interaction with
a language environment, but it has strong benefits over the
edit-compile-link-run cycle. Take some time to learn this, and you'll see.


Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

Pascal J. Bourguignon

unread,
Sep 29, 2008, 6:50:59 PM9/29/08
to
Pascal Costanza <p...@p-cos.net> writes:

> cartercc wrote:
>
>> I looked at LispWorks now, and almost fell out of my chair at the
>> prices. I am a student and frankly cannot afford this product. Does
>> the Personal Edition create exe files? The blurb says that it does not
>> support application delivery?
>
> If you are a student and don't want to sell software products for a
> living, you don't need to create exe files. Lisp programs are
> traditionally deployed differently, except for shrink-wrapped
> software.

Sometimes teachers allow any programming languages for the project, as
long as the students can deliver an executable with the sources.

cartercc, it will be difficult (but possible) to build a command line
to generate an executable from a source file with most lisp
implementations. What you should do, is to build the executable, from
the source file, not from the command line.

In addition to your your-source.lisp, have a loader.lisp containing:


-----(loader.lisp)------------------------------------------------------

(defun save-executable-image (name &key init-function
(start-package (find-package "COMMON-LISP-USER"))
(documentation (documentation init-function 'function)))
#+clisp (ext:saveinitmem
name
:executable t
:quiet t :norc t
:init-function (if init-function
(lambda () (funcall init-function ext:*args*) (ext:exit 0))
(lambda ()))
:documentation documentation
:start-package start-package)
#+sbcl (sb-ext:save-lisp-and-die
name
:executable t
:toplevel (lambda ()
(setf *package* start-package)
(setf sb-int:*repl-prompt-fun* (function prompt))
(if init-function
(funcall init-function (rest SB-EXT:*POSIX-ARGV*))
(sb-impl::toplevel-repl nil))
(sb-ext:quit :unix-status 0)))
#-(or clisp sbcl) (error "How do we save an image in ~A"
(lisp-implementation-type)))


(load (compile-file "your-source.lisp")) ; and any other dependencies
(save-executable-image "MyProgram" (function your-package:your-main-function))

------------------------------------------------------------------------

And then you can run this loader.lisp script from the command line to
have it load your sources, compile them and save an executable.

> You can execute Lisp programs directly from within a Lisp
> environment. This includes compiling programs to low-level machine
> code and executing that, which makes this competitive with other
> compiled languages.

This is of course the recommanded "lisp way of life".


> It takes a while to get used to that somewhat different interaction
> with a language environment, but it has strong benefits over the
> edit-compile-link-run cycle. Take some time to learn this, and you'll
> see.
>
>
> Pascal
>
> --
> My website: http://p-cos.net
> Common Lisp Document Repository: http://cdr.eurolisp.org
> Closer to MOP & ContextL: http://common-lisp.net/project/closer/

--
__Pascal Bourguignon__ http://www.informatimago.com/

Nobody can fix the economy. Nobody can be trusted with their finger
on the button. Nobody's perfect. VOTE FOR NOBODY.

Vend

unread,
Sep 30, 2008, 4:17:29 AM9/30/08
to

Which Lisp language are you using?
If it's Scheme then many implementations allow you to compile to
standalone executables, usually via intermediate C files.

cartercc

unread,
Sep 30, 2008, 8:14:38 AM9/30/08
to
On Sep 29, 3:28 pm, Rainer Joswig <jos...@lisp.de> wrote:
> Well as I said, read the fine manuals.

As always very good advice, and as often happens, not done until
someone says RTFM. Okay, I did (and as a matter of fact had previously
printed the CMUCL manual).

I spent more than an hour last night trying to make it work, learned a
few things, but was unable to accomplish the task I set out. I just
need to get more familiar with these tools. I'm satisfied that this
can be done, and maybe in six months or so I will focus and getting it
done.

>
> For CLISP for example:
>
> http://clisp.cons.org/impnotes/image.html
>
> see the :executable option to the function
> EXT:SAVEINITMEM .
>
> CMUCL:
>
> http://common-lisp.net/project/cmucl/doc/cmu-user/extensions.html#toc47
>
> See the :executable option to the function extensions:save-lisp .

My three competencies are Perl, Java, and C++. In the case of Perl,
all the machines I am responsible for have Perl. Ditto Java for the
JRE. As to C++, the compilers generate exe files directly.

I would like to achieve some competency in Lisp but Lisps do not
typically get installed on machines and do not have a 'LRE' (or do
they?) Therefore, the only easy way I can think of to run a script
written in Lisp is to compile and distribute it as an exe.

Thanks for your help, CC.

Rainer Joswig

unread,
Sep 30, 2008, 8:34:52 AM9/30/08
to
In article
<032f841d-c497-43df...@i76g2000hsf.googlegroups.com>,
cartercc <cart...@gmail.com> wrote:

> On Sep 29, 3:28 pm, Rainer Joswig <jos...@lisp.de> wrote:
> > Well as I said, read the fine manuals.
>
> As always very good advice, and as often happens, not done until
> someone says RTFM. Okay, I did (and as a matter of fact had previously
> printed the CMUCL manual).
>
> I spent more than an hour last night trying to make it work, learned a
> few things, but was unable to accomplish the task I set out. I just
> need to get more familiar with these tools. I'm satisfied that this
> can be done, and maybe in six months or so I will focus and getting it
> done.
>

For me this works with CLISP - see this:


RJMBP:~ joswig$ clisp
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8

Welcome to GNU CLISP 2.45 (2008-05-15) <http://clisp.cons.org/>

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2008

Type :h and hit Enter for context help.

[1]> (defun my-main () (print 'my-program-start))
MY-MAIN
[2]> (EXT:SAVEINITMEM "/tmp/c1" :executable t :init-function 'my-main)
;; Wrote the memory image into /tmp/c1 (4,180,924 bytes)
1866456 ;
931158
[3]> (quit)
Bye.
RJMBP:~ joswig$ /tmp/c1
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8

Welcome to GNU CLISP 2.45 (2008-05-15) <http://clisp.cons.org/>

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2008

Type :h and hit Enter for context help.


MY-PROGRAM-START
[1]>


> >
> > For CLISP for example:
> >
> > http://clisp.cons.org/impnotes/image.html
> >
> > see the :executable option to the function
> > EXT:SAVEINITMEM .
> >
> > CMUCL:
> >
> > http://common-lisp.net/project/cmucl/doc/cmu-user/extensions.html#toc47
> >
> > See the :executable option to the function extensions:save-lisp .
>
> My three competencies are Perl, Java, and C++. In the case of Perl,
> all the machines I am responsible for have Perl. Ditto Java for the
> JRE. As to C++, the compilers generate exe files directly.
>
> I would like to achieve some competency in Lisp but Lisps do not
> typically get installed on machines and do not have a 'LRE' (or do
> they?) Therefore, the only easy way I can think of to run a script
> written in Lisp is to compile and distribute it as an exe.
>
> Thanks for your help, CC.

--
http://lispm.dyndns.org/

Pascal Costanza

unread,
Sep 30, 2008, 8:35:46 AM9/30/08
to
cartercc wrote:

> I would like to achieve some competency in Lisp but Lisps do not
> typically get installed on machines and do not have a 'LRE' (or do
> they?) Therefore, the only easy way I can think of to run a script
> written in Lisp is to compile and distribute it as an exe.

What do you exactly mean by "distribute"? To who do you have to
distribute your programs? Is this only internal (at your company,
university, or so?), or do you mean wider distribution? Or do you mean
distributing the programs to your own personal machines?

It would be good to know what your requirements are, then it should be
easier to figure out what the best solution is. Creating exe files is
not the most prominent approach in Lisp...

Vend

unread,
Sep 30, 2008, 11:21:28 AM9/30/08
to

Most Linux distribution come with Clisp and ECL either installed by
default or available through the package manager.
You can download and install them on Windows too.

Asgeir

unread,
Sep 30, 2008, 12:44:04 PM9/30/08
to
Project-Id-Version: Claws-Mail-3.3.1cvs57 (3.4.0)
Report-Msgid-Bugs-To: pa...@claws-mail.org
POT-Creation-Date: 2008-06-27 15:06+0100
PO-Revision-Date: 2008-06-23 11:53+0100
Last-Translator: Tristan Chabredier (wwp) <subs...@free.fr>
Language-Team: <claws-mail-...@dotsrc.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n>1;

-*- LOOK AT THIS -*-
http://blog.splittist.com/2007/08/25/lisp-faq-how-can-i-generate-a-standalone-executable/
(and stfw before asking that bloody question)

@Vend: I don't know what kind of GNU/Linux distribution you use, but
usually, there's no CL implementation installed by default ; this is
the case for the major GNU/Linux distribs, i.e. Ubuntu, Debian, Gentoo,
ArchLinux.
And just for troll, ECL is less known as CMUCL, SBCL, or even CLISP.
Ah, and CLISP is recommanded for... windows.

Cordially,

--
Asgeir

philip....@gmail.com

unread,
Sep 30, 2008, 12:48:52 PM9/30/08
to
On 30 Sep, 13:14, cartercc <carte...@gmail.com> wrote:

> I would like to achieve some competency in Lisp but Lisps do not
> typically get installed on machines and do not have a 'LRE' (or do
> they?) Therefore, the only easy way I can think of to run a script
> written in Lisp is to compile and distribute it as an exe.

Below are the options I've used for different project depending on how
much control I had over the target machine (mostly repeating what
people have already said):

1. Just distribute the code and install a Lisp compiler on the machine
you want to run on. You may want to supply a shell script or batch
file to start everything up correctly so that the end user doesn't
have to use the REPL. I find CLISP particularly good for this (you can
even use it in a 'shebang script').

2. Distribute your code and a Lisp compiler in a tarball with a shell
script. This can be convenient if you want to include additional
libraries as you can roll up ASDF and a 'systems' directory, etc. You
may also need to use a nice init file for your compiler which sets up
ASDF for loading systems from relative pathnames if you use external
libraries.

3. As 2 but compile an image file with all the code that you need.
Details for the exact syntax required to do the saving and the exact
command line to do the loading are implementation specific. The image
file is often quite large unless the compiler implements a tree shaker
of some kind.

4. Many compilers provide the ability to create an image file and wrap
it up as an "executable". The executable will likely be of a similar
size to the image in 3 (slightly larger). The syntax to do this, if
available, is usually an extension of 3.

I'm guessing what you'd really like is 4 but there is merit to the
other approaches that people have described, particularly if you
intend to run multiple programs on the destination machine and install
a Lisp once (like you would with Python or Ruby on a server).

Of course, if you intend to distribute the compiler, make sure you're
allowed to under its license.

--
Phil
http://phil.nullable.eu/

cartercc

unread,
Sep 30, 2008, 1:09:58 PM9/30/08
to
On Sep 30, 8:35 am, Pascal Costanza <p...@p-cos.net> wrote:
> What do you exactly mean by "distribute"? To who do you have to
> distribute your programs? Is this only internal (at your company,
> university, or so?), or do you mean wider distribution? Or do you mean
> distributing the programs to your own personal machines?

I am a student, but am also a full time staff member at a public
university as a database manager. My job involves running database
queries, grabbing the data (mostly as CSV ASCII files), manipulating
the data, and then passing the data on to others. The end result could
be a CSV or XML ascii file, an Excel file, a PDF, a Word document, an
Access database, or as content embedded in HTML.

I frequently have need to pass data on to others (not IT) who have a
need to further process the data. Most of the time, I write a Perl
script that takes a data file as input and outputs whatever is
required. I create a batch file so that the user just double clicks on
the icon from his graphical OS interface and the script runs (as long
as the input file is in the correct directory.)

I've also used Java files and C++ files in this way, and they just
run.

I am just learning Lisp, and would actually like to use it to write
useful scripts. In order to do this, I need for the script to run
without having to tell lay users that they need to install Lisp on
their computer. (Perl was here before I was and has been around for a
long time, so when I tell somebody that they need to install Perl to
run a script they accept it as normal.)

> It would be good to know what your requirements are, then it should be
> easier to figure out what the best solution is. Creating exe files is
> not the most prominent approach in Lisp...

Okay. Suppose I write a script (in X language) and place it on a
network share. I then tell them to copy the script to their machine
and run it. I'm not interested in spending time trying to bring a data
entry clerk up to speed in running a script. One of the nice things
about Visual Studio is that you can generate an exe file that will
just run. (Should I use VB rather than Lisp?)

CC

Pascal J. Bourguignon

unread,
Sep 30, 2008, 3:07:02 PM9/30/08
to
cartercc <cart...@gmail.com> writes:
> I am just learning Lisp, and would actually like to use it to write
> useful scripts. In order to do this, I need for the script to run
> without having to tell lay users that they need to install Lisp on
> their computer. (Perl was here before I was and has been around for a
> long time, so when I tell somebody that they need to install Perl to
> run a script they accept it as normal.)

Ah ah! So the problem is not with lisp, but with people. You have to
find a way to make those people accept as normal to install lisp
systems too.

>> It would be good to know what your requirements are, then it should be
>> easier to figure out what the best solution is. Creating exe files is
>> not the most prominent approach in Lisp...
>
> Okay. Suppose I write a script (in X language) and place it on a
> network share. I then tell them to copy the script to their machine
> and run it. I'm not interested in spending time trying to bring a data
> entry clerk up to speed in running a script. One of the nice things
> about Visual Studio is that you can generate an exe file that will
> just run. (Should I use VB rather than Lisp?)

It wouldn't run on my computer. Of course, I'm not a data entry
clerk, but wouldn't that means that in order to execute your VB exe
script, one would have to install a little more than a lisp system?

Message has been deleted

Paul Donnelly

unread,
Sep 30, 2008, 4:11:05 PM9/30/08
to
cartercc <cart...@gmail.com> writes:

> Okay. Suppose I write a script (in X language) and place it on a
> network share. I then tell them to copy the script to their machine
> and run it. I'm not interested in spending time trying to bring a data
> entry clerk up to speed in running a script. One of the nice things
> about Visual Studio is that you can generate an exe file that will
> just run.

> (Should I use VB rather than Lisp?)

If you can't come up with an acceptable (to you) way to distribute
Lisp programs, probably. As sympathetic as I am to the desire to write
everything in Lisp, short scripts are probably not an area where Lisp
would buy you more than warm fuzzies.

Vend

unread,
Sep 30, 2008, 5:42:09 PM9/30/08
to
On 30 Set, 18:44, Asgeir <_asgeir_/\T_free_d0T_fr> wrote:
> Project-Id-Version: Claws-Mail-3.3.1cvs57 (3.4.0)
> Report-Msgid-Bugs-To: p...@claws-mail.org

> POT-Creation-Date: 2008-06-27 15:06+0100
> PO-Revision-Date: 2008-06-23 11:53+0100
> Last-Translator: Tristan Chabredier (wwp) <subscr...@free.fr>
> Language-Team:  <claws-mail-translat...@dotsrc.org>

> MIME-Version: 1.0
> Content-Type: text/plain; charset=iso-8859-1
> Content-Transfer-Encoding: 8bit
> Plural-Forms: nplurals=2; plural=n>1;
>
> -*- LOOK AT THIS -*-http://blog.splittist.com/2007/08/25/lisp-faq-how-can-i-generate-a-st...

> (and stfw before asking that bloody question)
>
> @Vend: I don't know what kind of GNU/Linux distribution you use, but
> usually, there's no CL implementation installed by default ; this is
> the case for the major GNU/Linux distribs, i.e. Ubuntu, Debian, Gentoo,
> ArchLinux.

Probably you are right, CL implementation aren't installed by default.

Vend

unread,
Sep 30, 2008, 5:44:14 PM9/30/08
to

You can tell them to install Clisp. Last time I checked it was just
zip file to expand.
Then you could write batch scripts to call it.

MacAllan

unread,
Sep 30, 2008, 8:29:47 PM9/30/08
to
Vend ci ha detto :

> If it's Scheme then many implementations allow you to compile to
> standalone executables, usually via intermediate C files.

For example, PLT Scheme lets you produce standalone executables (unzip
& go)and it comes with a very convenient IDE.


Alex Mizrahi

unread,
Oct 1, 2008, 5:21:02 AM10/1/08
to
V> You can tell them to install Clisp. Last time I checked it was just
V> zip file to expand.
V> Then you could write batch scripts to call it.

it's actually easier to bundle clisp with your files -- in zip file, or just
as a directory on a network share.
no need to install anything, actually.


Joseph Iacobucci

unread,
Oct 1, 2008, 9:08:33 AM10/1/08
to
(defun save-application (name main &optional
(documentation "Hello World"))

(ext:saveinitmem name
:executable t
:quiet t
:norc t
:init-function main
:script t
:documentation documentation))

(defun main ()
(format t "~%Hello World!~%") (ext:exit 0))

(save-application "hw" (function main))

;;(ext:shell "./hw")

that works also. Then you have one file that is an exe.
You have to remember to bring along some dll's,
libiconv-2.dll and some others. It will ask you for them when you try and
run it, just put them in the same directory as the exe. They are in the
"base" folder on the windows clisp distribution.

--
Joseph Iacobucci
Email: gtg...@mail.gatecch.edu

"Alex Mizrahi" <udod...@users.sourceforge.net> wrote in message
news:48e34103$0$90262$1472...@news.sunsite.dk...

Pascal Costanza

unread,
Oct 1, 2008, 5:46:03 PM10/1/08
to

There is indeed no convenient straightforward way to do this with Common
Lisp. The Common Lisp language specification assumes a certain execution
model that makes it hard to compile programs into exe files, and apart
from the commercial Lisp environments, there is no out-of-the-box
solution for this.

OpenLisp is not quite Common Lisp, but implements a dialect that can be
considered close enough to Common Lisp, and may be a good compromise.

Some Scheme implementations also seem to make this straightforward.

There are other Lisp dialects available, with different degrees of
support for this. Clojure may be a good solution.

Just a few ideas...

Rainer Joswig

unread,
Oct 1, 2008, 6:32:20 PM10/1/08
to
In article <6ki9crF...@mid.individual.net>,
Pascal Costanza <p...@p-cos.net> wrote:

What does the spec assume to make it hard to compile things into exe files???
Please?

> and apart
> from the commercial Lisp environments, there is no out-of-the-box
> solution for this.

What is that??? We can't make executables with Common Lisp implementations?
Wait a moment!

With CLISP and CMUCL and others I
can generate executable files - no problem. They
may be small (CLISP) or large (CMUCL) - but it works.

A saved executable image is just fine. It may contain a lot of stuff - but do I care?
Why should I?


Here is an example with SBCL :


I'm running SBCL on an Apple PowerBook :

RJPBG4:sbcl-1.0.2-powerpc-darwin joswig$ /usr/local/bin/sbcl
This is SBCL 1.0.2, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (defun foo-main () (print "the foo app") (quit))

FOO-MAIN
* (sb-ext:save-lisp-and-die "/tmp/sbcl-foo-app" :toplevel #'foo-main :executable t)
[undoing binding stack and other enclosing state... done]
[saving current Lisp image into /tmp/sbcl-foo-app:
writing 1872 bytes from the read-only space at 0x04000000
writing 1128 bytes from the static space at 0x08000000
writing 25640960 bytes from the dynamic space at 0x10000000
done]


Let's try the executable:


RJPBG4:sbcl-1.0.2-powerpc-darwin joswig$ /tmp/sbcl-foo-app
This is SBCL 1.0.2, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.

"the foo app"

So, it does work!


Now I copy a single file to another machine, an Apple iMac G5:

RJPBG4:sbcl-1.0.2-powerpc-darwin joswig$ scp /tmp/sbcl-foo-app rjimacg5-2.local:/tmp/sbcl-foo-app


I move over to the iMac G5 :

RJiMacG5-2:~ joswig$ /tmp/sbcl-foo-app
This is SBCL 1.0.2, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.

"the foo app"


Almost every Common Lisp has a way to dump an executable as a single file.


>
> OpenLisp is not quite Common Lisp, but implements a dialect that can be
> considered close enough to Common Lisp, and may be a good compromise.
>
> Some Scheme implementations also seem to make this straightforward.
>
> There are other Lisp dialects available, with different degrees of
> support for this. Clojure may be a good solution.
>
> Just a few ideas...

Actually I recommend to use Common Lisp to write applications. That was what it
was invented for. Almost all Common Lisp implementations make it totally
easy to create executables - only my Lisp Machine doesn't - because
there are no executables, since Lisp is the OS.


>
>
> Pascal

--
http://lispm.dyndns.org/

philip....@gmail.com

unread,
Oct 1, 2008, 7:12:25 PM10/1/08
to
On Oct 1, 10:46 pm, Pascal Costanza <p...@p-cos.net> wrote:

> There is indeed no convenient straightforward way to do this with Common
> Lisp. The Common Lisp language specification assumes a certain execution
> model that makes it hard to compile programs into exe files, and apart
> from the commercial Lisp environments, there is no out-of-the-box
> solution for this.

I'm not sure if I'm misunderstanding what you mean but here's how to
create executables in the 3 free CL implementations that I currently
use to distribute my software:

#+:sbcl (sb-ext:save-lisp-and-die "exename" :toplevel
'function :executable t)
#+:clisp (ext:saveinitmem "exename" :init-function
'function :executable t :quiet t :norc t)
#+:ccl (ccl:save-application "exename" :toplevel-function
'function :prepend-kernel t :error-handler :quit-quietly))

These executables work on Windows, Linux and MacOS X (where the
compiler/OS combination exists).

--
Phil
http://phil.nullable.eu/

philip....@gmail.com

unread,
Oct 1, 2008, 7:21:20 PM10/1/08
to
On Oct 2, 12:12 am, philip.armit...@gmail.com wrote:

> These executables work on Windows, Linux and MacOS X (where the
> compiler/OS combination exists).

...and before anyone says it...no I don't mean the executables are
portable across operating systems, but the method of creating them is!

--
Phil
http://phil.nullable.eu/

Brian

unread,
Oct 1, 2008, 9:02:41 PM10/1/08
to
In theory ECL would be a nice implementation to use for this purpose; the
runtime isn't too huge (for .9l, libecl is ~1.2 megs stripped on Linux at
least), and the executables produced aren't huge (stripping helps some here
too). In theory you could package its various runtime dependencies into an
installer that users could run if the exes don't run on their system.

Of course, theory and practice may not be the same, but it could be something
interesting to try.

Pascal Costanza

unread,
Oct 2, 2008, 4:17:18 AM10/2/08
to

I stand corrected.

Pascal Costanza

unread,
Oct 2, 2008, 4:21:42 AM10/2/08
to

The fact that Common Lisp is based around loading code in such a way
that a predefined image is molded into the image you actually want, step
by step, form by form.

The exe files in Unix-style operating systems are based on the idea that
they are basically just copied from harddisk to main memory. These two
models are not that compatible.

However, my main claim has been disproved, sorry for the noise.

Rainer Joswig

unread,
Oct 2, 2008, 5:12:59 AM10/2/08
to
In article <6kjekmF...@mid.individual.net>,
Pascal Costanza <p...@p-cos.net> wrote:

Hmm, the Common Lisp spec does not say anything about that, AFAIK. What it
defines is that there is a mechanism to load source and compiled
files. The Common Lisp spec does not say much about how
loading those binary files works it also says nothing about
the data layout in those files and what mechanism is being used
to load it. The Common Lisp spec
does also not prevent any other ways to create executables,
shared libraries or other things.

If you look at, say, Maxima - a very old Lisp application - people
usually download an executable. If they start it, it will be
loaded into main memory like any other app and then the OS
gives control to the Maxima app.

If we can identify anything, like what you mention, in the Common Lisp
spec, that makes it hard for developers or users to create
executables, we should fix that soon.


> The exe files in Unix-style operating systems are based on the idea that
> they are basically just copied from harddisk to main memory. These two
> models are not that compatible.

I can't see anything in the spec that is against that. For example some
implementations compile to the usual OS shared libraries - those
shared libraries then get loaded by the OS specific shared library
loader.



> However, my main claim has been disproved, sorry for the noise.

General rant (not directed at Pascal):

Sometimes I think the (Common) Lisp community does not even
know what they can do with the tools NOW. Constant brain wash
about perceived Lisp problems (like parentheses, syntax, ...)
make people unaware of the many great features that Lisp
implementations provide to write applications TODAY. There
are many missing things, but looking at cool free implementations
and cool commercial implementations I think it is
not too much asked to read the f**king manual (and complain
if the manual is not good enough) - creating executables
is described in those manuals. If we look at, say, GNU CLISP
why does it have all that stuff that is described in the manual
and the man page??? It is there because developers needed it
for their applications. There are a lot of things that won't
help win academic awards (like figuring out how compile to a
shared library), but are incredibly useful for applications.

>
>
> Pascal

--
http://lispm.dyndns.org/

Pascal Costanza

unread,
Oct 2, 2008, 5:32:27 AM10/2/08
to

Sections 3.2.3 and 3.2.3.1 in the HyperSpec?

> The Common Lisp spec
> does also not prevent any other ways to create executables,
> shared libraries or other things.

True.

> Sometimes I think the (Common) Lisp community does not even
> know what they can do with the tools NOW. Constant brain wash
> about perceived Lisp problems (like parentheses, syntax, ...)
> make people unaware of the many great features that Lisp
> implementations provide to write applications TODAY. There
> are many missing things, but looking at cool free implementations
> and cool commercial implementations I think it is
> not too much asked to read the f**king manual (and complain
> if the manual is not good enough) - creating executables
> is described in those manuals. If we look at, say, GNU CLISP
> why does it have all that stuff that is described in the manual
> and the man page??? It is there because developers needed it
> for their applications. There are a lot of things that won't
> help win academic awards (like figuring out how compile to a
> shared library), but are incredibly useful for applications.

True.

Stefan Nobis

unread,
Oct 2, 2008, 9:07:51 AM10/2/08
to
cartercc <cart...@gmail.com> writes:

> Okay. Suppose I write a script (in X language) and place it on a
> network share. I then tell them to copy the script to their machine
> and run it. I'm not interested in spending time trying to bring a data
> entry clerk up to speed in running a script.

Hmmm... why not just place the Common Lisp implementation (say
e.g. CLisp) on the network share in a predefined folder
(read-only). The place the lisp scripts in onother folder and for the
user create simple shell script files like

<path_to_clisp>\clisp.exe -q -M <full_path_to_image_file> <full_path_to_lisp_script>

for the user to double click. No need to install or copy anything to
their local hard drive. If you could tweak the workstation
installations a little bit, you may add a file association for the
lisp files, then those shell scripts are not necessary.

The user may even copy those shell scripts to his hard driver and
execute them locally, no problem.

So why is Common Lisp not suitable in this situation?

--
Stefan.

André Thieme

unread,
Oct 2, 2008, 10:13:34 AM10/2/08
to
cartercc schrieb:
> Is it possible to compile a Lisp source file to an exe on an x86
> machine running Windows?
>
> Using gcc (on Windows) like this: [>gcc -o hello.exe hello.c] will
> produce a file that I can run natively. Is it possible to do this same
> with a Lisp file?
>
> When I run compile-file I don't get anything I can copy to another
> machine (with a Lisp) and run.

Others already pointed out that with some Lisp implementations it is
possible. Examples are: Allegro, LispWorks, sbcl, cmucl or clisp

But then again I think: �Hey, it�s nearly 2009, what do you need
.exe files for?�
If I want others to use my application I create an account for them
on the website, where the application is running.

Basically I see the need for a binary/.exe file if huge amounts of
CPU and/or internet bandwidth is needed.
Programs like Photoshop or 3D Studio Max still make sense to run
locally for a few more years. We don�t want to upload 3 GB each day
into PhotoshopOnline. But as soon 100 MBit connections are common
it will make not much sense anymore to run Photoshop anywhere else
but in your browser.


Andr�
--

J Kenneth King

unread,
Oct 2, 2008, 12:35:31 PM10/2/08
to
André Thieme <address.good.un...@justmail.de> writes:

> cartercc schrieb:
>> Is it possible to compile a Lisp source file to an exe on an x86
>> machine running Windows?
>>
>> Using gcc (on Windows) like this: [>gcc -o hello.exe hello.c] will
>> produce a file that I can run natively. Is it possible to do this same
>> with a Lisp file?
>>
>> When I run compile-file I don't get anything I can copy to another
>> machine (with a Lisp) and run.
>
> Others already pointed out that with some Lisp implementations it is
> possible. Examples are: Allegro, LispWorks, sbcl, cmucl or clisp
>

> But then again I think: “Hey, it’s nearly 2009, what do you need
> .exe files for?”


> If I want others to use my application I create an account for them
> on the website, where the application is running.
>
> Basically I see the need for a binary/.exe file if huge amounts of
> CPU and/or internet bandwidth is needed.
> Programs like Photoshop or 3D Studio Max still make sense to run

> locally for a few more years. We don’t want to upload 3 GB each day


> into PhotoshopOnline. But as soon 100 MBit connections are common
> it will make not much sense anymore to run Photoshop anywhere else
> but in your browser.

I'm not buying the whole "browser will be the new OS" business. It'll
take more than a 1Gbs full-duplex connection for that to happen. It will
also mean telco's will have to stop capping connections and servers will
have to get MUCH meatier. Not to mention that browsers as an interface
completely suck.

It's highly unlikely that Photoshop will run as a mainframe application
in the near future. It just doesn't make sense. Run a convolution filter
on a 50MB image over the network. Pass the input image up the wire,
process it on the server, pump the results back down the
network... what's the point? You can do the same think locally faster.

As for applications over the web in general... compiling javascript to
beat the crap out of a text markup language into a GUI? That is
definitely not the best solution we can come up with. Please tell me
that's not the best solution we have.

A single binary distribution is useful. Sounds like there's a way
to do it in many CL implementations, but that it could be better. Is
there a build system for CL projects (something along the lines of
configure/make or ant only of course better)?

(Disclaimer: I'm still a newb in the Lisp world, so forgive my lack of
knowledge please)

Paul

unread,
Oct 2, 2008, 1:47:40 PM10/2/08
to
On Sep 30, 6:09 pm, cartercc <carte...@gmail.com> wrote:
> Okay. Suppose I write a script (in X language) and place it on a
> network share. I then tell them to copy the script to their machine
> and run it. I'm not interested in spending time trying to bring a data
> entry clerk up to speed in running a script.

If you've already got people trained to accept and run Perl scripts,
and assuming you're not going to upset the local sysadmins, you might
consider giving them Clisp by stealth.

Put some Clisp install files on your network share, have the Perl
script you give them check for a local install and perform one if
necessary, and tell people that the first time it runs, it might be a
little bit slow. Whilst users often object to having to do anything
extra (like installing Clisp), not many will mind a wait if they're
expecting it.

OTOH, most modern systems won't care or notice much whether the script
you've got is 4 kB or 4 MB, so you may as well just use the saved Lisp
image, as others have suggested, and be done with it. Your users
certainly won't care, from the sound of it.

It's also easy to confuse "it's hard to get a Lisp program as an
executable" with "it's hard to get a Lisp program as a small
executable". The latter's still not at all easy (if "small" for you
doesn't stretch to "a few megabytes"), but as Rainer and other have
demonstrated, the former is an easily solved problem. If you must
have a smaller image (though it doesn't sound like you do), I found
they were moderately compressible too (factor of 2 or so, IIRC), if
compressed executables are your thing.

Finding real-life excuses to use a language is one of the best ways to
learn it, so good luck on getting Lisp out there.

Paul.

Paul Donnelly

unread,
Oct 2, 2008, 2:00:46 PM10/2/08
to
J Kenneth King <ja...@agentultra.com> writes:

> A single binary distribution is useful. Sounds like there's a way
> to do it in many CL implementations, but that it could be better. Is
> there a build system for CL projects (something along the lines of
> configure/make or ant only of course better)?

There are build systems, but they're mostly concerned with getting
programs loaded into a running Lisp. I don't think any of them come
with code to produce executables (maybe someone will correct me
here). But you can of course tack anything you like, such as making an
executable, onto the end of the loading phase.

Stefan Nobis

unread,
Oct 3, 2008, 4:09:49 AM10/3/08
to
J Kenneth King <ja...@agentultra.com> writes:

> I'm not buying the whole "browser will be the new OS" business.

I'll second that! Besides the technical issues, there are problems
like privacy issues. Not everyone has so much trust in arbritary
companies as to send them all their private data.

--
Stefan.

Vend

unread,
Oct 3, 2008, 10:51:24 AM10/3/08
to
On 2 Ott, 16:13, André Thieme <address.good.until.

2008.oct...@justmail.de> wrote:
> cartercc schrieb:
>
> > Is it possible to compile a Lisp source file to an exe on an x86
> > machine running Windows?
>
> > Using gcc (on Windows) like this: [>gcc -o hello.exe hello.c] will
> > produce a file that I can run natively. Is it possible to do this same
> > with a Lisp file?
>
> > When I run compile-file I don't get anything I can copy to another
> > machine (with a Lisp) and run.
>
> Others already pointed out that with some Lisp implementations it is
> possible. Examples are: Allegro, LispWorks, sbcl, cmucl or clisp
>
> But then again I think: “Hey, it’s nearly 2009, what do you need
> .exe files for?”

> If I want others to use my application I create an account for them
> on the website, where the application is running.
>
> Basically I see the need for a binary/.exe file if huge amounts of
> CPU and/or internet bandwidth is needed.
> Programs like Photoshop or 3D Studio Max still make sense to run
> locally for a few more years. We don’t want to upload 3 GB each day

> into PhotoshopOnline. But as soon 100 MBit connections are common
> it will make not much sense anymore to run Photoshop anywhere else
> but in your browser.

Why?
Modern personal computers have each one million or more times the
computational power of the first computers and you want to turn them
into dumb terminals with a fancy gui?

Maybe my knwoledge is a little limited, but I don't think I know any
web application that is not fundamentally a shared database managment
application or a wrapper to another internet service (email,
newsgroups, etc).

Web applications are useful to provide a interface to remote
resources, they are easier to develop and deploy than os-level client
programs, but I don't see any particular reason to use them to
centralize computations on servers.

John Thingstad

unread,
Oct 3, 2008, 11:12:04 AM10/3/08
to

Well a web app would have a base application on you machine. It would
contain many more components that can be cashed on your machine. That way
you get only the components you use. consider a traffic control app.
Whether than require a specific terminal for each type of use or having
code for all interfaces instead of just the one you use you could cache
the ones you use the most. You can do that kind of thing today with DCOM
or CORBA on a local LAN. But with protected code you can open for the same
type of connectivity on the internet.

--------------
John Thingstad

Timofei Shatrov

unread,
Oct 3, 2008, 1:29:16 PM10/3/08
to
On Wed, 1 Oct 2008 09:08:33 -0400, "Joseph Iacobucci" <gtg...@mail.gatech.edu>
tried to confuse everyone with this message:

>(defun save-application (name main &optional
> (documentation "Hello World"))
> (ext:saveinitmem name
> :executable t
> :quiet t
> :norc t
> :init-function main
> :script t
> :documentation documentation))
>
>(defun main ()
> (format t "~%Hello World!~%") (ext:exit 0))
>
>(save-application "hw" (function main))
>
>;;(ext:shell "./hw")
>
>that works also. Then you have one file that is an exe.
>You have to remember to bring along some dll's,
>libiconv-2.dll and some others. It will ask you for them when you try and
>run it, just put them in the same directory as the exe. They are in the
>"base" folder on the windows clisp distribution.

The trick is to use CLISP distribution that doesn't depend on those dlls.
As far as I remember there are two types of Windows binaries, with and
without dlls. The packages were used to be named to reflect that, but now
I guess "small" package would be what you want.

--
|Don't believe this - you're not worthless ,gr---------.ru
|It's us against millions and we can't take them all... | ue il |
|But we can take them on! | @ma |
| (A Wilhelm Scream - The Rip) |______________|

Juanjo

unread,
Oct 3, 2008, 6:25:54 PM10/3/08
to
On Oct 2, 3:02 am, Brian <quickbasicg...@gmail.com> wrote:
> In theoryECLwould be a nice implementation to use for this purpose; the

In theory, there are no run time dependencies. ECL only needs the GMP
library, the Boehm-Weiser library and the C library to run. One you
get with the operating system, the other two are shipped with ECL
itself. If you want, you can even build ECL into a statically linked
library, so that there is not even a DLL to ship with your program:
everything bundles together.

Juanjo

Magnus Henoch

unread,
Oct 3, 2008, 10:18:35 PM10/3/08
to
J Kenneth King <ja...@agentultra.com> writes:

> A single binary distribution is useful. Sounds like there's a way
> to do it in many CL implementations, but that it could be better. Is
> there a build system for CL projects (something along the lines of
> configure/make or ant only of course better)?

The SVN version of cl-darcs comes with an autoconf/automake build
system, which generates an executable on SBCL and CLISP. The usual
procedure "./configure && make && sudo make install" applies. The
binary is good enough to "fool" the test suite of the real darcs. (it
doesn't _pass_ all of the test suite, but it can try.)

http://common-lisp.net/project/cl-darcs/

Speaking of which, cl-darcs has been rather inactive lately. Most
projects that I wanted to track have switched to git, and cl-darcs works
well enough for the others. Maybe I should just release the current
code and then thank for all the fish...

Magnus

André Thieme

unread,
Oct 4, 2008, 1:55:39 AM10/4/08
to
J Kenneth King schrieb:

> I'm not buying the whole "browser will be the new OS" business. It'll
> take more than a 1Gbs full-duplex connection for that to happen.

It’s on the way.
Some years ago there was an article online that described plans of some
japanese companies and their government to begin providing 10 gbit
connections to the internet. Although the news site does not exist
anymore I still found this link where I originally read it:
http://www.kurzweilai.net/news/frame.html?main=/news/news_single.html?id%3D3664

I think when we look at the coming 200 years only for a very short
amount of time our mobile phones will have had slower speeds than
100 mbit/s. In general people will say it always have been more.


> It will also mean telco's will have to stop capping connections and
> servers will have to get MUCH meatier. Not to mention that browsers
> as an interface completely suck.

I would not say completely, but well, in ten years some of us will
begin to use retina displays anyway to watch content.
About the servers I see no problem.
A top Nvidia or AMD video card that you buy today would have been in
the Top 500 just 8 years ago.
About 2012 the fastest super computer will reach about the same
calculation speed as human brains have, and +/- 2023 even average
people will be able to afford such a system.
Heck, our mobile phones will have flash memories of some TB.


> It's highly unlikely that Photoshop will run as a mainframe application
> in the near future.

Yes, I fully agree. That’s also what I wrote in my post.
But when they go fully online most of us will probably still be around.
12 years ago we were amused about people who were using a mobile phone
in a restaurant or other public places.


> It just doesn't make sense.

More profit for Adobe. Users will always have an updated version.


> Run a convolution filter
> on a 50MB image over the network. Pass the input image up the wire,
> process it on the server, pump the results back down the
> network... what's the point? You can do the same think locally faster.

In some years many people will be always connected with the internet,
via their mobile compu.. phones.
When you shoot the picture the camera uploads it to your mobile phone
which will already begin with the upload while you are still making
other pictures. Uploading to your 10 TB online harddisk.
When you are home the picture is already there. You can directly begin
to work in Photoshop.


> As for applications over the web in general... compiling javascript to
> beat the crap out of a text markup language into a GUI? That is
> definitely not the best solution we can come up with. Please tell me
> that's not the best solution we have.

Maybe it is the best we have right now.
But we had no JavaScript at all in the past 100k years. Now it is there
and why should there not be improvements for the future?
I think it will develop every year a bit more.


André
--

André Thieme

unread,
Oct 4, 2008, 2:01:42 AM10/4/08
to
Stefan Nobis schrieb:

Yes, it’s right. But I think it could be a sneaky process, and the
masses will follow. Many people use an imap account, storing their
emails from the past 5+ years, not encrypted.
Adobe might decide one day to begin to offer online storage for
pictures and some capabilities of Photoshop... and people will begin
to use it. If enough are doing it then Adobe could simply stop
offering an offline version of their product.
Google probably knows a lot about us. They know at what times of
a day we typically search for X and when for Y. They know our style
of wording when we do queries, and they know more or less everything
we ever searched for. They know what sites we are visiting, because
they have ads on nearly every site, checking our IPs, etc.
So yes, there will be problems in the future. But I think the masses
will not care so much. Just think about all the blogs that we have
today, where people show so much of their life.
And that’s from people who experienced some parts of their life with-
out internet. But all the people who were born after 2008 grow up in
that environment and could have a different opinion about privacy
issues.


André
--

André Thieme

unread,
Oct 4, 2008, 2:21:04 AM10/4/08
to
Vend schrieb:

> Why?
> Modern personal computers have each one million or more times the
> computational power of the first computers and you want to turn them
> into dumb terminals with a fancy gui?

There will be enough of stuff to calculate.
Think about what will happen when retina displays hit the stores,
which might happen, as Ray Kurzweil says, around 2015.
People were glasses and want on each eye an image with a resolution
of, don’t know, 4000x4000 pixels and 50+ frames per second.
In 2030 this will be expected to come from our mobile phones and other
devices, plus they will host intelligent beings.


> Maybe my knwoledge is a little limited, but I don't think I know any
> web application that is not fundamentally a shared database managment
> application or a wrapper to another internet service (email,
> newsgroups, etc).

What do you mean by shared database management?
With who do we share our emails (gmail)?
Google Maps is running online. And that is a bandwidth intense task
and I guess some fast computers are also needed.
An “open source version” can be found here: http://www.openstreetmap.org/

What about ICQ Go? http://go.icq.com/
Or Meebo? http://www.meebo.com/

A primitive version of Office is also available:
http://www.ajaxwrite.com/
Google bought a company which is working on more or less a full
replacement for office, running completely in the browser. Is that
also shared database management?
It was first called Writely and now can be seen at
http://docs.google.com/

Not really Paint, and definitly not photoshop, but a proof of
concept: http://www.neximage.com/


> Web applications are useful to provide a interface to remote
> resources, they are easier to develop and deploy than os-level client
> programs, but I don't see any particular reason to use them to
> centralize computations on servers.

Don’t you see a use for Adobe to basically kill all illegal copies
of Photoshop running around, and forcing people into subscriptions?
Why not offering an editor for programmers online?
People could code Lisp in EmacsOnline, actually see exactly the same
thing, are connected over voice and maybe even via hologram or at least
by a little webcam image. Nice for code reviews, etc.
Programs like mplayer (Linux), Media Player (Windows) or vcl are not
used so much anymore by many people I, because they are watching videos
on youtube. It will be only a matter of time when 98% of all youtube
videos will be in full quality, I mean, whatever a human brain can
work on (coming through retina displays, also in full 3d).

I don’t think that *everything* will go online. But sure a lot of the
stuff that we use today locally.


André
--

Vend

unread,
Oct 4, 2008, 3:10:22 AM10/4/08
to

Modern applications (Ms Office for instance) are usually already
bloated with features that most people don't need.

Raffael Cavallaro

unread,
Oct 4, 2008, 10:01:24 AM10/4/08
to
On 2008-10-04 02:21:04 -0400, André Thieme
<address.good.un...@justmail.de> said:

> Don’t you see a use for Adobe to basically kill all illegal copies
> of Photoshop running around, and forcing people into subscriptions?

They would like to do this but the bandwidth costs of a server based
Photoshop are prohibitive and will continue to be for many years. I
don't think you're considering Adobe's core market - graphics
professionals who routinely work with 30+ MB images. This means
transfering many megabytes for each whole image edit, something that
will take many seconds to a minute or more for something that now
happens often in less than a half second. The people who actually pay
for Photoshop in order to earn their living will not pay for a new
version that is 10 to 100 times slower.

This market also drives the purchase of high end desktop machines, so
PC manufacturers (e.g., Apple) will be quick to point out and painfully
demonstrate how brain damaged it is to do high resolution image file
processing on a remote server.

Kenny

unread,
Oct 4, 2008, 10:45:24 AM10/4/08
to
> Stefan Nobis schrieb:
>
>> J Kenneth King <ja...@agentultra.com> writes:
>>
>>> I'm not buying the whole "browser will be the new OS" business.
>>
>>
>> I'll second that! Besides the technical issues, there are problems
>> like privacy issues. Not everyone has so much trust in arbritary
>> companies as to send them all their private data.

True, but We plan to track all those people down and eliminate them.

hth, kenny

George Neuner

unread,
Oct 4, 2008, 10:13:46 PM10/4/08
to
On Fri, 03 Oct 2008 10:09:49 +0200, Stefan Nobis <sno...@gmx.de>
wrote:

Those who believe in privacy are a dying breed.

According to studies, the vast majority of people under 35 are quite
comfortable sharing every intimate detail of their lives.

George

George Neuner

unread,
Oct 4, 2008, 10:15:08 PM10/4/08
to

Leave it to attrition. There aren't enough of them to worry about
anyway.

George

André Thieme

unread,
Oct 4, 2008, 11:32:50 PM10/4/08
to
Raffael Cavallaro schrieb:

> On 2008-10-04 02:21:04 -0400, André Thieme
> <address.good.un...@justmail.de> said:
>
>> Don’t you see a use for Adobe to basically kill all illegal copies
>> of Photoshop running around, and forcing people into subscriptions?
>
> They would like to do this but the bandwidth costs of a server based
> Photoshop are prohibitive and will continue to be for many years.

Sure, you are right, and I agree. That’s why I originally excluded PS
in my previous posts from the applications for which I see that they’ll
find their way soon into the web.
But still, I remember very well how people paid $700+ per month to play
EverQuest (an online role playing game) in 1999, and that traffic costs
were much higher than todays.
But I believe there is still the chance for traffic costs going down.


> I don't think you're considering Adobe's core market - graphics
> professionals who routinely work with 30+ MB images. This means
> transfering many megabytes for each whole image edit, something that
> will take many seconds to a minute or more for something that now
> happens often in less than a half second. The people who actually pay
> for Photoshop in order to earn their living will not pay for a new
> version that is 10 to 100 times slower.

Also right.
But let’s not forget that connection speeds will go up. Nine years ago
I had an extremly fast access to the internet.. isdn. I was able to
upload more than 6 kb/s, and this made me a hero.
Today I can upload nearly 20x as much. And 100 mbit/s will come.

And please let us see the bigger picture. People will be online 24 hours
a day, everywhere they are, via their mobile phones.
While the photographer takes his shots the camera begins to transfer the
pics to the Adobe server. Until he is home the pictures are already on
his online disk.
So, in fact it will be faster than it is already today.
But sure, not tomorrow, not 2013.


> This market also drives the purchase of high end desktop machines, so PC
> manufacturers (e.g., Apple) will be quick to point out and painfully
> demonstrate how brain damaged it is to do high resolution image file
> processing on a remote server.

Until 2015 I see no new application coming for our homes.
When I buy my next computers I will make sure they will be fast enough
to watch movies, play games that run well on a 60 dollar graphics card
and which will be so silent that I feel the need to open the tower to
understand the compi is still working.
But at the same time AMD will offer me their 32-core CPU with 4 GHz each.
With current home software we reached basically the limits of what is
needed. Now the hardware evolves too fast.
Only up to date games and video editing needs these CPUs. Probably
there are several users, but I guess 98% of all people don’t need that.

When the first retina displays become available (which might be in
2015 according to Ray Kurzweil) it will change. We then have a need
for faster PCs again, and we will want that 32-core beast in our mobile
phones as well. Even later more intelligent applications will come that
will also need tons of CPU.

I think Adobe will be more interested in their own needs and won’t listen
too much to what apple says.

André
--

Raffael Cavallaro

unread,
Oct 5, 2008, 12:19:28 AM10/5/08
to
On 2008-10-04 23:32:50 -0400, André Thieme
<address.good.un...@justmail.de> said:

> Only up to date games and video editing needs these CPUs. Probably
> there are several users, but I guess 98% of all people don’t need that.

This is very true but consider that it was equally true 10 years ago
but people still buy faster machines. Why? because software firms keep
one step ahead of hardware with "features." After all what do 98% of
people really *need* ? Answer: a pencil, some paper, envelopes and
stamps. 98% of people don't buy machines because of need, but because
of social status, etc. Same is true of basic transportation (i.e., many
who own and drive cars really only *need* public tranportation and the
occasional cab), etc.

>
> When the first retina displays become available (which might be in
> 2015 according to Ray Kurzweil) it will change. We then have a need
> for faster PCs again, and we will want that 32-core beast in our mobile
> phones as well. Even later more intelligent applications will come that
> will also need tons of CPU.

I for one welcome our new retinal display overlords ;^)

>
> I think Adobe will be more interested in their own needs and won’t listen
> too much to what apple says.

Absolutely - Adobe already tried to sell Apple down the river in the
late 90s. It's just that if Adobe is foolish enough to think that their
high end users would put up with network latency Apple will be only too
happy to point out that Aperture on a high end Mac is a much nicer
workflow than Photoshop/Lightroom on a remote server.


Cor Gest

unread,
Oct 5, 2008, 12:29:51 AM10/5/08
to
Some entity, AKA André Thieme <address.good.un...@justmail.de>,
wrote this mindboggling stuff:
(selectively-snipped-or-not-p)


> But at the same time AMD will offer me their 32-core CPU with 4 GHz each.
> With current home software we reached basically the limits of what is
> needed. Now the hardware evolves too fast.
> Only up to date games and video editing needs these CPUs. Probably
> there are several users, but I guess 98% of all people don’t need that.

Indeed, the only thing going faster is the electricity-meter.

Cor

--
Mijn Tools zijn zo modern dat ze allemaal eindigen op 'saurus'
(defvar My-Computer '((OS . "GNU/Emacs") (IPL . "GNU/Linux")))
SPAM DELENDA EST http://www.clsnet.nl/mail.php
1st Law of surviving a gunfight : Have a gun

André Thieme

unread,
Oct 5, 2008, 1:46:37 AM10/5/08
to
Cor Gest schrieb:

> Some entity, AKA André Thieme <address.good.un...@justmail.de>,
> wrote this mindboggling stuff:
> (selectively-snipped-or-not-p)
>
>
>> But at the same time AMD will offer me their 32-core CPU with 4 GHz each.
>> With current home software we reached basically the limits of what is
>> needed. Now the hardware evolves too fast.
>> Only up to date games and video editing needs these CPUs. Probably
>> there are several users, but I guess 98% of all people don’t need that.
>
> Indeed, the only thing going faster is the electricity-meter.

Btw, I just want to mention that I am very happy about the upcoming super
fast CPUs and I will buy some. But this is because I need them.
For my Genetic Programming system (which I wrote in Lisp of course).
For that category of computer programming I would in fact love to have
(* (expt 10 12) current-cpu-speed).
Anyway, I sit here with my Thinkpad (TP) which is basically all the time
in idle.
I can only shake my head when I think about the $1000 that I could have
saved if I only had chosen a TP model with a much weaker CPU and
graphics card. I will make sure that my new desktop computer that I will
buy next year will only use very cheap components, but still coming from
fresh production for better energy efficiency.


André
--

Cor Gest

unread,
Oct 5, 2008, 3:20:24 AM10/5/08
to
Some entity, AKA André Thieme <address.good.un...@justmail.de>,
wrote this mindboggling stuff:
(selectively-snipped-or-not-p)

>


> Btw, I just want to mention that I am very happy about the upcoming super
> fast CPUs and I will buy some. But this is because I need them.

> Anyway, I sit here with my Thinkpad (TP) which is basically all the time
> in idle.

> I can only shake my head when I think about the $1000 that I could have
> saved if I only had chosen a TP model with a much weaker CPU and
> graphics card.

Yes, most home used systems are overpowerd for the mean use
one needs, just in case of the occasional bigger compile jobs that
really need resources, well ...
I just make some coffee and read a real book for a change or start
the job and go to bed , just as in 'the old days' ;-)

Vend

unread,
Oct 5, 2008, 6:58:19 PM10/5/08
to
On 4 Ott, 08:21, André Thieme <address.good.until.

2008.oct...@justmail.de> wrote:
> Vend schrieb:
>
> > Why?
> > Modern personal computers have each one million or more times the
> > computational power of the first computers and you want to turn them
> > into dumb terminals with a fancy gui?
>
> There will be enough of stuff to calculate.
> Think about what will happen when retina displays hit the stores,
> which might happen, as Ray Kurzweil says, around 2015.

Yes, and we will play Duke Nukem Forever on them while traveling in
our driverless flying cars. :D

> People were glasses and want on each eye an image with a resolution
> of, don’t know, 4000x4000 pixels and 50+ frames per second.
> In 2030 this will be expected to come from our mobile phones and other
> devices, plus they will host intelligent beings.
>
> > Maybe my knwoledge is a little limited, but I don't think I know any
> > web application that is not fundamentally a shared database managment
> > application or a wrapper to another internet service (email,
> > newsgroups, etc).
>
> What do you mean by shared database management?

Any application which mainly involves manipulating a database shared
by multiple users.

> With who do we share our emails (gmail)?

That counts as internet service wrapper (it's basically an IMAP server
with a web interface).

> Google Maps is running online. And that is a bandwidth intense task
> and I guess some fast computers are also needed.

Google Maps is mostly a passive service, similar to a traditional
website: you search and display data that has already been prepared
and stored.

The only "active" computational task is path-planning, which can be
considered a form of complex query on their road connectivity
database.

> An “open source version” can be found here:http://www.openstreetmap.org/
>
> What about ICQ Go?http://go.icq.com/
> Or Meebo?http://www.meebo.com/

Internet protocol wrappers.

> A primitive version of Office is also available:http://www.ajaxwrite.com/

Looks like crap.

> Google bought a company which is working on more or less a full
> replacement for office, running completely in the browser. Is that
> also shared database management?
> It was first called Writely and now can be seen athttp://docs.google.com/

We will see.

> Not really Paint, and definitly not photoshop, but a proof of
> concept:http://www.neximage.com/

More crap.

> > Web applications are useful to provide a interface to remote
> > resources, they are easier to develop and deploy than os-level client
> > programs, but I don't see any particular reason to use them to
> > centralize computations on servers.
>
> Don’t you see a use for Adobe to basically kill all illegal copies
> of Photoshop running around, and forcing people into subscriptions?

1) CPUs, memory and bandwith have a cost. Even if they become cheaper
there will be still better uses for them.

2) People will start pirating accounts if it becomes lucrative enough.

3) Illegal copies of products like Photoshop, which have their core
markets among professionals, probably don't damage their sales very
much. Possibly they even provide benefits.

> Why not offering an editor for programmers online?

For programmers?

André Thieme

unread,
Oct 6, 2008, 1:54:43 AM10/6/08
to
Vend schrieb:

>> There will be enough of stuff to calculate.
>> Think about what will happen when retina displays hit the stores,
>> which might happen, as Ray Kurzweil says, around 2015.
>
> Yes, and we will play Duke Nukem Forever on them while traveling in
> our driverless flying cars. :D

Duke Nukem Forever will of course be the bestest game ever.
Latest rumors say it should be out in 2009.


>> With who do we share our emails (gmail)?
>
> That counts as internet service wrapper (it's basically an IMAP server
> with a web interface).

What about client software for usenet, ftp, irc?


>> Google bought a company which is working on more or less a full
>> replacement for office, running completely in the browser. Is that
>> also shared database management?
>> It was first called Writely and now can be seen athttp://docs.google.com/
>
> We will see.

Would that count as a “real application”?
Do you see anything immanent in Word/OpenOffice that makes it more or
less impossible to put this into the webbrowser?
Given connections between 100 mbit/s and 10 gbit/s.


>>> Web applications are useful to provide a interface to remote
>>> resources, they are easier to develop and deploy than os-level client
>>> programs, but I don't see any particular reason to use them to
>>> centralize computations on servers.
>> Don’t you see a use for Adobe to basically kill all illegal copies
>> of Photoshop running around, and forcing people into subscriptions?
>
> 1) CPUs, memory and bandwith have a cost. Even if they become cheaper
> there will be still better uses for them.

Yes. Anyway, we should not forget that companies have no costs.
Companies don’t pay taxes, no salaries, no rent, nothing for energy,
and so on. Everything, even the last cent, is added to the product
prices. People at home will have their 400$ systems, 1000 times more
powerfull than what we have today (in around 10 years).
And the costs for boxes for companies will be added to the product
prices. People save money because they get far enough computational
power for a few bucks and instead pay companies to buy their big
systems. And companies will get for small amounts of money some
petaflops systems.


> 2) People will start pirating accounts if it becomes lucrative enough.

They are doing this today with hundreds of thousands of private computers
which send me each day some hundred spam emails.
I guess this will drastically reduce as soon it is normal to have no
.exe file anymore on your own system. And gmail can also warn you
before downloading and running binaries which you got via mail.
Yay, less spam :-)


> 3) Illegal copies of products like Photoshop, which have their core
> markets among professionals, probably don't damage their sales very
> much. Possibly they even provide benefits.

It Adobe thinks so it can allow partially access for free.


>> Why not offering an editor for programmers online?
>
> For programmers?

Yes.

What do you think will cartercc as a student write that definitly needs
to compile to .exe files but can’t run via a webinterface?
Think about how easy it is to backup your system: make a copy of your
bookmarks.
Probably even that is not needed, because you will have them at some
website, like www.mybookmarks.com (dunno if this exists, I just came up
with that name, but it probably does), or bookmarks.google.com.

André
--

Raffael Cavallaro

unread,
Oct 6, 2008, 11:02:25 AM10/6/08
to
On 2008-10-06 01:54:43 -0400, André Thieme
<address.good.un...@justmail.de> said:

> Do you see anything immanent in Word/OpenOffice that makes it more or
> less impossible to put this into the webbrowser?
> Given connections between 100 mbit/s and 10 gbit/s.

You have overly sanguine expectations for network reliability and
latency. For editing/processing large files local machines will remain
much faster than remote servers for the forseeable future.

J Kenneth King

unread,
Oct 6, 2008, 3:08:54 PM10/6/08
to
André Thieme <address.good.un...@justmail.de> writes:

> J Kenneth King schrieb:
>
>> I'm not buying the whole "browser will be the new OS" business. It'll
>> take more than a 1Gbs full-duplex connection for that to happen.
>
> It’s on the way. Some years ago there was an article online that
> described plans of some japanese companies and their government to
> begin providing 10 gbit connections to the internet. Although the
> news site does not exist anymore I still found this link where I
> originally read it:
> http://www.kurzweilai.net/news/frame.html?main=/news/news_single.html?id%3D3664
>

> .. <snip> ..

You and Kurzweil have some amazing predictions about the
future. Kurzweil is a very smart man and you both may be much smarter
than I for me to heap any real criticism upon you. However, I would
like to point out that such predictions have been made in the past and
have missed their mark. According to some in the past, every home
would have a cheap fiber optic connection handling all of our
communication needs. We know that very few predictions made by
futurists have ever come true.

There is one thing however that we can agree on: that progress is
inevitable. Technology will continue to be developed at ever
increasing speeds. New technology will eventually supplant older
technology enabling access to higher levels of technology for more
people.

However, there are other factors which affect the adoption of all of
this technology: cost, policy, resources, consumer trends, culture,
economy, crisis, and so forth. Factoring in all of these into current
prediction models is still out of our reach. Perhaps before running
amok with new predictions we should look to the past and reason why I
still don't have a cheap high-bandwidth fiber-optic connection to my
home.

(We should also consider that the greater part of the world's
population still does not have access to clean running water and
abundant access to electricity)

Anyway, this all has little to do with my main concern: what's the
point?

My PC is already powerful enough to run my own complex simulations, do
real-time 3D rendering, and can process complex convolution filters
and significantly large files in a few seconds. I can host terabytes
of data in my own house. I have a high bandwidth connection with a
static IP address. I can use VNC over an encrypted VPN tunnel and
access any of my computer resources from where ever I am (provided my
physical location has an Internet connection). If mobile phone
hardware and access to mobile networks was as open as PC hardware and
access to the Internet, I'm sure there'd be applications that could
transmit any photo I take on my phone to my server at home in
real-time.

I'd rather run software on my own PC's. I still have applications
around from companies that folded years ago. If they were hosted
applications, I'd be screwed. It's already happening to all those
suckers who bought DRM-encoded music from online retailers that are
now shutting down.

Patching works. Distributing patches is getting better. It could still
use some improvements that are probably down the road, waiting to be
discovered.

I'm still not buying into the "Browser is the new OS" idea.

It's a bad idea.

André Thieme

unread,
Oct 6, 2008, 6:23:07 PM10/6/08
to
J Kenneth King schrieb:
> André Thieme <address.good.un...@justmail.de> writes:

> You and Kurzweil have some amazing predictions about the
> future. Kurzweil is a very smart man and you both may be much smarter
> than I for me to heap any real criticism upon you. However, I would
> like to point out that such predictions have been made in the past and
> have missed their mark. According to some in the past, every home
> would have a cheap fiber optic connection handling all of our
> communication needs. We know that very few predictions made by
> futurists have ever come true.

I listed Kurzweil explicitly, because he is in my opinion a very special
futurist.
I say this not because he is an authority, but because he gives reasons
for his claims, on hunreds of pages. It is not certain that future will
develop as Kurzweil says, although I think that several parts of what
he says will come true.
And we are not talking here about immortality or highly advanced nano-
technology, but merely about improvements in computational power,
memory and internet connection speeds. All of these areas have proven
exponential growth in the past and today it seems this can continue long
enough to allow hosting Photoshop, Excel, Word and Powerpoint online.

Kurzweil is not only just one futurist, but one who has proven since
decades that he made accurate predictions. So if we want to compare him
with futurists of the past, we should look for those who also got 14
honorary doctor titles, who were awarded by 3 american presidents, for
example with the medal of technology, which is the highst award the US
offers in that area. They should also have a proven record of predicting
technologies 10-20 years ahead.

I think most predictions came from some scientists who were experts in
their fields, but not always the most competent to predict technological
progress.


> There is one thing however that we can agree on: that progress is
> inevitable. Technology will continue to be developed at ever
> increasing speeds. New technology will eventually supplant older
> technology enabling access to higher levels of technology for more
> people.

I think also that there is enough room that will allow technology to
progress a few more years. I don’t think 2020 will be the year of the
last invention of mankind.


> However, there are other factors which affect the adoption of all of
> this technology: cost, policy, resources, consumer trends, culture,
> economy, crisis, and so forth. Factoring in all of these into current
> prediction models is still out of our reach. Perhaps before running
> amok with new predictions we should look to the past and reason why I
> still don't have a cheap high-bandwidth fiber-optic connection to my
> home.

Yes, you are right. These factors exist and definitly influence the
progress.
Kurzweil however argues that although these factors have an influence
technological progress works on a higher level. He explains it as a
self-reorginazation process of the universe. For example he says that
although a catastrophy killed most life about 65 million years ago and
that was indeed a step back for the evolution of intelligence, it only
slowed down the process for a while, but then humans evolved.
He showed that since 1900 until today the computation power per price
grew hyperexponentially. And this although there were a world financial
crises and two world wars.


> (We should also consider that the greater part of the world's
> population still does not have access to clean running water and
> abundant access to electricity)

Right, but also they have much more access to modern medicine than
they had in the past 250.000 years, and also their life expectancy
grew, and new devices for cleaning water already exist and computers
for 100-400 dollars were build for Africa (for example).
I agree, it could be much better *sigh*


> Anyway, this all has little to do with my main concern: what's the
> point?

The point of all this is that I think, that the original poster,
cartercc, can probably run all his applications against a web interface,
and that there is no real need to compile an .exe file.


> I'm still not buying into the "Browser is the new OS" idea.

Maybe it will never happen, even though google will try hard and invest
many billions to manipulate young people to like that idea.
And everyone may have his/her opinion, and you can give very good arguments
to defend your position, and I understand and accept them.


> It's a bad idea.

I think this is right, but I also see that it has advantages, and believe
that this method will win in the end, at least for lots of applications.


André
--

André Thieme

unread,
Oct 6, 2008, 7:13:46 PM10/6/08
to
Raffael Cavallaro schrieb:


Raffael, I think that you are right with this.
But please let’s be fair and look what I originally wrote:
“Basically I see the need for a binary/.exe file if huge amounts of


CPU and/or internet bandwidth is needed.
Programs like Photoshop or 3D Studio Max still make sense to run
locally for a few more years. We don’t want to upload 3 GB each day

into PhotoshopOnline.”

I think it’s fair to say that I excluded editing/processing large
files over the network.
I said “a few years” and left open how much that really means.
I don’t want to give a specific number, but I think that most of us
will see it.

Even today it already is possible in principle, for smaller pictures.
Intel said that CPUs with more than 100 cores will be typical for 2015+
and around 2011 maybe their 80-core CPU will be available. Given that
beast 50-200 people can work at the same time on their non-high resolution
images. And Adobe gets these CPUs for free, because the users of
PhotoshopOnline will pay for them anyway.

I also gave examples on how to reduce time for uploading. The producers
of cameras (like Canon, Nikon, ...) try very hard to come up with new
features to outsell their competition. The newest trend is a video mode
in DSLRs. Why not making it internet ready, by riding on the connection
of the mobile phone? I think this can be done before 2020 if they wish
so. Even without a PhotoshopOnline it makes sense for users to upload
pictures to their home PC which is running anyway. And if this already
exists it would be trivial to add a service for uploading to a online
harddisk.


André
--

Jacobite1607

unread,
Oct 6, 2008, 7:29:51 PM10/6/08
to
On Sep 29, 2:31 pm, cartercc <carte...@gmail.com> wrote:
> Is it possible to compile a Lisp source file to an exe on an x86
> machine running Windows?
>
> Using gcc (on Windows) like this: [>gcc -o hello.exe hello.c] will
> produce a file that I can run natively. Is it possible to do this same
> with a Lisp file?
>
> When I run compile-file I don't get anything I can copy to another
> machine (with a Lisp) and run.
>
> Thanks, CC

You might try Corman Lisp. It's fine as long as you don't require
GUI's. GUI creation in Corman is cumbersome to say the least. However
it will allow you to create an exe.

Andrew Reilly

unread,
Oct 6, 2008, 7:44:14 PM10/6/08
to


I believe that this is what Google "gears" is for. I haven't used it,
but the descriptions make it sound like a sort of web cache that allow
these javascript-based applications to operate on files stored locally.

Speaking to André's concern about performance: there is currently a *lot*
of interesting compiler work going on in the Javascript field. The trace
compilation stuff that has reputedly gone into the new "chrome" browser
sounds very keen. And then Mozilla org have just tuned their JIT some
more so that it is "compettitive" again. These aren't "toy" compilers or
languages any more. [I believe that PLT have re-purposed one of these
Javascript JIT compilers as their scheme compiler, too.] Adobe already
have photo-editing on line. Don't know how well that works: probably not
as well as state of the art off-line, but clearly well enough to serve
some purposes.

The notion of what is an "application", and how they are typically
deployed, is indeed changing quite rapidly.

Cheers,

--
Andrew

Andrew Reilly

unread,
Oct 6, 2008, 8:03:02 PM10/6/08
to
On Mon, 06 Oct 2008 15:08:54 -0400, J Kenneth King wrote:

> Anyway, this all has little to do with my main concern: what's the
> point?

I believe that the point is that there are some advantages to the model,
in some situations. Ease of deployment is clearly one of them, and
that's part of one answer to the OP: you don't necessarily need an EXE.

> I'd rather run software on my own PC's. I still have applications around
> from companies that folded years ago. If they were hosted applications,
> I'd be screwed. It's already happening to all those suckers who bought
> DRM-encoded music from online retailers that are now shutting down.

All true. But consider: if you still had your own work product (output)
from these applications, in some standardised form (say, JPEG, for
photos), and had not invested significant money to access the
application, or only on a per-use basis, then you aren't really losing
anything when they fold. Perhaps some continuity to your workflow, but
one has to guess that the application folded because it was replaced by a
better one. Yes, DRM (i.e., encrypting your bits *against* yourself) is
bad, and it's possible (well, hopeful, anyway) that the general
population is starting to realize that.

> Patching works. Distributing patches is getting better. It could still
> use some improvements that are probably down the road, waiting to be
> discovered.
>
> I'm still not buying into the "Browser is the new OS" idea.

It's certainly not the *only* idea. But it is one model, that fits
somewhere in between dumb web documents full of text and pictures and
local applications that need to be individually installed and
maintained. Indeed, it's not the only stop along that continuum: much
locally installed software already does its own upgrade and maintenance
work, thanks to network connectivity.

> It's a bad idea.

It's an option. Just as remote X11 and remote-desktop applications, or
ASCII terminal sessions have been reasonable ways to cleave the user
interface from the operational guts in the past. There isn't only one
answer.

--
Andrew

André Thieme

unread,
Oct 6, 2008, 9:55:56 PM10/6/08
to
Andrew Reilly schrieb:

> Speaking to André's concern about performance: there is currently a *lot*
> of interesting compiler work going on in the Javascript field.

I see.
Well, if that will be true in the future, then one could think about
offering Lisps that will compile their code into that format as well.
If the browsers just have plugins that compile JS (Lisp) to some native
machine code, then...
Maybe one day.


André
--

Ali

unread,
Oct 6, 2008, 10:16:17 PM10/6/08
to
On Oct 7, 2:55 am, André Thieme <address.good.until.
2008.oct...@justmail.de> wrote:

> Well, if that will be true in the future, then one could think about
> offering Lisps that will compile their code into that format as well.

You mean like parenscript?

Vend

unread,
Oct 7, 2008, 3:57:04 AM10/7/08
to
On Oct 7, 2:03 am, Andrew Reilly <andrew-newsp...@areilly.bpc-

users.org> wrote:
> On Mon, 06 Oct 2008 15:08:54 -0400, J Kenneth King wrote:
> > Anyway, this all has little to do with my main concern: what's the
> > point?
>
> I believe that the point is that there are some advantages to the model,
> in some situations.  Ease of deployment is clearly one of them, and
> that's part of one answer to the OP: you don't necessarily need an EXE.
>
> > I'd rather run software on my own PC's. I still have applications around
> > from companies that folded years ago. If they were hosted applications,
> > I'd be screwed. It's already happening to all those suckers who bought
> > DRM-encoded music from online retailers that are now shutting down.
>
> All true.  But consider: if you still had your own work product (output)
> from these applications,

Unless it was stored on the company servers.

> in some standardised form (say, JPEG, for
> photos), and had not invested significant money to access the
> application, or only on a per-use basis, then you aren't really losing
> anything when they fold.

You lose the application.

>  Perhaps some continuity to your workflow, but
> one has to guess that the application folded because it was replaced by a
> better one.

Better for the market doesn't necessarly mean better for you.

>  Yes, DRM (i.e., encrypting your bits *against* yourself) is
> bad, and it's possible (well, hopeful, anyway) that the general
> population is starting to realize that.
>
> > Patching works. Distributing patches is getting better. It could still
> > use some improvements that are probably down the road, waiting to be
> > discovered.
>
> > I'm still not buying into the "Browser is the new OS" idea.
>
> It's certainly not the *only* idea.  But it is one model, that fits
> somewhere in between dumb web documents full of text and pictures and
> local applications that need to be individually installed and
> maintained.  Indeed, it's not the only stop along that continuum: much
> locally installed software already does its own upgrade and maintenance
> work, thanks to network connectivity.
>
> > It's a bad idea.
>
> It's an option.  Just as remote X11 and remote-desktop applications, or
> ASCII terminal sessions have been reasonable ways to cleave the user
> interface from the operational guts in the past.

But in the past high performance personal computers were not
available.
Now 1000 PCs cost much less than a mainframe with the computational
power of 1000 PCs.

Thomas F. Burdick

unread,
Oct 7, 2008, 4:43:32 AM10/7/08
to
On 7 oct, 00:23, André Thieme <address.good.until.

2008.oct...@justmail.de> wrote:
> J Kenneth King schrieb:
>
> > André Thieme <address.good.until.2008.oct...@justmail.de> writes:
> > You and Kurzweil have some amazing predictions about the
> > future. Kurzweil is a very smart man and you both may be much smarter
> > than I for me to heap any real criticism upon you.  However, I would
> > like to point out that such predictions have been made in the past and
> > have missed their mark. According to some in the past, every home
> > would have a cheap fiber optic connection handling all of our
> > communication needs. We know that very few predictions made by
> > futurists have ever come true.
>
> I listed Kurzweil explicitly, because he is in my opinion a very special
> futurist.

Really? I thought futurism died out with fascism.

André Thieme

unread,
Oct 7, 2008, 6:14:50 AM10/7/08
to
Vend schrieb:

> On Oct 7, 2:03 am, Andrew Reilly <andrew-newsp...@areilly.bpc-
> users.org> wrote:

>> in some standardised form (say, JPEG, for
>> photos), and had not invested significant money to access the
>> application, or only on a per-use basis, then you aren't really losing
>> anything when they fold.
>
> You lose the application.

Not necessarily. The company won’t disappear from one second to the other.
The software exists, so they can publish it, open source it, etc.
Otherwise, if they don’t wish to do it, this means they have the
option to not let their software circle around anymore.
Producing web applications gives you, the programmer, more control over
how your software will be used.
Anyway, if the driving force behind an evolving software product dis-
appears the software will become outdated. Just read what Robert Maas
has to write about the Lisp he is using, from 1993 or something like that.
Note, I said evolving software. I don’t want to say that there exists
not one piece of software which won’t be outdated when it gets older.
It’s just that nearly all software I use is from companies that exist
right now.


André
--

André Thieme

unread,
Oct 7, 2008, 6:22:05 AM10/7/08
to
Thomas F. Burdick schrieb:

What made you think that there exists such a connection?
Both words share some some letters in english language, but besides that
they have very different meanings, which you probably know.
So, what is your message?


André
--

Vend

unread,
Oct 7, 2008, 9:00:06 AM10/7/08
to
On Oct 7, 12:22 pm, André Thieme <address.good.until.

http://en.wikipedia.org/wiki/Marinetti#Marinetti_And_Fascism

> André
> --

Pascal J. Bourguignon

unread,
Oct 7, 2008, 9:27:23 AM10/7/08
to
Vend <ven...@virgilio.it> writes:

Which clearly is NOT what André is talking about. André's reference is:
http://en.wikipedia.org/wiki/Technological_singularity and futurology.

The problem is that if next month some fool writes a "Futurology
Manifesto" with some crazy political agenda, now futurologists will
have to shift names again, and call themselves futurismologists or
something because people like you, Vend, accept the dictat of the
Thought Police and The Dictionnary Rewriters.


Notice how leftists in the USA have been able to steal the term
"liberal" so now les libéraux americains have to call themselves
libertarians (while of course, the term Libertaire has been stolen in
France by sorts of anarchists).


--
__Pascal Bourguignon__

Raffael Cavallaro

unread,
Oct 7, 2008, 9:43:56 AM10/7/08
to
On 2008-10-07 09:27:23 -0400, p...@informatimago.com (Pascal J.
Bourguignon) said:

> Which clearly is NOT what André is talking about. André's reference is:
> http://en.wikipedia.org/wiki/Technological_singularity and futurology.

On this side of the the atlantic we call Thomas's sort of comments "humor."

Raffael Cavallaro

unread,
Oct 7, 2008, 9:53:02 AM10/7/08
to
On 2008-10-07 06:14:50 -0400, André Thieme
<address.good.un...@justmail.de> said:

> The company won’t disappear from one second to the other.
> The software exists, so they can publish it, open source it, etc.

Quite possibly not. Such a company would be in bankruptcy and one of
their few assets is their closed source application. Their creditors
would make sure that they didn't give away one of their single largest
assets but rather sold it so that the creditors could recoup some of
what they are owed.

The buyer, having just paid good money for it would have little
incentive to open source it, and no legal obligation to continue its
availability to current subscribers. Providing it to current
subscribers having just failed as a business model, they would
presumably be buying the app to cannibalize it for some other project
and/or business model.

Raffael Cavallaro

unread,
Oct 7, 2008, 10:32:41 AM10/7/08
to
On 2008-10-06 19:13:46 -0400, André Thieme
<address.good.un...@justmail.de> said:

> I also gave examples on how to reduce time for uploading.

It is not the original uploading time that's the issue. It is the
downloading to the remote user's gui of the result of each remote edit.
This is a several MB download for every single edit for good window
sizes (more for large windows on really big monitors). Note that this
is *not* the whole file, just enough data to fill a reasonable sized
gui window on it, so even zooming in or out would require a similar
download.

Vend

unread,
Oct 7, 2008, 10:34:28 AM10/7/08
to
On Oct 7, 3:27 pm, p...@informatimago.com (Pascal J. Bourguignon)
wrote:

> Vend <ven...@virgilio.it> writes:
> > On Oct 7, 12:22 pm, André Thieme <address.good.until.
> > 2008.oct...@justmail.de> wrote:
> >> Thomas F. Burdick schrieb:
>
> >> > On 7 oct, 00:23, André Thieme <address.good.until.
> >> > 2008.oct...@justmail.de> wrote:
> >> >> J Kenneth King schrieb:
>
> >> >>> André Thieme <address.good.until.2008.oct...@justmail.de> writes:
> >> >>> You and Kurzweil have some amazing predictions about the
> >> >>> future. Kurzweil is a very smart man and you both may be much smarter
> >> >>> than I for me to heap any real criticism upon you.  However, I would
> >> >>> like to point out that such predictions have been made in the past and
> >> >>> have missed their mark. According to some in the past, every home
> >> >>> would have a cheap fiber optic connection handling all of our
> >> >>> communication needs. We know that very few predictions made by
> >> >>> futurists have ever come true.
> >> >> I listed Kurzweil explicitly, because he is in my opinion a very special
> >> >> futurist.
>
> >> > Really? I thought futurism died out with fascism.
>
> >> What made you think that there exists such a connection?
> >> Both words share some some letters in english language, but besides that
> >> they have very different meanings, which you probably know.
> >> So, what is your message?
>
> >http://en.wikipedia.org/wiki/Marinetti#Marinetti_And_Fascism
>
> Which clearly is NOT what André is talking about.   André's reference is:http://en.wikipedia.org/wiki/Technological_singularityand futurology.

>
> The problem is that if next month some fool writes a "Futurology
> Manifesto" with some crazy political agenda,  now futurologists will
> have to shift names again, and call themselves futurismologists or
> something because people like you, Vend, accept the dictat of the
> Thought Police and The Dictionnary Rewriters.

Actually I think that that was the original meaning.

> Notice how leftists in the USA have been able to steal the term
> "liberal" so now les libéraux americains have to call themselves
> libertarians (while of course, the term Libertaire has been stolen in
> France by sorts of anarchists).

And humanist mean atheist in English.

> --
> __Pascal Bourguignon__

Vend

unread,
Oct 7, 2008, 10:49:11 AM10/7/08
to
On Oct 7, 12:14 pm, André Thieme <address.good.until.

2008.oct...@justmail.de> wrote:
> Vend schrieb:
>
> > On Oct 7, 2:03 am, Andrew Reilly <andrew-newsp...@areilly.bpc-
> > users.org> wrote:
> >> in some standardised form (say, JPEG, for
> >> photos), and had not invested significant money to access the
> >> application, or only on a per-use basis, then you aren't really losing
> >> anything when they fold.
>
> > You lose the application.
>
> Not necessarily. The company won’t disappear from one second to the other.
> The software exists, so they can publish it, open source it, etc.

Even if they choose to do so, the software would be probably specific
for their servers and network architecture and thus unusable elsewhere
without major re-engineering.

> Otherwise, if they don’t wish to do it, this means they have the
> option to not let their software circle around anymore.
> Producing web applications gives you, the programmer, more control over
> how your software will be used.

And it gives you, the client, more reasons to buy the competing
product that doesn't impose such a blatant lock-in.

> Anyway, if the driving force behind an evolving software product dis-
> appears the software will become outdated. Just read what Robert Maas
> has to write about the Lisp he is using, from 1993 or something like that.
> Note, I said evolving software. I don’t want to say that there exists
> not one piece of software which won’t be outdated when it gets older.
> It’s just that nearly all software I use is from companies that exist
> right now.

I hear there are still people using Turbo Pascal, though not for
commercial development.
Anyway, using old application is sometimes required to convert or
access data stored in old proprietary formats.

>
> André
> --

Tamas K Papp

unread,
Oct 7, 2008, 12:09:11 PM10/7/08
to
On Tue, 07 Oct 2008 07:49:11 -0700, Vend wrote:

> I hear there are still people using Turbo Pascal, though not for

Yes, this is documented in a little known appendix to Dante's Inferno.
They are in the Sixth Circle.

Tamas

Paul Donnelly

unread,
Oct 7, 2008, 1:39:51 PM10/7/08
to
André Thieme <address.good.un...@justmail.de> writes:

> Vend schrieb:
>> On Oct 7, 2:03 am, Andrew Reilly <andrew-newsp...@areilly.bpc-
>> users.org> wrote:
>
>>> in some standardised form (say, JPEG, for
>>> photos), and had not invested significant money to access the
>>> application, or only on a per-use basis, then you aren't really losing
>>> anything when they fold.
>>
>> You lose the application.
>
> Not necessarily. The company won’t disappear from one second to the other.
> The software exists, so they can publish it, open source it, etc.
> Otherwise, if they don’t wish to do it, this means they have the
> option to not let their software circle around anymore.

Which is dandy for them, but not so much for those of us who have legacy
apps we still want to use once in a while.

> Producing web applications gives you, the programmer, more control over
> how your software will be used.

And they can force expensive upgrades like never before. I'm not seeing
a lot of benefit for us users here, though I can see why it might be
attractive to vendors.

Message has been deleted

Thomas F. Burdick

unread,
Oct 7, 2008, 4:32:52 PM10/7/08
to
On Oct 7, 12:22 pm, André Thieme <address.good.until.

Look, if you're going to engage in off-topic, arcane discussions on
cll, you need to step up your game. Your knowledge game, your humor
game, and your frickin google game (I practically handed you search
terms on a reinforced concrete platter). You're out of your league,
you and Pascal. What Raffael gave you? It's called a smack-down.

That said, I wish you and your neo-anti-neo-Byzantine brethren better
sense and forsight than to latch up with a modern-day Mussolini! (And
for godsakes, read Jack London)

André Thieme

unread,
Oct 7, 2008, 6:54:26 PM10/7/08
to
Vend schrieb:

That still is very much out of context.
Kurzweil is analyzing the past and tries to make conservative interpolations
for the future. This has nothing to do with his political opinions.
Only because there once was a futurist who happened to be also a
fascist at the same time does not allow us to make conclusions about
other futurists. I am also not a murderer, only because I eat bread,
which is something that most of the criminals did before becoming a
criminal.


André
--

Vend

unread,
Oct 7, 2008, 7:02:16 PM10/7/08
to
On Oct 8, 12:54 am, André Thieme <address.good.until.

That guy is generally considered the founder of Futurism.
Kurzweil is better described as a futurologist.

jos...@corporate-world.lisp.de

unread,
Oct 7, 2008, 7:21:07 PM10/7/08
to

Please take that discussion somewhere else. It is mostly off-topic for
comp.lang.lisp.
Staying mostly on-topic increases chances that one does not end up in
a kill-file, btw..

Thanks.

MasterZiv

unread,
Oct 8, 2008, 2:43:08 AM10/8/08
to
On Sep 29, 11:21 pm, cartercc <carte...@gmail.com> wrote:

> I looked at LispWorks now, and almost fell out of my chair at the

Use SBCL, Luke !

Message has been deleted

Juanjo

unread,
Oct 10, 2008, 3:11:39 AM10/10/08
to
I answered this message via google groups but the message does not
seem to appear. I will post it again:

On Wed, Oct 8, 2008 at 8:26 PM, Franco Grex <franc...@mail.com>
wrote:
> standalones. I don't mind the DLLs but would be nice to know if you
> could guide me to a section of a manual showing how to build ECL into
> a statically linked library, so that there is not even a DLL to ship
> with the program?

If you do not need to make ECL itself a DLL, the utility ASDF:MAKE-
BUILD, which is explained in the manual, allows you to link all your
asdf files and libraries into a single executable.

The static linking option while also links ECL statically is available
in Unix/Linux/OSX and similar as a configuration option --disable-
shared. I am not sure whether this was ported to the windows port, but
it would _not_ be difficult to do. But I think you are more interested
on the next question

> And also is there a possibility that only the
> functions/marcos needed are taken?:

Currently the design is not like this.
1) ECL source code is right now packaged in a way that we do not split
separate functions into separate files, so as to minimize
dependencies.
2) At boot time we require all C functions to be there because we bind
them to the Common Lisp symbols.
3) The compiler normally generates functions which are to be bound to
symbols and many function calls are performed via cl_funcall().

There is nothing, though, that prevents you from hacking ECL to turn
it better into a C-like library. Point 3) is already there: the
compiler creates C function names for functions that are properly
proclaimed. Point 2) could be deactivated with a configuration option.
Point 1) requires more work, but no real thinking.

Juanjo

0 new messages