Re: A thought for later -- POD tables

2004-08-21 Thread Luke Palmer
Aaron Sherman writes:
 Larry Wall wrote:
 
$_  $xType of Match ImpliedMatching Code
==  = ==
Any Code$   scalar sub truth match if $x($_)
 
 This bit of POD made me think about POD's lack of tabular formatting, 

What?  I see a table.  What lack?  It looks an awful lot more like a
table to me than:

   H C$_ | C$x  | Type of Match Implied | Matching Code  
  T Any   | CodeC $  | scalar sub truth  | match if C$x($_) 

does.  There are many great things about POD, and this is one of them.
Okay, so I want a table in my docs.  I don't want to read perlpod to
figure out how to write a table.  I just write my table and it works as
long as I indent.  Sure, it won't be as pretty when it gets turned into
HTML or LaTeX, but the point is, that it's readable when it gets there
in any case.  

The point of documentation isn't to be pretty, it's to be descriptive.
Another great thing about POD is that it doesn't let you be pretty
unless you're a brilliant ASCII artist.  And then you can focus on your
content rather than your look.  Excuse me, you Ihave to focus on your
content rather than your look.

I've already had my epiphany about POD, though, so I'll spare doing it
again.  In short, there are two things that I see about POD that need to
change:

=over

=item 1) 

C=directive lines shouldn't have to be in their own paragraph, in
order to condense lists and make them more readable from POD source.

=item 2)

(The one that has been made clear several times) When an =end foo closes
a =begin foo that opened the POD section, the =end should close the POD
section.

=back

No tables.  Keep the number of things that I can distract myself with
when I should be writing documentation down to a clean 565.  I don't
need 566.

Luke


Re: A thought for later -- POD tables

2004-08-21 Thread Larry Wall
On Sat, Aug 21, 2004 at 12:03:10AM -0600, Luke Palmer wrote:
: I've already had my epiphany about POD, though, so I'll spare doing it
: again.  In short, there are two things that I see about POD that need to
: change:
: 
: =over
: 
: =item 1) 
: 
: C=directive lines shouldn't have to be in their own paragraph, in
: order to condense lists and make them more readable from POD source.

Yes, I plan to bless that one, though I don't think I've said it publicly.

: =item 2)
: 
: (The one that has been made clear several times) When an =end foo closes
: a =begin foo that opened the POD section, the =end should close the POD
: section.

Likewise a bare =for in the middle of Perl code should revert to Perl code
at the end.

: No tables.  Keep the number of things that I can distract myself with
: when I should be writing documentation down to a clean 565.  I don't
: need 566.

However.  It's possible to make really clean pod tables by processing
verbatim lines as tab-separated values.  We did the tables in Camel
3 that way, though it took a special preprocessor/postprocessor that
understood C=begin table and C=end table, and also understood that
lines consisting of all  fields are special, and that consecutive
verbatim paragraphs are part of the same table.  The main trick is to
split not on /\t/ but on /\t+/.  That way you can use multiple tabs
to keep your columns aligned.  The main downside is sometimes your
tables get too wide for 80 columns.  A secondary downside is that
people's formatting gets off when they quote your table in email.
I think our table processor also allowed a bit of font modification,
which verbatim paragraphs don't normally allow.  That was a necessary
luxury in our case.

But you can make some rather pretty POD tables that actually have enough
information to keep the columns straight.

Larry

Larry


Re: A thought for later -- POD tables

2004-08-21 Thread Aaron Sherman
L:uke, just a note before I reply to you specifically: I understand your 
concerns, and I have no interest in blurring the line between 
presentation and markup, which I think ultimately is where your concern 
comes from. In fact, if you re-read what I wrote (and what I write 
below), you'll see that I take great pains to make sure that that's not 
the case.

Luke Palmer wrote:
I don't want to read perlpod to
figure out how to write a table.
Well then don't. No one is prying ASCII-art tables out of your hands here.
I just write my table and it works as
long as I indent.  Sure, it won't be as pretty when it gets turned into
HTML or LaTeX, but the point is, that it's readable when it gets there
in any case.  

The point of documentation isn't to be pretty
Pretty is not the issue. The issue is markup.
If, for example, I happen to be blind, and I'm reading Perl 
documentation via a text-to-speech program, it may well know how to take 
an HTML document and read a table to me in some reasonable way, but if 
you hand it a pre-formatted block of text that is supposed to LOOK like 
a table, I'm pretty (no pun intended) much SOL.

