This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit http://www.perl6.org/

Perl 6 Summary for 2004-12-06 through 2004-12-20

All~

The observant among you might notice that I missed last week's summary. With the hubbub and confusion of the holidays, I blame ninjas, in particular Ryu Hyabusa. Given that Christmas is next weekend and New Years is the weekend after that, what you are like to see in the future are a pair of 10 day summaries are some other equally irregular pattern. If you are thinking of using the dates of my summaries to seed a random number generator, I would advise against it as I can be really easily bought ;-) Without more ado, I give you this fortnight's summary starting with

Perl 6 Language

Lexical scope of parametric declaration blocks

Ashley Winters wanted to know what the differences between type parameter lists and sub parameter lists. Luke Palmer could not think of any.

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#00f8f30b2072ddd0

object representation

Abhijit Mahabal noticed that S12 allowed one to supply an object layout to bless() and wondered if one could really have two instances of the same class with different layouts. Larry admitted that he had probably not intended for that to be the case.

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#263c711b28d1c416

capturing into a hash, hypothetically

Patrick R. Michaud wondered about capturing things into a hash in S05, as <ident> now captures. Larry admitted that it was probably supposed to be (\xABident\xBB), but also noticed that this exposed a blind spot in the design. He went on to ruminate about this blind spot and ways to solve it. Much churning went on and it seems that multiple different (but identically named) rule captures can now be performed by adding information after a dash ala <ws-1> <ws-2> <ws-3>.

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#311a1cfb4d81a5e0

custom subscripting

When talking about key Type for a hash, Larry offhandedly commented about attaching a block to a hash or array to provided custom subscripting. Many people drooled over the awesome syntactic sugar this could provide them.

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#7ff38e73da762a8d

undeclared attributes

Dave Whipp hoped that he need not predeclare his attributes as they necessarily start with $. the fact that a new variable is an attribute is easy to determine. Abhijit Mahabal thought that it would not be a good idea, but then asked if classes could be declared as not strict. Still waiting for more official word...

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#778ad6a110772849

classes which autovivify attributes

Abhijit Mahabal wondered about creating a class that populates it attributes on demand, as some of them might be rarely used. Larry suggested that it would be something that one should not undertake lightly and a simple hash attribute would provide most of what is wanted. This also morphed into the eternal debate about strictures and one liners. There has to be a joke in there somewhere.... A stricture, a one-liner, and Larry Wall walk into a bar...

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#ff71ab8ff22ed0c4

auto my

Rod Adams wondered if having my occur automatically for new variables might be worthwhile. Several people commented that some languages already do this and it is simply an aesthetic choice. The concensus seems to be that Perl has already made this choice and is sticking with its answer.

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#e85fa6de2d11f06a

Perl 6 Compiler

At long last google has picked up P6C, I guess I have slightly mixed emotions about this as it takes a running gag from me. Alas, I will have to find another.

PGE tests

Markus Laire began working on a formerly small script to convert perl 5's regex tests to PGE. He produced a modest 700 tests a few of which pass. Nice work. Patrick suggested only running the script once and thereafter maintaining the tests external to perl5.

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#808f24640b57dea5 -- initial post

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#113710d10a083013 -- Patrick's suggestion

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#d6bff60bb550bb5c -- how to deal with abiguity converting

On your marks, get set, HACK!

Luke Palmer opened the door to hacking and has requested rules for parts of the Perl 6 Grammar. Patrick posted a link to the SVN repository for it.

groups-beta.google.com&_doneTitle=Back+to+topics&_doneTitle=Back&&d#9eb81f98e5378ec9

svn.perl.org

Parrot

"\0namespace"

Leo commited a fix to support namespace mangling.

groups-beta.google.com&_doneTitle=Back&&d#217436af13c0c9fc

store global => invalidate method cache

Leo commited a fix to invalidate the method cache when a global is stored.

groups-beta.google.com&_doneTitle=Back&&d#c1f10ac184af35a4

pow, hash, batman sound effect!

Leo added pow and hash as vtables and opcodes. He also renamed "new_extended" to "instantiate".

groups-beta.google.com&_doneTitle=Back&&d#d03c349941977f0a

base scalar semantics

Leo asked for comments about base PMC semantics and receive none.

groups-beta.google.com&_doneTitle=Back&&d#58854737da2e4401

split now independant of Perl

James deBoer provided a patch removing the dependancy on Perl Array in split. Will applied it.

groups-beta.google.com&_doneTitle=Back&&d#e1ec9e4ea1117694

