On Sunday, 8 May 2016 at 09:01:07 UTC, Iain Buclaw wrote:
I probably wouldn't use the term "hack", instead I'd use an
analogy along the lines of:
CTFE is a bit like a Morris Minor, sold everywhere initially,
comfortable to ride, and reliable so long as you didn't ask for
too
much from it, and weren't on a deadline to get from A to B.
However after some time, people started wanting to use it for
driving
off-road. So then after some talks, it was decided that we'd
replace
the wheels with those of a tractor, and everyone rejoiced that
we can
now go directly up a mountain, rather than skirting down the
edges.
But those happy days were short-lived, and suddenly everyone
not only
wanted to go off-road, they also wanted the ability to drive
around in
the river and oceans too. Again some talks ensued and it was
decided
that a marine propulsor engine would replace the be added at
the
front, however due to size dimensions it ended up sticking
awkwardly
out of the bonnet.
And so once again, everyone rejoiced at the new frontier of
being able
to get around, but as time wore on and people settled down,
suddenly
there were those who had a family, and were unhappy that there
was no
room to fit all members in. Now at this point, it was too late
to
replace the entire body with one that was ergonomically
friendly to
accommodate more members, but after some trials, the designers
settled
on bolting four seats to the roof.
I could go on about how we gave this Morris Minor wings
allowing people to also fly in it, but I think you should
already be getting a clear picture of where this going. :-)
http://i.imgur.com/BAiJKUS.png
Seconded.
As I said, the problem is not CTFE itself, the "problem" is that
it enables a completely new paradigm. When this new way of
meta-programming is used alot the current implementation cannot
hold up.
I am committed to transform CTFE from a neat toy, into a polished
product.
If anyone thinks the same please, contact me, because then we can
avoid duplicated work and frustration.