From: ··············@excite.com
Subject: emacs lisp for apps
Date: 
Message-ID: <2e0d5bea-ec00-4fbb-899c-d77af86cac03@b7g2000pre.googlegroups.com>
Has anyone ever actually deployed an app written in emacs Lisp and
hosted in emacs?

I mean besides the obvious programmer-helper ones like man, woman,
gnus, etc.

I mean like, let's say, a point-of-sale app like an auto-parts lookup
terminal or cash register, or maybe an industrial command-and-control
console for some automation cells, or for that matter, maybe an actual
CNC controller for a machine.

From: Evans Winner
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <868wmqk8hi.fsf@timbral.net>
··············@excite.com writes:

    Has anyone ever actually deployed an app written in
    emacs Lisp and hosted in emacs?

Pretty sure they have.  There used to be a web server, which
works for trivial things; and there is a window manager for
Xemacs (xwem?) which I have never tested.
 
    I mean besides the obvious programmer-helper ones like
    man, woman, gnus, etc.
 
Why is gnus a programmer helper?  I use gnus every day and
program only when I absolutely have to.  Or when I get
bored.

    I mean like, let's say, a point-of-sale app like an
    auto-parts lookup terminal or cash register, or maybe an
    industrial command-and-control console for some
    automation cells, or for that matter, maybe an actual
    CNC controller for a machine.

