Hello!
=== Question ===
Is it possible to write emacs lisp code that runs without modification
when emacs is not available?
Note: The question is mostly of academic interest. Currently I have no
actual application in mind.
=== Motivation ===
Think about this scenario:
Someone writes an emacs mode for editing a file format. Because
convenient editing of the files requires parsing the format he
implements a parser in emacs lisp. Because the parser is available in
emacs lisp, he also writes converters in emacs lisp.
At a later point the file format has become complex and popular.
Popular enough to bring it to non-emacs-users and mobile devices. As a
consequence the availability of Emacs (as a lisp platform) can no
longer be assumed. While emacs could be installed as dependency on
desktop platforms at the cost of a large installer, on mobile
platforms this may not be feasible.
As a consequence -- as far as I know -- the backend code would have to
be rewritten in another language.
=== Possible solutions which I may just not know of ===
- An implementation of a subset of common lisp that compiles to emacs
lisp byte code. `cl` doesn't count, as previous versions used
constructs like `defun*' and current versions a prefix `cl-`.
- A subset of emacs lisp that depends on as little C-code as possible.
This might allow writing a standalone-interpreter in a language
available on the target-system with acceptable effort by reusing
parts of Emacs' *.el sources.
kind regards, Klaus-Dieter