Ok, so that's an extreme example (though, I have a mostly blind friend 
who might not think so). How about the simple fact that S4 is supposed 
to be a living document, but if Larry wants to change that table, he 
has to go in and re-hand-format that entire ASCII-art picture of it! I 
know that I've avoided making changes to tables in my documentation at 
work for EXACTLY that reason. If you have a table markup, then you can 
add or remove a column with minimal pain.

If you just wanted to draw your documentation using ASCII-art, then 
there would be no need for POD at all. You would simply write plain 
text. The point behind POD was to make writing documentation for diverse 
markup systems more reasonable. Such markup systems all have the ability 
to format a table, so why exactly would you not want to take advantage 
of that? What happens when Larry w

Also, you pointed out that my example was hard to read, but you only 
pointed out the particularly complex example (where I WANTED to 
demonstrate all of the complex cases), not the simple one. The general 
case would probably look like:

   H Function | Returns 
   T foo  | nothing 
   T bar  | a number between 1 and 1000 
   T baz  | your program as a string 
That's certainly no harder to read than an ASCII-art table, and provides 
you with many more options in terms of presentation, accessibility and 
the ability to post-process the documentation (e.g. to extract 
information in an automated way).



Re: incremental garbage collection 1/2

2004-08-21 Thread Leopold Toetsch
André Pang [EMAIL PROTECTED] wrote:
 On 21/08/2004, at 5:48 AM, Leopold Toetsch wrote:

 3) The copying collector isn't integrated yet. But that should be easy.
 After finishing sweep and if there is some possible wastage in the
 memory pools, these get compacted.

 I thought Parrot wasn't using copying collectors, since you're exposing
 PMC addresses to C?

We have two kinds of managed items:
1) objects (PMCs, string headers, buffer headers)
2) variable-sized memory (string or buffer memory) These items always
   hang off from 1)

1) get recycled by a non-copying mark and possibly sweep collector
2) gets recycled by either the GC - the copying collector or by using
   system memory that gets freed with Configure --gc={malloc,libc}.

leo


Re: [PATCH] Re: [perl #31128] Infinite loop in key_string

2004-08-21 Thread Leopold Toetsch
Steve Fink wrote:
... For PerlHash, P0[foo;3] seems to be interpreted as an
iterator access? I hope there's some other way of indicating that. 
Yep, KEY_integer_FLAG used to indicate, get me the next key and is used 
by the iterator. But as your test shows its ambiguous.

We are already allowing integers and plain PMCs as aggregate keys, so we 
can't use that flag for iterator too.

We still have KEY_number_FLAG. It's unused. I can't imagine that we 
gonna index aggregates by floating point numbers[1]. So if no one 
hollers I'll reuse this flag for denoting iterator access for hashes.

leo
[1] and it doesn't make it through imcc, it's an error anyway


Re: incremental garbage collection 1/2

2004-08-21 Thread Leopold Toetsch
Dan Sugalski [EMAIL PROTECTED] wrote:
 At 9:48 PM +0200 8/20/04, Leopold Toetsch wrote:
0) Parrot's nomenclature DOD vs GC is a bit misleading. The DOD
subsystem is the stop-the-world mark  sweep collector that recycles
object headers. The GC is the copying collector for variable sized
string and other buffer memory.
The incremental mark  sweep collector (src/gc_ims.c) is an alternative
for the DOD thingy and reuses some code in src/dod.c.

 Nah, this is actually correct. The DOD does, in fact, look for dead
 objects (if you consider PMC and buffer headers objects.

... and frees dead objects. That's exactly a mark and sweep garbage
collector. DOD is the first phase of that garbage collection. It would
be rather useless, if we only detect garbage and not collect it.

It's misleading.

 ... The GC, on
 the other hand, collects up garbage memory, making the assumption
 that all the objects marked live are, in fact, live. Separate phases,
 separate purposes.

The GC is a separate phase, yes. It's a second garbage collector, this
time a copying collector that takes advantage of liveness information of
fix-sized headers.

And it does *not* run on any assumption of all being marked live.  It
runs on the fact that all that's marked dead is dead. If a DOD run
preceded the GC, then it collects all dead buffer memory. If not it
would run inefficiently and copies buffer memory around that could be
dead.

 This works on the presumption that our mutable strings chew up memory
 more than objects in the normal running of things, which seems bourne
 out by the programs that look like 'normal' code.

Well, while it's an independent GC phase with a special purpose it can
run efficiently only after DOD.

leo


Re: Updates to modules-related pod

2004-08-21 Thread Randal L. Schwartz
 mAsterdam == mAsterdam  [EMAIL PROTECTED] writes:

mAsterdam Randal L. Schwartz wrote:

 BTW, isn't the habit to post to c.l.p.announce a bit deprecated now ?

 Not at all.  More people should do it.  Don't remove it.
 Either that, or entertain a proposal to cancel the group.

mAsterdam Which of these are still alive and kicking?

Not sure how that relates as a followup to my post.  Or was
it a non-sequitor?

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!


Re: Synopsis 2 draft 1 -- each and every

2004-08-21 Thread Adam D. Lopresto
On Fri, 20 Aug 2004, Dan Hursh wrote:

 Peter Behroozi wrote:

  I'm not particular to any of the verbs used yet, but maybe that's
  because I don't think of the  as a general iterator, but more of a
  gobbler-type creature (and formerly a globber, too).  Could we try:
 
  for $foo.fetch { ... } #or
  for $foo.grab { ... } #or
  for $foo.eat { ... }
 
  And to replace $/ we could have something like:
 
  for $foo.fetch :upto(,) { ... } #or
  for $foo.fetch :until(,) { ... }

   general impose scalar   impose list
 ---   --  
D  $foo.eat$foo.bite   $foo.gobble
N  $foo.look   $foo.peek   $foo.peruse

 hmm, I don't like eat in this case

D  $foo.take   $foo.grab   $foo.horde

 D  $foo.drink  $foo.sip$foo.slurp
 N  $foo.taste

Ok, I'll stop now.  But I do sort of (very minorly) like sip as a mini-slurp.


 That assumes folks think of grab as being singular and take as being
 open ended.  That, and I don't want take to colide with gather{take}.
 Oh well.

 Dan


-- 
Adam Lopresto
http://cec.wustl.edu/~adam/

Keyboard not found.  Think F1 to continue.


Re: - as - with automatic is rw

2004-08-21 Thread Adam D. Lopresto
On Fri, 20 Aug 2004, Larry Wall wrote:

 On Fri, Aug 20, 2004 at 10:07:02PM +0200, Juerd wrote:
 : I'm proposing
 :
 : for zip(@foos, @bars, @xyzzies) - $foo, $bar, $xyzzy { ... }
 : for %quux.kv - $key, $value { ... }

 That'd probably work on the keys only if the hash was declared to have
 object keys.  At least in Perl 5, the key is always a copy.

 : to mean
 :
 : for zip(@foos, @bars, @xyzzies) - $foo is rw, $bar is rw, $xyzzy is rw { ... }
 : for %quux.kv - $key is rw, $value is rw { ... }
 :
 : Comments, anyone?

 It's really sick, and cute, and I love it.  Unfortunately I'm not sure
 it passes the Are there already too many ways to declare a sub? test...

 It's vaguely possible I could be persuaded on the basis that

 for zip @a ¥ @b - { ($^a,$^b) = ($^b,$^a) }

 could be made to work.  But I'm still dubious.  And arguably - {...}
 means the same as sub () {...}, implying there are no arguments.


Arguably it already means that.  But if - were added, it might be a good
reason to make - {...} mean - $_ {...}, using - {...} for - $_ is rw
{...}.  A good way to remove one more special case (maybe offsetting the extra
way to declare a sub, and sweeten the whole deal).
-- 
Adam Lopresto
http://cec.wustl.edu/~adam/

Yesterday upon the stair
I met a man who wasn't there.
He wasn't there again today --
I think he's from the CIA.


[perl #31260] CVS fails to build on ia64-linux

2004-08-21 Thread via RT
# New Ticket Created by  Duraid Madina 
# Please include the string:  [perl #31260]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31260 


---
osname= linux
osvers= 2.4.25-dsa-itanium-smp
arch=   ia64-linux-thread-multi
cc= cc 
---
Flags:
category=core
severity=high
ack=no
---
CVS fails to build on ia64-linux: it _almost_ builds, but:

c++ -o parrot -L/usr/local/lib -Wl,-E  -g  imcc/main.o blib/lib/libparrot.a
blib/lib/libicuuc.a blib/lib/libicudata.a -ldl -lm -lpthread -lcrypt -lrt
-lgmp
blib/lib/libparrot.a(cpu_dep.o)(.text+0x52): In function
`trace_system_areas': src/cpu_dep.c:77: undefined reference to
`flush_reg_store'
collect2: ld returned 1 exit status

and it turns out that config/gen/platform/ia64/asm.s was never compiled into
an object file.

---
Summary of my parrot 0.1.0 configuration:
  configdate='Sat Aug 21 08:31:13 2004'
  Platform:
osname=linux, archname=ia64-linux-thread-multi
jitcapable=1, jitarchname=ia64-linux,
jitosname=LINUX, jitcpuarch=ia64
execcapable=0
perl=/usr/bin/perl
  Compiler:
cc='cc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN  
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  Linker and Libraries:
ld='cc', ldflags=' -L/usr/local/lib',
cc_ldflags='',
libs='-ldl -lm -lpthread -lcrypt -lrt -lgmp'
  Dynamic Linking:
so='.so', ld_shared='-shared -L/usr/local/lib -fPIC',
ld_shared_flags=''
  Types:
iv=long, intvalsize=8, intsize=4, opcode_t=long, opcode_t_size=8,
ptrsize=8, ptr_alignment=1 byteorder=12345678, 
nv=double, numvalsize=8, doublesize=8

---
Environment:
HOMELANGLANGUAGELD_LIBRARY_PATHLOGDIRPATHSHELL


Re: Synopsis 2 draft 1 -- each and every

2004-08-21 Thread David Green
On 8/20/04, [EMAIL PROTECTED] (Luke Palmer) wrote:
So all the laziness goes into the array implementation.  But you don't
even need to write your iterator fancily.  If you just write your scalar
version of postcircumfix:, Perl will do the rest.

So if you use an iterator in list context, Perl will automatically call it 
repeatedly for you?
That still means Perl has to know when something is an iterator, which is 
fine for  (or whatever it ends up being called), but when your object 
has different ways to iterate (e.g. .keys, .values, .kv), they'd have to 
be defined as is iterator or some such.  

...or... you could just do the extra not-so-fancy work yourself.  Multiple 
iterators probably aren't really very common anyway, and it's not that 
much work after all to make your own method that iterates lazily:

method postcircumfix: ($self: *%opt) returns List {
scalar $self.*%opt, $self.*%opt  # [1]
}
If I write it functionally like that, Perl will still do all the rest.
Laziness is built right in the language.

Ah, nice!  But doesn't the scalar definition need to be part of the method 
too?  

method postcircumfix: ($self: *%opt) returns Scalar|List  #??
{
given want
{
when Scalar { get_next_value, increment_counter, etc; }
when List { return scalar $self.*%opt, list $self.*%opt; }
# hm, what about void context?  
# (should probably iterate once, like scalar context)
}
}

Or can you define separate methods for scalar and list contexts, and have 
Perl call whichever one is appropriate?  (Which would be neat... 
polymorphism from the other end.)


 -David polly going crackers Green


Re: A thought for later -- POD tables

2004-08-21 Thread Juerd
$_  $xType of Match ImpliedMatching Code
==  = ==
Any Code$   scalar sub truth match if $x($_)

How about making paragraphs that have a line like the divider one above
special? By simply parsing the = lines, it's easy to make it a table
for formatters that understand tables, and you have full control over
how things look in plain text.

It would mean being a little more careful with the lines, as they should
indicate column width, and not just end at the end of the column header.
Podchecker can of course be made to warn if there is non-whitespace in a
column that had an = in the divider (now: column specification) line.

 $_  $xType of Match ImpliedMatching Code
 -   ==  = ==
 +   ==    ===  ==
 Any Code$   scalar sub truth match if $x($_)

An HTML formatter could generate code like:

table
tr
thtt$_/tt/th
thtt$x/tt/th
thttType of Match Implied/tt/th
thttMatching Code/tt/th
/tr
tr
tdttAny/tt/td
tdttCodelt;$gt;/tt/td
tdttscalar sub truth/tt/td
tdttmatch if $x($_)/tt/td
/tr
!-- ... --
/table

I haven't thought of a solution for non-verbatim cells yet. I'm not
convinced that they are needed.


Juerd


Re: - as - with automatic is rw

2004-08-21 Thread Juerd
Larry Wall skribis 2004-08-20 13:31 (-0700):
 Unfortunately I'm not sure it passes the Are there already too many
 ways to declare a sub? test...

I'm not seeing it as another way. Technically, of course it is
different, but by the user, - and - will probably be seen as one
thing, with one of them being the other's specialized form.

 It's really sick

Sick would be if - were introduced to make the variable write-only ;)

 W   R
@foos  - $foo
@foos - $foo
@foos -  $foo

It would be consistent, though...


Juerd


Re: Updates to modules-related pod

2004-08-21 Thread mAsterdam
Randal L. Schwartz wrote:
mAsterdam writes:
Randal L. Schwartz wrote:
Rafael Garcia-Suarez wrote: 
BTW, isn't the habit to post to c.l.p.announce a bit deprecated now ?

Not at all.  More people should do it.  Don't remove it.
Either that, or entertain a proposal to cancel the group.
mAsterdam Which of these are still alive and kicking?
Not sure how that relates as a followup to my post.  Or was
it a non-sequitor?
? I was not proving anything.
Reading the thread I was reminded of the
unclarity of the status of perl newsgroups.
You advised Rafael Garcia-Suarez to either use a group 
(c.l.p.announce) or to entertain a proposal to cancel it.
Well, that is a good idea. Expanding on that:
A lot of the groups in the list served a purpose at some
time but are dead now.

It would be a good thing if somebody could do some
cancellation proposals to clean it up.
But wait - not so fast!
Which ones should be cancelled?
I cannot determine that. Maybe perl.qa can?




Re: Return with no expression

2004-08-21 Thread Matthew Walton
Larry Wall wrote:
On Fri, Aug 20, 2004 at 09:21:02AM +0100, Matthew Walton wrote:
: It would be nice if rand behaved a bit more sanely in Perl 6. I can 
: understand the reasoning for making rand 0 produce between 0 and 1, but 
: that doesn't mean I have to like it.

What makes you think there was any reasoning involved?  As far
as I can recall, it was entirely due to random factors.  :-)
Sush, I'm giving you credit from pure blind faith here ;-)
I suspect there's an argument that [0,0) ought to be considered undef
(which would conveniently numerify to 0 with an optional warning).
In the absence of a paradox value, undef would be fine there I think :-)