I think I heard tell (Steve Yegge's blog?) that Amazon.com
used Emacs for an internal email app at one point.  But
that's email again.  There are things like controllers for
music players and chat clients.  I wrote a twitter client,
as one trivial example (which thankfully someone else now
maintains and has turned into something useful).  If you
happen to own an RFC 2324-compliant coffee maker, you're in
luck.

Emacs contains a library for making graphical input-output
widgets -- like the ones on the customize screens -- and
anyone who wanted to could probably use that to turn Emacs
into the ultimate CRUD screen, data entry client.  Who needs
CICS? 

But generally speaking, Emacs is an end-user text editor,
and that's what it does really well.  GNU Emacs doesn't have
a foreign function interface or threading, so there are some
limits to what is really fun to do with it.  But you might
be able to write external command-line tools to do what you
want, and then control them from Emacs.  If what you like is
Lisp as such, you could bite the package-hell and culture of
the-code-*is*-the-documentation bullet of Common Lisp and
just use that.


··············@excite.com writes:

    Has anyone ever actually deployed an app written in
    emacs Lisp and hosted in emacs?

Pretty sure they have.  There used to be a web server, which
works for trivial things; and there is a window manager for
Xemacs (xwem?) which I have never tested.
 
    I mean besides the obvious programmer-helper ones like
    man, woman, gnus, etc.
 
Why is gnus a programmer helper?  I use gnus every day and
program only when I absolutely have to.  Or when I get
bored.

    I mean like, let's say, a point-of-sale app like an
    auto-parts lookup terminal or cash register, or maybe an
    industrial command-and-control console for some
    automation cells, or for that matter, maybe an actual
    CNC controller for a machine.

I think I heard tell (Steve Yegge's blog?) that Amazon.com
used Emacs for an internal email app at one point.  But
that's email again.  There are things like controllers for
music players and chat clients.  I wrote a twitter client,
as one trivial example (which thankfully someone else now
maintains and has turned into something useful).  If you
happen to own an RFC 2324-compliant coffee maker, you're in
luck.

Emacs contains a library for making graphical input-output
widgets -- like the ones on the customize screens -- and
anyone who wanted to could probably use that to turn Emacs
into the ultimate CRUD screen, data entry client.  Who needs
CICS? 

But generally speaking, Emacs is an end-user text editor,
and that's what it does really well.  GNU Emacs doesn't have
a foreign function interface or threading, so there are some
limits to what is really fun to do with it.  But you might
be able to write external command-line tools to do what you
want, and then control them from Emacs.  If what you like is
Lisp as such, you could bite the package-hell and culture of
the-code-*is*-the-documentation bullet of Common Lisp and
just use that.
From: ··············@excite.com
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <975f5989-13f5-444c-8a92-50879f7a556f@y34g2000prb.googlegroups.com>
On Mar 27, 4:37 pm, Evans Winner <······@timbral.net> wrote:
> Pretty sure they have.  There used to be a web server, which
> works for trivial things; and there is a window manager for
> Xemacs...
> There are things like controllers for
> music players and chat clients.  I wrote a twitter client,
> as one trivial example...

elisp can do things...  has integrated debugger & doc system...  why
the thought occurs to me...
From: John Thingstad
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <op.urgxaexout4oq5@pandora.alfanett.no>
P� Fri, 27 Mar 2009 21:01:10 +0100, skrev <··············@excite.com>:

> Has anyone ever actually deployed an app written in emacs Lisp and
> hosted in emacs?
>
> I mean besides the obvious programmer-helper ones like man, woman,
> gnus, etc.
>
> I mean like, let's say, a point-of-sale app like an auto-parts lookup
> terminal or cash register, or maybe an industrial command-and-control
> console for some automation cells, or for that matter, maybe an actual
> CNC controller for a machine.

The first version of Prime Trader (a stock purchase program) was written  
in elisp. Since then it has been rewritten in Common Lisp though.

--------------
John Thingstad
From: ··············@excite.com
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <b2e8cdf5-dd0d-48fb-b782-ba2d1e1e9928@z23g2000prd.googlegroups.com>
On Mar 27, 4:45 pm, "John Thingstad" <·······@online.no> wrote:

> The first version of Prime Trader (a stock purchase program) was written  
> in elisp. Since then it has been rewritten in Common Lisp though.
> John Thingstad

Good example - I'm thinking of apps that are distributed to folks that
would not be using emacs in their daily environment, and might not
know/percieve that the app is emacs based...
From: Espen Vestre
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <m1fxgqu9n8.fsf@gazonk.netfonds.no>
"John Thingstad" <·······@online.no> writes:

> The first version of Prime Trader (a stock purchase program) was
> written  in elisp. Since then it has been rewritten in Common Lisp
> though.

This is NOT true.

It's true that Netfonds had several *internal* elisp systems long ago,
though (and we still have one, but most backoffice applications are now
built with common lisp).
-- 
  (espen)
From: Peder O. Klingenberg
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <ks3acqq1qi.fsf@netfonds.no>
"John Thingstad" <·······@online.no> writes:

> The first version of Prime Trader (a stock purchase program) was
> written  in elisp.

No it wasn't.  It's been CL-based since day 1.  However, our trade
monitoring system, the primary application for our trading desk staff,
is written in elisp.  That system has never been released publically,
though, so I don't know if it counts.

I don't think our brokers are aware that emacs is primarily a text
editor.  They use the name of the monitoring system and "emacs"
interchangably.

Very early on we also had some other internal support systems written
in elisp, but they were replaced by more point'n'clicky stuff a long
time ago, and none were ever deployed to outside customers.

...Peder..., Netfonds employee, but speaking for himself.
-- 
This must be Thursday.  I never could get the hang of Thursdays.
From: Pascal J. Bourguignon
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <874oxed3f7.fsf@galatea.local>
··············@excite.com writes:

> Has anyone ever actually deployed an app written in emacs Lisp and
> hosted in emacs?
>
> I mean besides the obvious programmer-helper ones like man, woman,
> gnus, etc.
>
> I mean like, let's say, a point-of-sale app like an auto-parts lookup
> terminal or cash register, or maybe an industrial command-and-control
> console for some automation cells, or for that matter, maybe an actual
> CNC controller for a machine.

The user interface of PVS is written in emacs-lisp.
http://www.csl.sri.com/projects/pvs/

-- 
__Pascal Bourguignon__
From: ··············@excite.com
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <8e82b9bd-d4ff-47b3-8e23-77991138780e@u39g2000pru.googlegroups.com>
On Mar 27, 6:08 pm, ····@informatimago.com (Pascal J. Bourguignon)
wrote:

> The user interface of PVS is written in emacs-lisp.http://www.csl.sri.com/projects/pvs/
> __Pascal Bourguignon__

Nice example, obvious close-fits for emacs would be user interface
related.
From: Xah Lee
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <b966fc9b-100c-4773-a400-7ff6ac1fc375@x1g2000prh.googlegroups.com>
2009-03-27

On Mar 27, 1:01 pm, ··············@excite.com wrote:
> Has anyone ever actually deployed an app written in emacs Lisp and
> hosted in emacs?
>
> I mean besides the obvious programmer-helper ones like man, woman,
> gnus, etc.
>
> I mean like, let's say, a point-of-sale app like an auto-parts lookup
> terminal or cash register, or maybe an industrial command-and-control
> console for some automation cells, or for that matter, maybe an actual
> CNC controller for a machine.

• according to Steve Yegge's blog somewhere, amazon.com's early mail
system or reader comment system or somethnig like that was written in
elisp.

• Steve Yegge's ejacs, is a javascript intepreter written in elisp.

• some irc helper bots (e.g. you type something it gives you reference
links), are written in elisp. They run in freenode's #emacs irc
channel.

• several irc clients, are written in elisp. e.g. rcirc and erc.

• complete real time xml validating parser nxml-mode. (though, i
haven't looked if it is designed to be used for xml parsing purposes
separate from while editing)

• source code syntax highlighting systems for html output e.g.
htmlize.el.

• bash emulating shell, eshell.

• unix man page format reader, called WoMan.

Lots of application's interfaces are written in Emacs, if you count
those as non-text-editing applications too. e.g. those to control gnu
chess, music player, various version control systems (cvs, git, rcs,
etc), emacs-w3m for the text based web browser w3m, dictionary.el as
client to dict.org, slime as common lisp client, Mathematica frontend
client, blog interfaces (e-blog for blogger, ljupdate for livejournal,
and others), diary system (org mode, planner mode), screen reader
(emacspeak), interface to unix shell and windows shell (shell),
interface to database (sql mode), ftp client ... (and of course email
client and newsgroup client), several games (notably tetris, snake).

there's also a complete web browser written entirely in elisp (w3,
bundled with xemacs), then emacs's calendar, calc, probably count too.
There are also few flash cards i've read about (but i haven't tried).

