Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-06-06

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:13 jnthn Hmm
00:13 jnthn 75434 is a very wtf ticket.
00:14 pragma_ joined #perl6
00:15 pragma_ joined #perl6
00:16 whiteknight joined #perl6
00:18 patrickas oh! the elders are  here!
00:18 patrickas can someone help with a couple of things ?
00:18 patrickas rakudo: class Foo {  has Int $.length; method p {say $.length;} } ; my $f = Foo.new(:length(5, 7)); $f.p;
00:18 p6eval rakudo 609fd6: OUTPUT«57␤»
00:18 patrickas what is this doing ?
00:19 * TimToady hopes that's not "elder" in a cthulhuian sense
00:19 TimToady it would appear to be working
00:19 patrickas :-)
00:20 jnthn patrickas: I guess the Int type constraint ain't being enforce
00:20 patrickas so is it working? or is it a bug ?
00:20 jnthn Er, actually I'm pretty sure it isn't, given .type introspection on attributes doesn't work either.
00:20 jnthn patrickas: That's a bug, I believe.
00:21 TimToady either that, or (5,7) does Int somehow
00:21 jnthn oh noes!
00:21 jnthn rakudo: say (5,7) ~~ Int
00:21 p6eval rakudo 609fd6: OUTPUT«0␤»
00:21 jnthn phew
00:21 jnthn :-)
00:21 TimToady whep
00:21 TimToady er, wehp
00:21 patrickas the problem is ... it is from an example in the advent calendar I am going over
00:21 patrickas http://perl6advent.wordpress.com/2009/12/22/day-22-operator-overloading/
00:22 jnthn TimToady: IIUC, then a "package Foo;" in Perl 6 should die.
00:22 jnthn TimToady: But a "package Foo { }" is OK.
00:22 jnthn TimToady: std doesn't seem to pick up on the package Foo; though
00:22 TimToady that is correct, 'package Foo;' is forbidden
00:22 jnthn std: package Foo; "I am OK!"
00:22 p6eval std 31137: OUTPUT«ok 00:01 107m␤»
00:22 patrickas the example is multi sub infix:<+>(PieceOfString $lhs, PieceOfString $rhs) {  PieceOfString.new(:length($lhs.length, $rhs.length)); }
00:22 jnthn TimToady: OK - any preference on the error message?
00:22 TimToady well, we'll see about *that*!
00:23 TimToady the correct error message depends on whether the interpreter knows how to switch to p5 code :)
00:23 jnthn TimToady: For now, it doesn't.
00:23 TimToady "I don't know how to run Perl 5" or some such is fine
00:23 jnthn OK
00:23 TimToady or "This looks like Perl 5 code"
00:24 jnthn Maybe some enterprising soul will come along and hack things up so it does it via Blizkost or something. :-)
00:24 TimToady and maybe STD will attempt to switch to STD_P5 at that point, assuming I ever finish it...
00:28 patrickas ping mathw
00:32 patrickas also trying (and failing badly) to understand and get the one liner from day 23 to work on recent rakudo
00:32 patrickas rakudo: say [my@i=0 xx 9,1,0 xx 9];map {say [@i=m {%([^8]>>.fmt("%03b") Z  0,1,1,1,1,0,0,0){@i[($_-1)%19,$_,($_+1)%19].join}},^19]},^9;
00:32 p6eval rakudo 609fd6: OUTPUT«0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0␤»
00:38 jnthn TimToady: OK, seems I have it working nicely. :-)
00:39 * jnthn spectests
00:39 jnthn Hmm...must be getting towards beer time. :-)
00:40 patrickas almost 4 am here ... I think beer time has passed! :-)
00:40 jnthn 2:44am here
00:40 jnthn But I got up at 3pm
00:41 jnthn My body clock has slowly got skewed like an hour a day later over the last week.
00:41 jnthn Next week I have a meeting to make, as well as a flight, so I probably need to make some attempt to return to normality soon though.
00:42 patrickas I can't say you're on the right track for that :-)
00:44 colomon o/
00:44 jnthn yayitscolomon!
00:45 patrickas \o
00:50 colomon a mostly asleep colomon, admittedly.
00:50 colomon messing around with max here
00:50 * jnthn hands colomon strong coffee and his commit bit
00:51 * colomon wishes the coffee were extra-strong orange Mountain Dew.  ;)
00:51 pugssvn r31138 | lwall++ | [varnames] use $/ := to avoid STD carping about P5 usage
00:51 * jnthn hasn't seen Mountain Dew in Europe
00:52 jnthn Thus I've heard lots about it but never actually tried it.
00:53 colomon Lots of caffeine and sugar.
00:53 colomon I was kind of addicted to it in college, then gave it up cold turkey.
00:53 colomon Now if I have some, I can feel its effects half a day later.
00:54 pugssvn r31139 | lwall++ | [STD etc.] more prep work for moving EXPR out of STD
00:54 pugssvn r31139 | [STD] carp about 'package Foo;'
00:57 jnthn colomon: Wow...odd stuff :-)
00:58 jnthn colomon: We have lots of other energy drinks over here.
00:58 jnthn I tend to avoid 'em though.
00:58 skids joined #perl6
00:59 jnthn (Though I do drink coffee...mostly only within the first few hours of waking up.)
01:00 jnthn colomon: We're down to 608 open tickets in RT. :-)
01:00 colomon I found that if I don't drink caffeine, I don't miss it.
01:00 colomon \o/
01:00 colomon we could really use some better tests for min and max.
01:00 jnthn I can imagine. :-)
01:00 jnthn I got us running much of S12-introspection/attributes.t again
01:01 jnthn I really should spend the tuits to get handles back soon.
01:01 colomon Lots of edge cases not tested at all.  :(
01:01 jnthn :(
01:01 colomon \o/
01:01 colomon I like your news better than mine.  :)
01:01 jnthn Attribute now actually inherits from Any.
01:01 jnthn Fixed a bunch of other minor RT tickets.
01:02 jnthn Well, minor as in "easily dealt with", at least one of them was a very nasty bug.
01:02 jnthn Well, a copule were...
01:02 colomon which one?  I was impressed with all the commits...
01:02 jnthn Well, the exit one was icky.
01:02 jnthn But also, "use" wouldn't set the file handle it used to read the module in with as having utf8 encoding
01:03 jnthn Meaning as soon as you used anything non-ASCII in a module...boom.
01:03 jnthn Unless you pre-compiled it, of course. :-)
01:03 jnthn I think that we didn't notice until recently tells us how many people are using unicode chars in their modules...
01:04 jnthn er, chars not in ASCII
01:04 colomon I understood.  :)
01:04 jnthn Just about through the spectests for that patch, anyway. :-)
01:04 jnthn Heh, I'm trying to get all of the charset/code points/graphemes stuff straight in my head at the moment. :-)
01:04 colomon oh no, dueling patches!  ;)
01:05 * jnthn was a tad ignorant on that area, but mentoring a GSoC project covering that area was a good incentive to read up on it
01:05 colomon (actually won't commit here until I've done at least two spectests, I reckon.  I'm testing to make sure my new version of max works, then I'll port the changes to min and minmax.)
01:05 jnthn OK. I'm through the tests and it seems fine.
01:06 jnthn pushed
01:06 jnthn That's two more RT tickets down, once they get tests.
01:06 dalek rakudo: f1042d7 | jonathan++ | src/Perl6/Module/Loader.pm:
01:06 dalek rakudo: Ensure we read in modules as utf8.
01:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f1042d7d3b30a34541d14d9a71fd187e7e27510d
01:06 dalek rakudo: 6ba4b22 | jonathan++ | src/Perl6/Grammar.pm:
01:06 dalek rakudo: carp about 'package Foo;'
01:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6ba4b221a993e8dc3a4cd378f555b29488f44d28
01:07 * jnthn tried to fix 74236 earlier and epic failed, breaking much of the spectest suite
01:07 jnthn Will have another crack at that some other day.
01:07 masonkramer_ joined #perl6
01:08 jnthn colomon: Another nicety is that warn now gives a line number too.
01:08 colomon jnthn++ # for a good day's work.
01:08 jnthn Yeah, lots of little but good to have bits I think. :-)
01:09 jnthn In the ROADMAP we have the rather hard-to-know-if-we-got-there:
01:09 jnthn 1 **    improved error messages and failure modes (B, all)
01:09 jnthn I'm wondering what our benchmark is for saying we've done enough there.
01:10 jnthn pmichaud: ^^ comments on this one welcome
01:10 jnthn It's the roadmap equivalent of an unclosable ticket. :-)
01:10 awwaiid joined #perl6
01:11 patrickas i say whenever the other items are done, the error messages would be good enough by then :-)
01:11 jnthn :-)
01:12 patrickas we close the ticket on the spot and annouce christmas... or something like that
01:13 colomon jnthn: huh.  can't decide if we should close it or bump it down a level in severity.
01:13 jnthn colomon: Well, it's an area we should be aiming for constant improvement in really.
01:13 colomon jnthn: exactly.
01:14 jnthn colomon: I'm just wondering if we're at the point where we feel we're "good enough" for R* on this front, and if not, what are the things we really must fix.
01:14 TimToady WARNING: improving error messages has been determined to be addictive.
01:15 colomon jnthn: actually, one useful thing for R* (maybe?) might be a review of when we die and when / how we fail.
01:15 jnthn Ah, good point.
01:15 colomon I think we could probably use more consistency.  (Should we ever die on errors, actually?)
01:15 jnthn We may be over-inclined to die.
01:15 colomon I'm probably a guilty party here....
01:15 jnthn Well, me too.
01:16 jnthn Mostly habbit from working in other languages where there's no such thing as a lazy exception, so you either throw it now or forever hold your peace.
01:16 jnthn er, I mean, rely on somebody checking a return value
01:16 jnthn Which never happens.
01:16 mdxi TimToady: it's true. it's a very, very good use of time and effort, though :)
01:16 jnthn (Never happens consistently, anyways. :-))
01:17 jnthn The Perl 6 model is nice though. :-)
01:17 TimToady one good error message can save a ton of FAQs
01:17 jnthn Aye.
01:18 jnthn Which is very fitting for a language that wants to help people Get Stuff Done. :-)
01:19 TimToady std: package Foo;
01:19 p6eval std 31139: OUTPUT«ok 00:01 104m␤»
01:19 pmichaud jnthn: I agree, the ROADMAP item is a big vague (more)
01:19 jnthn rakudo: package Foo;
01:19 p6eval rakudo 609fd6:  ( no output )
01:19 jnthn aww. too soon too.
01:19 TimToady ENOTYET
01:19 TimToady and the svn version lies
01:20 jnthn ЕЕШОНЕТ
01:20 pmichaud if we know of any error messages or modes that are currently unacceptable, let's list them directly in the roadmap.  Otherwise, I'm comfortable with marking the roadmap item as "done" whenever the rest of the team is comfortable with it.
01:20 jnthn pmichaud: +1
01:21 jnthn pmichaud: I'm fairly comfortable with where we are now for R*. Yes, we've some way to go, but I sense going to The Next Level is going to be quite a lot of effort.
01:21 masonkramer joined #perl6
01:21 jnthn pmichaud: e.g. the highwater stuff STD does, and trying to mark the exact spot and the green/red highlighting of either side of it, etc.
01:22 pmichaud oh, I think highwater isn't _that_ hard.  I'm planning to try it for nqp.
01:22 jnthn pmichaud: Oh, cool.
01:22 pmichaud if it goes in easily enough for nqp, we can get it for rakudo.
01:22 pmichaud (and I suspect it will.)
01:22 jnthn pmichaud: It's IMO not our most pressing issue right now, though.
01:22 pmichaud doing the green/red highlighting... I don't know about that one yet.  :)
01:22 pmichaud well, highwater marking would help a lot with our current "unable to parse blockoid" failures.
01:22 pmichaud so I think it's just below highest level.
01:22 jnthn Yeah, those are...uninformative.
01:23 jnthn Lists and closures are probably two of the real biggies atm.
01:23 pmichaud those are my highest priorities, yes.
01:24 jnthn OK, excellent.
01:24 pmichaud I'm working on exit() today because it involves changes that need to go into Parrot 2.5
01:24 jnthn Ah, yes.
01:24 pmichaud so there's a bit of a time constraint there.  and I see other constants coming up.
01:24 jnthn Typical that it's about as early in the month as it possible could be.
01:25 pmichaud ah well, just bad luck of the calendar there.
01:25 pmichaud we'll make it work out.
01:25 jnthn *nod*
01:25 jnthn If I can, I'll try and work out why on earth Parrot segfaults on exceptions caught in the REPL too.
01:26 pmichaud oh, I thought I fixed that already.
01:26 pmichaud oh, wait, I started, but realized another fix was needed first.
01:26 pmichaud The segfault is an infinite-exception-handler loop.
01:27 jnthn oh hmm, it ain't doing it for me now...
01:27 pmichaud ...but I think I fixed that already, now that I think about it.
01:27 jnthn I'm sure it segv'd on me earlier
01:27 pmichaud it did
01:27 jnthn Oh, maybe it was before I bumped PARROT_REVISION
01:27 jnthn Or git pull'd
01:27 pmichaud the problem was that Exception PMCs didn't know how to concat with a string constant
01:27 jnthn Or some such.
01:27 jnthn ah.
01:28 jnthn OK, good that's fixed.
01:28 pmichaud so that threw an exception, which got caught by the handler, which tried to display the exception message, which threw an exception, which ...
01:28 jnthn heh
01:28 jnthn It's exceptions all the way down.
01:29 jnthn Does anyone else get SEGVs in t\spec\S05-match\capturing-contexts.rakudo btw?
01:30 * jnthn has them reliably here ATM.
01:31 jnthn pffft...backtrace involves tailcalls
01:34 jnthn Ugh. Nasty. I'll take it another day.
01:35 zorgnax joined #perl6
01:35 * jnthn aboutish for another hour or two, but mostly relaing rather than hacking on stuff
01:38 colomon I'm getting two failures, S02-builtin_data_types/hash.t (which is %a not flattening on slurpy args, I think).
01:39 colomon and S02-names_and_variables/varnames.t?
01:39 colomon anyone else seeing the latter?
01:40 sorear pmichaud: Any updates on lexical persistance in the Rakudo REPL?
01:40 jnthn colomon: I've been seeing the hash.t one today too
01:40 sorear TimToady: Do you think the high water stuff belongs in STD or Cursor?
01:40 pmichaud sorear: haven't worked on it since last week.
01:40 jnthn colomon: Haven't seen issues with varnames.t
01:41 jnthn colomon: oh.
01:41 jnthn Yeah, it...seems to be not quite right. Odd.
01:42 jnthn colomon: oh, wait
01:42 jnthn I ran the .t
01:42 jnthn colomon: the .rakudo is clean.
01:42 colomon := binding of variables not yet implemented
01:42 colomon is what I am getting
01:42 sorear let
01:43 sorear let's implement that.
01:43 jnthn huh, I don't see any := in there
01:43 jnthn colomon: You get an interesting backtrace at all
01:43 sorear jnthn: you need to update
01:43 jnthn sorear: update...?
01:43 sorear the := was added 50 minutes ago
01:43 colomon := binding of variables not yet implemented
01:43 colomon in 'infix:<:=>' at line 630:CORE.setting
01:43 jnthn Oh
01:43 colomon in main program body at line 25:t/spec/S02-names_and_variables/varnames.rakudo
01:43 colomon Dubious, test returned 1 (wstat 256, 0x100)
01:44 jnthn er, wtf.
01:44 * jnthn wonders who added that and why
01:44 pmichaud I don't see a := update.
01:44 pmichaud unless you mean to the test file.
01:44 sorear http://perlcabal.org/svn/pugs/revision/?rev=31138
01:44 ash___ joined #perl6
01:44 jnthn pmichaud: Yes, to the test file
01:44 colomon TimToady did
01:44 jnthn :/
01:45 colomon rev 31138
01:45 jnthn TimToady: ?
01:45 pmichaud okay, so either #?rakudo skip it or add := to rakudo.  :)
01:45 pmichaud if the latter, note that any sort of syntactic := is (IMO) wrong.
01:45 jnthn pmichaud: I'm not sure I understand why the test was changed.
01:45 pmichaud I suspect that $/ wants binding instead of assignment, in general.
01:45 jnthn Ah, OK
01:46 jnthn Well, probably we fudge it then.
01:46 jnthn pmichaud: := should be a normal multi-dispatch
01:46 pmichaud fudge +1 for me for now.
01:46 ash___ joined #perl6
01:46 pmichaud jnthn: agreed.  I just know that I've seen people arguing it should be syntactic on channel and I want to make sure it's not.  :)
01:46 jnthn pmichaud: What does need to be syntactic is the LHS in the case of my ($a, $b) = ... vs my ($a, $b) := ...
01:46 jnthn But that's a seperate issue.
01:47 jnthn The way I have it now, though, := itself is just a multi
01:47 pmichaud good.
01:48 jnthn In fact, the error is just given my the multi candidate where we need to implement the working thing. :-)
01:48 jnthn *by
01:51 sorear pmichaud: My assertion that it should be syntactic was due to a critical misunderstanding on what := did.  Pretend it never happened.
01:51 pmichaud no problem :-)
01:51 sorear TimToady: my $a := 2; (-> $b { $a := 1; say $b })($a);
01:52 sorear resolution of this case is the #1 issue blocking :=
01:53 dalek nqp-rx: 6841519 | pmichaud++ |  (2 files):
01:53 dalek nqp-rx: Adjust regexes to use @?BLOCKPAST dynamic var instead of @?BLOCK global.
01:53 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/684151976db0a7a447f815bbfd7fc3e182deaa9c
02:00 diakopter sorear: how goes it?
02:14 yinyin joined #perl6
02:16 sorear diakopter: Partly waiting for you, partly designing the backtrack system
02:32 TimToady pugs: my $a := 2; (-> $b { $a := 1; say $b })($a);
02:32 p6eval pugs: OUTPUT«2␤»
02:32 sorear diakopter: OK, now I'm completely waiting for you
02:32 TimToady I think pugs is correct here.
02:32 sorear :(
02:33 sorear there's a very simple way to implement binding compatible with everything you and pmichaud have said in Rakudo
02:33 sorear it involves adding ANOTHER level of indirection to variables
02:36 TimToady I think most of the things like highwater belong outside the grammar
02:36 TimToady I'm going to have to change the precedence table from lexical constants to move EXPR out though.
02:42 sorear is that a problem?
02:52 TimToady well, it's another level of indirection or two :P
02:54 TimToady also have to figure out what to do about $*LEFTSIGIL
02:57 dalek rakudo: c0efe09 | (Solomon Foster)++ | src/core/Any-list.pm:
02:57 dalek rakudo: Allow min, max, and minmax to handle single-argument block Orderings.
02:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c0efe0913937c7b37d32ab6467d00b3f8165a879
02:57 jnthn colomon++! :-)
02:58 pugssvn r31140 | colomon++ | [t/spec] Unfudge two tests that now work correctly, add six new tests.
02:59 colomon If moritz_++ is feeling lazy this week, a newcomer challenge to write more min / max / minmax tests might be a good thing.
02:59 colomon :)
02:59 jnthn Yes. :-)
03:00 jnthn colomon: What's the latest test pass count?
03:00 colomon 33,257.
03:01 jnthn Nice
03:01 colomon okay, our brief reprieve where Henry actually slept two hours in his crib is over, so I'd better get to sleep in case I have to rock him a few hours from now.
03:01 colomon o/
03:02 jnthn night o/
03:04 lue ohai and goodnight colomon o/
03:07 lue Unless it cannot be done, I'd like to upload the designs I made for perl6 merchandise into pugs' misc/ folder
03:08 sorear hmm, I could implement binding, unfudge a few hundred tests, then dangle a test# under pmichaud's nose while keeping the time increase a secret
03:09 jnthn sorear: I think pmichaud had a Plan Of Immense Evil that let us pay the price of the extra indirection lazily, fwiw.
03:10 jnthn sorear: If your luck with the IR Clogs searchengine is any better than mine, you may be able to dredge up discussions of it.
03:11 * TimToady tries to picture a UV Clog...
03:13 jnthn http://www.idealo.co.uk/pp/1440163.html # ENOTULTRAENOUGH
03:13 lue Gamma Clogs are the worst.
03:13 TimToady actually, I think of STD as the standard grammar stuff, outside of STD_P6
03:14 TimToady so maybe it's stuff moving out to STD_P6 that we're talking about, really
03:14 lue Maybe the shoe is straddling inbetween violet and UVA
03:15 TimToady I could see much more of that color after I got cataract surgery
03:15 TimToady black lights aren't very black now...
03:16 lue How fun it would be to see the whole of the EMR.
03:17 lue Should be that painful, it'd be like a creature who only sees red and yellow suddenly seeing our visible spectrum.
03:17 lue s/should/shouldn't/
03:18 TimToady if you don't mind your retinas getting ionized, sure
03:18 lue after that though, looking at the stars won't just be black and white and ROYGBIV anymore...
03:19 TimToady you could have a great career as an airport scanner
03:19 lue just sit in the lobby w/ a newspaper, and run like hell towards anyone with a high amount of metal, esp. lead
03:20 TimToady Excuse me, sir, but why are the bullets in the gun hidden in your crotch shining in gamma radiation?
03:20 lue But then [ow], you'd see every single radio station in the area O.o
03:20 TimToady like the old commercials: You just saw it on the radio!
03:21 lue And then a day on the beach in Antartica [eeeeeee]
03:22 lue "beach" meaning the warmest spot on the island, of course :)
03:22 TimToady Life's a beach, and then you dry.
03:23 lue I looked up IR ink once, it's waay more difficult to shift IR into visibility than it is w/ UV
03:26 lue On the bright side, you'd be able to dodge cosmic rays much faster than when you use a stupid little scanner :)
03:34 alester joined #perl6
03:35 * lue thinks it's time for a wiki protocol... something like wiki://keyword
03:39 gbacon joined #perl6
03:40 mberends sorear: go right ahead with deleting the old Sprixel, nothing depends on it. There is a test harness that does partial fudging of tests without creating copies of the test scripts, I've stashed it locally.
03:41 jnthn mberends: Heh, you're up at this time too, huh. :-)
03:42 mberends oh-oh, insomniacs not-so-anonymous...
03:42 jnthn :-)
03:43 jnthn Well, I probably will attempt sleep soonish.
03:43 mberends jnthn: but have just had over 6 hours sleep. Have you? ....
03:43 jnthn I didn't go to bed yet
03:44 jnthn But I got up at 3pm yesterday
03:44 mberends it's the silly season for body clocks
03:45 jnthn Yeah...it's got warmer here too, which doesn't help me sleep. But having a week with no meetings at all made it kinda easy to get de-sync'd. :-)
03:45 jnthn Next week I have a meeting *and* a flight to make.
03:46 jnthn mberends: BTW, will you be heading to the Belgian Perl Workshop?
03:50 mberends hmm, not thought about 26th June yet. It's theoretically possible, since the $work just prior will be in .nl afair. Must check the diary later today. "Maybe".
03:50 meppel joined #perl6
03:52 jnthn mberends: OK, I'll be there.
03:52 mberends I think it was those friendly Belgians who gave out the wooden little round tuits in Arnhem.
03:52 jnthn mberends: Going to do a bit of family visiting in the UK, then it's just the Eurostar over to Brussels.
03:52 jnthn And then sleeper train from Cologne back to here on the Sunday evening.
03:53 jnthn So works out pretty nicely.
03:53 mberends jnthn: yes, very good plan
03:53 lue [ I'll be there, in little bits :) ]
03:54 lue That's the one bad thing about the US, IMO. We don't have an awesome train system :/ [for passengers of course]
03:55 envi^home joined #perl6
03:55 mberends I'll travel to UK by road this evening for $work before FPW on Friday/Saturday
03:56 lue .oO(Where is my TARDIS? grr)
03:56 jnthn mberends: OK, nice. I'm flying to Kiev on Friday for Perl Mova.
03:57 jnthn mberends: Wish I was doing it by train, but it's really quite a trek from here.
03:57 jnthn mberends: More out of bad schedules than distance. :/
03:57 * mberends will present 2 of jnthn's talks at FPW. Doing an impersonation will be tricky.
03:57 jnthn mberends: Well, you can always google for "fake beard store calais"
03:57 mberends lol
03:58 jnthn mberends: Which two, out of curiosity?
03:59 mberends Solved, and Dispatch. http://journeesperl.fr/fpw2010/talks
04:00 lue how much memory doth it take to compile rakudo, out of curiosity?
04:01 mberends sorear++ mentioned around 300MB. I stopped monitoring when it went under 700MB
04:01 jnthn mberends: Ah, cool.
04:01 jnthn mberends: Let me know if you have any questions.
04:02 lue As long as its under 384 MiB [which is what I last heard], I can theoretically fit that all on my physical RAM :D
04:02 jnthn lol..."crack syntaxique‎"
04:04 mberends jnthn: thanks, I'll look over your slides during the week. I would like to run some of the code live during the talk, even though some presenters think that's playing with fire.
04:05 jnthn mberends: I still have burn scars. ;-)
04:05 lue Fire is a great friend; look at all the satisfied arsonists :)
04:09 jnthn OK, time to atempt sleep. o/
04:09 mberends o/
04:09 lue good night o/
04:16 sorear jnthn: Good to know... and not good to know.  We can't have all the important features blocking on the tuits of one man :(
04:17 sorear also, why is #perl6 never online when I am
04:19 lue I feel the same way sometimes
04:19 lue Most of the guys on #perl6 seem to be in Europe.
04:30 mberends lue: that's true only for the times that *you're* online ;)
04:33 lue so, for my 2 am, everyone in the US is up? ō.o
04:36 mberends #perl6 is the place where programmers with disturbed sleep pattern hang out
04:36 lue I'll have plently of time for that during summer vacation :)
04:37 lue that also applies to the Internet in general :)
04:38 mberends uck. building latest Rakudo crashed here making core.pir: Parent isn't a class :-(
04:42 kaare joined #perl6
04:44 sorear mberends: that is, by chance, exactly the same error which results from any attempt to load PCT.pbc at runtime from within Rakudo
04:45 sorear it was a showstopper in blizkost for a while before I found a medium-horrid workaround
04:45 mberends curious. I'm going to backtrack a few commits with git reset
04:47 mberends oops, makefile.in changed. must re-run Configure.pl before worrying.
04:55 finanalyst joined #perl6
05:00 mberends no worries now, core.pir compiled ok (in 367MB virtual)
05:09 lue ooh
05:09 lue rakudo: my $a = 1; $a++; say $a; ++$a; say $a
05:09 p6eval rakudo c0efe0: OUTPUT«2␤3␤»
05:10 lue what is the difference between the postfix and prefix form?
05:11 pugssvn r31141 | sorear++ | [viv] Remove "use Cursor" fossil; it was causing duplicate definition warnings due to perl 5's inadequate %INC handling, and is unneccessary with moose_extends.
05:11 sorear lue: absolutely none
05:12 sorear ok, they call different overloads
05:12 sorear this isn't C++
05:13 stephenlb joined #perl6
05:16 sorear TimToady: How is whitespace DWIM for all quantifiers as a concept? [:r x +] == x**<.ws>
05:19 pmichaud pugs:  my $a := 2; (<-> $b { $a := 1; say $b })($a);
05:19 p6eval pugs: OUTPUT«*** ␤    Unexpected "$b"␤    expecting operator or ")"␤    at /tmp/YR_z6ivnOt line 1, column 18␤»
05:19 pmichaud pugs:  my $a := 2; (sub ($b is rw) { $a := 1; say $b })($a);
05:19 p6eval pugs: OUTPUT«2␤»
05:20 pmichaud pugs:  my $a := 2; (sub ($b) { $a := 1; say $b })($a);
05:20 p6eval pugs: OUTPUT«2␤»
05:20 eternaleye lue: postfix returns the input as an lvalue, prefix returns the incremented rvalue.
05:20 eternaleye rakudo: my $a = 1; say ++$a; $a = 1; say $a++
05:20 p6eval rakudo c0efe0: OUTPUT«2␤1␤»
05:21 pmichaud pugs:  my $a := 2; (sub ($b is rw) { $a = 1; say $b })($a);
05:21 p6eval pugs: OUTPUT«*** Can't modify constant item: VInt 2␤    at /tmp/N3a0i3vL87 line 1, column 31-37␤»
05:21 eternaleye Unless you use the return value, they are identical (well, prefix is more efficient, but that isn't noticable in rakudo atm.
05:21 pmichaud pugs:  my $a = 2; (sub ($b is rw) { $a = 1; say $b })($a);
05:21 p6eval pugs: OUTPUT«1␤»
05:22 lue thank you eternaleye
05:27 justatheory joined #perl6
05:27 PerlJam Must a named rege:q
05:27 lue pmichaud: what are you doing? Just curious.
05:27 PerlJam blah
05:30 pmichaud lue: just checking some binding behaviors.
05:30 pmichaud alpha:  my $a = 2; (sub ($b) { $a := 1; say $b })($a)
05:30 p6eval alpha 30e0ed: OUTPUT«2␤»
05:33 sorear alpha did syntactic binding
05:33 pmichaud right.
05:34 sorear basically just container assignment.  nice, simple, and doesn't allow for the possibility of the read only aliases that are oh so critical for S06
05:34 pmichaud well, alpha predated those.
05:36 sorear my timelines are so screwed up
05:37 pmichaud but yes, if the pugs version is correct (and I suspect it is), then I don't see an obvious way around the double-indirection.
05:37 pmichaud variables end up being ObjectRef to Perl6Scalar to the actual value.
05:37 sorear that's the way I see it working too
05:38 pmichaud we could potentially go back to alpha's mechanism of copying values, so that we end up with ObjectRef to container/value.... but I suspect that's not the best way to go.
05:38 sorear alpha's mechanism of copying values is?
05:39 pmichaud $b = 2   actually copies a "2" value into the container
05:39 pmichaud as opposed to binding a container to a value
05:39 sorear as opposed to copying a pointer to a newly allocated 2
05:40 pmichaud well, an existing 2, actually
05:40 pmichaud in current master, we just bind to immutable values
05:40 pmichaud which works out pretty well, so we're not creating copies of values all over the place
05:41 dalek nqp-rx: c341588 | pmichaud++ | src/NQP/Actions.pm:
05:41 dalek nqp-rx: Refactor loop exceptions slightly.
05:41 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/c341588e87914aaa5498cee31a9b14cf372b5869
05:42 lue I can't wait for binding  :=)
05:42 PerlJam Anyone happen to know where in the spec it talks about named regex without being within a grammar?
05:43 sorear S05
05:43 PerlJam obviously.
05:43 PerlJam I was hoping for a something slightly more narrow :)
05:44 pmichaud "This form always gives preference..."   # start of section
05:46 sorear yeah, but I didn't know the line number off the top of my head
05:47 sorear the section I was going to refer you to seems to have been a figment of my imagination, anyway
05:47 lue It'd be interesting if you did :)
05:47 sorear regexes are a special kind of sub that defaults to "has" scope
05:47 pmichaud ?
05:48 pmichaud regexes are basically methods
05:48 sorear so bare regex/token/rule is only valid in a grammar (or other kind of class, but you're inviting disaster if it doesn't inherit from Cursor)
05:48 sorear "my regex" and "our regex" are fine outside grammars, and drop the regex object (which isa Method) into lexical or package scope
05:48 sorear and methods are basically subs
05:49 PerlJam Current rakudo doesn't seem to quite implement the spec in this regard I guess.
05:49 sorear rakudo: my regex foo { \d+ }; say "123" ~~ &foo;
05:49 p6eval rakudo c0efe0: OUTPUT«123␤»
05:49 pmichaud I think it does everything except for translating <xyz>  to act like <xyz=&xyz>  when xyz is in scope.
05:50 PerlJam ah, that would explain what I'm seeing
05:50 pmichaud so, if you want a lexically scoped regex, at the moment you have to get to it through the &xyz form.
05:50 pmichaud but otherwise I think it works fine.
05:50 PerlJam aye. that's it.
05:51 pmichaud rakudo:  my regex foo { \d+ };  say "abc123" ~~ / <&foo> /;
05:51 p6eval rakudo c0efe0: OUTPUT«123␤»
05:52 PerlJam Why aren't regex scoped the same as subs again?
05:52 pmichaud they act more like methods than subs.
05:54 pmichaud and in that sense, they tend to scope the same as methods.
05:54 pmichaud rakudo:  my method xyz() { say self ~ 'here'; };  &xyz(123);
05:54 p6eval rakudo c0efe0: OUTPUT«123here␤»
06:01 PerlJam When would there not be a "current grammar"?
06:02 sorear ?
06:03 PerlJam "This form always gives preference to a lexically scoped regex declaration, dispatching directly to it as if it were function.  If there is no such lexical regex (or lexical method) in scope, the call is dispatched to the current grammar, assuming there is one."
06:05 PerlJam If there were always a "current grammar", it seems like it would be simpler to say that named regex declared outside of an explicit grammar declaration are lexically scoped in the current grammar.  Then you don't have to worry about a fall-back mechanism because you always dispatch to the current grammar.
06:05 PerlJam and thing "regex foo { ... }" would very much be like "sub foo { ... }"
06:05 PerlJam s/thing/then/
06:06 PerlJam So ... when would there not be a current grammar?  and what does "current grammar" really mean?
06:07 pmichaud think of "current grammar" as "current class"
06:07 pmichaud does that help?
06:07 pmichaud (because a grammar is really a class)
06:08 PerlJam no, because classes require declaration.
06:08 pmichaud so do grammars.  :-)
06:08 PerlJam presumably <before ...> and friends only work because of the fall-back to the "current grammar" which is implicitly the Perl 6 grammar.
06:08 PerlJam (outside of an explicit grammar declaration that is)
06:09 pmichaud no, the Perl 6 grammar is not the "current grammar"
06:09 pmichaud at least, I don't think it is.
06:09 pmichaud when one creates a new grammar, it derives from Grammar, not from the Perl 6 grammar.
06:09 pmichaud <before ...> and friends work because they're default methods in Cursor
06:09 pmichaud (and Grammar derives from Cursor)
06:09 gfx joined #perl6
06:11 PerlJam so ... how does  if "blah blah blah" ~~ / \s+ <before blah> / { say "whitespace before blah" }  work?  How is <before> dispatched?
06:12 pmichaud it's a method on Cursor
06:12 sorear PerlJam: the method is called with a fresh Cursor as invocant
06:12 sorear Cursor is the base of all grammars
06:12 pmichaud more to the point, the regex is called with a fresh Cursor as invocant
06:12 pmichaud &regex.match(...)   creates a new Cursor for the match.
06:12 sorear User-defined grammrs are just subclasses of Cursor; as such, they can override rules (which are methods)
06:13 pmichaud more detailed:   Regex.ACCEPTS calls Regex.match, and Regex.match creates a new Cursor object for performing the match
06:14 PerlJam okay, that makes sense.
06:14 pmichaud and the built-in assertions like <before>, <alpha>, <digit>, etc. are all defined on Cursor
06:15 PerlJam I now don't understand the parenthetical here " ... then the call is dispatched as a normal method on the current Cursor (which will fail if you're not currently within a grammar)"
06:15 pmichaud given   <xyz>
06:15 pmichaud if there is no &xyz in scope
06:16 pmichaud then the assertion is dispatch as     self.xyz()
06:16 sorear that parenthetical is quite possibly wrong and/or outdated
06:16 PerlJam sorear: that's that I'm thinking.
06:16 pmichaud sorear: that's true also, although it looks newish to me (i.e., I don't remember reading this particular phrasing before tonight)
06:17 sorear as a rule, I don't remember phrasings.  I make them up on the spot.
06:17 PerlJam It's in the paragraph starting on S05:1278
06:17 pmichaud about like 68% of my statistics (made up on the spot)
06:18 pmichaud I agree that in light of something like <before>, the synopsis text doesn't make sense.
06:18 lue .oO(4 out of 5 dentists say they have been that 1 out of 5 before.)
06:20 pmichaud synopsis might make more sense if the parenthetical was removed.
06:20 PerlJam It would make complete sense if it were removed and that bit about spontaneous Cursors added somewhere.  (maybe it is there but I missed it though)
06:23 shtrb joined #perl6
06:24 JimmyZ joined #perl6
06:25 PerlJam If grammars are automatically derived from Cursor, is the only way to get a "grammar" that's *not* derived from Cursor to make a class?
06:25 pmichaud PerlJam: I believe so, yes.
06:25 pmichaud I'm not sure such a grammar would behave, though.
06:26 sorear you'd have to implement the regex engine API yourself
06:26 JimmyZ std:
06:27 lue afk
06:48 PerlJam having to say "my regex foo { ... }" rather than just "regex foo { ... }"  really grates on my brain for some reason.
06:49 pmichaud do you have the same issue with "my method foo"  versus "method foo", ooc?
06:50 PerlJam no, because I've never wanted to declare a method outside of a class.
06:50 pmichaud ah.
06:51 pmichaud but you want to declare a regex outside of a grammar.  I can see that.
06:56 pragma_ is perl6 modeling OO based on the Moose module?
06:56 pmichaud pragma_: more the other way around :)
06:56 pmichaud they were really developed together
06:56 pmichaud but Moose ideas came out of Perl 6.
06:56 fridim joined #perl6
06:56 sorear the projects have diverged since then
06:56 PerlJam If all regex declared outside of a grammar were part of a single anonymous grammar that derived from Grammar/Cursor just like any other and regex calls to named subrules dispatched to this anonymous grammar, I think we get the same effect as specced only I don't have to say "my regex"  :-)
06:57 pmichaud PerlJam: the hard part is getting Cursor to be part of that anonymous grammer.
06:57 pmichaud *grammar.
06:57 pmichaud i.e., when we do   Regex.match() -- how does it know what type of Cursor to use?
06:58 pmichaud or do you want .match to use that anonymous one as well?
06:58 pmichaud and in that case,  "regex xyz ..."  would really be like MONKEY_TYPING with the anonymous grammar
06:58 PerlJam yes, I realize that :)
06:58 pmichaud (unless we want to repeatedly derive new anonymous grammars for every regex declaration)
06:59 PerlJam no, no.  only one anonymous grammar.
06:59 pmichaud no, it has to be separate, because the regex declarations need to be lexically scoped.
06:59 pmichaud we don't want a regex declared in one block to suddenly appear in uses of the anonymous grammar in other blocks.
07:00 pmichaud it sounds like what you really want is that "regex ..."  outside of a class/grammar definition is automatically treated as "my"
07:01 pmichaud (just like "sub ..." is automatically treated as "my sub ...", although this occurs within class/grammar definitions as well.)
07:01 PerlJam yes.
07:01 shtrb left #perl6
07:02 PerlJam or no
07:04 PerlJam This is the whole reason we have the method/sub dichotomy for classes now.  methods are "has" scoped.  subs are lexical.  regex are "has" scoped.  _____ are lexical.
07:05 PerlJam ("subs" could fill the blank but I don't want to go there :)
07:06 PerlJam anyway, I think I'm working towards a huffman coding argument or something.  I get the impression that named regex outside of a grammar would be very common.
07:08 pmichaud well, even in the case of 'sub' I think it will be a better practice to say "my sub ..."  instead of just "sub ...".
07:08 diakopter sorear: what do you need from me? :)
07:08 PerlJam Take the example in the Perl6 book: http://gist.github.com/427388
07:08 PerlJam I can see someone evolving their regex to that without the need or desire of a grammar.
07:09 PerlJam (granted that example needs updating now)
07:09 pmichaud but if we come up with a different name for lexically-scoped regex, we'd also want new words for 'token' and 'rule' too.
07:09 pmichaud (at least I think we would.)
07:10 PerlJam yes and then the universe gets a tad uglier.
07:10 pmichaud so, explict "my" seems relatively clean, then.
07:11 sorear diakopter: an explanation of what + does in perlesque
07:11 sorear diakopter: a way to see the IRs of perlesque
07:12 PerlJam Seems like Perl 6 leans heavily on the idea of lexical scope (by default) ... except when it comes to regex.
07:12 pmichaud agreed.
07:12 PerlJam Either I'm suffering a foolish consistency or Perl 6 has a foolish inconsistency then :)
07:13 sorear you're missing the fact that Perl 6 was designed to be self hosting
07:14 sorear requiring "our" on the 1000s of regexes that will make up the eventual STD.pm6 would not be good
07:15 PerlJam I don't want to require "our" in that manner.
07:16 masak joined #perl6
07:16 masak oh hai, #perl6!
07:16 phenny masak: 05 Jun 13:43Z <jnthn> tell masak yes, I thought I mentioned that elements was still missing, but you may like to have a crack at adding it. :-) But I can do so. :-)
07:17 masak jnthn: oh, I could definitely have a crack at adding it, if you havn't already. guess I'm not entirely over my Parrot/C aversion yet. :)
07:17 masak I'd need to toally cargo-cult something to do it, though.
07:18 cosimo good morning
07:19 cosimo i need help understanding how to build my own grammar
07:19 cosimo reading Perl6/Grammar.pm or STD.pm6 is quite a nightmare
07:19 cosimo any docs out there?
07:20 pmichaud cosimo: a grammar to parse what?
07:20 masak what would you like to know?
07:20 masak there are plenty of existing, smaller grammars out there that you could look at.
07:20 masak just go to proto.perl6.org
07:22 cosimo pmichaud: to parse puppet modules, but I can start simple and get there step by step
07:23 cosimo there's already an existing grammar, here. not sure if it helps or makes things worse for me
07:23 cosimo http://github.com/reductivelabs/puppet/raw/master/lib/puppet/parser/grammar.ra
07:24 JimmyZ hello masak
07:24 masak oh hai JimmyZ
07:25 cosimo say for example,
07:25 cosimo regex TOP { ^ <line> ** \n <empty_line>? $ }
07:25 cosimo what is '^'? and '**' ? how can I find out?
07:25 masak cosimo: my advice: write tests for the existing grammar, not necessarily as Perl 6 code. implement the new grammar such that it passes the new tests.
07:25 pmichaud cosimo: oh, Synopsis 5.
07:25 PerlJam cosimo: read S05
07:25 JimmyZ masak: were they bugs last time I showed you?
07:26 pmichaud ^ means "start of string".
07:26 cosimo PerlJam: pmichaud: great, thansk
07:26 masak JimmyZ: I think they were. but weren't they reported to RT already?
07:26 cosimo thanks, even
07:26 pmichaud ** is the repetition quantifier
07:27 PerlJam cosimo: people here are always happy to share what they know too.
07:27 JimmyZ masak: I sent it. but I can't find it in RT
07:27 cosimo pmichaud: and, why it uses regex and not token for example?
07:27 sorear Read S05.
07:27 pmichaud 'regex' backtracks, 'token' doesn't.
07:28 masak JimmyZ: I thought I saw it as a comment on an existing bug. so maybe moritz_ or someone merged it into an older ticket, also submitted by you?
07:28 pmichaud (in many parsers, backtracking isn't needed, and explicitly declaring such makes for a more efficient parse)
07:28 masak or it simply didn't get through.
07:29 cosimo ok, I'll go read S05 then. I wanted to write a real app, and I think I found an excellent use case :)
07:29 JimmyZ masak: which RT?
07:29 masak cosimo: when to use 'regex', 'token' and 'rule' is still something that doesn't come naturally to me. it's a fingertips thing, I suspect. I usually use 'regex' until it's totally clear by circumstantial evidence that I should upgrade to 'token', ditto 'token' -> 'rule'.
07:30 JimmyZ masak: I can't see my email in p6c too.
07:30 masak JimmyZ: I don't know. my regular powers are diminished, because I'm not at my own keyboard.
07:30 JimmyZ oh, okay
07:30 pmichaud my guidelines:  use 'rule' when you expect the parts of the regex to be separated by whitespace.
07:31 pmichaud use 'token' when you're defining something where each part is all-or-nothing
07:31 masak if you find yourself adding explicit <.ws> calls everywhere, that's a good sigh you should be using 'rule'.
07:31 pmichaud or \s*
07:31 pmichaud or \s+
07:31 masak eww! :P
07:32 pmichaud no, I mean if you're writing \s* or \s+ everywhere, that's a good sign you should be using 'rule'
07:32 pmichaud not that you should rewrite <.ws> with \s* or \s+
07:32 PerlJam btw, these rules-of-thumb we've all independently discovered (more or less).  I wonder if it's time for a "grammars best practices" or "grammar writing guide" or something.
07:33 masak pmichaud: yes, I know. still, I don't tend to write <.ws> like that.
07:38 * sorear watches as pmtuits are diverted away from R* and towards helping newbies; wishes he could fill the void
07:44 pugssvn r31142 | sorear++ | [sprixel] Remove from trunk at request of diakopter and mberends
07:46 pmichaud sorear: no, my tuits are being spent waiting for parrot recompiles :-|
07:46 sorear Ah :(
07:47 pmichaud and trying to figure out why my changes aren't having any visible effect (see 'make bootstrap-ops' :)
07:57 sorear somebody broke the STD build
07:58 sorear oh, no
07:58 sorear I was just looking at the wrong window, which held a failed build from much earlier
08:11 dalek nqp-rx: 7adae67 | pmichaud++ | src/NQP/Actions.pm:
08:11 dalek nqp-rx: Fix except_types error.
08:11 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7adae673e3ba5d902bbb043ce1da24c1b86203d7
08:11 dalek nqp-rx: 1d96f81 | pmichaud++ | src/stage0/ (4 files):
08:11 dalek nqp-rx: Update bootstrap.
08:11 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/1d96f81633c93bf86a3866ae0339e5cc128d6746
08:11 dalek nqp-rx: 610d80c | pmichaud++ |  (4 files):
08:11 dalek nqp-rx: Bump PARROT_REVISION, rebuild bootstrap with full pasm constants.
08:11 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/610d80ce3b8e52058dbbc335e9f976c81ad6e88f
08:11 dalek nqp-rx: f4ffc61 | pmichaud++ |  (4 files):
08:11 dalek nqp-rx: Bump PARROT_REVISION, update bootstrap to get latest CONTROL_EXIT fixes.
08:11 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f4ffc61378274575891ad6ae805c8331410aae9d
08:19 jaldhar joined #perl6
08:21 xabbu42 joined #perl6
08:21 xabbu42_ joined #perl6
08:22 isBEKaml joined #perl6
08:54 Ross joined #perl6
08:55 meppl joined #perl6
08:56 pugssvn r31143 | pmichaud++ | [t/spec]:  Fudge a test for Rakudo.
08:59 Su-Shee joined #perl6
09:05 moritz_ good morning
09:13 moritz_ jnthn (or anybody else on windows) could you please try if you get the same error as http://www.perlmonks.org/?node_id=843317 ?
09:26 pmurias joined #perl6
09:26 pmurias ruoso: ping
09:28 pugssvn r31144 | moritz++ | [t/spec] test for RT #75434, guillemot not parsed in modules
09:31 TiMBuS joined #perl6
09:31 pugssvn r31145 | moritz++ | [t/spec] remove outdated test
09:34 pugssvn r31146 | moritz++ | [t/spec] remove a package; fossile
09:39 patrickas joined #perl6
09:39 patrickas good morning perlsixers
09:40 moritz_ good morning p6trickas :-)
09:40 patrickas boss \o/
09:41 * moritz_ always feels like an imposter when called "boss" :-)
09:42 patrickas sorry! ... boss!
09:42 patrickas I am getting near the end with the advent calendar
09:43 patrickas still have a coupl eof unresolved issues that I am tracking I'll letyou know when done ...
09:43 patrickas most important is the one liner in day 23, seems like  it only works with pugs, don't know what should be done about it
09:44 patrickas maybe just mention that in th epost and leave it at that
09:44 moritz_ that's always an option
09:46 patrickas I was thiking about the MAIN and USAGE thingies, do you think I can help integrate them into rakudo or is it way out of my league ?
09:48 moritz_ it's something for which we need some advice from jnthn++ or pmichaud++
09:49 moritz_ http://www.unexpected-vortices.com/docs/dev-notes/perl-6/green-onion-quickstart.html
09:52 patrickas joined #perl6
09:53 patrickas humm ok then i'll bug them about it when they have some free time :-)
10:00 moritz_ we've had some discussion about it, but I don't think we've reached a conclusion
10:01 patrickas ok.
10:06 moritz_ rakudo: class A { multi method a() { }; multi method a() { } }
10:06 p6eval rakudo c0efe0:  ( no output )
10:06 moritz_ jnthn++
10:07 moritz_ that is RT #75432, and looks resolved now
10:09 patrickas I remember I needed tha once but I forgot why!
10:11 patrickas rakudo: class A { multi method a() { }}; use MONKEY_TYPING; augment class A { multi method a(Int $b) { } }
10:11 p6eval rakudo c0efe0: OUTPUT«===SORRY!===␤A method named 'a' already exists in class 'A'. It may have been supplied by a role.␤»
10:11 moritz_ oh
10:11 moritz_ used the wrong line :(
10:17 radu_ joined #perl6
10:19 radu_ hey
10:19 patrickas hello radu_
10:21 radu_ i have a question...
10:22 radu_ i was looking through the test files in the pugs repository and i ran across a call to eval_lives_ok, but i can't find such a function in the test module
10:22 radu_ am i looking in the wrong place or is this an error?
10:22 patrickas line 178
10:22 patrickas in Test.pm
10:39 xomas_ joined #perl6
10:50 whiteknight joined #perl6
10:58 am0c joined #perl6
11:03 azert0x joined #perl6
11:10 agentzh joined #perl6
11:12 jaldhar joined #perl6
11:15 isBEKaml joined #perl6
11:31 patrickas rakudo: my %r = [^8]>>.fmt("%03b") Z  (0,1,1,1,1,0,0,0);say (my @i = 0 xx 9,1,0 xx 10);for ^8 { say ( @i =  0, ( map { %r{ @i[$_-1]  ~ @i[$_]  ~ @i[$_+1] }}, 1..^19 ) , 0 ) }
11:31 p6eval rakudo c0efe0: OUTPUT«00000000010000000000␤00000000111000000000␤00000001100100000000␤00000011011110000000␤00000110010001000000␤00001101111011100000␤00011001000010010000␤00110111100111111000␤01100100011100000100␤»
11:32 patrickas \o/
11:32 patrickas pugs: my @i = (1,2,3);say @i[-1];
11:32 p6eval pugs: OUTPUT«3␤»
11:32 patrickas rakudo: my @i = (1,2,3);say @i[-1];
11:32 p6eval rakudo c0efe0: OUTPUT«Cannot use negative index on arrays␤  in 'Array::postcircumfix:<[ ]>' at line 2582:CORE.setting␤  in main program body at line 11:/tmp/8rQUrtRdmT␤»
11:32 patrickas who's at fault here ?
11:33 patrickas rakudo: my @i = (1,2,3);say @i[*-1];
11:33 p6eval rakudo c0efe0: OUTPUT«3␤»
11:33 patrickas rakudo: rakudo: my @i = (1,2,3);say @i[*+1];
11:33 p6eval rakudo c0efe0: OUTPUT«===SORRY!===␤Confused at line 11, near "rakudo: my"␤»
11:33 patrickas rakudo: my @i = (1,2,3);say @i[*+1];
11:33 p6eval rakudo c0efe0: OUTPUT«␤»
11:33 ruoso joined #perl6
11:39 Ross joined #perl6
11:44 colomon patrickas: rakudo is correct
11:45 colomon negative indices have been banned from p6
11:45 patrickas What is the reason ?
11:45 patrickas would anyone expect anything else form a negative index ?
11:45 patrickas s/form/from/
11:45 satyavvd joined #perl6
11:47 colomon My impression is they were considered a horrible hack.  Also, consistently supporting the *-1 approach is more flexible.
11:47 colomon but I wasn't around when the actual discussions occurred.
11:47 patrickas unfortunately *+1 is not suported
11:48 patrickas so it looks kind of asymetrical...
11:48 colomon (more flexible: for instance, * / 2 is now a valid and frequently sensible index)
11:48 colomon * + 1 is certainly supported
11:48 colomon it's two past the end of the array
11:48 patrickas rakudo: rakudo: my @i = (1,2,3);say @i[*+1];
11:48 p6eval rakudo c0efe0: OUTPUT«===SORRY!===␤Confused at line 11, near "rakudo: my"␤»
11:48 patrickas rakudo: my @i = (1,2,3);say @i[* + 1];
11:48 colomon typing rakduo: twice is not support. :)
11:48 p6eval rakudo c0efe0: OUTPUT«␤»
11:49 colomon rakudo: my @i = (1,2,3); @i[* + 1] = 10; say @i.perl
11:49 p6eval rakudo c0efe0: OUTPUT«[1, 2, 3, Proxy.new(), 10]␤»
11:49 patrickas ok
11:50 patrickas it s does feel a bit strange, but I guess change always does. I suppose it'll grow on me
11:50 colomon rakudo: my @i = (1,2,3);say @i[* / 2];
11:50 p6eval rakudo c0efe0: OUTPUT«2␤»
11:51 patrickas ok that's a worthwhile advantage
11:54 patrickas cellular automata rule 30 in rakudo :-)
11:54 patrickas rakudo: my %r=[^8]>>.fmt("%03b") Z 30.fmt("%08b").split('').reverse;say (my @i = 0 xx 9,1,0 xx 9);for ^9 {say (@i=map {%r{ @i[($_-1)%19,$_,($_+1)%19].join }},^19)}
11:54 p6eval rakudo c0efe0: OUTPUT«0000000001000000000␤0000000011100000000␤0000000110010000000␤0000001101111000000␤0000011001000100000␤0000110111101110000␤0001100100001001000␤0011011110011111100␤0110010001110000010␤1101111011001000111␤»
11:57 patrickas also map in void context is allowed to be a noop ?
11:57 patrickas even if it has side effects ?
12:02 jnthn No, the void (akshually "sink") context is meant to make the map actually execute.
12:02 jnthn But NYI.
12:02 patrickas oh ok thx jnthn
12:04 jnthn moritz_: http://www.perlmonks.org/?node_id=843317 - can re-produce this here. WTF?!
12:09 patrickas same here
12:11 dalek rakudo: 24a823f | jonathan++ | t/spectest.data:
12:11 dalek rakudo: Turn on integration/advent2009-day18.t; patrickas++.
12:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/24a823ff2de7787bec0efc25c6236be2984d810d
12:11 patrickas actually say +$num is giving me 0
12:14 jnthn Turns out chomp was clueless about Windows line endings.
12:14 patrickas also I noticed another unrelated thing, on windoes we are not chomping \r
12:14 jnthn Let's see if fixing that helps.
12:14 patrickas whoa!
12:14 jnthn I think they may be related.
12:14 patrickas I don't know
12:15 patrickas I tried manually setting the string to "6\r"
12:15 jnthn Fixing the chomping would be a good thing, anyway.
12:15 patrickas and it did not change lcoally
12:15 patrickas should definetely be fixed regardless :-)
12:16 patrickas trimming seems to fix it
12:17 patrickas actually just stringifying it removes the issue! doesn't prompt return a Str already ?
12:17 jnthn Please write a number : 5
12:17 jnthn 5
12:17 jnthn 8
12:17 jnthn \o/
12:17 jnthn patrickas: Not sure - fixing chomp seems to have helped though.
12:18 jnthn Probably this fixes another test fail I've had for a while on Windows due to the same issue too.
12:18 * jnthn spectests
12:18 azawawi joined #perl6
12:18 azawawi hi
12:18 isBEKaml uh, jnthn, how come it works for nums > 10 or so like the op says in perlmonks?
12:19 patrickas ahlan azawawi
12:20 azawawi :)
12:21 jnthn isBEKaml: I...hate to imagine.
12:21 jnthn isBEKaml: Still trying to fathom that one.
12:22 jnthn I guess a number parsing code quirk.
12:24 isBEKaml joined #perl6
12:25 isBEKaml jnthn: weird, but he also says that it works with parrot 1.7 or so.. :/
12:26 jnthn isBEKaml: That coulda been on Rakudo alpha too, though. I think chomp was less broken there.
12:28 isBEKaml jnthn: yeah, weird.
12:29 patrickas I am afraid fixing the chomp could have just masked the problem
12:29 patrickas http://gist.github.com/427555
12:32 patrickas "readline" is in parrot right ? what does it return ?
12:33 jnthn patrickas: We have a readline in IO.pm which is what calls .chomp on the string.
12:34 jnthn rakudo: say +"3"
12:34 p6eval rakudo c0efe0: OUTPUT«3␤»
12:34 jnthn rakudo: say +"3 "
12:34 p6eval rakudo c0efe0: OUTPUT«3␤»
12:34 jnthn rakudo: say +"3x"
12:35 p6eval rakudo c0efe0: OUTPUT«3␤»
12:35 jnthn rakudo: say +"3\r"
12:35 p6eval rakudo c0efe0: OUTPUT«3␤»
12:35 jnthn rakudo: say +pir::set__sp("3\r")
12:35 p6eval rakudo c0efe0: OUTPUT«0␤»
12:35 jnthn Aha.
12:35 jnthn Parrot strings numify differently to Perl 6 ones. :-/
12:36 patrickas oh ok
12:36 jnthn So that's The Other Issue.
12:36 jnthn chomp still needs fixing though.
12:36 patrickas yes definetely
12:38 cosimo i'd like a new project to be added to proto \o/
12:40 cosimo http://github.com/cosimo/perl6-puppet-parser
12:40 * jnthn needs to pop to the shop...bbiab
12:42 patrickas what are Puppet modules ?
12:42 isBEKaml wha... Cool-str.pm only identifies "\n" in chomp? I see why chomp needs fixing. jnthn++
12:44 pugssvn r31147 | radus++ | [t/spec] Added tests for RT 65022 - Nested classes declared inside different classes cannot have the same name.
12:46 patrickas cosimo: I added perl6-puppet-parser ... it should show up on the proto.perl6.org in a couple of hours (unless I broke something)
12:49 patrickas rakudo: say +pir::set__sp("13\r")
12:49 p6eval rakudo 24a823: OUTPUT«13␤»
12:49 cosimo patrickas: thanks
12:49 patrickas rakudo: say +pir::set__sp("3foo")
12:49 p6eval rakudo 24a823: OUTPUT«0␤»
12:49 patrickas rakudo: say +pir::set__sp("13foo")
12:49 p6eval rakudo 24a823: OUTPUT«13␤»
12:50 cosimo patrickas: this puppet here, http://docs.puppetlabs.com/
12:51 patrickas cosimo: I would have called the module perl-6-puppet-master instead ;-)
12:51 cosimo :)
12:52 isBEKaml rakudo: my $str = "   yabba dabba   doo    "; $str.chop.perl.say;
12:52 p6eval rakudo 24a823: OUTPUT«"   yabba dabba   doo   "␤»
12:52 isBEKaml uh, what's chop supposed to do? I believed it was for removing trailing/leading whitespaces...
12:53 patrickas rakudo: my $str = "   yabba dabba   doo"; $str.chop.perl.say;
12:53 p6eval rakudo 24a823: OUTPUT«"   yabba dabba   do"␤»
12:53 patrickas chop removes the last character
12:53 patrickas no matter what it is
12:53 patrickas chomp removes end of line character
12:53 patrickas trim removes the whitespaces
12:53 isBEKaml rakudo: my $str = "   yabba dabba   doo    "; $str.trim.perl.say;
12:53 p6eval rakudo 24a823: OUTPUT«"yabba dabba   doo"␤»
12:54 isBEKaml I see.. patrickas++ :)
12:56 patrickas anyone knows where the parrot devs hangdout ?
12:56 isBEKaml #parrot?
12:56 isBEKaml irc.parrot.org, IIRC.
12:56 patrickas thanks, I had the wrong server :-)
12:57 isBEKaml I made that mistake once too. then I checked in parrot.org. :)
12:59 patrickas joined #perl6
12:59 patrickas heheh i accidentaly disconnected my self :-)
12:59 * patrickas is not only a perl6 noob but an irc noob too :-)
13:00 * isBEKaml is noobier than patrickas. (if noobier counts as a word. ;)
13:02 patrickas we're like the blind leading the blind :-)
13:02 isBEKaml until the Elders turn up. :)
13:03 isBEKaml The Elders of Perl6oren.
13:04 dalek rakudo: 53da4c1 | jonathan++ | src/core/Cool-str.pm:
13:04 dalek rakudo: Fix chomp to handle Windows newlines too.
13:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/53da4c1ed4d5154825549c2be629fca401bd11a1
13:08 patrickas I guess that means time to build :-)
13:10 azawawi Juerd: ping
13:11 isBEKaml I don't understand why some file methods are defined in Str.pm and some more in Str.pir. It seems very awkward to me...
13:11 isBEKaml methods s(), d() and f() in Str.pm and e(), l() in Str.pir.
13:14 patrickas isBEKaml: no idea, I would have expected things in Str.pm to be in perl6 and tings in Str.pir to be in PIR but apparently not
13:15 isBEKaml patrickas: I was more like, if these are file methods, I would have expected these to be in one location than defined in different files.
13:21 JimmyZ joined #perl6
13:21 masonkramer joined #perl6
13:33 isBEKaml afk #errands, bbl o/
13:33 patrickas \o
13:42 dakkar joined #perl6
13:45 Sarten-X joined #perl6
13:58 dual joined #perl6
14:16 pyrimidine joined #perl6
14:22 jnthn patrickas,isBEKaml: Once upon a time the only built-ins were done in PIR. There's still various things that could be in the Perl 6 setting that currently are not.
14:22 jnthn (Because they didn't get ported yet).
14:25 pmurias ruoso: ping # i should really get round to writing that email instead of ping, but one last try won't hurt
14:27 jnthn church &
14:31 pyrimidine joined #perl6
14:42 masonkramer what the heck is a perl6 slang?  iow, which synopsis should I read on that?
14:43 rv2733 joined #perl6
14:44 kraai joined #perl6
14:47 pmurias masonkramer: S02
14:47 pmurias masonkramer: use ack on the synopsis to find the right one
14:49 * masonkramer 's brain explodes
14:51 pmurias so you found the part about slangs?
14:52 masonkramer I can't talk, my brain is asploded
14:52 masonkramer (yes)
14:53 am0c joined #perl6
14:58 * moritz_ back
14:59 moritz_ jnthn: re numification of strings from IO - those seem to be parrot String things, not Perl 6 Str objects - at least .PARROT produces String, not Str
15:13 dju joined #perl6
15:13 cosimo any idea why this fails?
15:13 cosimo http://paste.lisp.org/display/111195
15:13 _jaldhar joined #perl6
15:13 cosimo I'm trying to invoke some pir functions, but the result is sub '_md5_print' not found
15:14 cosimo i tried every possible monkey-generated combination of get_hll_namespace, get_hll_global, find_method, etc...
15:15 moritz_ I wonder if load_bytecode succeeded
15:15 moritz_ does it fail loudly if you put in some fantasy name
15:15 cosimo hmm
15:16 cosimo yes, it complains "load_bytecode" couldn't find Digest/MD6.pbc
15:16 moritz_ hrm
15:16 cosimo i supposed the problem is that _md5_print is in the Digest namespace
15:16 cosimo but I can't seem to get at the real methods
15:18 moritz_ get_hll_global ['Digest'], '_md5_print'
15:19 cosimo tried that, but it doesn't work
15:19 cosimo Null PMC access blah blah
15:20 cosimo moritz_: how would I invoke that if I got something?
15:20 moritz_ $P0($args)
15:21 cosimo moritz_: right, but even a simple "say" of the result gives me Null pmc access
15:22 avar moritz_: I fixed the error message
15:25 avar http://github.com/avar/rakudo/compare/fix/p5-package-error
15:27 moritz_ cosimo: I don't undertand it... examples/library/md5sum.pir works just with _md5sum
15:27 cosimo moritz_: i tried to even include the onload code to set the _md5_print global, but no way
15:28 cosimo moritz_: works for me too
15:28 cosimo the md5sum.pir i mean
15:33 cosimo I need to go now, bye
15:33 moritz_ ciao
15:35 dalek rakudo: a3de524 | (Ævar Arnfjörð Bjarmason)++ | src/Perl6/Grammar.pm:
15:35 dalek rakudo: Fix 'package Foo;' error so that it suggest a Perl 6 alternative
15:35 dalek rakudo: The error message for 'package Foo' introduced in 6ba4b221a993e8dc3a4c
15:35 dalek rakudo: didn't suggest what syntax to use instead. Explain that you should use
15:35 dalek rakudo: package blocks, or the module declaration syntax.
15:35 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
15:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a3de5241817078ebdcd10e4627d932247de20454
15:35 moritz_ avar++
15:36 moritz_ not only complaining, but actually patching!
15:36 pmichaud good morning, #perl6
15:37 xinming_ joined #perl6
15:37 moritz_ hi
15:37 avar WHINE WHINE WHINE
15:38 avar moritz_: yeah, now that it's actually possible since rakudo isn't in svn :)
15:38 avar (it's been a while)
15:38 moritz_ even with svn you can submit patches... but I know what you mean
15:38 avar yeah, but it's so hard you never bother for stuff like this
15:39 pmichaud yummy patches!
15:39 avar wasn't parrot moving to git?
15:39 moritz_ avar: yes, but after gsoc
15:40 pmichaud until then we're all just doing "git svn"  :-P
15:41 moritz_ ... which combines some of the svn drawbacks with most of the git drawbacks
15:41 pmichaud yes, but (for me at least) it's still better than straight svn.
15:41 avar yeah, git svn is horrors
15:41 avar even cvs is better than straight svn :)
15:41 pmichaud of course, I don't do much branching with git svn
15:42 moritz_ btw t/spec/S03-smartmatch/capture-signature.t fails to compile for me
15:43 moritz_ I've just commited a fix for line endings
15:43 moritz_ but it doesn'T change anything
15:43 moritz_ and previously it was touched in April
15:43 moritz_ so something in rakudo or parrot broke it
15:52 xabbu42 joined #perl6
15:52 xabbu42_ joined #perl6
16:05 lue ohai morning o/
16:12 patspam joined #perl6
16:13 Ross joined #perl6
16:14 lue rakudo: say 10000000[1]
16:14 p6eval rakudo 53da4c: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Int'␤  in main program body at line 1␤»
16:20 pmichaud moritz_: yes, capture-signature.t doesn't seem to be working with latest parrot.  It works with r47382
16:23 pmichaud bisecting now
16:26 lue rakudo: *.defined
16:26 p6eval rakudo 53da4c:  ( no output )
16:27 plobsing joined #perl6
16:27 lue rakudo: say (1, undef, 2, 3).grep(*.defined).perl
16:27 p6eval rakudo 53da4c: OUTPUT«===SORRY!===␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤     Mu (the "most undefined" type object),␤   an undefined type object such as Int,␤    Nil as an empty list,␤    *.notdef as a matcher or method,␤ Any:U as a type constraint␤
16:27 p6eval .. or fail() as a failur…
16:29 patrickas lue undefined is gone
16:29 patrickas rakudo: say (1, Mu , 2, 3).grep(*.defined).perl
16:29 p6eval rakudo 53da4c: OUTPUT«Nominal type check failed for parameter '$topic'; expected Any but got Mu instead␤  in 'Bool::ACCEPTS' at line 1223:CORE.setting␤  in 'infix:<~~>' at line 347:CORE.setting␤  in 'Iterator::perl' at line 1314:CORE.setting␤  in main program body at line 11:/tmp/R5vF018TXS␤»
16:29 patrickas this should have worked ... :-)
16:29 patrickas rakudo: say (1, Nil , 2, 3).grep(*.defined).perl
16:29 p6eval rakudo 53da4c: OUTPUT«(1, 2, 3)␤»
16:30 patrickas I think there is some bug retated to whatever not working with Mu
16:31 lue I know, I just copy n pasted from a ticket
16:32 lue rakudo: say 3 ~~ *; say Mu ~~ *
16:32 p6eval rakudo 53da4c: OUTPUT«1␤Nominal type check failed for parameter '$topic'; expected Any but got Mu instead␤  in 'Whatever::ACCEPTS' at line 4036:CORE.setting␤  in 'infix:<~~>' at line 347:CORE.setting␤  in main program body at line 11:/tmp/4WC56LTqT3␤»
16:32 justatheory joined #perl6
16:33 patrickas oh ok
16:34 lue hrm, lets look at the source code
16:39 lue well, I can't find in the source code if it has to accept Any $topic, instead of any $topic [Note capitalization!]
16:40 lue s/source code/spec/
16:40 pmichaud r47400 fails
16:41 lue :(
16:41 pmichaud trying 47390
16:43 isBEKaml jnthn: (sorry for the late reply) Well, I didn't know we could learn history in #perl6! xD Any way I could do something so we don't have to get all bent in the future? ;)
16:44 isBEKaml (if at all, please do point me as to what I have to do )
16:46 isBEKaml moritz_: (backlogging) svn doesn't do what we need with patches? svn diff -x -u for unified diffs, still version mismatches are a possibility. :(
16:49 tedv joined #perl6
16:51 pmichaud ick, bisecting parrot isn't going to work.  Some of the intermediate parrots have other bugs that prevent me from finding the capture-signature.t one.
16:53 * lue back from email land
16:54 lue I have the bad habit of letting my email sit for a couple of days, and then getting 300 emails to sort through :)
16:54 isBEKaml pmichaud: parrot test suite is in a different svn location? I don't find it with my parrot local checkout. I'm at r47414, fyi.
16:55 isBEKaml pmichaud: *it -> capture-signature.it
16:55 pmichaud isBEKaml: I don't quite understand the question.
16:55 pmichaud capture-signature.t is in the perl 6 test suite
16:55 pmichaud t/spec/S03-smartmatch/capture-signature.t
16:55 isBEKaml pmichaud: Ah, well. since you said bisecting parrot, I was a little confused.
16:55 pmichaud right
16:56 pmichaud some change to parrot in the last 24 hrs has caused that test to start failing in rakudo.
16:56 pmichaud I'm trying to find which parrot change causes the failure.
16:56 isBEKaml pmichaud: ok.
17:04 isBEKaml pmichaud: uh, that particular test passes with parrot at 47417. :?
17:06 isBEKaml pmichaud: and rakudo at c0efe0
17:06 isBEKaml or this is with the latest version?
17:09 pmichaud it passes at 47417?
17:10 * pmichaud checks.
17:10 pmichaud it passes at 47388
17:10 * pmichaud tries 47417
17:13 lue rakudo: say 1..{$_} # checking a ticket
17:13 p6eval rakudo a3de52:  ( no output )
17:15 diakopter sorear: + in perlesque operates on value types
17:16 diakopter or between a value type and an object type that has an implicit cast to that value type
17:16 diakopter the compiler (runsharp) determines the best "overload"
17:18 diakopter sorear: to answer your other question, the IR while perlesque is compiling is represented by TypeGens and RoutineGens (RunSharp objects)
17:18 pmichaud isBEKaml++   # r47417 _does_ work!
17:18 pmichaud that's good, I can bisect from there a bit better.
17:19 isBEKaml \o/
17:19 pmichaud thanks for finding that... I might've been lost for quite a while w/o it
17:19 tedv So a week or two I was looking for introductory dev work and someone suggested writing a more complete spec for Compact structs (in S09)
17:19 diakopter sorear: so when you ask how to "see" these objects, I should ask "for what purpose?" or "how would you like these objects presented?" so I can come up with a way to serialize/output them
17:20 isBEKaml pmichaud: searching svn logs is a bit of a pain, imho. nevertheless, you're welcome. :)
17:20 tedv I had a number of ideas, but it seemed proper to have a discussion with People Who Know More Than Me(tm) first, and I'm not sure which mailing list is the right place.
17:20 tedv is this better suited to the language list, the compiler list, or something else?
17:21 pmichaud spec generally belongs on the language list
17:21 lue I would say p6l is better suited (the language list)
17:21 tedv that's the bikeshed list, right? :)
17:21 pmichaud it does do that sometimes, yes.
17:22 diakopter bring lots of paint
17:22 lue can't wait for the demolition order against that bikeshed :)
17:22 tedv Also, is there a section of the spec that deals with data serialization of structs?
17:23 lue (And the poor grass surrounding it; it's a rainbow of colors, except for green :( )
17:23 tedv which seems closely related to compact structs but not exactly the same
17:23 isBEKaml lue: that's colourful! ;)
17:23 tedv ie. encoding variable length fields is required for serialization, but confuses compaction
17:24 diakopter tedv: do you recall who suggested making that specification more ... specific?
17:24 lue afk
17:24 tedv It might have been moritz.  Would have to check the logs
17:24 tedv I originally wanted to write some spec tests for pack()
17:24 tedv but mentioned that there wasn't a solid spec for pack, as best I could tell
17:25 tedv and he said there was some intersection between it and compact structs, which hadn't been ironed out or something
17:25 tedv when I mentioned that compact structs also were a little vague in their descriptions, he suggested I write a more solid interface for it.
17:26 tedv it might have been pmichaud, but it was either him or moritz.
17:27 jnthn pmichaud: oh hai - capture-signature.t is broken?
17:29 jnthn pmichaud: What's the failure mode?
17:31 pmichaud can't find $a
17:31 pmichaud r47421 passes
17:33 pmichaud trying r47424
17:33 jnthn Oddness
17:33 jnthn pmichaud: Sounds like a parsing-ish error though.
17:33 pmichaud yes, it does appear to get different parses.  I don't really have any clue *why* it would do that, though.
17:33 jnthn :S
17:34 jnthn No, none of the patches, having glanced them, look immediately suspicious.
17:36 jnthn pmichaud: Signature parsing uses **
17:36 pmichaud here's a somewhat golfed version:  http://nopaste.snit.ch/20995
17:36 pmichaud the ** changes are pretty old, though -- definitely before r47417 (which appears to work fine)
17:36 jnthn Ah, OK
17:37 jnthn Then, I'm kinda stumped.
17:37 pmichaud yeah, I'm wondering if it's a hash-ordering sort of bug.  :-|
17:37 jnthn That woulda been the obvious place where things coulda gone awry.
17:37 jnthn Oh noes.
17:38 jnthn Ah well, at first when I read what test was broken I was vaguely terrified because I know how that lot works under the hood. :-)
17:38 pmichaud aha, it does appear to be a parsing bug
17:38 jnthn So I'm not rather relieved that it seems to be compile bug rather than runtime.
17:38 pmichaud in one parse it's treating :($a) as a colonpair, in another as a sigterm
17:38 jnthn (It does...erm...beautiful evil)
17:38 jnthn Oh.
17:38 jnthn That would indeed break things.
17:39 jnthn I wonder if we were just getting lucky.
17:39 jnthn std: :($a)
17:39 p6eval std 31152: OUTPUT«Encode::encode_utf8() called too early to check prototype at STD.pm line 17.␤ok 00:01 108m␤»
17:39 pmichaud uh oh, STD borken.
17:40 jnthn pmichaud: I think that's just a warning.
17:40 pmichaud oh, okay
17:40 jnthn pmichaud: Note the "ok" at the end.
17:40 pmichaud yeah, I see the 'ok' now.
17:40 jnthn std: lol broken +
17:40 p6eval std 31152: OUTPUT«Encode::encode_utf8() called too early to check prototype at STD.pm line 17.␤[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/KOnDdIi7lo line 1 (EOF):␤------> [32mlol broken +[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 105m␤»
17:40 jnthn Yeah.
17:40 jnthn pmichaud: Wonder if our colon pair parsing is too liberal.
17:41 jnthn And up to now we just got lucky with some ordering of trying parsing rules.
17:41 jnthn pmichaud: Especially, could "
17:41 jnthn ":my" in regexes is now properly declarative for LTM purposes."
17:41 jnthn have meant things LTM differently?
17:41 pmichaud huh
17:41 pmichaud not in this case
17:41 jnthn OK.
17:41 pmichaud since there aren't any :my's involved in the relevant rules
17:42 pmichaud okay, so....
17:42 pmichaud token term:sigterm            { <sigterm> }
17:42 pmichaud token term:colonpair          { [ <colonpair> <.ws> ]+ }
17:42 pmichaud in the case of :($a) -- what differentiates between these two?
17:42 pmichaud sigterm is given as
17:42 jnthn Yeah, that's what I'm starting to wonder.
17:42 pmichaud ':(' ~ ')' <fakesignature>
17:43 pmichaud and the relevant part of <colonpair> is
17:43 pmichaud | :dba('signature') '(' ~ ')' <fakesignature>
17:43 jnthn STD has changed here I think, since I last saw it to.
17:43 pmichaud (these are from STD)
17:43 jnthn I don't see that :dba('signature') bit in colonpair?
17:44 pmichaud it's there
17:44 pmichaud just a sec
17:44 am0c joined #perl6
17:44 jnthn | <coloncircumfix('')>
17:44 jnthn oh, so it is.
17:44 pmichaud are you looking at STD.pm6 or rakudo?
17:44 pmichaud right, it's there.
17:44 jnthn STD.pm6. I was looking at precisely that rule too.
17:44 jnthn Just missed it. :-)
17:44 jnthn I don't really follow why that is there.
17:45 pmichaud so, it looks to me like either parse is valid.
17:45 jnthn Do we parse a signature there in Rakudo?
17:45 pmichaud sometimes, apparently
17:45 pmichaud sometimes we go through <sigterm>, sometimes through <colonpair>
17:45 jnthn wait a mo...
17:45 jnthn pmichaud: Aha.
17:46 jnthn pmichaud: In Rakudo's grammar, we don't try to parse a signature there.
17:46 jnthn So instead we hit circumfix.
17:46 pmichaud ?
17:46 pmichaud I'm looking at rakudo's parse(s), and don't see that.
17:46 pmichaud just a sec
17:46 jnthn See colonpair in Rakudo.
17:47 pmichaud okay
17:47 jnthn We're missing the signature case that STD has.
17:47 pmichaud so, the question somewhat remains -- do we still need <sigterm>?
17:47 jnthn I'm sure it hadn't use to have that.
17:47 pmichaud (does STD.pm still need sigterm?)
17:47 jnthn It's referenced from places other than term, I think.
17:47 jnthn ah, yes
17:47 jnthn token sublongname {
17:47 jnthn <subshortname> <sigterm>?
17:47 jnthn }
17:47 pmichaud okay, I really meant (unclear)  do we need term:sigterm ?
17:47 jnthn But it feels like a bit of a wtf.
17:48 jnthn Not if we're going to parse it in colonpair
17:48 jnthn But that feels...wrong. :-S
17:48 pmichaud if term:colonpair already captures it, then...
17:48 pmichaud yeah
17:48 jnthn That bit of STD feels like a total hack to me, fwiw.
17:48 jnthn I don't even get why it would prefer the signature case other the circumfix case right below it.
17:48 pmichaud well, because it comes first.
17:49 jnthn Oh, LTM tie-breaks on that?
17:49 pmichaud (fallback in ltm is whichever one is declared firs... yeah)
17:49 jnthn Right, Ok
17:49 jnthn Not quite so hacky then.
17:49 jnthn But still parsing sigterms in colonpair is a bit weird.
17:49 jnthn It'd work though.
17:49 jnthn I figure we've just been getting lucky up to now.
17:49 jnthn Note Rakduo's colonpair starts with:
17:49 jnthn :my $*key;
17:49 jnthn :my $*value;
17:50 pmichaud aha
17:50 jnthn Which hadn't used to be declarative.
17:50 pmichaud that would indeed do it.
17:50 jnthn So colonpair had an empty LTM prefix I guess.
17:51 pmichaud previously, yes.
17:51 Sarten-X joined #perl6
17:51 pmichaud and then we got lucky for a bit after fixing the :my stuff.
17:51 jnthn Yeah
17:51 jnthn OK, I think we have an explanation at least.
17:51 pmichaud well, I want to get rid of either term:sigterm or the signature portion of colonpair.  Preference?
17:52 jnthn pmichaud: I don't think it's that easy.
17:52 jnthn (more)
17:52 jnthn If we keep sigterm, I don't see how that won't be ambiguous with :($a) as a colonpair.
17:53 jnthn So I'm not sure we have a choice as such.
17:53 jnthn I think it'll have to go in colonpair.
17:53 pmichaud I can fix it so that colonpair doesn't parse :($a)
17:54 jnthn std: my $op_name; &infix:($op_name)
17:54 p6eval std 31152: OUTPUT«Encode::encode_utf8() called too early to check prototype at STD.pm line 17.␤ok 00:01 107m␤»
17:54 pmichaud okay
17:54 jnthn pmichaud: Then we can't parse ^ though.
17:54 pmichaud so, yes, it has to go in colonpair.
17:54 jnthn I fear so. But it's kinda ugly.
17:54 pmichaud not really
17:54 pmichaud at least, I don't see it as being that ugly.
17:55 jnthn Well, ugly is the wrong word. Just feels strange to me. :-)
17:55 jnthn Anyway, +1 to kill sigterm.
17:55 pmichaud if signatures are generally colonpairs, it fits for me.
17:55 jnthn Or, in the alternative, to just call <sigterm> from colonpair.
17:55 jnthn oh
17:55 jnthn that won't work
17:55 jnthn sigterm wants the colon
17:55 pmichaud right
17:56 jnthn .oO( everything wants the colon)
17:56 pmichaud I could get term:sigterm to be preferred over term:colonpair
17:56 pmichaud but we still need to be able to parse sigterms in colonpair
17:56 pmichaud so...
17:56 pmichaud I'll start by fixing colonpair
17:56 jnthn sigterm dies.
17:56 jnthn colonpair parses it.
17:56 jnthn Let's go with that, unless we find it won't work.
17:57 jnthn token term:sym<sigterm>            { <sigterm> }
17:57 jnthn Is the only use of <sigterm> in Rakudo's grammar.
17:57 jnthn STD only has one other usage of it anyway
17:57 pmichaud once I get to bump PARROT_REVISION, we'll have a working exit()
17:57 pmichaud (from interactive mode)
17:57 jnthn Oh, nice.
17:58 jnthn .oO( damm, now I can't re-live my visual basic glory days with constant loop = 64; exit loop; )
17:58 pmichaud and we'll be using real pasm constant symbols instead of the numeric constants
17:58 jnthn \o/
17:59 jnthn Cool. We can clear up the nasty in backtraceprinter.
17:59 jnthn moritz_: BTW, may be worth noting on http://www.perlmonks.org/?node_id=843317 that I fixed the bug earlier today.
18:01 patrickas jnthn the related behaviour from parrot is  bug too right? not just a different way of converting strings to nums
18:01 jnthn patrickas: Quite possibly, yes.
18:01 jnthn patrickas: Well, maybe not though
18:01 jnthn patrickas: Parrot doesn't need to have the same number parsing semantics as Perl 6.
18:01 jnthn patrickas: The problem is more than we end up with Parrot strings.
18:02 patrickas yes but the behaviour of parrot does not make sense regardless of perl6
18:03 patrickas rakudo: say +pir::set__sp("6foo")
18:03 p6eval rakudo a3de52: OUTPUT«0␤»
18:03 patrickas rakudo: say +pir::set__sp("16foo")
18:03 p6eval rakudo a3de52: OUTPUT«16␤»
18:03 jnthn Yeah
18:03 patrickas this seems odd no matter how you look at it
18:03 jnthn May be worth a Parrot ticket.
18:04 jnthn It looks very much like a bug rather than intended behavior.
18:04 jnthn That or somebody has weird intentions. :-)
18:04 patrickas heheh you can never discount that possibility
18:07 pmichaud nqp:  say(+"6foo")
18:07 p6eval nqp: OUTPUT«0␤»
18:07 pmichaud nqp:  say(+"16foo")
18:07 p6eval nqp: OUTPUT«16␤»
18:08 pmichaud ...huh.
18:08 pnate joined #perl6
18:09 pmichaud http://nopaste.snit.ch/20998  # Parrot weird numification
18:10 pmichaud it's apparently been that way, like, forever.
18:17 pmichaud Filed as http://trac.parrot.org/parrot/ticket/1674
18:18 pmichaud apparently worked as of 1.0.0, though.
18:19 pmichaud From method sigterm($/):
18:19 pmichaud make $<fakesignature>.ast.ast;
18:19 pmichaud ...?!
18:19 sorear diakopter: I'd like to see them for the purposes of better understanding what's happening to the code
18:21 jnthn pmichaud: ya rly
18:22 jnthn pmichaud: $<fakesignature>.ast gets you a Perl6::Compiler::Signature object.
18:22 pmichaud that just looks so wrong
18:22 jnthn I probably shoulda called the .ast method of Perl6::Compiler::Signature something else but, well, it produces the AST. ;)
18:23 pmichaud seems to me that $<fakesignature>.ast should get you the ast, not the P:C:S
18:23 jnthn I'm pertty sure we don't want it to at that point.
18:24 jnthn Sometimes we need to do away with the signature and just make a list of the variables declared in it, for example.
18:24 pmichaud so, the issue is that $<signature>.ast returns the P:C:S
18:24 jnthn "issue" :-)
18:24 pmichaud yes, in air quotes
18:25 jnthn I did for a little while ponder monkey-patching PAST::Compiler to know what to do with a P::C::S.
18:25 jnthn But that felt...even more evil.
18:25 pmichaud no, that would be evil.
18:25 pmichaud (yes, more evil)
18:26 pmichaud I don't mind that $<signature>.ast returns a P:C:S so much, but it seems odd that $<fakesignature>.ast does so.
18:26 pmichaud We never use the P:C:S from a fakesignature, afaict
18:26 pmichaud anyway, shifting fake signature parsing into colonpair appears to have corrected the bug
18:26 jnthn You're right, we use it only from sigterm.
18:26 pmichaud spectesting now
18:27 jnthn Well, "used" now I guess. :-)
18:27 * jnthn ponders what he wants for dinner
18:27 pmichaud time for a walk while spectest runs
18:27 jnthn :-)
18:32 jnthn afk, nomhunt
18:56 pmichaud pmichaud@plum:~/rakudo$ ./perl6
18:56 pmichaud > exit(1)
18:56 pmichaud pmichaud@plum:~/rakudo$
18:56 pmichaud \o/
18:56 mathw ooh
18:56 mathw \o/
18:56 mathw pmichaud++
18:56 pmichaud pmichaud@plum:~/rakudo$ ./perl6
18:56 pmichaud > exit
18:56 pmichaud pmichaud@plum:~/rakudo$
18:57 pmichaud just getting that to work involved fixing far too many other things.  :-)
18:57 colomon still, \o/
18:58 mathw also, those other things got fixed too
18:58 sorear my $x = { exit }
18:58 sorear $x()
19:02 dalek rakudo: 1bac469 | pmichaud++ | src/Perl6/ (2 files):
19:02 dalek rakudo: Move fake signature handling into <colonpair>, eliminate term:sigterm .
19:02 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1bac4698f15e38bd99c063880861e9a4e458b62c
19:02 dalek rakudo: 3d19599 | pmichaud++ | build/PARROT_REVISION:
19:02 dalek rakudo: Bump PARROT_REVISION to get latest exit() fixes and improvements to pasm
19:02 dalek rakudo: constants.
19:02 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3d195990aad38a1728ca3c74782a06ce3f5fb684
19:10 avar What's the stuff that needs doing in rakudo these days?
19:16 hudnix joined #perl6
19:16 colomon avar: it feels like everything at the moment...
19:20 pmichaud I'm currently reviewing the rt queue a bit
19:20 mathw \o/
19:21 colomon since when is there a fatrat.t?
19:21 colomon (not that I'm complaining....)
19:23 mathw since somebody neede some tests for fat rats I suppose :)
19:28 colomon mathw: there's just one test, and all it does is make sure the FatRat constructor works.
19:28 colomon afaik, there's no implementation where that's true.
19:34 jnthn .oO( FatRat tests too thin )
19:34 jnthn (RT) I worked out how hack the query string so that RT gives me the whole queue on one page. :-)
19:35 jnthn That's *very* nice.
19:35 pmichaud oh, I've had that for months :)
19:35 jnthn :P
19:35 jnthn Wish I'd thought to try it sooner. :-)
19:37 cognominal rakudo:  class A is rw {}
19:37 p6eval rakudo a3de52: OUTPUT«===SORRY!===␤Could not find sub &chars␤»
19:37 moritz_ just go to the home page, click on the 'perl6' queue, and then sort by date descending
19:37 moritz_ then you can change the limit in the URL
19:39 jnthn rakudo: pardon? :-)
19:39 p6eval rakudo a3de52: OUTPUT«===SORRY!===␤Confused at line 11, near "pardon? :-"␤»
19:40 patrickas joined #perl6
19:40 ashleydev joined #perl6
19:42 patrickas ping mathw
19:43 _jaldhar joined #perl6
19:44 mathw pong patrickas
19:51 dalek rakudo: 7f2b754 | moritz++ | Test.pm:
19:51 dalek rakudo: [Test.pm] diagnostic output if is_approx fails
19:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7f2b75435093f6beea3e7e91fa677cda86890129
19:56 Chillance joined #perl6
19:59 xinming joined #perl6
20:03 Psyche^ joined #perl6
20:07 pmurias joined #perl6
20:07 pmurias hi
20:07 diakopter hi
20:07 diakopter ]o[
20:08 pmurias that's a TIE fighter?
20:08 diakopter heh
20:09 diakopter <o> # Rembaldi
20:10 hudnix joined #perl6
20:11 pmurias diakopter: how's your back?
20:15 whiteknight joined #perl6
20:16 patrickas_ joined #perl6
20:21 kensanata joined #perl6
20:37 masak joined #perl6
20:37 masak ahojte.
20:38 * masak sighs contentedly
20:39 aesop joined #perl6
20:42 jnthn ahoj, masak!
20:42 jnthn Ako sa mas?
20:42 masak jnthn! just the punster I was looking for. :)
20:42 masak very well, thanks.
20:42 jnthn Bra. :-)
20:42 masak just back from the wonderful Eden-like home of my parents. :P
20:43 masak (and boy are my arms tired.)
20:43 jnthn ...you swam back?
20:43 jnthn ;-)
20:43 masak no. my arms are tired from holding the laptop all day on the bus.
20:44 masak the tray wasn't a good place to put it, for some reason.
20:44 * pragma_ screams loudly.
20:44 masak hugme: hug pragma_
20:44 * hugme hugs pragma_
20:44 pragma_ "Hi everybody, I just flew in from Jew Nersy!  And boy, are my arms tired!"
20:45 jnthn masak: I hate those trays
20:45 jnthn masak: A lot of airplane ones a like that too.
20:45 masak pragma_: my arms *are* tired... :)
20:45 masak jnthn: this bus journey felt much like a flight, actually. especially the no wifi. :(
20:46 jnthn :(
20:46 * jnthn tycker inte om flyggar
20:46 masak jnthn: I've been trying and failing with that byteview length thing. care to tutor me a little?
20:46 jnthn Got one on Friday.
20:46 masak that is entirely the wrong noun form. :P
20:46 masak but points for trying, of course.
20:47 jnthn Heh, I was going for plural. :-)
20:47 jnthn But I didn't bother to learn how to make those yet.
20:47 jnthn :-)
20:47 masak yeah, I got that. :)
20:47 jnthn What should it have been?
20:47 masak the rest of the sentence was fine.
20:47 masak hm.
20:48 masak 'flyg' is the most simple fix.
20:48 jnthn (Was shooting for a translation of the English "I don't like flights"
20:48 jnthn )
20:48 masak 'att flyga' is probably slightly more colloquial.
20:48 masak then 'flyg'.
20:48 jnthn flyg is...plural?
20:48 * jnthn thought that was the singular
20:48 masak it's a plural as well as a singular.
20:48 masak and that, dear #perl6, concludes today's Swedish lesson.
20:49 jnthn In today's wildly preproccessed C lesson, we tackle adding a VTABLE method to a PMC.
20:49 jnthn masak: What did you get so far?
20:49 masak :)
20:50 masak I tried adding a VTABLE INTVAL get_integer()
20:50 jnthn Oh
20:50 arnsholt jnthn: In Norwegian (and I'm pretty sure Swedish as well) neuter nouns are identical in the singular and plural indefinite
20:50 masak because I had gone with indexing so far.
20:50 jnthn I was expecting a VTABLE INTVAL elements() { ... }
20:50 patrickas I think operator overloading is kind of broken in rakudo (and maybe multi subs too) ... is that a known issue http://gist.github.com/427841 ?
20:50 jnthn patrickas: (without even looking) Yes
20:51 jnthn patrickas: It's on my "to fix" list.
20:51 masak arnsholt: not all of them, I think.
20:51 sorear dalek?
20:51 sorear oh
20:51 sorear right
20:51 patrickas jnthn: ok thanks. cause the breakage is kind of massive and not something subtle :-)
20:51 sorear pugs
20:52 sorear pugssvn-- not being here to ++ me
20:52 masak jnthn: I was actually thinking of switching from indexing to iterators, which seemed a bit more fitting to me. but I wouldn't know how to do that. anyway, the method I added didn't help much.
20:53 masak I could nopaste the encode() method and the byteview.pmc as they look locally, if that helps.
20:53 jnthn http://gist.github.com/427888
20:54 * masak looks
20:54 jnthn OK, and that's a nopaste I just hacked up of what I was thinking or writing.
20:54 jnthn *of
20:54 arnsholt masak: Yeah, I think you're right now that you mention it
20:54 azert0x joined #perl6
20:54 masak arnsholt: I don't have an example handy. but it'll come to me, I'm sure.
20:54 arnsholt Indeed ^^
20:55 masak jnthn: ah! elements!
20:55 jnthn masak: Then you can do
20:55 dalek rakudo: 4bc8125 | pmichaud++ | src/Perl6/Actions.pm:
20:55 dalek rakudo: Refactor circumfix:sym<{ }> as hash constructor, fixes RT #74050
20:55 dalek rakudo: and cleans up a few items.
20:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4bc8125fff0ef1217e223625844a19716803d370
20:55 dalek rakudo: 06723b4 | pmichaud++ | Test.pm:
20:55 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
20:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/06723b40eadb075320cd166a61de930009d6d96c
20:55 jnthn $I0 = elements $dabuff
20:55 masak jnthn: I saw it in some places in other .pmc files, but didn't find a compelling example, nor hard proof that that was the way to get the length.
20:56 masak jnthn: I will try omedelbart. :)
20:56 jnthn masak: It's the canonical vtable method for number of array elements.
20:56 masak I'm sure.
20:57 masak I'm canonically ignorant of PMC internals. :)
20:57 masak but learning quickly.
20:57 jnthn pmurias: Nice patch!
20:57 jnthn er
20:57 jnthn pmichaud: Nice patch!
21:03 tlb joined #perl6
21:16 dalek nqp-rx: 820f547 | pmichaud++ |  (2 files):
21:16 dalek nqp-rx: Empty angles "< >" return a list (see RT #73772).
21:16 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/820f5478bf47a5f6bd66b94877fe2168b3631594
21:17 pmichaud jnthn: (nice patch)   ...which one?  ;)
21:17 pmichaud the hash constructor one?  yes, I like that patch.
21:17 pmichaud seems much cleaner now.
21:17 jnthn pmichaud: They're all good, but that was the one I was referring to, yes.
21:18 jnthn You look at the parse tree rather than the PAST, it seems.
21:18 pmichaud only for determining the number of statements
21:18 jnthn Ah, yes.
21:18 pmichaud that's really a parse-ish sort of thing anyway.
21:18 jnthn Yeah
21:18 jnthn I think we collapse empty statements to nothing in the PAST tree
21:18 pmichaud as we probably should :)
21:18 jnthn I seem to remember long back fixing a bug where you could get a nasty error by writing ;;
21:19 jnthn or "; ;"
21:19 jnthn Or some such
21:19 jnthn Empty statements, basically
21:19 pmichaud I did run into a complication with {;}  also -- fixed it.
21:19 jnthn I'd have guessed switching to the parse tree dealt with that?
21:19 pmichaud not entirely
21:19 jnthn Ah, ok
21:19 pmichaud {;}  still has one statement in it :)
21:19 pmichaud (from a parse perspective)
21:20 jnthn Ah, yes.
21:20 * pmichaud *really* wishes konsole weren't so broken.
21:20 jnthn masak: Any joy?
21:21 masak jnthn: it built. running tests now.
21:21 jnthn :-)
21:24 adityavs joined #perl6
21:24 masak jnthn: yes. joy.
21:24 masak \o/
21:24 masak preparing commit.
21:24 jferrero joined #perl6
21:24 masak all tests in t/spec/S32-str/encode.t now run locally. all 10 of them.
21:25 masak one fails.
21:25 adityavs left #perl6
21:25 masak er. two fail. there's a decoding test I don't get right yet either.
21:26 patspam joined #perl6
21:28 jnthn masak: yay progress :-)
21:30 jnthn afk for a little
21:32 [Coke] joined #perl6
21:33 masak I'll make the weekly merge to master now. this week has seen six commits to the buf branch; five by me and one by jnhtn++.
21:34 masak I don't remember how many tests we passed a week ago, but it's at least one more now, and no tests need to be skipped.
21:38 eternaleye joined #perl6
21:38 hercynium joined #perl6
21:41 _jaldhar joined #perl6
21:47 dalek rakudo: 841262f | pmichaud++ | src/Perl6/Actions.pm:
21:47 dalek rakudo: Empty <> quotes with only whitespace should return empty parcel. (RT #73772)
21:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/841262f5667317b72a8a60c66d97837af63cb531
21:49 avar is there a perl6 sqlite interface?
21:50 avar or some database wrapper?
21:50 masak yes.
21:51 masak there's squerl in Web.pm, and fakedbi. both are listed on http://proto.perl6.org/
21:52 masak neither are very easy to find, admittedly.
21:52 masak s/are/is/
21:53 tedv joined #perl6
21:57 masak here comes this week's merge commit with master.
21:58 _jaldhar joined #perl6
21:58 masak I've once again deleted the 'buf' branch. those who have it cloned should probably delete it too, because next week we'll have a new one. :)
21:59 dalek rakudo: 359dbdf | masak++ |  (5 files):
21:59 dalek rakudo: [Buf] improvements to Str.encode
21:59 dalek rakudo: This week saw the addition of ByteView, a stopgap PMC that allows us access
21:59 dalek rakudo: to the bytes in a Parrot string, pending the Parrot people's long-term
21:59 dalek rakudo: solution. Thanks to it, we now do string encoding of UTF-8 strings right.
21:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/359dbdf289cebd9bad696271f8ed6aaaa9beb470
22:04 bjarneh joined #perl6
22:10 eternaleye You know, I never got a canonical answer as to whether ~~ Nil behaving like ~~ *.notdef was correct. It's what Rakudo currently says, and it's a lot prettier, so I _want_ it to be true.
22:11 masak Nil is just the name for (), the empty Capture.
22:11 pmichaud empty Parcel.
22:11 masak right. empty Parcel.
22:11 masak so I'd expect it to mean "is an empty Parcel/list thingy"
22:11 eternaleye rakudo: say 1 ~~ Nil; say Int ~~ Nil; say Nil ~~ Nil; say 1 ~~ *.notdef; say Int ~~ *.notdef; say Nil ~~ *.notdef;
22:12 p6eval rakudo 7f2b75:  ( no output )
22:12 eternaleye rakudo: say 1 ~~ Nil; say Int ~~ Nil; say Nil ~~ Nil; say 1 ~~ *.notdef; say Int ~~ *.notdef; say Nil ~~ *.notdef;
22:12 p6eval rakudo 7f2b75:  ( no output )
22:12 eternaleye rakudo: say 1 ~~ Nil; say Int ~~ Nil; say Nil ~~ Nil;
22:12 p6eval rakudo 7f2b75:  ( no output )
22:12 eternaleye Weird
22:13 eternaleye Ooh, 1 ~~ *.notdef NULLPMC's here
22:13 masak ooh!
22:14 eternaleye But the first three (~~ Nil) give me 0\n1\n1
22:14 masak rakudo: 1 ~~ *.notdef
22:14 p6eval rakudo 7f2b75:  ( no output )
22:14 masak Null PMC access locally here too.
22:15 masak wow, even the Null PMC access errors are nice nowadays! \o/
22:15 masak jnthn++
22:15 eternaleye Try -e, to make sure it isn't the repl locally
22:15 masak I always do -e ;)
22:15 eternaleye OOH
22:15 masak I don't trust the REPL much.
22:16 eternaleye pmichaud: masak: Parcel doesn't seem to appear in the smartmatch table
22:17 Juerd azert0x: redirect(email)
22:20 eternaleye rakudo: say Nil.defined
22:20 p6eval rakudo 7f2b75:  ( no output )
22:21 eternaleye 0 locally, which conflicts with S02
22:21 masak aye.
22:21 masak known bug.
22:21 eternaleye Is load on feather high right now? All p6eval calls seem to be failing
22:30 masak g'night.
22:45 rgrau joined #perl6
22:53 bjarneh left #perl6
22:58 patspam joined #perl6
23:01 colomon joined #perl6
23:02 orafu joined #perl6
23:14 diakopter eternaleye: p6eval is not on feather
23:14 diakopter it seems the rakudo build is not operable
23:15 eternaleye Hm, thought it was on one of the feather VMs
23:15 diakopter no
23:15 jnthn diakopter: "not operable"?
23:17 diakopter rakudo: say 1
23:17 p6eval rakudo 359dbd: OUTPUT«1␤»
23:17 diakopter rakudo: say Nil.defined
23:17 p6eval rakudo 359dbd: OUTPUT«0␤»
23:17 diakopter rakudo: say 1 ~~ Nil; say Int ~~ Nil; say Nil ~~ Nil;
23:17 p6eval rakudo 359dbd: OUTPUT«0␤1␤1␤»
23:17 diakopter I guess the server was busy
23:18 diakopter seems back to normal now
23:22 eternaleye rakudo: say Nil ~~ *.notdef
23:22 p6eval rakudo 359dbd: OUTPUT«␤Null PMC access in find_method('params')␤  in 'Block::count' at line 4941:CORE.setting␤  in 'Block::ACCEPTS' at line 4949:CORE.setting␤  in 'infix:<~~>' at line 347:CORE.setting␤  in main program body at line 11:/tmp/ZOrRc6Gn1j␤»
23:23 eternaleye rakudo: (*.notdef).count
23:23 p6eval rakudo 359dbd: OUTPUT«␤Null PMC access in find_method('params')␤  in 'Block::count' at line 4941:CORE.setting␤  in main program body at line 11:/tmp/cW45gTrod4␤»
23:23 eternaleye rakudo: (*.Bool).count
23:23 p6eval rakudo 359dbd: OUTPUT«␤Null PMC access in find_method('params')␤  in 'Block::count' at line 4941:CORE.setting␤  in main program body at line 11:/tmp/OazqYnmgG0␤»
23:26 jnthn Ah, guess *.foo blocks are a bit busted still.
23:27 eternaleye rakudo: say ~(*.Bool).signature
23:27 p6eval rakudo 359dbd: OUTPUT«␤␤»
23:27 eternaleye jnthn: Might it be a symptom of http://rt.perl.org/rt3/Public/Bug/Display.html?id=69362 ?
23:28 jnthn rakudo: say (*-3).signature.perl
23:28 p6eval rakudo 359dbd: OUTPUT«:(;; Mu $x)␤»
23:28 jnthn eternaleye: It's another case of that one, yeah.
23:28 jnthn eternaleye: The way we make the *.foo is a little different.
23:35 jhuni joined #perl6
23:57 kloeri joined #perl6
23:59 azert0x Juerd: sorry, i just sleeped on my keyboard. bad output, it seams. 'go to bed :s. good night all.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo