On Tue, 12 Jun 2001, Mathieu Bouchard wrote: > Choice[foo,bar,baz] > UnionType[foo,bar,baz] > ListType[foo] > TupleType.of [foo,tfoo],[bar,tbar],[baz,tbaz] I don't really understand what the choices, unions, lists and tuples are doing, but the above appears to be the syntax that seems to be the most common. Could I suggest: Choice[foo,bar,baz] Union[foo,bar,baz] List[foo] Tuple[foo,tfoo,bar,tbar,baz,tbaz] (presuming they're always paired) Tuple[[foo,tfoo],[bar,tbar],[baz,tbaz]] (if they're not) if that's feasible? Here's some of my reasoning, so you know where I'm going wrong... > choice foo,bar,baz (current RubyAST,RubyX11) 'choice' would need to be a function call in the same namespace as the program being written. I hate ncurses for that reason. > ChoiceType.new foo,bar,baz Reasonable, but I already know it's a Type. > ChoiceType.of foo,bar,baz The 'of' is a nice idea to make it read well, but it's different and I would have to remember it. > ChoiceType[foo,bar,baz] The same as "Hash[]" so familar through previous usage. Also suits the list-like nature of foo,bar,baz. But I already know it's a Type. > Choice.new foo,bar,baz Better. > Choice.of foo,bar,baz My brainspace is very limited. I can remember 'new' even though it doesn't look as nice. :) > Choice[foo,bar,baz] This is better. All the benefits of ChoiceType[], without telling me that it's a Type (which I already knew). Hopefully this could be within another namespace like: RubyAST::Choice[foo,bar,baz] so I can have that nice warm glow of knowing that I don't have to memorise more words I can't use when thinking of names for my stuff. I already have enough trouble with the existing words. Maybe this is totally dumb, but that's me. :) -- spwhite / chariot.net.au