Emacs As Operating System

In UnixCulture, someone wrote: "Emacs is a refugee from the long dead culture of LispMachines. It's an asylum seeker in the UnixCulture."

(To decide the worth of a culture, examine its treatment of asylum seekers.) I posit that many people use EmacsAsOperatingSystem. What's more, it's about the most portable operating system ever. This would explain the fanaticism required to build mailers, newsreaders, web browsers, directory editors, CVS interfaces, etc etc etc into this one tool, so its proponents never have to leave the safety of their house. s/safety/power, flexibility, and all-around good design/, and I'll agree :)

... and Emacs' buffers are a remarkably simple unified interface to everything on the earth, comparable to CommandLineInterface.

In my interminable and to date unproductive experiments with OperatingSystemsImplementation, one project which I had planned, but have never actively pursued, was ENOS - Emacs Native Operating System - which would have been a literal example of EmacsAsOperatingSystem. The plan was to write a small kernel of CeeLanguage code, that would be used to support a port of GNU Emacs; except for that minimum C support for memory management and task management, the whole system would be written in Elisp. It was intended as a proof-of-concept for some more elaborate ideas I had concerning UserInterfaceDesign. I have since decided that the work of porting Emacs would probably be greater than that of writing a system that meant to succeed it. - JayOsako

I've heard a lot of people think seriously about doing that, but never heard of anyone actually getting going on such a project.

Wouldn't it be a re-implementation of Genera, the SymbolicsLispMachine OS? Granted, you'd need to add a GUI to make it complete, but the spirit would be similar. It would be interesting to see how well Genera can take advantage of a MultiCoreCpu?.

That reminds me of a moderately common issue: What about running curses-based programs under emacs? It doesn't seem to work right. Do M-x ansi-term instead of M-x shell. Or so I'm told. Nethack major mode?

Nethack.el exists. http://www.nongnu.org/nethack-el/ Also, ANSI-term is fine. I use it for everything. Including my Python REPL.

Personally, I like having everything immediately available from the same interface. It probably doesn't fit the *nix philosophy, but why conform anyway? ;) Besides, Lisp is way too much fun to play around with.
I have often wondered why emacs fans have not tried to replace /sbin/init with emacs in Linux and distribute it as some form of emacs OS, you get all the driver support out of the box and merely have to write some elisp to manage startup etc.

Well, there you go, you see... it just needs you to do it, so do it, eh?

Pascal J. Bourguignon actually did use emacs for his /sbin/init, as described in this December 2012 article:


As much as I love Emacs, in my opinion it isn't the right tool for an operating system because it isn't mainstream. Its editor is based on unusual keystrokes with help that has uncommon terminology. It doesn't support GUI development. It doesn't seamlessly integrate lisp and editing keystrokes to limit the total number of keystrokes necessary to memorize. And, of course, Lisp syntax is not infix.

Nonetheless, I believe this overall approach is one hope we have to build a tool significantly more powerful and an IDE - I like to call it a Totally Integrated Environment. Unfortunately, computing technology has become so diverse that a simple tool cannot satisfy everyone, and an effective extensible computing environment is elusive, at best.

An old favorite joke: "The Emacs operating system needs a better editor."

Viper-mode is the "better editor"


View edit of January 1, 2014 or FindPage with title or text search