From: Srinu
Subject: Structure of a lisp system.
Date: 
Message-ID: <1187264822.815037.101290@j4g2000prf.googlegroups.com>
Hi,

I am new to lisp. I program in C, C++. I searched in net for the
structure of a general lisp system. But unfortunately I didn't get any
satisfactory result. Let me present my question clearly below.

In a C,C++ environment, we have an editor and a c compiler. We write a
my_prog.c file. Compile it along with include headers and link it with
library routines and get a my_prog.exe or my_prog.o file. We can now
execute it from a shell and get the result of the program.

Do we have the same environment with lisp ?
In other words...
1. Do we have an suitable editor for lisp? (like vi/vim for C)
2. Do we compile a lisp program stored in a file ?
3. Do we have a suitable compiler for lisp ? (like gcc)
4. Do we include any header files in lisp source file?
5. Do we have standard libraries for lisp?
6. Can we get a object file which we can run from a shell on unix?
7. What do we mean when we say a lisp implementation? I have never
come across such implementations for C, C++ !

Please help me.

Thanking you.
Srinu.

From: Pillsy
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187267548.721339.47630@r34g2000hsd.googlegroups.com>
On Aug 16, 7:47 am, Srinu <··············@gmail.com> wrote:
[...]
> Do we have the same environment with lisp ?

Not precisely. There's a lot of overlap, but it's not really the same
deal.

> In other words...
> 1. Do we have an suitable editor for lisp? (like vi/vim for C)

Yes. Emacs is a suitable editor for Lisp.

Also, commercial implementations of Lisp (LispWorks and Allegro) come
with IDEs which include Lisp editors. The LW one is pretty nice; I
haven't tried the Allegro one.

> 2. Do we compile a lisp program stored in a file ?

Sure, you can do that if you want. Check out COMPILE-FILE in the CLHS.

> 3. Do we have a suitable compiler for lisp ? (like gcc)

There are several suitable compilers for Lisp. Even if you only
consider Free Software (like GCC), there's Clisp (small, byte-code
compiled and very portable), OpenMCL (very fast compilation) and SBCL
(can produce very fast executables, especially for numerics). Those
are just the ones I've used personally.

> 4. Do we include any header files in lisp source file?

Not so much.

> 5. Do we have standard libraries for lisp?

Not really. The "core language" as described in the CLHS provides the
sort of functionality you'd get from the C or C++ standard libraries.
You don't need a library if you want to use an associative array, or
open a file, or create formatted output, or sort a vector.

If you want to go beyond that, there *may* be libraries that you'll
find useful, but there certainly aren't nearly as many as there are
for C or C++. You can also interface with external C libraries.

> 6. Can we get a object file which we can run from a shell on unix?

Some implementations provide that, but it's not really a focus for
many Lispers. Lisps provide the REPL, which is very handy for
interactive work, and it's often much more convenient to write
functions that you can use as small utilities from the REPL instead of
having small, separate programs.

> 7. What do we mean when we say a lisp implementation? I have never
> come across such implementations for C, C++ !

An implementation is a Lisp development environment. It is pretty much
guaranteed[1] to include a compiler (to native code (or C), byte-code,
or both), a debugger, and a REPL and an interface for calling out to C
libraries. It also may include an interpreter, an IDE, any number of
cool libraries, and a way to define and build "systems" (think
something along the lines of make(1)).

Cheers,
Pillsy

[1] I say "pretty much" because every implementation I've seen has
included all of these things.
From: Christopher Koppler
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187268061.651825.100600@g4g2000hsf.googlegroups.com>
On 16 Aug., 13:47, Srinu <··············@gmail.com> wrote:
> 1. Do we have an suitable editor for lisp? (like vi/vim for C)

Emacs. But other editors, including vi, can be good enough - search
this group for a recent thread on this.

> 2. Do we compile a lisp program stored in a file ?

Sure. Though the usual edit-compile-debug-run-cycle you're probably
used to is usually not be found with the highly interactive Lisp
development style.

> 3. Do we have a suitable compiler for lisp ? (like gcc)

Lots of them. Free and commercial.

> 4. Do we include any header files in lisp source file?

No, usually we load packages/systems, which isn't really the same as
just including source.

> 5. Do we have standard libraries for lisp?

The ANSI Common Lisp standard includes many things which in languages
like C/C++ come under the heading "standard libraries".

> 6. Can we get a object file which we can run from a shell on unix?

Depends on the implementation. Though usually you can create a stand-
alone executable, this is a special-purpose way of running Lisp
applications.

> 7. What do we mean when we say a lisp implementation? I have never
> come across such implementations for C, C++ !

Well, GCC could be viewed as an implementation of a ANSI C compiler.
What we mean is that there's an ANSI standard, and lots of commercial
and free systems implementing (and often extending) it.

> Please help me.

You might take a look at Practical Common Lisp (online at
http://www.gigamonkeys.com/book/). Or visit http://www.cliki.net. Or
increase your google-fu.
From: Sergey Kolos
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187279014.768595.104980@w3g2000hsg.googlegroups.com>
I know what you feel - I am trying to adjust from C/C++ type of
development to Lisp and it was really hard at first. To make my though
process more organized I wrote a short tutorial on how to get started
with CL under Cusp. Although it doesn't answer all your questions it
might be a starting point to understand how to develop in Lisp when
you spent you whole life working in C/C++. The tutorial is at:
http://www.sergeykolos.com/cusp/intro/

Sergey
From: Alex Mizrahi
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <46c47eca$0$90270$14726298@news.sunsite.dk>
(message (Hello 'Sergey)
(you :wrote  :on '(Thu, 16 Aug 2007 08:43:34 -0700))
(

 SK> development to Lisp and it was really hard at first. To make my though
 SK> process more organized I wrote a short tutorial on how to get started
 SK> with CL under Cusp.
 SK> life working in C/C++. The tutorial is at:
 SK> http://www.sergeykolos.com/cusp/intro/

heh, nice, but two remarks about packages:

1. if you're working with new-lisp1 package, it's better to set your current 
package to it, or use-package it. just to save typing. (and it might help 
for some other stuff..)

2. you don't need to add library in defpackage :use section if you just want 
to use a library. it's just for saving typing -- if you use that library's 
package in your package, you don't need to type that package name anymore --  
just write split-sequence instead of split-sequence:split-sequence.

also, it seems strange that you do not mention loading individual functions. 
certainly it's cool that file is compiled when it's saved, but for a larger 
file loading all stuff in it would be less convenient, so i believe 
typically Lisp programmers compile (or just evaluate) individual functions 
in the development process.

)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
"choose no life") 
From: Sergey Kolos
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187284364.373997.284590@r29g2000hsg.googlegroups.com>
Alex,

Remember - the tutorial is aimed at people trying to learn CL after C/C
++. So it tries to draw parallels between the two. The idea is - once
you start hacking in CL you eventually drift to natural Lisp way
without big cultural shock (that I experienced).

So I totally agree with your comments.

As to the last comment:
Eventually I will add more stuff to tutorial, including how to load
individual functions.
Also Cusp now supports three modes of compilation:
1) regular Eclipse style - recompile whole changed file. This is mode
most familiar to C/C++ programmers.
2) Lisp style - you explicitely select what to compile (whole file or
bits of code)
3) automatically find and compile only top level forms that were added/
changed from last saving of file. In this mode Cusp also undefines
functions that were deleted.

Sergey

