Front page | perl.perl6.language |
Postings from March 2005
Perl 6 Summary for 2005-02-22 though 2005-03-07
From:
Matt Fowles
Date:
March 7, 2005 19:43
Subject:
Perl 6 Summary for 2005-02-22 though 2005-03-07
Message ID:
f2601a7f050307194347e6b88c@mail.gmail.com
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
"e"s 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,
compiling, and running all on different machines. Then he suggested that
this way led to drug induced madness...
<http://xrl.us/fdck>
sigils and structural subtypes
Thomas Sandlaß proposed using sigils to provide a structural type system
as opposed to its class/signature based one and its constraint based
one.
<http://xrl.us/fdcm>
optional binding
Luke Palmer wondered how optional arguments and slurpy ones would
interact. Brent and Larry explained that they would snap up whatever
arguments they could. But you can always beat them back by piping in
your slurpy stuff with " ==" >.
<http://xrl.us/fdcn>
types, classes and junctions
Thomas Sandlaß wants to know how the type system and the class system
interrelate. He drew a happy tree of A, B and its junctions. Really it
confused me, and I agree with him that I don't understand the value of
the one junction in the context of types.
<http://xrl.us/fdco>
Code Indentation
Wolverian does not like any of the ways he can indent his long function
declaration when traits are involved. He wants to allow a comma in them
to solve fix this dilemnia. Larry and others suggested a few
alternatives. This led to a discussion of module loading and
header/module files. Larry admitted that eh would not mind if Perl6
developed Ada like module files.
<http://xrl.us/fdcp>
Perl 6 Compiler
Pugs Releases and patches
Autrijus released Pugs 6.0.9 and 6.0.10 with help from many people.
<http://xrl.us/fdcq> -- 6.0.9
<http://xrl.us/fdcr> -- 6.0.10
various PUGS patches
Luke Palmer added more qq delimiters and fixed a unary - bug. Yuval
Kogman posted a fix that made anonymous blocks both parse and run.
Stevan Little un-TODOed a bunch of tests that started working; he went
on to add some new tests that do not yet pass. I suspect that he is just
providing more for him to un-TODO later... Yuval Kogman submitted
several patches including array interpolation, a CATCH {} test, a test
for an assignment bug, and a fix for a conditional of expected. Garrett
Rooney cleaned up given.t, added a test for %hash.kv, one for declaring
variables in a loop, and another for $?LINE AND $?FILE.
<http://xrl.us/fdcs> -- qq patch
<http://xrl.us/fdct> -- unary minus
<http://xrl.us/fdcu> -- anon blocks
<http://xrl.us/fdcv> -- un-TODO
<http://xrl.us/fdcw> -- more tests
<http://xrl.us/fdcx> -- array interpolation
<http://xrl.us/fdcy> -- CATCH
<http://xrl.us/fdcz> -- more un-TODO
<http://xrl.us/fdc2> -- assignment bug
<http://xrl.us/fdc3> -- given
<http://xrl.us/fdc4> -- conditional
<http://xrl.us/fdc5> -- more given
<http://xrl.us/fdc6> -- %hash.kv
<http://xrl.us/fdc7> -- loop
<http://xrl.us/fdc8> -- $?FILE
where to post things?
Abhijit Mahabal wondered if p6c was the correct place to post questions
about pugs and bugs in pugs. Patrick and Autrijus aggreed that p6c was
indeed the correct place for most initial questions and things would be
escalated to p6l only when the apocalypses|exegesis|synopses were not
clear.
<http://xrl.us/fdc9>
argument binding problems
Abhijit Mahabal found and analyzed a bug in pugs argument binding. No
solution yet.
<http://xrl.us/fdda>
no more numeric postfix operators
Do to the space eating postfix dot, Larry declared that there would be
no numeric postfix operators. A great cry went out as if there had been
a huge disturbance in the force or not.
<http://xrl.us/fddb>
&?SUB and pointy subs
Garrett Rooney was having trouble using the &?SUB variable in pointy
subs. That is because they don't use it. &?SUB is only for full fledges
subs. That way you can call &?SUB from within a for loop in a sub and
get the nice recursive behavior you likely want.
<http://xrl.us/fddc>
when is $_ set
Autrijus asked Larry for clarification of which circumstances set $_.
Larry explained that -> topicalized its first argument but full subs
undefed it until something else set it, while methods bind it to their
first invocant.
<http://xrl.us/fddd>
parens on method calls
Luke Palmer was having trouble getting " for %hash.keys { ... } " to
parse correctly. Larry replied that it is problematic if methods were to
be parsed in the same manner as subs, fortunately the parens are
mandatory when their are arguments in addition to invocants.
<http://xrl.us/fdde>
@x = @a == @x = @a[]
Autrijus wanted to verify that
my @x = @a; my @x = @a[]; my @x[] = @a;
were all the same. Larry confirmed it.
<http://xrl.us/fddf>
misleading compiler messages
Terrence Brannon notices a very confusing error message from PUGS.
<http://xrl.us/fddg>
integration testing
Darren Duncan has offered to get the ball rolling with Perl6 integration
testing. He is going to translate a few modules he has written to Perl6
so that they can act as more wholistic tests for Pugs and Perl6. There
is an interesting conversation about CPAN and Perl6 involved too.
<http://xrl.us/fddh>
Refs in Scalar context
Stevan Little found a bug involving refs in scalar context.
<http://xrl.us/fddi>
Parrot
Parrot_get_runtime_prefix
William Coleda found a bug in Parrot_get_runtime_prefix. Leo admitted
that it was a mistake.
<http://xrl.us/fddj>
Z machine
Leo put up his tiny Z machine for adoption. Steve Peters offered to
adopt it.
<http://xrl.us/fddk>
MinGW build
Michal Jurosz posted a link to his guide to building parrot with MinGW.
<http://xrl.us/fddm> -- post
<http://xrl.us/fddn> -- link
splitting VTABLE into interfaces
Leo and Sam posted their thoughts about splitting VTABLEs.
<http://xrl.us/fddo>
checking an attributes existence
Cory Spencer wants to check for the existence of an attribute, or at the
very least catch the exception thrown when an attribute is not found.
Leo told him that it was on the list of things to do.
<http://xrl.us/fddp>
calling c routines
Vlad Florentino wanted to know if he could call C library routines from
Parrot. The answer is NCI. Look at the SDL bindings as an example.
<http://xrl.us/fddq>
here doc for PIR
Bernhard Schmalhofer asked about adding heredoc support to PIR. This led
to Melvin ranting that PIR was not meant to be written by people. PIR
was intended to be an intermediate language targeted by compilers and
was not supposed to have human niceties like heredoc. Of course, for PIR
to reach that state, we need a high level language that actually targets
it...
<http://xrl.us/fddr>
PPC Linux troubles
Once more chromatic and Leo worked trying to fix Parrot for PPC Linux.
http://groups-beta.google.com/group/perl.perl6.internals/browse_thread/t
hread/33d379077b32a52a/dce84b845fefd8c5#dce84b845fefd8c5
<http://xrl.us/fdds>
automatic verification of Parrot assembly
Steve Coleman wants to develop a research project to verify assembly for
security purposes. Thus he had some questions about Parrot Assembly.
Melvin happily provided some answers.
<http://xrl.us/fddt>
tail_call improvements
Bob Rogers supplied a patch that improved the .tail_call support in
imcc. Leo applied it.
<http://xrl.us/fddu>
Strings support
Leo announced that Dan's string patch has been merged into the current
CVS head. Thanks go to Will Coleda for doing all the heavy lifting.
String content in assemblers now require a charset prefix.
<http://xrl.us/fddv>
Where are thou, Dan?
Edward Peschko wondered where Dan was. Will Coleda provided the answer.
He is MIA.
<http://xrl.us/fddw>
string encoding bug
Bernhard Schmalhofer found a bug with string encoding in PBC files. Leo
fixed it.
<http://xrl.us/fddx>
Parrot 0.1.2 "Pheonix" or counting is fun
Leo proudly announced the release of Parrot 0.1.2. Thank you everyone
for all your hard work.
<http://xrl.us/fddy>
test suite cleanup
Bernhard Schmalhofer provided a large patch which cleans up some of the
test suite. Leo gave him the go ahead to apply it.
<http://xrl.us/fddz>
dynclasses cleanup wanted
Leo posted a plea for a cleanup to dynclasses. No takers yet.
<http://xrl.us/fdd2>
Parrot Installer
Olivier Thauvin wants to make a Parrot RPM for Mandrake. Leo and Will
gave him pointers on where to start.
<http://xrl.us/fdd3>
warnocked documentation patch
Matt Diephouse wondered what the status of a patch he sent in was. Still
no response. ::nudge::
<http://xrl.us/fdd4>
OS X build problem
Will Coleda found an OS X build problem. Leo slapped himself on the
forehead and fixed it.
<http://xrl.us/fdd5>
strip the strip
Jarkko Hietaniemi posted a patch fixing a Tru64 build problem. Leo
applied it.
<http://xrl.us/fdd6>
gpm linkage
Ron Blaschke supplied a patch fixing gpm linkage. Leo applied it.
<http://xrl.us/fdd7>
Failing tests on Win32
Ron Blaschke posted a list of failing Win32 tests. He then mentioned
that he was going to fix the missing export symbols problem.
<http://xrl.us/fdd8>
objects and VTABLE changes
Leo posted a summary of his proposed changes and how they effect MMD and
objects.
<http://xrl.us/fdd9>
Rogue 0xA0 characters
Jarkko Hietaniemi found some random 0xA0 characters in parrot header
files. He removed them and Leo applied the patch.
<http://xrl.us/fdea>
Parrot Config
Adrian Lambeck wondered how he could query Parrot config. Will pointed
him to 'library/config.imc'.
<http://xrl.us/fdeb>
Tinderbox
Leo put out a request to get the tinderboxen revived. Steve Peters asked
if it would be useful to build it into Perl's current smoke report.
<http://xrl.us/fdec>
OS X test failure
Leo found and fixed a problem with dynclasses tests on OS X.
<http://xrl.us/fded>
Flatten return values
Bob Rogers wants to flatten a variable number of return values. Just as
he can flatten a variable number of arguments. Leo felt that it was
reasonable request.
<http://xrl.us/fdee>
Major changes
Leo proposed a set of core changes that should take parrot to 0.2 and
beyond. Roger Browne and Melvin Smith provided comments.
<http://xrl.us/fdef>
ncurses_life.imc error
Uwe Voelker had a problem with ncurses_life. chromatic sent him a patch
to try and see if it fixed it.
<http://xrl.us/fdeg>
The usual footer
Posting via the google groups interface does not work. To post to any of
these mailing lists please subscribe by sending email to
<perl6-internals-subscribe@perl.org>,
<perl6-language-subscribe@perl.org>, or
<perl6-compiler-subscribe@perl.org>. If you find these summaries useful
or enjoyable, please consider contributing to the Perl Foundation to
help support the development of Perl. You might also like to send
feedback to ubermatt@gmail.com
<http://donate.perl-foundation.org/> -- The Perl Foundation
<http://dev.perl.org/perl6/> -- Perl 6 Development site
<http://planet.parrotcode.org/> -- Parrot Blog aggregator
-
Perl 6 Summary for 2005-02-22 though 2005-03-07
by Matt Fowles