Re: A thought for later -- POD tables

2004-08-21 Thread Aaron Sherman
Luke Palmer wrote:
Aaron Sherman writes:
 

   H C$_ | C$x  | Type of Match Implied | Matching Code  
  T Any   | CodeC $  | scalar sub truth  | match if C$x($_) 
Oh, and BTW: My mailer seems to have snuck some extra noise in there. I 
think it got confused and thought there was inline quoting going on. 
That leading C   should not be there. One of  the things I was 
trying to demonstrate here was the fact that, even though, you could now 
have C, L (hey! imagine perl.com no longer having to hack perl.pod to 
make each manpage reference into a link!), or whatever other markup 
inside a table correctly, you could still visually line up the 
information so that when viewing the talble as plain text, it was still 
just as readable as

 C$_ C$x etc
ever was. Woefully, my mailer thought that such clarity was a bad idea ;-)



Re: Return with no expression

2004-08-21 Thread Aaron Sherman
Matthew Walton wrote:
Larry Wall wrote:
I suspect there's an argument that [0,0) ought to be considered undef
(which would conveniently numerify to 0 with an optional warning).
In the absence of a paradox value, undef would be fine there I think :-)
Too bad we don't have NaRN (Not a Random Number)... that's in the IEEE 
spec, isn't it? ;-)



