Anthony Howe <[email protected]> writes:
\
The designing the edit engine is what fascinates me, regardless of UI. Pity >> there are few discussions any more around this topic.
I agree. I would love to play with a redisplay engine. let alone read
more about them. I usually just read some old pascal books from the
1990s. I would love to reimplement lotus style menus !
UI is influenced by the history of interface hardware: teletype printers, serial cable terminals, block-mode terminals, PC, PDAs + stylus, fondle slabs
(tablets/smart phones), voice, "mind control"/direct human interface. These are all interesting too, but they rely on the edit engine to do the work.
On 2026-10-12 17:42, steve g wrote:
Anthony Howe <[email protected]> writes:
The designing the edit engine is what fascinates me, regardless of UI. Pity
there are few discussions any more around this topic.
I agree. I would love to play with a redisplay engine. let alone read
more about them. I usually just read some old pascal books from the
1990s. I would love to reimplement lotus style menus !
Redisplay in text, you thinking Curses/NCurses?
Curses was designed to abstract the assorted video terminals of the day (now >everything is an VT100/ANSI derivative) and to optimise the sending of minimal
sequences of escape codes to a **serial terminal** (or terminal emulator) to >update the screen.
There used to be BSD Curses, Solaris Curses, System V Curses, pdcurses, (and >Mortice Kern Systems (MKS) Curses). X/Open (now SUS) created a standard for >Curses that brought together the minor difference into one. NCurses (written in
C++) was starting around the time of POSIX.2, X/Open, and Unicode standards and
hasn't change much since and is stable. SUS has Curses Issue 7 which clarifies
the text.
Terminal Difference algorithms are related to Edit Distance / Longest Common >Subsequence algorithms - think `diff(1)`. There is a paper from Bill Joy on >Curses and some other papers related to terminal Edit Distance/LCS I obtained >when working on MKS Curses (buried on my book shelf).
There are books "Software Tools in PASCAL" by Kernigan & Plauger ISBN >0-201-103342-7 and "A Software Tools Sampler" by Web Miller ISBN 0-13-822305-X
that cover editors. The latter also covers terminal updating for an editor >(Edit Distance/LCS). See also `diff(1)` and my IOCCC 2015 `npdif(1)` also cover
Edit Distance/LCS (I supply several References in the documentation to papers).
Frankly I think terminal updates is a well solved problem - worth learning and
studying since the topic of Edit Distance/LCS relates to other subject areas >like gene sequencing, but not worth a new library IMO.
UI is influenced by the history of interface hardware: teletype printers, serial cable terminals, block-mode terminals, PC, PDAs + stylus, fondle slabs
(tablets/smart phones), voice, "mind control"/direct human interface. These
are all interesting too, but they rely on the edit engine to do the work.
An editor's edit engine covers the storage and its manipulation of the text. >The terminal update display algorithm for an editor would be part of the >UI/hardware interface and as has been mentioned else where GUI for desktop >paradigms.
On 2026-10-12 17:42, steve g wrote:
Anthony Howe <[email protected]> writes:
The designing the edit engine is what fascinates me, regardless of UI. PityI agree. I would love to play with a redisplay engine. let alone read
there are few discussions any more around this topic.
more about them. I usually just read some old pascal books from the
1990s. I would love to reimplement lotus style menus !
Redisplay in text, you thinking Curses/NCurses?
Curses was designed to abstract the assorted video terminals of the day (now everything is an VT100/ANSI derivative) and to optimise the sending of minimal
sequences of escape codes to a **serial terminal** (or terminal emulator) to update the screen.
There used to be BSD Curses, Solaris Curses, System V Curses, pdcurses, (and Mortice Kern Systems (MKS) Curses). X/Open (now SUS) created a standard for Curses that brought together the minor difference into one. NCurses (written in C++) was starting around the time of POSIX.2, X/Open, and Unicode standards
and hasn't change much since and is stable. SUS has Curses Issue 7 which clarifies the text.
Terminal Difference algorithms are related to Edit Distance / Longest Common Subsequence algorithms - think `diff(1)`. There is a paper from Bill Joy on Curses and some other papers related to terminal Edit Distance/LCS I obtained when working on MKS Curses (buried on my book shelf).
There are books "Software Tools in PASCAL" by Kernigan & Plauger ISBN 0-201-103342-7 and "A Software Tools Sampler" by Web Miller ISBN 0-13-822305-X
that cover editors. The latter also covers terminal updating for an editor (Edit Distance/LCS). See also `diff(1)` and my IOCCC 2015 `npdif(1)` also cover Edit Distance/LCS (I supply several References in the documentation to papers).
Frankly I think terminal updates is a well solved problem - worth learning and
studying since the topic of Edit Distance/LCS relates to other subject areas like gene sequencing, but not worth a new library IMO.
An editor's edit engine covers the storage and its manipulation of the text. The terminal update display algorithm for an editor would be part of the UI/hardware interface and as has been mentioned else where GUI for desktop paradigms.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,142 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 135:28:53 |
| Calls: | 14,707 |
| Calls today: | 1 |
| Files: | 186,498 |
| D/L today: |
1,118 files (344M bytes) |
| Messages: | 2,552,863 |