... most of these are bundled with emacs or xemacs, or you can find it
in emacswiki.org or just google search.

at this point, the line starts to blur. Basically, any app that have a
textual representation, or its client has a useful textual form, or
its input and output are text based, are good candidates and probably
has been written in elisp. Many of these, don't have much to do with
text editing per se, such as email client, newsgroup client, irc
client, cvs client, blogger client, lisp client, ftp client, mp3
player client, computer algebray systems client (maxima, matlab) ...
etc, of which multiple standard alone apps exists for them, many gui
based.

so, i guess the question now is, are there applications that are do
not have a input/output representation? image editing software (e.g.
gimp, photoshop, illustrator, inkscape), video and sound editing
software, visualization systems (e.g. flash, apps that uses OpenGL/
Direct3D such as 3d games, google earth, Second Life), video/voice
chat (skype, yahoo chat...), or any app that designed for GUI (most
apps are actually of this type, because this is generally a
requirement).

then, of apps that have useful textual input/output representation,
what percentage of them haven't been written in elisp? I think there
are a lot. For example, most lexers, parsers, or lang-to-lang
compilers are not written in elisp. Computer algebra systems (symbolic
systems) are not written in elisp, even though they can. Most AI apps,
or algorithms, are not written elisp. I think this is actually a good
example here for this question, because it pinpoints why elisp is not
used (e.g. the lang too slow, too weak, to do these). Other than
that... if the app is of a type that is popularly needed, have a unix
background or used by programers, they are likely to have been written
in elisp.

  Xah