Re: Synopsis 2 draft 1 -- each and every

2004-08-21 Thread Luke Palmer
David Green writes:
 On 8/20/04, [EMAIL PROTECTED] (Luke Palmer) wrote:
 So all the laziness goes into the array implementation.  But you don't
 even need to write your iterator fancily.  If you just write your scalar
 version of postcircumfix:, Perl will do the rest.
 
 So if you use an iterator in list context, Perl will automatically call it 
 repeatedly for you?
 That still means Perl has to know when something is an iterator, which is 
 fine for  (or whatever it ends up being called), but when your object 
 has different ways to iterate (e.g. .keys, .values, .kv), they'd have to 
 be defined as is iterator or some such.  

Since operators are going to be less DWIMmy this time around, I suppose
I should have said Perl does the rest if your class does iterator.  So
the iterator role would define the listy version for you.

 method postcircumfix: ($self: *%opt) returns List {
 scalar $self.*%opt, $self.*%opt  # [1]
 }
 If I write it functionally like that, Perl will still do all the rest.
 Laziness is built right in the language.
 
 Ah, nice!  But doesn't the scalar definition need to be part of the method 
 too?  
 
 method postcircumfix: ($self: *%opt) returns Scalar|List  #??
 {
 given want
 {
 when Scalar { get_next_value, increment_counter, etc; }
 when List { return scalar $self.*%opt, list $self.*%opt; }
 # hm, what about void context?  
 # (should probably iterate once, like scalar context)
 }
 }
 
 Or can you define separate methods for scalar and list contexts, and have 
 Perl call whichever one is appropriate?  (Which would be neat... 
 polymorphism from the other end.)