On Aug 16, 11:43 am, "Alex Mizrahi" <········@users.sourceforge.net>
wrote:
> (message (Hello 'Sergey)
> (you :wrote  :on '(Thu, 16 Aug 2007 08:43:34 -0700))
> (
>
>  SK> development to Lisp and it was really hard at first. To make my though
>  SK> process more organized I wrote a short tutorial on how to get started
>  SK> with CL under Cusp.
>  SK> life working in C/C++. The tutorial is at:
>  SK>http://www.sergeykolos.com/cusp/intro/
>
> heh, nice, but two remarks about packages:
>
> 1. if you're working with new-lisp1 package, it's better to set your current
> package to it, or use-package it. just to save typing. (and it might help
> for some other stuff..)
>
> 2. you don't need to add library in defpackage :use section if you just want
> to use a library. it's just for saving typing -- if you use that library's
> package in your package, you don't need to type that package name anymore --  
> just write split-sequence instead of split-sequence:split-sequence.
>
> also, it seems strange that you do not mention loading individual functions.
> certainly it's cool that file is compiled when it's saved, but for a larger
> file loading all stuff in it would be less convenient, so i believe
> typically Lisp programmers compile (or just evaluate) individual functions
> in the development process.
>
> )
> (With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
> "choose no life")
From: Rainer Joswig
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <joswig-831A80.18594716082007@news-europe.giganews.com>
In article <·························@news.sunsite.dk>,
 "Alex Mizrahi" <········@users.sourceforge.net> wrote:

> (message (Hello 'Sergey)
> (you :wrote  :on '(Thu, 16 Aug 2007 08:43:34 -0700))
> (
> 
>  SK> development to Lisp and it was really hard at first. To make my though
>  SK> process more organized I wrote a short tutorial on how to get started
>  SK> with CL under Cusp.
>  SK> life working in C/C++. The tutorial is at:
>  SK> http://www.sergeykolos.com/cusp/intro/
> 
> heh, nice, but two remarks about packages:
> 
> 1. if you're working with new-lisp1 package, it's better to set your current 
> package to it, or use-package it. just to save typing. (and it might help 
> for some other stuff..)
> 
> 2. you don't need to add library in defpackage :use section if you just want 
> to use a library. it's just for saving typing -- if you use that library's 
> package in your package, you don't need to type that package name anymore --  
> just write split-sequence instead of split-sequence:split-sequence.

I'm not a big fan of 'using' packages. Often I prefer the approach to have
a short name for a package and call exported symbols.

(foo:bar ...) instead of importing bar into my application package.


> 
> also, it seems strange that you do not mention loading individual functions. 
> certainly it's cool that file is compiled when it's saved, but for a larger 
> file loading all stuff in it would be less convenient, so i believe 
> typically Lisp programmers compile (or just evaluate) individual functions 
> in the development process.
> 
> )
> (With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
> "choose no life")

-- 
http://lispm.dyndns.org
From: John Stoneham
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187296191.624202.127670@50g2000hsm.googlegroups.com>
On Aug 16, 10:43 am, Sergey Kolos <············@gmail.com> wrote:
> I know what you feel - I am trying to adjust from C/C++ type of
> development to Lisp and it was really hard at first. To make my though
> process more organized I wrote a short tutorial on how to get started
> with CL under Cusp. Although it doesn't answer all your questions it
> might be a starting point to understand how to develop in Lisp when
> you spent you whole life working in C/C++. The tutorial is at:
> http://www.sergeykolos.com/cusp/intro/
>
> Sergey

Another vote for cusp. For anyone coming from C/C++ development IDEs
(such as Borland, MS VS, etc) and being unfamiliar with Emacs, this
system is a great setup and highly recommended.
From: Ken Tilton
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <heYwi.11$ky1.10@newsfe12.lga>
Srinu wrote:
> Hi,
> 
> I am new to lisp. I program in C, C++. I searched in net for the
> structure of a general lisp system. But unfortunately I didn't get any
> satisfactory result. Let me present my question clearly below.
> 
> In a C,C++ environment, we have an editor and a c compiler. We write a
> my_prog.c file. Compile it along with include headers and link it with
> library routines and get a my_prog.exe or my_prog.o file. We can now
> execute it from a shell and get the result of the program.
> 
> Do we have the same environment with lisp ?

No.

> In other words...
> 1. Do we have an suitable editor for lisp? (like vi/vim for C)

Yes. Emacs, vi, and editors bult into IDEs, which latter usually work 
like Emacs,

> 2. Do we compile a lisp program stored in a file ?

Yes.

> 3. Do we have a suitable compiler for lisp ? (like gcc)

Zillions.

> 4. Do we include any header files in lisp source file?

No. We do not make declarations separate from the definitions.

> 5. Do we have standard libraries for lisp?

Yes. We call it Common Lisp. (Just look at the CLHS.)

> 6. Can we get a object file which we can run from a shell on unix?

Building standalone stuff is unusual, rare, and hard. Most of us live 
within Lisp and work there.

> 7. What do we mean when we say a lisp implementation? I have never
> come across such implementations for C, C++ !

Borland? Symantec? Metrowerks CodeWarrior? MS VC++?

To get started most comfortably, dl AllegroCL's free trial for win32 and 
use that. It works like IDEs for other languages.

kt
From: Pillsy
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187272616.285182.239570@r29g2000hsg.googlegroups.com>
On Aug 16, 9:24 am, Ken Tilton <···········@optonline.net> wrote:
[...]
> To get started most comfortably, dl AllegroCL's free trial for win32 and
> use that. It works like IDEs for other languages.

If you happen to be Mac-based, AllegroCL doesn't come with an IDE, but
the LispWorks trial edition does, and should also be pretty easy to
get started with.

On the off chance that you're already comfortable with Emacs, you can
download any implementation and use it with SLIME[1]. If you aren't
comfortable with Emacs, though, one of the commercial IDEs is almost
certainly the way to go.

Cheers,
Pillsy

[1] http://common-lisp.net/project/slime/
From: Dimiter "malkia" Stanev
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <5ijlpkF3qlmhmU1@mid.individual.net>
Also for Win32 another alternative is Corman Lisp - www.cormanlisp.com

 From the same author of Corman Lisp is an old Mac OS (not OS X) version 
called PowerLisp - http://cormanlisp.com/PowerLisp.html - it should run 
in emulation under your Mac OS X

Pillsy wrote:
> On Aug 16, 9:24 am, Ken Tilton <···········@optonline.net> wrote:
> [...]
>> To get started most comfortably, dl AllegroCL's free trial for win32 and
>> use that. It works like IDEs for other languages.
> 
> If you happen to be Mac-based, AllegroCL doesn't come with an IDE, but
> the LispWorks trial edition does, and should also be pretty easy to
> get started with.
> 
> On the off chance that you're already comfortable with Emacs, you can
> download any implementation and use it with SLIME[1]. If you aren't
> comfortable with Emacs, though, one of the commercial IDEs is almost
> certainly the way to go.
> 
> Cheers,
> Pillsy
> 
> [1] http://common-lisp.net/project/slime/
> 
From: George Neuner
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <6f09c3dqe3o7e0q1ufsatcucmscut1i61t@4ax.com>
On Thu, 16 Aug 2007 11:47:02 -0000, Srinu <··············@gmail.com>
wrote:

>Hi,
>
>I am new to lisp. I program in C, C++. I searched in net for the
>structure of a general lisp system. But unfortunately I didn't get any
>satisfactory result. Let me present my question clearly below.
>
>In a C,C++ environment, we have an editor and a c compiler. We write a
>my_prog.c file. Compile it along with include headers and link it with
>library routines and get a my_prog.exe or my_prog.o file. We can now
>execute it from a shell and get the result of the program.
>
>Do we have the same environment with lisp ?

Not really.  Although you can use Lisp in a batch compile mode the
same way as C, the Lisp environment is interactive and encourages
incremental development.  Lisp keeps the entire state of the program -
code and data - available in an "image" which can be saved and
restored.  In most Lisp environments, functions can be compiled and
linked into the image incrementally immediately after you finish
typing them.  There is also an interactive prompt (the REPL) through
which you can enter commands to the system, type data and functions
directly into the image and call any function available, whether it is
your own, part of a library, or built in to the language.  Lisp allows
any completed part of an unfinished program to be executed.  In Lisp
you can program both top-down and bottom-up - most developers do both
and the program is finished when everything meets in the middle.

>In other words...
>1. Do we have an suitable editor for lisp? (like vi/vim for C)

Yes.  Many people use emacs because it integrates easily with most
Lisp compilers, but you can use any editor that produces text files.
The commercial Lisps have GUI IDEs and there is at least one
open-source GUI IDE (I forget the name - anybody?).

>2. Do we compile a lisp program stored in a file ?

Yes, you can load/compile files just like in C.

>3. Do we have a suitable compiler for lisp ? (like gcc)

Many, see http://www.cliki.net/Common%20Lisp%20implementation

>4. Do we include any header files in lisp source file?

No.  Lisp libraries, called "packages", use a different mechanism.
Without going into detail, packages are loaded on demand when
referenced by the code.

>5. Do we have standard libraries for lisp?

This is a somewhat complicated question.  Common Lisp has built in a
huge amount of functionality that in other languages is provided by
libraries.  The standard functions address many programming needs (see
http://www.lispworks.com/documentation/HyperSpec/Front/)

The commercial implementations (and some free ones as well) also
provide a set of libraries for common tasks like networking, GUI
programming and so forth.  Even for uncommon stuff, you will often
find that somebody has already done it and created a library.
www.cliki.net has a pretty good collection.

>6. Can we get a object file which we can run from a shell on unix?

Some implementations can do this - basically the program image is
appended to the Lisp runtime.  But it's more usual to just install the
Lisp on the target machine and deliver the program as an image file.
There are some valid reasons for this approach which are just too
involved to go into here.  After you get some experience with Lisp you
can better decide which way to go for your purpose.

>7. What do we mean when we say a lisp implementation? I have never
>come across such implementations for C, C++ !

Sure you have - "implementation" is just a big word for "version".
Each version of each compiler from each vendor is an "implementation".

George
--
for email reply remove "/" from address
From: John Thingstad
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <op.tw7ogaghpqzri1@pandora.upc.no>
P� Thu, 16 Aug 2007 20:11:44 +0200, skrev George Neuner  
<·········@comcast.net>:

> Without going into detail, packages are loaded on demand when
> referenced by the code.

This is not true.
Packages serve the same purpose as namespaces in C++.
There is no standard feature to load on demand.
(Though my LispWorks system has one)
From: George Neuner
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <ukgdc3prqsrocrrp64tp2fbe44vd581j0n@4ax.com>
On Fri, 17 Aug 2007 18:08:24 +0200, "John Thingstad"
<··············@chello.no> wrote:

>P� Thu, 16 Aug 2007 20:11:44 +0200, skrev George Neuner  
><·········@comcast.net>:
>
>> Without going into detail, packages are loaded on demand when
>> referenced by the code.
>
>This is not true.
>Packages serve the same purpose as namespaces in C++.
>There is no standard feature to load on demand.
>(Though my LispWorks system has one)

That's why I said "without going into detail" - the syntax to load or
require packages is not standardized.

George
--
for email reply remove "/" from address
From: John Thingstad
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <op.tw83lwp4pqzri1@pandora.upc.no>
P� Sat, 18 Aug 2007 11:59:43 +0200, skrev George Neuner  
<·········@comcast.net>:

> On Fri, 17 Aug 2007 18:08:24 +0200, "John Thingstad"
> <··············@chello.no> wrote:
>
>> P� Thu, 16 Aug 2007 20:11:44 +0200, skrev George Neuner
>> <·········@comcast.net>:
>>
>>> Without going into detail, packages are loaded on demand when
>>> referenced by the code.
>>
>> This is not true.
>> Packages serve the same purpose as namespaces in C++.
>> There is no standard feature to load on demand.
>> (Though my LispWorks system has one)
>
> That's why I said "without going into detail" - the syntax to load or
> require packages is not standardized.
>

But a require works on modules not packages.
Though it is customary for a module name to be the same as package name it  
is not required. (no pun intended)
In particular a module may contain several packages.
From: Srinu
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187608922.966355.301200@x35g2000prf.googlegroups.com>
Thanks a lot to all. This is quite a lot of useful information about
lisp system.
From: Rainer Joswig
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <joswig-9767F8.14281816082007@news-europe.giganews.com>
In article <························@j4g2000prf.googlegroups.com>,
 Srinu <··············@gmail.com> wrote:

> Hi,
> 
> I am new to lisp. I program in C, C++. I searched in net for the
> structure of a general lisp system. But unfortunately I didn't get any
> satisfactory result. Let me present my question clearly below.
> 
> In a C,C++ environment, we have an editor and a c compiler. We write a
> my_prog.c file. Compile it along with include headers and link it with
> library routines and get a my_prog.exe or my_prog.o file. We can now
> execute it from a shell and get the result of the program.
> 
> Do we have the same environment with lisp ?
> In other words...
> 1. Do we have an suitable editor for lisp? (like vi/vim for C)
> 2. Do we compile a lisp program stored in a file ?
> 3. Do we have a suitable compiler for lisp ? (like gcc)
> 4. Do we include any header files in lisp source file?
> 5. Do we have standard libraries for lisp?
> 6. Can we get a object file which we can run from a shell on unix?
> 7. What do we mean when we say a lisp implementation? I have never
> come across such implementations for C, C++ !
> 
> Please help me.
> 
> Thanking you.
> Srinu.

I'm mostly interested in Common Lisp. Lisp in general
is a family of programming languages with very
different approaches. Even for Common Lisp you get
very different implementations.

For C/C++ you also get different implementations. A
typical C compiler is GCC. Another is Intel's
C compiler. Microsoft has a C compiler, too.
But a C compiler does not make a development environment.
You need libraries, editor, debugger, linker, and so on.
Some are using GCC+GNU tools (Emacs, ...), others are
using VisualStudio from Microsoft, SUNs stuff,
Apple's XCode, ...

1) Suitable editors for Lisp.

somehow: vim
very good: Emacs
Excellent: Zmacs, Hemlock, ...

2) Compile a file

ANSI Common Lisp function COMPILE-FILE:

http://www.lispworks.com/documentation/HyperSpec/Body/f_cmp_fi.htm#compile-file

3) Compiler: lots

4) There are no 'header' files in Lisp.

5) The collection of 'Standard Libraries' depend somewhat on the
implementation. There are some 'quasi standards'. Those are
widely supported libraries like CLX, CLIM, and others.

6) Yes. The procedure to get an executable depends on the
implementation and is described in the implementation's
documentation.

7) What is a Lisp implementation?

