On Monday, 9 April 2018 at 07:02:50 UTC, Hasen Judy wrote:
IMO, this is one more reason why sum-types should be built into the language compiler, instead of being implemented in user-space.

+1. Any time you have to "create" a fundamental feature in a language... from inside the language itself... you're going to have confusing error messages, and a huge uphill battle.

Look at Boost. While I salute the effort put into those libraries, trying to "fix C++"... "from inside C++" is a fools errand. The upgraded multidimensional array code looks like this:

 typedef boost::multi_array<double, 3> array_type;
  typedef array_type::index index;
  array_type A(boost::extents[3][4][2]);

as opposed to you know, in D:

 double [3][4][2] A;

And the D version has useful error messages, small compile times, and it's still easier to read, reason about, and debug.

Reply via email to