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