On Thu, 2004-04-15 at 23:13, Dan Sugalski wrote: > Nah, that turns out not to be the case. It's my plan, and it's > reasonable to say I'm OK with it. :) While I'd prefer to have > everyone agree, I can live with it if people don't.
Perhaps, as usual, I've been too verbose and everyone just skipped over what I thought were useful questions, but I came into this thinking "I must just not get it"... now I'm left with the feeling that there are some basic questions no one is asking here. Don't respond to this message, but please keep these questions in mind as you start to implement... whatever it is that you're going to implement for this. 1. People have referred to comparing names, but most of the things that make comparing names hard exist with respect to NAMES, and not arbitrary strings (e.g. "McLean" is very different from substr("358dsMcLeannbv35d",5,6).... That is not something that attaching metadata to a string is likely to resolve. 2. There is no universal interchange rule-set (that I have ever heard of) for operating on sequences of characters with respect to two or more different languages at once, you have to pick a language's (or culture's) rules to use, otherwise you are comparing (or operating on) apples and oranges. 3. In any given comparison type operation, one side's rules will have to become dominant for that operation. Woefully, you have no realistic way to decide this at run-time (e.g. because going with LHS-wins would result in sorts potentially getting C<($a cmp $b) == 1> and C<($b cmp $a) == 1> which can result in infinite sort times. 4. Given 1..3, you will probably have to implement some kind of language "context" system (in most languages, this is handled by locale) at some point, and it may need to take priority over the language property of the strings that it operates on in certain cases. 5. Given 4, all unary operators become, for example, { set_current_locale($s.langauge); uc($s.data) } Which is, after all what most languages do anyway, but they keep that language information as a piece of global state. Allowing just for lexical scoping of such things would be very nice. 6. Separate from 1..5, language is an interesting property to associate with strings, but so are a vast number of other properties. Why are all of them second class citizens WRT parrot, but not language? Why not build a class one level of abstraction above raw strings which can bear arbitrary properties? 7. Which programming language does Parrot wish to host which requires unique language tagging of all string data? Would this perhaps be better left for a 2.0 feature, once the needs of the client languages are better understood? Ok, that's my peace. Thanks for taking the time. I'll be over here watching now. > easier and less controvertial things (like, say, threads or events) first. Hah! That's rich! -- Aaron Sherman <[EMAIL PROTECTED]> Senior Systems Engineer and Toolsmith "It's the sound of a satellite saying, 'get me down!'" -Shriekback
signature.asc
Description: This is a digitally signed message part