From: brizna
Subject: compiler question
Date: 
Message-ID: <bski3t8pc6c9u6mhou5oarqrljk5gu6u9f@4ax.com>
lisp has just begun to peak my interest... I studied it for a couple
days and learned a lot of the basics. btw I'm on Win98. Well... I was
wondering what the best compiler/interpreter is out there. I just
downloaded CLISP, and can't really figure it out. So two question
really...

1. what should I be using for a compiler?
2. say I'm using CLISP, and I have a lisp command in asdf.lsp.
asdf.lsp consists of one line:
      (caddr '(this is a test))
So far, I've gotten to the point where I'm typing clisp -c asdf.lsp at
the DOS prompt and it then creates asdf.fas and asdf.lib. What do I do
with these files to make them an executable? (like link them or
something)

Thanks
--Brian

From: J Scott Jaderholm
Subject: Re: compiler question
Date: 
Message-ID: <87puiufsv0.fsf@sage.cortland.com>
brizna <····@host.com> writes:

> 1. what should I be using for a compiler?

www.lisp.org is the place to check.
for a short list....
1) Allegro Common Lisp
2) LispWorks
3) CLISP
etc.

> the DOS prompt and it then creates asdf.fas and asdf.lib. What do I do
> with these files to make them an executable? (like link them or
> something)

I do not think CLISP can make standalon executables of applications.
I may be wrong though.

Sincerely,
jsj
-- 
"Man's mind, once stretched by a new idea, never regains its original
dimensions."  Oliver Wendell Holmes (a Lisp programmer at heart)
From: Jochen Schmidt
Subject: Re: compiler question
Date: 
Message-ID: <91bpk6$3saqv$1@ID-22205.news.dfncis.de>
brizna wrote:

> lisp has just begun to peak my interest... I studied it for a couple
> days and learned a lot of the basics. btw I'm on Win98. Well... I was
> wondering what the best compiler/interpreter is out there. I just
> downloaded CLISP, and can't really figure it out. So two question
> really...
> 
> 1. what should I be using for a compiler?

Franz Inc.s AllegroCL or Xanalys LispWorks:
AllegroCL is as I remember more expensive then LispWorks.
But over the last time I felt that AllegroCL is more supported
(in the term of future development not "customer-support" where both
 Franz Inc. and Xanalys are said to be outstanding)
(Note: there was a message from Xanalys some days ago upon the
 future development of LispWorks - so I may be incredible wrong at this
 part)
Both Franz Inc. and Xanalys offer free versions of their Lisp-Systems for
personal use. This systems are restricted in some features. The actual 
personal-release of AllegroCL seems to allow more than 
LispWorks-Personal-Edition. (AllegroCL allows e. g. saving of Lisp-images
which is unusual for the free commercial lisps)

