# [dev-context] A few questions

Hans Hagen pragma at wxs.nl
Fri Aug 7 20:27:32 CEST 2009

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
-----------------------------------------------------------------


More information about the dev-context mailing list