On 1/16/15 6:39 PM, Walter Bright wrote:
On 1/16/2015 4:11 PM, Andrei Alexandrescu wrote:
I thought this isn't possible: http://goo.gl/QTAUFb. This:

$(TOCENTRY comparison.html, D Feature List)
$(TOCENTRY builtin.html,    Rationale for Builtins)
$(TOCENTRY ctod.html,       Converting C to D)
$(TOCENTRY cpptod.html,     Converting C++ to D)
$(TOCENTRY pretod.html, The C Preprocessor vs D)
$(TOCENTRY cppcontracts.html,     D Contract Programming vs C++)

can be simplified to this:

$(TOCENTRIES
         comparison,   D Feature List,
         builtin,      Rationale for Builtins,
         ctod,         Converting C to D,
         cpptod,       Converting C++ to D,
         pretod,       The C Preprocessor vs D,
         cppcontracts, D Contract Programming vs C++
)

(The .html elimination is a minor detail.)

The trick is to recurse twice using $+ every time:

TOCENTRIES=$(TOCENTRY $1, $2) $(TOCENTRIES_REC $+)
TOCENTRIES_REC=$(TOCENTRIES $+)

Thought this is worth sharing. We could simplify a few more things
with this.

Two thoughts:

1. Need to add this to the Ddoc documentation! Or at least a tip sheet
on Ddoc.

Who wanna do that? Other good examples are ENUMERATE and ITEMIZE.

2. Why use url shorteners like http://goo.gl/QTAUFb ? I don't generally
care to click on links that I have no idea where they go. Here's the
real link:

https://github.com/D-Programming-Language/dlang.org/pull/776/files#diff-582d0a2140b180aec5d08a9e6176399aR71

Looks better on the page.


Andrei

Reply via email to