I vote NO on Motion P1788/M0030.02:Level_1_constructors
Folks,
This motion defines nums2bareinterval, text2bareinterval,
bareempty, & bareentire in some detail & then goes on to
define decorated constructors as something of an
afterthought.
It is my opinion that bare intervals will be of great
utility to optimizing compilers to reduce both storage &
computation for those applications that can PROVABLY do
without decorations. But I believe it will turn out to
be poor programming practice for users to create bare
intervals on their own.
Of course, it must be possible for users to do this. So
we must provide something like a makeBare. But to provide
a complete set of operations supporting bare intervals as
a first class datatype makes us complicit in that poor
programming practice.
For when the rocket blows up due to some decoration being
ignored, finding
xx = makeBare(nums2interval(a,b));
in the code makes it the programmer's fault. Finding
xx = nums2bareinterval(a,b);
makes it our fault.
And, as I would rather not be named in a $1 billion lawsuit,
I vote NO on this motion.
I would vote yes if the bare versions of these constructors
were removed.
Dan