Re: threads and shared interpreter data structures

2003-12-23 Thread Elizabeth Mattijsen
At 14:16 -0500 12/22/03, Dan Sugalski wrote: At 8:05 PM +0100 12/22/03, Elizabeth Mattijsen wrote: In Perl 5, the sharedness of a variable can be determined at run-time. Leo's mentioned that a PMC will never change its address during its lifetime. Can these two requirements be met if there

Re: Threads

2003-12-23 Thread Elizabeth Mattijsen
At 19:03 -0500 12/22/03, Melvin Smith wrote: At 11:59 PM 12/22/2003 +0100, Elizabeth Mattijsen wrote: events or whatever, are an integral part of the system. What Perl, Python and Ruby programs do now, should carry less weight than what all of these systems, and who knows what other languages

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Jonathan Worthington [EMAIL PROTECTED] wrote: Hi, I was looking over the WinXP Service Pack 2 Changes to functionality document, which you can get here:- http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechn ol/winxppro/maintain/winxpsp2.asp (download available in

Re: Threads

2003-12-23 Thread Leopold Toetsch
Dan Sugalski [EMAIL PROTECTED] wrote: At 10:09 PM +0100 12/22/03, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: 8) We're probably going to have to rejig the string functions some, Can you elaborate on that a bit more? Strings are (as any other managed parrot resources) living

Re: ParrotIO array

2003-12-23 Thread Leopold Toetsch
Pete Lomax [EMAIL PROTECTED] wrote: I've opened a few files, using P0, and saved a copy of P0 in P4[n]. I was planning on chucking say 0 or -1 in P4[n] when I closed the file, but it won't let me do this. (set_integer_native not implemented in class parrotIO) I hope there is something planned

Re: threads and shared interpreter data structures

2003-12-23 Thread Leopold Toetsch
Elizabeth Mattijsen [EMAIL PROTECTED] wrote: At 14:16 -0500 12/22/03, Dan Sugalski wrote: Yes. Making a PMC shared can be as simple as swapping out the vtable pointer in the PMC structure--no need to move it around at all. (Or, worst case, turning the PMC into a reference PMC for the actual PMC,

Re: threads and shared interpreter data structures

2003-12-23 Thread Elizabeth Mattijsen
At 10:37 +0100 12/23/03, Leopold Toetsch wrote: 2) the Perl5ish declaration my $var : shared; is basically: $P0 = new SharedPerlUndef; OTOH: share($var); may need to morph $var into a shared reference, with an additional indirection and memory overhead. (I don't

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Peter Gibbs
Leopold Toetsch wrote: JIT code is run in malloc'ed memory (s. jit.c:1026) as well as JITted NCI stubs. We already have some system specific stuff for JIT (some architectures need a page flush before execution). So best would be to use a set of spcialized function, e.g.: -

Re: threads and shared interpreter data structures

2003-12-23 Thread Dave Mitchell
On Tue, Dec 23, 2003 at 11:07:53AM +0100, Elizabeth Mattijsen wrote: At 10:37 +0100 12/23/03, Leopold Toetsch wrote: 2) the Perl5ish declaration my $var : shared; is basically: $P0 = new SharedPerlUndef; OTOH: share($var); may need to morph $var into a

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Peter Gibbs [EMAIL PROTECTED] wrote: Leopold Toetsch wrote: JIT code is run in malloc'ed memory (s. jit.c:1026) as well as JITted NCI stubs. We already have some system specific stuff for JIT (some architectures need a page flush before execution). So best would be to use a set of

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Vladimir Lipsky
Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating memory from a JIT dedicated heap with execute flas set on it, no matter the presence of

[WANTED] Configure tweaks

