On 1/14/2025 6:50 PM, Henning Hraban Ramm wrote:
Am 11.01.25 um 12:30 schrieb Hans Hagen via ntg-context:
Sure. I’m proud to have found several features that you forgot about ;)
ah, so you now make a nice certificate that you can put behind you when we chat
Will do ;) Do you also give out cheques? ;)
we might if we got them
Back to macros (I read lowlevel-macros, at least tried to…):
While I liked \define, it looks like it just doesn’t make sense anymore if I need (\tolerant)\def for anything advanced anyway?
\starttexdefinition supports this
You stress how costly named macros are – then we should forget about MkLX mode?
i meant 'if supported by the engine' but mklx are only named when you define them adnm internalized as #1 ...
Did I understand correctly, that bracketed = optional parameters is just a convention, i.e. only the handling of arguments makes them optional, not their definition/fencing?
indeed, you could also do \tolerant\def\foo(#1){...}
With \tolerant, we can not only forget about the last dodos (and even single dos), but also about \dosingleargument & friends, right? Are there cases where the MkIV way still makes sense with LMTX?
only a few places (where we were too lazy to redo it) but eventually all will use the modern way ... if you see one and are annoyed you can tell me (HH & WS)
When does it make sense to define macros in Lua (interfaces.implement)? Obviously, if I need calculations or I/O operations that are easier to do in Lua. Are there disadvantages of Lua-defined vs. TeX-defined macros?
it depends but i doubt if you will notice (often the performance hits are not where you think they are so one can occasionaly run into curious assumptions) timing tex is kind of tricky because in a loop that does simple things cpu caching speeds up things contrary to doing things all over memory and code; anyway one avoids some tokenization when used right if one noticed a bottleneck we can look into but as we don't get complaints i guess performance is ok 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 -----------------------------------------------------------------