Foreach Closures?

Marco Leise Marco.Leise at gmx.de
Tue Apr 10 10:49:48 PDT 2012


Am Tue, 10 Apr 2012 08:46:05 +0200
schrieb Jacob Carlborg <doob at me.com>:

> Descent can handle:
> 
> * Syntax highlighting
> * Semantic highlighting
> * Show lex, parse and semantic errors
> * Compile time debugging
> * Compile time view
> * Formatting
> * Show the actual type of an inferred or aliased type
> * Smart autocompletion
> * Many other things as well
> 
> Note that in addition to (most of) the above, JDT can handle a lot more. 
> The compiler is the only tool that can properly handle this. It's also 
> the only sane approach, to have the compiler usable as a library.
> 
> Just take a look how it used to be (and in some cases are) in the C/C++ 
> world before Clang and LLVM came a long:
> 
> * You have the compiler
> * An IDE with a "parser/compiler"
> * The debugger with an (expression) "compiler"
> 
> All these "compilers" are different and need to stay in synch. That's 
> not how you do good software development. You build a compiler library 
> that can be used in all the above tools. BTW, it's only the real 
> compiler that can handle everything properly.

I think you are right. So clearly to make bindings possible this library would export a set of C functions. (I should think of export(C) as the "least common denominator" here.) DMD is no where close to look like a library and IDEs/debuggers need a different set of features. I think we can start a new thread to discuss this and maybe a Wiki page to collect ideas and brainstorm, unless there are better tools for that available. It would be nice if the developers of DDT, Descent, Mono-D and VisualD could share their insights there to get the requirements straight.

-- 
Marco



More information about the Digitalmars-d mailing list