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 Language

ceil and floor

Ingo Blechschmidt wondered if ceil and floor would be in the core. Warnock applies... Although Unicode operators would let me define circumfix \lfloor \rfloor (although I only know how to make those symbols in tex...). Hmmm... using tex to right Perl 6 code... interesting idea... at least then I could figure out how to make all the special symbols. Maybe someone should make a package for that.

groups-beta.google.com#dfb6e19d48233e5e

s/// object?

Stevan Little wanted to know if s/// could return some sort of magic object that could be poked or prodded. Larry explain, "no".

groups-beta.google.com#ee4f77b9920d10f7

markup like features

Michele Dondi asked if perl 6 would have markup like features in it. Luke Palmer asked for a more full explanation of what was meant. Warnock applies.

groups-beta.google.com#a98a66b19415638c

the many moods of does

Thomas Sandla\xDF wondered if S14 would actually be written or if tie/bless were eaten by does, enumerating the many powers of does. Larry explained that does will probably have mutated bless and then explained the contexts under which does does each of its powers.

groups-beta.google.com#846c34493a77f952

the many moods of does

To follow up his question about does, Thomas Sandla\xDF wondered about is (specifically whether it stubbed or initialized its variable). Larry explained that is would probably initiliaze its variable and explained how one could use is Ref to stub but not initiliaze something.

groups-beta.google.com#cd926e769f641b48

perl5 -> perl6 converter

Adam Kennedy dropped a line to the list about PPI 0.903, which could form a good base for a Perl 5 to Perl 6 convert. Larry explained that he was actually using PPD (the actual Perl parser) to construct such a tool. He also explained his approach on how he was going to do it. Actually it is a really cool approach for those of you who like elegant design approaches, you should check it out. I'll give you a hint, it starts by writing a glorified version of cat.

groups-beta.google.com#83bbcb56abdc82bb

p5 library compatibility?

Andrew Savige wondered if p6 would maintain the interface for most p5 libraries. chromatic almost died of fright from the suggestion. Juerd suggested a deprecated namespace for such things. Larry gave him a ponie instead. Later Larry thought that perhaps a special namespace for those libraries that could be automatically converted might be appropriate.

groups-beta.google.com#2bbcccff8279f3e8

groups-beta.google.com#f25e44a2a6acaac7 -- later

importing constants and header files

Song10 wondered if there was an easy way to import constants from a module and not have to specify their full scope in the includers file. Larry explained that p6 would have "policy" modules which would allow this. He then began to let his mind explore the possibility of allowing these modules to return a string to evaluate in the user's scope. Then he realized how nasty textual inclusion was in C and C++, and figured that a hygenic policy would be better.

groups-beta.google.com#a66721f161fa1b8f

giving lists more operators

Juerd constructed a table of string, integer, and list operators. He noticed that list had blank spots where string and integer both had things. He then suggested quite a few more operators to fill these blanks... This morphed into a discussion of code complexity and reading code.

groups-beta.google.com#93d8d0a1784b26de -- operators

groups-beta.google.com#13e063f81b8fc046 -- complexity

string pain

Chip wondered what exactly set str apart from Str and the impact this had on Unicode support. Larry and Rod Adams explained that str specified a raw bytes view of strings and required explicit casts between different Unicode levels.

groups-beta.google.com#cb333037a316bf59

xx on CodeRefs

Luke Palmer wondered if the xx operator could be overloaded to repeatedly run a coderef and slap the results together. Other liked it, but no word from on high.

groups-beta.google.com#968acd5602237302

running pugs

Adam Preble had some strange problems with Pugs's make install target. Warnock applies.

groups-beta.google.com#b2e6bc96f946f634

maniplulation many dimensional hashes

Zhuang Li wanted to know how to manipulated hashes of unkown dimension. Luke Palmer provided the answer.

groups-beta.google.com#2ec6fd2eccb43de7

Semantics of Currying

Yuval Kogman has been implementing currying in PUGS. As such, he has found some of the corner cases that have not been well specified. Thus he, Larry, Luke Palmer, and Thomas Sandla\xDF delve into these mysteries.

groups-beta.google.com#7ad67c4f07be22f8

multi paradigmatic perl 6

Someone named Eddie posted a fairly long message to p6l on the google groups interface suggesting that Perl 6 support delegation and other programming paradigms. Sadly, no one told him that it already does both of those things, because nobody got his email. Google groups does not send messages back to the list.

groups-beta.google.com#b41f615fc1e53d96

NB for PUGS on low memory machines