SVN

Periodically every project project has a thread about switching some basic tool to some other basic tool. This time the thread is in P6I and the tools in questions are CVS and SVN. Many voiced support, nothing was addressed with any permanence.

groups-beta.google.com&_doneTitle=Back&&d#82349b8a0e5db102

continuations

At long last the long running continuation thread has died down. Unless I am mistaken, the status quo remains and return continuations should restore register contents even when promoted and repeatedly invoked.

groups-beta.google.com&_doneTitle=Back&&d#9c8d3ba8639d45bd

correctly dispatching opcodes and functions

Sam Ruby had some concern about dynamically overloading "__add__" in python. Leo and Sam had quite a bit of back and forth about the proper way to handle it. I am not sure what resolution was reached other than that it should work.

groups-beta.google.com&_doneTitle=Back&&d#ec3f0af4b6a154b1

dynamic libs and TCL issues

Klaas-Jan Stol had some problems with tcl and dynamic libs. Sam Ruby provided the necessary fix for him.

groups-beta.google.com&_doneTitle=Back&&d#c595678463d6d0f1

class refactoring

Leo began refactorying base PMCs like Integer. He also started a TODO of what remains. This somehow morphed into discussion of logical xor...

groups-beta.google.com&_doneTitle=Back&&d#d19c4b68f91fe9e6

register coloring issues

Dan posted a failing test case for the register coloring. Leo fixed it.

groups-beta.google.com&_doneTitle=Back&&d#35717d665efc53de

split on string vs regex

James deBoer wondered about the split opcodes current insistence on a string. Some advocated making it a method on a class, others wanted to change the opcode to take a PMC instead of a string.

groups-beta.google.com&_doneTitle=Back&&d#fd4e276e287c7e4c

self vs P2

Sam Ruby discovered that usages of P2 had broken as it was no longer the object of a method. Fortunately, Leo provided the helpful "self".

groups-beta.google.com&_doneTitle=Back&&d#8581b2b9f395c419

Linux PPC

Long ago there were troubles with Linux on PPC. Recently, chromatic submitted a patch. More recently, Warnock applied.

groups-beta.google.com&_doneTitle=Back&&d#7a6ddc2d2cf14b33

whether vs weather

This morning it was cold and snowy. Sadly, instead of fixing my dreary weather, chromatic fixed a mistyped "whether".

groups-beta.google.com&_doneTitle=Back&&d#3859a503c0a5de90

benchmarks as test

Justin DeVuyst supplied a patch to use the benchmarks as tests. Leo applied it.

groups-beta.google.com&_doneTitle=Back&&d#6ba693efa9e2b84c

make [install|docs|monkeys]

Adrian Lambeck suggested a few improvements to the current make set up, including a cool sounding "make doc-install". Warnock applies.

groups-beta.google.com&_doneTitle=Back&&d#07b5495abd2ea138

Dan still alive

Dan sent an apology about the egregious amount of work he had and assured everyone that he was actively trying to get caught up. In the mean time, cc him on things that need his personal attention like you Christmas list.

groups-beta.google.com&_doneTitle=Back&&d#bb340708ab6ae1f0

IMCC parser no longer chokes on empty sub

Will noted that gremlins had fixed a problem in IMCC with empty subs. Yay, gremlins!

groups-beta.google.com&_doneTitle=Back&&d#a80c6b7e0de25dac

current object invocation

Dan discovered that Parrot was putting the current object into its place after caliing invoke. This was of course bad, so Leo fixed it.

groups-beta.google.com&_doneTitle=Back&&d#90b236b18b324053

configure help

Somebody had trouble with Configure.pl. Leo pointed out the usefulness of "--verbose=2".

groups-beta.google.com&_doneTitle=Back&&d#7df334dcb5f20e2d

./parrot nonexistant.pbc => core dump

Dan noticed that parrot would core dump when given a nonexistance bytecode file. Matthew Zimmerman and chromatic fought to get a patch in first. One was applied.

groups-beta.google.com&_doneTitle=Back&&d#d8d8d2a561ccde3d

python dynclasses build issues

Will notice a multiple definition problem in the py* dynclasses, Sam fixed it.

groups-beta.google.com&_doneTitle=Back&&d#142c9526f7d82393

MMD dispatch problem

Jens Rieks reported a problem with mmd_dispatch_v_pnp. Leo could not reproduce it.

groups-beta.google.com&_doneTitle=Back&&d#d0016a8a5f0be7c4

