ned - Text Editor of the Future
| Author: |
Nikolai Weibull |
| Date: |
2003-12-10 |
| Revision: |
1.6 |
Welcome to the home of the ned text editor. ned is the masters' thesis
project that I, Nikolai Weibull, am currently (fall 2003) working on. We are
going to try to create a new regular expression syntax, and try adopting
regular relations to the world of text editors.
While there is no documentation for ned itself, you can find a lot of reference
material I have gathered for this project below. All local copies have been
placed here without explicit permission by the respective copyright holders.
It is my hope that none will have any complaints about my actions, as they are
solely for the benefit of mankind. Together they form a vast library of
information on that that is text editors and editing of text. I greatly thank
everyone who has contributed to this area of computer science.
This section contains reference material relating to specific editor
implementations.
- Richard M. Stallman, "EMACS: The Extensible, Customizable Display Editor", Proceedings of the ACM SIGPLAN/SIGOA Symposium on Text Manipulation Notices, 16, 147-156 (1981) [local] [external]
- This is a paper written by RMS on EMACS history and ideas behind it.
- Jamie Zawinski, "Emacs Timeline" (1999) [local] [external]
- Describes the EMACS timeline, as gathered by one of the Lemacs/XEmacs
authors.
- Jamie Zawinski, "The Lemacs/FSFmacs Schism" (2000) [local] [external]
- Discussion on why EMACS was split into Gnu EMACS and Lemacs/XEmacs, by one of
the original Lemacs authors.
- Richard M. Stallman, "The EMACS Full-Screen Editor" (1987) [local] [external]
- Short coverage of the EMACS editor by RMS.
- Bernard S. Greenberg, "Multics Emacs: The History, Design and Implementation" (1996) [local] [external]
- Describes the EMACS written for Multics. Some interesting stuff in general,
but nothing too exiting.
- Mark Crispin, "Re: Emacs" (1990) [local] [external]
- Describes the origins of EMACS; very short and incomplete.
- Jim Joyce, "Interview with Bill Joy", Unix Review August (1984) [external]
- An interview with Bill Joy, creator of Vi and a bunch of other stuff for UNIX
REVIEW.
- Ashlee Vance, "Bill Joy's Greatest Gift to Man - the Vi Editor" (2003) [external]
- An extract from a longer article in Linux Magazine, gathered by The Register.
- Rob Pike, "The Tex Editor sam", Software—Practice and Experience, 17, (11), 813-845 (1984) [local] [external]
- An excellent article describing the sam text editor. External and internal
design decissions are discussed. Thoughts behind the extremely interesting
command language are also covered. A very good read.
- Rob Pike, "Acme: A User Interface for Programmers" (1994) [local] [external]
- Acme is a somewhat interesting take on what an editor should be. It's most
well known implementation is Wily. It's over-use of the mouse, though,
prevents it from being as useful as some might hope.
- Dennis M. Ritchie, "An Incomplete History of the QED Text Editor" [local] [external]
- As described in their paper below, "QED Text Editor", this covers the history
of the editor. Rather short, it at least gives pointers to other editors
that have spawned from this, "the first real editor".
- Dennis M. Ritchie, Ken L. Thompson, "QED Text Editor", Bell Labs Technical Memorandum MM-70-137-3 (1970) and MM-70-1371-2 (1970) [local] [external]
- QED is the editors that later led to ed and vi and more, and was one of
the first applications that used regular expressions. This is the manual for
it, reproduced from an internal technical memo.
- Dennis M. Ritchie, "QED Implementation" [local] [external]
- This paper, which was never published, covers the DMR's implementation of the
QED editor. It's sadly incomplete, lacking all interesting figures, but is
still somewhat interesting, discussing thoughts on regular expressions and
text editors in general.
- Jim Rump, "Vi vs EMACS ans C-editing" (1992) [local]
- Not all that interesting, this is a pro-emacs vi-vs-emacs discussion.
- Paolo Bucci, "Conceptual Program Editors" [local] [external]
- Short paper on a fictional editor that works with concepts. Really weird and
probably rather uninteresting for real-life work.
- Christopher W. Fraser, "A Generalized Text Editor", Communications of the ACM, 23, 3, 154-158 (1980) [external]
- A moded editor is described, that limits editing abilities depending on the
current environment of editing. Not really very interesting.
- Clemens A. Szyperski, "Write-ing Applications: Design of an Extensible Text Editor as an Application Framework" (1992) [local] [external]
- Describes an editor, called Write for some long forgotten system, that
supposedly makes it easy to write plug-ins to the editor.
- Craig A. Finseth, "The Craft of Text Editing" (1999) [local] [external]
- A HOWTO book on writing text editors. Quite nice, but could have been more
extensive in examples and technology discussions.
- Charles Crowley, "Data Structures for Text Sequences" (1998) [local] [external]
- A great paper on the possible buffer strategies to use in text editors.
- Ray Valdes, "Text Editors: Algorithms and Architectures, not much Theory, but a lot of Practice", Dr. Dobb's Journal, 38-43 (April 1993)
- Discusses algorithms for text editors.
- Joseph H. Allen, "Editor 101" (1991) [local] [external]
- A short USENET posting on writing text editors, specifically on buffer gaps.
- Stephen Trier, "Editors 102: Updating the screen in a buffer-gap editor" (1991) [local] [external]
- A follow-up to the Editor 101 USENET posting describing screen update
algorithms for buffer gap editors.
- Joseph H. Allen, "editech.1.Z (a.k.a Editor 101)" (1991) [local] [external]
- This is a somewhat slimmed down version of the Editor 101 paper, known as
editech.1.Z.
- Stephen Trier, "editech.2.Z (a.k.a Editors 102...)" (1991) [local] [external]
- This is a somewhat slimmed down version of the Editors 102... paper.
- Joseph H. Allen, "editech.3.Z (Re: Simple editor question (I think))" [local] [external]
- Further discussion of buffer gap and a possible C interface to it.
- Aaron Sloman, "editech.4.Z (How it's done in VED)" [local] [external]
- Discusses how the VED editor does text buffers (linked-list).
- Ed Howland, "editech.5.Z (Questions about buffer gap (not in FAQ))" (1992) [local] [external]
- A thread on buffer.gap, posted to comp.editors around '92.
- Micky J. "editech.books.Z (SUMMARY: Information on writing text editors)" (1993) [local] [external]
- Books to read if you want to write a text editor (or so they claim).
- Jonathan Payne, "Re: GNU Emacs, memory usage, releasing" (1990) [local] [external]
- USENET posting discussing buffer gap.
This section contains articles on how editing text can be done effectively
using various different methods.
- Bram Moolenaar, "Seven habits of effective text editing" [local] [external]
- Bram Moolenar, author of Vim, discusses how to edit text effectively using
your editor.
- Toshiyuki MASUI, Ken NAKAYAMA, "Repeat and Predict — Two Keys to Efficient Text Editing", Proceedings of the ACM Conference on Human Factors in Compucing Systems, 118-123 (1994) [local] [external]
- An interesting discussion on two valuable editing features, namely one that
allows you to repeat one of the previously executed commands, and one that
predicts what you want to type/repeat.
- Ken Thompson, "Regular Expression Search Algorithm", Communications of the ACM, 11, (6), 419-422 (1968) [external]
- The article referenced in every other article on regular expressions.
- Rob Pike, "Structural Regular Expressions", EUUG Spring 1987 Conference Proceedings, Helsinki, 21-28 (1987) [local]
- An excellent paper on regular expressions and their usefulness to
describe structure in text. A must-read, it's as simple as that.
- Jeffrey E. F. Friedl, "Mastering Regular Expressions", O'Reilly 0-596-00289-0 (2002) [external]
- A great book, mostly on practical issues concerning regexes. There is also a
discussion on how regular expressions work and about different
implementations.
- Larry Wall, "Apocalypse 5" (2002) [external]
- As usual, a very insightful paper on the future of regular expressions by
Perl's Larry Wall.
- Damian Conway, "Exegesis 5" (2002) [external]
- A coverage on what Larry Wall's ideas will do to Perl6.
- Allison Randal, Damian Conway, "Synopsis 5" (2002) [external]
- A synopsis (believe it or not) of what will change for regular expressions in
Perl6.
- Charles L. A., Gordon V. Cormack, "On the use of Regular Expressions for Searching Text", University of Waterloo, CA Technical Report CS-95-07 (1995) [local] [external]
- Discusses applications of shortest-match regex matching.
- Lauri Karttunen, J-P. Chanod, G. Grefenstette, A. Schiller, "Regular Expressions for Language Engineering", Natural Language Engineering, 2, 4, 1-24 (1996) [external]
- Describes XEROX's regular relation language and some of its areas of
application.
- Lauri Karttunen, "The Replace Operator", Meeting of the Association of Computational Linguistics (1995) [external]
- Describes the operator used for context sensitive replacements in regular
relations.
- Ian Bull, Andrew Trevors, Andrew J. Malton, Michael W. Godfrey, "Semantic Grep: Regular Expressions + Relational Abstraction" [local] [external]
- Describes a grep utility that allows for certain relational queries
combined with regular regular expression searches (hihi).
- Olin Shivers, "The SRE regular-expression notation" (1998) [external]
- Scheme regular expressions for use in the Scheme Shell.
- Mark-Jason Dominus, "How Regexes Work", The Perl Journal (1998) [external]
- A light-hearted discussion on how to do interpret regular expressions with
NFA's by yourself. Also covers some of Perl's regular expressions and its
engine.