This week's summary. Part 1

2006-02-14 Thread The Perl 6 Summarizer
The Perl 6 summary for the week ending 2006-02-12
Welcome to part one of this week's summary. Owning to chronic problems
with deadlines I've only got time to summarize perl6-compiler and
perl6-internals tonight; I'll do perl6-language when I get back from
$paying_job on Thursday night.

You shall just have to contain your excitement 'til then.

This week in perl6-compiler
  Tokenizer hints, supporting delimited identifiers or symbols
Darren Duncan said that he'd like for there to be a simple and terse way
for Perl 6 identifiers or symbols to be able to composed of any
characters whatsoever (even whitespace). After all, it's allowed in lots
of other languages (including, although Darren didn't mention it, Perl 5
-- consider ${var with spaces} = 'foo' if you don't believe me.
Lexical vars are a wee bit trickier).

I turns out that, as Larry said $::You can already do that!;, which
is nice. It turns out there's quite a few ways of doing it and Larry
discussed them all.

http://xrl.us/j2bf

Meanwhile, in perl6-internals
  Parameter count checks
One of the tricky things about having PIR level parameter count checks
is coming up with a good syntax for it; in particular, Chip wanted an
easy way of expressing common things like void calls. It turns out out
that Common Lisp is one of the trickier languages to deal with here
since it allows for multiple values returned from a function, but
ignores every return apart from the first unless you specifically ask
for them. Which can be nice, but is weird.

I'm not sure we have a syntax for it yet, I'm sure one will be
forthcoming eventually.

http://xrl.us/j2bg

  Add methods in dynpmc
François Perrad had some trouble adding methods to Lua PMCs and asked
for help. Leo provided it and all was gorgeousness again.

http://xrl.us/j2bh

  {null,parrot,installable}_config.o
Florian Ragwitz is the Debian maintainer of the pugs and parrot packages
and he has problems getting the latest pugs to link with Parrot, mostly
because of the way parrot stores information about where things are
installed. He made a few suggestions for resolving the issue. I'm not
sure Leo's answer was much use to him.

http://xrl.us/j2bi

  Heureka - from the -Ofun department
Leo announced that Parrot is now running the Ackermann benchmark faster
than C. It turns out that tail recursion elimination is a really good
thing to have. It also turns out that we only get the really blistering
speed on x86 and ppc architectures, because those are the architectures
with a working JIT core. Things aren't quite so rosy on SPARC, for
instance.

Still. Wow!

http://xrl.us/j2bj

  :non_volatile is now :unique_reg
Jonathan Worthington checked his :non_volatile patch back in, but with
the new :unique_reg name. Which is nice.

http://xrl.us/j2bk

  Sub introspection: filename and line
Jerry Gay had some questions to ask about walking the Parrot call chain
and getting at file and line info. It turns out that the Sub PMC doesn't
have the methods he needs. Johnathan Worthington corrected what he'd
said on IRC about how to walk the call chain, pointing out that, instead
of walking subs, you need to walk contexts, but that contexts aren't
actually PMCs because we don't have weak references yet.

Apparently, we will have weak references eventually, at which point
we'll be able to have context PMCs, which can be used for introspecting
on the call chain.

Me? I don't quite understand what's the difference between these
'contexts' of which Jonathan speaks and return continuations. But I'm
odd like that.

http://xrl.us/j2bm

  Q. Namespaces and classes
Leo wasn't entirely sure of what semantics are needed by namespace PMCs.
He talked around the issues and asked if he was going along sane lines.
I can't tell if Jonathan thought Leo was sane or not, but Leo seemed to
find the response useful.

http://xrl.us/j2bn

  Quis custodiet ipsos custodes?
Misspelling Juvenal slightly, Jerry Gay observed that there are no tests
for Parrot::Test and made a plea for this to be remedied. You're on your
own with the Latin.

http://xrl.us/j2bo

  PIC/JIT update
Leo announced that the PPC JIT core can now compile subs on the fly,
just like the x86 core. But only for integer code apparently.

http://xrl.us/j2bp

  Integer divide overflow
Leo observed an overflow issue with integer division and asked for
comments. Jonathan Worthington suggested going to the pub. It won't fix
the problem, but we'll feel better about it. We definitely seem to be
in Don't do that then. territory.

http://xrl.us/j2bq

  Find a multi-method/multi-sub by name and signature
Jonathan Worthington's work on a .NET translator 'ambles on'. He's
working on mapping .NET's static

Um... this week's summary

2006-01-18 Thread The Perl 6 Summarizer
Unless Matt takes pity on me, and writes a summary at disgustingly
high speed, there won't be a summary this week. Assorted things got in
the way on Monday or Tuesday, and I'm now at my consulting gig 'til
the end of the week with no time for summarizing.

I'm really, really sorry.
-- 
Piers Cawley [EMAIL PROTECTED]
http://www.bofh.org.uk/


This week's summary

2006-01-03 Thread The Perl 6 Summarizer
The Perl 6 summary for the week ending 2006-01-01
Another year, another summary. You might think I'm going to summarize
the events of the whole year, but it turns out that chromatic's already
done it. So in the spirit of laziness, I'll just point you at his year
end summary.

http://xrl.us/jfai

Sadly for us all, he doesn't go into enough detail on the events of the
last week for me to go straight into the coda. I shall have to talk to
him about next year.

This week sees a big non-technical change in the Pugs camp, lots of
roadmapping and implementation in the Parrot camp, and a more and more
concrete feel of what the language is going to look like in the
perl6-language camp.

Pretty much business as usual really.

This week in perl6-compiler
  Runtime typecasting
Autrijus Tang is now Audrey Tang. Read her explanation on her blog.
Speaking personally I'm delighted that she's found the courage to make
the change and wish her the best of luck and happiness in her new/true
identity.

http://xrl.us/je9a

  Pugs on Cygwin
There was a fair amount of discussion on getting pugs and parrot running
in the Cygwin environment this week. Last time I looked, things were
working again.

http://xrl.us/jfaj

  This week's Pugs developments
Audrey's taken to summarizing pugs developments on her blog and to
posting digests of these posts on the list. She wrote about PIL and
Rules this week.

http://xrl.us/jfak -- Pugs-PIL developments

http://xrl.us/jfam -- Pugs-Rule developments

http://xrl.us/jfan -- Pugs-Rule: Grammar support

Meanwhile, in perl6-internals
  Threading PDD?
Patrick Michaud suggested, after a question from Klaas-Jan Stol, that it
might be a good idea to create a placeholder Threading PDD (Parrot
Design Document) noting that threading hasn't been specced yet and that
a draft would be welcomed. Warnock applies.

http://xrl.us/jfao

  Pugs is the official Perl 6?
Or am I putting words into Luke's mouth? Read, then decide.

http://xrl.us/jfap

  .imc or .pir? There can only be one
As part of the great Parrot reorganization, Chip declared that the IMC
vs PIR ambiguity had to be resolved. As he put it:

IMC vs. PIR

Two names enter

One name leaves

The name that left was PIR, any files you find with .imc extensions
should be cruelly laughed at while you kick sand in their faces.

http://xrl.us/jfaq

  Dynamic binding patch