That was the idea, but I realize that I did it wrong.  I also realize
that there isn't a right way yet.  Dispatching on return value is
something that is pretty hard to implement, and impossible to implement
correctly, as it has a tendency to create paradoxes.

So for now I'd say that you have to put them both in the same method.
Which seems to imply that the iterator role would look for a method name
to use for scalar context.  Like sip :-)

Luke


Re: A thought for later -- POD tables

2004-08-21 Thread Peter Scott
Maybe this train has already left the station, but I find myself
preferring Kwiki syntax to POD these days... any chance we could
use Kwiki with WAFL for the Perl 6 POD?  That of course has
already got tables.
(Still bracketing with the =for ... =cut directives, though.)

Just a thought...

-- 
Peter Scott



Calling conventions for unprototyped subroutines?

2004-08-21 Thread Mattia Barbon
  Hello,
crrently argument count is passed in I3. A comment in untils.c
near foldup says that:

TODO - IMCC and PDD 3 aren't yet in conformance. This uses the current
IMCC setup, but should be changed as soon as IMCC modified to the
correct calling conventions.

while pdd03 says:

...

0 if all the parameters are jammed in P registers and the overflow
array, with a count of parameters passed in PMC registers

so: where is the argument count passed? Please note that I3 is also
mentioned in compiler FAQ.

Thanks!
Mattia



