ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen via ntg-context <ntg-context@ntg.nl>
To: Hans van der Meer via ntg-context <ntg-context@ntg.nl>
Cc: Hans Hagen <j.hagen@freedom.nl>
Subject: Re: [NTG-context] letfrozen?
Date: Tue, 13 Jun 2023 19:23:51 +0200	[thread overview]
Message-ID: <bc18d063-a2c4-1768-c7e5-c28f87852eea@freedom.nl> (raw)
In-Reply-To: <BAAA7059-FA4E-4752-9B7C-0A0B4C4BDF36@ziggo.nl>

On 6/13/2023 12:43 PM, Hans van der Meer via ntg-context wrote:
> Of course. But without that \enabledirective I can redefine the frozen macro at will, as a simple test did show.
> The crux, however, is that one wants to protect the frozen code always, irrespective of that directive setting.
there are several caregories, like primitive, permanent, instance, 
mutable, immutable and frozen

at some point we could deepfreeze them all but in the end that makes no 
sense because then we can't for instance run tikz

so in the end it's mostly about warnings and errors (one can actually 
distinguish between categories)

there's also \overloaded and \aliased and \enforced etc

of course you can at some point do

\newcount\overloadmode

but who can predict side effects (and one can argue that tex is 
progrmamable and that users get what they ask for) and keep in mind that 
all should also not hit performance too badly

there's quite a bit involved here .. pretty all context commands have 
some kind of flagging and protection (which also is handy for tracing)

You can spent hours playing with prefixes:

\frozen
\permanent
\immutable
\mutable
%primitive
\noaligned
\instance
\untraced
\global
\tolerant
\protected
\overloaded
\aliased
\immediate
\deferred
\semiprotected
\enforced
\inherited
\constant

if you're in the mood.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

      reply	other threads:[~2023-06-13 17:24 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-12  8:57 Hans van der Meer via ntg-context
2023-06-12  9:12 ` Hans Hagen via ntg-context
2023-06-12 10:32   ` Hans van der Meer via ntg-context
2023-06-12 17:47     ` Hans Hagen via ntg-context
2023-06-13 10:43       ` Hans van der Meer via ntg-context
2023-06-13 17:23         ` Hans Hagen via ntg-context [this message]

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=bc18d063-a2c4-1768-c7e5-c28f87852eea@freedom.nl \
    --to=ntg-context@ntg.nl \
    --cc=j.hagen@freedom.nl \
    /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 NNTP newsgroup(s).