mod_parrot with Mandelbrot

Jeff Horwitz posted a link to a webpage using mod_parrot to generate ascii Mandelbrot sets. Really cool, but I prefer Julia sets.

groups-beta.google.com&_doneTitle=Back&&d#d90b30500b8748a7 -- the post

www.smashing.org -- the page

Documentation shortcomings

Dave Brondsema pointed out that the main FAQ should include info on the IRC channels/hosts that Parroters use. He also noted that some PDDs were not available on the website. Warnock applies.

groups-beta.google.com&_doneTitle=Back&&d#b663216e7a62b099 -- irc

groups-beta.google.com&_doneTitle=Back&&d#688e5dfc2a999e48 -- pdd

scope cleanup issues

Leo and Dan hashed out some of the issues with scope clean up and stale registers keeping things alive.

groups-beta.google.com&_doneTitle=Back&&d#616f25e5d43348ba

win-xp build issues

Nicu Ionita reported a problem with the build on WinXP. Leo fixed it.

groups-beta.google.com&_doneTitle=Back&&d#db228ae4d47bf138

runops_fromc

Sam Ruby provided a patch allowing runops_fromc access to registers. Leo applied it.

groups-beta.google.com&_doneTitle=Back&&d#be5fa7f74b4d5d1a

Parameter fillin problem

Dan posted about a problem he was having. Unforunately, he cannot get a simple test case against CVS head, and Leo can't reproduce it.

groups-beta.google.com&_doneTitle=Back&&d#fbb6658956e0c04e

class autoload

Leo added support for autoloading dynamic classes for Python and Tcl. Sam Ruby suggested ways to extend it further.

groups-beta.google.com&_doneTitle=Back&&d#b2f2337c4f026861

P5 is the new P2

Sam and Leo came to the conclusion that the current object should be passed in P5 as well as P2. Currently they are waiting for Dan... Nudge, Nudge...

groups-beta.google.com&_doneTitle=Back&&d#f8c37497aaded1e8

get_anonymous_subclass

Leo wondered what get_anonymous_subclass was for. Dan explained.

groups-beta.google.com&_doneTitle=Back&&d#8f6474c75a47ed78

Context, Wrappers, rules, NCI

Sam and Leo had a discussion about what exactly VTABLE functions, MMD functions, and ops were allowed to do. I think they spent much of the time talking past eachother and all of it talking past me.

groups-beta.google.com&_doneTitle=Back&&d#e23c8a3bdaa7bdde

groups-beta.google.com&_doneTitle=Back&&d#f1dfbf8168f542be

namespaces as objects

Sam Ruby wants to use namespaces as object. Leo is not so sure that this is the right way to go about life. This turning tinto a dialog about find_method.

groups-beta.google.com&_doneTitle=Back&&d#246944c41bf29963

POD cleanup

chromatic provided and threatened to apply a patch fixing up some of the POD knits.

groups-beta.google.com&_doneTitle=Back&&d#693149f9f0297a61

Plain ole Hash

Bernhard Schmalhofer provided a patch cleaning up Hash. Sam wondered if the NCI calls in Hash::fromkeys could be removed along with a few others. Leo said that iterators in general needed some another round of thought.

groups-beta.google.com&_doneTitle=Back&&d#1f6d824eb2874c2f

opcode/sub conflict

Dave Brondsema notice that there was a problem with subs whose name conflicts with opcodes. Luke Palmer provided a workaround.

groups-beta.google.com&_doneTitle=Back&&d#aa2c0177c22b12f8

duplicate subclass naming errors

Simon Glover noticed some problems with duplicate subclass names. Noteably that one could not create two nameless classes.

groups-beta.google.com&_doneTitle=Back&&d#4a07de3344219618

MMD and VTABLE_find

Leo suggested a mechanism for MMD and VTABLE_find. Sam Ruby provided some input.

groups-beta.google.com&_doneTitle=Back&&d#27b9495dafd24c36

auxiliary variables

Tomas Necas wondered about the necessity of auxiliary variables in Perl6. Luke Palmer and Dan provided some answers.

groups-beta.google.com&_doneTitle=Back&&d#27b9495dafd24c36

N register stomping

Dan noticed that his N register were getting stomped occassionally.

groups-beta.google.com&_doneTitle=Back&&d#d2fed737536f94c5

The usual footer

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 to [email protected]

donate.perl-foundation.org -- The Perl Foundation dev.perl.org -- Perl 6 Development site planet.parrotcode.org -- Parrot Blog aggregator