Front page | perl.perl6.language |
Postings from December 2004
Perl 6 Summary for 2004-11-29 through 2004-12-06
From:
Matt Fowles
Date:
December 6, 2004 18:36
Subject:
Perl 6 Summary for 2004-11-29 through 2004-12-06
Message ID:
f2601a7f04120618273525374@mail.gmail.com
Perl 6 Summary for 2004-11-29 through 2004-12-06
All~
Last week I asked for help identifying the source of a quotation. One
friendly soul suggested Alan J. Perlis, but could not find an actual
attribution. It did lead me to find a very applicable (and in my mind
funny) quote from Perlis, which I will now inflict upon you all, before
your regularly scheduled summary:
When someone says "I want a programming language in which I need only
say what I wish done," give him a lollipop. -Alan J. Perlis
Perl 6 Language
qq:i
Jim Cromie wondered if there could be a qq:i which sometimes
interpolates and sometimes doesn't depending on whether the variable had
been previously defined. There was some discussion which led to the
conclusion that this was just asking for strange bugs.
<http://xrl.us/d95h>
getters and setters
John Siracusa wanted to know if Perl 6 would allow one to expose a
member variable to the outside world, but then later intercept
assignments to it without actually having to switch to using getters and
setters in all of the code that uses the variable. The answer: yes, yes
you can.
<http://xrl.us/d95i>
« foo >>
Richard Proctor asked if he could do <<list of words». Juerd pointed out
that this had already been asked. Which brings us to the fine point, ask
not Larry for he will tell you both yes and no. Although in this case I
think he said, probably...
<http://xrl.us/d95j>
flipflop operator
Juerd wondered about the fate of the flipflop. Larry explained that
while it had lost the election it was still going to work hard for you
in the Senate. Err, that's not quite right, he said that "It's leaving
syntactically but not semantically.", but the new syntax has not been
specified...
<http://xrl.us/d95k>
temp $var
Alexey Trofimenko wanted to know whether " temp " would preserve or
destroy its old value. Larry is leaning towards the Perl 5 semantics of
destroying, I think.
<http://xrl.us/d95m>
state vs my
Alexey Trofimenko wondered how much advice about optimizing Ruby also
applied to perl. Unfortunately, he also misunderstood the " state "
specifier. The topic then quickly veered into what exactly " state "
does.
<http://xrl.us/d95n>
specifying a hash's key type
Abhijit Mahabal wanted to know if he could specify a hash's key type.
The answer is yes, but the exact syntax seems to be worth a discussion.
Luke Palmer, in his Mathematician's rage, attempted to shoot down any
usage of Domain and Range, as they really should be Domain and Codomain.
<http://xrl.us/d95o>
<http://en.wikipedia.org/wiki/Range_%28mathematics%29> -- wikipedia:
range Range (mathematics) - Wikipedia, the free encyclopedia
container methods
Ashley Winters wants to have syntax for calling a method on the
container object rather than the containee. Luke Palmer agreed that this
was problematic. Larry appears to be in no hurry to add more operators
for this one, yet.
<http://xrl.us/d95p>
slight discrepancy between synopses
Stéphane Payrard pointed out a small issue in some synopses. Larry
replied oops.
<http://xrl.us/d95q>
arrays, lists, iterators, functions, coroutines, syntax
Many people suggested many things about the best thing to replace the
now missing " <" > op. I think Larry is leaning towards adding a undare
" = " op, which would do cool things. I don't thing anything is final
yet.
<http://xrl.us/d95r> -- iterators as functions
<http://xrl.us/d95s> -- unary " = " talk
Push/Pop/Pull/Monkey
Many folk voiced their dislike of shift and unshift. I must agree with
them, but they also suggested a great many alternatives, including
pull/put, get/unget, and even getting rid of Push/Pop. I must say that I
really dislike that last idea, fortunately I am no alone. Currently we
are waiting for inspiration to strike.
<http://xrl.us/d95t>
Topicalization
It was noticed that " for " might override one's topic at undesired
times. Larry rumminated about ways to solve this.
<http://xrl.us/d95u>
Required Whitespace
Rod Adams does not like inconsistent whitespace rules. Larry explained
why the existing rules really were consistent.
<http://xrl.us/d95v>
Perl 6 Compilers
The lack of traffic on p6c has given me another space to abuse. You
should listen to "Soul Coughing". If you would like to join in the fun
of abusing p6c, you should submit tests. Nothing is more abusive then
stress testing ;-)
Parrot
Tuning and Monitoring
Matt S asked how much support for tuning and monitoring. This week I
exercise the awesome powers of the summarizer and invoke the mighty
Warnock's Dilemnia.
<http://xrl.us/d95w>
imcc.globals--
Leo removed some imcc globals. Nice work.
<http://xrl.us/d95x>
ensure directories exist first
Andy Dougherty fixed a problem with writing a file in a non-existant
directory. Leo applied the patch.
<http://xrl.us/d95y>
Namespace-sub invocation
Last week Luke Palmer wanted to know about calling subs in namespaces. I
posted Leo's answer, but Dan does not like it. It should be a two step
process. First fetch, then invoke.
<http://xrl.us/d95z>
What is an opcode?
Thomas Seiler attempted to clear up some perceived confusion about what
exactly an "opcode" is. No responses...
<http://xrl.us/d952>
Lexicals, continuations, and register allocation
Dan voiced a final word in this long lived and lively thread, which
kicked off several children. Return Continuations (even once promoted)
restore their registers.
<http://xrl.us/d953> -- Dan's ruling
<http://xrl.us/d954> -- the long and lively thread
keyword arguments
Sam Ruby wondered how he out to handle keyword arguments to functions.
Dan admitted that this is complex and outlined the cheat he has been
contemplating. No one has either commented on or implemented it yet.
<http://xrl.us/d955>
What is and isn't up for grabs
Dan attempted to layout clear rules as to what things he would entertain
until parrot was functionally complete. Lets hope it sticks.
<http://xrl.us/d956>
AST + COMPILE_IMMEDIATE == :-(
Bernhard Schmalhofer provided a patch to fix some of the :-(. Leo
applied it.
<http://xrl.us/d957>
t/dynclass/pybuiltin.t fails
Will added a BUG to RT for this.
<http://xrl.us/d958>
benchmark tests
Justin DeVuyst submitted a patch, which fell through the cracks, to make
the benchmarks also be tests. Fortunately Matt Diephouse rescued it from
the cracks, and Leo applied it.
<http://xrl.us/d959>
too many opcodes
Leo voiced his opinion that there were too many opcodes and suggested a
scheme for cutting down on them. Dan corrected him that there were not
too many. Despite this surface disagreement, however, the spirit of
Leo's complaint was addressed by Dan. Thus, they can both be happy.
<http://xrl.us/d96a>
C89 issues
There was a little confusion about whether or not variable declarations
could follow code or not in C89. The answer is not.
<http://xrl.us/d96b>
perlhash iter busted
Sam Ruby noticed that the perlhash iter did not work. So he submitted a
test case for it. Leo fixed it (and presumably applied the test).
<http://xrl.us/d96c>
warnings cleanup
Garrett Rooney submitted a patch to fix some warnings. Leo applied it.
<http://xrl.us/d96d>
Objects, classes, metaclasses, and MMD dispatch
Dan's attempt to spec out objects from last week led to some discussion
of MMD. Leo suggested an implementation, and silence reigned.
<http://xrl.us/d96e>
<http://xrl.us/d96f> -- more MMD stuff
more Tcl stuff
Will added more new stuff to Tcl. Yay, Will!
<http://xrl.us/d96g>
internal exception clean up
James deBoer submitted a patch that cleans up internal exception output.
Then later he submitted a second better version of the patch. Warnock
applies.
<http://xrl.us/d96h>
dynamic evaluation of PAST
Bernhard Schmalhofer submitted a patch to add support for PAST dynamic
evaluation. Leo applied it.
<http://xrl.us/d96i>
Inline Caching
Leo explained inline caches and why 19 out of 20 calls like them. This
led to his suggesting that some of the opcodes we have which get offsets
from strings are a premature optimization. This led to some discussion
about whether or not what he suggested was in the Dan's earlier mandate.
<http://xrl.us/d96j> -- inline caching
<http://xrl.us/d96k> -- Leo's suggestion
help target in make
Bernhard Schmalhofer (whose name makes me very thankful for copy and
paste) submitted a patch anding new help target to parrot/docs/Makefile.
Will appied it.
<http://xrl.us/d96m>
Parrot and Strong Types
Cameron Zemek asked about supporting strongly typed languages on Parrot.
I got strong typing and static typing confused, fortunately Dan came to
the rescue with a good explanation. During the course of this thread,
both Haskell on Parrot and Prolog on Parrot got suggested. I like them
both, a lot.
<http://xrl.us/d96n> -- original message
<http://xrl.us/d96o> -- Dan to the rescue
move libnci.def out of root dir
Mitchell ::mumble:: provided a patch to do the above some time ago. Will
rescued it and asked for a ruling. The ruling is that it should be done.
I don't know if it WAS done, but it should be.
<http://xrl.us/d96p>
Tru64 cc/ld issues
Jarkko Hietaniemi posted a problem with building on Tru64. Sam Ruby
committed it.
<http://xrl.us/d96q>
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-11-29 through 2004-12-06
by Matt Fowles