Re: Parrot and Perl 6 Summary

2010-02-02 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2010/02/seven-days-between-parrot-and-camel.html

Lithos


Re: Parrot and Perl 6 Summary

2010-01-26 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2010/01/seven-days-between-parrot-and-camel_26.html

Lithos


Re: Parrot and Perl 6 Summary

2010-01-15 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2010/01/seven-days-between-parrot-and-camel_15.html

Lithos


Re: Parrot and Perl 6 Summary

2010-01-06 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2010/01/seven-days-between-parrot-and-camel.html

Lithos


Re: Parrot and Perl 6 Summary

2009-12-28 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2009/12/seven-days-between-parrot-and-camel_28.html

Lithos


Re: Parrot and Perl 6 Summary

2009-12-22 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2009/12/seven-days-between-parrot-and-camel_22.html

Lithos


Re: Parrot and Perl 6 Summary

2009-12-13 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2009/12/seven-days-between-parrot-and-camel_13.html

Lithos


Re: Parrot and Perl 6 Summary

2009-12-09 Thread Lithos
Please find:

http://lith-ology.blogspot.com/2009/12/seven-days-between-parrot-and-camel.html

Lithos


Re: Parrot and Perl 6 Summary

2009-11-30 Thread Lithos
[now CC-ing the list, d'oh!]

On Mon, Nov 23, 2009 at 4:33 PM, Geoffrey Broadwell ge...@broadwell.org wrote:
 On Mon, 2009-11-23 at 01:15 +0100, Lithos wrote:
 Today I posted my first attempt at summarizing Perl 6 and Parrot things at

    http://lith-ology.blogspot.com/

 Any comments and corrections welcome!

 This is *very* valuable to us.  Please keep it up!

I'm trying: :)

   
http://lith-ology.blogspot.com/2009/11/seven-days-between-parrot-and-camel_29.html

Lithos


Parrot and Perl 6 Summary

2009-11-23 Thread Lithos
Hello!

I posted my first attempt at summarizing Perl 6 and Parrot things at

  http://lith-ology.blogspot.com/

Any comments and corrections welcome!

Lithos


Re: Parrot and Perl 6 Summary

2009-11-23 Thread Darren Duncan

Lithos wrote:

I posted my first attempt at summarizing Perl 6 and Parrot things at

  http://lith-ology.blogspot.com/

Any comments and corrections welcome!


Looks good so far.

If you intend to do that weekly, it should be a valuable service, like the 
summaries done years ago.


I also learned something new from it, like the existence of a new parrot-users 
discussion list, a good targeted environment for people using Parrot to 
implement languages, without the details of Parrot internals development.


-- Darren Duncan


Parrot and Perl 6 Summary

2009-11-23 Thread Lithos
Hello!

Today I posted my first attempt at summarizing Perl 6 and Parrot things at

   http://lith-ology.blogspot.com/

Any comments and corrections welcome!

Lithos


Re: Parrot and Perl 6 Summary

2009-11-23 Thread Geoffrey Broadwell
On Mon, 2009-11-23 at 01:15 +0100, Lithos wrote:
 Today I posted my first attempt at summarizing Perl 6 and Parrot things at
 
http://lith-ology.blogspot.com/
 
 Any comments and corrections welcome!

This is *very* valuable to us.  Please keep it up!


-'f




Re: This weeks summary, part 2

2006-02-19 Thread Ævar Arnfjörð Bjarmason
On 2/18/06, The Perl 6 Summarizer [EMAIL PROTECTED] wrote:
   Smart match table
 Robin Houston had some questions/observations about the smart match
 table in synopsis 4. This is the table that describes how the smart
 match (~~) operator does its comparisons. It turns out that the table
 in the synopsis implies non-commutative behaviour, which came as
 something of a surprise. I'm surprised this thread petered out so
 quickly without any real resolution; it seems rather important to me.

 http://xrl.us/j366

That particular url isn't working.


This weeks summary, part 2

2006-02-18 Thread The Perl 6 Summarizer
The Perl 6 summary for the week ending 2006-02-12
Did I say Thursday night? What was I thinking? Blame Nikon for finally
delivering my D200; or just blame me for being a lazy git who spent
Thursday night recovering from the drive home from Liverpool and Friday
playing with a new toy and chatting to interesting people in the atrium
at SageGateshead.

So, here's part two of the summary, in which I summarize ancient history
in perl6-language.

This week in perl6-language
  Overloading the variable declaration process
Darren Duncan asked that Perl 6 provide a way for a class/role/metaclass
to declare that all variables declared to be of that type are
automatically/implicitly set to a particular value at declaration time.
Larry's response was fascinating as he talked about what I find myself
thinking of a continuum of definedness, where, instead of worrying if a
variable is defined, the language/programmer/whatever only cares whether
it is defined enough. The syntax for asking such questions isn't really
defined enough yet.

Then it all got slightly philosophical with talk of the ideal of a dog
(when I think the questioner really wanted to talk about the ideal dog),
Platonism and Aristotelianism. And the metamodel.

And there was hypnotism.

http://xrl.us/j36z

  Macros?
Last week, Brad Bowman asked a bunch of questions about the workings of
Perl 6 macros. This week, Larry offered answers.

http://xrl.us/j362

  A proposition for streamlining Perl 6 development
Yuval Kogman had some ideas about how to make Perl 6 development go
faster. Igor! More tuits!

Some people disagreed with him. Some agreed. I am staying well out of
this one (at least in the summaries; I have opinions and I don't trust
them, or myself, enough to be able to write a properly impartial summary
of the discussions).

http://xrl.us/j363

  Tokenizer hints, supporting delimited identifiers or symbols
Darren Duncan had another wish for Perl 6: a simple and terse way for
Perl 6 identifiers or symbols to be able to be composed of any
characters whatsoever... whoa! Deja vu!

Ah yes, I already did this one in part one. Move right along the
summary, nothing to see here.

http://xrl.us/j364

  The definition of say
Simple question: how do you implement say?

The answer isn't quite as simple as you might think. Actually, that's
not true, the answer is simple, but the question has hidden depths.

Go read Robin Houston's question and its responses if you don't believe
me.

http://xrl.us/j365

  Smart match table
Robin Houston had some questions/observations about the smart match
table in synopsis 4. This is the table that describes how the smart
match (~~) operator does its comparisons. It turns out that the table
in the synopsis implies non-commutative behaviour, which came as
something of a surprise. I'm surprised this thread petered out so
quickly without any real resolution; it seems rather important to me.

http://xrl.us/j366

Acknowledgements, apologies and everything else
So, does the serial format work? Apart from the problem of not actually
getting on with part two when I should have done, it works remarkably
well for me. Writing the summary in one big chunk can be somewhat
daunting, especially if my brain gets fried by the first two lists.
Feedback is good.

  Help Chip
http://geeksunite.org/ -- Chip still needs help.

  The usual coda
If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl.

http://donate.perlfoundation.org/ -- The Perl Foundation

The Perl Foundation Blog is an excellent source of news about the Perl
Foundation's activities.

http://blog.perlfoundation.org/

Planet Perl Six is a handy news aggregator of several Perl 6 related
sources.

http://planet6.perl.org/

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

Check out my website, it's lovely.

http://www.bofh.org.uk/

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


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

Perl 6 Summary for 2006-01-24 though 2006-02-07

2006-02-07 Thread Matt Fowles
Perl 6 Summary for 2006-01-24 though 2006-02-07
All~

Welcome to another fortnight's summary. I would say more, but my throat
really hurts.

  Perl 6 Language
   Pugs's Minimum GHC
Darren Duncan proposed moving the minimum GHS requirement from 6.4.0 to
6.4.1. Based on the conversation, this appears to be a somewhat likely
outcome.

http://xrl.us/jws4

   Pugs Makefile.PL Update
Beau E. Cox posted a patch to improve Makefile.PL. Audrey added it and
handed him a commit bit.

http://xrl.us/jws5

   Pugs 3.2.11
Pugs, now officially 1 year old, just hit its 6.2.11 release.

http://xrl.us/jws6

   Pugs Link Error
Beau E. Cox had trouble linking Pugs 6.2.11 and Parrot 0.4.1. Audrey
pointed out that he needed a parrot source tree nearby.

http://xrl.us/jws7

   Macros
Larry Wall posted an update of S06. It looks very tasty. I hope the
standard library has some convenience routines for dealing with Perl 6's
AST.

http://xrl.us/jws8

   Pugs Version Numbers
Beau E. Cox was a little confused by Pugs's jump in development version.
Kevin Puetz explained the approach to $2 \pi$.

http://xrl.us/jws9

   Parrot Source Tree for Pugs?
Beau E. Cox, after discovering that a Parrot source tree is necessary to
build Pugs, wondered if it was still necessary after Pugs was built.
Larry provided the answer: no.

http://xrl.us/jwta

   PGE Binding
Audrey noticed a problem convincing PGE to alias a scalar. Patrick
explained that it was not yet implemented.

http://xrl.us/jwtb

  Parrot
Hmmm... If the short one required two cough drops, I fear for the long
one. Of course, that was uncharacteristically large for p6l, so perhaps
p6i will be short. (Gambler's Fallacy, I know)

   Namespace Relativism
Leo noticed a few namespace opcodes which could function either
relatively or absolutely. Peoples seemed to want absolute.

http://xrl.us/jwtc

   Interpreters and Stashes?
Leo posted a few questions about parts of Parrot's guts that he wasn't
sure about. Chip posted his thoughts.

http://xrl.us/jwtd

   File, OS, and Path
Alberto Simões posted his proposal for File/OS functions. Chip provided
his opinions as well.

http://xrl.us/jwte

   Object Initialization Issues
Bob Rogers noticed a change in the semantics of object initialization.
He and Leo added tests and nailed down them down more firmly.

http://xrl.us/jwtf

   I/O Filters
Steve Gunnell posted his ideas for how to finalize and improve the I/O
filter system on which Parrot's IO is built. Leo, Nicholas Clark, and
Joshua Hoblitt fined tuned his ideas slightly.

http://xrl.us/jwtg

   Parrot on z/OS
Ravi Sastry wondered if Parrot could run on z/OS. Jonathan Worthington
guessed that it probably would not run right now, but could be made to
run by an interested developer.

http://xrl.us/jwth

   Dirty I Registers
Jerry Gay noticed that IREGs weren't being zeroed properly.

http://xrl.us/jwti

   Parrot::Configure::Data::Bug
Norman Nunley found and fixed a bug in Parrot::Configure::Data. Leo
applied the patch.

http://xrl.us/jwtj

   PARROT_IN_EXTENSION
Nicholas Clark noticed some macro strangeness involving
PARROT_IN_EXTENSION. Jonathan Worthington determined that it was
vestigial and remove it. Nicholas was happy.

http://xrl.us/jwtk

   Invalid Cleaning Order
Bernhard Schmalhofer noticed that make clean was cleaning itself into
a corner. He filed a bug for it.

http://xrl.us/jwtm

   FreeBSD JIT Bug
Joshua Isom found a problem with the FreeBSD JIT. Leo pointed him to
some docs to help him debug his problem.

http://xrl.us/jwtn

   Makefile Cleanup
Joshua Isom posted a patch cleaning up some makefile stuff. Joshua
Hoblitt thought that further review was necessary. Warnock applies.

http://xrl.us/jwto

   Supporting Static Variables
Leo posted a few thoughts on how to support static variables in Parrot.
Larry, Nicholas Clark, and Joshua Isom provided a few suggestions.

http://xrl.us/jwtp

   Truncating Generated PIR Code
Allison Randal was having problems with generated PIR code getting
truncated. Leo managed to track down and solve the problem.

http://xrl.us/jwtq

   Want a Job?
[EMAIL PROTECTED] posted a job offering to the list. Unfortunately
he posted it to google groups (most likely) as it didn't make it to the
list proper.

http://xrl.us/jwtr

   Exception in a Constructor Oddness
Jonathan Worthington provided a test case display an unexpected
interaction between constructors and exceptions. Warnock applies.

http://xrl.us/jwts

   Continuation Return Values
Bob Rogers provided a patch allowing Continuations to return values. Leo
applied the patch.

http://xrl.us/jwtt

   Dynamic PMC Link Dependency
Leo noticed that compiling a static

Re: Perl 6 Summary for 2006-01-10 though 2006-01-24

2006-01-25 Thread Klaas-Jan Stol

Matt Fowles wrote:


  LuaNil Morphing
   Klaas-Jan Stol proffered a patch which changed LuaNil from a singleton
   and made it morph to other Lua types when asked. Warnock applies.

 

Actually, François Perrad applied this patch, but I think he only sent a 
reply to me.



   http://xrl.us/jpww

  LuaTable Loving
   Klaas-Jan Stol also provided a patch making LuaTable more correct.
   Warnock applies.
 


Same here.

kjs


Perl 6 Summary for 2006-01-10 though 2006-01-24

2006-01-24 Thread Matt Fowles
Perl 6 Summary for 2006-01-10 though 2006-01-24
All~

Welcome to another fortnight's summary. This summary marks a return to a
Tuesday schedule for summaries. Hopefully this will help me get
summaries to you on time. Oddly appropriate that I just started reading
Don Quixote...

  Perl 6 Compiler
Either this list followed its typical pattern of doing most of its work
off list, or google's indexing of it broke. I am guess the former and
continuing on blindly.

  Perl 6 Internals
   Unescapable Single Quotes in Strings
Matt Diephouse discovered that he could not escape single quotes within
strings. This saddened him so much he open an RT ticket.

http://xrl.us/jpwo

genfile()  Interpolation Syntax
Joshua Hoblitt changed the interpolation syntax for 
Parrot::Configure::Step::genfile()  from  ${foo}  to  @foo@ .

http://xrl.us/jpwp

   getopt_obt.t Failures
Joshua Hoblitt posted some failures in  t/library/getopt_obj.t  on
amd64/linux.

http://xrl.us/jpwq

   Improved Smoke Layout
Joshua Hoblitt opened a TODO for the smoke server's layout. Currently it
is a bit busy and confusing.

http://xrl.us/jpwr

   Deprecated PMCs
Leo deprecated FloatvalArray and StringArray PMC in favor of the
(Fixed|Resizable)*Array PMCs, which are 20% more awesome.*

http://xrl.us/jpws

*awesomeness directly related to their original author

   pdb.exe build broken
Jerry Gay noted that pdb.exe was failing to link on Windows.

http://xrl.us/jpwt

   Interpolation Synatx Updates
Greg Bacon noticed a few  ${foo}  interpolations left over from the
aforementioned update. Nick Glencross improved upon Greg's core idea.
Joshua Hoblitt verified the fixes.

http://xrl.us/jpwu

   Attack of the Clones
Klaas-Jan Stol was having trouble making his LuaNil PMC clone method.
Leo explained that it was his fault, and he solved it.

http://xrl.us/jpwv

   LuaNil Morphing
Klaas-Jan Stol proffered a patch which changed LuaNil from a singleton
and made it morph to other Lua types when asked. Warnock applies.

http://xrl.us/jpww

   LuaTable Loving
Klaas-Jan Stol also provided a patch making LuaTable more correct.
Warnock applies.

http://xrl.us/jpwx

   Lua Fixes
Jonathan Worthington updated Lua PMCs to no longer use the deprecated
Parrot_PMC_typenum.

http://xrl.us/jpwy

   Tcl on Darwin
Joshua Isom noticed that Tcl was no longer building on Darwin. Jonathan
Worthington updated Tcl PMCs to no longer use the deprecated
Parrot_PMC_typenum. Joshua noted that this fixed one problem but left
another one.

http://xrl.us/jpwz

   No More .def Files
Jonathan Worthington completed the work that allows Parrot to build on
Win32 without a .def file. Thanks, Jonathan.

http://xrl.us/jpw2

   Moving argv to ResizableStringArray
Joshua Isom (after Leo's earlier help) offered a patch moving argv from
an SArray to a ResizableStringArray. Warnock applies.

http://xrl.us/jpw3 -- inital version

http://xrl.us/jpw4 -- final version

   Pod File Extensions
Joshua Isom noted that many documents were pod documents, but did not
have .pod extensions. Joshua Hoblitt fixed it.

http://xrl.us/jpw5

   Switch Tcl to Getopt/Obj.pir
Bernhard Schmalhofer suggested that Tcl could be moved to Getopt/Obj.pir
from Getopt/Long.pir, which clears the path for remove of
Getopt/Long.pir. Will Coleda gave the go ahead for switching it.

http://xrl.us/jpw6

   clear_eh restrictions
Bob Rogers posted an update to his patch which restricts  clear_eh  to
the current context only. Warnock applies.

http://xrl.us/jpw7

   Clean Up After Yourself
Bob Rogers provided a patch which makes  examples/pir/io.pir  clean up
its temp file. Warnock applies.

http://xrl.us/jpw8

   Build Failure on FreeBSD 5.4
Joshua Isom noted that the build was failing on FreeBSD 5.4. Apparently
the cgp core was a little hard on their gcc. Leo disabled the portion it
was breaking on.

http://xrl.us/jpw9

http://xrl.us/jpxa

get_param  Questions
Klaas-Jan Stol had a few questions about get_param usage in PIR. Bob
Rogers and Leo provided answers.

http://xrl.us/jpxb

   find_global Opcode Change
Leo updated find_global and get_global to return a Null PMC on
failure when exceptions are disabled.

http://xrl.us/jpxc

   Build Step Parameter Passing
Joshua Hoblitt added support for passing parameters to build steps in
the build system.

http://xrl.us/jpxd

   Automatic Closure Creation
Audrey found it cumbersome to need to explicitly create new closures for
package-scoped subroutines. Leo made it automatic.

http://xrl.us/jpxe

   YAML::Emitter::Syck wanted
Will Coleda opened a todo for a YAML::Emitter::Syck that functions
similarly to Data::Dumper.

http://xrl.us/jpxf

   PMC

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/


Perl 6 Summary for 2006-01-02 though 2006-01-09

2006-01-11 Thread Matt Fowles
Perl 6 Summary for 2006-01-02 though 2006-01-09
All~

Welcome to another Perl 6 Summary. On a complete tangent, if you are
playing World of Warcraft and see a troll hunter named Krynna, she
rocks. She royally saved me. Be nice to her.

  Perl 6 Compiler
   PIL Containers and Roles
Audrey explained that she and Stevan have been putting in effort to
allow Pugs and PIL to bootstrap Roles and eventually the entire object
model.

http://xrl.us/jiza

   Reference and Assignment Semantics
Audrey posted a brain dump focusing on the issues and implications of
how containers, assignment, and auto dereferencing interact.

http://xrl.us/jizb

   Table of Perl 6 Types
Stevan Little posted a summary of his understanding of Perl 6's core
type hierarchy. Larry replied with a few comments and corrections.

http://xrl.us/jizc

  Parrot
   Configure and Symlinks
Alberto Simoes wondered how the configuration system should handle
symlinks. Warnock applies.

http://xrl.us/jizd

   Removed NCI Types
Dan Sugalski wondered why the T and L parameters have been removed from
NCI and how he should work around their absence. Leo suggested you
ManagedStruct PMCs for it and pointed him to the SDL libraries.

http://xrl.us/jize

mkdir  test can fail
Bob rogers posted a patch fixing an unanchored regular expression in the
mkdir test. Warnock applies.

http://xrl.us/jizf

   Build html should use Pod::Find
Joshua Isom suggested that Pod::Find would make building html less error
prone and more robust to changes the Pod structure. Warnock applies.

http://xrl.us/jizg

   CWD on HP-UX
Nick Glencross posted a fix to os.pmc for HP-UX. Alberto Simões applied
the patch.

http://xrl.us/jizh

   Alignment Issues on HP-UX
Nick Glencross posted a back trace from a test failing on HP_UX. His
initial analysis indicates that it is an alignment issue. Warnock
applies.

http://xrl.us/jizi

   Tcl Todo
Will Coleda posted more todos for Tcl. Like last week, I won't summarize
them all. But I am very happy to see Tcl coming along again. I must say
that I always like watching the test percentages climb.

   Parrot 0.4.1
Leo announced the release of Parrot 0.4.1.

   Sun's Compiler No Like CRLF
Andy Dougherty noticed that Sun's compiler was choking on coroutine.pmc
because it had bad line endings. He fixed it, and Jerry Gay applied the
patch.

http://xrl.us/jizj

   atan2 issues
Joshua Hoblitt committed a possible fix for some atan2 issues occuring
on openbsd, solaris, and cygwin. The fix didn't help cygwin or solaris.
No word on openbsd.

http://xrl.us/jizk

   OS.pmc needs a few methods
Will Coleda created a few todo: OS.pmc needs an lstat method, and
methods to set atime and mtime.

http://xrl.us/jizm

http://xrl.us/jizn

   Vanishing Warnings
Will Coleda noticed that a few warnings disappeared. Leo admitted that
he accidentally applied a fix some time ago.

http://xrl.us/jizo

   Configure.pl and Optimize
Andy Dougherty noticed that Configure.pl --optimize no longer worked
correctly. Joshua Hoblitt took the opportunity to clean up that portion
of Configure.pl.

http://xrl.us/jizp

   Event System Question
Klaas-Jan Stol wondered why events (unlike exceptions) are handled after
a little time instead of immediately. Leo explained that this was due to
the asynchronous nature of an events arrival and the inability to resume
execution after a long jump.

http://xrl.us/jizq

   CFLAGS missed two files
Andy Dougherty noticed that the core_ops source files missed come of the
directory rearrangements. Jerry Gay applied the patch.

http://xrl.us/jizr

   File::Temp Issue
Leo noticed an issue in t/run/options. Jerry tracked it down to an old
version of Perl and the File::Temp module and fixed the problem.

http://xrl.us/jizs

   Simple Namespace Question
Joshua Isom wondered how to separate namespaces for find_global calls.
Leo explain that he should use a list like ['Foo'; 'Bar'].

http://xrl.us/jizt

   Credits
The ever modest Nick Glencross updated his name in the credits file to
be a little more understated. Oddly, no one applied the patch.

http://xrl.us/jizu

   parrot config revisited
Nick Glencross posted a few questions, thoughts, and patches involving
parrot_get_config. Leo agreed with most of it, but had a few comments.

http://xrl.us/jizv

   pkgsrc build
Anders Nor Berle provided a few patches making thing work a little more
smoothly with FreeBSD and pkgsrc. Jerry Gay reviewed the patches and
Florian Ragwitz applied the relevant portions. In fact, 0.4.1 got added
to pkgsrc for the curious.

http://xrl.us/jizw

http://xrl.us/jizx -- 0.4.1 added

   static and shared libparrot
Florian Ragwitz provided a patch that fixed

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

Perl 6 Summary for 2005-12-05 through 2005-12-12

2005-12-12 Thread Matt Fowles
Perl 6 Summary for 2005-12-05 through 2005-12-12
All~

Welcome to another Perl 6 summary. This week, like last, Parrot has
produced the highest volume of emails. Fine by me, Parrot tends to be
easiest to summarize. This summary is brought to you by Snow (the latest
soft toy in the house). I would say you should get one, but apparently
Borders stores everywhere are sold out of them. He is quite soft and a
little mischievous. Maybe he belonged to a samurai once...

  Perl 6 Compiler
   Context Confusion
Mike Li wondered how to make his sample code work in Perl 6. Jonathan
Scott Duff pointed out that the part he was curious about, was correct
already. Score one for Perl 6.

http://xrl.us/i7ch

   Unbracketed Text from Text::bracketed
Allison Randal wanted to be able to access the text within
PGE::Text::bracketed's match object. Patrick made it work, and Allison
happily used it.

http://xrl.us/i7ci

   Security Model
Bryan Burgers wondered how Parrot would support security. Luke Palmer
pointed him to the p6i list and explained that Dan did have a plan for
this that he couldn't recall. I recall something about VMS and having
active and allowable capabilities. It sounded really cool when I read
it.

http://xrl.us/i7cj

  Parrot
   Build Failure
David Dyck managed to make the build fail on his bizarre setup. Leo
fixed it.

http://xrl.us/i7ck

   src/revision.c Dependencies
Leo discovered that src/revision.c is missing some dependencies. He
would love it if someone fixed that.

http://xrl.us/i7cm

   Documenting  .lex  Syntax
Klaas-Jan Stol documented the new syntax for lexicals. Jerry Gay applied
the patch.

http://xrl.us/i7cn

   Multidimensional Arrays
Roger Browne found that he could not make multidimensional array access
work with PMCs. Leo said that should be filed as a TODO.

http://xrl.us/i7co

   Directory Reorganization
Jerry Gay has made good progress spearheading the directory
reorganization of Parrot. Rather than give you a bunch of links to
emails that are essentially the same, I will skip them, but thank you
Jerry.

make test  Error on OS X Tiger
Jason Gessner reported a test failure on OS X Tiger. Warnock applies.

http://xrl.us/i7cp

   C3 MRO Test
C3 MRO (C3 P0's younger brother) recently underwent his factory
acceptance test and will be released into the world. Like his older
brother, he also speaks fluent Tibetan. On an unrelated note, Stevan
Little added some test for the C3 method resolution order used in
Parrot.

http://xrl.us/i7cq

   Global Store Hash
Klaas-Jan Stol wanted to access the global store hash directly. Leo
showed him how.

http://xrl.us/i7cr

   Release Goals
Leo kicked off a brain storming session for what to focus on for the
next release. Brains promptly began storming.

http://xrl.us/i7cs

   Sun4 JIT Fix
Andy Dougherty submitted a big fix to make Sun4's JIT link again. Leo
applied the patch.

http://xrl.us/i7ct

   :flat and :slurpy issues
Bob Rogers was having trouble making Parrot eat linguine because it
would not mix :flat and :slurpy arguments. He also found that the
problem was do to premature optimization (actually a
PREMATURE_OPTIMIZATION define) and submitted a fix and test. Leo thanked
him and applied them.

http://xrl.us/i7cu

   Parrot 0.4.0 Luthor
Leo announced the latest release of Parrot 0.4.0 aka Luthor. There was
much rejoicing, but I was left wondering where Leo comes up with these
release names.

http://xrl.us/i7cv

loadlib  Cleanup
Leo has been hunting some uninitialized memory bugs in Parrot's library
loading code. He has been having a difficult time finding the problem,
and thus is looking into a general code clean up to make the problem
easier to find (or possibly just fix it). Jerry Gay said he would make
it work on windows, but no one volunteered for the main portion of the
work.

http://xrl.us/i7cw

   languages/regex/Makefile is not Generated
Jerry Gay noticed that languages/regex/Makefile really ought to be a
generated file. He opened a TODO for it.

http://xrl.us/i7cx

   Fix Parrot IO Test 23
chromatic the ever uncapitalized proferred a patch for a failing
Parrot_IO test. He seemed to feel that someone else ought to review it
as he was not 100% on it. Warnock applies.

http://xrl.us/i7cy

load_bytecode  Fails Outside of Parrot
Bob Rogers noticed that load bytecode didn't work when not in the Parrot
directory. Leo mistakenly fixed a different problem before he fixed this
one. Sounds like a win/win to me.

http://xrl.us/i7cz

   Tcl Win32 Trouble
Jerry Gay noticed a problem building Tcl on Win32. François Perrad
pointed out an old patch from Nick Glencross which apparently solves the
problem. Warnock

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

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


Re: Perl 6 Summary for 2005-11-14 through 2005-11-21

2005-11-23 Thread Leopold Toetsch


On Nov 23, 2005, at 3:06, chromatic wrote:


On Wed, 2005-11-23 at 01:39 +0100, Leopold Toetsch wrote:


But my argument was: whenever you
start introspecting a call frame, by almost whatever means, this will
keep the call frame alive[1] (see Continuation or Closure). That is:
timely destruction doesn't work for example...


Destruction or finalization?


We don't have these two separated yet, but it wouldn't matter. Both can 
only happen after the GC has decided that the object is unreferenced.



That is, if I have a filehandle I really
want to close at the end of a scope but I don't care when GC drags it
into the void, will the close happen even if there's introspection
somewhere?


*If* introspection sets the life bit (increments refcount) of the 
refered item(s) then destruction/finalization can only happen, after 
that introspection object is also dead.
It's the same as: when you store a filehandle into an array, the 
filehandle will be bound to the life period of that array.


The problem now is that there isn't any guarantee that such an 
introspection PMC stays in that call frame, the function could just 
return it to the caller (or store it into globals) as any other PMC. 
Which implies that the whole call chain (with its contents) would have 
to be kept alive.



-- c


leo



Re: Perl 6 Summary for 2005-11-14 through 2005-11-21

2005-11-22 Thread Leopold Toetsch


On Nov 22, 2005, at 1:40, Matt Fowles wrote:


   Call Frame Access
Chip began to pontificate about how one should access call frames. 
Chip

suggested using a PMC, but Leo thought that would be too slow.


No, not really. It'll be slower, yes. But my argument was: whenever you 
start introspecting a call frame, by almost whatever means, this will 
keep the call frame alive[1] (see Continuation or Closure). That is: 
timely destruction doesn't work for example and the introspection 
feature is adding another level of complexity that isn't needed per se, 
because 2 other solutions are already there (or at least implemented 
mostly).


leo

[1] a call frame PMC could be stored elsewhere and reused later, 
refering to then dead contents. Autrijus mentioned that this will need 
weak references to work properly.




Re: Perl 6 Summary for 2005-11-14 through 2005-11-21

2005-11-22 Thread chromatic
On Wed, 2005-11-23 at 01:39 +0100, Leopold Toetsch wrote:

 But my argument was: whenever you 
 start introspecting a call frame, by almost whatever means, this will 
 keep the call frame alive[1] (see Continuation or Closure). That is: 
 timely destruction doesn't work for example...

Destruction or finalization?  That is, if I have a filehandle I really
want to close at the end of a scope but I don't care when GC drags it
into the void, will the close happen even if there's introspection
somewhere?

-- c



Perl 6 Summary for 2005-11-14 through 2005-11-21

2005-11-21 Thread Matt Fowles
Perl 6 Summary for 2005-11-14 through 2005-11-21
All~

Welcome to another Perl 6 Summary. The attentive among you may notice
that this one is on time. I am not sure how that happened, but we will
try and keep it up. On a complete side note, I think there should be a
Perl guild of some sort on World of Warcraft. It should probably be
horde if there is, both because I hate the alliance and because it fits
better.

  Perl 6 Language
As usual for Pugs, most development continued off list.

http://xrl.us/iipt

   Too Lazy?
Luke Palmer posted a problem he was having with pugs. Warnock applies
(which likely means it was made into a test and fixed).

http://xrl.us/iipu

   Assigning to Named Subrules
Jerry Gay had a question about the semantics of assigning to named
subrules in PGE. Patrick explained that it created an array of capture
objects.

http://xrl.us/iipv

   Keyed Access to Match Objects
Jerry Gay was having trouble with keyed access to match objects. After
some discussion he implemented the keyed routine he needed and
threatened to implement a few more.

http://xrl.us/iipw

   PGE Now  compreg s
Patrick announced that PGE was now a better citizen in the parrot world,
using compreg to locate the compiler instead of find_global.

http://xrl.us/iipx

  Parrot
I am going to get an English muffin. More in a moment... much better.
Peanut butter is a wonderful thing. Where was I?

   Character Classes Done
Jerry Gay wondered if the TODO about strings and character classes was
still open. Patrick said it was resolved and should be closed.

http://xrl.us/iipy

   rx_grammar.pl Progress?
Jerry Gay wondered if rx_grammar.pl had seen any work lately. Warnock
applies.

http://xrl.us/iipz

   N Registers No Longer Get Whacked
Leo, thanks to his new calling scheme, closed an RT ticket from Dec
2004.

http://xrl.us/iip2

   Report SVN Revision in parrotbug?
Jerry Gay resurrected an old ticket wondering whether to add a revision
field to RT tickets.

http://xrl.us/iip3

   Making Parrot Potable
Florian Ragwitz was having trouble drinking Parrot so he wants to expend
some effort to make it more potable. Apparently it does not get drunk so
well by many machines in debian's build farms and he would like to fix
it. When he asked how best to do his work (so as not to upset to many),
Chip suggested a local SVK mirror. Hopefully after he is done even more
people will be able to enjoy drinking the Parrot kool-aid.

http://xrl.us/iip4

   pbc_merge Requires LINK_DYNAMIC
Nick Glencross provided a patch fixing pbc_merge on HP-UX. François
Perrad noted that it was also problem on Win32. Jonathan Worthington
explained that he was aware of the problem and that the dependency on
the dynamic libraries would soon be removed.

http://xrl.us/iip5

   Compilable Option
Will Coleda wants a -c option which will only tell you if the code is
compilable for Parrot.

http://xrl.us/iip6

   Clerihewsiwhatsit?
Inspired by Piers's inspiration from his name, Roger Browne wrote a
Clerihew. Piers and Roger scare me.

http://xrl.us/iip7

   Debug Segments
There was much discussion about what sort of interface to expose to HLL
for debug segments. It looks like something good will come out of it
all.

http://xrl.us/iip8

   Amber for Parrot version 0.3.1
Announced, Roger Browne displaying Amber 0.3.1 aroun': this latest
version, magic cookie, is more than just a rookie.

http://xrl.us/iip9

   t/library/streams.t Failing
Patrick is still having trouble with t/library/streams.t. It sounds like
he would appreciate help, but Warnock applies.

http://xrl.us/iiqa

   PGE::glob Issues
Will Coleda spotted a problem with PGE::Glob. Patrick fixed it.

http://xrl.us/iiqb

find_word_boundary  Unneeded
Patrick posted his explanation of why find_word_boundary was an unneeded
opcode. Too that end he posted a patch updating t/op/string_cs.t.
Warnock applies to both thoughts.

http://xrl.us/iiqc

http://xrl.us/iiqd

   Coroutines Trample Scratchpads
Nick Glencross noted that coroutine_3.pasm was trampling some memory.
Leo said that scratchpads were on their way out. Nick wondered if the
ticket should be closed now, or when this is fixed. I vote that we not
close tickets until the problem is gone, but Warnock applies.

http://xrl.us/iiqe

   MD5 Broken
Chip noticed that MD5 was horribly broken recently. He decided that
parrot should avoid it in favor of the SHA-2 family and maybe Whirlpool.
If you are a crypto dork, you have your job cut out for you.

http://xrl.us/iiqf

Joshua Hoblitt joyously closed an RT ticket about removing $(MAKE_C).

http://xrl.us/iiqg

   inconsistent dll linkage
Jerry Gay announce that the last MSVC 7.1

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


Perl 6 Summary for 2005-10-10 through 2005-10-24

2005-10-25 Thread Matt Fowles
=head1 Perl 6 Summary for 2005-10-10 through 2005-10-18

All~

Welcome to another Perl 6 Summary.  Sadly, this week's summary is not
brought to you by cookies as I already finished them.  Sadder still,
it is also brought to you a week late.  On the plus side, Mike
Doughty's Haughty Melodic is quite good.

=head2 Perl 6 Compilers

This was a shockingly high volume fortnight for p6c with 5 different
threads on it!

=head3 Feather:  A Retrospective

Juerd thought that now would be a good time to evaluate the usefulness
of feather to the community.  Warnock applies, but he probably found
answers off list...

http://groups.google.com/group/perl.perl6.compiler/browse_frm/thread/f14d8337b681d4a9/c95fc3fdf6d46f5b#c95fc3fdf6d46f5b
Google Groups : perl.perl6.compiler

=head3 PGE Better, Stronger, Faster

Patrick announced significant internal updates to PGE.  It looks
like things are coming along very nicely.  Yay, Patrick!

http://groups.google.com/group/perl.perl6.compiler/browse_frm/thread/10bff9a3100902a5/7135f5627205f9ca#7135f5627205f9ca
Google Groups : perl.perl6.compiler

=head3 PGE Now With Better Balance

Patrick also announced the subrule CPGE::Text::bracketed which is
similar to CText::Balanced from Perl 5.  Now where, did I put my
darn push-down automata.

http://groups.google.com/group/perl.perl6.compiler/browse_frm/thread/b52eb566b1b74920/19e4709aa8d2ecd6#19e4709aa8d2ecd6
Google Groups : perl.perl6.compiler

=head3 Object Space Thoughts

Stevan Little posted some of his thoughts about how the meta-model can
be built up from run time primitives.  It is pretty neat.

http://groups.google.com/group/perl.perl6.compiler/browse_frm/thread/e97984486b61828b/f34b165f8a919dcf#f34b165f8a919dcf
Google Groups : perl.perl6.compiler

=head3 Parrot PMCs within Pugs

Christian Renz wondered how to get at Parrot's PMCs from Pugs. 
Autrijus admitted that that feature was not currently available, but
offered a commit bit and suggested that adding tests would be a good
start.

http://groups.google.com/group/perl.perl6.compiler/browse_frm/thread/2f09e7c0503ea02f/d200cbd33f975d1d#d200cbd33f975d1d
Google Groups : perl.perl6.compiler

=head2 Parrot

=head3 README.win32

Michael Cartmel fixed a few spelling errors in README.win32.  Joshua
Hoblitt applied the patch.

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/38ef8ca32b5fab74/f5fdce20a19d50a9#f5fdce20a19d50a9
Google Groups : perl.perl6.internals

=head3 parrot-config.imc Documentation

Roger Browne offered a patch fixing documentation in
parrot-config.imc.  Warnock applies.

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/2d86e5015608cb9e/43969cc2f25a0f7b#43969cc2f25a0f7b
Google Groups : perl.perl6.internals

=head3 Train Parrot to Flex

In the RT clean up, an old ticket has resurfaced.  Parrot needs to be
updated to use flex 2.5.31, which is incompatible with 2.5.4.  Patches
welcome.

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/8dc8adf441fa6805/f24be3c94a3dfba7#f24be3c94a3dfba7
Google Groups : perl.perl6.internals

=head3 Dynamism Defeats Static Analysis

Patrick and I had a brief back and forth about detecting PGE
recursion.  The short answer is that it is possible in the static
case, but not in the face of changing rules.  Stupid halting problem,
where did I put my PDA.

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/b08ed4ac97e3090c/d934e5866bdc9a43#d934e5866bdc9a43
Google Groups : perl.perl6.internals

=head3 void function return

Will Coleda is tired of special casing void functions and wants C() =
function() to be legal in PIR.

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/c7e54dc1d2b887a9/74dcbe2b279de204#74dcbe2b279de204
Google Groups : perl.perl6.internals

=head3 Bison = 1.75c

Joshua Hoblitt noticed that the newer Bisons have slightly different
error messages than older ones.  He felt that we should either
standardize on the newer bison or explicitly declare error messages. 
No official ruling on which...

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/79e9151802ec9185/c9d1a7dd3236d16b#c9d1a7dd3236d16b
Google Groups : perl.perl6.internals

=head3 __set_pmc_keyed_*

Patrick needed a way to distinguish C__set_pmc_keyed_int from
C__set_pmc_keyed.  Leo gave it to him.

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/e8f0cf140b05669a/9a125b4a7524b9f2#9a125b4a7524b9f2
Google Groups : perl.perl6.internals

=head3 HLL type mappings

Roger Browne wondered how he could set HLL type mappings from PIR. 
Leo said it was not yet implemented or speced.  Roger suggested adding
a few opcodes.

http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/5f6e488e14b5b859/39be8e39b16b9d71#39be8e39b16b9d71
Google Groups : perl.perl6.internals

=head3 s/\@(directive)/:$1/g

Jonathan Scott Duff submitted a patch which swapped @directives to
:directives everywhere.  Leo applied most of it in several smaller
patches

Re: Perl 6 Summary for 2005-10-10 through 2005-10-24

2005-10-25 Thread Jonathan Worthington

Matt Fowles [EMAIL PROTECTED] wrote:

=head3 Obsolete Win32 Exports

Michael Walter found and removed some obsolete Win32 Exports.
Jonathan Worthington applied the patch.  Weren't we planning on auto
generating these?


The Plan is to mark functions that are to be exported with something that
we'll #define to be the export directive on Win32, thus rendering the .def
file as un-needed.  However, before that's done we should really decide on
what functions Parrot extension writers should be allowed access to, e.g. as
part of the extension API.  That's a design decision.  I popped it in the
ROADMAP, so it will be decided at some point.


=head3 Leaky Parrot

Alberto Simões is having trouble with Parrot leaking memory and a bad
free.  Warnock applies.


The bad free was fixed by the patch I provided Alberto to try out (see
below), though there are still lots of memory leaks that would be good to
fix up.


=head3 Fighting with a Tiger

Alberto Simões was having troubles with Tiger.  Jonathan Worthington
provided a little C wizardry, and Alberto was happy.  He asked to have
the patch applied, but Warnock did instead.


I did apply it. I thought I'd posted to the list that I'd applied it.  I may
be incapable of using an email client too.  ;-)


=head3 Debug Segments

Jonathan Worthington announced that he was making progress on his
debug segment work, but would soon half to dive into IMCC.  As a
slight corollary all existing PBCs were invalidated.


I dived into IMCC.  I'm survived the experience and did what was needed in
there, though I think maybe my post about that was missed in the summary.
I've got just a couple of small things to clear up now, but otherwise the
PASM/PIR debug seg stuff is about done.  Next up: HLL debug segs.

Thanks for the summary,

Jonathan



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: Perl 6 Summary for 2005-09-26 through 2005-10-02

2005-10-05 Thread Leopold Toetsch


On Oct 5, 2005, at 1:17, Matt Fowles wrote:


   Here Doc in PIR
Will Coleda revived a thread from February about PIR here doc 
syntax.

Looks like the syntax is ok.


Jonathan Worthington has already implemented here doc syntax.


   Data::Escape::String Dislikes Unicode
Will noticed that Data::Escape::String doesn't work on Unicode 
strings.


This is fixed.


   Calling Vtable Functions from PIR
Roger Browne found he can no longer call vtable functions from PIR
directly. Leo felt that it was no longer necessary,


The 'Vtable' function actually was a MMD infix function (__add) - I 
should have mentioned this in the first place. 'is no longer necessary' 
isn't quite correct. Usually there is no need to call any of these 
builtins directly, as Parrot's MMD system handles operator overloading.

And finally: the bug is fixed.

Thanks for the summary,
leo



Perl 6 Summary for 2005-09-26 through 2005-10-02

2005-10-04 Thread Matt Fowles
Perl 6 Summary for 2005-09-26 through 2005-10-02
All~

Welcome to another summary, this time a day late because I was in Philly
for Serenity. If you haven't seen Serenity yet you should stop reading
this summary and go see it. The summary will be here when you get back.
I promise.

  Perl 6 Compiler
No postings this week. I blame Piers for scaring them off last week.

  Parrot
   Summary Links
Last weeks load lib thread morphed into a conversation about the life
span of the shortened links that appear in summaries. Piers pointed out
that, although the short links expire, the long links are archived at
perl.org.

http://xrl.us/hvbn

   RT Cleanup
Joshua Hoblitt has been continuing his massive clean up of RT. It makes
me glad of two things: that someone is doing it and that I am not doing
it. I won't post all of the links for these messages, but much work is
getting done.

   debug segments
Jonathan Worthington posted an RFC of his design for debug and source
segments in Parrot's packfiles. People seem to like it generally.
Hopefully the design will be implemented soon.

http://xrl.us/hvbo

   Leo's Context Branch Hits the Mainline
After a few more reviews from Chip, Leo's context branch has been dubbed
ready and has been moved to the mainline. This marks the culmination of
quite a bit of hard work from many people (especially Leo). Nice work
all.

http://xrl.us/hvbp -- bit of review

http://xrl.us/hvbq -- merge

   Amber PMCs
Roger Browne wondered how he should include Amber PMCs. Leo and Will
suggested he put the pmcs into the languages directory similar to the
way Tcl does it.

http://xrl.us/hvbr

   Data::Escape Needs Tests
Jerry Gay added a TODO for tests for Data::Escape. This would be a great
thing for an eager lurker to cut his or her teeth on.

http://xrl.us/hvbs

   Magic Numbers Bad, Magic Strings Good
Last weeks magic thread ended down with the conclusion that Parrot would
use a magic string instead of a magic number.

http://xrl.us/hvbt

   Tests fail on win32
Jerry Gay opened a new RT ticket for some failing tests on Windows.

http://xrl.us/hvbu

   Here Doc in PIR
Will Coleda revived a thread from February about PIR here doc syntax.
Looks like the syntax is ok.

http://xrl.us/hvbv

   Win32 PCRE
François Perrad enabled PCRE on Win32. Jerry Gay applied the patch.

http://xrl.us/hvbw

   PLATFORMS and MinGW
François Perrad updated the PLATFORMS file for MinGW.

http://xrl.us/hvbx

   parrot_config dependency
Nick Glencross provided a patch (for comment only) that eases the
dependency on parrot_config. I am not sure that he got many comments.

http://xrl.us/hvby

   Data::Escape::String Dislikes Unicode
Will noticed that Data::Escape::String doesn't work on Unicode strings.

http://xrl.us/hvbz

   Make Cleanup
Joshua Hoblitt started RT tickets for several things that are part of a
general make system clean up.

http://xrl.us/hvb2

http://xrl.us/hvb3

http://xrl.us/hvb4

   Parrot Leaves Crumbs
Nick Glencross rediscovered the core files that parrot leaves around.
This is a known problem.

http://xrl.us/hvb5

   Parrot Threads
Dave Frost wondered what the plan for Parrot Threading was going to be.
The answer (provided by Leo with more details from Jonathan Worthington)
was OS threads.

http://xrl.us/hvb6

   Once deprecation's lost its fun...
Leo went on a bit of fall cleaning adding things to the deprecated list.
He even threatened to resolve some of them soon.

http://xrl.us/hvb7

http://xrl.us/hvb8

http://xrl.us/hvb9

http://xrl.us/hvca

   Lexical and Variable Sized Register Frames
With the calling conventions having been redone, Leo has plans to move
to system of dynamically sized registers frames with static lexicals
stored directly in them. Chip should produce details soon.

http://xrl.us/hvcb

   Exception Handling Bug
Roger Browne found a bug with exception handlers in the new scheme. Leo
fixed it. I wonder if anyone made a test out of it...

http://xrl.us/hvcc

   Config missing output
Will Coleda noticed that Configure.pl was not outputting a response to a
step on his platform.

http://xrl.us/hvcd

   Parrot 0.3.0 TODO
Robert J Eaglestone wondered what would be a good way of chipping in.
Will Coleda, predictably, tried to turn him towards working for the good
of Tcl.

http://xrl.us/hvce

   Tru64 Issues
Jarkko Hietaniemi appears to have recently come into some time with a
Tru64 machine. He found lots of problems, which he added to RT, so I
won't link them here.

   src/extends.c
chromatic made good on a promise to auto generate src/extends.c
automatically. Leo quibbled over pod, but thought it was good.

http://xrl.us/hvcf

   Calling Vtable

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/


Summary rollover date

2005-09-26 Thread The Perl 6 Summarizer
I thought we'd switched to a Monday deadline for the summary and a Sunday night
roll over. I just noticed your last summary ended on a Monday night.

-- 
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.

http

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


Perl 6 Summary for 2005-09-12 through 2005-09-19

2005-09-19 Thread Matt Fowles
Perl 6 Summary for 2005-09-12 through 2005-09-19
All~

Welcome to another Perl 6 Summary, this time brought to you with a
shorter pause (::grumble:: $WORK ::grumble::) and assisted by cookies.

  Perl 6 Compilers
   Circular Preludes for Fun and Confusion
Yuval Kogman posted a really interesting idea of using a circular
prelude to facilitate creation of a new run time. If the prelude defines
everything it can in terms of itself (even circularly if need be), then
a new run time implementer can break the circle wherever is most
convenient for the run time. It looks really cool to me.

http://xrl.us/hn6h

   PxPerl Site Change
Grégoire Péan announced that he was having problems with his old domain
and that PxPerl is now hosted at http://pxperl.com

http://xrl.us/hn6i

  Parrot
   13! == BIG!
James Ghofulpo noticed that the example factorial program included with
Parrot gives incorrect results on 32 bit machines. Will Coleda offered
to clean the old PASM examples into shiny new PIR.

http://xrl.us/hn6j

   Properly Formatted POD
Unlike these summaries, Parrot's docs should be in properly formatted
POD. Joshua Hoblitt provided patches to fix them up and test them.
Bernhard Schmalhofer applied the patches.

http://xrl.us/hn6k

   Bad IMCC Error Message
Joshua Hoblitt opened an RT ticket for the error message imcc outputs
upon seeing a non-existent PMC. No takers yet.

http://xrl.us/hn6m

   Globbing Like Tcl
Amos Robinson opened am RT ticket requesting Tcl Syntax Globbing in PGE.

http://xrl.us/hn6n

   AMD64 Build Error
Joshua Hoblitt posted a build error involving posix_memalign on AMD64.
Warnock applies.

http://xrl.us/hn6o

   TODO: Call for B0rked
chromatic the capless put out a call for specific TODO items that Parrot
needed. Many people provided suggestions.

http://xrl.us/hn6p

   Documentation Keyword Tagging
Joshua Hoblitt opened a ticket requesting keyword tagging (via  ) .

http://xrl.us/hn6q

   leo-ctx5 on Win32
François Perrad solved a few link problems on Win32 for the leo-ctx5
branch. Jonathan Worthington applied it.

http://xrl.us/hn6r

   Support Different Compilers
Andy Dougherty provided a patch making it easier to compile parrot with
a different options then Perl 5. Bernhard Schmalhofer tentatively
applied it, but despite his fears nobody hollered.

http://xrl.us/hn6s

   Tcl Leo's Context
My that sounds dirty Regardless Leo and Will Coleda, with much help
from assorted others) managed to get all of the Tcl tests passing in the
leo-ctx5 branch.

http://xrl.us/hn6t

   4 Down 7204 to Go
Andy Dougherty posted a patch which eliminates 4 of Parrot 7208 compiler
warnings on SPARC. Warnock applies.

http://xrl.us/hn6u

   Circular Finalization Returns From the Dead
Nicholas Clark wondered how Parrot would handle PMC loops with
finalizers. Leo and I provided some ideas. Nothing is officially specced
yet.

http://xrl.us/hn6v

   make cleaner
Joshua Hoblitt provided a patch which makes make clean cleaner. Warnock
applies.

http://xrl.us/hn6w

   Pack Packfiles, Fix Fixups
Jonathan Worthington split the fixup and unpack functionality of
Packfiles so that he could later create a pbc_merge. Later he did that.

http://xrl.us/hn6x -- earlier

http://xrl.us/hn6y -- later

   Taking Exception to Leo's Tcl
Some days my head is just in the gutter. Will Coleda update Tcl to use
exceptions for TCL_RETURN, which apparently simplifies things.

http://xrl.us/hn6z

   Tcl on Windows
Jerry Gay noticed that Tcl was not building on Windows. Will Coleda
suspected that it got fixed; he was right.

http://xrl.us/hn62

   Implementing Splice
Nicholas Dronen decided to try and implement splice in *PMCArrays, after
suggestions from Leo and Jonathan Worthington. I have found these Arrays
to be good starting points in the past. Good luck, Nick.

http://xrl.us/hn63

   Optimize MinGW
François Perrad provided a patch making  Configure.pl --optimize  and
 Configure.pl --optimize=flags  work on MinGW. Jonathan Worthington
applied it.

http://xrl.us/hn64

  Perl 6 Language
   Object Model Pictures
Stevan Little posted the latest pictures of his MetaModel. Nathan Gray
thanked him and put out a quiet request for a diagram about roles.

http://xrl.us/hn65

   Coersive Context
Juerd posted his thoughts about using types as context specifiers and
coercers. Reaction seemed interested but limited.

http://xrl.us/hn66

   Perl 6 and Undefined Behavior
Nicholas Clark asked if Perl 6 was going to have any undefined behavior
or guarantee any sequence points. Larry does not want to have any
undefined behavior, but thinks that the reference implementations quirks
might be the definer for certain things. He did point

Summary for the last 3 weeks

2005-09-12 Thread The Perl 6 Summarizer
The Perl 6 Summary from 2005-08-24 to 2005-09-11
It's been a while hasn't it?

We'll start as usual with perl6-compiler

This week in perl6-compiler
  Changed ??:: to ??!! in Pugs
Following discussion of the ternary operator in perl6-language, Benjamin
Smith altered pugs to use the new ??!! syntax.

http://xrl.us/hjb5

Meanwhile in perl6-internals
  Which 'English'?
Joshua Hoblitt posted a patch to intro.pod fixing a few typos and
wondered whether the docs should be in British or American English.
Apparently the Perl 5 style rule is that British authors shouldn't be
required to write American English, and vice versa, but that a
consistent style within a document is preferred. The consensus so far
seems to be Any documentation is good so write what's comfortable for
you.

http://xrl.us/hjb6

  Meanwhile, at the test
Warne just got Trescothick out. 109 for 4

  Python PMCs
Sam Ruby, Leo and Chip had a discussion of how to implement python
semantics for parrot. I'm not sure I followed what was going on, but it
looked like good 'crunchy' stuff.

http://xrl.us/hjb7

  Zcode interpreter release
Amir Karger announced that he'd adopted the Zcode interpreter that Leo
posted in February (having, according to Amir, done the hard parts).
Apparently there's 41 opcodes to do just to get version 3 of the
Z-machine working, and then there's the problem of making Zops into
loadable Parrot ops. He had a few problems with the test suite which got
fixed in discussion.

http://xrl.us/hjb8

  Pirate refactoring report
Michal Wallace posted an update on Pirate (the python to parrot
compiler). He and Curtis Hall have been taking advantage of a Google
Summer of Code grant to refactor the (Curse! Now Flintoff's out. Caught
 bowled Warne for 8) current mess. Their first step was a generic
transformation module which has apparently made life easier for the
compiler module.

They've also produced a plan in code for how they hope they'll have
things working once the refactoring's finished and asked for comments.
So far comments have not been forthcoming.

http://xrl.us/hjb9

http://xrl.us/hjca

  Tcl in the leo-ctx5 branch
Will Coleda's been having a crack at getting ParTcl working with the
leo-ctx5 branch and had a few problems. It turns out that he'd tickled a
bug that Leo described as 'a bit non-trivial'. It took him a while, but
it got fixed eventually (Over 10 days, but he did have the excuse of
being at YAPC::Europe for a chunk of that time).

http://xrl.us/hjcb

  Meanwhile at the Oval
They've gone in for lunch at 127 for 5. Hopefully I'll be able to get
down to some summary writing without being on the edge of my seat for a
while.

  Branch Review
Chip posted a review of the leo-ctx5 branch prior, describing it as A
significant improvement. The body of the review covers user visible
changes and a few niggles with the current state of the branch. Leo
replied with a few questions and explanations.

http://xrl.us/hjcc

  GMC release
Nattfodd announced the 'release' of GMC, the generation garbage
collector he's been working on as part of Google's Summer of Code. It's
not quite bug free yet, but the SoC deadline was the 1st of September,
so that's when it got released. Discussion ensued, hopefully helping to
triangulate bugs.

http://xrl.us/hjcd

  Call for B0rked
Following a discussion with Chip and Leo, chromatic posted a call for
entries in a 'very specific TODO list'. A list of things that should
work, but don't. He contributed a couple himself. Various other
suggestions were offered.

http://xrl.us/hjce

  Optimizer Documentation
Curtis Rawls spent part of his Summer of Code project wishing there was
better documentation of the Parrot optimizer. So he wrote some. Brent
Royal-Gordon converted it to POD format, and Leo asked for someone to
add it to the repository.

http://xrl.us/hjcf

  HLL Namespace Design
Matt Diephouse posted a list of namespace features that he thinks are
necessary to support all the target languages and asked for some
comments. He got several, including one from Larry.

http://xrl.us/hjcg

  Global Destruction
Nicholas Clark had some questions about finalization and destruction in
Parrot. In particular, he asked: Does parrot make any guarantee that
all objects will be rendered down to bare memory before program exit.
Leo answered and the answer was good enough for Ponie. Huzzah.

http://xrl.us/hjch

Meanwhile, at the Oval
Ah... they're back on the pitch... I may be slowing down again...

Meanwhile, in perl6-language
  Demagicalizing Pairs
Discussion of Luke's proposal to demagicalize Pairs continued. It turns
out that it's actually a discussion of how to do named argument
calling...

http

Re: Perl 6 Summary for 2005-08-15 through 2005-08-22

2005-08-23 Thread Leopold Toetsch


On Aug 23, 2005, at 3:43, Matt Fowles wrote:



Perl 6 Summary for 2005-08-15 through 2005-08-22



   Java on Parrot



I vote for Jot.


That's already occupied by another language  
http://en.wikipedia.org/wiki/Iota_and_Jot.



  Perl 6 Language
   Type Inferencing in Perl 5
Autrijus (while discussing type inference in Perl 6) recalled that  
there
was a google summer of code project on Type Inferencing in Perl 5.  
Gary
Jackson, the summer coder, provide a more detailed description of  
his

work.


http://search.cpan.org/~bargle/Devel-TypeCheck-0.01/lib/Devel/ 
TypeCheck.pm


Thanks for the summary,
leo



Re: Perl 6 Summary for 2005-08-15 through 2005-08-22

2005-08-23 Thread Tim Bunce
On Mon, Aug 22, 2005 at 09:43:41PM -0400, Matt Fowles wrote:
 
Java on Parrot
 Tim Bunce asked some preliminary questions about Java on Parrot. I
 provide preliminary answers, and Nattfodd and Autrijus posted links to
 related work. The important question of what it should be called
 remained unraised. I vote for Jot.
 http://xrl.us/g8b9

For the record, my interest isn't so much Java ON Parrot as Java WITH 
Parrot.
Bidirectional interface between the Parrot VM and a linked-in Java VM.

Tim.


Perl 6 Summary for 2005-08-15 through 2005-08-22

2005-08-22 Thread Matt Fowles
Perl 6 Summary for 2005-08-15 through 2005-08-22
All~

Welcome to another monday summary, which hopefully provides some
evidence that mondays can get better. It always feels like writing
summaries is an uphill battle, perhaps I should switch to writing about
Perl 6 Language first and Perl 6 Compilers last. Then it will be
downhill... Maybe next time.

  Perl 6 Compilers
   More Random Pictures
Autrijus posted links to two more images he had created. This time the
images were not about pugs, but were just kind of cute. He also provided
an explanation of one when prompted.

http://xrl.us/g8bw

   Methods as Functions
Yiyi Hu noticed that a method of one argument could not be used as
function. Autrijus offered Yiyi a commit bit, but also kindly posted the
resolution to Perl 6 Language. Thanks Autrijus!

http://xrl.us/g8bx

   Methods on Code Blocks
Yiyi Hu discovered that  { a b c }.paris  would cause pugs to spin out
of control. Luke Palmer fixed it. Hopefully one of the two of them added
a test...

http://xrl.us/g8by

   Autrijus's Secret Sauce
Kris Bosland asked a few question I have been wondering about Autrijus
new graphics. Autrijus kindly provided the answers.

http://xrl.us/g8bz

   Documentation Attack
Kevin Tew has decided the best way for him to delurk is to update
documentation for Pugs. chromatic and Dudley Flanders both provided
support, information, and suggestions for him.

http://xrl.us/g8b2

   Neko VM
Nicolas Cannasse announed his release of a high level multi language VM
and wondered what others thought of creating a Perl 6 to to Neko
compiler. Autrijus and Leo provided a few corrections and comments.

http://xrl.us/g8b3

  Parrot
   The FAQ, She is GONE!
Amias Channer noticed that the faq on parrotcode.org was gone. While he
was warnocked, the faq appears to be back.

http://xrl.us/g8b4

   Platform Specific C Files
Stephen Hill wanted to know where to put a platform specific C file to
provide missing functionality. Leo provided a few friendly pointers.

http://xrl.us/g8b5

   TclArray.get
Amos Robinson provided an implementation of get for TclArray. Will
greatfully applied the patch.

http://xrl.us/g8b6

   ICU Being Passed Up
Adrian Lambeck wondered if icu was being passed up by Configure.pl.
Warnock applied. So Adrian took matter into his own hands by providing a
possible solution. Jerry Gay offered to take ownership of the problem if
no ICU enabled soul picked it up. No progress reports since then
though...

http://xrl.us/g8b7

http://xrl.us/g8b8

   Java on Parrot
Tim Bunce asked some preliminary questions about Java on Parrot. I
provide preliminary answers, and Nattfodd and Autrijus posted links to
related work. The important question of what it should be called
remained unraised. I vote for Jot.

http://xrl.us/g8b9

   gdbmhash.t Failures
Tim Bunce noticed that gdbmhash.t was failing with an unhelpful error
message. Andy Dougherty provided a patch that made the error message
slightly more helpful. Jerry Gay applied it.

http://xrl.us/g8ca

   BEGIN Blocks
Leo posted some thoughts and information about BEGIN blocks in Perl 6
and the @IMMEDIATE pragma in PIR, it involved creating constant PMCs and
freezing them into the bytecode. Then he made it work.

http://xrl.us/g8cb -- thoughts

http://xrl.us/g8cc -- actions

   Amber for Parrot
Citing chatter overheard on its intelligence networks Parrot raised the
terror alert to Amber, or maybe Roger Browne released version 0.2.3 of
his Eiffel-like scripting language, Amber. I can never keep track of
these things.

http://xrl.us/g8cd

   Tcl parray
Amos Robinson offered to provide an implementation of Tcl's parray
inluding tests. Will wanted to apply it, but the attachment did not come
through.

http://xrl.us/g8ce

   Parrot vs Neko
Nicolas Cannasse wondered why Parrot performed so poorly on the fib
benchmark. Leo explained that this benchmark stressed a currently
unoptimized portion of parrot (function calls). He also provided a few
pointers on which benchmarks parrot did well on.

http://xrl.us/g8cf

   Using PMCs from C
Klaas-Jan Stol's Lua compiler uses only PMCs. Thus he wanted to know how
to access these PMCs from NCI functions. Leo provided an answer, but
also suggest he looked at the new calling conventions which would do
auto-conversion in both directions.

http://xrl.us/g8cg

   PMC for Reference Counting
Nicholas Clark posted a relatively full analysis of how the DODs
registration system could be generalized for further reuse. He also
asked for ideas about names. I think the whole thing looks good and that
AddrRegistry is a good name. Perhaps that has too many vowels...
AddrRgstry and sometimes AddrRgstr

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

Perl 6 Summary for 2005-08-02 through 2005-08-10

2005-08-10 Thread Matt Fowles
Perl 6 Summary for 2005-08-02 through 2005-08-10
All~

Welcome to another summary, brought to you by chinese food. The
attentive among you will notice that this summary is a day late, because
I did not feel like doing it yesterday. If only I could do that at
work...

  Perl 6 Compilers
   Pugs Argument Processing
Vadim Konovalov submitted a patch to pugs affecting @*ARGS processing.
Maybe it got applied, maybe not, Warnock applies.

http://xrl.us/g3op

   Type Inferencing
Autrijus wants to type push perl 6's type inferencing as far as it can
go (and maybe a little beyond). To this end he has been soliciting input
from all comers. It looks like he has put a lot of thought and research
into it. One day I expect to be thanking Autrijus for important (if
likely difficult to understand) compiler errors and warnings..

http://xrl.us/g3oq

   WWW::Kontent Release
Brent 'Dax' Royal-Gordon announced the release of WWW::Kontent 0.01: a
flexible web content management system written in Perl 6 and executable
with Pugs. It looks nifty to me... Maybe we need to fight Ruby on Rails
with Perl 6 on Pylons or something. That doesn't quite have the right
ring to it... there has to be something catch there somewhere.

http://xrl.us/g3or

   Array Interpolation
Phil Crow wondered why his arrays were not being interpolated in pugs.
Ingo Blechschmidt and Patrick explained that @foo does not
interpolate, but @foo[] does. I sense a frequently asked question
here...

http://xrl.us/g3os

   Pugs 6.2.9 Released
Autrijus announced the release of Pugs 6.2.9. It is full of nifty new
feaures including the ability to lay on hands!

http://xrl.us/g3ot

   Whitespace Before Parens
Andrew Shitov wondered why whitespace between function name and parens
was no longer allowed. Autrijus explained that it allows  print (1+2)*3
 to print 9 instead of 3. As someone who just last week explained the
pecularity of ruby printing 3 in the above situation to a complete
novice, I welcome the change.

http://xrl.us/g3ou

   Contain Model Pictures
Autrijus posted a few pretty pictures explaining the compiler and
container models. While the compiler model was readily understandable to
me, the container one wasn't. Fortunately, when prompted Autrijus
provided a great explanation to accompany the diagram.

http://xrl.us/g3ov -- thread

http://xrl.us/g3ow -- containers

http://xrl.us/g3ox -- compilation

   PxPerl 5.8.7-4
Upon discovering that Pugs released a new version, Grégoire Péan
released a new version of PxPerl that includes the new Pugs. I (and many
others) thank Grégoire for lowering the entry bar for Perl 6 hacking on
windows.

http://xrl.us/g3oy

   Hosting Lexical Declarations
Declaring lexicals mid block confuses things, expecially declaring them
mid statement as in  $x = $x + my $x if $x; . Autrijus proposed
hoisting declarations of lexicals to the top of the block.
Unfortunately, this can make CALLER:: do funny things. Thus, he suggests
outlawing it. Larry agreed.

http://xrl.us/g3oz

  Parrot
   export LD_LIBRARY_PATH
Bdonlan noticed that parrot's test suite was not setting LD_LIBRARY_PATH
which makes tests fail. Leo pointed out that most users manually set
their LD_LIBRARY_PATH as parrot often needs this, but he agreed that the
tests should do it just in case.

http://xrl.us/g3o2

   Improved Argument Processing for ops2c.pl
Tom submitted a patch which improves the command line argument
processing powers of ops2c.pl. Warnock applies.

http://xrl.us/g3o3

   ANSI Escape Codes in Parrot
Klaas-Jan Stol was having trouble putting special characters like ANSI
clear screen and ¥ into strings. Nick pointed out that he need to be
careful with encodings and escapes. In parrot \O is an octal escape,
in Lua it is apparently not.

http://xrl.us/g3o4

   Parrot 0.2.3
Leo announced the release of Parrot 0.2.3 Serenity, which reminds me,
Firefly is coming back soon!! I can't wait! Oddly google seems to have
swallowed his release notice but not his warnings...

http://xrl.us/g3o5

   Strange Filename Based Bug
Michal Wallace found a bug that would disappear if the file was renamed.
Leo, with the help of valgrind, provided Michal with a pointer. Michal
used that to find a likely culprit and provide a patch, which Leo then
refined.

http://xrl.us/g3o6

   GDBM Hash on MinGW
François Perrad provided a patch fixing gdbmhash on MinGW. Bernhard
Schmalhofer applied it.

http://xrl.us/g3o7

   PyString Link Problem
François Perrad also fixed a link problem with pystring.o. Jonathan
Worthington applied that patch.

http://xrl.us/g3o8

   Filling a Large Data Structure
Amir Karger wanted to know how to fill a large data structure in PIR
other than

Perl 6 Summary for 2005-07-19 through 2005-07-26

2005-07-26 Thread Matt Fowles
Perl 6 Summary for 2005-07-19 through 2005-07-26
All~

Welcome to another Perl 6 Summary brought to you by microwaved chinese
food and air conditioning. I love the modern era. Without further ado, I
bring you

  Perl 6 Compilers
Grégoire Péan announed the release of PxPerl 5.8.7-3, allowing people
who want to play with Pugs and Parrot on windows easy access.

http://xrl.us/gv6k

   Test Report for Windows
Ronald Hill reported some failing tests for Pugs on windows.
Fortunately, given Pugs's developement, there is a reasonable chance of
these problems being fixed. Unfortunately, given Pugs developement, no
such information made it to the list.

http://xrl.us/gv6m

   Parsing Perl6 Rules
Nathan Gray wondered how Jeff Pinyan's parsing perl6 rules project was
going. Jeff said that it did not get very far, but he posted what he did
have to http://feather.perl6.nl/~japhy/.

http://xrl.us/gv6n

   Pugs Problems
Vadim Konovalov was playing with slurp and found two problems. Adriano
Ferreira showed him how to work around slurp not accepting a :raw
option. Nobody commented on the peculariar $*ARGS[0] value when the
argument is -foobarfluffy.

http://xrl.us/gv6o

   Official Perl6 Rules Grammar
Patrick announced an official Perl 6 grammar whichi he would be
mainting closely with PGE in Parrot. It is incomplete at this point, but
patches are most welcome.

http://xrl.us/gv6p

   PIL Nodes's Descriptions
Allison Randal posted a request for a clue batting, listing various
types of nodes in PIL and explaining her guess at their descriptions.
Stuart Cook and Patrick both provided a little help, although not
everything on her list was addressed.

http://xrl.us/gv6q

   Perl 6 FAQ Patch
Autrijus provided a patch for the Perl 6 FAQ removing an outdated
question. Robert Spier applied the patch (modulo some confusion about
staged vs live copies).

http://xrl.us/gv6r

  Parrot
   Opcode Optimizability
Curtis Rawls noted that it is often simpler from an optimizer writers
standpoint to do constant folding and optimization on a smaller set of
opcodes (just one variant add instead of five (seven if you count inc
and dec)). Leo explained that removing these opcodes isn't an option,
but that a suggestion for compiler writers to only emit the more verbose
codes could be added to the faq.

http://xrl.us/gv6s

   Refcounting Hash
Nicholas Clark wants to use a hash to hold reference counts for Ponie
(something like dod_register_pmc in pmc.c), but he doesn't want to
duplicate code. Leo suggested that he move some of the code into a pmc
and then switch the real registry to use that PMC.

http://xrl.us/gv6t

   New PGE Test
Mitchell N Charity submited a test for a large pugs grammar, which
currently fails. Patrick noted that the test like came from
rx_grammar.pl in the Pugs distribution. This probably led to his above
addition of an Official Perl6 Rules Grammar.

http://xrl.us/gv6u

   Jit Emit Help
Adam Preble decided that he would play with an x86_64 code generator.
Unfortunately, he was hitting some stumbling blocks. Leo offered to help
him and provided pointers from #parrot.

http://xrl.us/gv6v

   Call Opcode Cleanup
Leo wants to cleanup some of the various invoke opcodes. He posted a
request for comment, but Warnock applies. It seems that Leo's request
for comments like this get Warnocked a lot...

http://xrl.us/gv6w

http://xrl.us/gv6x

   spawnw Return Value
Jerry Gay opened a TODO ticket for switching spawnw to return something
object like to wrap platform-specific oddities. Prompted by Jonathan
Worthington submitting a patch to make the spawnw tests pass on windows
(which was applied).

http://xrl.us/gv6y -- Ticket

http://xrl.us/gv6z -- TODO

   Bugs in ops2vim.pl
Amir Karger noticed a bug in ops2vim.pl and suggested a fix. Jerry Gay
fixed it.

http://xrl.us/gv62

   Leo's Ctx Branch Tests
Jerry Gay and Leo worked together to get his branch passing a few more
tests on windows. Nick Glencross wondered if the python dynclasses tests
were being run too. Jonathan Worthington explained that they were being
skipped for the moment.

http://xrl.us/gv63

   Raised by the Aliens
Matt Diephouse was surprised to discover that you cannot use addparent
with a PMC for either argument. He suggested that this be made to work
or officially documented.

http://xrl.us/gv64

   Patches Accumulating
Leo requested that people with commit bits pick up some of the patches
that were building up as he was running a little low on tuits.

http://xrl.us/gv65

   Dump CFG
Curtis Rawls moved the dump_cfg call from reg_alloc.c to cfg.c. Leo
applied the patch.

http://xrl.us/gv66

   string_to_cstring leaks
Jonathan Worthington

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

Re: more .method (was: Perl 6 Summary for 2005-07-05 through 2005-07-12)

2005-07-14 Thread Larry Wall
On Thu, Jul 14, 2005 at 12:14:57PM -0600, John Williams wrote:
: Actually I took his question to be:
: 
: If I explicitly name my invocant in the method signature, does that give
: the compiler enough assurance that I'm not going to use .method to mean
: $?SELF.method, and it will allow me to safely use .method as $_.method in
: for and given?

That question also came up in the cabal's last telecon, and I basically
decided that it doesn't.  If you want those assurances, a single

use self;

would be sufficient, even if you don't use the default of self, or
whatever self defaults to.

Or we might just go ahead and provide an explicit pragma dealing with
the .foo construct, but I'll be switched if I can come up with a decent
name for it.

use topic;

though arguably

use topic it;

would tend to mean that you want to always use it for the topic and
leave .foo for $?SELF.foo.  So maybe if you say

use dot;

it defaults to

use dot '$_';

and in general says, I know the heck what I'm doing about dot.

[From there our discussion digressed/descended into whether there
should be an I am an expert pragma.  I was dubious about any sort
of non-feature-based razor.]

Anyway, the people who always want to use .foo for self calls could
then say

use dot '$?SELF';

and then such programs could be plagued by self-dot.

Larry


Re: Perl 6 Summary for 2005-07-05 through 2005-07-12

2005-07-13 Thread Dave Whipp

Damian Conway wrote:


Important qualification:

  Within a method or submethod, C.method only works when C$_ =:=

 $?SELF.


C.method is perfectly legal on *any* topic anywhere that $?SELF 
doesn't exist.


Just to be clear, this includes any method/submethod with an explicitly 
named invocant, I hope.


Re: Perl 6 Summary for 2005-07-05 through 2005-07-12

2005-07-13 Thread Juerd
Dave Whipp skribis 2005-07-13  8:44 (-0700):
   Within a method or submethod, C.method only works when C$_ =:=
  $?SELF.
 C.method is perfectly legal on *any* topic anywhere that $?SELF 
 doesn't exist.
 Just to be clear, this includes any method/submethod with an explicitly 
 named invocant, I hope.

No, $?SELF exists in every method. It's not the *default* invocant
variable, it's the *always there* invocant variable. There is no default
variable anywhere in the language that isn't $_.


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


Perl 6 Summary for 2005-07-05 through 2005-07-12

2005-07-12 Thread Matt Fowles
Perl 6 Summary for 2005-07-05 through 2005-07-12
All~

Welcome to another summary from the frog house. A house so green it can
be seen from outerspace (according to google earth).

  Perl 6 Compiler
   Building Pugs Workaround
Sam Vilain posted a useful work around to the error error: field
`_crypt_struct' has incomplete type which occurs on some systems.
Fortunately, Salvador Ortiz Garcia found a fix.

http://xrl.us/gqjy

http://xrl.us/gqjz

   Pugs, Pirate. Pirate, Pugs.
Autrijus began plotting with the Pirate folks. Thoughts include unifying
PIL and PAST or possibly retargeting PIL to PAST. Perhaps the result
should be a more nautical dog... maybe schipperke.

http://xrl.us/gqj2

   Implicit Invocants and Pain
Larry (as will be summarized later) ruled that  ./method  was gone. he
further ruled that  .method  would pitch fits at either compile or run
time if  $_ =:= $?SELF  was false. Autrijus found this quite difficult
to implement. Talk continues, my instincts tell me that this too will
pass, although Larry assures us that it is absolutely permanent for at
least a week.

http://xrl.us/gqj3

  Parrot
   Key Question
Klass-Jan Stol found that using a assigning a floating point value to a
key and then using it make parrot segfault. Warnock applies.

http://xrl.us/gqj4

   Parrot Copyrights
Allison Randal hinted that The Perl Foundation has almost finished
hammering out some legal stuff and there will soon be sweeping changes
throughout the repository addressing copyright issues.

http://xrl.us/gqj5

   Character Classes in Globs
Will Coleda noted that Tcl would pass more tests if PGE supported
characters classes in globs. Patrick, unable to resist the siren call of
passing tests, implemented it.

http://xrl.us/gqj6

   Amber for Parrot
Roger Browne announced that he had succeed in extracting viable DNA from
a Parrot encased in amber since the Jurasic age. Either that or he
release Amber version 0.2.2... not sure which.

http://xrl.us/gqj7

   Leo's Branch
Leo has created a branch in SVN (branches/leo-ctx5) of his work
implementing the new calling conventions. This led to some discussion of
how to deal with optional arguments.

http://xrl.us/gqj8

http://xrl.us/gqj9

   Leo's Branch Meets mod_parrot
Jeff Horwitz posted some observations and troubles he was having with
Leo's branch of new calling conventions. Leo warned that the branch was
still young, but would gladly take test cases.

http://xrl.us/gqka

   Leo's Branch Meets PGE
After the initial discussion of optional parameter, Patrick updated the
leo_ctx5 branch of PGE to the new calling conventions. All tests pass.

http://xrl.us/gqkb

   Get onto the Bus
Matt Diephouse found a Bus Error when running
languages/tcl/examples/bench.tcl. Warnock applies.

http://xrl.us/gqkc

   MinGW Patch Resurrection
François Perrad resurected a patch from mid June with a set of action
items. Warnock applies.

http://xrl.us/gqkd

   Scared Parrots Like Scheme
Joh Lenz posted an announcement that he had an alpha version of Chicken
(a Scheme to C compiler) backending to Parrot. Leo provided answers to
some of his questions.

http://xrl.us/gqke

   Bytecode vs PMCs
Matt Diephouse posted a list of questions about the place of PMCs. Some
of the core tradeoffs include: maintability, portability, optimization,
duplicate implementations, and security.

http://xrl.us/gqkf

   make svnclean
Leo pointed out that make svnclean got removed, but that he found it
useful. Chip suggested that it be renamed make svnclobber, as it does
more than just clean.

http://xrl.us/gqkg

   pmc2c.pl Bug
Nicholas Clark found a bug in the shortcut to avoid writing a pmc dump
file. Warnock applies.

http://xrl.us/gqkh

   Define cache
Nicholas Clark suggested that it was probably not wise to #define
cache. So they removed it.

http://xrl.us/gqki

   Parrots Getting Smarter
Leo pointed out that at least one parrot understood the concept of zero,
putting it some distance ahead of romans when it comes to math. Once the
Parrots start to grow opposable thumbs, I will welcome our new Parrot
overlords.

http://xrl.us/gqkj

   Leo's Branch Meets Exceptions
Leo posted two suggestions for how the new calling conventions could
interact with Exceptions. Autrijus liked the one that unifies exception
handlers with the rest of calls and returns.

http://xrl.us/gqkk

   Control Flow Graph Bugs
Curtis Rawls noted what he thought might be a bug in the
compute_dominators function. Leo confirmed that it was likely a bug.
Later he posted a note saying he was working on a new implementation for
some of the CFG algorithms. He asked for a hand, but Warnock applied.
Actually, I think I have

Re: Perl 6 Summary for 2005-07-05 through 2005-07-12

2005-07-12 Thread Damian Conway

Matt Fowles summarized:


   Method Call on Invocant
Now  ./method is gone, and  .method  only works when  $_ =:= $?SELF .


Important qualification:

  Within a method or submethod, C.method only works when C$_ =:= $?SELF.
  

C.method is perfectly legal on *any* topic anywhere that $?SELF doesn't exist.

Damian



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

Re: Perl 6 Summary for 2005-06-21 through 2005-06-28

2005-06-29 Thread Patrick R. Michaud
On Tue, Jun 28, 2005 at 08:11:24PM -0400, Matt Fowles wrote:
Parrot Loses with Fedora Core 4
 Patrick reported that Fedora Core 4 and Parrot don't get along well. Leo
 suggested a possible solution. No response from Patrick.

An update:  

Patrick submitted a patch based on Leo's suggestion, Leo applied 
the patch, and now Fedora Core 4 (gcc 4.0) and Parrot seem to get
along just fine.

I guess I should've cc'ed my patch to the list...?

Pm


Perl 6 Summary for 2005-06-21 through 2005-06-28

2005-06-28 Thread Matt Fowles
Perl 6 Summary for 2005-06-21 through 2005-06-28
All~

Long time no see... err, write... uh, read... um... this. Yeah, long
time no this. As Piers hinted, two weeks ago I moved. Moving sucks. For
those of you who care, I am still in Cambridge, for those of you who
care more, I think you misunderstand the summarizer/summary reader
relationship. Essentially it revolves around summaries, and the summary
of my move is Cambridge to Cambridge.

As Piers noted last week, this is a low volume high action week. In no
small part do to the hack-a-thons. Last week's was in Austria, this
week's is near Toronto. Perhaps some nice soul who was actually at these
hack-a-thons will summarize it when it is over.

  Perl 6 Compiler
Patrick announced that PGE now supports grammars and more built-in
rules. He even offered to field requests for built-in rules (although he
would prefer patches).

http://xrl.us/gkev

   Caller's Context
Gerd Pokorra wanted to know how to determine if his sub is called in
void context. He conjectured that want might fill his wants. No response
yet.

http://xrl.us/gkew

   Self Hosting Goals
Millsa Erlas explained that one good reason for Perl6 to be self hosting
is that it would allow the people who love it most (Perl hackers) to
hack on it. The theory being that low level languages like C
unnecessarily narrow the field of contributors (especially those that
only know perl). Some concerns were expressed over confusion about the
language Ponie should be written in. No one disputes this... C.

http://xrl.us/gkex

  Parrot
   Indexing Hashtables
Klaas-Jan Stol asked for a clue bat with respect to indexing hash tables
in PIR. Joshua Juran and Leo each took a swing.

http://xrl.us/gkey

   Parrot Loses with Fedora Core 4
Patrick reported that Fedora Core 4 and Parrot don't get along well. Leo
suggested a possible solution. No response from Patrick.

http://xrl.us/gkez

   Default Method Resolution Order
Roger Browne wondered what the default MRO order was. Leo provided the
answer: left-to-right, depth-first, discard all but the last occurrence
of duplicates, divine intervention.

http://xrl.us/gke2

   Win32 Tests Failing
Craig the Last-Nameless-One posted a list of failing tests and problems
on Windows. Leo provided a few answers.

http://xrl.us/gke3

   Method Inheritance Needs Perl Loving
Leo announced a perl job for the interested: method inheritance in the
PMC compiler. This naturally led to discussion of numerical hierarchies.
I was a little disappointed the quaternions got mentioned, but
Hamiltonian and Surreal Numbers were left out. Honestly, where are our
priorities.

http://xrl.us/gke4

   Tracing and Debugging Pain
Matt Diephouse posted a general description of the problems he was
having with tracing, debugging, and GC. Warnock might apply in a day or
two.

http://xrl.us/gke5

   Segmented Context and Register Memory
Chip posted a partial reply to Leo's context and register overhaul
patch. Andy Dougherty responded to some of Chip's finer points. If you
are interested in the nuances of C's pointer pain, this thread makes an
interesting read.

http://xrl.us/gke6

   Improving Parrot's Test Framework
chromatic wants to improve parrots test framework by stealing ideas from
Test::Class. He wants to know if anyone else is interested in this.

http://xrl.us/gke7

   setattribute Fails with Multi-level Inheritance
Roger Browne opened a ticket describing an error with setattribute when
several layers of inheritance are used.

http://xrl.us/gke8

   Register Allocation Bug
Leo opened a ticket for a problem with improper control flow tracking.
Bill Coffman wondered whether the new register design had been
implemented yet.

http://xrl.us/gke9

   Pass by Value PMCs
Klaas-Jan Stol mused that the new calling conventions could be leveraged
to allow passing PMCs by value.

http://xrl.us/gkfa

   Parrot Fall Down Go Boom
Matt Fowles reported a segfaulting parrot that passes its tests. Sadly,
no one solved his problem in the 4 hours between his posting it and
writing the summary.

http://xrl.us/gkfb

  Perl 6 Language
   You Know That, But You Go On
As Piers noted, arguments about  ./method  vs  .method  continue.
Like Piers, I don't like ./. I guess I was the only person who did
like $^ as the invocant. Ah well, I guess I will just go on
summarizing...

http://xrl.us/gkfc

   Binding Functions
Piers wanted to use a Ruby idiom involving rebinding functions. Damian
told him that he could, but also pointed him to  wrap .

http://xrl.us/gkfd

   OO Questions
BÁRTHÁZI András posted a question about method calls in Perl 6. Juerd
and Piers provided answers.

http://xrl.us/gkfe

   Autoload

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

http

Perl 6 Summary for 2005-05-24 through 2005-05-31

2005-05-31 Thread Matt Fowles
Perl 6 Summary for  2005-05-24 through  2005-05-31
All~

Welcome to another Perl 6 summary, brought to you by Aliya's new
friends, Masha Nannifer and Philippe, and my own secret running joke.
Without further ado, I bring you Perl 6 Compiler.

  Perl 6 Compiler
   method chaining
Alex Gutteridge discovered that he couldn't chain attribute access like
 $bowl.fish.eyes.say;  in Pugs. Later he provided his example in test
form (in case anyone wanted to add it). Maybe they were added to the
test suite, maybe not: Warnock applies.

http://xrl.us/f95k

   Pugs link issues on Debian Sid
BÁRTHÁZI András was having trouble making Pugs work on Debian Sid with
perl 5 support. Autrijus provided helpful pointers. I assume from his
final silence that the final pointer worked.

http://xrl.us/f95m

   Pugs.AST.* compilation
Samuel Bronson wanted to speed up the compilation of Pugs.AST.* modules
by turning off optimizations. Autrijus told him that this was a core
module that needed it speed, and optimizations would stay.

http://xrl.us/f95n

   Pugs.Types export list
Samuel Bronson added an export list to Pugs.Types. Autrijus happily
applied it and send him a commit bit.

http://xrl.us/f95o

   export withArgs from Main
Samuel Bronson added an export to Main. Samuel Bronson happily applied
it himself this time.

http://xrl.us/f95p

   out-of-date hs-plugins
Vadim was having trouble compiling Pugs with Parrot support. Autrijus
helped him fix his problem, and there was much rejoicing.

http://xrl.us/f95q

   chomp problem
Jens Rieks found a problem with chomp and submitted a test. Warnock
applies.

http://xrl.us/f95s

   Pugs makefile issue
Grégoire Péan noticed that pugs was creating a useless Pugs.exe.bat.
Autrijus asked if he would be willing to investigate a patch. He
responded that he would put it in his queue.

http://xrl.us/f95t

   loop or do
Gerd Pokorra wondered why  do { ... }  was in Pugs reasoning that 
loop { ... } while  was the correct thing. Luke Palmer explained that 
do { ... }  was part of the with or without a postfix  while .

http://xrl.us/f95u

   PxPerl 5.8.6.2 with Pugs 6.2.5 and Parrot 0.2.0
Grégoire Péan announced that the release of PxPerl 5.8.6.2 which
includes Pugs 6.2.5 and Parrot 0.2.0. This means that windows folk can
test Pugs and Parrot without having to fight with compilers.

http://xrl.us/f95v

   BUILD errors
Carl Franks was confused by that handling of a named argument to a
constructor. He asked for confirmation but none was provided. Perhaps
this poor summary save him.

http://xrl.us/f95w

   whitespace and function calls
David D Zuhn didn't know that whitespace between and function call and
its parentheses was forbidden. Carl told him that and about the  .() 
variant which allows whitespace.

http://xrl.us/f95x

   Pug's make cean issues LONG commands
Carl Franks noticed that make clean issued a command so long that it
broke his nmake. Fortunately he had a really old nmake and updating
fixed the problem.

http://xrl.us/f95y

  Parrot
   thr_windows.h with MinGW
François Perrad provided a patch fixing two compilation problems in
thr_windows.h. Warnock applies.

http://xrl.us/f95z

   Parrot Slides?
Adam Preble posted a request for slides and notes on Parrot and Perl 6
for a presentation he was working on. Many people provided links in
various languages. I usually steal from Dan's presentations when I need
something like this...

http://xrl.us/f952

   Problems with Perl 5.6.1
François Perrad had a problem building Parrot with MinGW and Perl 5.6.1.
The problem was related to windows and its binary vs text distinction.
This problem will also crop up if you ever try to seek on files in
windows. Not that I have ever lost several days debugging that problem.

http://xrl.us/f953

   ordered hash thoughts
Leo posted his thoughts on a modification to ordered hash as adding a
new element by index breaks the string hashing part of it. Dan suggested
that the ordered hash just pitch exceptions in the bad cases as it was
designed to be lightweight and fast.

http://xrl.us/f954

   subrules tests
Dino Morelli provided a patch adding tests for subrules to PGE. Warnock
applies.

http://xrl.us/f955

   python on parrot
Bloves inquired as to the state of python on parrot. The phrasing of the
question itself provided some confusion. Michal Wallace provided a link
to pirate, hoping it would help.

http://xrl.us/f956

   Resizable*Array defeats list.c
Slowly but steadily my {Fixed,Resizable}typeArray PMCs are defeating
the less consistent array implementations. Leo offered the job of
slaying list.c to any interested partied. Jerry Gay expressed interest.

http://xrl.us/f957

Re: Perl 6 Summary... p6rules

2005-05-31 Thread Dino Morelli
Thank you for the summary, Matt

I have a correction, though:

   subrules tests
Dino Morelli provided a patch adding tests for subrules to PGE. Warnock
applies.

http://xrl.us/f955

This and my other two patches to p6rules tests (RT #35950, 35971, 35994)
have not yet been applied.


-Dino

-- 
 .~.Dino Morelli
 /V\email: [EMAIL PROTECTED]
/( )\   weblog: http://categorically.net/d/blog/
^^-^^   preferred distro: Debian GNU/Linux  http://www.debian.org


Re: Perl 6 Summary... p6rules

2005-05-31 Thread Patrick R. Michaud
On Tue, May 31, 2005 at 11:58:12PM -0400, Dino Morelli wrote:
 Thank you for the summary, Matt
 
 I have a correction, though:
 
subrules tests
 Dino Morelli provided a patch adding tests for subrules to PGE. Warnock
 applies.
 
 http://xrl.us/f955
 
 This and my other two patches to p6rules tests (RT #35950, 35971, 35994)
 have not yet been applied.

My apologies for taking so long to apply these patches; I've been
out of town for much of the past week and barely keeping up with
email.  Also, since 35971 is a bit of a big change I wanted to review
it a bit -- it'll happen within the next twelve hours.

I *really* appreciate the tests -- they've been very helpful and useful.

Pm


This week's Perl 6 Summary

2005-05-25 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-05-24
Note to self: It's generally not a good idea to go installing Tiger on
the day you return from holiday. It's especially not a good idea to fail
to check that it didn't completely and utterly radish your Postfix
configuration. And your emacs. And the backing store for your website.
And a bunch of other stuff. It's an especially bad idea not to have
backups of things like your aliases file...

Nor is it a good idea to get preoccupied with all these joys and
completely forget that you're supposed to be writ ting the Perl 6
summary.

Ahem.

I'm very, very sorry.

So, on with the show.

This week in perl6-compiler
  Inline::Pugs
Autrijus announced the availability of Inline::Pugs. If you've ever been
moved to mix up Perls 5 and 6 in one program, your prayers have been
answered. Just grab Pugs and Inline and you're set. Brian Ingerson made
things even more delightfully evil:

 #!perl
 use pugs;
 sub postfix:! { [*] 1..$_ }
 sub sum_factorial { [+] 0..$_! }
 no pugs;
 print sum_factorial(3); # 21

http://xrl.us/f73s

  Experimental Coroutine support
Autrijus announced that Pugs now has an experimental implementation of
coroutines. It's almost certainly not final, but it's good enough for
exploration and feedback purposes.

http://xrl.us/f73t

  Graphing tool for PerlGuts Illustrated
Yuval Kogman asked what tool was used to generate the 'pretty diagrams'
in PerlGuts Illustrated because he wanted to use it for diagrams in a
forthcoming PugsGuts Illustrated. Ingy said that Gisle had hand hacked
postscript based on initial diagrams drawn on graph paper. After some
discussion, the plan seems to be that Yuval will just draw diagrams,
scan them and bung them into the pugs repository. He'll rely on the
LazyWeb to turn them into beautiful scalable graphics.

http://www.lazyweb.org/

http://xrl.us/f73u

  Perl Development Server
Okay everyone, repeat after me: Juerd is a star!

You may ask me why, and I shall tell you.

Juerd and his cosponsors, Twistspace will making a Perl 6 development
server available over the internet to any Perl 6 developers who are
working on 'everything that improves Perl 6 development'. So, if you've
been put off working on Pugs by the hassles of getting Haskell working
on your machine, or if you have the kind of bandwidth that makes svn
updates a painful prospect, worry no longer. Just sign up for a
development account.

There was much rejoicing and suggesting of hostnames. Rather bizarrely,
there was also discussion of the etymology of 'sipuli' (Finnish for
'onion' in case you were wondering).

http://xrl.us/f73v

  Two releases in one day
Autrijus announced the release of Pugs 6.2.4. About half an hour later
he announced the release of Pugs 6.2.5.

http://xrl.us/f73w

  Undef issues
Adrian Taylor thought he'd found some issues with Perl 6's understanding
of undef. It turned out that he'd found some issues with his own
understanding of same.

http://xrl.us/f73x

  Method/attribute chaining
Alex Gutteridge found some weirdness with the chaining of autogenerated
attribute methods (I wonder if the same weirdness occurs with hand
rolled attribute methods). So far it remains unfixed, but given the
speed of Pugs development I doubt it'll stay that way for long.

http://xrl.us/f73y

Meanwhile, in perl6-internals
  Parrot as an extension language
Colin Adams continued to have problems using Parrot as an extension
language for Eiffel. It turns out that interfacing between statically
strongly typed languages and Parrot isn't easy.

http://xrl.us/f73z

  Fixing t/src/manifest.t
Dino Morelli reported problems with t/src/manifest.t and wondered how
some of the failures came about. Jürgen Bömmels thought that the problem
was an overzealous test -- the original version of which simply ensured
that version control and the MANIFEST were in sync. He provided his
suggested version of a less eager, but still svn compatible test.
Further discussion thrashed out the various difference use cases for
manifest checking.

http://xrl.us/f733

  More t/p6rules tests
Dino Morelli posted a bunch of tests for the Perl 6 rules. Well, he did
once he'd done battling his mailer's somewhat bizarre choice of MIME
type for his test files. Remember, if you're about to attach a .t file
to a message you send to the list, make sure your mailer doesn't declare
it to be an application/x-troff file -- text/plain is your fiend.

Patches were applied.

http://xrl.us/f734

  Stressing the hash
Leo asked for some stress and bench mark tests for hashes because he was
in the process of redoing src/hash.c. Bob Rogers provided one.

http://xrl.us

Perl 6 Summary for 2005-05-03 through 2005-05-17

2005-05-18 Thread Matt Fowles
Perl 6 Summary for 2005-05-03 through 2005-05-17
All~

Welcome ot another fortnight's summary. Wouldn't it just figure that I
can't think of anything sufficiently non-sequiterish to amuse myself.
Perhaps I need a running gag like Leon Brocard or chromatic's
cummingseque capitalization Maybe I should start one and not tell
you. That could be fun.

Sorry for spelling errors, gmails spell checker is busted for the moment.

  Perl 6 Compiler
   pugs commit emails
If you have ever been foolish enough to want to get an email for every
commit in Pugs, Sam Vilain created a way to help you sip from the
firehose. Have fun.

http://xrl.us/f5q7

   given when nested
Luke Palmer had a question about how nested when statements in a given
block should act. His intuition disagreed with Pugs, but most others
supported Pugs.

http://xrl.us/f5q8

   I don't need to walk around in circles
Autrijus has made Pugs into a registered compiler for Parrot. Since Pugs
already allowed you to embed parrot code (well pir anyway) directly into
perl 6, this allows you to embed the perl 6 in your pir in your perl 6.
Now the possibilities are endless, at least until you blow your mental
stack. Those of you with tail call optimization in your mental stack may
simply go into an infinite loop if you prefer.

http://xrl.us/f5q9

   xor on lists
Trewth Seeker expressed his opinion about the proper definition of xor
quite strongly. Unfortunately, his opinion is at odds with established
mathematics, as Mark Biggar pointed out to him.

http://xrl.us/f5ra

   PGE features update
Patrick provided an update on the state of the Perl Grammar Engine. It
has many nifty new features.

http://xrl.us/f5rb

   Pugs on Cygwin
Rob Kinyon and Gaal Yahas worked to improve Pugs support for Cygwin.
Unfortunately the thread winds down with an unanswered question,
fortunately Stevan clued me in on IRC that things are working just yet.

http://xrl.us/f5rc

   Pugs gets some objects and some rules
Autrijus announced that Pugs now has basic support for Objects and
Rules. Sometimes he scares me. Usually he just makes me really want to
learn haskell though.

http://xrl.us/f5rd

   regression test
Miroslav Silovic provided a regression test for hyper ops. Some people
just don't appreciate the fun of regressing.

http://xrl.us/f5re

   basic test for classes
Stevan Little provided a patch for a simple object test. Autrijus
applied it. Odd, cause I am pretty sure that Stevan has the commit
bit...

http://xrl.us/f5rf

   torturing PGE
Juerd provided a link to a big rule that could segfault PGE. Kind
reminds me of a homework assignment I had to create a regular expression
which matched all strings of numbers that did not contain any repeated
digits. Easy in perl, but hard in math. I think the resultant regex was
somewhere around 17 MB.

http://xrl.us/f5rg

   Pugs 6.2.3 with Live CD
Autrijus released Pugs 6.2.3 which contains 10% more awesome then Pugs
6.2.2. You should check it out on the live CD that Ingo Blechschmidt
released.

http://xrl.us/f5rh -- release anouncement

http://xrl.us/f5ri -- live CD

   PXPerl meets Pugs
Grégoire Péan announced that he has added Pugs binaries to his windows
distribution of Perl. Pretty cool. Autrijus innocently asked him to take
on the slightly larger task of producing binaries of Parrot too, so that
Pugs could be at its more powerful.

http://xrl.us/f5rj

  Parrot
Wow did you see how I mentioned Parrot before going into. That was like
an awesome transition. My high school english teachers would be so
proud...

   character classes
Patrick wants character class opcodes of the form find first and find
first not. Leo pointed him to some hysterical raisins who might help.

http://xrl.us/f5rk

   PGE on MinGW
François Perrad fixed a problem with building PGE on MinGW. Patrick
applied the patch.

http://xrl.us/f5rm

   PIO_fdopen return value
Luke Palmer both intoduced me to the wonderfully cute phrase untodid
and provided a patch making PIO_fdopen return NULL when give bad flags.
Leo applied the patch, but Melvin Smith warned that this might be a bad
idea. Silence after that.

http://xrl.us/f5rn

   embedding initialization
Jeff Horwitz was having trouble embedding PIR into C. Leo provided some
pointers. Jeff was happy.

http://xrl.us/f5ro

   Test::Builder updates
Previously, Michael G Schwern announced an update to Test::Builder.
chromatic asked if it was worth the upgrade. Michael replied probably,
but I don't think anyone has acted on it.

http://xrl.us/f5rp

   miniparrot
Robert Spier created a miniparrot at Bernhard Schmalhofer request. This
miniparrot does not replace our make system, but it does make our

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

2005-05-04 Thread Michele Dondi
On Tue, 3 May 2005, Matt Fowles wrote:
Perl 6 Summary for 2004-04-26 through 2005-05-03
 ^^
 ^^
Wow!
Michele
--
Why should I read the fucking manual? I know how to fuck!
In fact the problem is that the fucking manual only gives you 
theoretical knowledge which is useless in practice ;)
- Giuseppe Oblomov Bilotta in a bunch of usenet groups.


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

2005-05-03 Thread Matt Fowles
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...

http://xrl.us/fyof

   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.

http://xrl.us/fyog

   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.

http://xrl.us/fyoh

   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.

http://xrl.us/fyoi

/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.

http://xrl.us/fyoj

   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.

http://xrl.us/fyok

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

http://xrl.us/fyom

   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.

http://xrl.us/fyon

   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.

http://xrl.us/fyoo

/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

http://xrl.us/fyop

  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.

http://xrl.us/fyoq

http://xrl.us/fyor

   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.

http://xrl.us/fyos

   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.

http://xrl.us/fyot

   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...

http://xrl.us/fyou

   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.

http://xrl.us/fyov

   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.

http://xrl.us/fyow

   RT cleanup
Bernhard Schmalhofer cleaned out an old ticket from RT.

http://xrl.us/fyox

   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.

http://xrl.us/fyoy

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

http://xrl.us/fyoz

   unary operator overhaul
Having finished overhauling the infix operators, Leo set to work

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

Re: Perl 6 Summary for 2005-04-12 through 2005-04-19

2005-04-20 Thread Michele Dondi
On Tue, 19 Apr 2005, Matt Fowles wrote:
  Python on Parrot
^^
   Kevin Tew wondered what the state of pyrate was. Sam Ruby provided a
  
   general explanation.
(I'm not on all of the lists, so this may have come out before and I just 
ignore it, but...) this is a pun, isn't it?!?

Michele
--
sub printpages
 {
 return;
 }
This sub is the best code you have written so far.
- A. Sinan Unur in clpmisc, Re: Free source guestbook - unfinished


Perl 6 Summary for 2005-04-12 through 2005-04-19

2005-04-19 Thread Matt Fowles
Perl 6 Summary for 2005-04-12 through 2005-04-19
All~

Sadly, a slip of the mouse cause me to delete a partially completed
summary, so I am going to push ahead on the rewrite without a witty
intro. Feel free to make one up for yourself involving stuffed animals,
musicians, and dinner.

  Perl 6 Compilers
   Pugs 6.2.0
Autrijus release Pugs 6.2.0 marking the first major milestone for Pugs.
This includes most of the control flow primitives of Perl 6 and is a
testament to the solid work that all of the lambdacamels have been
putting in.

http://xrl.us/ftoo

   CGI.pm and multi byte characters
BÁRTHÁZI András was having trouble encoding and decoding multi byte
characters in CGI.pm. This led to a general discussion of how to escape
such characters in URLs as well as when to call  chr .

http://xrl.us/ftop -- discussion

http://xrl.us/ftoq -- more discussion

   auto currying?
Matthew D Swank wondered if he really needed an extra set of parens to
simultaneously call a function generator and its generated function.
Autrijus told him that yes he did as Perl 6 is not quite Haskell yet.

http://xrl.us/ftor

   case insensitive P5 regex
BÁRTHÁZI András wanted to use the :i switch on P5 regexes. Autrijus
implemented it, but Larry noticed that this introduced a flag ordering
dependency. As a result the new way to supply flags to a perl 5 regex is
 rx:P5imsxg/.../ .

http://xrl.us/ftos

   Cookbook Ettiquette
Marcus Adair wondered if there were rules of etiquette he should obey
when writing examples for the Perl 6 Cookbook. In particular, should
examples run and be only one file. Ovid suggested that one file was a
good idea, but was open to contrary arguments.

http://xrl.us/ftot

   Austrian Parrot/Pugs Hackathon
Thomas Klausner announced that on June 9-10 in Vienna Austria there
would be a Hackathon featuring the collective might of Autrijus, Chip,
Leo, and more. When that much brain power gets together only two things
can happen: much hacking and much drinking.

http://xrl.us/ftou

   encoding illegal byte sequences in strings
BÁRTHÁZI András wanted to know if he could encode an illegal byte
sequence in a string. Much discussion ensued, but Larry promised that it
would be possible.

http://xrl.us/ftov

   Test::TAP
Yuval Kogman announced the release of two new modules to CPAN which
provid Pugs smoke html.

http://xrl.us/ftow -- announcement

http://xrl.us/ftox -- smoke em if you got em

   quoting constructs
Roie Marianer noticed that pugs was missing some quoting constructs and
implemented them. This led to discussion of interoplation and corners
cases. As usual Larry provided both answers and questions. Roie produced
a patch which Autrijus applied.

http://xrl.us/ftoy -- discussion

http://xrl.us/ftoz -- useful pugs hacking pointer

http://xrl.us/fto2 -- the patch

   Code Block as Argument
Stevan Little found some bugs with passing a code block to a function in
pugs. Warnock applies.

http://xrl.us/fto3

   Push, Pop, Shift, and Unshift on Infinite Lists
Stevan Little has been playing with push, pop, shift, and unshift on
infinite lists. He thinks he has found a bug, although maybe he just
hasn't let it run long enough... Larry provided answers as to the
correct semantics.

http://xrl.us/fto4 -- shift unshift

http://xrl.us/fto5 -- push pop

   'cd' issue in Makefile
Jonathan Worthington noticed a Win32 issue in the Makefile. He can point
to the offending line in the autogenerated makefile, but that is not
where it should be fixed. Warnock applies.

http://xrl.us/fto6

   hyperoperator tests
David Christensen provided a patch for hyperoperators. Unfortunately,
character set transcodings ate his patch.

http://xrl.us/fto7

   shift oddity
Stevan Little noticed that shift did not act like pop. Larry noted that
the example were not semantically valid, but even so Pugs should not
freeze.

http://xrl.us/fto8

   Pugs SEGV
Aaron Sherman managed to make Pugs segfault. Autrijus thinks it might
already be fixed.

http://xrl.us/fto9

  Parrot
   Dynamic Perl 2
William Coleda provide the second of his patched to move Perl*PMC out of
the core. Leo applied it.

http://xrl.us/ftpa

   SVN revision in bug reports
jreiks (Jens?) reported a difficult to reproduce bug. This caused Leo to
pine for having the SVN revision in the bug report. Brent 'Dax'
Royal-Gordon commented that this was a good idea. Jens Rieks offered to
implement it.

http://xrl.us/ftpb

   Win32 SDL
Jerry Gay tried to get SDL working on Windows. There was some give and
take, but in the end he got his wish.

http://xrl.us/ftpc

   -l/path/to/icu
Andy Dougherty provided a patch making Configure.pl provide a link flag
to ICU

Summary for the week ending 2005-04-12

2005-04-12 Thread The Perl 6 Summarizer
The Perl 6 Summary for the week ending 2005-04-12
Whoa! Deja vu! Where'd Matt go?

Don't worry, Matt's still writing summaries. As you may have noticed,
Matt's been writing summaries every two weeks. And now so am I. Because
we love you, we've decided to arrange things so I write summaries in the
weeks when Matt doesn't. We could do it the other way, but that could be
seen by some as self-defeating. Heck, when I say 'some' I probably mean
'all'.

So, bear with me while I remember how to type all those accented
characters and get back into the swing of writing these things (and of
reading everything in the mailing lists once more -- someone should
write a summary for us summarizers...)

I'll be sticking to my old 'lists in alphabetical order' scheme of
writing summaries. So, let's get going

This week in perl6-compiler
  Array of arrays, hash of hashes, elems, last
Lev Selector asked for confirmation that Pugs didn't support compound
data structures, @ar.elems or @ar.last. Autrijus and others
confirmed that they didn't then, but they do now.

http://xrl.us/fq99

  MakeMaker6 stalls on takeoff
Darren Duncan pointed out that, whilst last week's summary had claimed
he was working on implementing MakeMaker in Perl 6 which is, sadly not
the case. He reckoned he'd possibly look into it again when he had tuits
and Pugs was more complete (supporting objects, for instance).

http://xrl.us/fraa

  Declaration oddness
Roie Marianer pointed out what looks like some weirdness in Pugs'
parsing of lexically scoped subroutines. Warnock applies.

http://xrl.us/frab

  Toronto pugs hackathon
John Macdonald asked for people who wanted to come to the YAPC::NA pugs
hackathon to get in touch with him beforehand as spaces there are
limited. If you're interested, drop him a line.

http://xrl.us/frac

  Pugs slice oddities
Andrew Savige noticed some weirdness in pugs's slicing behaviour. He
posted some example code showing the problem. Autrijus agreed that there
was a problem and explained that he was in the process of rewriting all
the variable types, symbol tables and casting rules to agree with the
Perl 5 model as described in perltie.pod. The rewrite is currently
failing tests, so he posted a patch for people who want to play. On
Sunday, he bit the bullet and committed the entire 2500 line patch which
'touches pretty much all evaluator code'.

http://xrl.us/frad -- Autrijus's patch

http://xrl.us/frae -- Autrijus on the patch

http://xrl.us/fraf

Meanwhile, in perl6-internals
  Tcl, Unicode
William Coleda has been trying to add Unicode support to his TCL
implementation and he fell across issues with missing methods in
charset/unicode.h. Leo waved a magic wand and checked in an
implementation which he fenced about with disclaimers.

http://xrl.us/frag

  The status of Ponie
Nicholas Clark confessed that Ponie had been pretty much stalled for
some time, but sweetened the pill by announcing that it's about to
restart and that he would be able to allocate at least one day a week to
the project. He pointed people at the Ponie roadmap which breaks down
the required tasks between here and a first release, complete with time
estimates. If you're interested in getting Ponie to a ridable state,
this would be a good place to start.

People were pleased.

http://xrl.us/frah -- Ponie intro/roadmap

http://xrl.us/frai

  Monthly release schedule
Chip donned his Fearless Leader hat and announced that, effective,
Parrot would be moving to a monthly release schedule (with an initial
three week 'month' to get things into sync). There was some debate about
whether Solaris/SPARC should be one of the officially required monthly
release platforms (darwin, linux-x86-gcc3.* and win32-ms-cl were Chip's
initial blessed three). This morphed into a discussion of Tinderbox;
apparently there are cool things happening behind the scenes.

http://xrl.us/fraj

  Calling convention abstraction
What do you know? You go away for n months and when you come back people
are *still* talking about calling conventions.

http://xrl.us/fram

  Dynamic Perl, Part 1
William Coleda announced that he was starting work on removing the
core's dependence on Perl* PMCs in favour of using language agnostic
PMCs internally and loading the Perl ones dynamically as required.
Everything but PerlArray was dealt with quickly and names and ways
forward with that tricky case were discussed. It looks like we're going
to have a 'ResizablePMCArray' added to the core once people have the
tuits.

http://xrl.us/fran

  Subversion
Another discussion that wouldn't go away back when I was last writing
summaries has come to a head. Parrot's finally migrating from CVS to
Subversion. By the time

Perl 6 Summary for 2005-03-22 through 2005-04-05

2005-04-05 Thread Matt Fowles

   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?

http://xrl.us/fofq

   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...

http://xrl.us/fofr

   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.

http://xrl.us/fofs

   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.

http://xrl.us/foft -- Aaron's

http://xrl.us/fofu -- 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.

http://xrl.us/fofv

   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.

http://xrl.us/fofw

   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.

http://xrl.us/fofx

   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

http://xrl.us/fofy

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

http://xrl.us/fofz

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

http://xrl.us/fof2

   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.

http://xrl.us/fof3

   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.

http://xrl.us/fof4 -- flatten

http://xrl.us/fof5 -- 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.

http://xrl.us/fof6

   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...

http://xrl.us/fof7

   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.

http://xrl.us/fof8

   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.

http://xrl.us/fof9

  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.

http://xrl.us/foga

   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.

http://xrl.us/fogb

   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.

http://xrl.us/fogc

   YAML test output
Nathan Gray wondered if he should change his tests log to YAML output.
Stevan

Re: Perl 6 Summary for 2005-03-07 through 2005-03-22

2005-03-23 Thread Miroslav Silovic
[EMAIL PROTECTED] wrote:
  pugs too lazy
   Miroslav Silovic noticed that closing a file handle in pugs did not
   force all the thunks associated with the file. While this was a bug in
   pugs, it led to conversation about whether = should be lazy or eager.
   Larry thinks that it will be safer to start eager and become lazy then
   vice versa.
   http://xrl.us/fijd
 

Accused of the original burst of insight, pleading not guilty! ;) The 
original post was to perl6-compiler by Andrew Savige.

http://groups-beta.google.com/group/perl.perl6.compiler/browse_frm/thread/2aca524a1203cd41/912bea4d0d05554a?q=surprised#912bea4d0d05554a
   Miro


Perl 6 Summary for 2005-03-07 through 2005-03-22

2005-03-22 Thread Matt Fowles
Perl 6 Summary for 2005-03-07 through 2005-03-22
All~

Welcome to yet another fortnights summary. I believe this is the highest
volume I have ever seen the three lists at simultaneously. Hopefully
they will keep it up, because good work is being done. To aid in the
epic endeavour of summarizing all this, I have had to add some new Jazz
to my playlist. We will see how it works out. If it doesn't work well,
blame Seton.

  Perl 6 Language
   the actual name of ?SUB
David Storrs wanted to know how he could get the name of ?SUB. Larry
told him that $?SUBNAME would be the most reliable way to get the short
name.

http://xrl.us/fiip

   Unlimited Argument Patterns
Luke Palmer has tasted the forbidden fruit of Haskell and now he wants
more of it in Perl 6. In particular he wants even more powerful pattern
matching of arguments for MMD. Rod Adams speculated that Larry had
decided Perl 6 would not be ML... In the end no real consensus, but
don't hold your breath seems to be the feeling.

http://xrl.us/fiiq

   Limited Argument Patterns
Wolverian was a little unsure of what exactly  sub foo(0) {...} 
meant. Larry explained that it was just sugar for  sub foo ( $bar of
Int where { $_ == 0 } $bar ) { ... } .

http://xrl.us/fiir

   List Constructors
Wolverian made a list of list constructors, asking what each did. Larry
explained: For the most part, the same thing as perl 5, a few would
produce a warning.

http://xrl.us/fiis

   Decorating Primitives
The question arose of how decorating objects with roles interacted with
low level types. Larry came to the conclusion that it was OK, unless you
wanted to decorate a single element in a primitive array.

http://xrl.us/fiit

   splat operator in assignment
Juerd was unsure how splats and list assignment interacted. The answer
is that list assignment is exactly the same as Perl 5 to allow for
extending return list.

http://xrl.us/fiiu

   Logic Programming
Rod Adams pointed out that much of logic programming could be
implemented using the rules engine. Unfortunately, the syntax gets a
little hairy and cumbersome. Larry said that this particular goal might
be something that is not addressed immediately in 6.0, but possibly
differed instead. Ovid rumbled about porting a Warren Abstract Machine
to Parrot... I would like it.

http://xrl.us/fiiv

   Locale-KeyedText
Darren Duncan finished up the first non-core Perl 6 module. Being
properly hubristic, he asked for a critique. His questions touched on
subjects including subtypes, module loading, and strictness...

http://xrl.us/fiiw -- critique request

http://xrl.us/fiiy -- misc questions

   bar $f =?= $f.bar
Rod Adams wondered what would happen if he had both a sub and a method
name bar. What would  $f.bar  and  bar $f  do? Jonathan Scott Duff
explained that  $f.bar  would call the method while  bar $f  would
call the sub.

http://xrl.us/fiiz

   MMD object
Rod Adams wants a single object to represent all of the possible multi
methods associated with a particular short name. It seems that Rod
dranks some of the lisp cool-aid (although in this case, I agree). He
explained how this allowed the dispatch scheme to be changed on a multi
by multi basis and also allowed for nice introspection. This led to a
discussion of how this would work with lexically installed multi
methods, and if this would trip people up. No real consensus seemed to
appear...

http://xrl.us/fii2

   :fooo != :foo('o'); :fooo == :foo{'o'}
Juerd wondered what the implications of a mapping to ('a') were. Larry
replied that it did not map in that manner.

http://xrl.us/fii3

   lazy loading of object
Yuval Kogman wondered how he could get his objects to load lazily. Larry
told him that delegation would probably be the best bet.

http://xrl.us/fii4

   throwing from higher up the call stack
Thomas Yandell wants a way to throw from further down the call stack.
Sadly he was warnocked.

http://xrl.us/fii5

   sprintf
Juerd wants an sprintf like function  f/FORMAT/EXPR/ . Larry seems to
think that  EXPR.as(FORMAT) will suffice, especially if as is a list
op. 

http://xrl.us/fii6

   S29, builtin function
Rod Adams has been hard at work creating a list of build in functions.
He has a version up at /www.rodadams.net/Perl/S29.html in http:. This
led to good discussions about what things had alternate forms and what
did not.

http://xrl.us/fii7 -- discussion

http://xrl.us/fii8 -- more discussion

   python to eliminate reduce()
Aristotle Pagaltzis posted a link explaining why reduce will be
eliminated in Python 3000. This led to a brief discussion of various
design philosophies.

http://xrl.us/fii9

   SEND + MORE = JUNCTIONS
Sam Vilain fixed up

Perl 6 Summary for 2005-02-22 though 2005-03-07

2005-03-07 Thread Matt Fowles
Perl 6 Summary for 2005-02-22 though 2005-03-07
All~

Welcome to yet another fortnight summary. Once again brought to you by
chocolate chips. This does have the distinction of being the first
summary written on a mac. So if I break into random swear words, just
bear with me.

  Off list development
In more related news, It has been pointed out to me that development
goes on off list on places like IRC. I briefly contemplated, quitting my
job and tracking such things full time, but then I decided that it would
be better if I just accepted brief submissions for the summary. Thus I
will be adding a fourth section to the summaries based on contributions.
If you would like to make a contribution, email me with a brief summary.
Please include the name by which you would like to be attributed (sadly
the process I use is likely to mangle any unicode characters). Please
make all links full, I will shorten them. Thanks

  Perl 6 Language
   not()
It turns out that not() (with no arguments) made perl 5 core dump for
a while, and it took us five years to figure that out. In perl 6 it will
be a list op and calling it with no arguments will return a null list or
an undef depending on context.

http://xrl.us/fdb9

   junctions and threading
I had hoped that last week the concerns about threading would have been
addressed. I was mistaken. A new crop of concerns surfaced and died down
fairly quickly (as the chief proponent, Damien, was away).

http://xrl.us/fdca

   serializing to various languages
Somehow the discussion of junctions morphed into a discussion of sets,
which morphed back into junctions, which morphed into a discussion of
serialization to different languages. Interesting stuff, but I wouldn't
hold me breath for it...

http://xrl.us/fdcb

   Performance Analysis and Benchmarks
Adam Preble posted an offer to develop some benchmarks for perl 6.
Unfortunately, I think he posted it to google groups. Also, he probably
should have posted it to p6c or p6i as the language folk tend to wave
their hands and say magic occurs but correctness is preserved when it
comes to optimization.

http://xrl.us/fdcc

   send + more = junctions
Autrijus posted an example using junctions, instead of parents, to solve
the classic

SEND MORE + = MONEY

problem. Markus Laire asked for a clarification, and Rod Adams pointed
out that he felt that it would not work as the interdependence of the
es was not captured. This does lead to the question of how one should
right prolog like code (including unification and backtracking) in Perl
6. No answers were offered.

http://xrl.us/fdcd

   Pairs as lvalues
Ingo Blechschmidt wondered what the behavior of pairs as lvalues would
be. The answer is that you would get an error for attempting to modify a
constant.

http://xrl.us/fdce

   Perl 6
Roberto Bisotto wanted to know where he could download perl 6 to start
playing with it. We embarrassedly told him that a full implementation
was not yet available, but pugs was gaining ground quickly.

http://xrl.us/fdcf

   hash keys
Autrijus wanted to know if hash keys were still just strings or if they
could be more. The answer is that by default they would be strings, but
they could be declared as having a different  shape . This led to a
discussion of hashing techniques such as the .bits, .canonicalize, or
.hash methods.

http://xrl.us/fdcg

   Dynamically scoped dynamic scopes
Dave Whipp wanted to make dynamically scoped dynamic scopes. My head
hurt, but apparently Larry's didn't as he replied piece of cake, the
syntax [and implementation] are left as an exercise to for the would be
module author.

http://xrl.us/fdch

   Parameters to rules
Rod Adams asked how he could specify arguments to rules so they could be
more function like. Larry explained that there were several syntaxes
each of which would coerce its arguments in slightly different ways. He
then mused that perhaps there were too many, I agree there are too many.

http://xrl.us/fdci

   compile time signature checking
Ahbijit Mahabal wondered how type checking would work for cases where it
was not easy to determine the types at compile time. The answer:
checking will be defered to runtime. In the end it seems that Perl 6
will blur the line between runtime and compile time heavily. Perhaps it
will provide nifty support for staged programming, meta-perl6 here we
come...

http://xrl.us/fdcj

   %*CONFIG and %?CONFIG
Brian Ingerson asked about the CONFIG hash and what sort of secondary
sigil it would have. Larry explained that $?CONFIG held to config for
the machine compiling the program and $*CONFIG held the config for the
machine running the program. Then he made some noice about parsing

Perl 6 Summary for 2005-02-08 through 2005-02-22

2005-02-22 Thread Matt Fowles
Perl 6 Summary for 2005-02-08 through 2005-02-22
All~

Welcome to yet another fortnight summary. Lately p6l has been out
stripping p6i in volume. While this used to be the norm, lately it has
become a rare occurrence. Strange... Anyway, this summary would be
brought to you buy cookies, but I ate them all. So instead this summary
is brought to you by the remaining chocolate chips. In other news,
Autrijus Tang has just officially been promoted to first name only
status in the summaries based on both his stellar work with Pugs and his
highly identifiable name. He now joins the ranks of Larry, Dan, Madonna,
and Leo.

  Perl 6 Language
   do { } while?
David Storrs wanted to know what the best way to say  do { }
while($foo);  was. Larry told him that  s/do/loop/  would suffice.

http://xrl.us/e77k

   nest as a primitive looping operation
Timothy Nelson gets credit for resurrecting the oldest thread I have
seen brought back recently. Over two years ago, he mentioned a powerful
looping structure that allowed for recursion. Now he has found a use for
it.

http://xrl.us/e77m

   Loop Entry
Joe Gottman wanted to execute a closure every time a loop was entered,
not upon every iteration. He thought ENTER happened only once ever, but
it turns out that it will do what he wants.

http://xrl.us/e77n

   pop %hash
Rod Adams wants to be able to pop a key value pair our of a hash. Others
wondered what it would be used for. Someone mentioned an OrderedHash...

http://xrl.us/e77o

   higher order operators
Timothy Nelson wanted to have meta-operators. Larry gave him the full
unicode character set with which to define them. Tim was happy.

http://xrl.us/e77p

   none and nor delimiter
Thomas Sandlaß suggests using  \  as a none junction delimiter. He
then extended this idea to provide a logical nor,  \\ . Autrijus
suggested  !  for none. There was some argument about whether nor
deserved such huffmanization. Also, I think that the difference between
 //  and  \\  would continually escape me. I have enough troubles
writing code to deal with windows filesystems.

http://xrl.us/e77q

   Kudos to Autrijus
Damian proudly welcomed Autrijus to the ranks of the last-nameless-ones.
He also lauded his amazing work at forcing a lazy language to pull a
lazier one. I think we all agree.

http://xrl.us/e77r

   containers vs object references
Rod Adams wondered whether there was a litmus test that could determine
if something deserved its own sigil. The answer appears to be mostly
history. Larry suggested a simplistic way to create new sigils, although
it would not provide interoplation. I think a blessed method for
defining new sigils which do interpolate and provide some sort of type
constraint and context would be really nifty. Also I want a million
dollars in small, non-consecutive, unmarked bills. If you have either of
these please mail it to me.

http://xrl.us/e77s

   printing true
Autrijus wondered about true and fasle. Are they just 1 and 0? #t and
#f? Larry answered bool::true and bool::false, but true and false would
suffice when there was no ambiguity.

http://xrl.us/e77t

   quoted = LHS
Juerd wondered if  =  auto-quoted its left hand side. Yes.

http://xrl.us/e77u

   @ x 75 ~ $zap =?= (@ x 75) ~ $zap
Juerd mistakenly thought that ~ bound tighter than x. Only unary ~ binds
that tightly, so he is safe.

http://xrl.us/e77v

   getting the key|value of a pair
Steve Peters wondered how he could get the key or value from a pair. It
turns out that the .key and .value method will do what he wants until
some twisted soul overrides them...

http://xrl.us/e77w

   Junctiuons and Autothreading
By far the longest topic this week was junctions. Some people worry that
their autothreaded behavior will cause plagues to ravage the earth and
novices programmers to go blind. Others feel that without it Perl6 will
be a language suitable only to pond scum and cobol programmers. While
one side believes that autothreading repition of sid effects will crash
any database that interacts with Perl6, the other side believes that
requiring extra pragmas to unlock their full power will prevent
junctions from curing cancer. Either way someone is going to be unhappy.
It looked like the pendulum was swinging towards autothreading, but its
chief proponenet will be away next week, so who knows if it can survive
undefended. My favorite suggestion in all of this was to make Perl6 a
pure functional language and introduce monads.

http://xrl.us/e77x

http://xrl.us/e77y

http://xrl.us/e77z

http://xrl.us/e772

   nullary vs nonslurpy
Autrijus found it distressing that to get his quicksort to sort quickly
he had to make an empty signature slurpy. Larry

Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-10 Thread Michele Dondi
On Wed, 9 Feb 2005, Larry Wall wrote:
roadblocks thrown in their way.  That's true not only for LP, but
also for FP, MP, XP, AOP, DBC, and hopefully several other varieties
   ^^  ^^^
   ^^  ^^^
   1.  2.
Ehmmm... sorry for the ignorance, but...
1. Functional Programming (right?)
2. Aspect Oriented Programming (right?)
What about the others? Well, I know about Google (and I'll try ASAP in any 
case), but I fear those acronyms could be just a little bit too generic, 
although probably including also 'programming paradigm' as search keys 
would help.

Michele
--
Whoa! That is too weird! I asked around among the math
faculty here and it turns out that _every one's_ wife 
is married to a mathematician!
- Dave Rusin in sci.math, Re: Genetics and Math-Ability


Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-10 Thread Uri Guttman
 MD == Michele Dondi [EMAIL PROTECTED] writes:

  MD On Wed, 9 Feb 2005, Larry Wall wrote:
   roadblocks thrown in their way.  That's true not only for LP, but
   also for FP, MP, XP, AOP, DBC, and hopefully several other varieties
  MD ^^  ^^^
  MD ^^  ^^^
  MD 1.  2.

  MD Ehmmm... sorry for the ignorance, but...

  MD 1. Functional Programming (right?)
  MD 2. Aspect Oriented Programming (right?)

i think so but i can't read larry's mind (nor would i want to! :)

XP = extreme programming
DBC = design by contract (or even designed by conway :)
MP = ??

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: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-10 Thread Markus Laire
John Macdonald wrote:
The basic problem is that a junction does not work well with
boolean operations, because the answer is usually sometimes
yes and sometimes no and until you resolve which of those is
the one you want, you have to proceed with both conditions.
Well, just patch the boolean operators to return one of (yes, no, 
sometimes) instead of plain (true, false) :)

Anyway, what are the usual semantics with junctions  boolean operators 
in some other languages? (This is so new concept to me, that I don't 
know of any language to compare against.)

--
Markus Laire
Jam. 1:5-6


Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-10 Thread David Landgren
Uri Guttman wrote:
[...]
i think so but i can't read larry's mind (nor would i want to! :)
XP = extreme programming
DBC = design by contract (or even designed by conway :)
MP = ??
Modular Programming
David


Re: = vs == [was: Perl 6 Summary for 2005-01-31 through 2004-02-8]

2005-02-10 Thread David Landgren
Aaron Sherman wrote:
So hold on to your socks... what about:
@x @y;
This reminds me of AWK's string concatenation behaviour:
  print this  $1  that  $2
This was nice feature at the time, but caused problems down the track 
when they wanted to add functions to the language in a subsequent 
revision. See section 8.1 of The AWK Programming Language for more details.

For that reason alone (future-proofing the grammar), I would be leery of 
going down this route.

David


Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-10 Thread Miroslav Silovic
[EMAIL PROTECTED] wrote:
i think so but i can't read larry's mind (nor would i want to! :)
XP = extreme programming
DBC = design by contract (or even designed by conway :)
MP = ??

Modular Programming
David
I think it's Metaprogramming. :)
   Miro


Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-10 Thread Larry Wall
On Thu, Feb 10, 2005 at 12:32:21PM +0100, Miroslav Silovic wrote:
: [EMAIL PROTECTED] wrote:
: 
: i think so but i can't read larry's mind (nor would i want to! :)
: 
: XP = extreme programming
: DBC = design by contract (or even designed by conway :)
: MP = ??
: 
: 
: Modular Programming
: 
: David
: 
: I think it's Metaprogramming. :)

You win.  Though it did occur to me at the time I wrote it that it could
also stand for multiprocessing.

Larry


Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-09 Thread Michele Dondi
On Tue, 8 Feb 2005, Matt Fowles wrote:
  pipe dreams
   Juerd wondered if he could mix = and == in a sane way. The answer
   appears to be no. Once you bring in == you should stick with it.
Huh?!? It doesn't seem to me that the answer is 'no'. In fact C ==  
is supposed to be yet another operator, albeit somewhat a special one. If 
I got it right the answer is actually 'yes': what Larry suggested is that 
it would be _stylistically_ better to stick with it once it is used in the 
first place.

Michele
--
Ah, but the REAL myster is -- did Pythagoras really discourage eating
beans because they resembled human testicles? Or is that another myth?
I always thought it was because of their musical qualities.
- Robert Israel in sci.math (slightly edited)


Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-09 Thread Matthew Walton
Michele Dondi wrote:
On Tue, 8 Feb 2005, Matt Fowles wrote:
  pipe dreams
   Juerd wondered if he could mix = and == in a sane way. The answer
   appears to be no. Once you bring in == you should stick with it.

Huh?!? It doesn't seem to me that the answer is 'no'. In fact C ==  
is supposed to be yet another operator, albeit somewhat a special one. 
If I got it right the answer is actually 'yes': what Larry suggested is 
that it would be _stylistically_ better to stick with it once it is used 
in the first place.
It was also a matter of precedence, as = binds more tightly than == so 
extra brackets would be required, leading to == being neater if you 
only use it in conjunction with other ==. Which I rather liked.



= vs == [was: Perl 6 Summary for 2005-01-31 through 2004-02-8]

2005-02-09 Thread Larry Wall
On Wed, Feb 09, 2005 at 10:04:48AM +0100, Michele Dondi wrote:
: On Tue, 8 Feb 2005, Matt Fowles wrote:
: 
:   pipe dreams
:Juerd wondered if he could mix = and == in a sane way. The answer
:appears to be no. Once you bring in == you should stick with it.
: 
: Huh?!? It doesn't seem to me that the answer is 'no'. In fact C ==  
: is supposed to be yet another operator, albeit somewhat a special one. If 
: I got it right the answer is actually 'yes': what Larry suggested is that 
: it would be _stylistically_ better to stick with it once it is used in the 
: first place.

Yes, you can certainly intermix them as long as you keep your
precedence straight with parentheses.  Though I suppose we could go
as far as to say that = is only scalar assignment, and you have to
use == or == for list assignment.  That would be...interesting...to
say the least.  For instance, it would eliminate the guessing games
about whether the syntactic form of the left side indicates a list.
Doubtless there would be some downsides too...

Larry


Re: = vs == [was: Perl 6 Summary for 2005-01-31 through 2004-02-8]

2005-02-09 Thread Michele Dondi
On Wed, 9 Feb 2005, Larry Wall wrote:
Yes, you can certainly intermix them as long as you keep your
precedence straight with parentheses.  Though I suppose we could go
as far as to say that = is only scalar assignment, and you have to
use == or == for list assignment.  That would be...interesting...to
Yes, it would indeed be interesing, but... it would also be really kinda 
too much!

Michele
--
I agree with Tore; it's sort of a Zen question.
   If you have to ask, it means you won't understand the answer.
   If you know enough to understand the answer, you won't need the question.
- Joe Smith in clpmisc, Re: Perl neq Python


Re: = vs == [was: Perl 6 Summary for 2005-01-31 through 2004-02-8]

2005-02-09 Thread Rod Adams
Larry Wall wrote:
On Wed, Feb 09, 2005 at 10:04:48AM +0100, Michele Dondi wrote:
: On Tue, 8 Feb 2005, Matt Fowles wrote:
: 
:   pipe dreams
:Juerd wondered if he could mix = and == in a sane way. The answer
:appears to be no. Once you bring in == you should stick with it.
: 
: Huh?!? It doesn't seem to me that the answer is 'no'. In fact C ==  
: is supposed to be yet another operator, albeit somewhat a special one. If 
: I got it right the answer is actually 'yes': what Larry suggested is that 
: it would be _stylistically_ better to stick with it once it is used in the 
: first place.

Yes, you can certainly intermix them as long as you keep your
precedence straight with parentheses.  Though I suppose we could go
as far as to say that = is only scalar assignment, and you have to
use == or == for list assignment.  That would be...interesting...to
say the least.  For instance, it would eliminate the guessing games
about whether the syntactic form of the left side indicates a list.
Doubtless there would be some downsides too...
Larry
I have to say that my initial reaction to this was one of disgust, but 
the more I think about it, the more I am warming to the idea of having a 
more robust method of declaring list context vs scalar context.

Issues that arise (my mind has yet to settle enough to label them 
downsides):

- List assignment is way too common to inflict a three char operator on, 
especially one that really likes having \S around it. (But don't ask me 
what else to use, not much is left available.) At least, it's way too 
common for me.

- orthogonality says that we would then need a left scalar assignment 
operator to mimic ==. Linguistically, this is Calculate all this, then 
stuff the result into $x. This would be very nifty when building long 
self-referring assignments, because the assignment appears after the 
expression which used the previous value, which just flows better. 
Insert arguments about why conditional predicates are a good idea.

- Would C @x = @y;  then mean C @x := @y; ?
- Somehow, C %x == %y;  feels very, very wrong.

Pluses:
- I've often considered list assignment to be one of the most useful and 
subtle things that makes Perl Perl, especially when combined with 
hash/array slices. However, attempting to bring less monkish fellows up 
to enlightenment often encounters mental blocks. This might help, having 
a different syntax makes it significantly less 'magical'. (even though 
Magic is Good, imho)

I should probably stop rambling now and get some sleep.
-- Rod Adams




Re: = vs == [was: Perl 6 Summary for 2005-01-31 through 2004-02-8]

2005-02-09 Thread Aaron Sherman
On Wed, 2005-02-09 at 06:04, Rod Adams wrote:
 Larry Wall wrote:

 Yes, you can certainly intermix them as long as you keep your
 precedence straight with parentheses.  Though I suppose we could go
 as far as to say that = is only scalar assignment, and you have to
 use == or == for list assignment.  That would be...interesting...to
 say the least.  For instance, it would eliminate the guessing games
 about whether the syntactic form of the left side indicates a list.
 Doubtless there would be some downsides too...

 Issues that arise (my mind has yet to settle enough to label them 
 downsides):
 
 - List assignment is way too common to inflict a three char operator on, 
 especially one that really likes having \S around it. (But don't ask me 
 what else to use, not much is left available.) At least, it's way too 
 common for me.

Yeah, well I always thought []= made more sense anyway :)

DISCLAIMER: I've been off perl6-* for a bit, and might not have my
syntax right here. Sorry.

There are a few ways to short-cut that. First off, you could (either
in-core, or in a module) set this up:

@x.(@y);

This is legit syntax today AFAIK, but has no plausible meaning that I
can figure out. It's still 3 characters, but eliminates any whitespace
ambiguity.

Ok, so the next method would be:

[EMAIL PROTECTED] = [EMAIL PROTECTED];

What does that do today? Is it legit? Again, 3 chars, but no
ambiguity

So hold on to your socks... what about:

@x @y;

Hey, if you're going to Huffman the syntax... But stay with me. This is
simply a matter of verbing the @x, which would have the same effect as:

@x.(@y);

and we discussed what that would mean, above. This has some nice
ramifications:

my @x 1, 2, 3; # Initialize @x with list of numbers
my @x foo(); # enforce scalar context on foo() and store
@x @y @z; # Chaining

-- 
 781-324-3772
 [EMAIL PROTECTED]
 http://www.ajs.com/~ajs



Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-09 Thread Ovid
--- Matt Fowles [EMAIL PROTECTED] wrote:

Logic Programming in Perl 6
 Ovid asked what logic programming in perl 6 would look like. No
 answer
 yet, but I suppose I can pick the low hanging fruit: as a
 limiting case
 you could always back out the entire perl 6 grammar and insert
 that of
 prolog.

I dunno about that.  The predicate calculus doesn't exactly translate
well to the sort of programming that Perl 6 is geared for.  I don't
think it's a matter of redefining a grammar.  Maybe unification can be
handled with junctions, but backtracking?  I am thinking that some
serious work down at the Parrot level would be necessary, but I would
be quite happy to be corrected :)

Cheers,
Ovid

=
If this message is a response to a question on a mailing list, please send
follow up questions to the list.

Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/


Re: Perl 6 Summary for 2005-01-31 through 2004-02-8

2005-02-09 Thread Larry Wall
On Wed, Feb 09, 2005 at 11:57:17AM -0800, Ovid wrote:
: --- Matt Fowles [EMAIL PROTECTED] wrote:
: 
: Logic Programming in Perl 6
:  Ovid asked what logic programming in perl 6 would look like. No
:  answer
:  yet, but I suppose I can pick the low hanging fruit: as a
:  limiting case
:  you could always back out the entire perl 6 grammar and insert
:  that of
:  prolog.
: 
: I dunno about that.  The predicate calculus doesn't exactly translate
: well to the sort of programming that Perl 6 is geared for.  I don't
: think it's a matter of redefining a grammar.  Maybe unification can be
: handled with junctions, but backtracking?  I am thinking that some
: serious work down at the Parrot level would be necessary, but I would
: be quite happy to be corrected :)

Depending on what level you write your engine, the backtracking can be
handled either with exceptions or, more generally, with continuations.
I personally think that unification is the hard part, but then it's
possible I'm just not in the right brainstate yet with regard to
junctions.  I tend to see junctions as sets of scalar values rather
than sets of list values, but maybe that's just the Pooh coming out
in me.  I was, in fact, thinking about Prolog unification just a bit
when I cargo-culted in the [$head, [EMAIL PROTECTED] form of parameter parsing,
but I don't profess to understand all of the implications.

Basically, logic programming is one of those things I'm not trying to
solve directly in Perl 6--I'm just trying to get Perl 6 close enough
that the real experts can have a go at it without having too many
roadblocks thrown in their way.  That's true not only for LP, but
also for FP, MP, XP, AOP, DBC, and hopefully several other varieties
of alphabet soup yet to be invented.

Larry


  1   2   3   4   5   >