Common Lisp as a language is defined by an ANSI Standard
and some widely implemented extensions (MOP, Gray Streams, ...).

Some implementations share some code. Some are implemented
very differently. Implementors can have very different goals:

* performance
* portability
* compatibility with C
* compilation to C
* compatibility with the Java language
* compilation to JVM byte codes
* small footprint
* static compilation
* comfortable development environment
* support for multiprocessor machines
* simple build process
* support for implementing operating systems
* support for a certain operating system (Windows, Mac OS X, ...)
* support for scripting on Unix
* commercial support
* free software license

Some of these goals are conflicting. So you get
several different implementations of the programming
language Common Lisp based on subsets of these goals.

See the Common Lisp Directory for a list
of Implementations http://www.cl-user.net/


But coming from C and C++, you might need to unlearn
batch programming for a while and try to develop
using interactive development styles. The goal
is different. During development (maybe even for
the deployed software) your application includes
a full implementation of Common Lisp. Contrast
this with a program you develop in C. In C
you compile your program and the generated
application does not include a C compiler.
Different in Lisp. In Lisp you develop your
application piece by piece enhancing the running
application. The Lisp compiler compiles incrementally.
You can compile even the tiniest amount of code and
have it linked and running without stopping your
application for a second. All data, all UI, all
state is still there. This reduces the edit/compile/run/debug
cycle to almost zero. When you have the functionality
you need, you package it up and you can create an
application.
From: Slobodan Blazeski
Subject: Re: Structure of a lisp system.
Date: 
Message-ID: <1187355729.815335.253430@d55g2000hsg.googlegroups.com>
On Aug 16, 1:47 pm, Srinu <··············@gmail.com> wrote:
> Hi,
>
> I am new to lisp. I program in C, C++.

