This file is part of the Perl 6 Archive

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

Perl 6 Summary for 2004-04-26 through 2005-05-03

All~

Welcome to another weeks summary. This week I shall endeavor not to accidentally delete my summary or destroy the world. So here we go with p6c.

Perl 6 Compilers

implicit $_ on for loops

Kiran Kumar found a bug in pugs involving for loops which use $_ but don't iterate over it. Aaron Sherman and Luke Palmer confirmed the bug. No word as to its final status, but given the rate of development of pugs...

groups-beta.google.com#04e2d9f3c1e0a485

Pugs Darcs trouble

Glenn Ehrlich noticed that pugs's darcs repository wasn't getting updated. Sam Vilain explained that occasionally a daemon needed to be kicked.

groups-beta.google.com#eb57bb2f9e835725

Memory Game v0.2

BÁRTHÁZI András announced the release of the latest version of Memory. He also put out a call for 85x75 pixel photos for the next version.

groups-beta.google.com#d66c656ee7ac6104

Haddock for Pugs

Stuart Cook decided that the easiest way for him to understand Pugs internals was to provide better documentation. To that end he started working with haddock to automatically generate cross linked documentation for pugs. He even met with some success.

groups-beta.google.com#71bcde78a82cf6e4

"/haskell.org/haddock/" in http:

is export trait

Garrett Rooney wondered why the is export trait appeared to do nothing in Pugs. Stevan Little explained that it was just a place holder which, while it parses, does nothing semantically yet.

groups-beta.google.com#f454e750eba3d680

Pugs 6.2.2

Autrijus proudly announced the release of Pugs 6.2.2. It features a great many changes. High on that list is a great number of speed ups and thread safe, dead lock free internal storage.

groups-beta.google.com#c8cfa416b5e7a7c7

Pugs on Cygwin

Rob Kinyon noticed that Pugs was having trouble on Cygwin. He has made some headway rectifying the situation, although work remains.

groups-beta.google.com#c8cfa416b5e7a7c7

Pugs TODO model

Stevan has put some more thought into the TODO model for Pugs. His latest suggestion, annotating todo tests with a flag indicating why they are not passing, seems a little less hackish then the last one and received general support.

groups-beta.google.com#54c6a4194d06bb4d

Parrot hiding inside Pugs

Autrijus wanted to embed the newly released PGE. PGE is written in PIR which runs on Parrot. So, Autrijus decided to embed Parrot into Pugs. He also posted an interesting link to JHC as a possible bootstrap solution.

groups-beta.google.com#21ab762083e523b7

"/repetae.net/john/computer/jhc/jhc.html" in http:

new PGE released

Maybe I should have mentioned this first... Patrick R. Michaud released a new version of the Parrot Grammar Engine. It is written entirely in PIR and generates PIR code. It has many features but not enough tests... <cough> hint </cough>

groups-beta.google.com#989a407cc3427641

Parrot

Monthly Release?

Jared Rhine wondered the monthly releases included April. Chip announced that April's release would be slushier then most, but would start on the fourth.

groups-beta.google.com#f7f3543949eda594

groups-beta.google.com#1fd20ada3ae3fa6d

t/op/debuginfo.t failure

François Perrad noticed a failure in with debuginfo. Leo pointed out that it was an issue of flushing output handles. Francois provided a patch (well actually two). Warnock applies to the second.

groups-beta.google.com#bc38b1b8f82072c2

ParTcl Happy?

Will Coleda thought that ParTcl's GC bugs were finally fixed. Leo burst his bubble. Apparently these GC bugs can disappear and reappear according to sun spot activity.

groups-beta.google.com#417caf2641040a92

segfault in load_bytecode

Nick Glencross submitted a patch fixing a segfault in load_bytecode. Jens pointed out that it should use real_exception instead of internal_exception. chromatic offered to write the test. No official committed message though...

groups-beta.google.com#4bb715005cd477ff

large PackFile tinker

Leo implemented a change in the interpreter PackFile structure which has been under discussion for a long time. Unfortunately, it has the potential to break a lot of JIT stuff. Tests and fixes would be greatly appreciated.

groups-beta.google.com#a76a1532c9d73a71

PMC inheritance issue

Nicholas Clark was having some trouble with his Perl5 PMCs. Later he posted a "mea culpa" email, but Leo provided some useful pointers anyway.

groups-beta.google.com#efa3de4e8a1773d0

RT cleanup

Bernhard Schmalhofer cleaned out an old ticket from RT.

groups-beta.google.com#e90b1895bf492ec0

RFC assign Px, Py

