This fortnight's summary

2004-06-07 Thread The Perl 6 Summarizer
The Perl 6 Summary for the fortnight ending 2004-06-06
Whee! There's a new graphics card in the G5, which means I can type this
at the big screen again, which makes me happy. Well, it would make me
far happier if the new card didn't leave horrible artifacts all over the
screen like some kind of incontinent puppy attempting to fulfil OpenGL
draw instructions. Maybe next week will see a third card in the box.

Dang! It looks like the G5 will be off receiving some TLC from an Apple
service centre while I'm on holiday next week. Which means that the
'weekly' summaries will continue on their fortnightly summer holiday
schedule for at least one more summary. But then the lists themselves
appear to be on summer footing anyway.

Ahem.

As you will probably have worked out by now, we start with
perl6-internals.

  Library loading
Jens Rieks is working on library loading code that does all the nice
things we've come to expect from other languages. The plan being that
you'll be able to write (say)

use('some_library')

and Parrot will go off and search it's include paths for
some_library.(pbc|imc|pasm|whatever) and load it. As he noted, if you're
going to implement that kind of code in parrot assembler (or PIR, or
whatever), you need some way of loading the loading code. It's also a
good idea to have a working stat. Jens added a
Parrot_load_bytecode_direct function to the parrot core to support the
first part. His please for a functional (if not complete) stat were
answered by Dan who set about implementing the stat API he outlined a
few weeks ago.

http://xrl.us/b689

  Embedding Parrot
Leo Ttsch and chromatic answered Paul Querna's questions from last
week about embedding Parrot.

http://xrl.us/b69a

  Using PMCs as PerlHash keys
TOGoS wanted to know how he could use a PMC as a key in a PerlHash. Leo
replied that it was as simple as doing

$P2 = new Key
$P2 = key_string
$P0 = $P1[$P2]

Piers Cawley did some naive translation into PASM and got himself
horribly confused. Leo and TOGoS corrected him.

http://xrl.us/b69b

  First draft of IO and event design
Remarking that events and IO are (kinda, sorta) the same thing, Dan
posted his first draft of a unified IO and events design and asked for
comments. This being p6i, he got several (though not as many as usual,
maybe everyone likes it).



  Freeze, objects, crash, boom
Will Coleda tried to get freezing and objects to play well together and
failed. So he asked a bunch of questions. Leo didn't solve the problem,
but he did have some pointers to where it was coming from.

http://xrl.us/b69c

  MMD table setup semantics
Possibly winning an award for the oldest rejuvenated thread, Nicholas
Clark had some questions about a post Dan made about MMD at the end of
April. He made a suggesting about how to calculate 'distance' for multi
dispatch. Dan pointed out that Larry had decreed that the 'distance'
would be the 'Manhattan Distance'. (Google has several definitions).

http://xrl.us/b69d

  Compiler FAQ entry
Will Coleda posted a possible set of entries for the compiler writers'
FAQ. Leo had a few quibbles. Sterling Hughes suggested that having
small, runnable source code examples would be really helpful.



  Layering PMCs
Dan kicked off a discussion on how to go about layering PMCs. The usual
suspects offered suggestions. The aim is to be able to layer behaviours
on top of PMCs without massive overhead or combinatorial explosion
problems. As usual with these things, there's several possible ways of
doing it, the debate is about choosing the best one.

http://xrl.us/b69e

  IO Layers
Leo had some questions about the (not fully implemented)
ParrotIOLayerAPI. He laid out a proposal for implementing things. Uri
Guttman and Dan joined in a discussion of the issues. (Simple summary of
the issues: Asynchronous IO is hard. Possibly more accurate summary of
the issues: Asynchronous IO is *not* synchronous)

http://xrl.us/b69f

  PIO_unix_pipe()
Leo's implemented a PIO_unix_pipe() method which allows you to run an
external program and capture the results with a Parrot IO handle. He
doctored the open opcode to use it

pipe = open /bin/ls -l, -| 

Dan liked it, but proposed also adding a backtick operator.

http://xrl.us/b69g

  Register spilling
Dan noted that it's possible to get the register allocator caught up in
an infinite loop (or as near infinite as makes no difference) as it
tries to work out a register spilling strategy. He proposed there be a
'slow but working' fallback method to use if the normal method goes
through too many iterations. Leo suggested an delightfully brute force
approach with some possible elaborations that Dan didn't think 

Re: FW: Periodic Table of the Operators

2004-06-07 Thread David Cantrell
On Tue, Jun 01, 2004 at 04:21:14PM -0400, Mark J. Reed wrote:

 Since you've added ? and ? to the list above, I'll add them as well:

What's so hard to type about the question mark?  And what's so
significant that you added it twice?

OK, so I know that you really meant to type some bizarre character and
some other bizarre character.

This is what is so wrong about allowing unicode operators - yes, I don't
need to write them, but if some other programmer writes one I have to be
able to read it.  And I can't.

-- 
David Cantrell |  Reprobate  | http://www.cantrell.org.uk/david

   When a man is tired of London, he is tired of life
  -- Samuel Johnson


Re: FW: Periodic Table of the Operators

2004-06-07 Thread Mark J. Reed

On 2004-06-07 at 21:33:03, David Cantrell wrote:
 This is what is so wrong about allowing unicode operators - yes, I don't
 need to write them, but if some other programmer writes one I have to be
 able to read it.  And I can't.

Well, for one thing, just because your email program doesn't let you display
them, that doesn't mean you can't see them in your text editor.  If I
sent you a Perl program as an attachment I'm sure the bizarre
characters would come through fine.

And for another thing, what bizarre email system are you using that in
2004 can't even handle Latin-1?  It's not like they were something from
way out in Unicodespace, nor was the message UTF8-encoded; just plain
old, garden variety, 8-bpc ISO-8859-1.  They were, incidentally,
the guillemets; « = left-pointing () and » = right-pointing ().

-Mark


Re: FW: Periodic Table of the Operators

2004-06-07 Thread David Cantrell
Mark J. Reed wrote:
On 2004-06-07 at 21:33:03, David Cantrell wrote:
This is what is so wrong about allowing unicode operators - yes, I don't
need to write them, but if some other programmer writes one I have to be
able to read it.  And I can't.
Well, for one thing, just because your email program doesn't let you display
them, that doesn't mean you can't see them in your text editor.  If I
sent you a Perl program as an attachment I'm sure the bizarre
characters would come through fine.
The data in the file would, of course, be preserved, but that doesn't 
mean I could read it.  Like when I was writing my earlier mail.

And for another thing, what bizarre email system are you using that in
2004 can't even handle Latin-1?
My console can be any of several platforms - in the last couple of weeks 
it has been a Linux box, a Windows PC, a Mac, a Sun workstation, and a 
real vt320 attached to a Sun.  My mail sits on a hosted Linux box.  To 
read it, I sometimes ssh in to the machine and read it using mutt in 
screen.  At other times I read it using Mozilla Thunderbird over IMAP. 
In Thunderbird, the odd characters show up.  But when I'm using a 
terminal session, I have found that the only practical way of getting 
consistent behaviour wherever I am is to use TERM=vt100.  Windows is, of 
course, the main culprit in forcing me to vt100 emulation.

--
David Cantrell  |  Failed to find witty sig