Perl 6 Design Minutes for 30 July 2008
<summary type="xhtml">The Perl 6 design team met by phone on 30 July 2008. Allison, Jerry, Will, Jesse, and chromatic attended.
Allison:
c:
Allison:
Jerry:
Jesse:
Will:
c:
Jesse:
Jerry:
c:
Jerry:
c:
Jerry:
Allison:
Jerry:
c:
Jerry:
c:
Jerry:
Will:
Jerry:
Will:
c:
Will:
c:
Jesse:
Allison:
Upgrading Perl Should be Dull, Boring, and Frequent
<summary type="xhtml">(Originally posted to p5p and inspired by Re: forcing older perl to use an older version of cpan module?, by Nicholas.)
Maybe it's possible to solve [the problem of businesses having trouble upgrading Perl installations and the lack of volunteers supporting Perl 5] by giving up the polite fiction that the feature-based release process works.
If you (not Nicholas) think it works, answer me this question: with eight months of bug fixes and updates and patches to bleadperl, will 5.10 magically become "stable" and not "testing" only when someone works out the proper given/when semantics? As far as I can tell, that's the main work standing in the way of a 5.10.1 release, at which point people start to believe that they should use 5.10 instead of 5.8.
Answer me this: if you believe that the best upgrades are infrequent upgrades, why do you update your source tree right before you make a new change?
Answer me this: what happens when someone asks "Why is argument unpacking so much slower in 5.10.0 than in 5.8.8?" and no one can point to a vendor backporting patches aggressively and the best answer there is is "There's a fix in what will become 5.10.1... eventually... someday"? (Guess how the backport avalanche begins.)
Most of all, answer me this: why does the oft-proposed solution to the problem that "It's difficult to upgrade Perl and its ecosystem" include slowing things down and throwing money and time and talent at boring, manual slog-work of verifying that mountains of changes in once-in-a-blue-moon big bang big thud releases work? Why not make upgrading Perl so simple and easy that it's boring and easy to automate because it's frequent, reliable, and repeatable?
In return, I'll answer two questions premptively, for free.
1) It's possible because the Linux kernel does it -- and if you want a project that's larger and older than Perl 5, has orders of magnitude more changes, and is very possibly more widespread, there's your example.
2) The reason to upgrade every month or two months or three months is because bleadperl is better than it was three or two or one month(s) ago. (If it's not, that's a different problem, and we should probably stop developing Perl if we can't fix that.)
Perl 6 Design Minutes for 16 July 2008
<summary type="xhtml">The Perl 6 design team met by phone on 16 July 2008. Larry, Allison, Jerry, Will, Jesse, and chromatic attended.
Larry:
Allison:
Jerry:
Integer) instead of funky workaroundsenum supportPatrick: (in a followup)
The primarily reason we want HLL support is to take advantage of HLL type
mapping, so that str register-to-PMC conversion automatically gives me back a
Perl 6 Str object instead of a Parrot String PMC.
Same for int to Int, num to
Num, and ResizablePMCArray to List
conversions.
c:
Will:
Jesse:
Allison:
c:
Jesse:
c:
Jesse:
Jerry:
Larry:
c:
Larry:
Jerry:
Jesse:
Larry:
Jerry:
Larry:
Jesse:
Larry:
Jesse:
Larry:
Jerry:
Larry:
Allison:
Jerry:
Jesse:
Jerry:
Jesse:
Jerry:
Perl 6 Design Minutes for 09 July 2008
<summary type="xhtml">The Perl 6 design team met by phone on 09 July 2008. Larry, Allison, Jesse, Jerry, Patrick, and chromatic attended.
Larry:
Allison:
Jesse:
Allison:
Jesse:
Allison:
Patrick:
Jesse:
Patrick:
$_, $!, and $/ Any classJerry:
Allison:
Jerry:
c:
Patrick:
c:
Parrot::Test adds any flags when it invokes ParrotPatrick:
Allison:
Patrick:
Allison:
Patrick:
Allison:
Patrick:
Larry:
Patrick:
Larry:
Patrick:
eval built-in, can someone take String.eval and have it do what you expect?Larry:
Patrick:
Jerry:
Larry:
Jerry:
Patrick:
Jerry:
Allison:
Jerry:
Patrick:
Larry:
Allison:
c:
Patrick:
Allison:
c:
Patrick:
c:
Patrick:
Larry:
Perl 6 Design Meeting Minutes for 02 July 2008
The Perl 6 design team met by phone on 02 July 2008. Allison, Will, Jerry, Patrick, and chromatic attended.
Allison:
Will:
Jerry:
Allison:
Jerry:
Patrick:
$_ and implicit method callsAny class$_, $!, and $/ to work correctlyc:
Jerry:
c:
Will:
say anywayFloat Allison:
Patrick:
Jerry:
Allison:
Patrick:
Allison:
Patrick:
Allison:
c:
Jerry:
Allison:
Jerry:
Allison:
Why "Require" and "Recommend" are Different Words
<summary type="xhtml">[ERROR] [Fri Aug 15 07:46:43 2008] This module requires 'Module::Build' and 'CPANPLUS::Dist::Build' to be installed, but you don't have it! Will fall back to 'CPANPLUS::Dist::MM', but might not be able to install!
FAIL Test-Kwalitee-1.01 i386-netbsd-thread-multi-64int 3.1
I didn't choose my distro's requirements randomly. I chose them because they're necessary to build, test, and install my distro. I'm not sure what this failure report should tell me. It won't work without the requirements I've already indicated are requirements?
Someone should write a CPAN testers client in a language other than Perl so people can use it to report that CPAN distributions tend to fail on boxes without Perl installed.
Perl 6 Design Minutes for 25 June 2008
The Perl 6 design team met by phone on 11 June 2008. Larry, Allison, Patrick, Will, and chromatic attended.
Larry:
<...> and friends... would match three characters in a rowsamebase switch to sameaccent ws_ attributes are gone nowAllison:
Will:
Patrick:
local_branch and local_branch_return are okaylocal_return Allison:
Patrick:
Allison:
c:
Patrick:
c:
Patrick:
c:
Patrick:
newclosure on something with an inner scope which does not do C, the pointers are all messed upThe Best Kind of True: Technically True
If you program in a language with a extensible syntax, such as XML in XSLT or S-expressions in Common Lisp, Scheme, arc, etc., you never run into the problems we see above in Ruby.
— Joseph Miklojcik, Growth, Syntax, Ruby 1.9, and That Bad Smell You Smell
That's technically true. Those syntaxes have other problems.
I agree that certain syntax decisions preclude certain growth possibilities (you may recall that I believe Python's whitespace problem is vertical, not horizontal), but S-expressions aren't magic pixie dust to sprinkle around your language to make it perfectly usable and free of all syntax-related problems. The standard argument is that you should use tools to handle all of the curvy or pointy symbols, but if you only ever interact with a programming language via tools, does the internal representation really matter? Why flatten your tree into a two-dimensional textual representation form when you can keep it around in a tree? Note that Smalltalk's not in Joseph's list; it might overshadow the other languages mentioned in terms of human friendliness and power.
How interesting that the sentence "Programs should be written for people to read, and only incidentally for machines to execute." doesn't follow SICP's own blessed (verb noun adjective) form.
Did You Ask the Landlord?
Among the features backported into 1.8.7 from Ruby 1.9 is a new
#charsattribute. Unfortunately, it is incompatible with the Rails 2.0 implementation of#chars.
— Avdi Grimm, The Trifecta of FAIL
It's a bad idea to remodel a house you don't own. Maybe the word "monkeysquatting" is more descriptive (if not more visceral).
Free Software Project Management Axioms
<summary type="xhtml">Jesse admitted (in private, anyhow) that my crazy ideas about free software release cycles and support plans may have some merit. He also asked me to explain them in much more detail than pithy quotes in email and on IRC.
First, I want to assert some axioms. I'm doing this separately so that anything which isn't immediately obvious as true can trigger a lot of comments and discussion separate from my thoughts on release cycles and support. Here goes.
I expect there may be a few objections to these sixteen axioms.
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!