Skip to content

Instantly share code, notes, and snippets.

@lispm
Last active December 3, 2016 21:45
Show Gist options
  • Save lispm/c9f50267cad7b9391c8f0b31448ec35a to your computer and use it in GitHub Desktop.
Save lispm/c9f50267cad7b9391c8f0b31448ec35a to your computer and use it in GitHub Desktop.
Comparing/explaining the screenshots
http://dustycloud.org/tmp/emacs-and-the-lisp-machine.png
* Left: Document Examniner from Symbolics, a system supplied application of the Genera OS
** Application to browse and read documentation on the Symbolics Lisp Machine
* Right: GNU Emacs
** Programmable text editor with lots of additional capabilites like documentation browsing/reading,
directory browsing, Lisp interfaces
* Similar
** written in some form of Lisp, both descendents of Maclisp
** 'tiled' window with different rectangular regions
** UI is often not icon oriented
** GNU Emacs and the Symbolics Genera OS are based on 'Lisp images' and include a Lisp IDE
* Main Differences
** Docex is a single application in a top-level window with its own thread, not based on editor buffers
** GNU Emacs uses multiple different editor buffers with their own functionality (modes)
** Genera UI is very object-oriented, windows/mouse oriented, each application is a window with subpanes
and usually not based on something like Emacs, the UI is not provided on a text terminal
** basic Lisp Machine Lisp / Symbolics Common Lisp is more powerful than basic Emacs Lisp
** Genera is a OS, GNU Emacs is a programmable text editor
* Symbolics Document Examiner
** a single application, usually covering the whole screen
** window with subpanes, subpane configurations are provided by the application
** all fully visible subpanes are on the same level and 'active'
** six panes for this application: title, application, search candidates, bookmarks, command interactor, menu
** the specific panes make only sense as part of the application and are usually not reused in other contexts
** panes are not editor buffers with the functionaly of text editing, panes can freely mix text and graphics
** Lower part of the screen with mouse documentation and status line provided by the OS
** Interactor is always visible and is an object-oriented command line interface with history,
has its own process for each application window, is not necessarily providing a Lisp REPL
** runs in shared memory with the main OS
** user switches between activities (each activity is a top-level window) like Docex, Listener, Editor, Peek, Font Designer, ...
** default text input goes to the interactor
* GNU Emacs
** shows four independent buffers (which can be thought of different applications) and a minibuffer
** each buffer behaves differently and they are not related: Info browser, Dired, Bookmarks, Guile REPL
** switching between buffers sets the focus and changes the available commands
** buffer configuration of a window typically done by the user
** the whole GNU Emacs application is single threaded
** runs on top of another OS
** text input goes to the current active buffer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment