Q: MMD and non PMC value (was: keyed vtables and mmd)

2004-05-01 Thread Leopold Toetsch
Dan Sugalski [EMAIL PROTECTED] wrote: ... And... we move *all* the operator functions out of the vtable and into the MMD system. All of it. This *all* includes vtable functions like add_int() or add_float() too, I presume. For these we have left argument dispatch only. But what is the right

Re: Bit ops on strings

2004-05-01 Thread Jarkko Hietaniemi
The bitshift operations on S-register contents are valid, so long as the thing hanging off the register support it. Binary data ought allow this. Most 8-bit string encodings will have to support it whether it's a good idea or not, since you can do it now. If Jarkko tells me you can do

RE: Bit ops on strings

2004-05-01 Thread Bryan C. Warnock
On Fri, 2004-04-30 at 13:53, Dan Sugalski wrote: Parrot, at the very low levels, makes no distinction between strings and buffers--as far as it's concerned they're the same thing, and either can hang off an S register. (Ultimately, when *I* talk of strings I mean A thing I can hang off an S

RE: Bit ops on strings

2004-05-01 Thread Bryan C. Warnock
On Fri, 2004-04-30 at 15:34, Dan Sugalski wrote: If you want, you could think of the S-register strings as mini-PMCs. The encoding and charset stuff (we'll ignore language semantics for the moment) are essentially small vtables that hang off the string, and whatever we do with it mostly

MMD syntax in PMCs (was: keyed vtables and mmd)

2004-05-01 Thread Leopold Toetsch
Dan Sugalski [EMAIL PROTECTED] wrote: ... We rework the current pmc processor to take the entries that are getting tossed and automatically add them to the MMD tables on PMC load instead. I've now implemented MMD for PerlInt's bitwise_xor as a test case. Syntax looks like this: void

Re: Bit ops on strings

2004-05-01 Thread Aaron Sherman
On Sat, 2004-05-01 at 04:57, Jarkko Hietaniemi wrote: If Jarkko tells me you can do bitwise operations with unicode text now in Perl 5, well... we'll support it there, too, though we shan't like it at all. We can and I don't like it at all [...] None of it anything I want to

Re: Bit ops on strings

2004-05-01 Thread Jarkko Hietaniemi
So it seems to me that the obvious way to go is to have all bit-s operations first convert to raw bytes (possibly throwing an exception) and then proceed to do their work. If these conversions croak if there are code points beyond \x{ff}, I'm fine with it. But trying to mix \x{100} or

Re: Bit ops on strings

2004-05-01 Thread Aaron Sherman
On Sat, 2004-05-01 at 11:26, Jarkko Hietaniemi wrote: As for codepoints outside of \x00-\xff, I vote exception. I don't think there's any other logical choice, but I think it's just an encoding conversion exception, not a special bit-op exception (that's arm-waving, I have not looked at Parrot's

Re: MMD performance

2004-05-01 Thread Leopold Toetsch
Leopold Toetsch [EMAIL PROTECTED] wrote: [ another MMD performance compare ] Just an update. Last benchmark still called MMD via the vtable. Here is now a compare of calling MMD from the run loop: $ parrot -C mmd-bench.imc vtbl add PerlInt PerlInt 1.072931 vtbl add PerlInt Integer 1.085116

Re: Bit ops on strings

2004-05-01 Thread Jeff Clites
On May 1, 2004, at 8:26 AM, Jarkko Hietaniemi wrote: So it seems to me that the obvious way to go is to have all bit-s operations first convert to raw bytes (possibly throwing an exception) and then proceed to do their work. If these conversions croak if there are code points beyond \x{ff}, I'm

Re: Bit ops on strings

2004-05-01 Thread Aaron Sherman
On Sat, 2004-05-01 at 14:18, Jeff Clites wrote: On May 1, 2004, at 8:26 AM, Jarkko Hietaniemi wrote: Just FYI, the way I implemented bitwise-not so far, was to bitwise-not code points 0x{00}-0x{FF} as uint8-sized things, 0x{100}-0x{} as uint16-sized things, and 0x{} as uint32-sized

Re: Bit ops on strings

2004-05-01 Thread Jarkko Hietaniemi
How are you defining valid UTF-8? Is there a codepoint in UTF-8 between \x00 and \xff that isn't valid? Is there a reason to ever do Like, half of them? \x80 .. \xff are all invalid as UTF-8. bitwise operations on anything other than 8-bit codepoints? I am very confused. THIS IS WHAT WE

Re: Bit ops on strings

2004-05-01 Thread Jeff Clites
On May 1, 2004, at 12:00 PM, Aaron Sherman wrote: On Sat, 2004-05-01 at 14:18, Jeff Clites wrote: Exactly. And also realize that if you bitwise-not (or shift or something similar) the bytes of a UTF-8 serialization of something, the result isn't going to be valid UTF-8, so you'd be hard-pressed

[perl #29299] [PATCH] MSWin32 Fix spawn stdout handling and PerlNum.get_string()

2004-05-01 Thread via RT
# New Ticket Created by Ron Blaschke # Please include the string: [perl #29299] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=29299 spawn on win32 should inherit the filehandles to the child process, because the

Re: Win32 build fails on src\interpreter.str

2004-05-01 Thread Ron Blaschke
On Tue, 27 Apr 2004 10:09:43 +0200, Leopold Toetsch wrote: Does anyone need the Edit and Continue feature? If yes, it can be easily turned on in the local Makefile. Just a final remark that just popped up: Since parrot doesn't compile with -ZI (because of __LINE__), it would make little sense

[perl #29300] [PATCH] MSWin32 passing libnci.def to linker

2004-05-01 Thread via RT
# New Ticket Created by Ron Blaschke # Please include the string: [perl #29300] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=29300 link needs to be told that libnci.def is a module definition file, via the -def:

[perl #29302] [PATCH] Invalid HTML doc links for Win32 Firefox

2004-05-01 Thread via RT
# New Ticket Created by Philip Taylor # Please include the string: [perl #29302] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=29302 On a Windows system, File::Spec returns paths with backslashes. The HTML

Re: Outstanding parrot issues?

2004-05-01 Thread Arthur Bergman
On 30 Apr 2004, at 12:54, Leopold Toetsch wrote: ... Would it be possible for parrot to provide an embedder's interface to all the (exported) functions that checks whether the stack top pointer is set, and if not (ie NULL) it pulls the address of a local variable in it This doesn't work: {

Re: Outstanding parrot issues?

2004-05-01 Thread Arthur Bergman
On 30 Apr 2004, at 19:30, Leopold Toetsch wrote: Like it or not DOD/GC has different impacts on the embedder. Above rules are simple. There is no when the PMC isn't used any more decrement a refcount and when you do that and that then icnrement a refcount or some such like in XS. This is really

Re: Outstanding parrot issues?

2004-05-01 Thread Brent 'Dax' Royal-Gordon
Arthur Bergman wrote: I am now going to be impolite. Meh... Leo: There are some embedding applications where it's simply not possible to get the top of the stack. For example, let's say I want to write a Parrot::Interp module for Perl 5 (on a non-Ponie core): my $i=new Parrot::Interp;

Re: Bit ops on strings

2004-05-01 Thread Andrew E Switala
It's been said that what the masses think of as binary data is outside the concept of a string, and this lurker just don't see that. A binary string is string over a character set of size two, just like an ASCII string is a string over a character set of size 128. [Like character strings,

Re: Bit ops on strings

2004-05-01 Thread Aaron Sherman
On Sat, 2004-05-01 at 15:09, Jarkko Hietaniemi wrote: How are you defining valid UTF-8? Is there a codepoint in UTF-8 between \x00 and \xff that isn't valid? Is there a reason to ever do Like, half of them? \x80 .. \xff are all invalid as UTF-8. Heh, damn Ken Thompson and his placemat! I

Re: Strings Manifesto

2004-05-01 Thread Jeff Clites
[Finishing this discussion on p6i, since it began here.] On Apr 28, 2004, at 5:05 PM, Larry Wall wrote: On Wed, Apr 28, 2004 at 03:30:07PM -0700, Jeff Clites wrote: : Outside. Conceptually, JPEG isn't a string any more than an XML : document is an MP3. I'm not vehemently opposed to redefining

Re: Outstanding parrot issues?

2004-05-01 Thread Leopold Toetsch
Arthur Bergman [EMAIL PROTECTED] wrote: THERE ARE CASES Arthur, please let's quietly talk about possible issues. Many libraries that you want to use, demand that you call The_lib_init(bla). This isn't inappropriate, it's a rule. (dot). Parrot is GC based. (dot). This imposes different

Re: Outstanding parrot issues?

2004-05-01 Thread Leopold Toetsch
Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] wrote: Arthur Bergman wrote: I am now going to be impolite. Meh... Leo: There are some embedding applications where it's simply not possible to get the top of the stack. Not possible, or some of ... just don't like that ;) write a Parrot::Interp

Re: Outstanding parrot issues?

2004-05-01 Thread Arthur Bergman
On 2 May 2004, at 00:20, Leopold Toetsch wrote: Arthur Bergman [EMAIL PROTECTED] wrote: THERE ARE CASES Arthur, please let's quietly talk about possible issues. Many libraries that you want to use, demand that you call The_lib_init(bla). This isn't inappropriate, it's a rule. (dot). Parrot is