[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question: what is Emacs mode?
From: |
Qiantan Hong |
Subject: |
Re: Question: what is Emacs mode? |
Date: |
Sat, 24 Apr 2021 05:00:01 +0000 |
> TECHNOLOGY TEMPLATE PROJECT OHS Framework
> https://www.dougengelbart.org/content/view/110/460/
>
> I suggest that you also look at Doug Engelbart's work.
Nice! Seems that lots of ideas in it can be incorporated naturally
into my model.
> I will say something what may not look possible, I rather think it is
> possible. It would be good if each of those nodes would have its
> unique ID, as then it becomes possible to have someting similar as
> OPML able to reference those parts of text even if the node change its
> position. Maybe is not feasible.
In a live system, every object automatically get a unique identity,
which is their intrinsic object identity (on many implementations
it’s the pointer address). It’s already used for cursors and
markers in my current experimental system and I wrote
editing command carefully to preserve identity as much as possible
(so the cursor and markers can moves “along” with edited code).
So to some sense, I already have it.
Now I read the OHS framework, it makes some sense to me that
sometimes we want human interpretable ID. Currently I’m imagine
giving some tags to some node, and hope the tags from the root
to a given node uniquely determine a node. It doesn’t have the property
that you can always determine a unique node though…
> Question is the speed.
>
> Will that system have extension language and which one? Will it be
> Emacs Lisp or different?
Sure, my current experiment is written in Common Lisp, and
Common Lisp automatically become its extension language.
It’s an “extended” Common Lisp though (aka with some macros),
because I need to support buffer/node-local environment and advices.
For a serious long-term projects, I’m not sure if CL is the right way
to go. It’s too adhoc and unnecessarily complex to my taste,
and it also lack some important features (the-environment and call/cc).
My ideal language, to this day, seems to be GNU/MIT Scheme.
(I don’t like Guile better than CL. It doesn’t have full first-class environment
support and strictly speaking not even full call/cc, because it has to
corporate with C runtime).