![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
Aditya Mahajan wrote:
When I started using context, I was surprised that context did not have anything for optional arguments. We could have something like
\definesinglearugment\foo[#1]#2{...}
to be equal to
\def\foo{\dosingleargument\dofoo} \def\dofoo[#1]#2{...}
and
\definesingleempty\foo[#1]#2{...]
to be equal to
\def\foo{\dosingleempty\dofoo} \def\dofoo[#1]#2{...}
and similar things for \definedoublearugment, \definetripleargument, etc. I am not convinced that this is a good thing, but using something like this in the core may result in a 10% reduction in the code size and might kill a few dodos :)
there is \definecomplexorsimple anyhow, it does not save commands and does not reduce the code size as you still need the intermediates; it might increase the format generation time with a few millisec Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------