Adam Preble posted a helpful warning about installing PUGS on machines with less than 200 MB of memory. Unfortunately he also posted it to google groups. People should stop doing that. Is there some way to tell google to not let them do that?

groups-beta.google.com#4479115dcdc51e44

PLEAC

Tim Bunce suggested that people could add programming examples to PLEAC for Perl 6, of course they should run in PUGS if they are being released to the world at large...

groups-beta.google.com#bd6ed3ba5ee17ffb

annotating code with documentation

Chip wants to be able to document his code by attaching documentation directly to it. This would allow for nifty introspective features. Larry pointed out that the surrounding POD would actually be made available to the code.

groups-beta.google.com#7df6e2459c0bead8

typo in S03

Aaron Sherman pointed out a typo in S03. Luke Palmer explained that dev.perl.org did not mirror the svn tree just yet. Juerd found one too, but got the same answer. But this time Robert Spier put in the necessary magic so that dev.perl.org would update from svn.perl.org.

groups-beta.google.com#09503722ee7bc48d -- Aaron's

groups-beta.google.com#f5c9381e2193c02c -- Juerd

optimization hints

Yuval Kogman noted that Perl 6 has some ability to provide lexically scoped hints and suggested a few more thinkgs that might be hintable. Larry opened the door for him to try and design such features.

groups-beta.google.com#27fab5f0a8dc612c

S29 update

Rod Adams efforts to update S29 continue to push a very large thread about things including numification of strings and various core operators.

groups-beta.google.com#849d4e45300554bd

string positions

Aaron Sherman wanted a more OO way to look at the OS. Larry did not really agree but felt that one could create a proxy object which would reference all of those globals. Also, a conversation about having units attached to numbers sprang up. Sounds like a good module to me.

groups-beta.google.com#1c880e5b9a5d101b

modify and assign operators

Andrew Savige wondered if there was a complete list of operators anywhere, because he could not find ~^= (string xor) documented anywhere. Larry explained that the assign should probably be a meta operator to allow for better extensibility

groups-beta.google.com#bf70c18431f210b4

p5 -> p6 guide

Adam Preble wondered if there was a basic p5 -> p6 guide. Unfortunately he posted to google groups.

groups-beta.google.com#b107fe5aac5709d2

$_.method vs $self.method

The debate about whether .method should mean $self.method or $_.method continued. $self is still winning.

groups-beta.google.com#2ea8a9d3e3e0fc75

typo problems

It seems that Juerd has typing problems. He wanted to know if he could form a support group. Apparently only if he uses vim.

groups-beta.google.com#d89b9178125802ca

renaming flattening and slurp

Terrence Brannon wants to change the name of flatten and slurp to something else. Larry told him that this usage was unlikely to change.

groups-beta.google.com#fe2a9bb6f846a662 -- flatten

groups-beta.google.com#a9bb20ee75538f60 -- slurp

how read-only is read-only

Chip wondered how deep read-only-ness or is copy-itude went on arguments. The answer appears to be shallow. This led to a very long discussion of how much type checking would actually occur.

groups-beta.google.com#03ba459e92fde91a

pick on non-junctions

Ingo Blechschmidt wondered what pick would do on an array or a hash. Many folk explained that it would remove and return an item or pair from the container respectively. Larry comented that pick on a hash could be harder then it looks...

groups-beta.google.com#6e6a2aad1dcc879d

built in multi methods

Wolverian wondered if some of the common functions called on strings would actually be methods. Larry answered that they would more likely be multi's to allow for easier extension.

groups-beta.google.com#e7c815b3765d8103

comparing to references

Darren Duncan wanted to know if =:= was the correct operator for comparing if two variables refer to the same object. Larry explained that it was. This led to a debate about how easily one could deal with chains of references in Perl 6.

groups-beta.google.com#383b82ce7c84105e

Perl 6 Compiler

Pugs test failures

Will Coleda worriedly reported 115 failing subtests in Pugs. Stevan Little explained that this was normal for between releases and was really more of a todo list than a problem.

groups-beta.google.com#44dd1e2c65a9ec0e

Pugs darcs repo

Greg Buchholz noticed that the darcs repo for pugs has trouble staying up to date. Tupshin Harper suggested using `darcs whatsnew --look-for-adds --summary` to find the offending files.

groups-beta.google.com#be5a3ad79573ae3f

BEGIN {} time

Autrijus wondered when BEGIN was supposed to run. Markus Laire posted a useful summary of when the various CAPITAL things were run. Larry confirmed Autrijus suspicion.

