Simon --

> > I may be misunderstanding, but I think 'strnative' needs to go away
> > and we need to determine the precise native encoding,
> 
> Please don't apply this; I think you are misunderstanding.
> strnative is equivalent to LANG=C. It *is* the precise native
> encoding.

No problem. I wasn't planning on committing it. I was just using it
as an illustration.

I'm going to elaborate a little, because I'm not sure I made clear
what was bugging me. I'll just beg a little lattitude. I'll also
go re-read the parrot string docs to see if that helps. But, in
the mean time...


Its still likely that I'm misunderstanding the intent, but I think
that a .pbc file created by me with LANG=C is not necessarily going
to generate string constants that have the same meaning when you go
to run it on your platform of choice, which sounds bad to me.

I guess I'm having trouble getting my brain around this being one
piece of information. I think its two:

  1. The interpreter's native string encoding, being whatever was
     convenient for the interpreter writer. In our case, we're
     writing the interpreter in C, and C has an idea of what its
     character encoding is, and hopefully we'll at some point
     be able to determine that it is ISO8859-1 or whatever.

     NOTE: I'm assuming that since string encodings are part of
     the abstract definition of Parrot, and that nothing says
     all implementations of Parrot must be in C, we have to avoid
     C-isms in the Parrot *definition* even though we are going
     to turn right around and use C-isms in the *implementation*.

  2. The encoding for the chunk-o-memory the interpreter is about
     to turn into a STRING, having found said chunk in the packfile's
     const_table.

I'm not denying that there *is* a native encoding, but I think
*calling* it "native" vs. calling it by its actual name (such as
"iso8859-1", or whatever is detected/configured), isn't helpful
when someone on another platform goes to read your .pbc file.

And, I think a STRING should never say "I'm a native string". It
should say "I'm an ISO8859-1 string", and the interpreter should
say "aha! that's my native encoding; cool." or "ok. That's not my
native encoding; I'd better go load up support for it...".


Regards,

-- Gregor
 _____________________________________________________________________ 
/     perl -e 'srand(-2091643526); print chr rand 90 for (0..4)'      \

   Gregor N. Purdy                          [EMAIL PROTECTED]
   Focus Research, Inc.                http://www.focusresearch.com/
   8080 Beckett Center Drive #203                   513-860-3570 vox
   West Chester, OH 45069                           513-860-3579 fax
\_____________________________________________________________________/

Reply via email to