In concept it kinda reminds me of Oberon (I wish those had succeeded) though the integration between the kernel and the language (elisp) isn't anything like as tight.
For anyone who hasn't seen it (and a chance to look at the path not taken).
When analysed as an interactive application Oberon makes me think the most Acme, then Emacs. I'm struggling with defining the genuine distinctions between operating system, application server and applications.
It seems the distinction has to do with boundaries and how they are enforced, and by whom (I.e. the amount of user control one has on factors such as security, isolation in contrast to the application writer)
IMO the Oberon/Acme text-based command approach suffers all of the problems of Unix shells, which are caused by lack of type information. Symbolics Genera's Dynamic Windows used the mouse in a similar way to Oberon but with actions guided by type information, concepts which can be found today in the Common Lisp Interface Manager (https://en.wikipedia.org/wiki/Common_Lisp_Interface_Manager). There are Emacs modes like SLIME that do similar things and are widely used.
>I'm struggling with defining the genuine distinctions between operating system, application server and applications.
Two important concepts are abstraction as you go up the stack (towards the application) and generalisation of functionality as you go down (towards the OS).
For anyone who hasn't seen it (and a chance to look at the path not taken).
https://www.inf.ethz.ch/personal/wirth/ProjectOberon1992.pdf