Some time ago, Leo requested comments on the semantics of assign. Brent 'Dax' Royal-Gordon tried to de-Warnock the thread with his support. He also suggested a clone operator.

groups-beta.google.com#7521b02224111fd6

NULL in real_exception

Nicholas Clark was getting bitten by a NULL pointer deref in real_exception. Leo pointed him toward the correct approach.

groups-beta.google.com#9127affc3fb8db0f

unary operator overhaul

Having finished overhauling the infix operators, Leo set to work updating the unary operators to provide variants which allocate their results.

groups-beta.google.com#78369daf6a33d1ec

die die, die!

Leo announce that he was removing the die opcode and adding a Bruce Willis opcode in its place. Unlike Mr Willis, the die_hard opcode actually died relatively easily and has been renamed to just die out of popular demand.

groups-beta.google.com#b5218dafc585575b

core dump with computed goto core

Nick Glencross found a core dump with he computed goto core. Leo explained that it was caused by a hackish attempted optimization. He also fixed it.

groups-beta.google.com#2ec2ad5764204fee

ignore generated files in SVN

Juergen Boemmels made SVN ignore some .so files. Leo asked if it could also be made to ignore .rej and .orig files.

groups-beta.google.com#fac81156831a7cce

DYNSUPER issues

Nicholas Clark found that DYNSUPER did not work well with his dynamic classes. Leo provided a suggestion for something to try and also suggested a super vtable call.

groups-beta.google.com#a49d30cc2e4850c2

MMD type info

Autrijus wondered how the type info for MMD was carried around in Parrot. Leo provided answers.

groups-beta.google.com#51154d82ec3ad392

imc http server

Markus Amslser wanted to write a tiny webserver in imc. This led to the discovery of that the binary to ascii transcoding is absent. Leo suggested several possible solutions.

groups-beta.google.com#f7f80c8c5ba7c896

Ponie's use of PMC flag bits

Nicholas Clark asked how best to use the 8 private bits of PMC in Ponie. His initial thought was to mark type with it. Leo suggested that adding the type to the flag bits was unnecessary as one can usually just call a vtable or MMD function directly and the type will get worked out.

groups-beta.google.com#cc3076d2e3060e93

built in MMDs as methods

Leo added support for calling built in MMDs on objects as methods.

groups-beta.google.com#264e518a2ae3e29a

unary and infix ops update

Leo posted a summary and TODO for his overhaul of opcodes that return new results. Jerry Gay and Bob Rogers helped fill out the corners. Bob even provided some tests.

groups-beta.google.com#49e7fa9bd58cb829

Parrot and ref counting

Robin Redeker wondered why Parrot had decided to go with a non ref counting GC. Dan Sugalski took responsibility for the decision and explained his motivations. They are essentially simpler, cleaner, faster. You can get a more detailed answer from reading the thread or Dan's blog post on GC from way back when.

groups-beta.google.com#d549c4a3dd3225ad -- the thread

www.sidhe.org -- Dan's Blog

Squawks of the Parrot: What the heck is: Garbage Collection

deprecate fast_call?

Leo mused that he would like to deprecate the fast_call PIR construct. No one squawked, so I would call them officially deprecated...

groups-beta.google.com#bbf3b646460a8de9

Win32 thread primitives

Vladimir Lipsky and Leo went back and forth a few times working out thread primitives for windows. I am not sure what state they finally reached.

groups-beta.google.com#7055c56da4e90399

call syntax abstraction

Leo posted a proposal for a calling convention abstraction. No comments yet, but it has not been up for long.

groups-beta.google.com#739ced0badff1626

tailcalls in PIR

Patrick R. Michaud wondered if tailcalls and tailmethods were implemented in yet. Leo provided a few pointers. Bob Rogers suggested a nice syntax for it, which Leo implemented.

groups-beta.google.com#4764b4627545d841

vtables in extend.h

Nicholas Clark noted a need for vtables in extend.h. Leo agreed that they should be auto generated. chromatic eagerly requested the chance to write the perl code that does this auto generation.

groups-beta.google.com#8afa1165fe253894

s/BAUILOUT/BAIL_OUT/

Michael G Schwern announced that Test::Builder was removing BAILOUT in favor of BAIL_OUT. He admitted that a deprecated BAILOUT would remain, but be undocumented. At some point we should update.

groups-beta.google.com#fcdb54c7e2a042c0

Perl 6 Language

Anonymous Roles and closures

Aaron Sherman wondered if he could generate anonymous roles that are also closures. It made my head hurt. People seem to think it can be done though.

