Re: Eu improvements (part 4)
- Posted by Chris Bensler <bensler at nt.net> Jan 06, 2007
- 700 views
Pete Lomax wrote: > > Pete Lomax wrote: > > > Yeah, Cut that middle bit of nonsense, subsequences rule, no flattening: > > }}} <eucode> > > type Point(sequence p) > > enum integer x, y -- x=1, y=2 > > -- if length(p)!=2 then return 0 end if -- automatic > > -- if not integer(p[1]) then return 0 end if -- automatic > > -- if not integer(p[2]) then return 0 end if -- automatic > > return 1 > > end type > > > > type Point_3D(sequence q) > > enum Point p, integer z -- p=1, z=2 > > -- if not Point(q[1]) then return 0 end if -- automatic > > -- if not integer(q[2]) then return 0 end if -- automatic > > return 1 > > end type > > > > Point_3D A > > A={{1,1},1} > > ?A.p.x -- same as A[1][1], note A[p][x] gives p undefined > > -- and A[1][x] gives x undefined > > ?A.p.y -- same as A[1][2], note A[p][y] gives p undefined > > -- and A[1][y] gives y undefined > > ?A.z -- same as A[2], note A[z] gives z undefined > > </eucode> {{{ > > > Agreed, you're right, much happier with that now. > Yes, obviously you can put user defined code above the return 1. > > Thanks, > Pete (Just to clarify, this post is not directed at anyone in particular, but at the chaos of this and related threads.) The type construct is not a suitable candidate for structured sequences. The only way that it can be suitable is if a new syntax is introduced for defining the structure members. The problem is in discerning private variables used for the typecheck routine from the structure members. I've chewed on it before, many times. The type construct is one thing that really sticks out to me as in dire need of improvement, if only for the sake of making it more useful. Let's not invent an excuse to wedge it into a new mould though. Now before this crazy discussion goes any further, I for one would like to see structured sequences, but not if I have to forfeit the possibility of oop. Do we really want both? Before you slap your veto on either concept, consider what is best for Eu, not what is best for yourself, because ultimately whatever is best for Eu will be best for you too. If Eu continues to stagnate at the expense of stubborn and unsubstantiated opinions, development will cease and we will have nothing but a relic. If you are happy with how Eu is now, then don't upgrade? If Eu progresses, even if it means that it will include features that you despise, if that progress means a substantial increase in participants, it also means a substantial increase in available Eu code, turnover in development time of both the code resources and Eu itself. All of this means less work for us building and maintaining the tools we need to create the applications we want. As a sort of obscure example. I've been working for a long time on trying to fully automate the process of wrapping dlls using the header files because I KNOW that the Eu community will NEVER even come close to being able to wrap every dll I need/want to use, plus there needs to be a standardized method of creating wrappers. We don't even have a proper port of the win32 headers yet. The point is two-fold, with more participants, this issue would be less pressing, because the major things would very likely be taken care of already. Also with more particpants, it's likely that someone else would have been successful at implementing such a tool for us by now. Lest we forget, there is but a handful of people who are willing and capable of implementing whatever features we come up with, so what YOU want really doesn't matter. Be pragmatic, not emotional. I also suggest that this discussion should turn it's focus on WHAT exactly needs improvement first. Nevermind how. Does eu need structured sequences? I say yes Does eu need oop functionality? I say yes Perhaps before even answering those questions we should ask ourselves what is Eu's purpose? Other than the obvious "it's for programming", what kind of programming and what kind of programmers? Chris Bensler ~ The difference between ordinary and extraordinary is that little extra ~ http://empire.iwireweb.com - Empire for Euphoria