∑ http://xahlee.org/

☄
From: Xah Lee
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <d94e335d-b5d1-4f2a-af58-910e879b8fac@n7g2000prc.googlegroups.com>
On Mar 28, 9:00 am, Xah Lee <······@gmail.com> wrote:
> 2009-03-27
>
> On Mar 27, 1:01 pm, ··············@excite.com wrote:
>
> > Has anyone ever actually deployed an app written in emacs Lisp and
> > hosted in emacs?
>
> > I mean besides the obvious programmer-helper ones like man, woman,
> > gnus, etc.
>
> > I mean like, let's say, a point-of-sale app like an auto-parts lookup
> > terminal or cash register, or maybe an industrial command-and-control
> > console for some automation cells, or for that matter, maybe an actual
> > CNC controller for a machine.
>
> • according to Steve Yegge's blog somewhere, amazon.com's early mail
> system or reader comment system or somethnig like that was written in
> elisp.
>
> • Steve Yegge's ejacs, is a javascript intepreter written in elisp.
>
> • some irc helper bots (e.g. you type something it gives you reference
> links), are written in elisp. They run in freenode's #emacs irc
> channel.
>
> • several irc clients, are written in elisp. e.g. rcirc and erc.
>
> • complete real time xml validating parser nxml-mode. (though, i
> haven't looked if it is designed to be used for xml parsing purposes
> separate from while editing)
>
> • source code syntax highlighting systems for html output e.g.
> htmlize.el.
>
> • bash emulating shell, eshell.
>
> • unix man page format reader, called WoMan.
>
> Lots of application's interfaces are written in Emacs, if you count
> those as non-text-editing applications too. e.g. those to control gnu
> chess, music player, various version control systems (cvs, git, rcs,
> etc), emacs-w3m for the text based web browser w3m, dictionary.el as
> client to dict.org, slime as common lisp client, Mathematica frontend
> client, blog interfaces (e-blog for blogger, ljupdate for livejournal,
> and others), diary system (org mode, planner mode), screen reader
> (emacspeak), interface to unix shell and windows shell (shell),
> interface to database (sql mode), ftp client ... (and of course email
> client and newsgroup client), several games (notably tetris, snake).
>
> there's also a complete web browser written entirely in elisp (w3,
> bundled with xemacs), then emacs's calendar, calc, probably count too.
> There are also few flash cards i've read about (but i haven't tried).
>
> ... most of these are bundled with emacs or xemacs, or you can find it
> in emacswiki.org or just google search.
>
> at this point, the line starts to blur. Basically, any app that have a
> textual representation, or its client has a useful textual form, or
> its input and output are text based, are good candidates and probably
> has been written in elisp. Many of these, don't have much to do with
> text editing per se, such as email client, newsgroup client, irc
> client, cvs client, blogger client, lisp client, ftp client, mp3
> player client, computer algebray systems client (maxima, matlab) ...
> etc, of which multiple standard alone apps exists for them, many gui
> based.
>
> so, i guess the question now is, are there applications that are do
> not have a input/output representation? image editing software (e.g.
> gimp, photoshop, illustrator, inkscape), video and sound editing
> software, visualization systems (e.g. flash, apps that uses OpenGL/
> Direct3D such as 3d games, google earth, Second Life), video/voice
> chat (skype, yahoo chat...), or any app that designed for GUI (most
> apps are actually of this type, because this is generally a
> requirement).
>
> then, of apps that have useful textual input/output representation,
> what percentage of them haven't been written in elisp? I think there
> are a lot. For example, most lexers, parsers, or lang-to-lang
> compilers are not written in elisp. Computer algebra systems (symbolic
> systems) are not written in elisp, even though they can. Most AI apps,
> or algorithms, are not written elisp. I think this is actually a good
> example here for this question, because it pinpoints why elisp is not
> used (e.g. the lang too slow, too weak, to do these). Other than
> that... if the app is of a type that is popularly needed, have a unix
> background or used by programers, they are likely to have been written
> in elisp.
>
>   Xah
> ∑http://xahlee.org/
>
> ☄

