Re: Eu Improvements consolidation
- Posted by Matt Lewis <matthewwalkerlewis at gmail.com> Jan 05, 2007
- 599 views
Jason Gade wrote: > > Karl Bochert wrote: > > > > > > The 'fixed sequence': > > 1) has named elements > > 2) cannot have its structure modified > > 3) contains only data (like any other sequence) > > 4) may be put in another sequence without losing its > > identity (like any other data) > > > > KtB > > One thing I've been trying to point out is the Matt's ooeu does this but the > syntax is a little different. Matt would have to answer if it fits all four > of your criteria but I believe that it at least follows the first three. I don't cover 2 or 3, and 4 is maintained only if you put it into another class into a member of the appropriate type. I was more interested in the functionality than strict type checking. Being able to have control over the data is one reason why I like Euphoria, and to do those things would have taken a lot more effort than what I did. :) > > > > This creates a user defined type by restricting the types in a sequence, > > much as Eu's 'type' creates a user defined type by restricting the > > values of an existing type. > > > > The sequences 'x' and 'y' are simply created as exact duplicates of the > > sequence 'point', values and all. > > > > We can now create complex sequences whose elements are named(documented) > > and enforced(fewer bugs). > > > > KtB > > ooeu handles the first part, I'm not sure about runtime type checking. I can't > find it in the ooeu docs. Again, it's a question for Matt. I don't have this feature, basically for the reason mentioned above. > > I'm not going to quote part four. I didn't really understand the post (even > though I understand PBR) so I'll need to read it a few times. > > Just as a note: ooeu has var_id() which works like routine_id(). You can grab > the id of a variable and modify it directly so you can do PBR. But it's more > like pointers than automatic. That's a good point. There are actually two types of PBR in ooeu, once you consider var_id's. Matt