Why I'm hesitating to switch to D

Adam D. Ruppe destructionator at gmail.com
Sat Jul 2 15:00:14 PDT 2011


Andrei:
> Yah, agreed. I've done some work on that in the past; ideally each
> construct would generate a div/span with its own class and then
> everything would be controlled by CSSs.

Yes, indeed. I'd like to go a little further than it goes now too,
specifically, I'd like for any D identifiers - function names,
etc. - that's outputted by the generator to be a macro too.

For example, in code snippets or in function signatures.


MyStruct myfunction();

Shouldn't just output, it should be like:

$(DDOC_GLOBAL_NAME module.name, MyStruct) $(DDOC_PSYMBOL myFunction)();

(or maybe wrapping the return value in yet another macro. The more
information we have, the better.)

Why? So the global name can be translated right into a link.
Ideally, you should be able to click on *any* D name in the
docs and go right to it.


The compiler can tell the scope too - global if the name is from
another module. _NAME if it's from this module. _LOCAL if it's
a local variable in a function example.


This way, the macro can link straight to anything, with all
the accuracy of the compiler's scoping and overload resolution
rules.


A textual post-processor can't be that accurate, so the links
won't necessarily be accurate.

But, even if the compiler did nothing but identify identifiers
and pass the name to a macro, that'd be an improvement since it
can always link to a search engine,
(Like my own http://dpldocs.info/NAME ) for the final resolution.



This lack of easy cross-referencing in examples and signatures,
especially across modules, is the only problem I have with ddoc
itself right now.


More information about the Digitalmars-d mailing list