groups-beta.google.com#278b07bf0ab6408d

Peter Piper picked a hash

Ingo Blechschmidt wondered what pick would return when called on a hash. Rod Adams suggested that it would return a pair. Larry thought that would be a good idea, but might be difficult to implement.

groups-beta.google.com#b64aaafcca1c055e

all(junctions, bad subjects, indecision)

Joshua Gatcomb found that he could use junctions to quickly answer questions but not provide specifics. Sadly , he is not the first person to have this problem. Junctions naturally provide boolean operations but do not naturally explain what motivated that answer. Perhaps they should be thrown out along with the axiom of choice... After all, do we really need a basis for ALL of our vector spaces?

groups-beta.google.com#aba86b97f1a1251c

is rw a no-op on references?

Ingo Blechschmidt wondered if is rw didn't do anything for references as you can still modify the value to which they refer. Juerd answered basically yes.

groups-beta.google.com#baef5fa481f0fdf3

complex number package

Jonathan Lang was wondering about creating a complex number package. Including returning junctions of values for roots of unity. Unfortunately these lists can be quite large, even infinite. Thus he was wondering if he could use lazy junctions. Thomas Sandlaß conjectured that he could by the "law of laziness preservation".

groups-beta.google.com#cf1a5838783a72ad

auto-threading of junctions and threads

Aaron Sherman worried that the auto-threading of junction would actually run in separate threads. This is most assuredly not the common case, although some warped soul could implement it that way.

groups-beta.google.com#361f6f87d1cff32c

context of indices

Autrijus asked what context want would provide when used as an index. Larry provided answers.

groups-beta.google.com#3ad64e02a95dcf69

Sun's Fortress

Autrijus posted a link to a next-generation computer language from fun called Fortress then he went on to ask about parameterized types, tuple types, and block labels. Bad Autrijus! Make summarizers lives hard... Then we have to punt like this rather than try to extract the three different threads at once.

groups-beta.google.com#630048a564c26aed

restricting variable scopes with while

Joshua Gatcomb wanted to know how he could restrict the scope of variables used in the conditionals of his while statement to the loop. This led to some discussion about the implementation of while as a macro or some other beast. Larry began to ponder the submacro...

groups-beta.google.com#436d5489b9a75b49

FIRST, LAST et al support in pugs

David Christensen decided to try and add support for FIRST, LAST blocks and the like into Pugs. This led him to p6l with some questions about traits which are closures. Answers and suggestions were provided.

groups-beta.google.com#a0831d58dd4fc1ff

junctions of classes

Ingo Blechschmidt wondered how junctions of classes would act. The consensus seems to be that they act as type specifiers of a sort, restrict whatever can be put into the variables they describe.

groups-beta.google.com#fa3e3e7418df928c

subtype declarations

Luke Palmer wondered what exactly subtype declarations provided and suggested jettisoning them. Larry was not convinced.

groups-beta.google.com#4c031821dcb63e17

labels on blocks

Stevan Little wondered if there was some way to attach labels to blocks. Discussion ensued, including a comment from Larry that it won't need to be redone.

groups-beta.google.com#0b2779b4506808ff

open and pipe

Gaal Yahas proposed a basic open and pope built in for discussion. Discussion followed. Larry mentioned that io (from io all) is "pretty much" blessed.

groups-beta.google.com#b22033c9c8530e13

is if function?

Juerd wondered if if as a function had unintended consequences. Fortunately, if is not a function, it is a statement level construct.

groups-beta.google.com#f3d3ef24db245638

junctions in use statements

Juerd wondered if he could say use strict & warnings . Larry explained that there were parsing problems with it and possibly limited utility, but has not officially rules it out either as they can be worked around.

groups-beta.google.com#fbb2a6e537cddab5

.foo() == one($_.foo(), $?SELF.foo())

This great quandary continues. This week Larry is leaning towards to .foo() == $_.foo() camp. But nothing is yet sealed... He also suggested $^ as being equivalent to $?SELF (which I really like). Time will tell how this one will work out. My prediction is that the argument will rage on until Pugs is ready to implement it and needs a definitive answer... then it will change a few more times.

groups-beta.google.com#fd9dc1f0e0e1cf20

type system questions

Autrijus asked a few questions about the type system and at which times it did what things. Larry provided some answers.

groups-beta.google.com#500a69e034596d36

The usual footer

To post to any of these mailing lists please subscribe by sending email to <perl6-internals-subscribe@perl.org>, <perl6-language-subscribe@perl.org>, or <perl6-compiler-subscribe@perl.org>. 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 ubermatt@gmail.com

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