From: Qiantan Hong <qhong@mit.edu>
To: Jean Louis <bugs@gnu.support>
Cc: "emacs-tangents@gnu.org" <emacs-tangents@gnu.org>
Subject: Re: Question: what is Emacs mode?
Date: Sat, 24 Apr 2021 05:00:01 +0000 [thread overview]
Message-ID: <7392D442-DBE5-4117-87EB-B37E12FE3A6C@mit.edu> (raw)
In-Reply-To: <YIOdGVko8MgFDQrY@protected.localdomain>
> 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).
next prev parent reply other threads:[~2021-04-24 5:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-23 20:43 Question: what is Emacs mode? Qiantan Hong
2021-04-23 21:11 ` Jean Louis
2021-04-23 22:04 ` Qiantan Hong
2021-04-24 4:22 ` Jean Louis
2021-04-24 5:00 ` Qiantan Hong [this message]
2021-04-24 9:22 ` Jean Louis
2021-04-29 3:39 ` Qiantan Hong
2021-04-29 5:02 ` Jean Louis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7392D442-DBE5-4117-87EB-B37E12FE3A6C@mit.edu \
--to=qhong@mit.edu \
--cc=bugs@gnu.support \
--cc=emacs-tangents@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).