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)

Tuesday October 14, 2008
05:00 PM

Perl 6 Design Minutes for 01 October 2008

[ #37666 ]

The Perl 6 design team met by phone on 01 October 2008. Larry, Patrick, Jerry, Jesse, Nicholas, and chromatic attended.

Larry:

  • busy as usual
  • did some hacking and a bit of spec work
  • defining how assignment operators behave when the left side is a protoobject
  • took out the curly stars at the end of rules a few weeks ago
  • put in the correct semantics
  • calls a reduction with the current tag now
  • don't need an action now
  • broke macro parsing
  • you can't define and parse factorial now there
  • going to the University of Illinois tomorrow
  • an ACM conference: Reflection/Projection
  • giving a keynote on Friday night
  • a workshop on Saturday
  • that's more or less my standard parser talk
  • my keynote is the Studies in the Ballistic Arts talk
  • slightly more general interest

Jesse:

  • did you say that recent changes should make it easier to parse more Perl 6 in Perl 5?

Larry:

  • it should make it easier to translate more of gimme5 with a Perl 6 parser not a custom parser
  • should make it easier to parse more Perl 6 into the corresponding Perl 5
  • then I can rewrite cursor from Perl 5 into Perl 6, and backtranslate it to whatever engine

Patrick:

  • not a lot of coding
  • lots of helping others code
  • getting a lot of things done
  • fixed some Parrot issues out of the way
  • chromatic fixed floating point constants
  • lots of spec tests passing
  • close to 800 new ones in the past week
  • 20% in just one week

Jesse:

  • how much more spec are they covering?
  • how much is it checking addition of pairs of numbers?

Patrick:

  • some broken features now work
  • many of them are that Moritz and friends have found passing tests in the whole suite and included them in our suite
  • some are new features
  • it's a pretty good mix
  • there's little addition of tests for existing features
  • lots of tests for features we didn't test yet
  • Stephen Weeks implemented loop control exceptions in PCT
  • also for Cardinal
  • that was this morning
  • we're looking at those exceptions in general
  • we want to handle them in a sane manner in Parrot
  • otherwise, just asking design questions
  • answering questions on IRC
  • lots of thinking about fixing reference and value types in Rakduo
  • trying to get momentum in my head to do that quickly
  • will require refactoring plenty of things in the existing code
  • I'll have to review a lot of Jonathan's code in the process

Jerry:

  • things are going well
  • have a lot more time lately for Perl 6 and Parrot
  • currently looking at S11
  • the documentation for exportation
  • want to get namespace exporting in Rakudo
  • that's another step toward writing Rakudo in Perl 6

Patrick:

  • we should talk about that
  • I'll tell you how to do it
  • I have some pretty specific ideas

Jerry:

  • submitted a grant proposal to TPF for S19
  • the command-line implementation
  • lots of IRC conversations
  • lots of good questions
  • it's hard to give Moritz enough praise for the work he's been doing on the spec tests
  • it's amazing progress

c:

  • haven't had much spare time
  • willing to concentrate on blockers
  • may be able to fix one or two crazy bugs a week

Patrick:

  • we found a workaround for the weird problem we had last night

c:

  • you had a lopsided exception handler

Patrick:

  • I saw that
  • switched the order of a few statements
  • then saw the lopsided exception handler
  • I'll file my example code as a bug so we can fix it

Jesse:

  • I talked to Robert about how to get a prominent download link for Rakudo on perl.org
  • if it's doable to get a nice target page for how to build and use Rakudo, that's easy to get up
  • need a page to describe the four steps you need to get /usr/bin/perl6

Jerry:

  • and maybe a link for binary distributions
  • Debian for example

Jesse:

  • that's not terribly common in the Perl world
  • Windows maybe
  • if the package downloads exist, that's a good idea
  • I don't recommend delaying things for that though

Patrick:

  • one problem with those distributions is that things go so quickly out of date

Jesse:

  • the last release was only a couple of weeks ago

Patrick:

  • the difference from week to week can be huge
  • list assignment immediately starts working, for example

Nicholas:

  • the idea is to shut up naysayers who say "It's not there" or "It's not easy"
  • people who say "I tried it, but this didn't work" you can point to something current

Jesse:

  • is there a page which describes how to download a tarball and make it go?
  • versus a Subversion version?
  • is there a "How to build Rakudo" page?

Patrick:

  • I'll put one up on the wiki
  • someone can help keep it up to date

Jesse:

  • there's no reason not to have the canonical version on the wiki
  • when someone complains, it can get updated
  • mostly I'm just working and running a small business in a slow economy

Patrick:

  • do you envision the global flag on regexs part of the regex or the caller?

Larry:

  • I've thought of it as part of the thing that calls the regex
  • I could see it going the other way too
  • no good arguments in my head one way or the other

Patrick:

  • tradtitionally I would have preferred it as the thing that calls the regex
  • I like it if regexes do one match, and whatever's driving it does it next

Larry:

  • if you want .*? semantics inside the regex, you ought to use it

Patrick:

  • when we parse :g, it's an adverb to the operator, not the regex

Larry:

  • inside we have submatches with ~~
  • people will want adverbs on those
  • we need to think about whether that's reasonable or possible

Patrick:

  • I'll start with the thing that calls it

Larry:

  • we can rethink that later if we need to
  • we can recast it as rewritten rules of various sorts

Patrick:

  • it affects the grammar engine as to what it produces and returns
  • I could do it
  • but I'm about to refactor PGE and want to get my strategies in place
  • Mitchell wants to tag match objects with the rule that generated them
  • what do you think?

Larry:

  • if we can think of a reasonable name that makes sense downstream
  • not everything has one
  • apart from a reference to an object
  • maybe that's good enough
  • it's a bit problematic in a Perl 5 version of the matcher
  • there really aren't code objects

Patrick:

  • maybe, but not likely?

Larry:

  • I see no major conceptual problem in the Perl 6 context
  • just an implementation problem

Patrick:

  • how much might S05 change?

Larry:

  • it has potential ramifications in terms of memory use and GC use
  • other than that, it's a vague uneasy feeling
  • I can't prove anything

Patrick:

  • the .keys, .values, .kv, .pairs methods
  • when used as functions, are they named unaries?

Larry:

  • I'd like to avoid making more named unaries than are culturally acceptable in mathematical notation
  • they tend to confuse people
  • not as confusing as zero-or-one, which we've tried to get rid of
  • like rand

Patrick:

  • just looking for a quick answer

Larry:

  • I'm prejudiced against them

Patrick:

  • I'm prejudiced against named unaries as well
  • if something starts to look non-Perl 5-ish, I get prejudiced

Larry:

  • you force people to use parentheses
  • but mathemeticians don't want to say sign of something and use parens

Patrick:

  • plenty of tests in the suite test that the values of colon pairs are booleans

Larry:

  • any boolean used in numeric context turns into zero or one
  • if we stringify booleans, we have to turn them into zero or one as strings
  • none of this null string as in Perl 5

Patrick:

  • they do smart match against bool

Larry:

  • preserve the type information
  • make it as usefully context-dependent downstream
  • the issue is how they stringify
  • similar issue as to how proto-objects stringify
  • you want to know whether you want to use them as their name or their value
  • we really don't make that distinction right now
  • except .perl really wants to know the name of things
  • if stringify Object, does it print Object or the null string?
  • if it's our new undef, it should print the null string
  • when you print values of things, it's not useful to print a null string where they were expecting a value
  • which is why I wanted to distinguish between stringification and printification
  • it's probably too subtle of a distinction
  • if you use a protoobject and stringify it, it returns null
  • but by default it should produce a warning
  • the warning presumably says what the name of the protoobject was

Patrick:

  • it might be too subtle or wrong a distinction to be useful
  • a scalar initialized to a protoobject effectively holds a reference to the object
  • when you stringify the reference, you want that to be the null string
  • if you print the object, you don't have a reference
  • you're sending the protoobject itself
  • I see all sorts of nasty flags floating around that
  • that distinction will be there from the Parrot side
  • whether it's there conceptually is another question

Larry:

  • in general, if I don't answer immediately it's because I'm scratching my head
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.