ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <j.hagen@xs4all.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>,
	"Jairo A. del Rio" <jairoadelrio6@gmail.com>
Subject: Re: mathfun
Date: Sun, 23 May 2021 11:51:24 +0200	[thread overview]
Message-ID: <13f095c1-791d-86c4-35b9-2ee2b069b631@xs4all.nl> (raw)
In-Reply-To: <CAKyqqaYj0iLB=oc4QjRY-RszcKK+MJ2O0sb_iXjwTzzWKaSULg@mail.gmail.com>

On 5/22/2021 11:34 PM, Jairo A. del Rio wrote:
> Hi. Is \thewithproperty documented elsewhere? Is this a new primitive? 
> It looks interesting.
In the case of the \sin trick particular case \let\computer\the would 
also work; i added the \thewithproperty<number> feature just because i 
expect that users can come up with variants (like \drawme\sin ...) which 
then would adapt behaviour (via \dowithproperty2).

So, indeed it's a new primitive but (for now) only used with these lua 
hacks. Actually it's no big deal to reimplement \thewithoutunit<dim> as

   \thewithoutunit{\dowithproperty1\the}

and then

   \thewithcmunit{\dowithproperty2\the}

to serialize the dimension in cm but normally i need to "wonder for a 
while if it makes sense".

Btw, adding primitives (related to the token related bits and pieces of 
the engine) only makes sense if the gain is in

-- avoiding clumsy code: although that can hurt someones pride and joy 
over a nice and complex macro doing the same ... don't worry, i threw 
away plenty of code by now

-- significant performance gain: which is seldom the case (there really 
is not much to gain, at least not in context which is rather optimized 
already)

-- giving way less noise in tracing: which for me is a good reason 
(tracing changed a bit anyway)

-- not adding much code to the engine or the need to refactor: although 
for some luametatex extensions some internals had to change fundamentally

a good example is the extended macro argument handling: less clumsy tex 
code, a bit of performance gain and easier full expansion, way less 
tracing, but it violates the last argument because it did lead to some 
refactoring (i also had to make sure the extra overhead didn't slow down 
macro definitions and expansion)

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 / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2021-05-23  9:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-21 13:15 mathfun Hans Hagen
2021-05-21 14:37 ` mathfun Aditya Mahajan
2021-05-21 15:06   ` mathfun Hans Hagen
2021-05-21 15:24     ` mathfun Otared Kavian
2021-05-21 16:07       ` mathfun Hans Hagen
2021-05-21 20:41       ` mathfun Aditya Mahajan
2021-05-21 21:01 ` mathfun Henning Hraban Ramm
2021-05-22  6:51   ` mathfun Hans Hagen
2021-05-22 21:34 ` mathfun Jairo A. del Rio
2021-05-23  9:51   ` Hans Hagen [this message]
2021-05-23 13:45     ` mathfun Jairo A. del Rio
2021-05-23 14:35       ` mathfun Hans Hagen
2021-05-23 15:33         ` mathfun Jairo A. del Rio
2021-05-23 21:29           ` mathfun Hans Hagen
2021-05-23 14:40       ` mathfun Hans Hagen

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=13f095c1-791d-86c4-35b9-2ee2b069b631@xs4all.nl \
    --to=j.hagen@xs4all.nl \
    --cc=jairoadelrio6@gmail.com \
    --cc=ntg-context@ntg.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).