You cold also give CormanLisp (http://www.corman.net) a try. It's only
available for Windows is able to generate standalone-executables.
As I remember it is (beside of the IDE) free for non-commercial use.

> 2. say I'm using CLISP, and I have a lisp command in asdf.lsp.
> asdf.lsp consists of one line:
>       (caddr '(this is a test))
> So far, I've gotten to the point where I'm typing clisp -c asdf.lsp at
> the DOS prompt and it then creates asdf.fas and asdf.lib. What do I do
> with these files to make them an executable? (like link them or
> something)

You'll need another Lisp-System or use CLISP as some kind of 
"defaultprogram" when clicking on *.fas and/or *.lsp files. But don't
ask me how to do that in windows - I don't use it.

Regards,
Jochen
From: Thom Goodsell
Subject: Re: compiler question
Date: 
Message-ID: <7vofyd4tma.fsf@shalott.cra.com>
brizna <····@host.com> writes:

> 2. say I'm using CLISP, and I have a lisp command in asdf.lsp.
> asdf.lsp consists of one line:
>       (caddr '(this is a test))
> So far, I've gotten to the point where I'm typing clisp -c asdf.lsp at
> the DOS prompt and it then creates asdf.fas and asdf.lib. What do I do
> with these files to make them an executable? (like link them or
> something)

I would suggest you try the Clisp mailing lists
(http://sourceforge.net/mail/?group_id=1355 ) for clisp specific
questions, if you decide to stick with it.

This particular question is also covered in the Clisp implementation
notes, so RTFM: 
http://clisp.sourceforge.net/impnotes.html#quickstart

Thom

-- 
Thom Goodsell                           ···@cra.com
Scientist                       (617) 491-3474 x574
Charles River Analytics         http://www.cra.com/
From: brizna
Subject: Re: compiler question
Date: 
Message-ID: <oi6l3t457tvf0hh0hborh303lbl2rpp1mi@4ax.com>
On 15 Dec 2000 10:00:29 -0500, Thom Goodsell <···@cra.com> wrote:

>This particular question is also covered in the Clisp implementation
>notes, so RTFM: 

Sheesh

>http://clisp.sourceforge.net/impnotes.html#quickstart

thanks... I guess

--Brian
From: Pierre R. Mai
Subject: Re: compiler question
Date: 
Message-ID: <87r9391zmy.fsf@orion.bln.pmsf.de>
brizna <····@host.com> writes:

> 2. say I'm using CLISP, and I have a lisp command in asdf.lsp.
> asdf.lsp consists of one line:
>       (caddr '(this is a test))
> So far, I've gotten to the point where I'm typing clisp -c asdf.lsp at
> the DOS prompt and it then creates asdf.fas and asdf.lib. What do I do
> with these files to make them an executable? (like link them or
> something)

The simplest way to try out simple programs is to type them at your
implementations read-eval-print loop (also called listener),
i.e. start clisp without any arguments and type

(caddr '(this is a test))

when the prompt appears.  CLISP will evaluate your expression and
print the result for you:

[1]> (caddr '(this is a test))
A
[2]> 

You can define functions just the same way:

[2]> (defun fac (n)     
       (labels ((iter-fac (n i product)
                  (if (> i n) product (iter-fac n (1+ i) (* i product)))))
         (iter-fac n 1 1)))
FAC
[3]> (fac 7)
5040
[4]> (fac 6)  
720

And you can compile your functions, for good measure, too:

[5]> (compile 'fac)
FAC ;
NIL ;
NIL
[6]> (fac 6)
720

Once you progress to more complex source-code, so that you really want
to keep it in files that you edit with your favourite editor, you can
compile and/or load whole files like that:

[8]> (load "~/src/lang/lisp/fac.cl")
;; Loading file /home/dent/src/lang/lisp/fac.cl ...
;; Loading of file /home/dent/src/lang/lisp/fac.cl is finished.
T
[9]> (fac 6)
720
[10]> (stupid-fac 6)
720
[11]> (compile-file "~/src/lang/lisp/fac.cl")

Compiling file /home/dent/src/lang/lisp/fac.cl ...

Compilation of file /home/dent/src/lang/lisp/fac.cl is finished.
0 errors, 0 warnings
#P"/home/dent/src/lang/lisp/fac.fas" ;
NIL ;
NIL
[12]> (load "~/src/lang/lisp/fac.fas")
;; Loading file /home/dent/src/lang/lisp/fac.fas ...
;; Loading of file /home/dent/src/lang/lisp/fac.fas is finished.
T
[13]> (fac 6)
720
[14]> (stupid-fac 6)
720

Once you progress to applications that involve many files, etc. you
might want to investigate one of the build-systems (also often called
system-definition facilities, they are the nearest equivalent to make
in the Unix/C world), to automate building and loading based on
dependency tracking.

Once you progress to the point where you want to deliver an
application to your customers, there exist even more options, but most
of those are fairly implementation-dependant, and involve different
trade-offs depending on your customers, the application in question,
the frequency of updates, etc., so I'd suggest that you wait until you
have gained more experience in CL, and then focus on the options your
implementation gives you.

Regs, Pierre.

-- 
Pierre R. Mai <····@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein
From: brizna
Subject: Re: compiler question
Date: 
Message-ID: <6k6l3t0f0n0e7okl63n34d94bg49om8p8l@4ax.com>
Thanks A LOT

--Brian