thinking more about this... notice that how there are many interfaces
or clients written in elisp, but not the server itself. This is also a
good class of apps that indicates emacs+elisp is just up to the task.
Proper langs like Common Lisp or Scheme lisp, in the context of lisps,
are more suitable. Emacs+Lisp doesn't really interface well with other
tech, such as GUI frameworks, networking protocols etc. elisp doesn't
have any real library neither, unlike all real langs such as C, java,
perl, python, etc. ... so, i think in summary, generally speaking,
emacs+elisp is in fact not suitable for vast majority of apps, due to
its origin of scripting for emacs.

  Xah
∑ http://xahlee.org/

☄
From: ··············@excite.com
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <f938ac82-7883-43fe-9b07-f96180096ad2@f41g2000pra.googlegroups.com>
On Mar 28, 12:17 pm, Xah Lee <······@gmail.com> wrote:
...
> > then, of apps that have useful textual input/output representation,
> > what percentage of them haven't been written in elisp? I think there
> > are a lot...
> > Most AI apps,
> > or algorithms, are not written elisp. I think this is actually a good
> > example here for this question, because it pinpoints why elisp is not
> > used (e.g. the lang too slow, too weak, to do these).
...
> thinking more about this... notice that how there are many interfaces
> or clients written in elisp, but not the server itself...
...
> elisp doesn't
> have any real library neither, unlike all real langs such as C, java,
> perl, python, etc. ... so, i think in summary, generally speaking,
> emacs+elisp is in fact not suitable for vast majority of apps, due to
> its origin of scripting for emacs.
>   Xah
> ∑ http://xahlee.org/


Good points!
From: szergling
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <565c6744-7cdd-401e-a0ab-00d60a8ffc2a@s38g2000prg.googlegroups.com>
On Mar 28, 9:01 am, ··············@excite.com wrote:
> Has anyone ever actually deployed an app written in emacs Lisp and
> hosted in emacs?

Xah Lee (of all people) gave lots of good examples. Perhaps this is
one with more eye candy? I'm not sure how much is purely Emacs
though...

http://dto.github.com/notebook/rlx.html
From: Evans Winner
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <86zlezpn1a.fsf@timbral.net>
szergling <···············@gmail.com> writes:

    Xah Lee (of all people) gave lots of good
    examples. Perhaps this is one with more eye candy? I'm
    not sure how much is purely Emacs though...
 
    http://dto.github.com/notebook/rlx.html

Here's something along similar lines; I've never used it, so
I dunno if it works: http://1010.co.uk/gneve.html
From: ··············@excite.com
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <e9217e31-6efd-4e9c-8b31-fc4a0f74adcf@i28g2000prd.googlegroups.com>
On Apr 2, 2:50 am, Evans Winner <······@timbral.net> wrote:
> Here's something along similar lines; I've never used it, so
> I dunno if it works:http://1010.co.uk/gneve.html

That's neat - like a mashup user interface driving the video editing
suite.

I also like the stock trading app - perhaps that had the guts of the
app in elisp, too?
From: szergling
Subject: Re: emacs lisp for apps
Date: 
Message-ID: <b37476a1-fe55-41ce-93fc-b5de7fb751a8@c18g2000prh.googlegroups.com>
On Apr 2, 7:50 pm, Evans Winner <······@timbral.net> wrote:
> szergling <···············@gmail.com> writes:
>
>     Xah Lee (of all people) gave lots of good
>     examples. Perhaps this is one with more eye candy? I'm
>     not sure how much is purely Emacs though...
>
>    http://dto.github.com/notebook/rlx.html
>
> Here's something along similar lines; I've never used it, so
> I dunno if it works:http://1010.co.uk/gneve.html

Impressive looking app! It's true what they say... with enough
thrust, pigs fly just fine. Emacs *is* one big crazy community.

:)