Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

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