Open septcolor opened 2 years ago
I'm a bit overwhelmed with multiple projects at the moment, so may not be able to dive into these materials. I will say that we (generics subgroup) are intentionally ovoiding metaprogramming which is related, but distinct to generic programming. (But the terms are often incorrectly used interchangably.)
Thanks much for your message, and please do not worry about checking them so soon! I will post related materials here (in this thread) when I come across something interesting or potentially useful.
I have come across this blog post recently, which might be of some example for the utility of templates for such simulations. (I have no experience with "gas dynamics", so not familiar with their calculations themselves.)
A Gas Dynamics Toolkit in D https://dlang.org/blog/2022/02/02/a-gas-dynamics-toolkit-in-d/
(Excerpts from the blog)
The homepage of their software seems here: https://gdtk.uqcloud.net/ https://github.com/gdtk-uq/gdtk https://github.com/gdtk-uq/gdtk/tree/master/src/eilmer
I've also come across a recent talk in FOSDEM2022, which explains the utility of generics, templates, and macros in the Nim language. What I felt interesting is the classification of those things into "Level 1, 2, and 3" (where 1 => generics, 2 => templates, 3 => macro). I guess D's template and string mixin (that are mentioned in the above D blog) correspond roughly to Levels 1/2, while Julia's parametrized functions/types and macro correspond probably to Level 1 and 2/3, respectively (though the distinctions may be not so clear...)
https://www.youtube.com/watch?v=y6GQeWdmSb8 (youtube recording) https://video.fosdem.org/2022/D.nim/ (from the FOSDEM site, choose "metaprogramming.webm")