2003-12-23 Thread Leopold Toetsch
We would need some config improvements: 1) Integer divide by zero - does the platform generate SIGFPE - a config variable for the result Then (beyond config) - if yes: enable signal handler for SIGFPE - if no: wrap integer divide/modulo ops into a checking wrapper, that throws an

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Peter Gibbs
Leopold Toetsch wrote: So we need: 1) a config test/option/whatever (e.g. mallocing some mem, fill in a ret instruction and call that. 2) Some means to allocate executable memory. Could you please have a look at fedora (kernel) docs? There are two ways to flag memory as executable: 1) A

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Vladimir Lipsky [EMAIL PROTECTED] wrote: Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating memory from a JIT dedicated heap with execute

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Leopold Toetsch
Peter Gibbs [EMAIL PROTECTED] wrote: Leopold Toetsch wrote: So we need: 1) a config test/option/whatever (e.g. mallocing some mem, fill in a ret instruction and call that. 2) Some means to allocate executable memory. Could you please have a look at fedora (kernel) docs? There are two

Re: Fwd: Python running fast on .NET

2003-12-23 Thread Dan Sugalski
At 2:28 PM -0800 12/22/03, Joe Wilson wrote: Grotty bits? Can you be more specific? What Python features or idioms do you believe Parrot will run faster than the CLR? Amongst other things, python allows for dynamic addition and deletion of object attributes (or what we're calling

Re: Licenses and library code

2003-12-23 Thread Dan Sugalski
At 12:15 AM + 12/23/03, Harry Jackson wrote: Dan Sugalski wrote: We're starting to check in library code, which brings up the annoying issue of licensing. Since we haven't been able to go the easy (i.e. all public domain) route for parrot we need to deal with this. The license on Parrot

Re: [perl #24682] [BUG] parrot compile fails on MacOS 10.3.1 - possibly dynaloading patch?

2003-12-23 Thread Dan Sugalski
At 10:24 PM -0800 12/22/03, Jeff Clites wrote: On Dec 22, 2003, at 6:57 AM, Dan Sugalski wrote: At 11:44 AM -0800 12/20/03, Jeff Clites wrote: On Dec 20, 2003, at 1:54 AM, Leopold Toetsch wrote: Jeff Clites [EMAIL PROTECTED] wrote: The issue turns out to be that SIGFPE isn't raised on Mac OS X

Re: ParrotIO array

2003-12-23 Thread Pete Lomax
On Tue, 23 Dec 2003 09:16:45 +0100, Leopold Toetsch [EMAIL PROTECTED] wrote: Pete Lomax [EMAIL PROTECTED] wrote: I've opened a few files, using P0, and saved a copy of P0 in P4[n]. I was planning on chucking say 0 or -1 in P4[n] when I closed the file, but it won't let me do this.

Re: Threads

2003-12-23 Thread Melvin Smith
At 10:07 AM 12/23/2003 +0100, Elizabeth Mattijsen wrote: I think I agree with you in spirit, that we should have high expectations for Parrot and hopefully make the scripting languages that we are running more realistic as all-around programming languages. Eh, I think you should cross out the

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Vladimir Lipsky [EMAIL PROTECTED] wrote: Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating

Re: threads and shared interpreter data structures

2003-12-23 Thread Dan Sugalski
At 9:49 AM +0100 12/23/03, Elizabeth Mattijsen wrote: At 14:16 -0500 12/22/03, Dan Sugalski wrote: At 8:05 PM +0100 12/22/03, Elizabeth Mattijsen wrote: In Perl 5, the sharedness of a variable can be determined at run-time. Leo's mentioned that a PMC will never change its address during its

Re: Threads

2003-12-23 Thread Dan Sugalski
At 10:06 AM +0100 12/23/03, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: At 10:09 PM +0100 12/22/03, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: 8) We're probably going to have to rejig the string functions some, Can you elaborate on that a bit more? Strings

Re: Licenses and library code

2003-12-23 Thread Todd Olson
At 09:44 -0500 2003/12/23, Dan Sugalski wrote: Yep, as well as in the LICENSE file in the main directory, and a couple of other places. I should probably put together a cron job to mail off a monthly reminder to the list as well, but that might be a bit of overkill. In view of SCO's recent

Re: but true

2003-12-23 Thread Piers Cawley
Larry Wall [EMAIL PROTECTED] writes: On Fri, Dec 19, 2003 at 10:36:01AM -0600, Adam D. Lopresto wrote: : I've been trying to follow the recent discussion on roles and : properties and traits and such, but there's something that bugs : me. If I understand correctly, adding a role at runtime

When is enough too much?

2003-12-23 Thread Dan Sugalski
I'm pondering, once again, more things with the Postgres interface. In this case I need to pass in arrays of ints (and floats, I suppose) and arrays of char pointers. My first thought is to have a new type that converts an Array (or something like it) to a C array, either of ints or char

Re: threads and shared interpreter data structures

2003-12-23 Thread Rod Adams
Dan Sugalski wrote: They'll live. Python and Ruby both have a single global interpreter lock and nobody much cares. People won't move to parrot because of signal or thread support, or because we give them a cookie. People will move to parrot because it runs perl 6, or because it gives them

Re: When is enough too much?

2003-12-23 Thread Uri Guttman
DS == Dan Sugalski [EMAIL PROTECTED] writes: I'm pondering, once again, more things with the Postgres interface. In this case I need to pass in arrays of ints (and floats, I suppose) and arrays of char pointers. My first thought is to have a new type that converts an Array (or

Re: threads and shared interpreter data structures

2003-12-23 Thread Uri Guttman
RA == Rod Adams [EMAIL PROTECTED] writes: A major use of many languages these days is web services. In the parrot world, I see three possible ways for this to happen. - CGI/Exec. No problem to make parrot work, but the performance issues with this are well known. - mod_parrot.

Re: When is enough too much?

2003-12-23 Thread Simon Glover
On Tue, 23 Dec 2003, Dan Sugalski wrote: I'm pondering, once again, more things with the Postgres interface. In this case I need to pass in arrays of ints (and floats, I suppose) and arrays of char pointers. My first thought is to have a new type that converts an Array (or something like

Re: threads and shared interpreter data structures

2003-12-23 Thread Simon Glover
On Tue, 23 Dec 2003, Uri Guttman wrote: RA == Rod Adams [EMAIL PROTECTED] writes: A major use of many languages these days is web services. In the parrot world, I see three possible ways for this to happen. - CGI/Exec. No problem to make parrot work, but the performance issues

Re: threads and shared interpreter data structures

2003-12-23 Thread Rod Adams
Uri Guttman wrote: RA == Rod Adams [EMAIL PROTECTED] writes: that is not the only way as i have pointed out. it is just a way that is promoted heavily (like java). events if done correctly are generaly faster than threads and use much less ram (no stack context created for each thread). and

Re: When is enough too much?

2003-12-23 Thread Dan Sugalski
At 6:07 PM -0500 12/23/03, Simon Glover wrote: On Tue, 23 Dec 2003, Dan Sugalski wrote: I'm pondering, once again, more things with the Postgres interface. In this case I need to pass in arrays of ints (and floats, I suppose) and arrays of char pointers. My first thought is to have a new type

Re: threads and shared interpreter data structures

2003-12-23 Thread Dan Sugalski
At 3:54 PM -0600 12/23/03, Rod Adams wrote: Dan Sugalski wrote: They'll live. Python and Ruby both have a single global interpreter lock and nobody much cares. People won't move to parrot because of signal or thread support, or because we give them a cookie. People will move to parrot because

Re: When is enough too much?

2003-12-23 Thread Simon Glover
On Tue, 23 Dec 2003, Dan Sugalski wrote: At 6:07 PM -0500 12/23/03, Simon Glover wrote: On Tue, 23 Dec 2003, Dan Sugalski wrote: I'm pondering, once again, more things with the Postgres interface. In this case I need to pass in arrays of ints (and floats, I suppose) and arrays of

Re: When is enough too much?

2003-12-23 Thread Uri Guttman
DS == Dan Sugalski [EMAIL PROTECTED] writes: Speaking personally, being able to automatically convert a Parrot array to an array of ints or floats would be very useful, but that's because I do fairly hard-core number crunching in my day job. What are the arguments againtst putting

Re: When is enough too much?

2003-12-23 Thread Dan Sugalski
At 6:45 PM -0500 12/23/03, Simon Glover wrote: On Tue, 23 Dec 2003, Dan Sugalski wrote: At 6:07 PM -0500 12/23/03, Simon Glover wrote: On Tue, 23 Dec 2003, Dan Sugalski wrote: I'm pondering, once again, more things with the Postgres interface. In this case I need to pass in arrays of

Re: threads and shared interpreter data structures

2003-12-23 Thread Dan Sugalski
At 6:15 PM -0500 12/23/03, Simon Glover wrote: On Tue, 23 Dec 2003, Uri Guttman wrote: RA == Rod Adams [EMAIL PROTECTED] writes: A major use of many languages these days is web services. In the parrot world, I see three possible ways for this to happen. - CGI/Exec. No problem to

Threads and Events (was Re: threads and shared interpreter data structures)

2003-12-23 Thread Rod Adams
Uri Guttman wrote: RA == Rod Adams [EMAIL PROTECTED] writes: Except then the client wanted it to work under Win32, where I've never trusted any of the pseudo-forks that perl did (esp with Network I/O going on). So I rewrote the whole thing in a language that supported threads. other than the fork

Re: but true

2003-12-23 Thread Larry Wall
On Tue, Dec 23, 2003 at 07:46:56PM +, Piers Cawley wrote: : Will this approach allow for the removal of a property? (I'm currently : stuck for a suggested syntax...) If a property is an enumified sort of role, then in general you don't disable a property by removing it, but by setting the

Re: Perl 6 using Perl 5 modules

2003-12-23 Thread Larry Wall
On Sun, Dec 21, 2003 at 04:55:28AM -, PerlDiscuss - Perl Newsgroups and mailing lists wrote: : When the official release of Perl 6 is released and I start to write some : Perl 6 programs using Perl 5 modules, will I get any errors? How will this : be handled? Will all of the Perl 5 modules

Re: When is enough too much?

2003-12-23 Thread Jeff Clites
On Dec 23, 2003, at 4:08 PM, Uri Guttman wrote: DS == Dan Sugalski [EMAIL PROTECTED] writes: Speaking personally, being able to automatically convert a Parrot array to an array of ints or floats would be very useful, but that's because I do fairly hard-core number crunching in my day job. What

Re: When is enough too much?

2003-12-23 Thread Uri Guttman
JC == Jeff Clites [EMAIL PROTECTED] writes: On Dec 23, 2003, at 4:08 PM, Uri Guttman wrote: but it is (just about) one time only work and will save tons of repeated tricky work down the line for those who will embed c libs in parrot. the richer this api is, the less problems for the

Re: When is enough too much?

2003-12-23 Thread Luke Palmer
Uri Guttman writes: good point. but we definitely would want arrays supported with all three scalar types and in both directions. in fact, if we just look at what swig (and other similar projects) is able to do we can make that stuff easier as well. i recall a minor nightmare when we tried to

Re: threads and shared interpreter data structures

2003-12-23 Thread Robert Spier
At Tue, 23 Dec 2003 14:23:45 -0500, Dan Sugalski wrote: It's that last thing I'm worried about. That all thread related things in Parrot are forced to use an extra indirection and consequent performance penalty. They'll live. Python and Ruby both have a single global interpreter lock

Re: Fwd: Python running fast on .NET

2003-12-23 Thread Joe Wilson
In order to get the 20x speed gain you seek I assume that Parrot would have to perform some sort of variable type inference to distinguish, for example, when a scalar is really just an integer and use an integer register. Otherwise, the PMCs in Parrot would perform much the same as the Python

Re: For info only, open/read broken on 3/12 pow build

2003-12-23 Thread Pete Lomax
On Tue, 23 Dec 2003 19:28:30 -, Jonathan Worthington [EMAIL PROTECTED] wrote: - Original Message - From: Pete Lomax [EMAIL PROTECTED] To: Jonathan Worthington [EMAIL PROTECTED] Sent: Tuesday, December 23, 2003 6:59 PM Subject: Re: For info only, open/read broken on 3/12 pow build