[perl #31268] [PATCH] Dynamic library with multiple PMCs

2004-08-21 Thread via RT
# New Ticket Created by  Mattia Barbon 
# Please include the string:  [perl #31268]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31268 


  Hello,
as promised with this patch:

pmc2c2 ... --library foo --c pmc1.pmc pmc2.pmc pmc3.pmc ...

outputs pmcX.c and pmc_pmcX.h as it did before, plus
foo.c and pmc_foo.h containig a single Parrot_lib_foo_load
that initialized vtables and MMD dispatch for all the PMCs,
taking into account circular PMC dependencies in MMD dispatch.

  It also updated dynext/foo.pmc removing the now useless #define to -1
and pmc2c2.pl to search for PMCs/PMC dumps in the current directory, too.

  Nag: the dynext patch from the other week is still unapplied: is
there any problem with it or did it just fall through the cracks?

Thanks!
Mattia


pmc2c.diff
Description: Binary data


[perl #31269] [PATCH] More packgile dixes

2004-08-21 Thread via RT
# New Ticket Created by  Mattia Barbon 
# Please include the string:  [perl #31269]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31269 


  Hello,
this patch fixes some problems with previous week's patch:
it allowed loading and running bytecode when there was no current
packfile (interpreter-code == NULL) but created a circular
dependency with the loaded packfile containing itself in its
directory.

  The attached patch removes this circular dependency.

Regards
Mattia


packfile.diff
Description: Binary data


Re: A thought for later -- POD tables

2004-08-21 Thread Aaron Sherman
Luke Palmer wrote:
On the other hand, Larry had a good point.  Why couldn't we do:
=begin table
...
=end table
For some sufficiently simple ...?  Obviously this gives the formatter
control over how the table is formatted, which is arguably a bad thing
since it won't be implemented (POD tools are mostly lazy about that kind
of thing).
 

There's nothing wrong with that. For long tables it would be more 
efficient, but for shorter tables it would be a tad more cumbersome. The 
only thing I wanted to avoid (like the plague) was an C=-introduced 
set of table elements like C=cell and so on. That would lead to a very 
anti-POD visual breakdown.

So I'm starting to like it.  I do think that it should be left aligned,
as it'll be verbatim text if it's indented.  We might want a =begin/=end
table around it anyway, to avoid making the formatters do too much
bookkeeping.
 

A begin/end would also allow for paragraphs inside of table elements. 
You get to decide if that's a good or bad thing ;-)



Extending interface: PMC flags and marking

2004-08-21 Thread Mattia Barbon
  Hello,
I think extenders should have access to at least some of the
flags in PObj_enum. Should we have a different function for
each flag (say: Parrot_PObj_set_custom_mark(INTERP, PMC, value),
Parrot_PObj_set_is_class(INTERP, PMC, value) or a single
Parrot_PObj_set_flag(INTERP, PMC, flag, value) where flag
is an enumerated value declared in extend.h, NOT the values of
PObj_enum.

  Extenders also need Parrot_PObj_mark(INTERP, PMC).

Comments?
Mattia



Re: Updates to modules-related pod

2004-08-21 Thread Randal L. Schwartz
 mAsterdam == mAsterdam  [EMAIL PROTECTED] writes:

mAsterdam Reading the thread I was reminded of the
mAsterdam unclarity of the status of perl newsgroups.

mAsterdam You advised Rafael Garcia-Suarez to either use a group
mAsterdam (c.l.p.announce) or to entertain a proposal to cancel it.
mAsterdam Well, that is a good idea. Expanding on that:
mAsterdam A lot of the groups in the list served a purpose at some
mAsterdam time but are dead now.

A group that begins perl.* is not a Usenet news group.  It may be
carried amongst cooperating NNTP servers, but it doesn't have the same
status as a group that begins comp.*, which is run by more-or-less
formal means according to Usenet policy.

Hence, my puzzlement.  I was talking about a Usenet group (and
starting the formal process to abandon it), and you brought up some
random non-Usenet groups.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!


[perl #31270] [PATCH] add test for op 'does'

2004-08-21 Thread via RT
# New Ticket Created by  Bernhard Schmalhofer 
# Please include the string:  [perl #31270]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31270 


Hi,

I have been adding tests for the op 'does' in most of the PMC test files.

Assuming that the PMCs FloatvalArray, IntList, and MultiArray are doing the
'array' interface, I have added the declaration 'does array' for them.

CU, Bernhard




-- 
/* [EMAIL PROTECTED] */

NEU: Bis zu 10 GB Speicher fr e-mails  Dateien!
1 GB bereits bei GMX FreeMail http://www.gmx.net/de/go/mail

does_20040821.patch
Description: Binary data


Re: Extending interface: PMC flags and marking

2004-08-21 Thread Dan Sugalski
At 6:44 PM +0200 8/21/04, Mattia Barbon wrote:
  Hello,
I think extenders should have access to at least some of the
flags in PObj_enum. Should we have a different function for
each flag (say: Parrot_PObj_set_custom_mark(INTERP, PMC, value),
Parrot_PObj_set_is_class(INTERP, PMC, value) or a single
Parrot_PObj_set_flag(INTERP, PMC, flag, value) where flag
is an enumerated value declared in extend.h, NOT the values of
PObj_enum.
Nope. Flags are for internal PMC use or engine use, not for 
extenders, at least not for now.

  Extenders also need Parrot_PObj_mark(INTERP, PMC).
Nope. That's for internal use, either by the DOD or the the PMC class 
functions.

We should get the APIs better delineated, though, with the reasons 
for this stuff being where it is.
--
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


Re: - as - with automatic is rw

2004-08-21 Thread Jonadab the Unsightly One
Juerd [EMAIL PROTECTED] writes:

 Sick would be if - were introduced to make the variable write-only ;)

Sicker still would be if - were introduced to make the variable
neither readable nor writeable.  HTH.HAND.

-- 
$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b-()}}
split//,[EMAIL PROTECTED]/ --;$\=$ ;- ();print$/