all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Emacs-Devel <emacs-devel@gnu.org>
Subject: Re: tutorial or guidebook text for some complex topics
Date: Mon, 23 Oct 2006 15:59:08 -0400	[thread overview]
Message-ID: <jwvbqo2g64s.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <MEEKKIABFKKDFJMPIOEBKENCDFAA.drew.adams@oracle.com> (Drew Adams's message of "Mon\, 23 Oct 2006 11\:35\:12 -0700")

> These structures are complex, with multiple possible cases to consider. They
> are not abstract data types with defined accessor functions, so code that
> manipulates them must explicitly "parse" them as cons trees, being careful
> at each access step.

> Personally, I'd prefer to see them treated as ADTs with accessor functions,
> but I expect that others will disagree, so I'm not suggesting that change.

I think that if you propose good accessor (and constructor) functions, they
have a good chance of being accepted.  There's opposition to making data
structures opaque, but that doesn't mean that you should *have* to look
under the hood.
That's why `map-keymap' was added, for example.
AFAIK, regarding keymaps, the main missing accessor function is the one that
parses a "keyelt" (which can be as simple as a function symbol, but as
complex as a big `menu-item').

> What I would suggest is that the documentation be beefed up a little, to
> help users understand these critters better.  I'd like to suggest that these
> topics be dealt with in a tutorial or user-guide manner, with examples to
> help people learn what these critters can look like and how to use them.

You're in the best position to start writing this.  If you feel like you're
not up-to-the-task, try it anyway and let other people's feedback do the
grunt of the work.


        Stefan

  reply	other threads:[~2006-10-23 19:59 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-23 18:35 tutorial or guidebook text for some complex topics Drew Adams
2006-10-23 19:59 ` Stefan Monnier [this message]
2006-10-23 21:14   ` Drew Adams
2006-10-23 21:46     ` Nick Roberts
2006-10-23 21:58       ` Drew Adams
2006-10-23 22:54         ` Nick Roberts
2006-10-23 23:24           ` Drew Adams
2006-10-24  0:13             ` Nick Roberts
2006-10-24  7:06               ` David Kastrup
2006-10-24  7:44                 ` David Kastrup
2006-10-24 20:46                   ` Drew Adams
2006-10-24 20:45               ` Drew Adams
2006-10-23 23:33         ` Robert J. Chassell
2006-10-24 17:42         ` Richard Stallman
2006-10-24 20:51           ` Drew Adams
2006-10-23 22:08       ` David Kastrup
2006-10-24 17:42       ` Richard Stallman
2006-10-24 23:49     ` Stefan Monnier
2006-10-23 20:01 ` Eli Zaretskii
2006-10-23 21:19   ` Drew Adams
2006-10-24 17:42 ` Richard Stallman
2006-10-24 19:31   ` Drew Adams
2006-10-25 18:03     ` Richard Stallman
2006-10-25 18:21       ` Drew Adams
2006-10-26  8:52         ` Richard Stallman

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvbqo2g64s.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.