Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

chromatic
  (email not shown publicly)
http://wgz.org/chromatic/

Blog Information [technorati.com] Profile for chr0matic [technorati.com]

Journal of chromatic (983)

Friday February 27, 2009
07:02 PM

Perl 6 Design Minutes for 25 February 2009

[ #38567 ]

The Perl 6 design team met by phone on 25 February 2009. Larry, Allison, Jerry, Patrick, and chromatic attended.

Patrick:

  • continuing to prepare Rakudo for its next release
  • expect that to happen today
  • for now, the releases will be alphabetical: words beginning with A, B, C, D, etc.
  • partially to emphasize that I don't consider these user-ready releases
  • putting a number on that may imply that
  • no easy way to tie releases to numbers right now anyway
  • some people have said "What happens when you get to X?"
  • I hope we're releasing official releases by then
  • updated Rakudo's test harness
  • no longer requires Parrot's test harness
  • it now passes over 7000 spec tests
  • Jonathan gets most of the credit for that
  • he's been closing tickets and fixing bugs while I've been working on build issues
  • totally unplanned to hit that number
  • updated the spectest progress files to show our progress
  • haven't updated the graph today
  • following along conversations and trying to keep track of various changes

Allison:

  • spent the week mainly on install stuff
  • various languages can build from an installed Parrot without depending on the build directory
  • still some hard-coded paths within Parrot's configuration system for C compilation
  • Rakudo and Partcl can definitely build from an installed Parrot
  • need to do Pipp next
  • set up a languages repository on svn.parrot.org
  • waiting for some admin work on that
  • came up with a saner version number strategy

Patrick:

  • I find it much easier to say that January and July are the memorable releases than to attach numbers to them

Allison:

  • with Ubuntu, it's likely we'll get 1.0 and 2.0 into the distribution and not say 1.4
  • they have an upstream packaging freeze about a month before we put out our release
  • the release that goes into their 09.10 will be 1.0, not 1.4, because the latter won't be out in time

c:

  • why not 1.3?

Allison:

  • that's a developer release

c:

  • we're going to have to talk about that

Allison:

  • we have a final copyright assignment from the Perl Foundation to the Parrot Foundation

Jerry:

  • have some small pending changes to S19
  • nothing much to report there
  • Google's giving a GSoC presentation at the University of Washington
  • they've asked me to speak about our experiences last year with TPF
  • I'll invite people to join the Perl and Parrot Foundations project this year
  • hope to have an ideas page to point people at at that point

c:

  • have you spoken to Jonathan Leto about that?

Jerry:

  • only heard about it yesterday
  • it's on my list
  • looking for presentations on GSoC to find slides to borrow
  • about all I've had time to do lately

Larry:

  • having a really nice problem
  • a lot of people are helping to flesh out the specifications
  • the nice problem is that they have to be managed
  • trying to oversee what people are hacking into the new specs
  • want to make sure things don't go too far afield
  • weighed in on event processing and inexact numeric matches on the mailing list
  • nothing there is quite spec-worthy yet
  • doing name-whackage of various sorts
  • killed off the $*DEFIN, $*DEFOUT, $*DEFERR symbols which emulated Perl 5's old IO select states
  • not it relies on that those are contextual vars: $*IN, $*OUT, $*ERR
  • any scope can override them
  • that's simplification
  • many compiler variables that were redundant and error prone with regard to nested scopes
  • you now chase links through your symbol tables to find out your lexical or package nesting
  • unhandwaved how a setting can loop around user code
  • you can mark it so that it knows how to dump the lexical scope surrounding user code
  • there's a stub in there called YOU_ARE_HERE
  • I'm open to better names
  • clarified associativity at the same precedence level
  • that can happen with user-defined operators
  • non-associative in that case, so you get an error
  • noticed that the tighter and looser precedence generators only produced precedence levels that were close to one that exists
  • wanted the ability to define something in the middle
  • if you use both in the same precedence level, it splits the difference

c:

  • sounds like you need a synonym: between

Larry:

  • tried that, but you have to specify two things anyway, and there's already syntax for that
  • after the discussion of time semantics, put in two core types: Instance and Duration
  • defined to be well-behaved in terms of time
  • most of my standards hacking has been in user-oriented error messages
  • now an error message that warns you if you try to use a C++ constructor

c:

  • can we backport that one?

Larry:

  • it's also a valid Perl 5 constructor
  • just thought it would be more insulting to call it a C++-style constructor :-)

