WARNING: This is high concept not-entirely-serious day-dreamy stuff.
I was walking while listening to this episode of Libre Lounge and day dreaming about some of the concepts they were talking about.
I started imagining an operating system, whose commandline shell was both a shell and a kind repl for an object oriented programming language. But all of the programs were actual functions, or functions within classes whose code could be opened up to be examined, modified, or executed or used as part of other programs. The file system mounting them in such a way that you could browse their object oriented class hierarhcies to explore private functions, while all public functions were effectively “in the path”.
Instead of piping text from one unix app to another, functions could return values, to be consumed by other functions.
Im not sure this is fundamentally different than say the unix philosophy; save for a few major things, but they seem like big deals:
- language uniformity of the whole system
- shell is a full blown object oriented language
- all applications can be decomposed and source code browsed
- fragments of applications could be of use by any other application
EDIT: Most of this may have been the appeal of lisp machines. I really need to figure out what those were like, I grok nothing from screenshots though.