Fri, 09 Oct 2009 16:49:19 -0400, Jarrett Billingsley thusly wrote: > Where CTFE wins at metaprogramming: > > Liiiiiiiiiiists. If you have a list of something, it's far easier to > deal with in an imperative CTFE function than in an awkwardly recursive > template. Edge cases (first, last items) are also easier to deal with > imperatively.
Of course the "lists" become more efficient and easier to use inside CTFE functions since D does not even have built-in lists but arrays. Calling Head!(foo) and Head!(Reverse!(foo)) is not that hard in template code, but D just does not have a standard template utility function library. > DSLs, and more generally, parsing. Doing DSL parsing with templates is > possible but not fun. You end up with a ton of templates. Not that I'm > advocating parsing lots of things with CTFE either.. you already know > how I feel about that. You liek it?