Wellcome I came from c/c++ too.
>  I searched in net for the
> structure of a general lisp system. But unfortunately I didn't get any
> satisfactory result. Let me present my question clearly below.
>
> In a C,C++ environment, we have an editor and a c compiler. We write a
> my_prog.c file. Compile it along with include headers and link it with
> library routines and get a my_prog.exe or my_prog.o file. We can now
> execute it from a shell and get the result of the program.
>
> Do we have the same environment with lisp ?
> In other words...
> 1. Do we have an suitable editor for lisp? (like vi/vim for C)

Emacs & builtin editors.
> 2. Do we compile a lisp program stored in a file ?
Yes
> 3. Do we have a suitable compiler for lisp ? (like gcc)
Yes :
Free:
ECL
Clisp (to bytocode)
sblc
cmucl   ( unices only)
openmcl ( unices only)

Commercial:
Franz
lispworks
corman (windows only)
scieneer (unices only)
> 4. Do we include any header files in lisp source file?
We include other packages, it's not the same but you could think
of them as c/c++ headers files.
> 5. Do we have standard libraries for lisp?
Ansi common lisp is the current specification of both language and
includes a lot of staff that in c++ is in standard *libraries*
though
> 6. Can we get a object file which we can run from a shell on unix?
You can build standalone executables with lisp but it's not a prefered
way of doing things.
For small programs like Hello world lisp image is far larger because
it includes lisp runtime but for large things size is comparable.
> 7. What do we mean when we say a lisp implementation?
Implementation of the ANSI Common lisp as interpreter and/or compiler
with some extensions , maybe ide , collection of libraries who aren't
specified in the standard like those for interfacing with foreign code
(like c) , threads  etc.
>I have never come across such implementations for C, C++ !
Yes you did, you must wroked at least with something like gcc, intel c+
+ compiler, visual c++ compiler or  maybe  Visual Studio, Borland
Builder, ...
>
> Please help me.
>
> Thanking you.
> Srinu.