Front page | perl.perl6.compiler |
Postings from December 2004
Perl 6 Summary for 2004-12-06 through 2004-12-20
From:
Matt Fowles
Date:
December 20, 2004 18:53
Subject:
Perl 6 Summary for 2004-12-06 through 2004-12-20
Message ID:
f2601a7f04122018522c1d8a73@mail.gmail.com
Perl 6 Summary for 2004-12-06 through 2004-12-20
All~
The observant among you might notice that I missed last week's summary.
With the hubbub and confusion of the holidays, I blame ninjas, in
particular Ryu Hyabusa. Given that Christmas is next weekend and New
Years is the weekend after that, what you are like to see in the future
are a pair of 10 day summaries are some other equally irregular pattern.
If you are thinking of using the dates of my summaries to seed a random
number generator, I would advise against it as I can be really easily
bought ;-) Without more ado, I give you this fortnight's summary
starting with
Perl 6 Language
Lexical scope of parametric declaration blocks
Ashley Winters wanted to know what the differences between type
parameter lists and sub parameter lists. Luke Palmer could not think of
any.
<http://xrl.us/ef7f>
object representation
Abhijit Mahabal noticed that S12 allowed one to supply an object layout
to " bless() " and wondered if one could really have two instances of
the same class with different layouts. Larry admitted that he had
probably not intended for that to be the case.
<http://xrl.us/ef7g>
capturing into a hash, hypothetically
Patrick R. Michaud wondered about capturing things into a hash in S05,
as "<ident>" now captures. Larry admitted that it was probably supposed
to be " («ident»)", but also noticed that this exposed a blind spot in
the design. He went on to ruminate about this blind spot and ways to
solve it. Much churning went on and it seems that multiple different
(but identically named) rule captures can now be performed by adding
information after a dash ala "<ws-1> <ws-2> <ws-3>".
<http://xrl.us/ef7h>
custom subscripting
When talking about key Type for a hash, Larry offhandedly commented
about attaching a block to a hash or array to provided custom
subscripting. Many people drooled over the awesome syntactic sugar this
could provide them.
<http://xrl.us/ef7i>
undeclared attributes
Dave Whipp hoped that he need not predeclare his attributes as they
necessarily start with $. the fact that a new variable is an attribute
is easy to determine. Abhijit Mahabal thought that it would not be a
good idea, but then asked if classes could be declared as not strict.
Still waiting for more official word...
<http://xrl.us/ef7j>
classes which autovivify attributes
Abhijit Mahabal wondered about creating a class that populates it
attributes on demand, as some of them might be rarely used. Larry
suggested that it would be something that one should not undertake
lightly and a simple hash attribute would provide most of what is
wanted. This also morphed into the eternal debate about strictures and
one liners. There has to be a joke in there somewhere.... A stricture, a
one-liner, and Larry Wall walk into a bar...
<http://xrl.us/ef7k>
auto my
Rod Adams wondered if having my occur automatically for new variables
might be worthwhile. Several people commented that some languages
already do this and it is simply an aesthetic choice. The concensus
seems to be that Perl has already made this choice and is sticking with
its answer.
<http://xrl.us/ef7m>
Perl 6 Compiler
At long last google has picked up P6C, I guess I have slightly mixed
emotions about this as it takes a running gag from me. Alas, I will have
to find another.
PGE tests
Markus Laire began working on a formerly small script to convert perl
5's regex tests to PGE. He produced a modest 700 tests a few of which
pass. Nice work. Patrick suggested only running the script once and
thereafter maintaining the tests external to perl5.
<http://xrl.us/ef7n> -- initial post
<http://xrl.us/ef7o> -- Patrick's suggestion
<http://xrl.us/ef7p> -- how to deal with abiguity converting
On your marks, get set, HACK!
Luke Palmer opened the door to hacking and has requested rules for parts
of the Perl 6 Grammar. Patrick posted a link to the SVN repository for
it.
<http://xrl.us/ef7q>
<https://svn.perl.org/perl6>
Parrot
"\0namespace"
Leo commited a fix to support namespace mangling.
<http://xrl.us/ef7r>
store global => invalidate method cache
Leo commited a fix to invalidate the method cache when a global is
stored.
<http://xrl.us/ef7s>
pow, hash, batman sound effect!
Leo added pow and hash as vtables and opcodes. He also renamed
"new_extended" to "instantiate".
<http://xrl.us/ef7t>
base scalar semantics
Leo asked for comments about base PMC semantics and receive none.
<http://xrl.us/ef7u>
split now independant of Perl
James deBoer provided a patch removing the dependancy on Perl Array in
split. Will applied it.
<http://xrl.us/ef7v>
SVN
Periodically every project project has a thread about switching some
basic tool to some other basic tool. This time the thread is in P6I and
the tools in questions are CVS and SVN. Many voiced support, nothing was
addressed with any permanence.
<http://xrl.us/ef7w>
continuations
At long last the long running continuation thread has died down. Unless
I am mistaken, the status quo remains and return continuations should
restore register contents even when promoted and repeatedly invoked.
<http://xrl.us/ef7x>
correctly dispatching opcodes and functions
Sam Ruby had some concern about dynamically overloading "__add__" in
python. Leo and Sam had quite a bit of back and forth about the proper
way to handle it. I am not sure what resolution was reached other than
that it should work.
<http://xrl.us/ef7y>
dynamic libs and TCL issues
Klaas-Jan Stol had some problems with tcl and dynamic libs. Sam Ruby
provided the necessary fix for him.
<http://xrl.us/ef7z>
class refactoring
Leo began refactorying base PMCs like Integer. He also started a TODO of
what remains. This somehow morphed into discussion of logical xor...
<http://xrl.us/ef72>
register coloring issues
Dan posted a failing test case for the register coloring. Leo fixed it.
<http://xrl.us/ef73>
split on string vs regex
James deBoer wondered about the split opcodes current insistence on a
string. Some advocated making it a method on a class, others wanted to
change the opcode to take a PMC instead of a string.
<http://xrl.us/ef74>
self vs P2
Sam Ruby discovered that usages of P2 had broken as it was no longer the
object of a method. Fortunately, Leo provided the helpful "self".
<http://xrl.us/ef75>
Linux PPC
Long ago there were troubles with Linux on PPC. Recently, chromatic
submitted a patch. More recently, Warnock applied.
<http://xrl.us/ef76>
whether vs weather
This morning it was cold and snowy. Sadly, instead of fixing my dreary
weather, chromatic fixed a mistyped "whether".
<http://xrl.us/ef77>
benchmarks as test
Justin DeVuyst supplied a patch to use the benchmarks as tests. Leo
applied it.
<http://xrl.us/ef78>
make [install|docs|monkeys]
Adrian Lambeck suggested a few improvements to the current make set up,
including a cool sounding "make doc-install". Warnock applies.
<http://xrl.us/ef79>
Dan still alive
Dan sent an apology about the egregious amount of work he had and
assured everyone that he was actively trying to get caught up. In the
mean time, cc him on things that need his personal attention like you
Christmas list.
<http://xrl.us/ef8b>
IMCC parser no longer chokes on empty sub
Will noted that gremlins had fixed a problem in IMCC with empty subs.
Yay, gremlins!
<http://xrl.us/ef8c>
current object invocation
Dan discovered that Parrot was putting the current object into its place
after caliing invoke. This was of course bad, so Leo fixed it.
<http://xrl.us/ef8d>
configure help
Somebody had trouble with Configure.pl. Leo pointed out the usefulness
of "--verbose=2".
<http://xrl.us/ef8e>
./parrot nonexistant.pbc => core dump
Dan noticed that parrot would core dump when given a nonexistance
bytecode file. Matthew Zimmerman and chromatic fought to get a patch in
first. One was applied.
<http://xrl.us/ef8f>
python dynclasses build issues
Will notice a multiple definition problem in the py* dynclasses, Sam
fixed it.
<http://xrl.us/ef8g>
MMD dispatch problem
Jens Rieks reported a problem with mmd_dispatch_v_pnp. Leo could not
reproduce it.
<http://xrl.us/ef8h>
mod_parrot with Mandelbrot
Jeff Horwitz posted a link to a webpage using mod_parrot to generate
ascii Mandelbrot sets. Really cool, but I prefer Julia sets.
<http://xrl.us/ef8i> -- the post
<http://www.smashing.org/mod_parrot> -- the page
Documentation shortcomings
Dave Brondsema pointed out that the main FAQ should include info on the
IRC channels/hosts that Parroters use. He also noted that some PDDs were
not available on the website. Warnock applies.
<http://xrl.us/ef8j> -- irc
<http://xrl.us/ef8k> -- pdd
scope cleanup issues
Leo and Dan hashed out some of the issues with scope clean up and stale
registers keeping things alive.
<http://xrl.us/ef8m>
win-xp build issues
Nicu Ionita reported a problem with the build on WinXP. Leo fixed it.
<http://xrl.us/ef8n>
runops_fromc
Sam Ruby provided a patch allowing runops_fromc access to registers. Leo
applied it.
<http://xrl.us/ef8o>
Parameter fillin problem
Dan posted about a problem he was having. Unforunately, he cannot get a
simple test case against CVS head, and Leo can't reproduce it.
<http://xrl.us/ef8p>
class autoload
Leo added support for autoloading dynamic classes for Python and Tcl.
Sam Ruby suggested ways to extend it further.
<http://xrl.us/ef8q>
P5 is the new P2
Sam and Leo came to the conclusion that the current object should be
passed in P5 as well as P2. Currently they are waiting for Dan... Nudge,
Nudge...
<http://xrl.us/ef8r>
get_anonymous_subclass
Leo wondered what get_anonymous_subclass was for. Dan explained.
<http://xrl.us/ef8s>
Context, Wrappers, rules, NCI
Sam and Leo had a discussion about what exactly VTABLE functions, MMD
functions, and ops were allowed to do. I think they spent much of the
time talking past eachother and all of it talking past me.
<http://xrl.us/ef8t>
<http://xrl.us/ef8u>
namespaces as objects
Sam Ruby wants to use namespaces as object. Leo is not so sure that this
is the right way to go about life. This turning tinto a dialog about
find_method.
<http://xrl.us/ef8v>
POD cleanup
chromatic provided and threatened to apply a patch fixing up some of the
POD knits.
<http://xrl.us/ef8w>
Plain ole Hash
Bernhard Schmalhofer provided a patch cleaning up Hash. Sam wondered if
the NCI calls in Hash::fromkeys could be removed along with a few
others. Leo said that iterators in general needed some another round of
thought.
<http://xrl.us/ef8x>
opcode/sub conflict
Dave Brondsema notice that there was a problem with subs whose name
conflicts with opcodes. Luke Palmer provided a workaround.
<http://xrl.us/ef8y>
duplicate subclass naming errors
Simon Glover noticed some problems with duplicate subclass names.
Noteably that one could not create two nameless classes.
<http://xrl.us/ef8z>
MMD and VTABLE_find
Leo suggested a mechanism for MMD and VTABLE_find. Sam Ruby provided
some input.
<http://xrl.us/ef82>
auxiliary variables
Tomas Necas wondered about the necessity of auxiliary variables in
Perl6. Luke Palmer and Dan provided some answers.
<http://xrl.us/ef83>
N register stomping
Dan noticed that his N register were getting stomped occassionally.
<http://xrl.us/ef84>
The usual footer
If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send feedback to 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 2004-12-06 through 2004-12-20
by Matt Fowles