Metaprogramming without templates

Paulo Pinto pjmlp at progtools.org
Thu Jun 24 09:17:15 UTC 2021


On Thursday, 24 June 2021 at 06:44:49 UTC, SealabJaster wrote:
> On Wednesday, 23 June 2021 at 21:06:23 UTC, Stefan Koch wrote:
>> On Monday, 21 June 2021 at 14:15:27 UTC, SealabJaster wrote:
>>> On Monday, 21 June 2021 at 13:18:21 UTC, Stefan Koch wrote:
>>>> ...
>
> I like it so far. I can already foresee the arguments about 
> whether capturing comments is something it should do >:D.
>
> My main frame of reference will always be from C#, simply 
> because it's the only runtime reflection I'm used to:
>
> see Expression trees: 
> https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/expression-trees/#creating-expression-trees-from-lambda-expressions
>
> see Type reflection: 
> https://docs.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/reflection
>
> Obviously D's potential ability for reflection will be 
> different and have different capabilities, but I'm sadly not 
> able to really think up anything unique or different.
>
> Other people of course will have more of a better eye for 
> specific details and pain points, something I'm unable to 
> provide at the moment.
>
> Keep up the good work though!

You missed out some toys,

F# code quotations,

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/code-quotations

C++/CLI

https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160

Code Generators,

https://github.com/dotnet/roslyn/blob/main/docs/features/source-generators.md

C++/CLI and F# might feel like cheating, but that is the beauty 
of having a polyglot runtime sharing library code.




More information about the Digitalmars-d mailing list