Bob Rogers offered up a patch to implement dynamic binding of globals
for the list's consideration. Leo thought the patch was mostly sound,
but that the whole dynamic binding thing needed more thought and
infrastructure. Which is probably a broad hint to Chip and possibly
@Larry (said hint hasn't been taken yet though, well, not in public).

http://xrl.us/jfar

  Smoke testing
Leo pointed everyone at the Perl Image Testing Architecture, which has
possibly the coolest acronym of any Perl project in recent years. He
thought it would be useful to use for additional Parrot platform testing
as well.

http://xrl.us/jfas

http://ali.as/pita/

  Lots and lots of TODOs
I'm not going to enumerate them here, but Will Coleda, Matt Diephouse
and others have been adding loads of TODO entries to the Parrot
bugtracker. Which is nice.

  IMCC optimizer instruction duplication and opcode write/reads
Amos Robinson wanted to know how to go about duplicating instructions
and wondered about the correct semantics of in/out/inout arguments. Leo
came through with the answers.

http://xrl.us/jfat

Meanwhile in perl6-language
  Iterating over complex structures
Rob Kinyon applied the 'What does Ruby do?' pattern to the problem of
iterating over complex structures. Mostly it looks good, but I'm hoping
that someone else considers applying the 'What does Smalltalk do?'
pattern as well. Subject to tuit supply, I might even do that myself.

http://xrl.us/jfau

  Match objects
Who is Match, and to what does he object?

Sorry. Couldn't resist.

Patrick and Luke discussed the behaviour of match objects.

  (Array) introspection
Ilmari Vacklin wondered about how to introspect on the structure of
arrays and other data structures. Warnock applies.

http://xrl.us/jfav

  Array/list transformations
Rob Kinyon pointed out the difficulties of dealing with binding array
slices and other such goodies. Larry thought it wasn't really that
difficult (from the point of view of the perl programmer, things might
be different for the implementers)

http://xrl.us/jfaw

  Relationship between slurpy parameters
Austin Frank wondered about the different uses of prefix:* in
parameter lists and elsewhere. Stuart Cook had answers. Piers Cawley
worried about the current behaviour of prefix:* in parameter lists
and about how 

Re: This week's summary

2006-01-03 Thread Ilmari Vacklin
ti, 2006-01-03 kello 13:57 +, The Perl 6 Summarizer kirjoitti:
 Planet Perl Six is a handy news aggregator of several Perl 6 related
 sources.
 
 http://planet6.perl.org/

I believe that is actually http://planetsix.perl.org

Thanks for the great summary!

-- 
wolverian [EMAIL PROTECTED]



This week's summary

2005-12-19 Thread The Perl 6 Summarizer
The Perl 6 summary for the week ending 2005-12-18
Welcome to another Perl 6 summary. This has been a week of shootouts,
cleanups, relationships and cunning translations. Read on for the
details (or, this being a summary, pointers to the details).

This week in perl6-compiler
2 messages? Sometimes I wonder why I even bother summarizing this list;
I could just paste its contents in their entirety. However:

  Call for a Pumpking: Do you want a Ponie?
Jesse announced that Nicholas Clark was retiring as Ponie's Pumpking
following his departure from Fotango. So we're looking for another
volunteer to take Ponie from its current state to a working Perl 5
runtime fully integrated with Parrot. If you're a C programmer with a
good grasp of the Perl 5 internals and you're interested in taking on
the job, [EMAIL PROTECTED] is eager to hear from you.

http://xrl.us/i9rz

  Pugs, Javascript and Perl 5
Continuing Pugs' tradition of linguistic mashup, Chia-liang Kao
announced that Pugs Javascript backend can now support Perl5.

http://xrl.us/i9r2

Meanwhile, in perl6-internals
  Parrot Shootout
Work continued on implementing and optimizing Parrot's entry for the
Language Shootout.

http://xrl.us/i9r3

http://xrl.us/i9r4

http://xrl.us/i9r5

http://xrl.us/i9r6

http://xrl.us/i9r7

http://xrl.us/i9r8

  Variables, Aliasing and Undefined-ness
Matt Diephouse wondered how he should translate the following in to PIR
code:

  $var   = Foo;
  *alias = *var;
  $alias = undef;
  $alias = Baz;
  print $var, \n;

Audrey Autrijus Tang suggested that allowing multiple LexInfo names to
point to the same underlying register would make this sort of thing (and
several Perl6isms) a good deal easier to implement. Leo pointed out that
it actually had been implemented, though I'm not sure if Luthor includes
this. (Pugs always targets the latest Parrot release).

http://xrl.us/i9r9

  Cleaning up the build process
Joshua Hoblitt went to town on RT posting a breakdown of proposed
refactorings of the Parrot build process

  ParTCL shootout
Will Coleda suggested that it would be useful to set things up to run
the TCL shootout benchmarks on ParTCL. He's not exactly sure that they'd
*work* just yet (or be fast, come to that), but they'd certainly be a
handy test/benchmark suite. After a couple of patches, it seems that
ParTCL can at least run the hello benchmark. Still, a journey of a
1000 miles starts with but a single step and all that.

http://xrl.us/i9sa

  Parrot directory reorganization (phase 2 mark 3)
Jerry Gay's reorganization of the Parrot distribution's directory
structure continued apace. Reorganizing the JIT subdirectory and its
associated config system proved to be something of a sticking place, but
Joshua Hoblitt sorted things out.

http://xrl.us/i9sb

  Bug or feature?
Chip had some thoughts about PIR's macro support and concluded that we
need a robust multi-line quoting convention in order to pass multiple
lines of code to macros. He outlined some suggested syntax. Discussion
ensued, mostly favourable.

http://xrl.us/i9sc

  Building Parrot includes
Leo noted that the files in runtime/parrot/include/*.pasm are created by
configure. He argued that they should really be generated by a Makefile
rule, which would have the advantage of taking note of dependencies.
There followed a certain amount of quibbling with Joshua Hoblitt, but I
don't think anyone disagrees with the gist of the proposal.

http://xrl.us/i9sd

  Library loading - no more duplicates
Leo announce that, as a of r10458, Parrot doesn't load_bytecode from
the same file twice any more. Chip and Nicholas Clark applauded the
change and plotted ways to make it even more effective.

http://xrl.us/i9se

  Fixing japhs
Not content with implementing shootout benchmarks, Joshua Isom has also
fixed a few of Parrot's example japhs.

http://xrl.us/i9sf

  Q: String.get_integer
Leo had some questions about magical conversion between strings and
integers. Patrick and others reckoned that his proposed behaviour was
about right. Personally, I'm not convinced that the basic String PMC
should do any magic conversion, but PerlString definitely should.

http://xrl.us/i9sg

  Parrot Borking
Steve Gunnell had a problems with Parrot throwing segfaults. Leo gave
him some pointers to tracking the issue down and recommended using the
SVN repository and not the CVS mirror.

http://xrl.us/i9sh

Meanwhile, in perl6-language
  Relational data models and Perl 6
Darren Duncan's been doing some thinking about Relational data models
and how to support working with them in Perl 6 and posted the results of
his thought on this to the list. Lots of discussion ensued. There was a
fair amount 

This week's summary

2005-12-08 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-12-04
I heard a rumour on the London.pm mailing list week. Apparently the Perl
6 Summaries are no longer being published. As I'm sure you can imagine,
it came as something of a surprise to me.

This week has been all about Parrot, Leo's got the new lexical scheme,
calling conventions and exception handlers working and made Parrot
stricter about arguments. The end of the week saw the release of
'Luthor', version 0.4.0 of Parrot. Read on for more details...

This week in perl6-compiler
Um... one post in perl6-compiler this week. And that was crossposted to
perl6-language. And because it got posted at the end of the week, none
of the actual discussion occurred this week.

Moving swiftly on...

This week in perl6-internals
Much more going on here as everyone rushed towards the release of Parrot
0.4.0 Luthor at the end of the week.

  Exception handlers and calling conventions
As I predicted last week, Leo's brain dump about exception handling got
discussed this week. It was well liked, and after a small bit of sugar
was sprinkled on to make ParTCL's life a little easier (and possibly
unsprinkled later) all manner of things were well.

http://xrl.us/i5nt

  Subs may not contain dynamic call info, ever
Chip posted a clarification of his comments on what data could and
couldn't be hung off a Sub object at runtime. Let's be reentrant people.

http://xrl.us/i5nu

  PDD20 Tcl
Will Coleda announced that ParTCL is now working with the new lexically
lovely Parrot calling conventions. There was much rejoicing.

http://xrl.us/i5nv

  Test::More and Tests in PIR
Leo showed the love for chromatic's shiny pure parrot implementation of
Test::More. So the patch was applied.

http://xrl.us/i5nw

  Upcoming changes
Leo announced the scratchpad's impending doom and outlined the planned
change for comment. Nobody commented, and the changes went in.

http://xrl.us/i5nx

  Parrot directory reorganization
Quick quiz: where would you expect to find tests in the parrot
distribution? How about generated source files?

Jerry Gay proposed a reorganization to make things a little more lovely.

The consensus seemed to be that a reorg along Jerry's lines wouldn't be
a bad idea, but Chip pointed out that, whatever gets done it should be
done 'cautiously so as to minimize unpleasantness'. So Jerry is
proceeding cautiously, starting with a host of new TODO tickets in RT.

http://xrl.us/i5ny

  Solving = confusion: ':=' for aliasing
There are those of us who are wondering why this one took so long...

Chip proposed that people start to spell aliasing as := and assignment
as =. I think it's a really good idea, but then I don't have a large
amount of PIR code to maintain so what do I know. Some other folks
weren't so sure, but Chip is not to be denied. Discussion then span off
into what language to write the automagical translator in.

I believe this may involve writing it in PIR then converting it to PIL,
which would be converted to Perl 5 using pugs and then Larry's Perl 5 to
Perl 5 project could be used to convert it to XML, which could then be
modified using XSLT and converted back into PIR using some scary voodoo
magic.

Or they could just write it in Perl 5. Prosaic, but possible right now.

http://xrl.us/i5nz

  PDD03 Revisions
Chip announced that he'd put up another revision of PDD03 on Parrot
calling conventions. Most of the changes are simple clarifications and
flag renaming, but he's also proposing a new READONLY flag for
get_params to make it easy to support the default Perl 6 argument
mode. Response was muted, but favourable.

http://xrl.us/i5n2

  PDD03 and Overflow/Underflow
It's been mandated for ages that Parrot should throw an exception when
functions get called with the wrong number of arguments. It's always
been one of those things that will be implemented 'some day'. Well this
week had a someday in it as Leo made parrot do what it's supposed to do.
And broke PGE for a while...

http://xrl.us/i5n3

  PDD20 questions
Jonathan Sillito is a class act. He didn't just ask a bunch of questions
about the new PDD20 on lexical variables, he promised to take the
answers he received and use them to patch PDD20 to make things clearer.
Spurred on by this promise, Chip was unstinting in his answers and
clarifications of them. Which is nice.

http://xrl.us/i5n4

  PIR methods and local variables occupy the same 'namespace'
Allison Randal used Snarks, Boojums and Thingies to demonstrate a
possible problem with the way Parrots local variable and method
namespaces overlap. Leo pointed out that this can sometimes be useful.
So, for the time being, Parrot continues as is in this area. If you go
getting the 

This week's summary

2005-11-30 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-11-27
Another week passes. Another summary is written. Another sentence
remains steadfastly in the passive voice.

This week in perl6-compiler
  Perl 5 tests for PGE::P5Regexp
Jerry Gay announced that he'd checked in a subset of perl 5.9.2's regexp
tests to give PGE something to work on. Right now only 130 of 960 tests
are running, in part because the test harness he's using can't quite
cope with the test file syntax used for the original tests. I'm sure it
won't stay that way or long.

A couple of days later he announced that more tests were being converted
and that there were now 360 passing tests and a further 155 or so TODO
tests.

Well done Jerry.

http://xrl.us/i2be

  PDD 20 and :outer
Leo had some questions about the workings of lexical pads and :outer.
He showed a couple of examples in high level language and wondered if
his parrot conversions were right. Chip thought that Leo shouldn't worry
about implementing the Perl 5 semantics of a named inner subroutine
because the way Perl 5 does it is a bug not a feature. Dave Mitchell
wasn't so sure.

http://xrl.us/i2bf

  DynLexPad
Leo's working on implementing a DynLexPad PMC to provide 'a more dynamic
lexpad' akin to the new deprecated ScratchPad PMC. He outlined his
current plans and asked for comments from HLL authors about what they
needed.

http://xrl.us/i2bg

  Punie to AST
Allison has checked in the code to transform PunieGrammar match objects
into Abstract Syntax Trees (ASTs). Apparently the set of AST node types
she's using isn't quite the same as the Pugs PIL. Hopefully one day
we'll have a common AST format, and all manner of things shall be well.

http://xrl.us/i2bh

Meanwhile, in perl6-internals
  RESPONSIBLE_PARTIES or ENTITIES_AT_FAULT?
Joshua Hoblitt suggested that Jerry Gay should be added to the
RESPONSIBLE_PARTIES file as the person in charge of the test suite.
After a small amount of byplay suggesting the file be renamed, the
nomination was strongly seconded and Jerry's name added to the list.

http://xrl.us/i2bi

  Curses and parrot problems?
Josh Isam has been having problems with using the curses library under
both Darwin and freebsd. He wondered if anyone had any pointers for
fixing things. Leo thought it might be that the parrot ncurses support
was getting a function signature wrong somewhere and suggested Josh
check that.

http://xrl.us/i2bj

  Subs may not contain dynamic call info, ever
Repeat after Chip: Subs don't have callers. Call frames have callers.

After a short discussion with Leo, Chip wrote a short treatise on the
relationships between Subs and Closures, noting that they should only
hold static information.

http://xrl.us/i2bk

  Undefined labels
While working on TODO #37590 (catch illegal bsr at compile time), Leo's
made parrot rather more picky about labels and how they are used.
Essentially, if you weren't doing daft things with labels you're
probably all right. If you were, you should probably check this post.

After Leo checked the fixes in (r10168), several PGE tests started
breaking. Less than 6 hours later, Patrick check version r10176 in and
the tests started passing again. Leo (and I) was impressed.

http://xrl.us/i2bm

http://xrl.us/i2bn

  Exception handlers and calling conventions
Leo posted a brain dump about how to get exception handling to work in
Parrot. In particular he wanted help with syntax (exception handling
semantics aren't exactly rocket science when you've got a continuation
based virtual machine after all). Warnock applied (However, I am
reliably informed that next week's summary will have some responses;
anyone who suggests that that's because this summary is late will be
annoyingly Right).

http://xrl.us/i2bo

  Test::More and tests in PIR
Not content with having a pure PIR implementation of Test::Builder,
chromatic posted his implementation of Test::More in pure parrot.
Admittedly the current version should likely be called
Test::Less::Is::More, but the journey of 1000 cliches starts with a
single step and all that. And that's not all, the fearlessly lowercased
one intends to start work on the big daddy, Parrot::Test with an eye to
doing even more in Parrot. (Which makes a good deal of sense. After all,
the plan is to get Parrot to a point where it can be built without
needing a working perl installation)

http://xrl.us/i2bp

Meanwhile, in perl6-language
  \x{123a 123b 123c}
Juerd had praised Ruud H.G. van Tol's proposal of \x{123a 123b 123c}
as a replacement for \x{123a} \x{123b} \x{123c} in rules. Larry wasn't
so sure. He suggested \x[123a,123b,123c] but still wasn't exactly
happy with it. He also had some thoughts about character class

Re: This week's summary

2005-11-30 Thread Matt Fowles
Piers~

On 11/30/05, The Perl 6 Summarizer [EMAIL PROTECTED] wrote:

 So, I hopped into a taxi (and I use the word hopped advisedly) and
 repaired straightway to King's Cross and thence home to Gateshead, where
 my discomfort was somewhat ameliorated by the distraction of preparing
 this week's summary. I hope to be writing next week's summary as well
 because the week after I'll be moving house and don't quite know when
 I'll have my bandwidth back.

That sounds fine to me.  After next weeks I will start writing weekly
summaries until you send me an email saying you are ready to resume. 
Don't hurry on my account; I know moving is a pain.

Matt
--
Computer Science is merely the post-Turing Decline of Formal Systems Theory.
-Stan Kelly-Bootle, The Devil's DP Dictionary


This week's summary

2005-11-15 Thread The Perl 6 Summarizer
The Perl 6 Summary for the fortnight ending 2005-11-13
Welcome to another fortnight's worth of summary. We'll get back to a
weekly schedule one of these fine days, you see if we don't.

This fortnight in perl6-compiler
There was a surprisingly large amount of activity on the list, but
again, the place to look for perl6 compiler news is the Planet Perl Six
aggregator.

http://planetsix.perl.org/

  PGE improvements and changes
Patrick announced that he'd checked in some major changes to the PGE
internals. The changes include a shiny new shift-reduce operator
precedence parser which is used to parse the rules themselves. PGE
finally has a p6rule parsing rule which can be used to parse a valid
Perl 6 rule. There are other changes, but those two are the headlines.
Patrick asked for the usual questions, comments, patches and tests.

A couple of days later, he posted a more comprehensive overview of the
new and shiny bits in PGE.

http://xrl.us/ifuy

http://xrl.us/ifuz

  PGE problem with non-greedy quantifiers
Allison fell foul of some changes in the new PGE. This turned out to be
a bug in PGE, so Patrick fixed it.

http://xrl.us/ifu2

  The meaning of \n and \N
Noting that Synopsis 5 says that '\n now matches a logical (platform
independent) newline, not just \012', Patrick asked the list for more
details about what that should mean so he could get on and implement it
in PGE. He offered up a suggested matching rule. Larry thought that the
suggested rule was close enough for jazz.

http://xrl.us/ifu3

  [] and () on rule modifiers
Patrick continues to work on the PGE. This time he asked about the
behaviour of rule modifiers, with particular reference to the :w
modifier. Larry had answers.

http://xrl.us/ifu4

  Parrot 0.3.1 Wart released
Leo announced the release of Parrot 0.3.1 Wart, complete with shiny
new features like variable sized register frames and no more spilling, a
much better PGE (see above) and other goodies. The latest release has
more than 3000 tests, and that's probably still not enough.

http://xrl.us/ifu5

  Octal in p6rules (and strings)
Patrick Continued his voyage of stringy discovery, this time asking
about the black art of specifying glyphs/bytes/whatever using octal
notation. He wondered about his assumption that the correct way to do it
is with \o123 by analogy with using 0o123 to specify a number in
octal. He also wanted confirmation that the \nnn notation had been
dropped. A surprisingly long discussion ensued as Larry did a good deal
of thinking aloud and Patrick got on with implementing the nailed down
bits.

http://xrl.us/ifu6

Meanwhile, in perl6-internals
  SWIGging Parrot
John Lenz is one of the developers a SWIG, which started off as the
Python equivalent to Perl's XS. He had some questions about writing a
SWIG module for parrot and asked if there would be interest in having
SWIG be one of the 'official' ways of doing native calls from Parrot.
Leo thought not, pointing out that Parrot's NCI is fully dynamic and
groovy.

http://xrl.us/ifu7

  NCI using ffcall library
Garrett Goebel joined in the ongoing discussion of using ffcall to
implement the Parrot NCI (Native Call Interface) by pointing back to an
earlier discussion of using libffi to implement the Parrot NCI. Last
time round, Dan had pointed out that, because libffi is an external
library, there still needs to be a supported (if possibly hackish) way
of doing NCI that comes with Parrot, but that configure could probe for
external libraries to use where they are available.

http://xrl.us/ifu8

  Heredocs in function calls
Patrick wondered if there might be a convenient way to support heredoc
parameters in PIR function calls. Nicholas Clark wondered why one would
bother since most PIR code should be generated code.

Later on, Leo implemented them. About the only place they don't work now
is in macro arguments.

http://xrl.us/ifu9

http://xrl.us/ifva

  Simple register allocation
Summarizing a discussion on IRC, Patrick noted that it would be nice if
the PIR compiler had a way to use a very basic register allocation for
.subs that only use a small number of registers. After all, there's
little point in doing a complex analysis of control flow if a sub uses
(say) 5 registers at most. The problem is that this analysis gets harder
as the subs get longer (O(n) on the length of the sub). In the case of
PGE (for instance), the subs can get very long, with lots of control
flow statements, but use a maximum of 10 PMC, 9 int and 4 string
registers for the whole thing.

Warnock applies.

http://xrl.us/ifvb

  Careful with that bsr Eugene
Leo noted that, with the introduction of variable sized register frames,
it is no longer 

Re: This week's summary = Perl 6 perlplexities

2005-11-15 Thread Michele Dondi

On Tue, 15 Nov 2005, The Perl 6 Summarizer wrote:


 Perl 6 perlplexities
   Michele Dondi worries that the increase in complexity of some aspects of
   Perl 6 is much bigger than the increase in functionality that the
   complexity buys us. In particular Michele is concerned that the Perl 6
   parameter passing and signature stuff is going to be a big loss. People
   mostly disagreed with him. Rob Kinyon made a remark that chimed strongly


To be sure, I never intended to claim that signature stuff is going to be 
a big loss, and I hope that I didn't. First of all I chose it solely as 
an example. Then the sense that I was trying to convey is that 90% of what 
has already been stuffed in it will already be the best thing since 
sliced bread, and that trying to fit the remaining 10% of all fancy types 
of parameter passing may not really make it better hence resulting in a 
_possible_ loss.



Michele
--
   premature optimization is the root of all evil
- Tad McClellan in clpmisc, Re: Whats the variable holding the dir seperator?


Re: This week's summary

2005-11-15 Thread Leopold Toetsch


On Nov 15, 2005, at 17:24, The Perl 6 Summarizer wrote:


The Perl 6 Summary for the fortnight ending 2005-11-13



  string_bitwise_*


Leo, it seems to boil down to a choice between throwing an 
exception or
simply mashing everything together and marking the 'resulting bit 
mess'

as binary. Warnock applies.


I've today cleaned up the string_bitwise code a bit. These rules apply 
now:


- usage of non-fixed_8 encoded strings in binary string ops throws an 
exception

- else the result string has charset binary, fixed_8 encoded.

Thanks again for your concise summaries,
leo



Re: This week's summary

2005-11-05 Thread Michele Dondi

On Fri, 4 Nov 2005, The Perl 6 Summarizer wrote:


   Slightly tangentially to this, Dan Sugalski blogged a couple of weeks
   ago about his successes and failures with Parrot. The comments are worth
   reading -- there's a fair few more or less well founded complaints about
   the way the Perl 6 project has been managed, many of which seem already

 ^^^
 ^^^

   to have been addressed. Certainly the design process is rather more
   visible now.


Comments that made me thought about the need for the verb to damanage, 
when I first read them!  ;-)



Michele
--

Did I get that right?

I know what I said, but I don't see how I can answer questions about how
it seemed to you.  Such propositions are independent of my axioms.
- Dave Seaman in sci.math, Re: Is zero even or odd?


This week's summary

2005-11-04 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-10-30
Hmm... Thursday afternoon and I've only just started writing the
summary... What happened to professionalism? What happened to rigid,
albeit self-imposed deadlines?

Um... I've had a cold. The cats ate my homework.

This week in perl6-compiler
It's weird isn't it? Activity on Pugs and the other Perl 6 compiler
tools shows no signs of slowing (especially now conference season is
over), but the volume of mail on the list continues to be tiny. Autrijus
seems to be Erdösing round Europe and writing everything up on use.perl.
I could give you a bunch of links to various other blogs and journals
where various Perl 6 developers are writing up their work, but it's
probably easiest just to point at the Planet Perl Six aggregator. It's
good to see so much of this stuff becoming a little more visible.

http://planetsix.perl.org/

  Meanwhile, in perl6-internals
Discussion of the Parrot JSON serialization code span off into a
discussion of generalized serialization for Parrot data structures.

http://xrl.us/ia4m

  Determining the number of return values expected
Leo and Jonathan Worthington discussed how to find out about the number
and types of return values the caller expects. Jonathan ended up
implementing an experimental op to kick around.

http://xrl.us/ia4n

  Rules for changing APIs
Leo talked about the Parrot policy for changing APIs. In general, it's a
good idea not to have to change a public API, but in practice, it
happens. As Leo said, the general rule is You break it, you fix it, so
the policy is that if any API changes break anything in the Parrot
subversion tree, it's up to whoever changed the API either to fix it or
to work with the the sub project's 'owner' to get it fixed. Projects
that aren't in the tree will need to keep themselves up to date, but if
you didn't document your changes well enough, expect to be fielding
questions for a while after your changes.

http://xrl.us/ia4o

  check_progs is not portable
François Perrad pointed out that the check_progs subroutine used by
Parrot's config system doesn't work on windows. He suggested using the
CPAN module File::Which instead. This turned into a discussion about
whether it would be good to have a Bundle::Parrot set up on CPAN with
all the CPAN modules needed for Parrot to build, or if we should
continue to bring those modules that Parrot needs into the Parrot
distribution so that, once you've downloaded the Parrot tar file you
won't need to scurry off to CPAN for various supporting bits and pieces.

http://xrl.us/ia4p

  The Configure System
Understating the case somewhat, chromatic pointed out that the plugin
system for configuration is grotty. Everyone agreed pretty much, but the
question is whether to do anything about it since the current
configuration is supposed to be a stopgap solution until we get the
proposed miniparrot scheme up and running. Pretty big gap eh?

Hopefully this means we're going to get work started on the miniparrot
approach. Or maybe someone will clean up the stopgap. Neither would be
bad.

http://xrl.us/ia4q

  Yet another C compiler
Leo pointed everyone at the Amsterdam Compiler Kit, which is the default
compiler for Minix and wondered if anyone wanted to experiment with it
to see if it could compile parrot.

http://tack.sourceforge.net/

http://xrl.us/ia4r

  Deprecation warning
Leo announced that the newsub operator is about to be removed. Check
docs/compiler_faq.pod for details of the Right Way of making subs.
Patrick had a few questions so he could track the changes in PGE. Leo
answered them.

http://xrl.us/ia4s

  Compiling parrot with c++
Nick Glencross wondered if it would be a good idea to make it so that
Parrot couple be compiled by a compiler in C++ mode. The answer appeared
to be 'yes'.

http://xrl.us/ia4t

  Documenting new_pad
Jerry Gay asked about the use of the new_pad op, which appears to be
both undocumented and untested. Not good. He posted some apparently
reasonable code that fails. Matt Diephouse reduced it to a simpler
failing case and Leo tracked down the bug. None of which addresses the
lack of documentation of course, but it's a start.

http://xrl.us/ia4u

  All tests successful considered harmful
Jerry Gay pointed out that All tests successful is only a useful
message when you're confident that your test suite has good enough
coverage. Jerry thinks parrot has too few tests. So he's started writing
more and sending in patches. He noted that trying to write tests was a
very good way of discovering areas of Parrot that aren't sufficiently
(at all) specced. He called for others to join him in writing tests and
picking off parrot's low hanging fruit. Go 

Re: This week's summary

2005-11-04 Thread Juerd
The Perl 6 Summarizer skribis 2005-11-04 14:34 (+):
   $_ defaulting for mutating ops

Probably I have not been clear enough about that I no longer think this
is a good idea. 


Juerd
-- 
http://convolution.nl/maak_juerd_blij.html
http://convolution.nl/make_juerd_happy.html 
http://convolution.nl/gajigu_juerd_n.html


This week's summary

2005-10-10 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-10-09
Hello, and welcome to the first Perl 6 Summary to be published on my
website rather than its former home at http://www.perl.com/

This week in perl6-compiler
  PGE error on failing subrules
Allison broke the resounding silence of the last two weeks by posting
about some PGE errors she was seeing. No reply yet.

http://xrl.us/hx2j

  Tests converted from pugs' rules.t to Parrot::Test::PGE
Yuval Kogman announced that he'd written a script to convert pugs's
rules tests into Parrot tests. The resulting test suite still needs some
attention, and he outlined what was needed. No response so far on the
list.

http://xrl.us/hx2k

Meanwhile, in perl6-internals
  Variable registers
Klaas-Jan Stol wondered about how the new lexical scheme was going to
work. In particular, he wanted to know what was happening to
scratchpads. Leo gave a very brief overview of the new scheme, which
uses register frames for static lexicals and more conventional
scratchpads for dynamic lexicals. As I understand it, they'll look
pretty much the same from the PIR writer's point of view. Leo promised a
PDD from Chip in the nearish future which would thrash out the details.

http://xrl.us/hx2m

  Exception handlers and calling conventions
Roger Browne wanted to know if exception handling had changed at the
same time as the calling conventions. He presented some code that
behaved differently depending on the Parrot version. Leo replied that
exceptions still wind up in P5 and Roger had found a bug. So Leo fixed
it.

http://xrl.us/hx2n

  Parrot 0.3.0 TODO
Having successfully got Parrot building on his Cygwin installation,
Robert Eaglestone was casting around for something to do and listed a
few possibilities. Will Coleda replied that he'd quite like to see a
working Parrot equivalent to Perl 5's $0.

http://xrl.us/hx2o

  Parrot 0.3.0 and Tru64
Jarkko Hietaniemi posted a bunch of issues with Parrot on the Tru64
architecture. Leo addressed them. I'm not sure they're all fixed yet
though.

  TCL - Compiling
Will Coleda announced that ParTcl is now a compiler. Some tests are
failing but Will claimed that this is because Jerry Gay was getting
bored with all the tests passing. Jerry was delighted. As Will said
later in the thread, the current iteration is doing the bare minimum
needed to be called a compiler, but of course that will change over
time. Good work Will.

http://xrl.us/hx2p

  BROKEN.pod
Hey, now he's no longer my editor, I don't have to worry about making
sure I don't put his name at the beginning of a sentence! Anyhow,
chromatic posted a first cut at BROKEN.pod, the big list of broken
stuff. There followed some discussion of how this should be organised in
the future, particularly on the RT side. After discussion, it was
decided to keep it as a single file for now, but to aim for generating
it from multiple RT tickets in the future.

http://xrl.us/hx2q

  Stack call directives are deprecated
Using .param, .arg, .return, .result and call to do stack
based calling conventions is now deprecated. Use save, restore,
bsr and ret instead. Or, ideally, use the standard Parrot calling
conventions.

http://xrl.us/hx2r

  Deprecation of rx ops
Brent Royal-Gordon confirmed that he was happy enough to see his
experimental regular expression specific ops removed from Parrot.

They've not been removed yet, but they're certainly deprecated.

http://xrl.us/hx2s

  Software Architecture of Parrot
Klaas-Jan Stol informed us that his Software Architecture professor had
approved his proposal to write a paper on the architecture of Parrot. He
outlined his plans for the paper and hoped that he would be able to
count on people for proof-reading when the time came. Leo thought it was
a marvellous idea (so do I come to that, but I didn't say anything on
the list.)

http://xrl.us/hx2t

  ParTcl command line options, etc
Will Coleda kept us abreast of his progress with ParTcl in this thread,
initially announcing the new -e flag which allowed for writing one
liners. After a certain amount of havering before a final interface
arrived, ParTcl also acquired a --pir flag, which dumps the results of
compilation to a PIR file.

http://xrl.us/hx2u

  BASIC compiler
Will Coleda (does the man never sleep?) announced that the BASIC
compiler is (sort of) working again with Parrot 0.3.0. There are still
problems with the windows display code (the offending code is simply
commented out), but code that doesn't need that appears to be working
now. He noted that BASIC could really use a decent test suite, right now
he was simply working to get programs like eliza2.bas and wumpus.bas
working, which is okay as far as it goes, but he 

Re: This week's summary

2005-09-27 Thread TSa

HaloO,

The Perl 6 Summarizer wrote:

Meanwhile, in perl6-language
  \(...)
Oh look, a thread in p6l that's still going more than a fortnight later.
How unusual.


Is a long running thread considered a bad thing on this list?
I have grasped so far, that spawning a new thread after
some divergence from the original topic is considered nice.



This particular instance of the form is nominally about the
behaviour of \($a, $b) but various subthreads have drifted onto
discussions of context in general and meaningful whitespace. So far
there has been no discussion of the return value of
Pin.head.contents.grep - Angel $a {$a.is_dancing} but I'm sure it's
only a matter of time.


Please tell me if the particular pinhead is me. I'm actually about to reply
to Juerds question about my ranting about code backing the interpolation
of data into strings. Or is that considered counter productive
hairsplitting?
--
$TSa.greeting := HaloO; # mind the echo!


Re: This week's summary

2005-09-27 Thread Juerd
TSa skribis 2005-09-27 10:15 (+0200):
 Is a long running thread considered a bad thing on this list?

Just like how a post being Warnocked can have one or more of several
causes, a long running thread can.

Some are bad, some are good. 

As a thread becomes longer and more fanned out, it becomes hard to
manage, and everyone has their favourite subthreads. This results in
uninformed discussion, divergence and it getting even harder to reach
concencus.

 I have grasped so far, that spawning a new thread after
 some divergence from the original topic is considered nice.

Whenever you want to react on several posts simultaneously, consider it
as a whole, and say what you have to say about it, usually with a new
proposal, I do think it is better to start an entirely new thread.

It can make a subject more accessible for outsiders, who have neither the
time nor the will to read the original 50-message discussion. If this is
the goal, the new thread should start off with a well structured
explanation, instead of just referring to previous discussion.

There are many huge differences between repying and starting a new
thread, but still it can be hard to decide what to do.

For me, the most noticeable difference is the time spent thinking and
writing: for replies it's short, for new messages, it's long.


Juerd
-- 
http://convolution.nl/maak_juerd_blij.html
http://convolution.nl/make_juerd_happy.html 
http://convolution.nl/gajigu_juerd_n.html


Re: This week's summary

2005-09-27 Thread Piers Cawley
TSa [EMAIL PROTECTED] writes:

 HaloO,

 The Perl 6 Summarizer wrote:
 Meanwhile, in perl6-language
   \(...)
 Oh look, a thread in p6l that's still going more than a fortnight later.
 How unusual.

 Is a long running thread considered a bad thing on this list?

Nah, it's just hard to summarise.

 I have grasped so far, that spawning a new thread after
 some divergence from the original topic is considered nice.

Definitely.

 This particular instance of the form is nominally about the
 behaviour of \($a, $b) but various subthreads have drifted onto
 discussions of context in general and meaningful whitespace. So far
 there has been no discussion of the return value of
 Pin.head.contents.grep - Angel $a {$a.is_dancing} but I'm sure it's
 only a matter of time.

 Please tell me if the particular pinhead is me. I'm actually about to reply
 to Juerds question about my ranting about code backing the interpolation
 of data into strings. Or is that considered counter productive
 hairsplitting?

Just a reference to the old philosophical question of how many angels can dance
on the head of a pin. That and the fact that I occasionally get curmudgeonly
and hit the send button before I have second thoughts.

The weird thing is that the syntax I rolled there is soon to be the topic of an
original thread, once I've got the thing written up a little more.

-- 
Piers Cawley [EMAIL PROTECTED]
http://www.bofh.org.uk/


This week's summary

2005-09-26 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-09-25
Hello all. It's another Monday afternoon, which means I'm writing
another summary. There's no cricket to distract me this week, so I'm
letting iTunes Party Shuffle attempt to distract me instead.

This week in perl6-compiler
Nobody said anything on the list this week. I blame IRC.

Meanwhile, in perl6-internals
  About multithreading
Leo pointed everyone at an article about about 'A Fundamental Turn
Toward Concurrency in Software'. Jonathan Worthington liked it.

http://xrl.us/hq4w

  Bug Wrangling
It's possibly a failing of mine as a summary writer, but I've not been
following Parrot's RT traffic. Luckily, Joshua Hoblitt has volunteered
as a Bug Wrangler and he's hoping to increase the signal/noise ratio. To
that end, he'll be pinging people who reported bugs that are older than
3 or 4 months to find out if they're still current or can be closed. It
sounds like a mammoth task in the short term, but it also sounds like a
very useful project that'll get easier once the big house cleaning has
been done.

He hinted that this is the sort of project that *really* benefits from
having more than one volunteer doing the work.

Later in the week, he posted a bunch of IMCC TODOs.

http://xrl.us/hq4x

  Tcl, exceptions in leo-ctx5
Andy Dougherty posted some more details about a bug in ParTcl when
running under Leo's branch. The bug seems to depend on whether there's a
slash in the script path passed to ParTcl. There was no response, but
hopefully work continues on fixing it.

http://xrl.us/hq4y

  [RFC] Debug Segment, HLL Debug segment and Source Segment
Jonathan Worthington posted a discussion of how debugging segments could
work in Parrot in the future. He outlined a suggested unified debug
segment format that should work for both PASM/PIR and high level
language debugging requirements.

Roger Browne applauded Jonathan's efforts and made some further
suggestions.

And then the thread got Warnocked.

http://xrl.us/hq4z

  Magic is useless unless verifiable
Jonathan Worthington posted a discussion about how Parrot bytecode files
should handle their magic number. At present, apparently, Parrot checks
the magic number only after it's tried to work out word size and
bytecode. Which is somewhat bass ackward. After some discussion, Chip
reckoned that the solution would be to have a magic string rather than a
magic number.

http://xrl.us/hq42

  loadlib and libraries with '.' in the name
Ross McFarland found a problem with loadlib. Apparently it won't let
you load a library that has a '.' in the name. It turns out that fixing
things robustly isn't quite as straightforward as it at first appears.
Discussion ensued.

Ross posted a patch to RT.

http://xrl.us/hq43

http://xrl.us/hq44

  Find copied and pasted code
That gentleman of great intelligence, sagacity, wit and annoying
capitalization; the one and only chromatic wondered what running PMD's
copy and paste detector plugin on Parrot's .c files would show. If
anyone has run it yet, they haven't reported on its findings, but it
surely won't be long now.

http://pmd.sf.net/cpd.html

http://xrl.us/hq45

  Amber's Ashes Announced
Roger Browne announced the release of Amber for Parrot version 0.2.3a
(Ashes). According to the announcement, Amber's a Eiffel like scripting
language for Parrot. Joe Bob says Check it out!

http://xamber.org/index.html

http://xrl.us/hq46

Meanwhile, in perl6-language
  \(...)
Oh look, a thread in p6l that's still going more than a fortnight later.
How unusual. This particular instance of the form is nominally about the
behaviour of \($a, $b) but various subthreads have drifted onto
discussions of context in general and meaningful whitespace. So far
there has been no discussion of the return value of
Pin.head.contents.grep - Angel $a {$a.is_dancing} but I'm sure it's
only a matter of time.

http://xrl.us/hq47

  Junctions, patterns and fmap again
Luke continued to discuss Junctions and fmap with Stuart Cook.

http://xrl.us/hq48

  Conditional wrapper blocks
Yuval Kogman discussed the inelegance of code that reads like:

  if $condition { pre }

  unconditional midsection; 

  if $condition { post }

And proposed a possible syntax that could be implemented in a macro. I
confess that I would be taking this thread more seriously if, when I was
writing this summary I had been able to come up with a realistic example
of code that had this problem.

Anyhoo, it sparked a good deal of discussion.

http://xrl.us/hq49

  Object Model Pictures
Stevan Little's ongoing development of the Perl 6 MetaModel continues to
yield pictures. This week he incorporated Roles into the bigger picture.


Re: This week's summary

2005-09-26 Thread Yuval Kogman
On Mon, Sep 26, 2005 at 18:12:23 +0100, The Perl 6 Summarizer wrote:
   Allomopherencing
 Not satisfied with inventing Exceptuations, Yuval invented
 Allomopherencing as well. Just don't ask me what it means because I
 don't know.

It was just a bad joke on Exceptuation's expense ;-)

The thread asks whether disabling strong and compile-time-angry type
ineferencing should ever be disabled, since we have much better
allomorphism-oriented support for typing and introspection.

-- 
 ()  Yuval Kogman [EMAIL PROTECTED] 0xEBD27418  perl hacker 
 /\  kung foo master: /me spreads pj3Ar using 0wnage: neeyah!!!



pgpfR0MdzmzgI.pgp
Description: PGP signature


This week's summary

2005-08-15 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 20050814
As you will note from the date in the title, it's been a short week.
We're switching back to a midnight Sunday/Monday rollover in order to
make life easier for the perl.com types. So, if I can avoid being
distracted too much by the second Ashes test we'll try and get the
summary finished on before Monday is out, which should please chromatic.

This week in perl6-compiler
Another low volume week in perl6-compiler; probably because, with the
high speed of pugs development, most of the discussion happens on IRC.

  Container model - pictures and questions
Autrijus fielded some questions about and updated the pictures of the
container model.

http://xrl.us/g5kk

  Why PXPerl?
Robert (No Surname) asked what were the benefits of PXPerl over the
ActiveState distribution. In short, PXPerl comes with Parrot and Pugs,
which ActiveState doesn't. If you set your path appropriately, you can
continue to use the ActiveState Perl and just rely on PXPerl for Parrot
and Pugs.

http://xrl.us/g5km

  Hoisting lexical declarations
Larry answered some of Autrijus's questions about Perl 6's lexical
scoping rules. Apparently what Pugs currently does is close enough to
sane to be going on with.

http://xrl.us/g5kn

  Warnock in Pugsland
Autrijus noted that, in Pugsland, a Warnocked patch usually means that
the person who posted the patch simply got given a committer bit and
didn't mention the fact on the list.

http://xrl.us/g5ko

  MetaModel Notes
Nathan Gray posted some notes and ASCII art about the Metamodel.
Autrijus added pointers to further pictures.

http://xrl.us/g5kp

http://xrl.us/g5kq

http://xrl.us/g5kr

Meanwhile, in perl6-internals
  Updated intro.pod
Jonathan Worthington posted a rewrite of Parrot's intro.pod document,
now with a discussion of PIR. Huzzah!

http://xrl.us/g5ks

  Test::Builder and friends on Parrot
Following prompting from Geoff Young and Jeff Horwitz, chromatic has
implemented Test::Builder and Test::Builder::Tester in pure parrot. For
his next trick, he intends to port Test::More and Parrot::Test.

Tests are good, m'kay?

http://xrl.us/g5kt

  How to add a new opcode?
Gerd Pokorra asked how to add an opcode to Parrot. Klaas-Jan Stol and
Leo gave the answers.

http://xrl.us/g5ku

  Cleaning up the call opcodes
Leo reposted about cleaning up the various function calling opcodes to
take account of the fact that the calling conventions have changed. He
asked for opinions and actually got a couple, which is handy since he
got Warnocked last time.

http://xrl.us/g5kv

  parrot -I
Amir Karger wondered if there was some way of telling Parrot to add
directories to its load path. Leo seemed not to think it was that good
an idea, and proposed using a relative path in a .include directive.

http://xrl.us/g5kw

  Dominance Frontiers
Curtis Rawls continued his work on dominance frontiers to improve
Parrot's optimizer.

http://xrl.us/g5kx

  PGE globber, empty strings
Will Coleda reported that trying to match empty strings with PGE's
glob implementation. It turned out to be a problem with Data::Escape.
Leo fixed it.

http://xrl.us/g5ky

  Deprecated opcodes
Leo posted a list of opcodes that are due for the chop (or alteration)
soon. If you're doing anything with Parrot, it's probably a good idea to
take a look at this. One of those who did was chromatic, who asked if
Leo could give some examples of translating code so as not to use the
old forms.

http://xrl.us/g5kz

Meanwhile, in perl6-language
Hmm... 8 balls to go with one wicket needed. I think I'll pause for a
while...

Damn. Australia have saved the game.

  Translating (or at least parsing) Java interface definitions
Tim Bunce wondered if anyone had done any work on parsing Java interface
declarations and (ideally) translating them to roughly equivalent Perl
6. Apparently Gaal Yahas has done something along these lines (with
Parse::RecDescent for Perl 5) but doesn't own the code. He outlined the
approach he took.

http://xrl.us/g5k2

  Perl 6 Meta Object Protocols and $object.meta.isa(?)
Stevan Little is busy documenting the Perl 6 Meta Model that he's
implemented in Perl 5 and that Autrijus is busy porting to Haskell. He
posted an overview to the list and asked for comment. There then
followed lots of discussion. I think I understood some of it.

http://xrl.us/g5k3

  $object.meta.isa(?) redux
Stevan split the discussion of $object.meta.isa(?) off from the
earlier metamodel thread into a thread of its own and asked for comments
once more. Larry commented that the Apocalypses are primarily intended
to be entertaining rather than factual. Also in this thread, Luke let
slip that there's now a 

This week's summary

2005-07-20 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-07-19
Welcome to another Perl 6 Summary, brought to you by the words
'displacement' and 'activity'. So far today I've caught up with
everything unread in NetNewsWire, my Flickr groups, every other mailing
list I'm subscribed to and completed about 5 Sudoku. And now I'm
dragging out this introduction and I don't know why; I enjoy writing
these things.

This week in perl6-compiler
Another quiet week on the list. However, you only have to watch the svn
commit log and the other stuff on PlanetSix to know that things are
still proceeding apace. Last time I looked it seemed that Stevan Little
was working on bootstrapping the Perl 5 implementation of the Perl 6
MetaModel so that it's implemented in terms of itself.

Rather mindbogglingly, Pugs is now targeting Javascript as well.

The Current Pugs release is 6.2.8

http://xrl.us/gtdv

  Creating threads in BEGIN
Nicholas Clark posted what he described as a 'note to collective self'
wondering about how Perl 6 will cope with people creating threads inside
BEGIN blocks. According to Luke it won't. Larry thought that it might
be okay to create threads at CHECK time, so long as any spawned threads
didn't do any real work later than CHECK time.

http://xrl.us/gtdw

  Perl 6 Modules
Gav... (I presume the ellipsis is important to someone) wondered what he
needed to do to write Perl 6 modules. Nathan Gray pointed him at the
porting howto in the pugs distribution.

http://xrl.us/gtdx

http://xrl.us/gtdy

  Is namespace qualification really required?
Phil Crow came across some weirdness with namespace resolution. It seems
that you have to explicitly qualify function names in signatures.
Autrijus agreed that it was a bug and asked for Phil to write a TODO
test. Discussion ensued -- I think it's fixed in SVN now.

http://xrl.us/gtd2

  Parsing perl 6 grammars
Nathan Gray wondered about the state of Jeff 'Japhy' Pinyan's effort to
implement a Perl 6 rules parser. Japhy said that it's been on hold for a
while, but that he'd started to work on it again, basing it on his
earlier Regexp::Parser module.

http://xrl.us/gtd4

Meanwhile, in perl6-internals
  PMC changes?
Nicholas Clark wondered if the PMC layout is likely to remain stable, or
if there might be changes in relation to the generational garbage
collector. In particular, he wanted to know if the API would remain
stable. Leo thought that there might be changes in the layout, but the
API shouldn't change.

http://xrl.us/gtd5

  ParTcl Accelerator
Will Coleda showed some timings for ParTcl, the Parrot implementation of
Tcl and made a few suggestions about how to get things going faster.
Patrick and Leo mused on the issues involved.

http://xrl.us/gtd6

  Partitioning PMCs
Nicholas Clark had some questions about making PMCs and Ponie play well
together, with particular reference to using SvFLAGS().

http://xrl.us/gtd7

  Embedding/extending interface
Nicholas Clark wondered if chromatic was still waiting for confirmation
that his automated embedding tools were the Right Thing. Apparently,
chromatic is waiting for confirmation, but offered to send his existing
patch, if only to force the discussion.

http://xrl.us/gtd8

  Ponie Questions
Nicholas Clark had a bunch of questions about various subsystems, mostly
in relation to Ponie. Leo came good with answers.

http://xrl.us/gtd9

http://xrl.us/gtea

http://xrl.us/gteb

  Parrot Project Management
I'm not sure if Will Coleda's suffering culture shock about the way
Parrot project management is done, or if we're really not doing it
right. The first rule of Parrot/Perl 6 development is that if you really
want something then the only way to guarantee that it gets done is to do
it yourself. It's certainly worked for me over the years.

http://xrl.us/gted

  Tcl GC issues... solved
Matt Diephouse announced that as of r8617 in svn, the longstanding GC
bug that was occasionally tickled by ParTcl has been fixed. There was no
rejoicing on list, but at least one summarizer was really pleased to
hear it.

http://xrl.us/gtee

  GMC for dummies
Summer of Code intern, Alexandre Buisse, who is working on a new GC
system for Parrot pointed us all at an introduction to the Generational
Mark and Compact scheme that he's working to implement. He and Leo had a
discussion about implications, assumptions and other stuff.

Bob Rogers asked some tricky questions relating to circular structures
and timely destruction. Discussion of this continues.

http://xrl.us/gtef

http://xrl.us/gteg

  Register Allocation fun
There was a flurry of patches from Curtis Rawls who appears to be
working on refactoring and (one hopes) fixing the IMCC register

This week's summary

2005-07-06 Thread The Perl 6 Summarizer
The Perl 6 summary for the week ending 2005-07-05
My, doesn't time fly? Another fortnight gone and another summary to
write. It's a hard life I tell you!

This week in perl6-compiler
  Where's everyone gone?
It seems that most of the Perl 6 compiler development is being discussed
at Hackathons and IRC, and summarized in developers' weblogs. What's a
summarizer to do? For now, I'll point you at Planet Perl 6, which
aggregates a bunch of relevant blogs.

http://xrl.us/gn5n

  PGE now supports grammars, built-in rules
Allison Randal raved about the totally awesome PGE grammar support. I
doubt she's alone in her enthusiasm.

http://xrl.us/gn5o

  Multiple implementations are good, m'kay?
Patrick discussed the idea of a 'final' Perl 6 compiler, pointing out
that it isn't clear that there needs to be a final compiler. So long
as multiple implementations are compatible...

http://xrl.us/gn5p

Meanwhile, in perl6-internals
  New calling conventions
Klaas-Jan Stol asked a bunch of questions about the new calling
conventions and Leo answered them.

http://xrl.us/gn5q

  Parrot Segfaults
What's a tester to do? You find a bug that makes Parrot dump core, so
you write a test to document the bug and make sure it gets fixed. But
the test leaves core files lying about. It goes without saying that
Parrot should never dump core without the active assistance of an NCI
call or some other unsafe call blowing up in its face.

Which makes it a little embarrassing that PIR code generated by Pugs can
cause a parrot segfault, though that appears to have been caused by
mixed up calling convention style in the generated call.

http://xrl.us/gn5r

http://xrl.us/gn5s - Brian Wheeler's segfaulting Pugs script

  Python PMCs
Leo pointed out that the various dynclasses/py*.pmc parrot support PMCs
don't yet support all the semantics that Python needs. He outlined some
outstanding issues announced that, as calling conventions and context
handling were changing he'd be turning off compiling py*.pmc for the
time being.

http://xrl.us/gn5t

  PGE bug
It appears that the upcoming changes in Parrot's context handling tweak
a bug in PGE. The discussion moved onto a discussion of PGE's
implementation strategy, Nicholas Clark was keen to make sure it didn't
repeat some of the Perl 5's regex engine's infelicities. While this
discussion continued, Leo spent half a day with gdb and tracked down the
problem, which turned out to be that a register wasn't getting
initialized in the right place.

http://xrl.us/gn5u

  Left-recursive grammars are bad m'kay?
While experimenting with PGE grammars, Will Coleda managed to write a
left-recursive grammar that blew Parrot's call stack with impressive
ease. Luke apologized for things blowing up so spectacularly, but
pointed out that left-recursive grammars weren't supported, and showed a
rewritten grammar that didn't have the same problem (but which doesn't
appear to match the same expressions).

http://xrl.us/gn5v

  Coroutines
Leo pointed to a summary of coroutines, and noted that we still hadn't
defined the syntax of Parrot coroutines, especially with respect to
argument passing. He discussed it with Matt Fowles and solicited a set
of tests that expressed the semantics they came up with.

http://xrl.us/gn5w

ftp://ftp.inf.puc-rio.br/pub/docs/techreports/04_15_moura.pdf

  ParTcl, Perl6 Grammars
Will Coleda announced that, thanks to Matt Diephouse's work, ParTcl (Tcl
on Parrot) is now able to run part of tcl's cvs-latest test suite. The
tests aren't fully native yet, they're currently driven through a Perl
test harness and only passing 10% of the tests, but hopefully the
situation will improve and ParTcl will end up able to run the tests
completely natively (while passing far more of them). Congratulations on
the work so far though.

http://xrl.us/gn5x

  Python and Parrot
Kevin Tew popped up to say that he too is working on a Python compiler
targetting parrot and wondered how to handle things like Python's self
parameter. Michal Wallace and Leo chipped in with suggestions.

http://xrl.us/gn5y

  Another month, another release
Has it really been a month? Seems so. Parrot walked through the
traditional feature freeze, code freeze before being released on Sunday.
The latest release is called 'Geeksunite', referencing the website that
discusses Chip's problems with his former employer. You should
definitely visit the Geeksunite site -- Chip needs our help.

http://xrl.us/gn5z

http://geeksunite.org/ -- Support your local Pumpking

  lower in default find_name scope
Patrick posted a code fragment whose output surprised him -- it turned
out that looking up lower as a name in the default scope returns an
NCI object. 

This week's summary

2005-06-23 Thread The Perl 6 Summarizer
The Perl 6 summary for the fortnight ending 2005-06-21
Surprise! It's me again. You may be wondering what happened to last
week's summary (I know I was) and where Matt had gone. Well, I'm not
entirely sure where exactly he is now, but last week was moving week for
him.

Those of you reading this on the mailing lists may also be wondering why
this summary is so late. Um... three words: World of Warcraft.

This week in perl6-compiler
As a Summarizer, when you see the 'last fortnight' view of a mailing
list containing 21 messages, several thoughts spring, unbidden, to your
mind: Is my mail broken again? Has everyone given up? Phew, this group
won't take long to do.

It turns out that the answer to both of those questions is No. What
actually happened was that most of the stuff that normally happens in
mail happened at the Austrian Perl Workshop and Leo Tötsch's house, with
a side order of IRC conversation. Oh, and a bunch of spin off threads in
p6l and p6i.

So, in the last fortnight Pugs reached the point where it has a (mostly)
working Parrot back end and BÁRTHAZI Andras wondered if we shouldn't
start a perl6-general mailing list.

http://xrl.us/gia7 - Autrijus's Pugs development journal

http://xrl.us/gia8 - perl6-general anyone?

This week in perl6-internals
140 messages in this one. p6c lulled me into a false sense of security.
Again, you may notice a bewilderingly fast rate of change this summary.
It turns out that they weren't just working on Pugs at Leo's house. Perl
6 Hackathons give great productivity.

  This is not your father's Parrot
There's been some serious work going on under the Parrot hood in the
last two weeks. The calling conventions have been drastically reworked
and now uses 4 new opcodes, set_args, set_returns, get_params and
get_results. At the time of writing, IMCC doesn't give you full
syntactic help with them, but they're easy enough to use explicitly for
the time being and the help is getting there. Check out the PDD for
details.

Also getting rejigged is the continuation/register frame architecture.
Taking advantage of the fact that this is a *virtual* machine, we now
have an unlimited number of registers per register frame. Combine this
with the new calling conventions, in which arguments are passed outside
the register frame and all of a sudden a full continuation becomes a
simple pointer to the register frame and everything gets saved as if by
magic. Which opens up a whole bunch of possibilities. Which has
interesting implications for the register allocator.

http://xrl.us/gia9 -- The new calling conventions

http://use.perl.org/~chip/journal/ -- Chip's design notes

  New Generational GC scheme
Alexandre Buisse posted his outline for a Google Summer of Code project
to implement a shiny new Generational Garbage Collection scheme.
Discussion of tunability and threading issues followed.

http://xrl.us/giba

  Ordered Hashes -- more thoughts
Steve Tolkin helpfully provided a summary of his thoughts about ordered
hashes: An ordered hash that does not support deletes could cause a
user visible bug. At a minimum it should support the special case of
delete that is supported by the Perl each() operator. Dan pointed out
that reusing the ordered hash code for anything other than the lexical
pad it was specifically implemented for was just looking for trouble.

http://xrl.us/gibb

  The thread that I really hoped Matt would be summarizing
AKA Attack of the 50 foot register allocator vs. the undead
continuation monster. Piers Cawley and Chip had something of a
disagreement about interactions between continuations and the register
allocator. After discussion on IRC it became apparent that they were
talking past each other. The new 'the register frame is the
continuation' means that yes, the register allocator definitely can't
rely on being able to reuse registers that persist over function calls,
but that's all right because you can always grab more registers.

http://xrl.us/gibc

  Missing MMD default functions
Remember the missing Multimethod functions I mentioned last time. At the
time Chip hadn't ruled on whether taking them out was the Right Thing or
not. He has since ruled that it was.

This is probably not quite the right place to suggest this, but what the
heck. Maybe in future when user visible changes of this sort are planned
they should spend at least one release period deprecated and throwing
warnings when used.

http://xrl.us/gibd

  PGE, namespaced rules
William Coleda worried that PGE subrules appear to be globally scoped.
It turns out that Patrick worries too, but is currently in the process
of thrashing out how they should be scoped. He outlined his current
thinking.

http

This week's summary, correctly formatted

2005-06-23 Thread The Perl 6 Summarizer
The Perl 6 summary for the fortnight ending 2005-06-21
Surprise! It's me again. You may be wondering what happened to last
week's summary (I know I was) and where Matt had gone. Well, I'm not
entirely sure where exactly he is now, but last week was moving week for
him.

Those of you reading this on the mailing lists may also be wondering why
this summary is so late. Um... three words: World of Warcraft.

This week in perl6-compiler
As a Summarizer, when you see the 'last fortnight' view of a mailing
list containing 21 messages, several thoughts spring, unbidden, to your
mind: Is my mail broken again? Has everyone given up? Phew, this group
won't take long to do.

It turns out that the answer to both of those questions is No. What
actually happened was that most of the stuff that normally happens in
mail happened at the Austrian Perl Workshop and Leo Tötsch's house, with
a side order of IRC conversation. Oh, and a bunch of spin off threads in
p6l and p6i.

So, in the last fortnight Pugs reached the point where it has a (mostly)
working Parrot back end and BÁRTHAZI Andras wondered if we shouldn't
start a perl6-general mailing list.

http://xrl.us/gicz - Autrijus's Pugs development journal

http://xrl.us/gic2 - perl6-general anyone?

This week in perl6-internals
140 messages in this one. p6c lulled me into a false sense of security.
Again, you may notice a bewilderingly fast rate of change this summary.
It turns out that they weren't just working on Pugs at Leo's house. Perl
6 Hackathons give great productivity.

  This is not your father's Parrot
There's been some serious work going on under the Parrot hood in the
last two weeks. The calling conventions have been drastically reworked
and now uses 4 new opcodes, set_args, set_returns, get_params and
get_results. At the time of writing, IMCC doesn't give you full
syntactic help with them, but they're easy enough to use explicitly for
the time being and the help is getting there. Check out the PDD for
details.

Also getting rejigged is the continuation/register frame architecture.
Taking advantage of the fact that this is a *virtual* machine, we now
have an unlimited number of registers per register frame. Combine this
with the new calling conventions, in which arguments are passed outside
the register frame and all of a sudden a full continuation becomes a
simple pointer to the register frame and everything gets saved as if by
magic. Which opens up a whole bunch of possibilities. Which has
interesting implications for the register allocator.

http://xrl.us/gic3 -- The new calling conventions

http://use.perl.org/~chip/journal/ -- Chip's design notes

  New Generational GC scheme
Alexandre Buisse posted his outline for a Google Summer of Code project
to implement a shiny new Generational Garbage Collection scheme.
Discussion of tunability and threading issues followed.

http://xrl.us/gic4

  Ordered Hashes -- more thoughts
Steve Tolkin helpfully provided a summary of his thoughts about ordered
hashes: An ordered hash that does not support deletes could cause a
user visible bug. At a minimum it should support the special case of
delete that is supported by the Perl each() operator. Dan pointed out
that reusing the ordered hash code for anything other than the lexical
pad it was specifically implemented for was just looking for trouble.

http://xrl.us/gic5

  The thread that I really hoped Matt would be summarizing
AKA Attack of the 50 foot register allocator vs. the undead
continuation monster. Piers Cawley and Chip had something of a
disagreement about interactions between continuations and the register
allocator. After discussion on IRC it became apparent that they were
talking past each other. The new 'the register frame is the
continuation' means that yes, the register allocator definitely can't
rely on being able to reuse registers that persist over function calls,
but that's all right because you can always grab more registers.

http://xrl.us/gic6

  Missing MMD default functions
Remember the missing Multimethod functions I mentioned last time. At the
time Chip hadn't ruled on whether taking them out was the Right Thing or
not. He has since ruled that it was.

This is probably not quite the right place to suggest this, but what the
heck. Maybe in future when user visible changes of this sort are planned
they should spend at least one release period deprecated and throwing
warnings when used.

http://xrl.us/gic7

  PGE, namespaced rules
William Coleda worried that PGE subrules appear to be globally scoped.
It turns out that Patrick worries too, but is currently in the process
of thrashing out how they should be scoped. He outlined his current
thinking.

http

This week's summary

2005-06-08 Thread The Perl 6 Summarizer
The Perl 6 summary for the week ending 2005-06-07
Crumbs. I've remembered to write the summary this week. Now if I can
just remember to bill O'Reilly for, err, 2003's summaries. Heck, it's
not like waiting for the dollar to get stronger has paid off.

Ah well, no use crying over spilt milk. On with the show. Maybe, just
maybe, darwinports will work its magic and I'll have a working Haskell
compiler by the time I've finished writing.

This week in perl6-compiler
  Undef issues
I'd probably forgotten this, but Larry pointed out that, in Perl 6 there
would no longer be a function undef() and a value undef. Instead
there'd be a function undefine() and a value undef. But he thought
that we should usually fail() to construct our undefined values.

http://xrl.us/gcxo

This week in perl6-internals
  Keys
I'm not sure I understood what TOGoS was driving at with a suggestion
about keys and properties. Luckily Leo, Dan and Chip all seemed to. The
discussion continued through the week.

http://xrl.us/gcxp

  Loop Improvements
Oh no! It's the register allocator problems again. One of these days I
swear I'm going to swot up on this stuff properly, work out whether it's
really the case that full continuations break any conceivable register
allocator and summarize all the issues for everyone in a nice white
paper/summary.

http://xrl.us/gcxq

  HP-UX build notes
Nick Glencross posted some of his issues with getting parrot up on an
HP-UX machine. After a good deal of discussion and tool chain fettling
he got things building and posted a patch to fix the knowledge which was
promptly applied (r8280 for those of you with the svn chops to know how
to take advantage of that).

http://xrl.us/gcxs

  mod_pugs status
Jeff Horwitz announced that mod_parrot now comes bundled with mod_pugs,
which means that you can now write Apache extensions in Perl 6. I don't
know about you, but my mind is still boggling.

http://xrl.us/gcxt

  Parrot 0.2.1
Parrot spent most of the week in a feature freeze for the release of
Parrot 0.2.1 APW which went ahead as planned on the 4th of June.

http://xrl.us/gcxu

  Parrot on Solaris
Peter Sinnott reported problems with Parrot on Solaris. It turns out
that different implementations of atan behave slightly differently,
which isn't good. I believe the problem remains unresolved.

http://xrl.us/gcxv

  Parrot on Mac OS
Joshua Juran's questions about getting Parrot running on MacOS Classic
were Warnocked.

http://xrl.us/gcxw

  Parrot tests get TODO
Continuing the drive for consistent testing structures everywhere in
Perl land, chromatic applied a patch to Parrot::Test which makes TODO
tests work in a way that Test::Builder understands. Hurrah!

http://xrl.us/gcxx

  Missing MMD default functions
Dan was somewhat bemused to find that the MMD functions' defaults had
disappeared when he did a sync with subversion. He wondered whether this
was deliberate. Turns out that it was. I'm not sure whether Chip's ruled
that it was Right though.

http://xrl.us/gcxy

  Google's Summer of Code 2005
Remember earlier when I talked about IMCC's register allocation? Well
Dheeraj Khumar Arora is looking at working on improving IMCC's
optimizations as part of Google's summer of code 2005. The usual thread
ensued.

http://xrl.us/gcxz

  Building nci/dynclasses on HP-UX
Not content with getting Parrot to build on HP-UX, Nick Glencross next
set his sights on getting nci/dynclasses working on HP-UX. It sounds
like there'll be a patch forthcoming some time next week.

http://xrl.us/gcx2

http://xrl.us/gcx3 -- Nick paints the big HP-UX picture

  Announcing amber for parrot 0.2.1
Roger Browne announced another new language that targets Parrot. It's
called amber, and it borrows a good deal of syntax and semantics from
Eiffel with a large sprinkling of Ruby for good measure.

http://xamber.org/ -- the Amber website

http://xrl.us/gcx4

  A note WRT exception handlers
Leo posted a quick discussion of the correct use of exception handlers
in Parrot. Essentially, the rule is, your exception handler should jump
back to the point just after the exception handler block:

push_eh except_N
  # Code that might fail
clear_eh
resume_N:
...
except_N:
...
goto resume_N

Easy eh?

http://xrl.us/gcx5

Meanwhile in perl6-language
  The reduce metaoperator thread
Remember when I discussed this thread two weeks ago? It's still going
strong.

Larry ended up stating that there will be an optional property
identval on operators which will be set by default on all operators
with obvious identity values. Or it might be called initvalue.

http://xrl.us/gcx6


This week's summary

2005-04-27 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-04-26
It's my turn again. What fun.

What, I hear you all ask, has been going on in the crazy mixed up
world of Perl 6 design and development? Read this summary and,
beginning with perl6-compiler, I shall tell you.

This week in perl6-compiler
  Refactoring Test.pm
Stevan Little had an idea while he was refactoring Test.pm. He wondered
whether to get rid of the various todo_* functions in favour of just
using a t/force_todo file. Which led him to wonder about doing away with
t/force_todo in favour of a force_todo() function. He asked for
opinions before he started making the change (which isn't exactly a
refactoring).

General opinion seemed favourable, though I confess I am perturbed by
the proposed release trick of proclaiming all failures, whether expected
or not, to be TODOs. The current system generates an explicit list of
tests that are failing on 'core' systems. The proposed solution would
seem to make all failures equal, so even unexpected 'platform' failures
wouldn't be caught.

http://xrl.us/fwkn

  Weird thing with say ++$
What do you know, say $i++, ++$i behaves weirdly.

http://xrl.us/fwko

  Pugs 6.2.1 released
Autrijus announced the availability of Pugs 6.2.1 which comes complete
with much shininess.

http://xrl.us/fwkp

This week in perl6-language
  Parrot Common Lisp
Cory Spencer's port of Common Lisp to Parrot was much admired (it's got
some way to go before it's *really* Common Lisp, but it's a cracking
start). Uwe Volker suggested porting emacs to it and was promptly
accused of being Erik Naggum by Lars Balker Rasmussen.

Cory acquired (or is acquiring) a committer bit.

http://xrl.us/fwkq

  State of the Tcl
Will Coleda gave the list a heads up on the state of ParTCL, the Parrot
TCL port. It's still failing some tests, apparently because of GC
issues.

A few days later, these problems went away (we're not quite sure how
though).

http://xrl.us/fwkr

http://xrl.us/fwks

  alarm() and later()
Leo stated that Parrot provides subsecond timer resolution as well as
alarm callbacks and multiple timers. Hurrah!

http://xrl.us/fwkt

  RFC assign Px, Py
Leo posted a discussion of the semantics of assign and set, with a
proposed change to PIR syntax. Warnock applies.

http://xrl.us/fwku

  RFC unary operations
In another RFC, Leo discussed changes to Parrot's unary operators and
proposed other changes.

http://xrl.us/fwkv

  One more MMD -- assignment
Dan noted that he was writing a great deal of code in his set_pmc
vtable methods that looked very MMD-like. He suggested that adding
assignment to the list of MMD functions might be a good idea. Leo
pointed him at his assignment RFC.

http://xrl.us/fwkw

  Fun with morph()
Nicholas Clark wondered about the responsibilities of the morph method
with respect to handling PMC_struct_val. In the subsequent discussion
it became apparent that morph can get complicated. Bob Rogers supplied
a bunch of extra complications and wondered about the feasibility of
making Parrot morph-free. Leo agreed that it seemed feasible and is
probably a good idea. Another subthread made my head hurt -- I can
understand this stuff much better when I'm sat 'round a table with
people and we're kept supplied with drinks, notepaper and, in Leo's
case, industrial quantities of tobacco. (Ah... YAPC::Paris!)

http://xrl.us/fwkx

  Building an incomplete code generator into Parrot
[EMAIL PROTECTED] (that's the only name I have) has started work on
implementing a JIT backend for the AMD64 processor. He asked a few
questions and Leo provided answers.

http://xrl.us/fwky

  Calling Convention Abstraction
This thread continues to rumble on. Leo said that what he wants is for
the HLL folks to create a workable scheme for abstract and extendable
calling conventions that could express all the various HLL specific
semantics of function calling, pointing out that, unless we have this we
can forget interoperability (or at least, easy interop).

http://xrl.us/fwkz

  Alpha development Box
Bob Rogers 'has' an Alpha development box that can be used for open
source projects. He wondered if the Parrot project could make use of it,
and if so what was the best way of doing this. Some discussion occurred
on the list, but I assume (hope) more happened offline.

http://xrl.us/fwk2

Meanwhile, in perl6-language
  Calling junctions of closures
Brad Bowman wondered about calling junctions of closures. He guessed
that the rule is call 'em all and return a similarly structured
junction. but wasn't sure. Thomas Sandlaß wasn't so sure.

My head hurts.

http://xrl.us/fwk3

  { = } autocomposition
Autrijus asked about the following fragment:

%ret 

This week's summary

2004-09-26 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-09-24
So, this is my last summary before I start my teaching practice.
Hopefully I've got things set up so writing the summary isn't going to
interfere with that, and vice versa.

This week in perl6-compiler
  State of Rules
Discussion of the state of the Perl 6 compiler (with particular
reference to the rules engine) continued. People were concerned with
making sure that the rules engine that Luke and Patrick are working on
would be flexible enough to cope with different languages in 'closures'.

  Synopsis 5 updated
Ed Peschko asked that there be some way of 'turning the rules engine
inside out' to make something which, given a rule, would generate
strings that could match against it. Actually, this is the second time
Ed asked for this, as Luke reminded him. Luke went on to implement a
generator in hypothetical perl 6, which seemed to please everyone but
Ed.

Rod Adams wins the 'making the summarizer smile wryly' occasional prize.

http://xrl.us/c8ax

Meanwhile, in perl6-internals
  Problems Reimplementing Parrot Forth
Matt Diephouse fell foul of problems with the compile and compreg
opcodes in his efforts to reimplement Parrot Forth in PIR. Steve Fink
made some suggestions for workarounds based on his work on writing a
regular expression compiler.

From further discussion, it seems that, if you're implementing a stack
based language, you'd do well to manage the language's stack yourself
rather than using Parrot's User stack which is interestingly scoped.

http://xrl.us/c8ay

  __init not being magically called
Will Coleda had some problems with a class's __init function not being
called magically. Nobody else could reproduce the problem. After a
certain amount of confusion, Will did make realclean; perl
Configure.pl; make; make test and all was well again.

If you're experiencing a weird problem, it's probably best to do the
rebuild before posting to the list. Or you could fix the build system to
have more accurate dependencies...

http://xrl.us/c8az

  Incremental collector and finalization
Jeff Clites had some questions about how finalizers interact with the
work that Leo's been doing on implementing an incremental garbage
collector for Parrot. Leo had some thoughts, but noted that there's
still a problem with ordered finalization and destruction.

[Your summarizer is really starting to get a feel for why old school GC
types really don't like finalizers...]

http://xrl.us/c8a2

  Python bytecode volunteers
Dan asked for volunteers to finish the task of getting python bytecode
working on Parrot; he reckoned that the work was mostly done, but that
neither he nor Leo have the time to go the last couple of yards.

Come on people, this would definitely be a cool thing to have.

http://xrl.us/c8a3

  mod_parrot 0.0
Jeff Horwitz announced the release of version 0.0 of his mod_parrot
Apache module. It's remarkably powerful for version 0.0

http://xrl.us/c8a4

  The compile op and building compilers
Dan had some thoughts on tidying up the spec for the compreg and
compile operators and asked for comments before he nailed the spec
down. Steve Fink and Leo had comments.

http://xrl.us/c8a5

  Misc. remarks about YAPC::EU
Leo popped up to thank everyone who'd donated to The Perl Foundation and
thus supported the purchase of shiny new Apple Powerbook G4 that he'd
used to run his presentation at YAPC Europe in Belfast.

He went on to outline some of the things he'd done and heard in Belfast,
including the fact that one French teacher is using Parrot for teaching
assembly language.

http://xrl.us/c8a6

  Parrot m4 0.0.8
Bernhard Schmalhofer announced version 0.0.8 of Parrot m4. There's no
new functionality 'just' some structural improvement and tidying.

http://xrl.us/c8a7

  Parrot TCL
Will Coleda posted a progress report on his Parrot TCL implementation
which is progressing gradually towards being a full blown TCL
implementation; he's working towards using special Tcl* PMCs with real
TCL semantics instead of the current scheme which uses Perl PMCs.

http://xrl.us/c8a8

  Namespaces, Part 1
Dan posted the first part of his Namespaces spec. There was, of course,
much discussion. Inevitably, there was another revision, and further
discussion.

http://xrl.us/c8a9

http://xrl.us/c8ba -- The revised version

  Towards a new call scheme
Leo posted an overview of the work he was doing on Parrot's internals to
get a faster calling scheme in place (as discussed endlessly). The usual
perl6-internals discussion and revision process swung into action.

http://xrl.us/c8bb

  Hello everybody
Remember the French teacher that Leo mentioned? Well, the man himself,
Christian Aperghis-Tramoni 

Re: This week's summary

2004-09-23 Thread Michele Dondi
On Wed, 22 Sep 2004, The Perl 6 Summarizer wrote:
 Writing pack, or something like it
   Michele Dondi wondered how to write pack-like functions in Perl 6,
   where the first argument is a string which specifies the signature of
   the rest of the function call. The proposal stumped me, but maybe you
   all can make something of it.
It was not a *proposal* and it was not really about writing pack-like 
functions. It was really about... D'Oh! I can hardly summarize myself: 
well, let's say that it was wether about it will be possible in Perl6 to 
use what I judge to be elegant and natural functional-language-like 
constructs (possibly avoiding explicit intermediate variables with the 
exception of, say, $_) like *e.g.* (in this case) map()ping a list of 
values to a suitable list of curried (on the given values) closures, then 
reduce()ing it by a suitable (functional) composition and applying the 
result to the desired input.

Not very concise indeed... well, just more verbose than conceptually 
complex, IMHO!

BTW: I'm a male, Michele is Italian for Michael, Mikhail, etc. etc. 
ad libitum...

Mike
--
It was part of the dissatisfaction thing.  I never claimed I was a
nice person.
- David Kastrup in comp.text.tex, Re: verbatiminput double spacing


Re: This week's summary

2004-09-23 Thread Buddha Buck
On Wed, 22 Sep 2004 21:11:02 +0100, The Perl 6 Summarizer
[EMAIL PROTECTED] wrote:
 The Perl 6 Summary for the week ending 2004-09-17
Another week, another summary, and I'm running late. So:
 
 This week in perl6-compiler
 
  Bootstrapping the grammar
Uri Guttman had some thoughts on bootstrapping Perl 6's grammar. He
hoped that his suggested approach would enable lots of people to work on
the thing at once without necessarily getting in each other's way. Adam
Turoff pointed everyone at a detailed description of how Squeak (a free
Smalltalk) got bootstrapped.
 
http://xrl.us/c6kp

This link doesn't seem to be working, and www.perl6.org doesn't have
the archives of perl6-compiler online yet.  Does anyone have a link to
the archives that works?


Re: This week's summary

2004-09-23 Thread Peter Sinnott
On Thu, Sep 23, 2004 at 09:12:32AM -0400, Buddha Buck wrote:
 On Wed, 22 Sep 2004 21:11:02 +0100, The Perl 6 Summarizer
 [EMAIL PROTECTED] wrote:
  The Perl 6 Summary for the week ending 2004-09-17
 Another week, another summary, and I'm running late. So:
  
  This week in perl6-compiler
  
   Bootstrapping the grammar
 Uri Guttman had some thoughts on bootstrapping Perl 6's grammar. He
 hoped that his suggested approach would enable lots of people to work on
 the thing at once without necessarily getting in each other's way. Adam
 Turoff pointed everyone at a detailed description of how Squeak (a free
 Smalltalk) got bootstrapped.
  
 http://xrl.us/c6kp
 
 This link doesn't seem to be working, and www.perl6.org doesn't have
 the archives of perl6-compiler online yet.  Does anyone have a link to
 the archives that works?

http://www.mail-archive.com/[EMAIL PROTECTED]/

http://www.mail-archive.com/[EMAIL PROTECTED]/msg00076.html


-- 
We strive to quickly network economically sound data in order to assertively 
leverage other's high-payoff intellectual capital to exceed customer expectations


This week's summary

2004-09-22 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-09-17
Another week, another summary, and I'm running late. So:

This week in perl6-compiler
  The current state of the compiler
Discussion of the current state of the nascent perl 6 compiler and how
best to contribute to its development even before code has been released
continued. The best way to contribute right now is Write tests. Don't
worry about what the test harness should look like, simple tables of
rules, test strings and expected matches will be very welcome.

The status discussion also touched on how to handle different languages
in the closures embedded in rules.

  Bootstrapping the grammar
Uri Guttman had some thoughts on bootstrapping Perl 6's grammar. He
hoped that his suggested approach would enable lots of people to work on
the thing at once without necessarily getting in each other's way. Adam
Turoff pointed everyone at a detailed description of how Squeak (a free
Smalltalk) got bootstrapped.

http://xrl.us/c6kp

  Synopsis 5 updated
Larry announced that he has updated Synopsis 5, which covers Grammars,
rules and all that good stuff. It's now only a week out of date instead
of two years and counting.

http://xrl.us/c6kq

http://dev.perl.org/perl6/synopsis/S05.html -- Synopsis 5

This week on perl6-internals
  Namespaces
Discussion of Dan's namespace proposal really got going this week.

http://xrl.us/c6kr

  Buffered IO and Parrot Forth
Matt Diephouse fell foul of a problem with IO buffering when he was
taking a look at Parrot Forth, so he asked the list for help. Leo
supplied the help, so Matt supplied a patch to Parrot Forth which made
it print its prompts correctly when run under modern (CVS) Parrot.

http://xrl.us/c6ks

  Pragma @LOAD is not always honoured
Stéphane Payrard was bemused to discovered that parrot routines declared
with the @LOAD pragma don't get automatically executed if they're in the
main segment. He suggested that the issue be either fixed or documented.

Leo documented it.

http://xrl.us/c6kt

  NCI basics
Charles Somebody tried to crash the monomonikered big leagues by failing
to vouchsafe his surname when he posted a question about getting NCI to
work with wxWindows. For reasons that escape me, the answers (and,
indeed, Charles's surname -- Lowell) appeared in a different thread.

Sadly the answers were more along the lines of Oops, that's a bug that
is, we'll add it to the RT queue. Still better to have it identified
than festering away undiscovered.

http://xrl.us/c6ku

http://xrl.us/c6kv

  Language::Zcode
Who says Perl 6 is the only language that's taking a long time to appear
on Parrot? Amir Karger posted his first annual update on his attempt to
get Parrot to emulate the Z-machine. Hopefully subsequent updates will
be more frequent.

http://xrl.us/c6kw

Meanwhile, in perl6-language
  Ordinals, Hashes and Arrays, oh my!
David Green had some thoughts on Perl 6's compound data structures.
Larry didn't sound convinced.

http://xrl.us/c6kx

  Writing pack, or something like it
Michele Dondi wondered how to write pack-like functions in Perl 6,
where the first argument is a string which specifies the signature of
the rest of the function call. The proposal stumped me, but maybe you
all can make something of it.

http://xrl.us/c6ky

  But is it intuitive?
No it isn't.

http://xrl.us/c6kz

  S5 Grammar compositions
While peacefully reading Synopsis 5 (Rules  Grammars), Dave Whipp
noticed that grammatical inheritance wasn't as flexible as the Role
based compositions that can be used when working with classes. Larry
wondered allowed about having grammar roles, but I don't think they've
been officially mandated yet...

http://xrl.us/c6k2

  Still about subroutines...
Michele Dondi continues to make my head hurt with zir proposals. In part
it's because I've still not worked out whether zie is male or female,
and in part because, well, zir proposals are challenging. In this
particular proposal zie wondered if there would be a way to magically
write recursive anonymous functions without having to introduce a new
symbol of some sort.

Luke and Larry think there will be such a way, but the precise syntax
hasn't been settled just yet.

http://xrl.us/c6k3

  Range quantifier woes
Jonathan Scott Duff wasn't happy with the new range quantifier syntax in
Synopsis 5. He posted a bunch of questions that were nagging at him.
Larry had some good answers (if you're interested in contributing to the
design of Perl 6 you should *really* read Larry's replies).

http://xrl.us/c6k4

Announcements, Apologies, Acknowledgements
And so ends another summary. I hope you liked it. Sorry for the delay if
you're reading this on the mailing list; this 

This week's Summary

2004-09-06 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-09-03
Another week, a free weekend, and still I haven't started writing the
summary until Monday. Still, I don't actually start at college 'til next
week, so that's all right then.

We start with perl6-internals.

  Compile op with return values
The discussion of how to return something from dynamically compiled code
continued with Leo, Dan and Steve Fink all working to clarify and
address the issues.

http://xrl.us/cybq

  Library loading
Dan started the process of nailing down Parrot's dynamic loading API so
that it can be added to the embedding interface. Steve Fink and Aaron
Sherman had suggestions.

http://xrl.us/cybr

  Pathological register allocation scenarios
Gregor N Purdy had asked Dan if his work compiler could be made to spit
out structurally equivalent C code to the Parrot code that was breaking
IMCC. His idea being that we could then see how C compilers dealt with
such nastiness. Dan thought that, whilst this was a good idea, it would
be too much work to implement. Gregor wasn't so sure.

http://xrl.us/cybs

  Dan and Leo demonstrate comic timing. Again.
14:17:09 GMT Dan: PerlHash test 20 is failing? Anyone know what's up so
we can fix it?

15:30:41 GMT Leo: It stopped failing at 15:55 CEST (13:55 GMT)

16:32:29 GMT Dan: D'oh!

We love it when a patch comes together.

http://xrl.us/cybt

  PMC Instantiation
Leo had raised issues with the current scheme for PMC instantiation.
This week Dan came through with some design which got discussed and (I
think) implemented.

http://xrl.us/cybu

  Last bits of the basic math semantics
If you believe Barbie, Math is hard. She's right, up to a point. The
list's spent a couple of weeks now sorting out the design of Parrots
underlying mathematical and numeric systems to make sure that maths
works right (for sufficiently useful values of 'right'). This particular
line of discussion covers rotations and stuff, where you're actually
treating a number as a bit field.

http://xrl.us/cybv

  Cross-compiling parrot
And you thought compiling Parrot on a Win32 box was hard. Robert
Schwebel wants to cross compile Parrot and isn't having a good time. Dan
wasn't surprised because the Parrot build process still gets most of its
information from the local perl installation which will generally be
wrong when you're cross compiling.

Dan noted that part of the problem is that we don't have people on the
team with a need or the experience of doing cross compilation and added
that he'd be thrilled if this were to change. Any patches to make things
better for cross compilers will, of course, be gratefully received.

http://xrl.us/cybw

  Proposal for a new PMC layout and more
Leo's concerned that the current PMC layout isn't the Right Thing, and
laid out a proposal describing some changes he thinks would be
worthwhile. In essence, he argues for removing the requirement for fixed
sized PMC headers and separate variable sized buffers in favour of
unifying buffers and PMCs so that PMCs become variable sized, thus
eliminating some time consuming indirection, and space consuming
overheads.

Nicholas Clark thought the proposal was interesting, but said that,
since the proposed changes would be invisible to the user, he'd be far
happier with a functionally complete implementation of parrot with
stable, useful APIs.

Dan rejected the proposal (both for technical reasons and because he
agreed with Nicholas). I don't think Leo was convinced by the technical
reasons, but the Let's get the interfaces finished! argument clinched
it.

http://xrl.us/cybx

http://xrl.us/cyby -- Dan explains why not.

  Semantics for regexes
Dan appears to have opened an entertaining can of worms when he outlined
his view of the minimum string semantics required to support a regular
expression engine and asked for comments. Boy did he get them. And boy
did they run off in all sorts of strange directions. Interesting
directions mind. Anyway, further down the thread, Dan, Chip Salzenburg
and Patrick Michaud seemed to reach something approximating agreement
about the low level semantics required.

http://xrl.us/cybz

  TODOs and calls for volunteers
Leo came up with a list of things that need fixing/implementing and
asked for volunteers. These include sorting out what happens with the
experimental ops, implementing new_extended for every PMC class and
finishing up BigInt's MMD and vtable functions.

He also had some proposals for how we should get the Integer classes
properly implemented now we know what the semantics will be.

http://xrl.us/cyb2

http://xrl.us/cyb3

http://xrl.us/cyb4

http://xrl.us/cyb5

Meanwhile, in perl6-language
  Roles trying to 

This Week's Summary

2004-09-02 Thread The Perl 6 Summarizer
NB: The links are probably broken at present. Normal service will
hopefully be resumed once Google gets caught up with the perl6 lists.

The Perl 6 Summary for the week ending 2004-08-27
Where does the time go? I blame folk festivals. Once I'm getting busy
with the teacher training I'm going to have weekends free to write the
summaries. And if you'll believe that...

We start with perl6-internals.

  Incremental garbage collection
Discussion of implementing incremental garbage collection continued.

  Calling conventions for unprototyped subroutines
Mattia Barbon asked for some clarification of how the calling
conventions work for unprototyped subroutines in IMCC. Specifically,
whether IMCC was behaving as documented in the Parrot Design Document
(PDD3). Leo reassured him that the TODO entry that had caused his
disquiet was obsolete and that IMCC does the right thing.

http://xrl.us/cw77

  Compile op with return values
Steve Fink asked how to go about returning something from dynamically
compiled code. He, Leo and Dan went over the issues. An unnamed (and as
yet unvolunteered) volunteer will probably write it all up and add it to
the parrot compiler FAQ.

http://xrl.us/cw78

  NCI and callback functions
Stephane Peiry and Leo continued to work on getting NCI callbacks
working with the GTK library. They finally tracked the problem down, but
it looks awfully like Stephane's going to have to reimplement the
gtk_main loop to get everything working. Best of luck Stephane.
ParrotGTK would definitely be a cool thing.

http://xrl.us/cw79

  Planet Parrot
Robert Spier announced the creation of Planet Parrot, an aggregator of
Parrot related blogs. If you have such a blog, Robert would probably be
interested in hearing from you.

http://xrl.us/cw8a

http://planet.parrotcode.org/

  GC/DOD API
Leo and Dan continued to discuss and work on documenting Parrot's memory
management API.

http://xrl.us/cw8b

  NCI GC issues
Dan noticed a problem with garbage collection and NCI PMCs. Leo tracked
the problem down and fixed it.

I love it when a plan comes together.

http://xrl.us/cw8c

  Opinions on base behaviour
Base behaviour is disgusting and should be stamped out I tell you. We
have a moral duty to...

Ah...

Actually, the subject refers to Dan and Leo's desire to nail down the
behaviour of Parrot's basic types. He outlined the issues and asked for
discussion. And that's what he got.

It looks like Parrot's going to have a reasonably complete set of
numeric types which will allow accuracy nerds to avoid reals for as long
as possible. Which will be nice.

http://xrl.us/cw8d

http://xrl.us/cw8e

http://xrl.us/cw8f

http://xrl.us/cw8g

http://xrl.us/cw8h

  Concat, Cows  Basil
Comfortably winning the weirdest subject line of the week award, Sam
Phillips laid out some of the problems he's having implementing a Basil
compiler which targets Parrot. Leo supplied answers.

http://xrl.us/cw8i

  Low level math[s] op behaviour
As well as discussing basic types, Dan opened a discussion of the proper
semantics of Parrot's low level maths (yeah, he spelt it 'math', but I'm
English and I'll spell it correctly) operators. In particular he
proposed variants that throw exceptions if strange things happen.

http://xrl.us/cw8j

  Benchmark stuff
 Joshua Gatcomb posted some patches he'd made to Fparrotbench.pl to
 make it a little less fragile and more useful. A few days later he
 announced a slightly more finished set of patches (Leo had checked his
 original patches in rather sooner than expected). 

http://xrl.us/cw8k

http://xrl.us/cw8m

  Resuscitating a mod_parrot
Dan Sugalski looked upon mod_parrot and saw that it was cool, to the
point of being laid out on a mortuary slab. He thought that the time had
come to try and put some life back into the project, now that Parrot's
so much more capable. He asked for volunteers and Jeff Horwitz seems to
be (the only?) one of 'em.

http://xrl.us/cw8n

  PMC instantiation
Leo posted another of his discussion documents, this time on
instantiating PMCs. No response so far.

http://xrl.us/cw8o

Meanwhile, in perl6-language
  Return with no expression.
In the usual freewheeling perl6-language way, a thread entitled 'return
with no expression' ended up discussion how to disambiguate a :: which
is part of ... ?? ... :: ... expression and :: in its role as module
sigil. (According to Luke it's easy; white space is required).

http://xrl.us/cw8p

  Synopses discussed
Discussion of the draft synopses continued

http://xrl.us/cw8q - Synopsis 2

  POD tables?
Aaron Sherman wondered if Perl 6's incarnation of POD would have support
for tables. Luke wasn't overly keen on Aaron's proposed 

This week's summary

2004-08-09 Thread The Perl 6 Summarizer
The Perl 6 Summary for the six days ending 2004-08-06
Another short week and the rollover point is now set to Friday nights in
preparation for September when I'll almost certainly not have weeknights
free. (Of course, I don't expect the summary will be coming out any
earlier in the week through August, what with Saltburn Folk Festival
this coming weekend, EuroFoo the weekend after and Towersey Folk
Festival the weekend after that.

Just for a change, we'll start with the discussions in perl6-language.

Meanwhile, in perl6-internals
  ICU Outdated
Unicode is evil I tell you. Necessary, but evil. If ever there was an
essential piece of technology that was absolutely guaranteed to annoy
everyone then Unicode is probably it.

The Unicode issue this week was the ongoing discussion of what to do
about ICU. It's huge, it's in C++ and Dan maintains we can't do without
it (unless some kind soul were to implement a Unicode library with all
of ICU's features and fewer of its annoyances -- now there's a
postgraduate task for the interested).

Dan's plan is:

1   Make Configure detect and use a system ICU, if available

2   Dan will spec out encoding and charset APIs for loadable encoding
and charset modules

3   Parrot gets fixed to use those APIs

4   Add support for non-Unicode encodings and charsets

5   Make ICU a loadable module tied into the encodings and charset API

6   Profit!

This puts Dan smack on the Critical Path, but what's new?

http://xrl.us/cob9

  Span!
Matt Kennedy announced the initial release of a new Parrot based
language called Span. And very lovely it looks too (Think Smalltalk
meats Block structured languages and wins), if only I could get it to
compile on my Panther installation.

http://xrl.us/coca

http://xrl.us/cocb

  Executable AST
In an intriguing post, Leo announced that Parrot's now running code
directly from a (Python) Abstract Syntax Tree description. The post is
light on details, but big on potential.

http://xrl.us/cocc

  Roadmaps
Dan announced that he'd committed a DESIGN_TODO file to the repository
with brief details of what he thinks needs working on. He also posted a
short term roadmap of things to deal with in the near future and very
interesting it looks too (he reckons we should be able to get
serializable continuations working, which would be rather cool).

http://xrl.us/cocd

  PMC Basics
Leo posted a list of issues with how PMCs work. Warnock applies.

http://xrl.us/coce

  Starting to make things final
Dan pointed at the efforts of Piethon and the 'PHP on Parrot' people and
at Span and declared that we're at the point where things that are in
and implemented should be documented and fixed and that things that are
in flux should 'un-flux and get fixed'. He sketched the road to 0.2.0,
0.2.1 and thence to 0.3.0. The idea is that 0.2.0 (or 0.2.1) will be a
'complete' stable, good enough platform for language developers. Which
will be nice.

Oh, there's going to be a compiler writer's list (probably
parrot-compilers) spun off from perl6-internals (which will probably
become parrot-internals). Names are slightly undecided at present (but I
will aim to cover both lists in my summaries).

http://xrl.us/cocf

  Declaring MMD subs from PASM/PIR
He who must not be capitalized, chromatic, wondered about declaring
parrot subroutines that participate in multiple dispatch. He outlined a
scheme that Dan had suggested (presumably at OSCON) and asked for
comments. Leo and Dan discussed it further, but I don't think anything's
final yet.

http://xrl.us/cocg

  Everything Parrot
Documents maestro Michael Scott posted the beginnings of a subject
overview for Parrot. He asked people to point out any bits and pieces
he'd missed.

http://xrl.us/coch

  A testimonial and a question
Andrew Rodland delurked to say nice things about Parrot (pretty smooth
stuff) and to ask if there was a handy list 'It Would Be Nice If...'
tasks that newcomers could get started on without having to dive
straight into hacking the core. Simon Glover pointed at the TODO list.
He suggested that you can't have too many tests and that writing tests
can be a good way of getting a handle on what the core does (or is
supposed to do).

Reading tests can be a good way of getting a handle on what the core
does too, of course.

http://xrl.us/coci

  The new Perl 6 Compiler pumpking
Dan announced that Patrick Michaud stepped up to the plate and taken
charge of getting the Perl 6 compiler module written. Welcome Patrick,
and the very best of luck.

Leon Brocard asked Patrick what his plan of attack was. No reply so far.

http://xrl.us/cocj

  Spilling problems
The thing about writing naive compilers for 

Re: This week's summary

2004-08-09 Thread Dan Sugalski
At 1:26 PM +0100 8/9/04, The Perl 6 Summarizer wrote:
  Spilling problems
The thing about writing naive compilers for naive languages is you end
up with rather large Parrot subroutines. Dan's work project is
generating ~6000 line subs.
That was only for a program triggering degenerate behaviour in the 
register allocator. The biggest sub I can find off-hand is 69496 
lines, from an original source language that stuffs about 400K of 
source text into a single routine...
--
Dan

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


This week's summary

2004-08-02 Thread The Perl 6 Summarizer
The Perl 6 Summary for the six days ending 2004-07-31
As I threatened last week, I'm moving the rollover point for these
summaries from midnight on Sunday/Monday to midnight on Friday/Saturday,
but rather than do it in one swell foop I'm doing a couple of six day
weeks. The theory is that, once I become a student teacher I'll be
rather busy during the week, but I should still be able to make time to
write the summaries at the weekend.

That's the theory at least. You'll note that this didn't get posted to
the mailing lists on a Sunday. Blame my cousin for getting married. It
won't happen again.

  Pie-thon
Good news! Guido is a gentleman and declined to throw a pie at Dan.

Bad news! The Perl Community is a bunch of savages, and they paid $520
to be able to throw pie at Dan.

Good news! There are photos.

http://xrl.us/ck3f

http://xrl.us/ck3g

  Notes to self
1   Americans pronounce 'maths' as 'math'.

2   Don't make silly cracks about American rectitude

3   Oops.

  Leo's proposed calling conventions
It's been apparent for a while now that Leo Tötsch isn't happy with
Parrot's current calling conventions. This week he posted a proof of
concept patch implementing a proposed new scheme. Luke Palmer agreed
that it was probably worth consideration. We'll see what Dan has to say
when he gets back from OSCON.



  Stack based language
RaghavendraK asked about the difference between stack and register based
virtual machines. Brent Royal-Gordon gave good advice.

http://xrl.us/ck3h

  ICU outdated
Joshua Gatcomb noted that the ICU that comes with Parrot is, not to put
too fine a point on it, old and buggy. The ICU developers have suggested
that Parrot move to version 3.0. Josh proposed various ways of doing
this. Leo wants ICU out of the Parrot CVS, but Dan's argued in the past
that it should be in there because he doesn't want to force people to
chase round fetching a raft of required libraries before they can build
parrot.

http://xrl.us/ck3i

  Jarkko proposed for a CVS checkin rights
Following a raft of high quality patches from Jarkko Hietaniemi, Leo
proposed him for membership of the cvs ci club.

http://xrl.us/ck3j

Meanwhile, in perl6-language
  What's core?
Larry and Dan Hursh discussed what would be going in the standard Perl 6
distribution. Dan argued that we should be concentrating on producing a
distribution akin to the current Perl 5 distribution, but with a few
fewer kitchen sinks. Larry argued that we should concentrate on two
distributions:

1   Bare bones, just able to build itself and with enough capability to
bootstrap everything else.

2   Extended. The bare bones system + a set of libraries fetchable from
CP6AN that constitute the Perl 6 'supported' library; modules that
are maintained by the Perl 6 equivalent of perl5-porters and which
will be supported over a long time frame.

I don't think Dan's been convinced yet. Elsewhere in the thread Luke
Palmer coined the delightful acronym 'EYEWTIBWATA' -- Everything You
Ever Wanted To Install But Were Afraid To Ask -- or eye-witty-bwattle.
I'm unsure about whether it's going to rank up there with Tim-toe-tidy
though.

http://xrl.us/ck3k

Announcements, Apologies, Acknowledgements
I'm getting bored of typing 'Palmer' and 'Tötsch' once a week, so I'm
considering treating Luke and Leo like Larry, Dan, Damian and, if you
insist, chromatic.

So, if you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send feedback or contributions to a
'getting Piers to OSCON 2005' fund to mailto:[EMAIL PROTECTED]

http://donate.perl-foundation.org/ -- The Perl Foundation

http://dev.perl.org/perl6/ -- Perl 6 Development site



Re: This week's summary

2004-08-02 Thread Alberto Manuel Brandão Simões
  ICU outdated
Joshua Gatcomb noted that the ICU that comes with Parrot is, not to put
too fine a point on it, old and buggy. The ICU developers have suggested
that Parrot move to version 3.0. Josh proposed various ways of doing
this. Leo wants ICU out of the Parrot CVS, but Dan's argued in the past
that it should be in there because he doesn't want to force people to
chase round fetching a raft of required libraries before they can build
parrot.
Some ideas to solve this:
1. Configure checks out ICU if needed.
2. Configure fetchs a night/week/month snapshot (from parrot 
homepage/ftp/whatever) of ICU if needed.

I just thing that ICU in the Parrot CVS do not make sense.
Kind regards,
--
Alberto Simões
Much as I hate to say it, the Computer Science view of language design
has gotten too inbred in recent years. The Computer Scientists should
pay more attention to the Linguists, who have a much better handle on
how people prefer to communicate.
--Larry Wall


Re: This week's summary

2004-07-29 Thread Piers Cawley
Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] writes:

 Piers Cawley wrote:
 Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] writes:
Care to explain what those are, O great math teacher?
 What's a math teacher?

 It's the right^H^H^H^H^HAmerican way to say maths teacher.

You mean American and 'right' are not equivalent? Wow.



RE: This week's summary

2004-07-29 Thread Butler, Gerald
sarcasm
Of course American and Right are synonymous! Just ask OUR WONDERFUL GOD (I
mean President) GEORGE W. BUSH. He'll tell ya'
/sarcasm

-Original Message-
From: Piers Cawley [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 29, 2004 6:49 AM
To: Brent 'Dax' Royal-Gordon
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: This week's summary


Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] writes:

 Piers Cawley wrote:
 Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] writes:
Care to explain what those are, O great math teacher?
 What's a math teacher?

 It's the right^H^H^H^H^HAmerican way to say maths teacher.

You mean American and 'right' are not equivalent? Wow.


 The information contained in this e-mail message is privileged and/or
 confidential and is intended only for the use of the individual or entity
 named above.  If the reader of this message is not the intended recipient,
 or the employee or agent responsible to deliver it to the intended 
 recipient, you are hereby notified that any dissemination, distribution or 
 copying of this communication is strictly prohibited.  If you have received 
 this communication in error, please immediately notify us by telephone
 (330-668-5000), and destroy the original message.  Thank you.  




RE: This week's summary

2004-07-29 Thread Simon Glover

On Thu, 29 Jul 2004, Butler, Gerald wrote:

 sarcasm
 Of course American and Right are synonymous! Just ask OUR WONDERFUL GOD (I
 mean President) GEORGE W. BUSH. He'll tell ya'
 /sarcasm

 OK, gentlemen, this is both way off topic and starting to head into flame
 war territory, so I suggest that we either quietly drop it, or move it
 elsewhere.

 Simon

 PS Gerald, this isn't aimed at you specifically -- yours just happens to
 be the most recent message in the thread.



Re: This week's summary

2004-07-28 Thread Piers Cawley
Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] writes:

 The Perl 6 Summarizer wrote:
   The infinite thread
 Pushing onto lazy lists continued to exercise the p6l crowd (or at
 least, a subset of it). Larry said that if someone wanted to hack
 surreal numbers into Perl 6.1 then that would be cool.

 Care to explain what those are, O great math teacher?

What's a math teacher?


Re: This week's summary

2004-07-28 Thread Mark J. Reed
On 2004-07-28 at 20:55:28, Piers Cawley wrote:
 What's a math teacher?

Oh, come now.  You may refuse to *use* the Leftpondian short form, but
pretending not to *recognize* it is a bit much. :)

-- 
Mark REED| CNN Internet Technology
1 CNN Center Rm SW0831G  | [EMAIL PROTECTED]
Atlanta, GA 30348  USA   | +1 404 827 4754


Re: This week's summary

2004-07-28 Thread Brent 'Dax' Royal-Gordon
Piers Cawley wrote:
Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] writes:
Care to explain what those are, O great math teacher?
What's a math teacher?
It's the right^H^H^H^H^HAmerican way to say maths teacher.
--
Brent Dax Royal-Gordon [EMAIL PROTECTED]
Perl and Parrot hacker
Oceania has always been at war with Eastasia.


Re: This week's summary

2004-07-27 Thread Michele Dondi
On Mon, 26 Jul 2004, Brent 'Dax' Royal-Gordon wrote:

 The Perl 6 Summarizer wrote:
The infinite thread
  Pushing onto lazy lists continued to exercise the p6l crowd (or at
  least, a subset of it). Larry said that if someone wanted to hack
  surreal numbers into Perl 6.1 then that would be cool.
 
 Care to explain what those are, O great math teacher?

OT
IIRC there's a nice little book by Prof. Knuth about them...
/OT


Michele
-- 
The trouble with engineers is that given the problem of knocking down
a stack of 100 bricks, they will start at the top, and work all
day removing them one at a time, while the mathematician will, after
a momemt's thought, remove the bottom brick and be done with it.
The trouble part, is having to brook the noise of the engineer
boasting about how much harder he worked while one is trying to
think about the next problem.
- Bart Goddard in sci.math


Re: This week's summary

2004-07-26 Thread Brent 'Dax' Royal-Gordon
The Perl 6 Summarizer wrote:
  The infinite thread
Pushing onto lazy lists continued to exercise the p6l crowd (or at
least, a subset of it). Larry said that if someone wanted to hack
surreal numbers into Perl 6.1 then that would be cool.
Care to explain what those are, O great math teacher?
*ducks*
--
Brent Dax Royal-Gordon [EMAIL PROTECTED]
Perl and Parrot hacker
Oceania has always been at war with Eastasia.


Re: This week's summary

2004-07-26 Thread Stéphane Payrard
On Mon, Jul 26, 2004 at 10:29:15AM -0700, Brent 'Dax' Royal-Gordon wrote:
 The Perl 6 Summarizer wrote:
   The infinite thread
 Pushing onto lazy lists continued to exercise the p6l crowd (or at
 least, a subset of it). Larry said that if someone wanted to hack
 surreal numbers into Perl 6.1 then that would be cool.
 
 Care to explain what those are, O great math teacher?

Disclaimer, I am no math theacher. :)
This is a very interesting class of number that can be used to
modelize games. It has designed by the _other_ Conway, the one of
game of life fame. The expression surreal number was coined by
Knuth.

For more info, the wikipedia is your friend: 
http://en.wikipedia.org/wiki/Surreal_number

For the full story, read the book Numbers and Games. I have
ordered it a few days ago so I can't comment on it.


 Brent Dax Royal-Gordon [EMAIL PROTECTED]

-- 
 stef 


Re: This week's summary

2004-07-26 Thread Kurt Starsinic
On Mon, 26 Jul 2004 10:29:15 -0700, Brent 'Dax' Royal-Gordon
[EMAIL PROTECTED] wrote:
 The Perl 6 Summarizer wrote:
The infinite thread
  Pushing onto lazy lists continued to exercise the p6l crowd (or at
  least, a subset of it). Larry said that if someone wanted to hack
  surreal numbers into Perl 6.1 then that would be cool.
 
 Care to explain what those are, O great math teacher?
 
 *ducks*

Just for those following along from home:


http://www.amazon.com/exec/obidos/tg/detail/-/0201038129/qid=1090866301/sr=1-1/ref=sr_1_1/103-7396197-3600620?v=glances=books

- Kurt


Re: This week's summary

2004-07-26 Thread Jonadab the Unsightly One
Brent 'Dax' Royal-Gordon [EMAIL PROTECTED] writes:

[surreal numbers]
 Care to explain what those are, O great math teacher?

Surreal Number theory was an attempt in the latter half of the
twentieth century to unify several existing sets of numbers (including
the complex numbers, generalized epsilon numbers, and cardinalities)
into a single notation and define addition and multiplication
operations on them that would be isomorphic to the standard addition
and multiplication on the complex numbers.  Knuth's book on them is
very interesting and a good read.

I don't know whether surreal numbers ever really caught on in the
mainstream mathematics community or lead to any real advances in
number theory.  Most undergraduate math curricula don't seem to teach
them as near as I can tell, except perhaps in the collateral reading.
One problem with them is that the notation is rather unwieldy.  They
are interesting conceptually, however, despite their apparent lack of
practical usefulness, and serve as a proof of concept for the notion
of a unified number theory, although in practice the group theory of
modern algebra seems to unify things better, IMO.

Hey, you asked.

Surreal numbers in Perl would be way more cool than practical.

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



Re: This week's summary

2004-07-21 Thread Piers Cawley
Austin Hastings [EMAIL PROTECTED] writes:

 --- The Perl 6 Summarizer [EMAIL PROTECTED] wrote:
  Okay, so the interview was on Tuesday 13th of July. 
 It went well; I'm going to be a maths teacher.

[...]

 As we all know, time flies like an arrow, but fruit flies like a
 banana. If you found this mathematical summary helpful, please consider
 paying your tuition you ungrateful little bastards.

** Gurfle **


This week's summary

2004-07-20 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-07-18
Following last week's bizarrely dated summary (I misplaced a day) we're
back with the correct week ending date, but I'm ashamed to admit that
I've slipped to writing on a Tuesday again. My head hangs in shame and I
am filled with the direst remorse.

It will probably happen again though; life's like that.

  Pie-thon!
Anyone would think that the possibility of not even being able to run
the Piethon benchmark (let alone getting a pie in the face for running
it too slowly) weighs heavily on Dan.

The bulk of the week's traffic related to getting to the point where we
can at least run all the tests.

Python::Bytecode, the module that parses, well, python bytecode, shot up
in version numbers; I think it reached 2.7 by the end of the week.

Dan released a Piethon translator, a tool that uses Python::Bytecode
translate python to parrot. So has Leo. Dan's is on his website (see the
link below, you'll find Leo's in languages/python/pie-thon.pl).

http://xrl.us/chh9 -- Parrot runs a python lambda

http://xrl.us/chia -- Notes on pie-thon.pl

http://xrl.us/chib -- Namespaces for builtins

http://xrl.us/chic -- Dan's translator

  Semi-stack code
In a quest for speed when emulating python's stack manipulation ops, Dan
outlined a plan for manipulating a pseudo stack using some of Parrot's
PMC register (18-29, with P31 used for overflow). Leo wasn't convinced
it was needed.

http://xrl.us/chid

  string_to_num precision
Leo's got some problems with the precision of the string_to_num
function found in string.c. He doctored things to use atof, but Dan's
not so keen on that idea because atof doesn't have standard behaviour
across platforms. He recommended grabbing Perl 5's string to num code
(which he thought we'd already done). Nicholas Clark wasn't convinced
that this was a good idea; he reckoned that Perl 5's code wasn't good
enough. I think Nicholas convinced Dan that atof is actually the right
thing to use (with a little preprocessing to deal with C99's atof
being incompatible with C89's -- Parrot expects C89 behaviour).

http://xrl.us/chie

  GMP Licensing
Armin Obersteiner reported his investigations into the licensing
requirements of the GMP maths library. It appears that the FSF's 'GPL
Compliance Engineer' reckons we won't need to include the GMP's source
code with binary distributions. We just have to make it available from
the same source as the distribution. Which is handy.

http://xrl.us/chif

  Parrot configuration -- a small perl task
Leo asked for volunteers to fix up Configure.pl in order to make it less
dependent on the host Perl's configuration. Brent Royal-Gordon provided
a teeny-tiny patch that's actually shorter than Leo's description of the
problem.

http://xrl.us/chig

Meanwhile, in perl6-language
  Scalar subscripting
Remember Guatam Gopalakrishnan's question about subscripting scalars?
Discussion continued. One Piers Cawley (who he?) suggested that it
should be possible to specify a postcircumfix:[] is rw method in the
String class to make string subscripting behave in a helpful fashion. He
also suggested pulling this (and other similar behaviours) out into a
Sequence trait. Juerd thought the proposed method name was a little
verbose compared to Ruby's syntax for doing the same thing and showed
off some rather pretty Ruby metaphors.

Another subthread discussed interpolation in strings. Larry's changed
his mind so that $file.ext is now interpreted as $object.method. You
need to do ${file}.ext or $( $file ).ext. Or maybe $«file».ext
by analogy with %foo«bar». James Mastros pointed out that . is
rather ambiguous in a literal string; sometimes a full stop is just a
full stop.

http://xrl.us/chih

  Pushing lazy lists
This thread continues to resemble the lists it is nominally discussing:
Infinitely long and possibly endless.

http://xrl.us/chii

  Perl 6 and Parrot Essentials, 2nd Edition
Leo pointed us at an O'Reilly press release announcing that the second
edition of *Perl 6 and Parrot Essentials* is available. Huzzah! Let joy
be unconfined.

http://xrl.us/chij

  Rules to match abbreviations
Hans Ginzel wondered wondered about adding something to the rules system
to easily match specified abbreviations of a string. Luke Palmer came up
with a (pretty ugly) solution which he then wrapped very neatly in a
rule.

http://xrl.us/chik

  Enhancing open
There's a good deal of mileage to be had talking about how to improve
the open function it seems.

Larry continues to come up with new and interesting ways of designing
the language in such a way that almost every decision about how to do
something can be deferred. Speaking as someone who wishes he could 

Re: This week's summary

2004-07-20 Thread Austin Hastings
--- The Perl 6 Summarizer [EMAIL PROTECTED] wrote:
  Okay, so the interview was on Tuesday 13th of July. 
 It went well; I'm going to be a maths teacher.

As usual, we begin with maths-geometry:

In Mathematics last week, one Pythagoras suggested there might be a
relationship between the sides of a triangle and its hypotenuse. Zeno
continued to close on his destination, but once again only got halfway
there.

  http://xrl.us/chjj (Squares)

  http://xrl.us/chjk (Zeno in mid-flight)

As we all know, time flies like an arrow, but fruit flies like a
banana. If you found this mathematical summary helpful, please consider
paying your tuition you ungrateful little bastards.



Congratulations, Piers! The fate of a generation rests on your
shoulders.

=Austin



Re: This week's summary

2004-07-20 Thread Juerd
The Perl 6 Summarizer skribis 2004-07-20 14:46 (+0100):
 Another subthread discussed interpolation in strings. Larry's changed
 his mind so that $file.ext is now interpreted as $object.method. You
 need to do ${file}.ext or $( $file ).ext. Or maybe $«file».ext
 by analogy with %foo«bar». James Mastros pointed out that . is
 rather ambiguous in a literal string; sometimes a full stop is just a
 full stop.

My preference is $file\.ext. Clear, light and ascii.


Juerd


Re: This week's summary

2004-07-20 Thread Alexey Trofimenko
On Tue, 20 Jul 2004 19:15:49 +0200, Juerd [EMAIL PROTECTED] wrote:
The Perl 6 Summarizer skribis 2004-07-20 14:46 (+0100):
Another subthread discussed interpolation in strings. Larry'schanged
his mind so that $file.ext is now interpreted as  
$object.method. You
need to do ${file}.ext or $( $file ).ext. Or maybe  
$file.ext
by analogy with %foobar. James Mastros pointed out that . is
rather ambiguous in a literal string; sometimes a full stop is just  
a
full stop.
My preference is $file\.ext. Clear, light and ascii.
Juerd
That's my preference too. But what if we have (perl5) ${n}th occurence ?
 $n\th won't work because of \t special meaning...
I think, better if . would be interpreted as method call only after
\$ident, \@ident, \%ident or \ident, so
   ...leading dots?.. hm..
would not require \ before dots, but
   text ~#~$obj.method.method2~#~ text
would be interpreted as it should.
  I think, real period will be used more often than .topicsMethod  
interpolating , and  $(.topicsMethod) or $_.topicsMethod look nice  
enough, so there's no need to add special behavior to . not preceded by  
sigilled expression..

  ah, one more problem. perl5-style ${var}.NotAMethod could save us in  
some case, but what if  you need to interpolate $var.method.NotAMethod ?
  should it be ${var.method}.NotAMethod ?.. or  
$($var.method).NotAMethod is only solution?




Re: This week's summary

2004-07-08 Thread Piers Cawley
Jonadab the Unsightly One [EMAIL PROTECTED] writes:

 The Perl 6 Summarizer [EMAIL PROTECTED] writes:

   Different OO models
 Jonadab the Unsightly One had wondered about having objects
 inheriting behaviour from objects rather than classes in Perl 6.

 Urgle.  I've completely failed to explain myself so as to be
 understood.  That wasn't at *all* what I had in mind.

It could well be that I didn't read things carefully enough.



Re: This week's summary

2004-07-08 Thread Dan Sugalski
On Thu, 8 Jul 2004, Piers Cawley wrote:

 Jonadab the Unsightly One [EMAIL PROTECTED] writes:

  The Perl 6 Summarizer [EMAIL PROTECTED] writes:
 
Different OO models
  Jonadab the Unsightly One had wondered about having objects
  inheriting behaviour from objects rather than classes in Perl 6.
 
  Urgle.  I've completely failed to explain myself so as to be
  understood.  That wasn't at *all* what I had in mind.

 It could well be that I didn't read things carefully enough.

Maybe, but that's what I got out of it as well.

Dan

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



Re: This week's summary

2004-07-07 Thread Jonadab the Unsightly One
The Perl 6 Summarizer [EMAIL PROTECTED] writes:

   Different OO models
 Jonadab the Unsightly One had wondered about having objects
 inheriting behaviour from objects rather than classes in Perl 6.

Urgle.  I've completely failed to explain myself so as to be
understood.  That wasn't at *all* what I had in mind.

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



This week's summary

2004-07-05 Thread The Perl 6 Summarizer
  The Perl 6 Summary for the week ending 2004-07-04
Another week, another Perl 6 Summary. This is becoming a habit.

Let's do perl6-internals first shall we?

  Japhy's Perl 6 rules parser
Last week Jeff 'japhy' Pinyan announced that he'd be working on a Perl 6
rules parser once he'd finished his Perl 5 regex parser. This week saw a
deal of discussion on how his parser worked. The answer seemed to be It
works the Right Way. Which is good. With any luck Steve Fink will be
able to get this parser and the current (sketchy) Perl 6 compiler
playing well together.

http://xrl.us/ccie

  Complexities
Last week Leo had pointed out that we'd need support for complex numbers
in order to get the Piethon stuff running properly. This week there was
some discussion of what was actually needed.

Later in the week Ion Alexandru Morega posted a patch implementing them.
I think Leo spoke for us all when he said Whee, great, thanks -
applied.

http://xrl.us/ccif

  New mailing lists
There was some discussion of how perl6-internals should be broken up. It
looks like we'll see new lists called parrot-internals, parrot-compilers
and parrot-library (for internals hackers, compiler implementers and
library builders respectively). The original perl6-internals will carry
on, but will be focused on the actual internals of Perl 6.

Some, or all, of these lists will be covered in these summaries for as
long as I can keep up.



  Stack language for Parrot
In as impressive a delurk as I've seen in a while, Michael Pelletier
announced that he'd been lurking for a while, playing with Parrot and
had implemented a little stack language not entirely unrelated to Forth
which he'd christened Parakeet. He posted his implementation and got
promptly Warnocked.

http://xrl.us/ccig

  GMP and licensing issues
Scott Bronson announced that he'd taken a look at GMP's license and he
didn't think it was incompatible with Parrot's licenses. Dan wasn't
convinced. Scott's still trying to convince him though.

Robert Spier attempted to resolve the problem by pointing everyone at
another possibly suitable library called IMath.



http://xrl.us/ccih

Meanwhile, in perl6-language
  Argh! Strings!
Discussion of the various ways of slicing and dicing strings in Perl 6
continued. The issue is that, especially in a Unicode world, there are
many ways of looking at a string, all of which are useful in different
contexts. However, because you can look at a string as a sequence of
bytes, codepoints, graphemes or whatever, then functions like substr
get a little weird. If you were to say

$substring = $a_string, 5

then what does the '5' mean?

And that's just one example of where conceptual problems can arise.

I confess that, whenever Unicode comes up, my gut reaction is to keep my
head down and trust that Larry's going to get it right. Certainly the
current formulation seems decently sane; things only get problematic if
you're trying to do something well out of the ordinary.

http://xrl.us/ccii

  if, loop, and lexical scope
Discussion of Perl 6's new scoping rules (things are generally more
consistent than they are in Perl 5; if a variable is declared inside a
block, or in that block's signature in the case of - $a, $b {...}
type blocks, then that block is its scope) continued. Some people like
the new rules, others don't.

http://xrl.us/ccij

  Different OO models
Jonadab the Unsightly One had wondered about having objects inheriting
behaviour from objects rather than classes in Perl 6. The gist of the
answers he received was that it wouldn't be in the core of the language,
but neither should it be too hard to implement something that worked how
he wants.



  Undo?
Michele Dondi wondered if Perl 6 would have a built in undo function
for rolling back the history of a scalar (say). Rafael Garcia-Suarez
pointed out that the concept wasn't a simple as it first appeared,
especially in the context of threads, closures, side effects. He
suggested that a better approach would be to implement a suitable
transaction/rollback library that handled such things in an application
appropriate fashion rather than using a 'half-baked kludge built into
the base language'. Mark Biggar pointed out that the language already
had hypothetical values, which did pretty much the right thing.

Elsewhere in the thread, Luke Palmer attempted to explain continuations
again. A sandwich was involved.

http://xrl.us/ccik

http://xrl.us/ccim -- Luke makes a continuation sandwich

  If not , then what
Alexey Trofimenko triggered your Summarizer's sense of deja vu when he
asked what was happening to the C-style comma (we're keeping it, more or
less) and proposing a then keyword for use in the 

Re: This week's Summary

2004-07-01 Thread Leopold Toetsch
The Perl 6 Summarizer [EMAIL PROTECTED] wrote:
 Congratulations Ion, don't forget to send in a patch to the CREDITS
 file.

$ grep -1 Ion CREDITS

N: Ion Alexandru Morega
D: string.pmc

Thanks again for your summary,
leo


This week's Summary

2004-06-29 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-06-27
What's this? No! It can't be! It's a *weekly* Perl 6 Summary. What is
the world coming to?

Sorry, I can't answer that one, so I'll tell you what's been happening
this week in perl6-internals.

  Bignums, licenses, pie
As you are no doubt aware, Python has bignums. And that means that,
unless we want Dan to get a face full of Pie at OSCON this year, Parrot
needs bignums too. Work on several fronts continued towards getting a
bignum implementation for Parrot. Ideally, we'd like to just include
GMP, but the license seems to require that the full source of GMP sip
with any Parrot binary. Which isn't good when you're writing a VM that
you'd like to be able to install on, say, a Palm.

Scott Bronson suggested getting in touch with the GMP developers to see
if there was anything that could be done about it. He volunteered to be
the liaison, assuming Dan was cool with it.

Meanwhile, Uri Guttman offered his 'stillborn' bignum implementation as
a basis for our own bignum library. Leo commented that it might be a
good idea in the medium to long term, but the Pie-thon is looming...

http://xrl.us/cbf7

http://xrl.us/cbf8

  Ion's Strings
Remember Ion Alexandru Morega's string pmc that got Warnocked? Well, it
got un-Warnocked this week. Dan liked it, so he checked it in.
Congratulations Ion, don't forget to send in a patch to the CREDITS
file.

http://xrl.us/cbf9

  Mmm... Pie-thon
Dan reminded everyone of the URL of the benchmark that's going to be run
for the Pie-thon. If Parrot doesn't run it faster than the C
implementation of Python, then Dan's going to get a pie in the face and
he'll have to spring for a round of drinks for the Python Cabal (is
there one? Could be a cheap round...). Of course, the plan is to have
Parrot be faster than Python so Dan'll get to chuck a Pie at Guido.
Either way, if you're at OSCON this year it should be fun.

Right now, Parrot is some way from, well, running it.

Leo announced that he will start a series of postings discussing the
main features (and requirements) of the various benchmarks. He started
with some notes on b6.py.

http://xrl.us/cbga

http://xrl.us/cbgb -- Python needs exception objects

http://xrl.us/cbgc -- Pie-thon and the recursion limit

  Class name hashes
Leo wondered about the current implementation of class name hashes. We
have two such hashes, one for PMC base classes and one for dynamic PMCs.
Leo thought this was suboptimal (and liable to make one of the Pie-thon
benchmarks problematic.) Dan agreed that unifying the hashes (and
renaming PMC classes to have Parrot prefixes (ParrotFixedSizeArray
anyone?)) was the way to go.

http://xrl.us/cbgd

  Confusing parameter order
Nicholas Clark was somewhat bemused by the choice of parameter order for
the Parrot_PMC_set_intval_intkey function, which reverses the order of
some parameters from the vtable version. He suggested unifying the two.
Leo agreed that changing things round was the best bet and suggested
that Nicholas go ahead and make the change to the extend.h interface.
Dan didn't pipe up to say it was a bad idea. In fact, Dan didn't pipe up
at all.

http://xrl.us/cbge

  Perl 6 regex parser
Jeff 'japhy' Pinyan announced that he was currently completing work on
an extensible, regex-specific, parsing module. Once it's finished, he's
going to start work on writing a subclass that parses Perl 6 rules. He
thought it might come in handy for people implementing Perl 6.

Luke Palmer thought it would be too; the grammar of Perl 6 is being
specified in Perl 6 patterns. Initially it was hoped that Damian's
Perl6::Rules module would be what was needed to bootstrap us, but
'serious bugs in the Perl 5 regex engine having to do with executing
code within regexes' meant that Perl6::Rules can't do the job for us.

So, good luck Japhy, we're depending on you.

But, you know, no pressure mate.

http://xrl.us/cbgf

  Leo's tasks for the interested
Leo asked for volunteers to implement a class to handle complex numbers
(needed for Python) and to implement sort method(s) for the various
*Array PMCs.

http://xrl.us/cbgg

Meanwhile, in perl6-language
  Command line like switches for functions and operators
Michele Dondi proposed syntax for adding 'command line' type switches to
functions and methods which look almost, but not quite, entirely unlike
Perl 6's named parameters. Brent Royal-Gordon pointed out that Michele's
proposed

rename -v = 1, $orig, $new;

could be written, rather more Perl6ishly as:

rename $orig, $new :verbose;

Luke Palmer pointed out that wrappers could be used to add such extra
named arguments to built ins, so the proposed behaviour for rename
   

Re: This week's Summary

2004-06-29 Thread Robin Berjon
The Perl 6 Summarizer wrote:
  Mmm... Pie-thon
Dan reminded everyone of the URL of the benchmark that's going to be run
for the Pie-thon. If Parrot doesn't run it faster than the C
implementation of Python, then Dan's going to get a pie in the face and
he'll have to spring for a round of drinks for the Python Cabal (is
there one? Could be a cheap round...). Of course, the plan is to have
Parrot be faster than Python so Dan'll get to chuck a Pie at Guido.
Either way, if you're at OSCON this year it should be fun.
Right now, Parrot is some way from, well, running it.
Unfortunately I will be missing this historic event, I'm sure there'll 
be videos after the fact but is there any chance of getting a live video 
feed of it? The suspense is killing me...

--
Robin Berjon


This week's summary

2004-05-26 Thread The Perl 6 Summarizer
The Perl 6 Summary for the fortnight ending 2004-05-23
Yes. I know. This week's summary is a week late. So it's a summary of
the last two weeks. So let's get straight to perl6-internals shall we?

  Working on the Perl 6 Compiler
Abhijit A. Mahabal posted his first ever patch, which updated the
calling conventions used in the Perl 6 Compiler. Dan applied it
promptly, and Allison Randal chimed in with some comments on the
workings of the perl 6 compiler. There's a new document, which you'll
find at languages/perl6/doc/developer_notes.pod in a CVS parrot, which
is a scratchpad for developers to make notes of any issues that arise
while they're working on the compiler.

http://tinyurl.com/2o4lg

  Pants performing ponies
The issues that cropped up in the last summary to do with poor ponie
performance continued to exercise Leo Tötsch, Nicholas Clark and Jeff
Clites as they homed in on the Ponie bug that had led to ludicrous
numbers of PMCs being generated to no good end. It turns out that
Parrot's garbage collection doesn't go that fast when there's 9 million
live PMCs. Leo worked to improve things...

http://tinyurl.com/29z6w

  MMD side effects
Leo pointed out some strangeness related to the new multiply dispatched
opcodes and proposed a solution. Warnock applies.

http://tinyurl.com/35o3x

  The Parrot Question Repository
Dan announced that he was trying (slowly) to get things documented and
questions asked. Because questions to the list tend to get Warnocked or
asked repeatedly, he's set up a new central question repository on the
Parrot Wiki. He appealed for a volunteer to watch the list and add new
questions to the Wiki page and (a possibly different volunteer) to watch
the Wiki and post any answers back to the list. If such a volunteer
should step up to the plate, I would be inordinately grateful if they
could make a habit of commenting to any questions they transplant to the
Wiki to let people know that this has been done.

http://tinyurl.com/228g7

http://tinyurl.com/2vec8 -- Central Questions Point

  IO Opinions
Dan asked for opinions on how the IO system was going to work when it
came to dealing with record based files. Tim Bunce and Jeff Clites had
suggestions and questions.

http://tinyurl.com/2gruo

  The Right Way Repository
Dan announced that he'd started an FAQ aimed at compiler writers
targetting parrot in docs/compiler_faq.pod in your local CVS parrot.
It's a bit sparse, but the proverb about mighty oaks and acorns applies.
We hope. Brent Royal-Gordon was first in with a question and answer.

http://tinyurl.com/3dxqp

  Towards a multiply dispatched parrot
Leo continued his work on switching over to a multi dispatched vtable
architecture and asked for comments on the work so far, and the sanity
of the whole concept. Dan was very positive, and the work continues.

http://tinyurl.com/yvk4b

  Cygwin
Cygwin continues to be a fully paid up member of the awkward squad of
environments. Joshua Gatcomb pointed out that JIT had broken again. He
and Leo engaged in debugging by email as Leo worked to fix things.

http://tinyurl.com/2rqxc

  Perl 6 Parser weirdness
Abhijit A. Mahabal had some problems with the Perl 6 compiler's parser
and asked for help. It looks like it's an issue with the load path using
relative paths, which makes it fragile when you're running in an
unexpected directory.

The discussion evolved into one on the nature of the (eventual) Perl 6
parser. Dan worried that a recursive descent parser will be awfully slow
compared to the current perl 5 parser. It looks like Perl 6 *won't* have
a recursive descent parser, but the conversation got rather beyond my
level of computer science (at least where parsers are concerned). Larry
said that he was in favour of a hybrid parser which used both top down
and bottom up parsing techniques.

Dan suggested that since Larry has been itching to get into the
internals anyway, [the parser]'d be a good place to start.

http://tinyurl.com/2d6zs

  Event design sketch
Discussion of Dan's event design sketch continued. Gordon Henriksen was
worried that the events system as sketched wouldn't work well with GUI
type events. Rocco Caputo pointed out issues with Daylight Saving for
timed events. Leo asked for a glossary.

And those are just the items that caught my eye as I went into speed
skim mode.

http://tinyurl.com/322o4

  PARROT_API, compiler and linker flags
Ron Blaschke has been working on getting Parrot's linker magic right;
and he presented his findings and warned us that he intended to go ahead
and implement something based on them unless there were substantive
objections. There weren't any objections as such, but there were an
awful lot of issues raised

This week's summary

2004-05-05 Thread The Perl 6 Summarizer
  The Perl 6 Summary for the week ending 2004-05-02
So, May Day didn't quite knock me for six this year (but being up at 4am
on Newcastle Town Moor on Saturday morning to welcome in the summer with
a bunch of rapper dancers (and no, rapper does not involve large shouty
men wearing positively kitsch amounts of jewellery posturing in front of
scantily clad women and shouting about how they're keeping it real, or
whatever the current argot is. It's a rather older tradition of men
making fools of themselves than that) is guaranteed to leave a chap
feeling rather tired) so here's the summary.

We'll kick off with perl6-internals. Again.

  GCC for Parrot
Vishal Vatsa announced that he was working on getting GCC to compile to
Parrot as his masters research project. I'm sure we're all wishing him
the best of luck.

http://tinyurl.com/2a6gj

  Parrot strings
Various discussions of the Right Way to do string handling continued.
Dan clarified his Strings design docs and Jeff Clites posted a 'Strings
Manifesto'.

It seems, to this observer at least, that a big problem with dealing
with strings is that there's rather more than one Right Way to do
things, depending on how you're looking at the problem and what you're
trying to do. Dan's problem is that he has to find some way of
accommodating all the various contradictory things that people want to
do to strings without making any of them unduly painful. (Not assisted
by the fact that, in one last week's documents he managed to graphemes,
characters and glyphs slightly mixed up.)

Me? I'm punting on summarizing this properly. My theory is that if you
know enough about this stuff to be of assistance then anything I say
will almost certainly be an annoying simplification too far. And if you
both know enough about strings and care enough about Parrot, you're
already involved in the thread. Hopefully there'll come a point in the
future when everything's settled and this section of the summary will
say Strings got sorted at last, look at this URL for details.

http://tinyurl.com/36cck

http://tinyurl.com/3dm3c

http://tinyurl.com/yw8dv -- Strings Manifesto

http://tinyurl.com/2se9w

http://tinyurl.com/2drsf

  Win32 and cygwin issues
There's been a good deal of work this week on getting things building
properly in the Win32 and cygwin environments. Ron Blaschke, 'Limbic
Region', George R and Leo Tötsch all worked on things.

http://tinyurl.com/3axog

http://tinyurl.com/26z4n

  NCI and 'Out' parameters
Mr ParrotSDL (aka chromatic) showed an SDL function signature that he
wanted to use via NCI (Parrot's Native Call Interface), but which didn't
work because it had two pointer arguments that were used by the function
as out parameters. He proposed changing the NCI PDD (PDD16) to support
this sort of thing cleanly. Leo, Dan, Tim Bunce and chromatic discussed
the changes needed.

A little later in the week, chromatic posted a patch implementing
something to solve the problem.

http://tinyurl.com/32oxo

http://tinyurl.com/2l4j7

  Joys of assignment
There's been some discussion recently about what happens with assignment
and/or binding, and the difference between value and reference types.
Dan decided that the time was right to post a clarification of the
issues as they related to Parrot.

http://tinyurl.com/ypl8u

  Fun with md5sum
Nick Glencross's idea of fun is, apparently, implementing md5sum in
IMCC. He posted his first cut at an implementation. I think Leo's
response holds for all of us: Wow. Maybe I'm looking in all the wrong
places, but so far it doesn't appear to be in the repository, but it can
only be a matter of time.

http://tinyurl.com/2lr4v

  Return continuation register
Dan's working through outstanding issues and tidying up loose ends. One
result of this is that he's been thinking about how the return
continuation is handled. The new design (and calling conventions?) makes
use of a return register in the interpreter structure, which gets saved
as part of the environment that a continuation captures.

http://tinyurl.com/277ne

  Library loading
Clearing up another loose end, Dan did some design of how we're going to
cope with loading libraries.

http://tinyurl.com/33djf

  Keyed vtables and MMD
If you've been following the mailing list for any length of time
(especially if you've been following it directly rather than
summarized), you'll be aware that there's been a long running...
discussion between Leo and Dan about the keyed variants of all the
binary vtable entries: Leo worries that there's a heck of a lot of 'em;
Dan worries that it means creating temporary PMCs in what should be
simple circumstances.

It turns out that having *all* the keyed 

This week's Summary

2004-04-28 Thread The Perl 6 Summarizer
  The Perl 6 Summary for the week ending 2004-04-25
And we're back on a weekly schedule again (unless the Mayday bank
holiday knocks me for six next week). As I expected, the Apocalypse has
brought out a rash of prophets and prognosticators in perl6-language,
but perl6-internals is still ahead on number of messages per week.

  Constant Strings
I confess I'm not sure I quite understand the constant strings patches
that Leo Tötsch and Jeff Clites were discussing. I understand the bottom
line though -- they make parrot a lot quicker when comparing constant
strings. Huzzah!

Then it turned into a discussion of Unicode (or at least, Parrot string
handling which is almost, but not quite, the same thing).

http://tinyurl.com/2mowl

  Parrot m4 0.0.4
Bernhard Schmalhofer posted a patch to bring his parrot implementation
of m4 up to what he's calling version 0.0.4

http://tinyurl.com/34be5

  SDL Parrot status
Portland Parrot stalwart, chromatic, posted a link to a SDL Parrot site
he's set up with current status, downloadable snapshots and other good
SDL Parrot related things.

http://tinyurl.com/2gcbs

  Passing arrays of structs to NCI subs
That man chromatic again, this time he asked if there was a secret
syntax for passing and retrieving arrays of things to and from NCI. Leo
noted that, according to the docs, there is no secret syntax, it's all
documented but unimplemented.

http://tinyurl.com/2xsrc

  PMC Constants
Last week, Leo asked for comments on his proposal for PMC constants.
This week, Dan replied. Essentially he's all for the idea, but wasn't
sure which implementation strategy was the best choice.

http://tinyurl.com/2ff8t

  Assign and set
Leo announced some changes he'd made to the behaviour of the set and
assign opcodes. Jens Rieks pointed out a case that he'd missed.

http://tinyurl.com/3bl4u

  hyper op - proof of concept
Leo also implemented what he described as a rather hackish and
incomplete new opcode called hyper. Dan liked it enough to suggest
that we should go the whole hog and add a hyper vtable to PMCs, with
hyper versions of all the standard vtable entries. He and Dan had a long
discussion of this, with contributions from various luminaries including
Larry. There was some debate as to whether we really needed overridable
hyper ops, but Dan's adamant that whatever happens they'll be
implemented in a vtable to allow for potential optimizations in some
cases.

http://tinyurl.com/37wqy

  Separating allocation and initialization of objects
Last week, Leo posted the latest object benchmarks, and things were
fast. But there was one test where Python was faster. Analysis of the
results and the code seemed to point the finger at Parrot's combined
allocation and initialization. This week Dan confessed that he was
leaning towards separating the two because that would allow for a
standard PCC call into the initialization code. He pointed out that
there were still a few issues, but that appears to be the way he's
thinking.

http://tinyurl.com/24h68

  Another config task
Dan pointed out that the current config scheme relies rather heavily on
flags set in the current perl install, which isn't ideal. He suggested
that people might like to look into making Parrot's config step rather
less Perl dependent and pointed at things like 'metaconfig'.

http://tinyurl.com/3xn29

  Problems with the Perl 6 Compiler
Allison Randal noted that languages/perl6/ was failing all its tests.
The issue arose because the Perl 6 test module inherits from
Parrot::Test, and Parrot::Test's behaviour got changed recently. She
wondered why the changes had been made. After some discussion, Allison
provided a patch to make things work with the new Test module.

http://tinyurl.com/2j3kp

  IMCC temp optimizations...
Dan is possibly the only person using Parrot in a commercial (mission
critical?) environment, using a compiler from a legacy language to
Parrot. He's currently experiencing problems with IMCC taking a long
time to compile the PIR generated by his compiler. Apparently it's
because he's using a lot of .locals and temps. He and Leo discussed it
back and forth to try and find optimizations (both of IMCC and of Dan's
compiler) for the issue. (Dramatic) progress was made.

http://tinyurl.com/3f9gq

  Korean character set information
Last week, Dan had wished he had access to anyone who knew anything
about Korean. This week kj provided some information. The ensuing
discussion of Unicode (again, maybe I'm going to have to extend my I
don't cover the Unicode arguments policy from perl6-language to the
internals list too) led Jarkko Hietaniemi to propose that Parrot's
standard character set be cuneiform, with Phaistos disc symbols for
 

This week's Summary

2004-04-07 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-04-04
Wednesday? Why did I leave it 'til Wednesday to write the summary? I
must have *some* reason. Or maybe not. I'll give fair warning that I
won't be doing a summary for next week though, what with Easter and
everything, but you'll get a fortnight's summary the week after, because
I'm good to you like that.

We'll start this week's summary with perl6-internals.

  MMD vtable functions in bytecode
Dan had announced that he was working on adding parrot bytecode support
for multimethod dispatch, and outlined how they'd be used and got
semi-Warnocked.

The discussion got going this week, Leo Tötsch was unsure about some of
Dan's implementation choices. In particular, he wondered if MMD subs
should use PMCs rather than the simple function pointer that Dan had
used. Dan thought not.

http://tinyurl.com/3do7z

  Behaviour of PMCs on assignment
The discussion of what to do when assigning to PMCs continued. The issue
is complicated because we are trying to be friendly to multiple
languages (though, as far as I can tell, the really problematic issue is
Perl Scalars; most of the other languages that spring to mind have
variables that are 'simple' pointers to objects; Perl Scalars can hold
(seemingly) a million and one different things, potentially all at
once). TOGoS argued that, as things stand there's a disjunction between
the way (say) integer registers work and the way PMC registers work.
With Integer registers, if you do

$I1 = $I2 + $I3

then $I1 gets a 'new' integer; there doesn't need to be a preexisting
integer. However, if you were to do:

$P1 = $P2 + $P3

what actually happens (assuming we're using straightforward PMCs
here...) is more like:

$P1.value = $P2 + $P3

In other words, you need a preexisting $P1. Leo agreed with TOGoS's
argument, but worried that implementing it would blow core size up to an
insane value. Dan didn't agree with TOGoS though, but I'm afraid I
didn't quite follow his reasoning (probably because I'm being dumb this
morning).

http://tinyurl.com/24yaw

  In which your Summarizer asks dumb questions
In an extended moment of stupidity, Piers Cawley asked why we had
distinct register and user stacks. Leo explained it to him, very
politely I thought.

http://tinyurl.com/3x77x

  Stalking the wily Garbage Collector bug
Jens Rieks's *projet du jour* -- an EBNF parser in Parrot -- tweaked a
garbage collection bug so he posted appropriate debug traces and Leo set
to work on it. He didn't get it working fully, but it takes longer to
crash now (but it crashes in the same bit of C code). Jens thinks it's a
problem with Parrot's handling of strings.

http://tinyurl.com/3eqlh

  New SDL Parrot bindings underway
That stalwart of Portland.pm, chromatic, announced that he's in the
process of porting the existing SDL Parrot bindings to use our shiny new
Object system. Jens Rieks wondered why he was prefixing his method names
with underscores (you only need underscores for globally visible
functions, methods can have straightforward names). Tim Bunce wondered
why chromatic wasn't using nested namespaces. Leo pointed out that
nested namespaces haven't been implemented just yet.

http://tinyurl.com/yrue9

  Some new classes
Dan checked in some stub code for PMCArray and StringArray. Eventually
they'll be auto-resizable, PMC or String only arrays, but right now
they're simple wrappers for PerlArray. He suggested that rewriting them
so they were real, efficient arrays would be a Good Thing (and, I
suggest, a relatively gentle introduction to Parrot hacking if anyone
reading this is interested.)

Jens Rieks offered up a patch for his data dumper so it could take them
into account, which Dan applied.

http://tinyurl.com/29gsq

  Points of focus
Dan went all Managerial on our collective donkey and posted a nice
bulletted list of things that need sorting out for a 0.1.1 release. The
general thrust of the message is bug fixing and documenting, which is
good.

http://tinyurl.com/35mor

  Fun with non deterministic searches
One of the canonical illustrations of things to do with continuations is
non deterministic searches. Imagine that you could write

$x = choose(1,3,5,9)
$y = choose(1,5,9,13)

assert $x * $y == 15

print $x * $y == , $x * $y, \n

and have 3 * 5 == 15 printed out. (Okay, so in Perl 6 you're going to
be able to do that with junctions, but this is about an underlying
implementation). Piers Cawley translated a simple non deterministic
search algorithm from scheme to Parrot and posted the (initially
failing) code to the list and pointed out that, even if he tweaked IMCC
to generate full continuations

This week's summary

2004-03-29 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-03-28
... and we're back! Another interesting week in Perl 6. Your Summarizer
even wrote some [parrot] code and it's been simply ages since he did
that. In accordance with ancient custom, we'll start the summary with
perl6-internals.

  Building with miniparrot
Back in the early days Dan proposed, and it was generally agreed that
the Parrot build process wouldn't be Perl dependent, but instead there
would be a few OS specific 'bootstrap' scripts, enough to get miniparrot
up and running. Miniparrot would have just enough smarts to be able to
complete the configuration and build the final full parrot.

After last week's discussion about reinventing metaconfig, I wondered if
the miniparrot plan was still in place. It seems I'd missed the
discussion of stat that ended up talking about how miniparrot would be
able to do its job. I find myself wondering what else is needed to get
miniparrot to the point where it can start doing configuration work.

http://tinyurl.com/2djx8

  Continuations continued (and fun with stacks)
Warning: The following discussion of the Continuation discussions is
irrevocably biased; I find it very hard to be objective about
discussions I participate in, and I was rather loud mouthed in this one.

The previous discussions of the uses and semantics of continuations
carried over into this week. Piers Cawley argued that the current stack
architecture seemed to be optimized for the wrong thing, with the
special case RetContinuations being symptoms. He argued that current
architecture (where a single stack frame can accommodate multiple
pushes, with copy on write semantics being used to handle full
continuations) should be replaced with a 'naïve' architecture using
linked lists of immutable, simple stack frames, one frame per push.
Switching to this approach, he argued, would do away with a great deal
of code complexity, and issues of high object creation overhead could be
offset by using free lists and preallocation to reuse stack frames. Oh
yes, and there'd be no difference between a RetContinuation and a full
Continuation with this scheme.

Leo Tötsch wasn't convinced. Dan was though, and made the decision to
switch to single item per frame, immutable, non COW stacks. Leo
implemented it. His first cut was rather slow; later refinements added
freelists and other handy stuff to start pulling the performance back
up. I'm sure there's more refinement to come though.

http://tinyurl.com/2k9ke

http://tinyurl.com/yqsxa

http://tinyurl.com/34kas

http://tinyurl.com/2fo5j

http://tinyurl.com/3buyk

  Variadic functions
Ilya Martynov had some questions about how to handle variadic functions.
Leo clarified some things and pointed Ilya at the foldup op. Jens
Rieks suggested aliasing the registers I[1-4] to argc[ISPN], which
Leo liked. I'm not sure he's implemented it yet though.

http://tinyurl.com/yugc6

  GCC compiling to Parrot
In previous weeks Gerard Butler had posted wondering about getting GCC
to target Parrot. The initial response was rather negative, pointing out
that GCC and Parrot saw memory *very* differently, to the extent that
there would probably be a need have special PMCs for GCC managed memory,
which would make communication between GCC implemented languages and
Parrot implemented ones rather tricky.

Undeterred, Gerald mapped out a way forward and asked for opinions. Dan
thought the scheme looked reasonable, but fenced that with the caveat
that he knows nothing about GCC's internals.

http://tinyurl.com/2qm87

  Safe execution core and ops classification
Leo checked in some patches from Jens Rieks to allow classification of
ops. He thought that this meant we were a good way along the road to
providing a 'Safe' run-core option, though there was still a lot to do.
He outlined a road map and asked for comments (and implementations).
Comments were forthcoming, and Dan eventually bundled his comments up
into a single post with some design in it. For some reason this induced
some industrial hand waving about Proof Carrying Code from Steve Fink
(he accused himself of hand waving, not me).

Jarkko Hietaniemi (Emacs' dynamic completion suggested 'Jarkko Himself'
for that one. Well, it made *me* smile) offered the pathological

eval 'while([EMAIL PROTECTED],0){}'

as an example of the kind of bad things that can happen if you allow
eval EXPR in your 'safe' code, even with strict rules on what it's
allowed to compile (Dan pointed out that quotas would help in this
particular case...)

If there's one lesson to take from the discussion it's this: Code Safety
is Hard. Whether it's AI Hard or not is left as an exercise for the
interested reader.


This week's summary

2004-03-16 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-03-14
Another week, another summary. It's been a pretty active week so, with a
cunningly mixed metaphor, we'll dive straight into the hive of activity
that is perl6-internals.

  Benchmarking
Discussion and development of Sebastien Riedel's nifty Parrot
comparative benchmarking script continued. Leo suggested a handy config
file approach which would allow for adding benchmarks in other languages
without having to change the script itself.

The initial results don't look good if you're name's Dan and you want to
avoid getting a pie in the face at OSCON though, as Dan pointed out,
there's a few tricks still to be played in this area. Anyway,
benchmark.pl is now in the CVS tree if you want to play with it.

http://tinyurl.com/2h7c4

  Speeling mistacks
The ever helpful chromatic applied Bernhard Schmalhofer's patch to fix
up an endemic speling mostake in some tests. Apparently DESCRIPTION
isn't spelt DECSRIPTION.

http://tinyurl.com/3dd85

  Dates and Times
Discussion of parrot's handling of dates and times continued this week
too. Joshua Hoblitt who works on DateTime.pm (a very handy base for
doing date/time handling in Perl 5, you should check it out) said that
the DateTime people really, really want is an epoch that's *absolutely*
fixed across all platforms.

There was also some discussion of where the opcode/library boundary
should be placed, with some arguing that the likes of strftime should
be implemented as opcodes. Melvin Smith responded to this with what
seems to me to be a very telling point: If we cannot provide a decently
performing VM that makes people want to write stuff in bytecode (or
compiled to bytecode) we have failed anyway.

Toward the end of the week, Dan announced some decisions and questions.
Larry had a few quibbles, but otherwise there have been no other
comments. Personally, if I never hear the phrase leap second again,
I'll not be unhappy.

http://tinyurl.com/2s5ep

http://tinyurl.com/2djx8 -- Dan's decisions

  Alternate function calling scheme
Dan has come to the view that we need an alternative, light weight,
calling convention for calling vtable opcode functions; the idea being
that this should speed up objects a tad. He asked for suggestions.

Leo Tötsch wasn't convinced that we really need special calling
conventions, arguing (with numbers) that it would be best to concentrate
on speeding up object instantiation by optimizing object layout. Simon
Glover agreed with him, noting that simply changing the Array that used
to store class, classname and attributes gave him a speedup of around
15% on the object benchmarks.

http://tinyurl.com/2699g

  Summary Correction
Last week I said that we can't yet do delegated method calls for vtable
functions with objects. Leo pointed out that, actually, we can now. Leo
also disclaimed any responsibility for helping Brent Royal-Gordon (né
Dax?) fix up the support functions for Parrot::Config, though Brent
later claimed that he was merely the person doing the typing...

Jerome Quelin noted that parrotbug has already reached version 0.2.1 (I
wonder what its version will be when Parrot 1.0.0 gets released).

http://tinyurl.com/2ksox

http://tinyurl.com/3hyky

  Dead Object Detection improved
Not content with his work on everything else this week, Leo has
revisited the Garbage Collector and tracked down a couple of bugs
including a really nasty sounding one that caused disappearing
continuations. He even isolated the problem with a test.

http://tinyurl.com/2m7sf

  Rejigging trace output
Leo's rearranged the output of parrot -t slightly in an effort to make
it more readable. Jens Rieks was impressed and pointed out a couple of
issues, which Leo quickly fixed.

http://tinyurl.com/33r9w

  Namespaces in IMCC
Dan's day job continues to be a handy driver of Parrot development. This
time he needs to make use of namespaces and, whilst namespaces
themselves aren't completely nailed down yet, there's enough there that
the time has come to work out the syntax for working with them in IMCC.
He proposed

.namespace [foo; bar; baz]

as a way of setting the current namespace to foo::bar::baz (in Perl
style, your language may vary). Leo was okay with that as far as it
went, but pointed out that things were slightly more complicated than
Dan's proposal implied. He suggested that the time was right to sort out
the duties of the PIR assembler towards variable names, name mangling,
lexical scopes, namespaces, globals and all that good stuff. Dan punted
slightly on this latter part, saying that, in general it shouldn't be
the assembler's job to track them. The current namespace would simply be
used as the namespace 

Re: This week's summary

2004-03-09 Thread Jerome Quelin
The Perl 6 Summarizer wrote:
 Parrotbug reaches 0.0.1
 Jerome Quelin responded to Dan's otherwise ignored request for a
 parrot equivalent of perlbug when he offered an implementation of
 parrotbug for everyone's perusal, but didn't go so far to add it to
 the distribution. I don't think it's been checked into the repository
 yet, but it'll probably go in tools/dev/ when it does.
 Later in the week, he actually got it working, sending mail to
 the appropriate mailing lists. With any luck the mailing lists
 themselves will be up and running by the time you read this.

Some notes:
 - I've bumped up the version and we're now at 0.2.1 (I like to increase 
version numbers, it make me feel like work is going on fast :-) )
 - following an irc discussion with melvin and dan, I've checked in 
parrotbug in parrot's root (and forgot to update MANIFEST - sorry 
again, Jens!)

Thx for the summaries,
Jerome
-- 
[EMAIL PROTECTED]



This week's summary

2004-03-08 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2004-03-07
Time marches on, and another summary gets written, sure as eggs are eggs
and chromatic is a chap with whom I will never start a sentence. We
start, as always, with perl6-internals.

  Platform games
Work continued this week on expanding the number of known (and
preferably known good) platforms in the PLATFORMS file.

  Languages tests
Dan reckons it's time to be a little more aggressive with tests for
ancillary stuff, in particular the contents of the languages
subdirectory. He called for language maintainers (and any other
interested parties) to at least get minimal tests written for all the
languages in the languages directory, and to get those welded to the
languages-test makefile target.

http://tinyurl.com/24sd3

  IMCC and objects/methods
Tim Bunce congratulated everyone on Parrot 0.1.0 before asking about
where we stood with IMCC and objects/methods. Leo confirmed Tim's
supposition that there is no syntactic support for objects and methods
in IMCC, at least in part because there's been no discussion of how such
syntax should look.

http://tinyurl.com/2jerk

  Parrotbug reaches 0.0.1
Jerome Quelin responded to Dan's otherwise ignored request for a parrot
equivalent of perlbug when he offered an implementation of parrotbug for
everyone's perusal, but didn't go so far to add it to the distribution.
I don't think it's been checked into the repository yet, but it'll
probably go in tools/dev/ when it does.

Later in the week, he actually got it working, sending mail to the
appropriate mailing lists. With any luck the mailing lists themselves
will be up and running by the time you read this.

http://tinyurl.com/3fknl

  Subclassing bug
Jens Rieks found what looked like a problem with subclassing, which
turned out to be a problem with clone not going deep enough. Simon
Glover tracked it to its den and Dan Sugalski fixed it.

http://tinyurl.com/ysogd

  Good news! Bad news!
Good news! Dan says the infrastructure is in place to do delegated
method calls for vtable functions with objects. Bad news! It doesn't
actually work because it's impossible to inherit from delegate.pmc
properly. Dan pleaded for someone to take a look at pmc2c2.pl and or
lib/Parrot/Pmc2c.pm and fix things so that the generated code is
heritable.

http://tinyurl.com/2ouce

  Parrot m4 updated
Bernhard Schmalhofer posted a patch to improve the Parrot implementation
of the m4 macro language.

http://tinyurl.com/2aauu

  Use vim?
I don't use vim, but it seems that Leo Tötsch does. He's added some
handy dandy vim syntax files for IMC code. If you're a vim user you
might like to check it out. Leo points out that the syntax tables might
well be handy if you don't know all 1384 opcode variants by heart.

http://tinyurl.com/36gqv

  Parrotris
Sadly, Jens Rieks' Parrot and SDL implementation of tetris didn't quite
make it under the wire for the 0.1.0 release. However, Leo has got round
to trying it and is impressed, though he did spot a few bugs (it doesn't
spot that the game is over for instance). Jens is working on fixing
those (and on adding new features), which he reckons will go a deal
faster when IMCC has better syntactic support for OO techniques.

http://tinyurl.com/2hklm

  Dates and Times
To paraphrase Barbie: Dates and Times are Hard. Not that hardness has
ever stopped Dashing Dan Sugalski before. This time he waded into the
swamp that is Parrot's handling of dates, times, intervals and all that
other jazz. He started by soliciting opinions. He got quite a few.

The discussion can probably be divided into two camps: KISS (Keep it
Simple) people, and DTRT (Do The Right Thing) people. But KISS still has
it's complexities (which Epoch do we want? Should time be a floating
point value?) and what, exactly, is the Right Thing? The catch is, time
is a messily human thing, and computers are really bad at messy
humanity.

Larry said that Dan could do what he wants with Parrot, but he wants
Perl 6's standard interface to be a floating point seconds since 2000.
He argues that floating point will almost always have enough precision
for the task at hand, and by the time it doesn't, it will. :-). He also
argued that normal users should *never* have to remember the units of
the fractional seconds.

Zellyn Hunter pointed everyone at Dave Rolsky's excellent article on the
complexities of handling dates and times with a computer.

Discussion is ongoing, but it seems that Larry and Dan are leaning
towards the KISS approach.

http://tinyurl.com/3dqhn

http://tinyurl.com/ywcs9

  Initializers, finalizers and fallbacks
Anyone who has been reading the internals list for any length of time,
or who has chatted 

This week's summary

2004-03-01 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 20040229
Welcome to the leapday summary. We'll crack straight on with
perl6-internals

  Running up to release time
As Leapday had been chosen as the release date for Parrot 0.1.0, the
week was mostly spent getting things ready for release. A case in point
was the PLATFORMS file which lists those platforms on which Parrot is
known to compile and run, which (at the beginning of the week) was short
several platforms and generally out of date. So everyone manned the
pumps and sent in reports of success and failure. BTW, if you manage to
get Parrot up and running (or even partially up and limping) on a
platform that's not listed in PLATFORMS then [EMAIL PROTECTED]
would be very pleased to hear from you.

http://tinyurl.com/287f2

  Objects and time
Dan announced that he'd trodden on one of the nasty bits of objects; the
proper ordering of classes for initialization and destruction in the
face of multiple inheritance. He announced that he was in the process of
actively ignoring it for the time being and canvassed opinions about
whether to delay the Leapday release in favour of fully
specced/implemented objects or whether to make the 29th without objects,
or some other choice. In the end we decided to still aim for the 29th,
with objects in a 90% there state, but with big 'HERE BE DRAGONS'
warnings plastered on the tricky edge cases. A little later Dan
announced what would be there for the release (Multiple inheritance,
attributes, object instantiation and method calls) and what wouldn't
(monkeying with some things after subclassing/instantiation, method
redispatch and fancy namespace lookups).

As the week progressed, objects inched closer and closer to readiness,
though at least one summarizer's heart was in his mouth as the week
ebbed away. Would Dan get everything he'd promised working before the
deadline? Tune in later on to find out.

http://tinyurl.com/34db3

http://tinyurl.com/2xuoa

  Feature Freeze
On Wednesday, Leo Tötsch announced a feature slush (patches to add OO
features were still being accepted) in anticipation of a release. The
patch rate increased as people got on with fixing up failing tests on
various platforms, improving documentation, and improving OO
functionality. Not all the object patches were from Dan; chromatic got
in on the act with a couple of tweaks to parrotobject.pmc...

http://tinyurl.com/2u3kb

  Native PBC issues
It turns out that, just at the moment, Parrot bytecode isn't actually
platform independent. This will, of course, get fixed, but it's not
Leo's top priority at present. He asked people who are running Parrot on
64 bit and Big endian architectures to submit native_pbc test files (if
you're on such an architecture, take a look at t/native_pbc/*.t for
instructions, and the Parrot community will thank you for it).

http://tinyurl.com/2fh5r

  Object Questions
Simon Glover did some sterling work exercising the Object documentation
and implementation, posting several bug reports and questions.

http://tinyurl.com/3bnys

http://tinyurl.com/yu9ce

  Ladies and Gentleman: Objects!
On Wednesday, several full days before the release date, Dan announced
that objects were done (well, everything that he promised would work
did) and asked for people to start 'abusing it heavily'. Which they
promptly did. There was applause too.

http://tinyurl.com/2bsqv

  Next on the hit list
Having got objects up, Dan immediately posted a list of desiderata for
the next release but one. Is there no stopping him?

http://tinyurl.com/38ymw

  Today we have naming of parts
Will the madness never stop?

Mitchell Charity spoke for everyone when he posted an extract from
PDD15:

What .NET calls an attribute parrot calls a property
What .NET calls a property parrot calls an attribute

Everyone shared the pain, though Paolo Molaro pointed out that it's not
exactly accurate and the .NET name for a parrot attribute is 'field'
(which is yet another term with wide variety of meanings when you think
about it). Not being the biggest OO fan in the world, Dan swears he's
just going to rename them Fred and Barney but not tell anyone which is
which.

http://tinyurl.com/24j36

  LANGUAGES.STATUS updates
Mitchell also pointed out that LANGUAGES.STATUS was out of date and
several languages which were supposed to be okay failed to work on his
system. He asked for feedback to get it updated correctly.

http://tinyurl.com/3xow7

  Inconsistent Parrot/IMCC behaviour
Gregor Purdy found that Parrot was doing different things with the .pasm
file generated from an .imc file by IMCC than it was when it ran the
.imc file directly. Melvin Smith and Leo both agreed that it was a bug,

This week's summary

2004-02-26 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 20040222
Welcome to the latest belated Perl 6 Summary. I'm running late, so we'll
just dive straight into perl6-internals

  Loading bytecode at runtime
Last week Dan had specced out the rules for runtime loading of bytecode.
This week, Leo Tötsch started implementing it. There was a certain
amount of quibbling about syntax, but that was quickly sorted out.

http://tinyurl.com/27kp6

  Objects
Dan continued his work on objects and on sorting out method resolution
niggles. Getting ahead of myself slightly, he finished it this week.

http://tinyurl.com/33ql7

  Obfuscated Parrot
I reproduce this product of Leo Tötsch's warped brane without comment:

 bounds 1
 trace 0
 split P0, '', \nrekcaH torraP rehtona tsuJ
 add I1, 3
 add I2, 4
 branch I2
 pack S23, 793, I1, I0
 branch I2
 add I2, 382, I1
 branch I2
 new S23, 911, I0, I0
 branch I1
 transcode S23, S0, -19
 end

And, to compound things:

bounds 1
trace 0
newclass P0, Just another Parrot Hacker\n
shift S0, P5
does I0, P0, S0
add I0, 4
bsr I0
pack S0, 381, I0, I0
invoke
ret

Look, OO badness

http://tinyurl.com/2xbye

http://tinyurl.com/2eufv

  IO fixes for Win32
I must confess I didn't understand the details of the discussion, but
Goplat, Vladimir Lipsky and Melvin Smith spent some time working on IO
issues under Win32.

http://tinyurl.com/3b3bw

  Parrot Dumper updated
Jens Rieks continued his sterling work on a Parrot Data::Dumper
equivalent, posting a new version that does bounds checking and PMC
property dumping. A later refinement added support for self referential
data structures and other edge cases.

http://tinyurl.com/ytmmz

  ConfigScript3
TOGoS announced a new language targetting Parrot.

http://tinyurl.com/2pszj

http://tinyurl.com/2b942

  Symbol naming and IMCC2
Dan ruled on the symbol naming issue discussion. Essentially, if your
symbol includes a sigil, you're not going to be able to use it directly.
Learn to love symbol tables and .alias.

http://tinyurl.com/37fx3

  TODO: parrotbug
Dan asked for someone to implement a parrotbug script to handle
building and possibly sending the bug reports into RT. The script should
work in a similar way to perlbug, appending configuration information
etc to any bug report.

http://tinyurl.com/3x59b

  TODO: Forth as a compiler
Dan asked for a volunteer to fix forth.pasm so that it can be loaded in
as a compiler module, allowing one to do:

compile P5, ForthCompiler, 1 2 + .

and have it print out 3.

http://tinyurl.com/2zzrr

  Documentation tasks
Taking time out to heap praise on the deserving Michael Scott, Dan
outlined a few documentation jobs that need to be done (hopefully)
before the next Parrot release.

http://tinyurl.com/3eons

  SDL goodness
The work on SDL support continued apace, with chromatic checking in
several SDL related fixes and enhancements.

http://tinyurl.com/yrsgk

http://tinyurl.com/2oycl

  Parrot Day at the Austrian Perl Workshop
Thomas Klausner announced that this year's Austrian Perl Workshop would
have a Parrot Day, with a tutorial from Leo Tötsch and hopefully some
other good stuff from Parrot luminaries. Thomas also asked for people to
submit talk ideas.

http://tinyurl.com/29ev4

http://tinyurl.com/2257c

  SDL + Parrot = Tetris
Jens Rieks announced the alpha of an implementation of tetris in Parrot
using SDL for the display. Yay Jens! Mmm... a time sink... just what the
Parrot developers need.

http://tinyurl.com/2vb3d

  The First International Workshop on Interpreted Languages
Dan pointed us all at the First International Workshop on Interpreted
Languages' Call for Papers.

http://tinyurl.com/2golt

http://tinyurl.com/3cuhu

Meanwhile, in perl6-languages
  Traits/Roles
I know I've had this feeling of déjà vu before, but I've spelt it right
this time. Discussion of Roles continued this week. If I never read
another discussion of the difference between Dog::bark and
Tree::bark again, it'll be too soon.

  The Sort Problem
The other topic of discussion this week covered sorting. It looks as
though Perl 6's sort function is going to be rather more powerful than
the Perl 5 equivalent; hopefully this means Perl 6 will finally see the
back of code like:

map  { $_-[0] }
sort { $a-[1] = $a-[1] }
map  { [$_, extract_key_from($_) } @array

Damian's post on the subject, referenced below, looks like the front
runner. It's worth reading if you're interested in sort itself or if
you're interested in how Perl 6's multi dispatch will work.

  

This week's summary delayed

2004-02-23 Thread The Perl 6 Summarizer
I'm afraid that this week's summary won't be posted until at least
Wednesday. Sorry.


This week's summary

2004-02-17 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 20040215
In his talk on Parrot at OSCON last year, Dan said that Parrot would
have objects 'by the end of the week'. It's been a very long week, and
it's not finished yet.

Right, venting over, time for the summary. I'll start with
perl6-internals, as always. Actually, we're starting slightly before the
usual start of the week because about half an hour after I sent last
week's summary off I realised I'd completely missed a couple of threads.

  Some minor decisions and timetables
Dan made a few design decisions and outlined a release timetable for the
next release of Parrot (which was initially set to be Valentine's Day,
but the appeal of February 29th for a Leap Parrot release proved to be
greater).

http://tinyurl.com/2y8fz

  Why didn't I mention this last week?
Jens Rieks earns a Wow, cool! from me with his parrot version of
Data::Dumper. Way to go Jens. People were impressed.

http://tinyurl.com/2uebj

  Supporting simple PMCs as keys
Stéphane Payrard posted a patch to support using simple PMCs instead of
full on key PMCs for simple lookups. He and Leo discussed it, but the
patch hasn't been accepted yet.

http://tinyurl.com/2fru2

  Keyed access to UnManagedStruct
Everyone's favourite differently capitalized O'Reilly employee,
chromatic (Maybe the new running joke should be my struggles to avoid
using his name at the start of a sentence so we don't have a falling out
cases), continued his discussion with Leo about keyed access to
Unmanaged (and presumably managed) C structs.

http://tinyurl.com/yuk3m

http://tinyurl.com/2c6z6 -- An example of chromatic's problem

  Backward branch, fixed
Remember the problem with a backward branch that I said was Warnocked
last week. It turned out that it was fixed before I posted the summary.
They don't call Leo Tötsch the Patchmonster for nothing.

http://tinyurl.com/24tre

  Parrot system
Dan apologized for his recent silence on list, but thought he'd be more
active from now on. He also announced that he was in the process of
adding in perl 5 style system support

http://tinyurl.com/2jg8v

  Parrot sort
Jens Rieks garnered more kudos with his implementation of a simple _sort
function in IMC. Leo checked it in, and you'll find it in
library/sort.imc in an up to date CVS distribution. Then, seemingly in
his spare time, he fixed up some SDL related stuff for chromatic.

http://tinyurl.com/3fm4w

  RFD: Symbol naming and IMCC2
Melvin Smith posted a Request For Discussion about how IMCC2 will handle
symbols and sigils. The issue seems to be that, for humans writing code,
quoting symbols is a pain. Various options were suggested, but nothing
appears to have been decided yet. (I quite like Leo's suggestion
involving declaring lexicals with a mangled name for use in parrot, but
marking it as being associated with an $unmangled_original_name.)

http://tinyurl.com/2ovqp

  JIT and branches under the Sun
Stephane Peiry found with the JIT on Suns; it seems that a loop that
should terminate carries on forever instead. He and Leo worked on
tracking it down, but the bug was still there by the end of the week.

http://tinyurl.com/2acc8

  Rules for method resolution?
Okay, so I may have kvetched about the continuing lack of Parrot objects
earlier, but Dan's definitely working on it. This time he's thinking
about method resolution. In particular he wondered when

   findmethod P4, Pobject, methodname

should do the name resolution. In other words, should P4 contain the
method that was current at the time of the findmethod call, or a proxy
PMC that waits until the method is invoked to find the appropriate
method. The discussion seemed to come down in favour of doing both.

http://tinyurl.com/232lg

  Object spec
Dan noted that he'd checked in some major revisions to PDD15 (objects!)
and suggested that people take a look. Simon Glover, Leo Tötsch and LF
had questions.

http://tinyurl.com/2hm3x

Meanwhile in perl6-language
  The thread that ate the mailing list
Luke Palmer doesn't like the repetition inherent in

   @sorted = sort { $^a.foo('bar').compute = $^b.foo('bar').compute }
   @unsorted;

He wondered if there might be some way of rejigging sort to eliminate
the duplication and proposed a couple of spectacularly ugly
possibilities. And then the world exploded. It seems that nobody (on
perl6-language) actually likes the current signature of sort, but
nobody can quite agree on what it *should* look like. You know things
are getting hand when Dan proposes just using SQL's ORDER BY syntax
(even though he was joking). Simon Rubyometer Cozens proposed:

   @sorted = @unsorted.sort(op = infix:=, 
key

This week's summary

2004-02-10 Thread The Perl 6 Summarizer
 Henriksen wondered what had happened to a patch that he'd
submitted to bugs-parrot. Robert Spier wasn't sure, but noted that the
MyDoom virus was busy causing the perl.org servers a hard time (more
than a gigabyte in 19 hours; Robert sounded a little fraught). As it
happened, the patch had actually bounced from the list because it was
huge. Everything got sorted out in the end though.

http://tinyurl.com/2hnse

  Documentation tools
Michael Scott continued his sterling work on Parrot's documentation by
adding the Perl tools he used to generated the HTML docs to the tree at
tools/docs/write_docs.pl, he also announced that he'd finished the
examples and the various *.c file directories and will be looking at
classes next. I wonder how long it'll be before someone reimplements
them in in PIR...

http://tinyurl.com/3dtof

  Approaching PDD16 callbacks
Leo announced that he's implemented a first hacky way to run PASM
callbacks from C NCI functions; it's not a full implementation, but it's
a start. As usual, he solicited comments. And so far he's not had any.

http://tinyurl.com/ywg2y

Meanwhile, in perl6-language
  The Unicode argument again
Andy Wardley strongly advocated not making Unicode operators «, »
etc part of the core language. Larry disagreed, but proposed that any
Unicode declarations should also have an is ASCII('[EMAIL PROTECTED]') trait to
specify the ASCII equivalent.

http://tinyurl.com/2slv2

  Compiler writing tools
Luke Palmer has been writing 'a lot of compiler' recently and posted
some of his positive and negative experiences with YACC as possible
pointers to the sort of things Perl 6's grammars might need. In his
response, Larry once again demonstrated the truth of the proposition
that Everyone writes a templating module at least once in their life
when he confessed that the first production language I ever wrote was
an inside-out language where control commands were embedded in text that
was to be output by default.

http://tinyurl.com/2e2gz

Acknowledgements, Apologies, Announcements
Oops, reading back over last week's summary I realise that, when I meant
to talk of going to see Eliza Carthy performing live, I actually wrote
that we'd gone to see her perform life. Sorry about that.

If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development
of Perl. You might also like to send me feedback at
[EMAIL PROTECTED], or drop by my website.

http://donate.perl-foundation.org/ -- The Perl Foundation

http://dev.perl.org/perl6/ -- Perl 6 Development site

http://www.bofh.org.uk/ -- My website, Just a Summary



Re: This week's summary

2004-02-10 Thread Michael Scott
On 10 Feb 2004, at 14:09, The Perl 6 Summarizer wrote:

 I wonder how long it'll be before someone reimplements
them in in PIR...
or Perl6 perchance.



Re: This week's summary

2004-02-10 Thread Simon Cozens
[EMAIL PROTECTED] (Michael Scott) writes:
 On 10 Feb 2004, at 14:09, The Perl 6 Summarizer wrote:
   I wonder how long it'll be before someone reimplements
  them in in PIR...
 
 or Perl6 perchance.

Well, Perl6::Rules should be coming out soon, so that should help.

-- 
The problem with big-fish-little-pond situations is that you
have to put up with all these fscking minnows everywhere.
-- Rich Lafferty


This week's summary

2004-02-03 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 20040201
Welcome once again to Gateshead, where the skies are grey, the view is
uninspiring, and the workmen across the road seem determined to fall off
the ladder before they get the double glazing fitted.

But enough of the gay Gateshead life, let's hurry on to the doings of
the denizens of the perl6-internals mailing list. Who knows, we might
even visit the inmates of perl6-language later.

  Threading
To nobody's great surprise, we talked about threading. In particular,
Gordon Henriksen's concerns about the all around scariness of morph
(and not just in a threading context). I'm not sure I quite understand
what's being done, but progress is definitely being made.

Late in the week Dan announced that there were obviously still issues to
be worked out before we started in on implementation (modulo some
'obvious' stuff). He also asked for 'real worldish' tests for threading
in order to get some real numbers for different possible approaches and
to see if the problem is as bad as it was first thought.

http://tinyurl.com/3h9tq

http://tinyurl.com/2774w

  Embedding vs. extending interface types
Remember last week's kerfuffle about Parrot_Interp vs Parrot_INTERP?
Dan's resolved it be deciding that we'll just call it Parrot_Interp
everywhere. Gordon Henriksen sent in the patch.

http://tinyurl.com/ywue7

  Leo explains
Will Coleda (and others) have been having problems with data that should
be inviolate getting clobbered in strange ways. After some effort, Will
got his offending code down to 22 lines. This let Leo Tötsch work out
what was going on, and in the referenced post he explained all.
Essentially, the Copy on Write logic for handling register (and other)
stacks is broken. The workaround is not to use Continuations and
Exception Handlers. Fixes are welcome. Please.

http://tinyurl.com/2t3a8

  Testing Signal Handlers
Leo asked for help with sorting out the testing code for some signal
handling tests that seemed to be confusing the harness quite badly. Uri
Guttman came up with some suggested workarounds, as did Mike Schwern.
Leo found a third way. (If you've ever tried to write test with fork
in it, it's worth taking a look at both Uri and Schwern's answers.

http://tinyurl.com/2egso

  The costs of sharing revisited
Last week, Leo posted some scary numbers implying that using a shared
PMC led to terrible slowdowns. This week he posted the latest numbers,
and things are looking up.

   $ time perl-58-th shared_ref.pl

   real 0m8.694s

   $ time parrot shared_ref.pasm

   real 0m0.375

(and that's an unoptimized Parrot). Elizabeth Mattijsen was moved to ask
for a ponie.

http://tinyurl.com/3amop

  Cunning stunts with with UnManagedStruct
Donning his devious head, Leo demonstrated the use of UnManagedStruct to
allow for unlimited self-inspection and self-modification of Parrot
state. Which isn't really something we want to be possible. In the
opinion of Luke Palmer and Jeff Clites, the costs of removing this
capability aren't worth paying. As Jeff Clites pointed out, you only use
UnManagedStructs when you're calling out to a native library, and once
you introduce a native library all bets are already off.

http://tinyurl.com/yt92b

  Michael Scott: hero of the week
Over the past few weeks Michael Scott has gradually been making the
parrot distribution a kinder, gentler place with his sterling efforts to
tidy up and generally improve the existing documentation. This week he
rationalized/added documentation for everything in src/ (with the
exception of malloc.c and malloc-trace.c). He's working on documenting
examples/ now.

The response to his announcement was overwhelmingly and understandably
positive (The consensus is that Mike rocks). Now if we can just *keep*
everything in such good condition...

http://tinyurl.com/2pevc

  Parrot DBDI announced
Tim Perl DBI Bunce announced the Parrot DBDI Project: A Database
Driver Interface for Parrot. The goal is to have a common Parrot level
interface to database drivers which can then be reused by different
language specific database interfaces. For further details read the
post; it's jolly good. And bravo Tim.

http://tinyurl.com/23zq3

  Internal exception handlers
Leo posted a set of macros for doing exception handling in the parrot
core using TRY/CATCH/THROW etc. and asked for comments. So far he's
been Warnocked.

http://tinyurl.com/2z57k

  SDL bindings
After Leo fixed the struct PMCs for him, chromatic has proceeded apace
to implement SDL wrappers in Parrot. He's reached the point where he has
code that can create an SDL window and blit a blue rectangle onto it.
Leo applied his patches. Check out 

This week's summary

2004-01-27 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 20040125
Welcome to the first summary from my new home in Gateshead. The same old
wibble, with a different view from its window and fewer trips to London.
Right, time to see what's been going on in perl6-internals this week.

  Global labels in IMCC
The cryptically named TOGoS wondered how to get the address of a label
in a different IMCC compilation unit. According to Dan there's no way to
do that, and you didn't want to do that anyway.

http://tinyurl.com/3evz2

  Dan's threads proposal
After a few weeks of everyone else's proposals, Dan started to outline
the design of Parrot's threading capabilities. He started by defining
his terms (a useful thing to do in a field where there seem to me
multiple competing definitions of various terms) and guaranteeing that
user code wouldn't crash the interpreter (subject to the assumption that
system level memory allocation was thread safe) before getting into the
meat of his proposal. Which you're probably best reading for yourself;
it's a long document but there's very little flab and any attempt of
mine to summarize it would probably end up being at least as long as and
a good deal less lucid than the original.

Of course, this sparked a ton of discussion, generally positive, as
people asked for various clarifications and made suggestions. Gordon
Henriksen pointed out a nasty race condition that means that the garbage
collector can't be made as thread safe as Dan had hoped.

Summarizer Barbie says Threads are hard!

On Thursday, Dan posted a last call for comments and objections before
he went on to the detailed design. This time there were some objections,
but I don't think any of 'em are going to stop Dan.

http://tinyurl.com/ys2ar

http://tinyurl.com/29lpb

  Vtables organization
Last week Dan had outlined an approach to organizing PMC vtables using a
chaining approach; this week saw the discussion of that proposal with
Benjamin K. Stuhl asking the hard questions.

http://tinyurl.com/35rlc

  Benchmark suite
Matt Fowles suggested that it might make sense to create a canonical
suite of benchmarks to exercise Parrot well. His idea being that, if we
have a standard suite of Parrot benchmarks, then potential performance
affecting changes could be tested against that, rather than having
custom benchmarks rolled each time. Luke Palmer pointed to
examples/benchmarks and noted that it's hard to create benchmarks that
test everything. However, he hoped that any good benchmark that gets
posted to the list would get added to this suite, along with some
documentation describing what is being tested.

http://tinyurl.com/22cyj

  Number formatting
Dan did some more designing, this time mandating that Parrot will,
eventually adopt ICU's formatting template for numeric templates but, to
start with, we'll be rolling our own. The new op will be format Sx,
[INP]y, [SP]z.

http://tinyurl.com/2vhuk

  Base string transforms
Dan announced that he would be adding upcase, downcase, titlecase
and to_chartype to the various chartype vtables. He also noted that
he'd like to get some alternative chartypes and encodings into Parrot as
soon as possible to make sure we can actually handle things without
having to use Unicode all the time.

http://tinyurl.com/2gvg3

  Calling conventions in IMCC
Will Coleda had some problems with IMCC's handling of the parrot calling
conventions when he found that code that worked a couple of months ago
had stopped working in the current Parrot (A month is a *very* long time
in Parrot development though.) The problem took a fair bit of tracking
down and I'm not entirely sure it's entirely fixed yet; Will had reached
the point where the code would compile, but it still wouldn't actually
run.

http://tinyurl.com/3d4c4

  Steve Fink's obnoxious test case
Steve Fink posted an obnoxious test case that generated memory
corruption. The test case is obnoxious because it's 56KB of IMCC source
code, and Steve had been unable to reduce it. This didn't discourage Leo
Tötsch though, who set about tracking the bug to its lair. It's not
fixed yet, but with the Patchmonster on the case it can only be a matter
of time.

There were several other GC related issues that cropped up over the
week; I wonder if they're all aspects of a single lurking bug.

http://tinyurl.com/yvnmn

  IMCC returning ints
Steve Fink also found a problem with IMCC failing to properly return
integers from unprototyped routines and posted an appropriate patch to
the test suite. It turns out that the problem is that IMCC doesn't quite
implement the full Parrot Calling Conventions, especially the return
convention, but it's getting there.

http://tinyurl.com/2rtzo

  The 

This week's summary

2004-01-20 Thread The Perl 6 Summarizer
 that he really didn't want to have to initialize
the entire Unicode system just to get number formatting, Michael
suggested we copy the ICU API, even if we use our own implementation.

http://tinyurl.com/2head

  Unicode, internationalization, C++ and ICU
It's obviously an ICU week this week. Dan announced that it's time we
actually started building ICU into Parrot. The catch is, it doesn't work
right now. He asked for volunteers to track ICU and keep things
reasonably up to date. Apart from the obvious pony, Dan wants ICU
building, working and not needing any C++. Personally, I think he's more
likely to get a pony than to get rid of the C++ dependency.

Jonathan Worthington was the bearer of the bad new that, because ICU's
configuration script is a shell script, it's going to be exceedingly
tricky to get ICU to build on any platform that doesn't have bash or
similar. Which makes things tricky for Win32 types (though, following
posts from others, not as tricky as Jon first thought.)

Nobody has yet volunteered to be the ICU pumpking though.

http://tinyurl.com/yw6hx

  Variable clusters
Melvin Smith made a suggestion for optimizing variable handling by using
'variable clusters'. I'm afraid I went into 'bear of little brain' mode
when reading the thread, but there was a fair amount of discussion.

http://tinyurl.com/2scdy

  POD Errors
A big thank you to Michael Scott who's been cleaning up the
documentation tree's POD errors, and has made an HTML version of
Parrot's docs available. For his next trick, he's going to normalize the
existing POD and add some content to those files that need it.

http://tinyurl.com/2dpvh

  Allocation food for thought
Luke Palmer has been monkeying with the small object allocator in an
effort to get things working fast enough that he can excise
RetContinuations from Parrot's object model (They're not continuations
and they are next to impossible to promote to continuations if you need
to) and replacing the current chunked control stack with a conceptually
simpler linked continuation chain. His results were interesting. I'm not
sure his patch will be going in, but he achieved some pretty impressive
optimization of full continuations.

http://tinyurl.com/39vrz

  Vtables organization
Leo had some questions about using 'magic' vtables with PMCs. Dan
outlined his proposed approach based on chained vtables.

http://tinyurl.com/26g7p

  Events and JIT
Leo did some thinking aloud about getting Event handling working with
the JIT core (it works everywhere else). Cue vast amounts of discussion.

http://tinyurl.com/2l2m9

  Ops file hints
Leo had a list of suggestions for extra data that he thinks needs to go
into the ops files. Dan agreed with everything on the list and added a
todo item to the Parrot RT queue.

http://tinyurl.com/3h8za

Meanwhile in perl6-language
  run-once code
David Storrs wanted a way of ensuring that a an expensive function in a
conditional would never need to be evaluated again after the condition
became true. Various answers were suggested, some more complicated than
others.

http://tinyurl.com/ypjbw

Announcements and Apologies
This week's summary is dedicated to the memory of my grandmother,
Kathleen Hudson, who died on Monday morning in her sleep. She was 82
years old, and apart from the last couple of years of Alzheimer's she
was always the life and soul of any party. We're all going to miss her.



Re: This week's summary

2004-01-14 Thread Dan Sugalski
At 12:36 PM -0500 1/13/04, Uri Guttman wrote:
  TP6S == The Perl 6 Summarizer [EMAIL PROTECTED] writes:

  TP6S   Congratulations Dan

  TP6S Melvin Smith offered his congratulations to Dan for the
  TP6S first commercial use of Parrot. I think I can safely say we
  TP6S all echo those congratulations.
shouldn't that be production use?
It's not in production yet--we've just had the first big working 
proof-of-concept release. While it was important (showed that it was 
a viable option, and most of the runtime library is implemented) I'm 
definitely not ready to even beta this, let alone roll it out on the 
floor.

Don't worry, when that happens I'll make a lot of noise. :)
--
Dan
--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


This week's summary

2004-01-13 Thread The Perl 6 Summarizer
 Continuations patch.

http://tinyurl.com/2e3d8

  Congratulations Dan
Melvin Smith offered his congratulations to Dan for the first commercial
use of Parrot. I think I can safely say we all echo those
congratulations.

http://tinyurl.com/3a999

Meanwhile in perl6-language
  Roles and Mix-ins
Discussion of roles as mix-ins kicked off again after the Christmas
break. The canonical Dog::bark vs. Tree::bark problem was discussed.

http://tinyurl.com/32wzh

  The European Union Constitution
For reasons that still escape me various Americans paraded their
ignorance about the putative constitution of a loose union of sovereign
states.

  Perl 6 Story Cards
In last week's summary I mentioned the Perl 6 Stories Kwiki that Allison
and chromatic set up some months ago and suggested that people wanting
to write tests and stories for the new language take a look at it. It
seems they did, and the Wiki's seen a good deal of activity. Check it
out if you're interested in helping with the project.

p6stories.kwiki.org

  A modest question
Austin Hastings asked the design team why they were fascinated with
Traits (which will be called Roles in Perl 6). He'd read the original
paper and was unimpressed with the gains that were made by using them.

The awkwardly cased chromatic opened the case for Roles by pointing out
that Roles allow for finer grained naming of chunks of functionality and
code reuse. I must say I agree; I'm always keen on opportunities to name
something.

http://tinyurl.com/2ld4x

Announcement
Iain Spoon Truskett was not a prolific contributor to the Perl 6
mailing lists. He was, however, an important contributor to these
summaries every week; he was the maintainer of WWW::Shorten, the module
that I use to shorten the URLs on the version of the summary that goes
out to perl6-announce.

He died from a sudden cardiac arrest on the 29th of December. He was 24.
He will be missed. This summary is dedicated to his memory.

http://iain.truskett.id.au/ -- Iain's website



Re: This week's summary

2004-01-13 Thread Uri Guttman
 TP6S == The Perl 6 Summarizer [EMAIL PROTECTED] writes:


  TP6S   Congratulations Dan

  TP6S Melvin Smith offered his congratulations to Dan for the
  TP6S first commercial use of Parrot. I think I can safely say we
  TP6S all echo those congratulations.

shouldn't that be production use? i don't recall ever hearing about a
non-commercial but production use of parrot. anyhow, that is something
that needs to be publicized somehow. parrot squawks in real life, code
at 11!

uri

-- 
Uri Guttman  --  [EMAIL PROTECTED]   http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs    http://jobs.perl.org


Re: This week's summary

2004-01-07 Thread Piers Cawley
[EMAIL PROTECTED] (Peter Scott) writes:

 In article [EMAIL PROTECTED],
  [EMAIL PROTECTED] (Austin Hastings) writes:

PS: While I'm somewhat sympathetic to the fact that eu guys are trying to
spin up 200 years worth of amendments and supreme court decisions at the
same time, it's still a ratf*ck. Eu need to get eurselves a Larry.

 Just put Damian on it, and there'll be a Lingua::EU::ConstitutionGenerator
 by Christmas.  Probably with a back door making him king with droit du 
 seigneur option in perpetuity.

Has everyone *quite* finished?

-- 
Beware the Perl 6 early morning joggers -- Allison Randal


Re: This week's summary

2004-01-07 Thread Mik Firestone
Sayeth the Summarizer:
Asked for pithy comments, chromatic gave good pith, noting that if he
'had a test case from everyone who asked When'll it be done and code
to pass a test case from everyone who said I'd like to help, but I
don't know where to start...' then he'd happily check them into the
repository. He also said that anyone who 'wants to revive the Perl 6
Documentation project, start turning Apocalypses and Exegeses into story
cards, and story cards into tests' would be his hero. And mine too. He
didn't mention http://p6stories.kwiki.org/ so I'll do that instead.

Umm.  Okay.  

I have started playing with the story cards on http://p6stories.kwiki.org and 
have most of the ones for the operators that were already there filled out.  
I would appreciate if some people smarter than me would make sure I had the 
gist of both XP and perl 6.

I think I can also start working up some test cases, but I want to make sure 
my perl6-fu is strong.  Are there any existing samples for me to use as 
templates for actually writing/formatting the test cases?  I can handle the 
logic and such -- I just want to make sure the format is pleasing.

Mik
-- 
Mik Firestone [EMAIL PROTECTED]
Marriage is what happens when
blackmail is no longer an option.
  My wife.



Re: This week's summary

2004-01-06 Thread Andy Wardley
Uri Guttman wrote:
 i say we just sell them a license to use the US constitution. 

Bill Gates wrote:
 What is it with these Linux guys?
 i say we just sell them a license to use Windoze.

:-)

A




RE: This week's summary

2004-01-06 Thread Peter Scott
In article [EMAIL PROTECTED],
 [EMAIL PROTECTED] (Austin Hastings) writes:

PS: While I'm somewhat sympathetic to the fact that eu guys are trying to
spin up 200 years worth of amendments and supreme court decisions at the
same time, it's still a ratf*ck. Eu need to get eurselves a Larry.

Just put Damian on it, and there'll be a Lingua::EU::ConstitutionGenerator
by Christmas.  Probably with a back door making him king with droit du 
seigneur option in perpetuity.

-- 
Peter Scott
http://www.perldebugged.com/
*** NEW *** http//www.perlmedic.com/




Re: This week's summary

2004-01-05 Thread John Siracusa
On 1/5/04 1:55 PM, Lars Balker Rasmussen wrote:
 The Perl 6 Summarizer [EMAIL PROTECTED] writes:
 I confess I wouldn't be surprised if, by the end of the year, we haven't seen
 the full implementation of at least one of the big non-Perl scripting
 languages on top of Parrot.
 
 I'm confused, are you optimistic or pessimistic in that last sentence?

I'm not not licking toads...

(Hey, the list needs traffic ;)
-John



RE: This week's summary

2004-01-05 Thread Austin Hastings


The Perl 6 Summarizer [EMAIL PROTECTED] writes:

 I confess
 I wouldn't be surprised if,
 by the end of the year,
 we haven't seen
 the full implementation of
 at least one of
 the big
 non-Perl
 scripting languages
 on top of Parrot.

Obviously you've been reading the proposed EU constitution. But DAMN, did
you help write it, too?

=Austin

PS: While I'm somewhat sympathetic to the fact that eu guys are trying to
spin up 200 years worth of amendments and supreme court decisions at the
same time, it's still a ratf*ck. Eu need to get eurselves a Larry. I wonder
if there's a precedent for that?



Re: This week's summary

2004-01-05 Thread Uri Guttman
 AH == Austin Hastings [EMAIL PROTECTED] writes:

  AH PS: While I'm somewhat sympathetic to the fact that eu guys are
  AH trying to spin up 200 years worth of amendments and supreme court
  AH decisions at the same time, it's still a ratf*ck. Eu need to get
  AH eurselves a Larry. I wonder if there's a precedent for that?

but he if worked on that at the rate he is churning out apocalypses, it
would be another 200 years. this is not a knock on larry but a comment
on how large and complex that eu constitution probably is.

i say we just sell them a license to use the US constitution. say a
royalty on EU coinage?

uri

-- 
Uri Guttman  --  [EMAIL PROTECTED]   http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs    http://jobs.perl.org


Re: This week's summary

2004-01-05 Thread Uri Guttman
 AH == Austin Hastings [EMAIL PROTECTED] writes:

   -Original Message-
   From: Uri Guttman [mailto:[EMAIL PROTECTED]
   
   but he if worked on that at the rate he is churning out apocalypses, it
   would be another 200 years. this is not a knock on larry but a comment
   on how large and complex that eu constitution probably is.

  AH Au contraire. His job would not be to write, per se, but to eliminate.
  AH Consider all the RFC's and then consider the synthesis he did to produce,
  AH e.g., Grammars. Or the new block constructs (loop, etc.). Occam is dead.
  AH Larry's still got a very sharp razor.

but consider we made about 300 rfcs from a few dozen people. they must
have way more than that in possible amendments, decisions, etc to
consider. a sharp razor is great but it will dull soon enough whacking
away at that madness.

   i say we just sell them a license to use the US constitution. say a
   royalty on EU coinage?

  AH When you consider some of the issues, it's sort of obvious that
  AH they're trying *real* hard not to say, Look the Americans solved
  AH this problem already. Honestly, voting weights? What a pack of
  AH maroons.

they wouldn't dare admit the US did something right in the political
arena. hell, they have been around for hundreds of years before us and
must know more about politics (especially the french! :). what we did
was throw out all their stuff and work from a fresh slate with some very
smart people at the top. sounds like the p6 pattern too. :)

reminds me of the great line: in EU they consider a 100 miles a long
distance, in the US we consider 100 years a long time. :)

  AH You're right about the IP licensing. Bill Gates is probably
  AH frothing at the mouth for not having a Constitution Template in
  AH the Euroversion of MS Word.

he would want to own the IP for all the EU languages, period.

uri

-- 
Uri Guttman  --  [EMAIL PROTECTED]   http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs    http://jobs.perl.org


RE: This week's summary

2004-01-05 Thread Austin Hastings


From: Uri Guttman [mailto:[EMAIL PROTECTED]
  AH == Austin Hastings [EMAIL PROTECTED] writes:

-Original Message-
From: Uri Guttman [mailto:[EMAIL PROTECTED]
   
but he if worked on that at the rate he is churning out apocalypses,
it
would be another 200 years. this is not a knock on larry but a
comment
on how large and complex that eu constitution probably is.

   AH Au contraire. His job would not be to write, per se, but to
eliminate.
   AH Consider all the RFC's and then consider the synthesis he did to
produce,
   AH e.g., Grammars. Or the new block constructs (loop, etc.). Occam is
dead.
   AH Larry's still got a very sharp razor.

 but consider we made about 300 rfcs from a few dozen people. they must
 have way more than that in possible amendments, decisions, etc to
 consider. a sharp razor is great but it will dull soon enough whacking
 away at that madness.

Consider that the constitEUtion is about 250 pages long, and that the
Constitution is almost 10 pages if you add in the amendments and print REAL
big. Obviously, someone skipped over Vision, Scope, Requirements,
Architecture, and possibly even HLD, and went directly to detailed design. I
wonder if the eurobranch of the Perl Foundation would fund larry for a six
week write us a constitution project?

Do they even have IR(*) over there?

i say we just sell them a license to use the US constitution. say a
royalty on EU coinage?

   AH When you consider some of the issues, it's sort of obvious that
   AH they're trying *real* hard not to say, Look the Americans solved
   AH this problem already. Honestly, voting weights? What a pack of
   AH maroons.

 they wouldn't dare admit the US did something right in the political
 arena. hell, they have been around for hundreds of years before us and
 must know more about politics (especially the french! :).

Actually, recall please that the French Revolution and the surrounding
confusion was the only thing which enabled the American revolution to
succeed. (Contrast the first fifty years of the United States with the first
fifty years of Mexico.)

 what we did was throw out all their stuff and work from a fresh slate with
some very
 smart people at the top. sounds like the p6 pattern too. :)

Indeed, a fair amount of Renaissance thought wound up influencing the USC.
In the interval, there's been 200 years of thought on economic policy, human
rights, and ethical behavior. What's disappointing to me is that so little
of that has been reflected in the EUC.

 reminds me of the great line: in EU they consider a 100 miles a long
 distance, in the US we consider 100 years a long time. :)

That's very good. I'm going to recycle it. Do you know the author?

[In keeping with balance of trade: India is like a snake, with its head in
the 20th century and its tail in the 17th century. Don't recall the
author.]

=Austin

(*) IR = Initiative  Referendum: A political mechanism where a small group
of citizens may (via Initiative) collect signatures or somehow cause a
question to be posed on a ballot. A Referendum is used to explicitly
override the capacity of the elective houses by passing a question directly
to the voters. California is probably the most egregious user of the IR
mechanism: the recent ouster of the governor is one in a long line of
controversial actions.



Re: This week's summary

2004-01-05 Thread Chip Salzenberg
According to Austin Hastings:
 When you consider some of the issues, it's sort of obvious that they're
 trying *real* hard not to say, Look the Americans solved this problem
 already.

Three words: Second System Effect.
-- 
Chip Salzenberg   - a.k.a. -   [EMAIL PROTECTED]
I wanted to play hopscotch with the impenetrable mystery of existence,
but he stepped in a wormhole and had to go in early.  // MST3K


Re: This week's summary

2004-01-05 Thread Uri Guttman
 AH == Austin Hastings [EMAIL PROTECTED] writes:

   reminds me of the great line: in EU they consider a 100 miles a long
   distance, in the US we consider 100 years a long time. :)

  AH That's very good. I'm going to recycle it. Do you know the author?

dunno. i have heard it from several sources and i toss it out at the
proper moments. most people get it too. :)

uri

-- 
Uri Guttman  --  [EMAIL PROTECTED]   http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs    http://jobs.perl.org


This week's summary

2004-01-05 Thread The Perl 6 Summarizer
-language
Nobody said anything. But that's boring, so on Friday I sent an email
out to various denizens of the Perl 6 mailing lists asking them for
their thoughts on where Perl 6 stands today and where they think it's
going in the next 12 months. I'm pleased to say that, despite the
ludicrously short notice, a decent number of people responded.

Everyone was remarkably consistent about where they think Perl 6 will be
in the next year, they all expect to see a 'useful' alpha released and
running on Parrot by the end of next year. Nat Torkington said that he
didn't expect any more unexpected delays -- I believe the doctors have
run out of things to remove from Larry. and I think I am sure we all
hope he's right, especially about the second part.

Leo Tötsch said that back when he answered the Who's Who in Perl 6
questionnaire back in 2002, he'd said he thought Perl 6 would be out on
16 September 2004. He asked to increment the year of that prediction by
at least one. Austin Hastings reckoned that we'd have a usable early
version of Perl 6 sometime in Q2 or Q3, and expects the object
apocalypse some time in Q1. However, he expected that there'd be fairly
substantial exegesis drift from the original apocalypse to the 'real'
design. Austin thinks that Perl 6's main 'cultural' impact will be
grammars, arguing that in 10 years time 'getting coders to stop parsing
characters, getting them instead to think, code, and word in terms of
sentences or paragraphs will be considered a turning point.' Don't
tell Austin this, but I remember Ward Cunningham saying something
similar (but less emphatic) to me after Damian's Perl6::Rules
presentation at OSCON 2003.

Allison Randal's in the slightly less bullish camp, arguing that it
should be possible to produce a reasonably solid Perl 6 alpha in about 3
apocalypses time. She reckoned that we may see Apocalypses 12, 17 and 9
finished this year, and maybe a working prototype Perl 6 compiler.
Allison's house mate, chromatic, reckoned that we were about 80% done
now (I'm not sure if he was deliberately invoking the old saw that the
first 80% takes 80% of the time, and the last 20% takes the other 80% of
the time...). He predicted that:

1   Dan will win his bet with Guido, and that the Python.Net people will
be so embarrassed by the piemark that they won't publish numbers.

2   Perl 6 won't quite be self-hosting, but it'll be usable for small
apps.

3   NCI will continue to be much nicer than XS.

4   Apocalypse 12 will convince everyone that Roles are what object
orientation should have had from the beginning.

Asked for pithy comments, chromatic gave good pith, noting that if he
'had a test case from everyone who asked When'll it be done and code
to pass a test case from everyone who said I'd like to help, but I
don't know where to start...' then he'd happily check them into the
repository. He also said that anyone who 'wants to revive the Perl 6
Documentation project, start turning Apocalypses and Exegeses into story
cards, and story cards into tests' would be his hero. And mine too. He
didn't mention http://p6stories.kwiki.org/ so I'll do that instead.

Adam Turoff sounded a note of caution; he worries that Perl 6 'is
Larry's Modula 2' but he doesn't think that matters because the real
boon is Parrot (and Ponie) which has the potential to open the existing
work on CPAN up to any language that targets Parrot (potentially making
good work in other languages available to us Perlers too). He didn't
think that Perl 6 will offer enough of an incentive for people to move
to the new language from Perl 5. Indeed, he argued that the changes in
syntax will put people off making the shift. We discussed this on AIM,
personally I think Adam's wrong, and that Perl 6 will have enough good
new stuff in it that people will bite the bullet of the new syntax (and
the changes are reasonably simple after all) in order to get access to
Perl 6's goodies. Adam certainly sees the change from Perl 5 to 6 as
qualitatively different from the change from 4 to 5. He thinks people
aren't going to switch quickly (especially if Ponie fulfils their needs)
and he points out that it's going to be a few years before we've worked
out the best practices for using all this new stuff.

Sadly, I didn't get any feedback from Larry before my deadline (if I do
get something, rest assured it'll get space in next week's summary). I
did get a lot from everyone's favourite evil genius though. Damian is
alive, well and living in Australia. It seems that his recent silence on
p6l may have something to do with his hopes 'to see Exegesis 7 published
(along with a full Perl 5 implementation of the new formatting module)
by late January.' In other

Re: This week's summary

2004-01-05 Thread Lars Balker Rasmussen
The Perl 6 Summarizer [EMAIL PROTECTED] writes:
 Me? I think Perl 6's design 'in the large' will be pretty much done once
 Apocalypse 12 and its corresponding Exegesis are finished. Of course,
 the devil is in the details, but I don't doubt that the hoped for
 existence of a working Perl6::Rules by the end of April is going to
 provide us with a great deal of the leverage we need to get a working
 Perl 6 alpha ready for OSCON with something rather more solid ready by
 the end of the year. Parrot continues to amaze and delight with its
 progress; Dan tells me that he's about ready to roll out a large parrot
 based application for his employers, so it's approaching the point where
 people's salaries will depend on Parrot. I confess I wouldn't be 
 surprised if, by the end of the year, we haven't seen the full 
 implementation of at least one of the big non-Perl scripting languages
 on top of Parrot.

I'm confused, are you optimistic or pessimistic in that last sentence?
-- 
Lars Balker Rasmussen  Consult::Perl



Re: This week's summary

2004-01-05 Thread Melvin Smith
At 07:55 PM 1/5/2004 +0100, Lars Balker Rasmussen wrote:
The Perl 6 Summarizer [EMAIL PROTECTED] writes:
 people's salaries will depend on Parrot. I confess I wouldn't be
 surprised if, by the end of the year, we haven't seen the full
 implementation of at least one of the big non-Perl scripting languages
 on top of Parrot.
I'm confused, are you optimistic or pessimistic in that last sentence?
Knowing Piers, I would guess: optimistic. :)

-Melvin




Re: This week's summary

2004-01-05 Thread Piers Cawley
Lars Balker Rasmussen [EMAIL PROTECTED] writes:
 The Perl 6 Summarizer [EMAIL PROTECTED] writes:
 Me? I think Perl 6's design 'in the large' will be pretty much
 done once Apocalypse 12 and its corresponding Exegesis are
 finished. Of course, the devil is in the details, but I don't
 doubt that the hoped for existence of a working Perl6::Rules by
 the end of April is going to provide us with a great deal of
 the leverage we need to get a working Perl 6 alpha ready for
 OSCON with something rather more solid ready by the end of the
 year. Parrot continues to amaze and delight with its progress;
 Dan tells me that he's about ready to roll out a large parrot
 based application for his employers, so it's approaching the
 point where people's salaries will depend on Parrot. I confess
 I wouldn't be surprised if, by the end of the year, we haven't
 seen the full implementation of at least one of the big
 non-Perl scripting languages on top of Parrot.

 I'm confused, are you optimistic or pessimistic in that last sentence?

Optimistic. Parrot being used for other languages too is a good
thing. We're not going to see a full Perl 6 inside a year 'cos the
design won't be finished (well, not at the detailed level it needs to
be for a full implementation) and Ponie probably won't be finished
because of the complexities of getting the backwards compatilibility
with XS that's Ponie's raison d'etre. But there are other languages
out there that don't have such stringent requirements.

-- 
Beware the Perl 6 early morning joggers -- Allison Randal


Re: This week's summary

2004-01-05 Thread Melvin Smith
At 09:30 PM 1/5/2004 +, Piers Cawley wrote:
Melvin Smith [EMAIL PROTECTED] writes:

 At 07:55 PM 1/5/2004 +0100, Lars Balker Rasmussen wrote:
The Perl 6 Summarizer [EMAIL PROTECTED] writes:
  people's salaries will depend on Parrot. I confess I wouldn't be
  surprised if, by the end of the year, we haven't seen the full
  implementation of at least one of the big non-Perl scripting 
languages
  on top of Parrot.

I'm confused, are you optimistic or pessimistic in that last sentence?

 Knowing Piers, I would guess: optimistic. :)

Have we met? You're right though.
Unless you count our chats on IRC, no.

I can deduce that much from IRC and summaries. We
do read them, you know. :)
-Melvin




Re: This week's summary

2004-01-05 Thread Piers Cawley
Melvin Smith [EMAIL PROTECTED] writes:

 At 09:30 PM 1/5/2004 +, Piers Cawley wrote:
Melvin Smith [EMAIL PROTECTED] writes:

  At 07:55 PM 1/5/2004 +0100, Lars Balker Rasmussen wrote:
 The Perl 6 Summarizer [EMAIL PROTECTED] writes:
   people's salaries will depend on Parrot. I confess I
   wouldn't be surprised if, by the end of the year, we
   haven't seen the full implementation of at least one of
   the big non-Perl scripting languages on top of Parrot.
 
 I'm confused, are you optimistic or pessimistic in that last
 sentence?
 
  Knowing Piers, I would guess: optimistic. :)

Have we met? You're right though.

 Unless you count our chats on IRC, no.

 I can deduce that much from IRC and summaries. We do read them, you
 know. :)

Thank heavens for that. I thought people printed them out and used
them to roll cigarettes with.

-- 
Piers


Re: This week's summary

2003-12-26 Thread Michael Joyce
Thank you for a lovely Christmas Present.

Michael

On Dec 24, 2003, at 2:37 AM, The Perl 6 Summarizer wrote:

The Perl 6 Summary for the week ending 20031221
Welcome one and all to the penultimate Perl 6 Summary for 2003. The
nights are long, the air is cold, freezing fog made the journey 
home
from watching *The Return of the King* a deeply fraught experience
(though probably not as fraught for us as for the chap who 
obviously
didn't see the roundabout in time and went straight over it).

If you're in the southern hemisphere, feel free to ignore the 
foregoing
flavour text.

It should come as no surprise to you by now that we start with the
internals list.
  Namespaces II
Dan returned from a bout of paying work to finish up the current
understanding of how namespaces are managed in Parrot. A namespace
selector becomes a multidimensional key (using a multidimensional 
key
instead of a single long namespace name makes for easier sharing of
namespaces between languages; there's no need to go guessing what
separator the other language uses in its namespace naming because 
that's
essentially irrelevant at the Parrot level). Looking up a 
particular
variable in a namespace is still a two step process, first get the
namespace, then do the lookup within the namespace. Dan explained 
that
this is a win because it should allow for holding onto namespaces 
in a
register when dealing with multiple variables.

Leo Tötsch wasn't entirely convinced by the new syntax introduced, 
and
proposed a mechanism which used the standard syntax for accessing
multikeyed structures with a proposed Namespace PMC.

http://tinyurl.com/2wtkd

  Another keyed ops proposal
Leo continues to make proposals for rethinking keyed ops. Somewhat
surprisingly, Dan didn't entirely reject the latest one involving a
possible new set of key registers.
http://tinyurl.com/2za5t

  Leo adds threads
Leo Tötsch checked in a patch to allow Parrot to spawn threads. As 
he
admitted, there's a lot missing, but it's a start. He solicited 
comments
and further pointers.

Later in the week he asked for some design decisions related to 
making
various of the interpreter's internal data structures thread safe.
Elizabeth Mattijsen had several comments to make, based on 
experience
with Perl 5's ithread system. In essence her suggestion was that 
as many
things as possible should be made copy on write between threads. 
(I have
a faint recollection of Nicholas Clark delivering a wonderful 
lightning
talk/dance explaining his proposal for making Perl 5 use copy on 
write
structures for ithreads. It's worth seeing if you get the 
chance...)

http://tinyurl.com/3egyu

http://tinyurl.com/yrjrm

  PDD03 and method calls
Leo queried the design of Parrot's calling conventions for calling 
a
method and proposed a slightly different convention with the 
object put
in P5 rather than P2. Dan thought that the calling conventions
documented was the right way to go, but didn't seem to convince
everyone.

http://tinyurl.com/2npnn

  Rolling back clone
Leo pointed out that clone's semantics had got altered to take an
uninitialized destination PMC as an argument back when the GC 
system was
flaky. He suggested switching back to a version that creates the 
new PMC
itself now that GC was working properly. Dan told Leo to go for it.

http://tinyurl.com/35c57

Meanwhile, in perl6-language
Um... sorry about this, but I'm punting on writing the promised
Roles/Traits/Classes summary. I was planning on doing it today, but
things have been hellish; I've spent about 8 hours fighting fires 
today
rather than writing the summary. Sorry.

Work on Perl 6's object system continues apace though; things are
looking very good and powerful.
By the way from now on I'll try and stick to Larry's usage of
capitalizing 'Traits' when referring back to the Traits paper, and
keeping it lower case when referring to Perl 6's compile-time 
traits.

  Runtime CHECK?
Piers Cawley asked if Perl 6 modules that get loaded at runtime 
will
have their CHECK blocks (or their equivalent) executed. Larry
initially thought not, but Rafael Garcia-Suarez noted that Perl 5
shouldn't be held up as exemplary and that there was definitely a 
need
for some kind of special block that would get run at the end of the
compilation phase of any arbitrary compilation unit.

http://tinyurl.com/2ytze

  but true
Adam D. Lopresto wondered how the recent work on Roles, Properties 
and
Traits fit in with already declared stuff like but true. Larry
confessed that he was still thinking hard about this, but that he
thought but wasn't powerful enough yet.

http://tinyurl.com/2v2ef

Acknowledgements, Announcements, Apologies
Cross your fingers and toes, 

  1   2   >