c:

  • I still want it

Larry:

  • previous patch to catch Haskell-style open-ended ranges where you leave out one of the terms
  • that prevented talking about any .. operator in square brackets
  • we couldn't use the notation where you put square brackets around infix operators
  • I had to fix that
  • fixed up the warning when interpreting if() as a function call
  • introduced enum names into the symbol table
  • it's a bit of a hack
  • anonymous enums now parsed correctly
  • no more complaints of missing package when you use CALLER:: or CONTEXT::
  • can now introduce term symbols, as well as prefix, infix, and postfix
  • other random warning-suppresion bugs

c:

  • working on project management, version numbers, deprecation, triaging guidelines
  • trying to fix as many bugs as possible
  • reviewing SKIP and TODO tests

Jerry:

  • I read your Setting work this week
  • can you roll back a Setting?
  • can you access something outside the current Setting?
  • I don't have a use case
  • is it as simple as calling OUTER::Setting?

Larry:

  • if there are multiple settings, they're just enclosing lexical scopes
  • any mechanism to navigate lexical scopes works
  • the outermost is CORE:: and so forth

Jerry:

  • to cut off a file in mid-stream processed with -n, could I close the handle in CORE::?

Larry:

  • chances are that's a dynamic variable, a $*ARGV equivalent

Jerry:

  • can I find out which Setting I'm currently in?
  • finding out its name
  • inside my current runloop, can I tell which Settings I have loaded?

Larry:

  • we probably want to have a way of naming them, much as CORE:: has a name
  • lexical scope should have a way of saying "My lexical scope has a name, and it is..."

c:

  • O-S-C-A-R?

Larry:

  • ... but I haven't thought about that yet

Jerry:

  • any status on protoregexes and stuff?

Patrick:

  • I end up being the person of last resort to do things that need doing
  • had hoped that other people would pick up the ball on build issues and stuff
  • I can make predictions for the next few months, but life catches me off guard
  • once I get back to working on PGE, it won't take too long
  • it would bug me more if the lack of those features were holding Rakudo back
  • that doesn't appear to be the case
  • we're making good progress and we're getting new features
  • we could use them for adverbs, but we can work around that now
  • if that reaches a pain threshold, it'll move it higher in the queue
  • that's where I'm focusing my efforts

Jerry:

  • Jonathan's very good at moving things forward

Patrick:

  • it's fortunate that each of us tends to like doing what the other person hates
  • with the exception of lexicals and the build system

Allison:

  • no one ever wants to do a build system

Patrick:

  • delayed binding helps this though
  • seeing grammar changes as they come up makes it easier to figure out what to do
  • with the Setting code now, and features written in Perl 6, we're closer to finishing one of my milestones

Jerry:

  • how will the install process be for Rakudo?
  • it seems like Parrot is doing the heavy lifting there

Allison:

  • I've been working on independent building
  • what would you like for installing?
  • an install script where you identify your language files, and it puts them there?
  • you have a languages/ directory in the Parrot lib directory
  • you have configuration files that tell you where they are
  • you just copy files after that

Jerry:

  • certain things might need changing
  • grouping the docs?
  • cross-indexing?
  • if you're doing dynops or dynpmcs?

Allison:

  • haven't been doing any doc installs, just executable files
  • maybe they should go in with the Parrot docs
  • installation works via a MANIFEST
  • you specify the type of file with a tag in the MANIFEST, whether doc or lib
  • are you happy to have a MANIFEST in your language directory
  • let the installer take care of it for you?

Patrick:

  • if there's a script to do the install, we'll probably use that
  • I just want to get it so that people can build and run Rakudo
  • I'll probably look at installation in a month or two

Allison:

  • I'll look at a simple MANIFEST for Rakudo
  • will patch your Makefile for that
  • will build a basic installer script
  • it'll be a basic, working install

Jerry:

  • the mk_languages_shell.pl script needs an update to make a MANIFEST
  • François has been keeping that up to date

Allison:

  • I haven't added MANIFEST to any other languages yet
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.