[comp.lang.perl] Why Lisp?

pierson@encore.com (Dan L. Pierson) (05/31/90)

About Emacs extension languages.

On 30 May 90 14:11:54 GMT,
pierson@encore.com (Dan L. Pierson) said:
> The most important thing in an extension language is that it be
> very flexible, modifiable and efficient enough.  In particular: it has
> to support high-level datatypes such as buffers, windows, and keymaps;
> it has to link functions at call time so that lower level behavior can
> be customized (a real advantage of symbol function values); and it has
> to support function-valued hook variables.  It is very useful if the
> syntax support these features is as concise and readable as possible.
> A full interpreted mode also helps; both for debugging and quick
> interaction without a compile cycle.

I was thinking about this a bit more over lunch and came up with a
truely horrible idea for all the Lisp haters out there:

    !!!! PLEASE, DON'T ANYONE ACTUALLY DO THIS !!!!

But, just for the fun of it, think of an Emacs based on Perl instead
of Lisp...

You'd have to add a redisplay command, buffer and window data
structures with associated magic (should either of them be accessed as
filehandles?, arrays?).  A special keymap structure might be useful,
but could probably be dispensed with.  Regular expression support and
functions are already there.  Incremental compilation and loading
would be needed.  X support... What else?

--

                                            dan

In real life: Dan Pierson, Encore Computer Corporation, Research
UUCP: {talcott,linus,necis,decvax}!encore!pierson
Internet: pierson@encore.com

gudeman@cs.arizona.edu (David Gudeman) (06/01/90)

In article  <PIERSON.90May30143529@xenna.encore.com> pierson@encore.com (Dan L. Pierson) writes:
>About Emacs extension languages.
>...
>But, just for the fun of it, think of an Emacs based on Perl instead
>of Lisp...

What about doing one in SNOBOL4?  It has patterns (more general than
regular expressions) and the facilities necessary to read in and
execute new code at run-time.  Even more fun, SNOBOL4 has goto's, and
it is possible for a running SNOBOL4 program to read and execute a
piece of SNOBOL4 code that has a goto to some label in the main
program.  Wow.

There might be a slight performance penalty associated with the way
SNOBOL4 stores strings, they are all kept in a symbol table...
-- 
					David Gudeman
Department of Computer Science
The University of Arizona        gudeman@cs.arizona.edu
Tucson, AZ 85721                 noao!arizona!gudeman