Re: Eu improvements (part 4)
- Posted by James W Hofmann <jhofmann at ucsc.edu> Jan 06, 2007
- 706 views
> The proposal is SS. > The proposal is NOT dot-notation, NOT named elements, > NOT namespaced ids, NOT a new syntax for user-defined datatypes. > It IS a combination of all those things in a coherent package. > > For or Against? > > KtB > I'm a "no." Your presentation of SS does some things that the type keyword doesn't do currently, but it loses the precise check-as-function feature. To get both implies that you make both a SS and a type; that is inelegant - a pollution of keywords. In addition, SS tries very hard to separate itself from the original sequence type; there is a lack of clarity in how the code:
sequence point is atom x,y end sequence
actually translates to a REAL sequence. (the only thing implied is that x comes before y. And then what happens with "extends" is even less clear.) Even if you do define the behavior in some consistent manner, a reliance on implied order will cause problems for the programmer who wishes to mix SS with indexing. You are welcome to debate on those points, of course. I will also mention pass-by-reference. I think that is a bad idea for a different reason; it avoids the real problem, which is an absence of references! That is what makes complex data structures in Eu hard, more so than any issue with naming. We instead resort to global variables and code to maintain counts and other ugly things. References should be done everywhere, as a new data type, if they're going to be done at all. (I would even declare the result a "new language" if it were necessary to do references properly.)