groups-beta.google.com#7c202ea0f1302c96

YAML test output

Nathan Gray wondered if he should change his tests log to YAML output. Stevan Little pointed him to Test::Harness::Straps which could collect test output and transform it.

groups-beta.google.com#71eff01bb226d6e1

semicolons in p6

Andrew Savige found some strange behavior with respect to statement seperation in pugs. He thought that perhaps semicolons had changed their status. They haven't.

groups-beta.google.com#e425757e0f39458d

ugly dog meets ugly bird

Pugs r2^10 can compile p6 to imc which can be run by Parrot. I think I speak for everyone when I say "Wow. Nice work Autrijus.".

groups-beta.google.com#bdf1c3471a53045b

string interpolation and various special variables

Andrew Savige noticed a could of odd corner cases for string interpolation in pugs. This led to a discussion of which special variables (like $!, $/, and $") would continue to exist.

groups-beta.google.com#5865ad1edbec35a3

code coverage metadata

Paul Johnson posted a list of requirements he would like to see satisfied so that one can easily generate perl 6 coverage reports. Warnock applies.

groups-beta.google.com#bee7738ae13d3611

Pugs Release

As is the fashion, Pugs went through to minor releases during this two week period: 6.0.13 and 6.0.14.

groups-beta.google.com#fef6c555d7f2d77f -- 6.0.13

groups-beta.google.com#fc3c3dfa03be639b -- 6.0.14

text editor support for Perl 6

Darren Duncan suggested that it migth be a good idea for people to begin prepping their favorite text editors to handle Perl 6 syntax correctly. Why stop at syntax? I know I want to be able to type :perl6do in vim...

groups-beta.google.com#b8af8ddd9f6668e6

Makefile.pl

Darren Duncan noticed that while most things in pugs were written in Perl 5, while Makefile.PL was still in Perl 5. He suggested that the Makefile.PLs in various modules be written in perl 6 also. He then began work on a pugs::Makemaker module.

groups-beta.google.com#4f7c49cf1c4913eb

groups-beta.google.com#75deb16e3f23bba6 -- work begins

Pugs to become a Perl6 -> Parrot AST compiler

Autrijus explained that he was planning on steering pugs toward becoming a perl 6 -> parrot compiler which would interpret code (when parrot is not available) by mapping imc to haskel.

groups-beta.google.com#f8bd616ed25e8ba9

pugs re-org

Stevan Little suggested rearranging the pugs repository a bit. The end result is that modules which aren't runnable in pugs (yet) should go in modules/ while those which are should go in ext/

groups-beta.google.com#cc7ccf80f1db6b9f

YAPC::NA pugs hack-a-thon

John Macdonald posted his plan for the YAPC::NA pugs hack-a-thon. His description of the location makes me want to take time off work to go to it....

groups-beta.google.com#e5c177b644291946

split semantics

Stevan Little found a bug in pugs's split. Autrijus fixed it, but noted that he had not replicated the full, bizarre semantics of perl 5 (which come from awk). Larry told him not to work too hard on it, as it would probably be provided through a separate function.

groups-beta.google.com#bcb73c32ffd9f8f4

statement modifiers

A bug in Pugs's parsing led Autrijus to seek information from a higher authority. Larry explained the power of statement modifiers.

groups-beta.google.com#b6bc7f344224557d

Parrot

move perl tests out of pmc/pmc.t

Steven Schubiger volunteered to reogranize pmc/*.t last time. He did it, and leo applied the patches.

groups-beta.google.com#ae7deac783274d56

areas of focus

Chip, in a circumloquacious attempt to come up to speed, indirectly asked what design issues needed attention. Leo explained the CPS issues that have been bogging down parrot of late.

groups-beta.google.com#14246cc09d5e5efd

improving mingw docs

Fran\xE7ois Perrad provided a patch improving the documentation for building with MinGW. Leo applied part of it.

groups-beta.google.com#0b570c16d600dffd

moving pmc2c2.pl or pmc2c.pl

Matt Diephouse opened an RT ticket for cleaning up the file system (specifically pmc2c2?.pl).

groups-beta.google.com#75773e6add39f91b

The Learned Parrot

Christian Aperghis-Tramoni reported that he has had success using parrot assembly as a teaching tool.

groups-beta.google.com#6de665799f024868

performance and parrot

Falcon posted a series of questions about Parrot in a fairly general sense. Unfortunately, since he posted it to google groups, Warnock applies.

groups-beta.google.com#ca0ffab9e2314369

first MMD call

Leo posted a first MMD call which uses an MMD PMC and a fair amount of hand done calling conventions set up.

groups-beta.google.com#e4d842b427760caf

OpenBSD atan2 trouble

Steve Peters noticed that atan2 on OpenBSD is not quite right.

groups-beta.google.com#7fb8c5d8b405e5ff

API change

Leo changed various packfile functions to take an Interp* argument. This does change the embedding API, but it had to be done.

groups-beta.google.com#71a24123fabd55b8

pmc2c2.pl cleanup

Leo pointed out that pmc2c2.pl was not functioning correctly on all platforms. He put out a call for interested parties. Matt Diephouse provided a patch to clean up the internals of pmc2c2.pl a bit. Leo applied it. Peter Sinnott returned a $ that got lost in the shuffle, chromatic applied it. Matt went on to add better comments.

groups-beta.google.com#c47eb087e2a86dd5 -- call

groups-beta.google.com#81b48613c09a87ee -- refactor

groups-beta.google.com#025c3cf568cdc087 -- $ found

groups-beta.google.com#e9221136e02bf015 -- comments

README.win32 update

Klaas-Jan Stol provided an update to the README.win32 directions. Warnock applies.

groups-beta.google.com#952fba174cef9d9a

SET_NON_ZERO_NULL

Chip wondered why parrot had a SET_NON_ZERO_NULL macro and suggested removing it. The answer was of course speed. On architectures with a zero null, this can be a no-op and memory can be calloced. Otherwise it has to do something.

groups-beta.google.com#11363375f1e55224

PMC constants

Leo added support for .const things to imc. Unfortunately, the GC eats them so you can't use it.

groups-beta.google.com#c72babeefba6f5a3

Garbage Collection and Hash creation

Cory Spencer's LISP implementation revealed a bug in the hash creation sequence. Leo fixed it.

groups-beta.google.com#cdd2e03ca8a80a7f

MD5 update

Nick Glencross provided an update to the md5 library. Leo applied it.

groups-beta.google.com#021b233898e21a3a

tcl updates

Will Coleda has been updating tcl. He moved the parser into a PMC. Then he tried to add octal and hex escapes only to discover missing transcodings. He also found missing hash functions, but Leo fixed that.

groups-beta.google.com#7e63bfff44b38cf3 -- parser

groups-beta.google.com#fd4c8b0780abb7b6 -- transcodings

groups-beta.google.com#84a812d27e659c62 -- hash

Logging IRC

It has been suggested that we start to log IRC. Chip suggested that this might not be cost effective as such logs are 99% dross and 1% value. He suggests instead that people paste this good part into emails for the list. I know that I for one, would not volunteer to summarize IRC...

groups-beta.google.com#5efff144d804f62e

segfault generating config.fpmc

chromatic (as his Linux PPC is want to do) found a bug in the build. He fixed it, and Leo applied the patch.

groups-beta.google.com#7b3eab465b44ab5a

Lazy, Lazy Steve

Leo added a first implementation of a Lazy PMC for Autrijus to play with.

groups-beta.google.com#860892e9d0f5b12f

Win32 make install

Fran\xE7ois Perrad provided a patch fixing MANIFEST.generated for Win32. Warnock applies.

groups-beta.google.com#0ab639455638d725

Parrot on Win32

Ron Blaschke spent some time fixing Parrot on Win32, extending it to provide a shared library.

groups-beta.google.com#43f10dcc8c2e9c58

mod_parrot

Jeff Horwitz released mod_parrot 0.2. It includes nifty features including the begining of an interpreter pool.

groups-beta.google.com#a67922987c2a4498

C90 cleanup

Peter Sinnott moved a few declarations further up. Leo applied the patch.

groups-beta.google.com#f0e37d095ada4337

MMD on argument count

Leo added the ability to MMD on argument count and PMC types.

groups-beta.google.com#4c42835ce6388c3d -- count

groups-beta.google.com#6c5f23d859e7a2f4 -- types

documentation typos

Offer Kaye fixed a few typos. chromatic applied the patch.

groups-beta.google.com#8ebff13ccba5eb58

pmc freeze.t

Leo admired the tricksiness of Bernhard Schmalhofer in his freeze implementation.

groups-beta.google.com#006a51cbb9bdc9b3

sys.t failure on MinGW

Fran\xE7ois Perrad fixed a test failure on MinGW. Leo applied it.

groups-beta.google.com#f818bdab1df8b19f

builtin namesspaces issue

Peter Sinnott pointed out some failing tests. Leo fixed them.

groups-beta.google.com#23e648965fbcafdf

locate_runtime_file error

Bob Rogers provide a patch to switch PARROT_TEST to 1 by default. Leo applied it.

groups-beta.google.com#6b4165aed54fd51a

bytecode reentrancy

Nigel Sandever had some questions about how parrot and threading worked. Melvin Smith provided the answers.

groups-beta.google.com#aa1df4154c4e828a

Pugs Questions for Parrot FAQ

Nicholas Clark noted that the question of why bother with Parrot when one has Pugs has come up recently. The answer was put into the Parrot FAQ: speed.

groups-beta.google.com#0236d8408d5c696f

Pascal for Perl

Sven Schubert wondered if people had any suggestions for how to get PAPAgei (his Pacal for Parrot compiler) up and running quickly. Leo told him to stick with the tools he knows rather than going to far afield.

groups-beta.google.com#7327ab601eeae744

infix op proposal

Leo posted his proposal for how to revamp infix ops. Nicholas Clark and Luke Palmer asked a few questions.

groups-beta.google.com#18f0a04dcae50a5b -- discussion

groups-beta.google.com#0815f5def2528387 -- more discussion

lexical pad depth

Cory Spencer wondered how to find the depth of the lexical pad stack. Leo told him how.

groups-beta.google.com#860547f9152f1c15

win32 exit codes

Ron Blaschke noticed that there were tests failing on Win32 because the exit code was not in the high 8 bits, but was stored directly. Leo suggested we look to perl 5 for prior art on what to do.

groups-beta.google.com#c4c5e050ce386f1b

other languages on parrot

Bloves wondered if any other compilers were currently working towards targetting parrot. I pointed him to cardinal, a ruby compiler for parrot that appears dead.

groups-beta.google.com#6584831afd40324c

Parrot64

Adam Preble wondered if there has been any work on Parrot for AMD64. The answer is some, but nobody told him cause he posted to google groups.

groups-beta.google.com#e5769b252a9941c3

Parrot win32-setup

Fran\xE7ois Perrad provided a patch that creates a standard binary distribution for Win32. There was some debate over the name of the make target, but Fran\xE7ois is ready to send an updated version at Leo's command.

groups-beta.google.com#990013f2549886ff

calling convention abstraction

Leopold Toetsch proposed a calling convention abstraction that would allow Parrot to change its ABI a little more freely in the future. Roget Hale asked a few questions which Leo answered.

groups-beta.google.com#c1f5f17efc7b6560

no 0 size arrays

Ron Blaschke noticed a broken windows build, because of a 0 sized array. Leo fixed it.

groups-beta.google.com#c2a932928fb1c823

unicode string literal assertion failed

Will Coleda discovered a failing assertion in utf8.c Leo fixed it.

groups-beta.google.com#7d4a76dfd09b45ee

NCI call signature change

Leo changed the call signature for NCI to make 'I' mean INTVAL, and 'J' mean Parrot Interpreter.

groups-beta.google.com#b00816d25aff741a

builtin infix multis

Leo added support for MMD on infix multis.

groups-beta.google.com#4fbb010b37b34fec

touch vs utime

Chip asked if there was a reason that the TOUCH variable doesn't use utime. Michael G Schwern suggested ExtUtils::Command. Steve Peters points out that utime will only work on existant files.

groups-beta.google.com#7c1e998cc73ecac4

make imcc.l for modern flex

Chip opened a TODO for updating imcc.l to modern flex.

groups-beta.google.com#173d69e1fc260fda

OS X build broken

Will Coleda reports that the build is broken on OS X with undefined symbols. Leo found the cause and reverted it.

groups-beta.google.com#356b9e568eca3039 -- problem

groups-beta.google.com#1b1ec3ecc2e16fb0 -- solution

SVN switch

After much debate, the decision to switch from CVS to SVN has been made. The move will be accompanied by a removal of ICU as a dependency. Good progress has been made on that front.

groups-beta.google.com#91249b1c59096f12

groups-beta.google.com#adc0690ef419b75d -- progress

MD5 on 64 bits

Nick Glencross has been hard at work trying to fix the MD5 library for 64 bits systems. It would be easier if he had access to one.

groups-beta.google.com#b0533304331f2186

Python Version Guesswork

Ron Blaschke noticed that activestate python reports its build as 2.4 instead of 2.4.0. He provided a patch to account for this.

groups-beta.google.com#d711871c5d49df91

The usual footer

To post to any of these mailing lists please subscribe by sending email to <[email protected]>, <[email protected]>, or <[email protected]>. 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