[M3devel] Enumeration or subrange value out of range

Jay K jay.krell at cornell.edu
Wed Dec 1 07:49:36 CET 2010



opportunities to optimize calculations (like your example with intermediate forms for matrix manipulations)
Just to be clear, that power is not easily created, and would not be do-able in the constrained form I suggested, where it is always, e.g. T +(T,T)

 >  not proper in terms of semantics (operator<< and operator>> being obvious cases)

This would not be allowed in my constrained proposal.

> but also operator+ for concatenation

This is very reasonable.

 > utterly painful uses for operator,)


I'm surprised that is overloadable, but indeed it appears it is. I don't think I have *ever* seen anyone overload it, and I have seen a lot.



 > the inability to define new operators (which leads to the first problem of idiots redefining the semantics of operators)


Stroupstroup rejected this as too complex. (See the Design&Evolution book).
I don't see people pine for this often and I suspect he did the right thing.
It creates a layering problem I believe in the typical structure.
The lexical analysis would have to get information from higher layers.


 > unexpected costs to operations making the eyeballing of execution complexity (time-wise and memory-wise) literally impossible


This is already the case. As I said. So let's say that every single function call is shown. It is hard to know which functions have which cost.
There are also hidden function calls e.g. for "try" and every pointer derereference (right?)


Please consider floating point. Historically floating point was "soft float". Sometimes these days it still us. Yet we still have operators for floating point.
Why? Because it is just so convenient and idiomatic. Why stop there?


A primary design point of C++ is to give user defined types all the powers of built in types.
No longer does it require a compiler change to introduce a type with the "power" of int. And so on.



> painful interaction with templates that makes a perfect storm of eye-damaging syntax
Huh? Specifically?

The one vague reason I don't fully understand is: C doesn't have it.
Does C represent a good example of a sort of minimalism? Maybe.
It isn't clear to me the value of C. It has been *very* widely abandoned in favor of C++.

 - Jay
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20101201/cfc60885/attachment-0002.html>


More information about the M3devel mailing list