»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
lue hello o/ 00:07
colomon sorear: yes, but it says 100% of the time is going to Chrome, not to the various tabs. 00:08
dalek rl6-bench: 3a84c35 | (Geoffrey Broadwell)++ | / (2 files):
Increase Parrot recursion limit for nqp/rc-man-or-boy-test to same limit that Rakudo sets internally; move from 9 to 16 for standard rc-man-or-boy-test
00:47
dalek gs.hs: 7289344 | coke++ | t/spectest.data:
add new tests files that we pass.
01:12
dalek rl6-roast-data: 4abfa8b | coke++ | bin/pugs.sh:
fix pug's perl6 wrapper to use right Test.pm
02:08
geekosaur "pugs'" :p 02:12
[Coke]_ typos happen. you'll get over it. 02:22
[Coke] geekosaur: any help with actual haskell code greatly appreciated. 02:23
Jimmy .u ̶ 02:25
phenny U+0336 COMBINING LONG STROKE OVERLAY (◌̶)
skids pugs's unless pugs is plural or unless you would pronounce it "pugs" instead of "pugses" in your local dialect. 02:29
shachaf [Coke]: Oh boy, actual Haskell code? 02:30
[Coke] mmm. I am not a haskell programmer, so making changes to pugs turns out to be very difficult in that case. 02:32
shachaf I vaguely remember the consensus being that making changes to Pugs turns out to be difficult even to actual Haskell programmers. 02:34
I've only ever made stylistic sorts of changes, though.
[Coke] I'm currently trying to figure out how to add a "trim" sub. "adsf ".trim works, Scalar::trim "asdf " works, but trim "asdf " fails. 02:35
I'm assuming I can add a line to the lookup table in src/Pugs/Prim.hs ...
shachaf Is it GHC 7.6-compatible these days? 02:36
[Coke] I am using 7.4.1 because that's what's on feather 02:37
skids r: sub f ( :$i where (any <foo bar>) = "bar" ) { }; f(:i<foo>); 02:59
p6eval rakudo c3f565: ( no output )
skids r: sub f ( :$i where any <foo bar> = "bar" ) { }; f(:i<foo>); 03:00
p6eval rakudo c3f565: OUTPUT«Cannot assign to a non-container␤ in method STORE at src/gen/CORE.setting:5146␤ in sub f at /tmp/dn6RXveUdY:1␤ in block at /tmp/dn6RXveUdY:1␤␤»
skids wonders how that syntax works out
r: sub f ( :$i where "foo"|"bar" = "bar" ) { }; f(:i<foo>); 03:01
p6eval rakudo c3f565: ( no output )
dalek gs.hs: 4eb39c8 | coke++ | Pugs/src/Pugs/Prim.hs:
add sub variant of flip
03:02
ast: 2d20b19 | coke++ | S (4 files):
pugs fudge
moritz \o 06:08
isBEKaml hello, moritz 06:13
moritz good morning isBEKaml
isBEKaml moritz: how's things? 06:14
moritz isBEKaml: pretty well. And on your end? 06:15
isBEKaml moritz: good, long weekend. :)
moritz \o/
moritz has to wake up the rest of the small family now 06:16
adu hi 06:25
what was that builtin thin for <digit> but not 0?
moritz <+digit-[0]> 06:26
adu thanks :) 06:28
hi moritz 06:29
moritz nr: say (^10).join ~~ /<+digit-[0]>+/ 06:36
p6eval rakudo c3f565: OUTPUT«「123456789」␤␤»
..niecza v24-17-gd343a2a: OUTPUT«#<match from(1) to(10) text(123456789) pos([].list) named({}.hash)>␤»
adu perl6 is so fun :) 06:37
moritz it is :-) 06:39
I write Perl 5 code for $dayjob, and find myself wishing for small or larger Perl 6 features all the time 06:40
adu I was just playing around with the DMTF CIM PUnit grammar
I write Groovy for my dayjob
moritz is that one of the functional languages on the JVM? 06:54
lue Bah. I'm getting "Can't write-open packfile-c.pod: Permission denied" with latest parrot (only thing I found on this was from '08). Any quick ideas? 06:55
moritz find -name packfile-c.pod | ls -l
lue does not exist (and I am user of the docs/ folder, and I only use sudo to install to /usr/local (which is when it fails. `sudo make install`)) 06:58
adu moritz: Groovy? yes, it was inspired by Ruby, and yes, there is even a Grails (Groovy on Grails) 06:59
lue Also, I've run git clean -dfx a couple times. 07:00
adu one of the nice things about Groovy w.r.t. Java though is that most of the time, it's a superset, so you can use Java source verbatim, and the Groovy compiler will help you make it 10x slower!
tadzik hehehe 07:03
isBEKaml yeah, from what I know - groovy is a wrapper around java code. Whatever it does, it does it through syntax sugar. :) 07:04
lue huh. Running `make docs` lets me compile packfile-c.pod, but fails on the next pod to be generated :/
adu but it's got some nice bring-backs from the whole Ruby-on-Rails crowd, like method name interception
lue
.oO(Groovy -> 70's -> Peace -> just chill out, man -> 10x slower)
07:05
isBEKaml adu: yeah, those are nice.
adu: Java has it through AOP (or aspectJ) 07:06
tadzik well, that's just, like, your performance froblem, man
adu like myPerson.findAllByBirthdate(Date.now())
where the only typing you did was "Date dirthdate" 07:07
tadzik: actually, the groovy compiler takes every Groovy call and compiles it to approx. 3 Java calls 07:08
tadzik that rings a bell, you know :P 07:10
although comparing Perl 6 to Pir may not be too fair 07:11
lue I'll try to ask on #parrot tomorrow. Good knight all o/ 07:11
tadzik o/ 07:12
adu oops, I sorry 07:12
DrEeevil isBEKaml: is it unusual that I find AspectJ exquisitely horrible and a bad idea? 07:17
isBEKaml DrEeevil: Not so much - I've been around for some time in jvm land, but I have rarely had any need for using aspectJ. 07:18
DrEeevil ok :)
adu I feel like AspectJ is one of those things people make to meet unreasonable project requirements 07:19
isBEKaml adu: Most cases I have seen it being used were to fix issues when modifying java code is out of question (hint: legacy, internal java frameworks) 07:20
DrEeevil isBEKaml: that's my impression too - a bad fix for worse code 07:21
isBEKaml adu: I have been hit by issues in legacy code, I'd just write helper functions to work around than having to fiddle with aspectJ.
adu hrm, that makes sense
DrEeevil but then my general opinion of the java ecosystem is not that nice
adu I don't like any ecosystem 07:22
my ideal ecosystem would let me choose between GC and malloc/free
on a per allocation basis 07:23
either that or per-sub/method
isBEKaml DrEeevil: I don't like the general state of java frameworks (too much overlap) - so I just look at their API when evaluating whether I want to use anything. 07:24
adu C++ has both allocation schemes in a sense, but it's bad
isBEKaml That said, I have to say that as a project advances, there's quite some chance of bad code creeping in with multiple people working on it.
DrEeevil isBEKaml: my impression of all things java is "who needs to look at the docs when you get paid per line of code" - so little code that makes sense 07:25
isBEKaml adu: I have never enjoyed using C++, until I had a chance look into Qt framework last year or so. That's quite nice, though they had a messy moc system(well hidden from users, ofcourse) 07:26
DrEeevil: Now, that's horrible. :)
adu yeah, I've peeked at Qt, never used it though
DrEeevil it's the least bad framework I've found so far ;) 07:27
adu Qt is pretty well designed, I'll admit that
DrEeevil Qt5 is interesting - internal redesign without changing the external API much 07:29
adu but what I can't stand about C++ is the ambiguity of source code, can be confusing to both compiler and user
adu the only rational way to use C++ is to restrict it to 5% of the official language, use that, and forbid your team from using more 07:30
because I've found that readability plays a big role in maintainability 07:32
isBEKaml I've never looked at Qt5, when I tried it - it was 4.3 or so, I guess. In any case, I'm happy not having to deal with C++. :) 07:33
adu perl6 is really surprising in that it appears very readable compared to perl5 07:35
DrEeevil adu: and every coder takes another subset as "sane" ;) 07:37
adu I like the regex/rule/token subset :D
FROGGS and it's all the same like a class, with multis and protos and stuff 07:42
Su-Shee good morning everyone. 08:05
moritz good morning, Su-Shee 08:06
jnthn morning o/ 08:55
arnsholt \o 08:56
sorear o/ 09:08
diakopter \\\o/// 09:17
timotimo that looks painful 09:26
moritz masak: you might like www.magicalmaths.org/how-japanese-k...-multiply/ 10:13
jnthn r: 'www.magicalmaths.org/how-japanese-k...subst('r', { < r l >.pick }, :g).say 10:18
p6eval rakudo c3f565: OUTPUT«www.magicalmaths.org/how-japanese-k...ultiply/␤»
jnthn r: 'www.magicalmaths.org/how-japanese-k...bst(/r|l/, { < r l >.pick }, :g).say
p6eval rakudo c3f565: OUTPUT«www.magicalmaths.org/how-japanese-k...ultipry/␤»
jnthn oh, you can do it with < r l > on both sides...
r: 'www.magicalmaths.org/how-japanese-k...ubst(/< r l >/, { < r l >.pick }, :g).say 10:19
p6eval rakudo c3f565: OUTPUT«www.magicalmaths.olg/how-japanese-k...urtiply/␤»
jnthn also, wow, that's cool 10:22
jnthn So now I wanna know why it works :) 10:22
arnsholt Indeed. Someone showed me how Montesorri schools teach multiplication as well. Pretty neat 10:23
timotimo wondering why rt.perl.org/rt3/Ticket/Display.html?id=78454 isn't causing lots of problems? 12:57
is noone using perl6 on files?
jnthn timotimo: No, they're remembering to write a close call. 12:59
timotimo that's somewhat sensible
brrt no, it isn't, close() should be called by the vm imho 13:00
timotimo rt.perl.org/rt3/Ticket/Display.html?id=79242 - why would one expect the foo to be used as a sub in this ticket? 13:01
the current rakudo behavior is to always complain about "foo" being unknown
timotimo no matter if any use is put before use MONKEY_TYPING 13:01
jnthn brrt: It should but writing an explicit close is *still* generally the right thing because you don't know when the VM will call it for you. 13:02
moritz timotimo: because 'is export' on a method creates a sub
jnthn That is, in a long-running program.
timotimo ah, that makes sense
moritz (kind of)
r: class A { method foo() is export { say 42 } }; foo(A)
p6eval rakudo c3f565: OUTPUT«===SORRY!===␤Undeclared routine:␤ foo used at line 1␤␤»
moritz seems that case of 'is export' is simply not implemented in rakudo right now 13:03
timotimo it seems like it once worked, like in the ticket
moritz well, ancient history and all :-)
timotimo indeed 13:04
moritz it was probably from the time where we looked up subroutines in packages too
jnthn uh, you didn't import.
jnthn r: class A { method foo() is export { say 42 } }; import A; foo(A) 13:05
p6eval rakudo c3f565: OUTPUT«42␤»
moritz jnthn: the ticket (and S32::* also) seems to expect it to automatically export it to the current(?) scope too 13:06
well, actually to the outer scope of the class
jnthn ...hm.
Is that...desirable? :)
moritz which is a bit crazy
or a bit more than a bit :-)
jnthn I'm not exactly a fan ;)
timotimo should i close it as wontfix?
jnthn timotimo: imho, not until the spec changes to remove the crazy
moritz but you're welcome to remove the crazy from the spec 13:07
timotimo sounds exciting 13:08
[Coke] phenny: ask au to please review any haskell changes I make to pugs, since they are most likely the wrong way to do something. 13:12
phenny [Coke]: I'll pass that on when au is around.
[Coke] phenny: tell au 謝謝 13:13
phenny [Coke]: I'll pass that on when au is around.
jnthn away for a bit 13:16
masak people, remember that p6cc closes on Friday. 13:19
(oh hai, #perl6) 13:20
timotimo i must not have looked hard enough; i don't find where in S32-settings-library/ i can find the specification for how is export is supposed to behave in this case 13:23
[Coke] masak: aaaaaigh
[Coke] could really use another month.
masak: next year, it might be helpful to put the close date in the repo with the instructions. 13:24
au [Coke]: they look pretty good to me. 13:25
phenny au: 13:12Z <[Coke]> ask au to please review any haskell changes I make to pugs, since they are most likely the wrong way to do something.
au: 13:13Z <[Coke]> tell au 謝謝
masak [Coke]: noted.
au also, there is no wrong way in my world, as _why observed :) 13:26
[Coke] twitter.com/PerlBorat/status/176872548494082048 13:27
moritz [Coke]: :-) 13:33
[Coke] reads shadow.cat/blog/matt-s-trout/passion-anguish/ 13:52
moritz finds that protectiveness and defensiveness often go hand in hand 13:58
PerlJam masak: I'm with [Coke] on the p6cc. I could use another month. I've only found time to think about some of the problems and sketch a few rough ideas, but nothing substantial yet. (certainly nothing to submit) 14:07
masak: maybe next year, let it run a little longer?
moritz will probably also run out of time before deadline 14:14
though during the Christmas vacations I might have had enough time, but first there was a certain burnout, and then too many exciting new books to read :-) 14:15
colomon got many exciting books to read for Christmas, but hasn't yet managed to finish the one he was already reading at that point. 14:25
jnthn back 14:32
brrt hi jnthn 14:33
jnthn o/ brrt 14:34
masak I hear what you're saying about p6cc being too short, but I'm reluctant to make it more than five weeks. after all, that's one whole week per problem. 14:36
moritz masak: compare it to the time it took us to review all solutions last year, which was far longer 14:37
masak moritz: uhm, is that a fair comparison? that time is also proportional to the number of submissions, which each participant's time is not. 14:53
[Coke] At this point, I have an "ok" submission for 2 problems. by friday, I will probably spend time cleaning up those 2, rather than trying to get anywhere on the other 3. 14:56
moritz masak: actually, the comparison isn't too bad; the winners were announced in week 28 14:57
and there were 25 submissions 14:58
[Coke] I started on a third and could probably finish that given another 2 weeks of time. one of the remaining ones I know I'll fail miserably against someone with a math degree, and another I have no clue what the problem is saying. :)
moritz (not counting duplicate submissions for the same task by the same person)
[Coke] I am going to count myself happy at 2, if I can polish them better.
masak I hear you. I will "take it under advisement". things is, at least previous years there have been perfectly adequate solutions to all tasks from some contestants well within the five weeks. 15:01
I didn't have the impression that this year's tasks were much harder than previous years, but I may be wrong about that.
s/things is/thing is/
moritz I don't think they are much harder to me; merely that I had much more trouble finding tuits 15:02
[Coke] I had about as much spare time as I did last year, and got about as much done.
I may not be in your target audience, though.
masak well, the whole thing is about handing out an Amazon gift to someone who deserves it, and to assess that fairly. part of deserving it is finding tuits; sorry, those are the breaks. 15:03
I think what you're observing is a feature, not a bug.
masak leaves for train &
[Coke] Very likely. I'm not expecting to win. :) 15:04
[Coke] wonders if folks who don't expect to win should not be entering, but should instead 'audit the course'
moritz nah 15:06
moritz unless I have a sudden tuit flash, I don't expect to win, but had fun with the tasks so far 15:06
PerlJam will be lucky to finish 1 of the problems. 15:09
[Coke] PerlJam: YOU CAN DO IT! 15:20
[Coke] yup, definitely fun, moritz. 15:36
anyone else tackle t2? 15:37
hugme: hug masak 15:39
hugme hugs masak
cosimo i got stuck on my first problem... 15:41
[Coke] did you start with t1?
I have an OK t2 solution, I think, but it's pretty slow, and I'm wondering if it's rakudo's `fault'. 15:42
[Coke] hopefully will have time to profile it. 15:58
hurm. `perl6 --profile code` - where does the profile output go? 16:03
jnthn stderr
[Coke] O_o 16:04
[Coke] I got no output. 16:37
2012.11-76-gf93e603
jnthn perl6 --profile -e "say 42" # produces output for me... 16:38
2012.12-87-gc3f565d fwiw, but I can't imagine anything woulda changed to break it recently 16:39
[Coke] that produces output, putting it in a file works... running against my "code" file fails to generate output.
[Coke] ah: perl6 --profile -e "say 42; exit 1" 16:42
jnthn :/ 16:43
[Coke] exit 0 works.
jnthn Oh.
heh
[Coke] which, arguably, I should be using anyway.
jnthn "feature" :P
[Coke] still, I think you still want profiling even on an non-0 exit. 16:44
jnthn yeah
[Coke] rakudobug-from-p6cc!
dalek p-jvm-prep: 3e47023 | jnthn++ | / (2 files):
Stub die/die_s just to throw a JVM exception.

We'll need to do something much smarter to get the NQP and Perl 6 semantics, but this should be enough for getting the MOP going.
17:38
p-jvm-prep: d916555 | jnthn++ | / (2 files):
Implement/test associative/positional QAST::Var.
masak yay! \o/ 17:39
jnthn That's some more nqp-mo uncommented...
masak moritz: I saw a still picture of the "how Japanese Kids learn multiplication", with only the final digits/lines marked out in different colors. I stared at it until I got it. 17:41
moritz: I do like it, because crossing lines are actually a good geometrical way to understand multiplication.
moritz aye
masak just as rows and columns of a table are. 17:42
but I haven't seen an example yet where they have to handle carries because a column is >10.
moritz aye, I noticed that too 17:43
masak that doesn't detract from the niceness of the method, it just means it's not fully general.
benabik www.wikihow.com/Multiply-Using-the-Line-Method
Although the pictures on that are horrible (low contrast)
masak oh, so it's normal addition with carries after that. fairy nuff. 17:44
personally, I do mental manipulation of numbers, not of crossings or dots. numbers are faster. :) 17:45
moritz doesn't want to count up to 81 dots :-)
masak right :) 17:46
moritz oh, and none of the examples used a 0
one could simply draw a line and not put any dots on it
masak you missed all the zeros? I saw them everywhere!
Su-Shee
.oO(R)
moritz just so not to get confused about where to count which dots
masak no, one line would be much more confusing than no line. 17:47
moritz ok, take a different color 17:48
or a marker instead of a normal pen
moritz if you try to multiply numbers with several zerso, I'm sure you'll get confused if you leave out the lines entirely 17:48
masak what problem are you trying to solve? the perfect metaphor for 0 is "no line". ;)
masak I wouldn't be confused, I don't think. 17:49
moritz would totally be
especially with no or not much experience with the method
moritz runs 'make' in nqp-jvm-prep
arnsholt hopes it works 17:50
moritz aye; now on to 'make test'
masak another thing that the lines-and-crossings method nicely illustrates is that the multiplication operation on decimal numbers contains a convolution operation. 17:51
that's why two of the numbers end up in the same column.
arnsholt \o/
moritz Result: PASS 17:53
slavik1 moritz: but did the test run? 17:54
moritz well, I wouldn't have got a PASS if I hadn't run them 17:55
slavik1 what if that was a lazy test and the initial return value is pass? 17:57
I am being annoying now, aren't I?
moritz yes, very perceptive of you
slavik1 I'll shut up now.
dalek p-jvm-prep: ebb84c1 | jnthn++ | / (2 files):
Implement various of the relationals.

Rest should be relatively easy, though note there's no native lt/gt etc. for String. Good LHF task to add what's missing, bigint aside which will need more work.
18:02
p-jvm-prep: 09d7959 | jnthn++ | t/qast_ (2 files):
Some tests for the added relationals.
benabik The numeric version of counting line crossing: www.youtube.com/watch?v=INvJal1aIk0 18:02
nwc10 jnthn: does it work out that LHF is roughly "this is easy, will be needed, but not right now for the MOP" ? 18:03
jnthn nwc10: aye ;) 18:04
masak jnthn: any sight of bizarro-land yet? :P 18:07
(a reference to www.modernperlbooks.com/mt/2013/01/...-work.html -- don't take time of hacking to read it if you haven't already)
off* 18:10
moritz skimmed it, and stopped right after "(It would be mean of me to call this the Rakudo-on-other-VMs Trap, so I won't.)", which is like saying "I'm an asshole, but want to pretend I'm not"
masak oh, I reflected on that, too. I agree. 18:11
nwc10 Well, I thought "It would be mean ..." but you JUST DID!
masak but I kept reading, because even though chromatic prefers to write in a confrontational way, he's writing about us, and I find reading about us fascinating ;) 18:12
nwc10 third comment is from chromatic: That's a good idea. I'll work on an entry about the relationship between speed, optimization, garbage collection, and language design.
masak aye.
looking forward to that.
nwc10 I am looking forward to that.
(oh, snap)
masak :P
moritz or, more accurately, like "I know it's an asshole-move to write this, but I'm too impressed by my own cleverness not to write it, and I want you to know it"
masak moritz: which is even worse, yes.
moritz: basically, you can't go meta and not-say something without the explicit consent of the listener/reader. 18:13
but I guess continuing to read is such consent :P
jnthn Of all the places to point out semantic gaps between Perl 6 and what the JVM provides, GC is a REALLY weird one to pick up on. If anything, Perl 6 inherently creates a lot of objects. Since Java doesn't support stack allocation of non-trivial things (except as an optimization after escape analysis), this means Java programs *also* produce a lot of objects. The objects Perl 6 programs create that you don't really thing about tend to be relatively short lived or very 18:17
[Coke] what version of nqp is needed to build nqp-jvm-prep ? 18:18
jnthn [Coke]: master
[Coke]: Or close to. The version Rakudo is currently pointed at is too old. 18:19
[Coke] arglebargle.
(I just did a full rebuild of my "installed rakudo that I use for things like p6cc" hoping that would cover it. :)
jnthn [Coke]: Note that this is only true if you want to play with the cross-compiler 18:20
[Coke] is there a way to configure rakudo to use nqp master?
jnthn [Coke]: If you just want to run the tests and pick of LHF then the version with Rakudo may well be fine.
[Coke] --gen-nqp=master ?
jnthn Yes, that should do it. 18:21
[Coke] jnthn: I want "make" to work.
masak jnthn: your rant was interesting but too long, and ended with 'short lived or very'.
nwc10 jnthn: you were truncated at "The objects Perl 6 programs create that you don't really thing about tend to be relatively short lived or very
"
oh, snapish
masak :P
jnthn relatively short lived or very long lived, so it's hard to see how it doesn't fit the generational hypothesis either.
masak nwc10: stop repeating what I say :P
[Coke] stop repeating what I say?
masak nwc10: it's funny, because I end up in some kind of resonance with people on the channel quite a lot. most often with moritz or pmichaud, but sometimes with jnthn, too. 18:22
nwc10 oh. groupthink. this seems dangerous :-)
masak nwc10: it may have something to do with that time they plugged us all into a brain melding machine.
[Coke] I had
oops
masak keeps forgetting that nqp doesn't have assignment 18:26
jnthn Some days, I'm as liable to forget that Rakudo does :P 18:27
masak I'm looking at this infix:<:=> operator, thinking "it's like programming in Pascal all over again"... :P 18:28
jnthn shop & 18:29
FROGGS g'evening pals 18:29
masak FROGGS! \o/ 18:30
FROGGS wassup "bro" ? 18:31
still sprintf-ing?
masak you bet, "pal". 18:32
FROGGS *g*
masak I'm getting some "functionality" into my "code".
masak does some energetic air quotes, too
FROGGS is it in a branch already?
masak nah, only a private repository. 18:33
why, you want to have a look?
FROGGS ohh, I'm just smiling widely
ohh ya
masak ok, pushing.
FROGGS cool
FROGGS tried to hunt two bugs down yesterday and failed twice, so I thought I start a bit different today 18:33
[Coke] does rakudo still have a past stage 18:35
?
masak letting bugs get away is demotivating, yes.
[Coke] (or is the build output lying?)
masak [Coke]: Rakudo is on QAST, not PAST.
masak .oO( we're all PAST that... )
[Coke] is that why past is completing in 0s? ;) 18:36
masak no, that's just counting badly.
(IIUC. all the time goes into one of the steps.)
FROGGS: github.com/masak/sprintf 18:37
FROGGS thanks you sir 18:38
masak doffs his beret
FROGGS masak: are you going to support that? printf '<% d>', 12; # prints "< 12>" 18:42
masak yes.
I'm not out to change sprintf, only to implement it. 18:43
that's enough -Ofun for me :)
FROGGS k 18:44
wow, I recognize that I didnt know sprintf well 18:45
masak std: my $a = $a
p6eval std 7deb9d7: OUTPUT«ok 00:00 42m␤»
masak TimToady: I just did this in code. could very well have a special warning for that :P 18:46
jnthn FROGGS: Which bugs, ooc? 18:47
FROGGS jnthn: the /<[abc]-[\w]>/ and the $_ = "a"; s/a/b/; s/x/y/; say $/ 18:49
for the second one I dont know how to best return '#<match_failed>'
the first one just hangs when compiling NQPP5Regex.pm 18:50
dalek rl6-roast-data: bd8731b | coke++ | / (3 files):
today (automated commit)
FROGGS r: "<%*2$s>" # ouch?
p6eval rakudo c3f565: OUTPUT«===SORRY!===␤Variable $s is not declared␤at /tmp/qPLYVXM0mE:1␤------> "<%*2$s⏏>" # ouch?␤ expecting any of:␤ postfix␤»
[Coke] au: cleaned up pugs, we're back up to 38.55%
[Coke] er. 18:50
phenny: tell au cleaned up pugs, we're back up to 38.55%
phenny [Coke]: I'll pass that on when au is around.
jnthn FROGGS: Don't you have such a match handy? 18:51
FROGGS jnthn: a what? 18:52
masak a match handy.
jnthn oh, I see the problem...
[Coke] jnthn: nqp-jvm-prep doesn't like TEST_JOBS=2 18:53
is this worth fixing?
jnthn [Coke]: Not for now.
[Coke] k
jnthn [Coke]: It involves a boring yak shave. 18:54
FROGGS r: $_ = "a"; m/a/; m/b/; say $/; say $/.WHAT
p6eval rakudo c3f565: OUTPUT«#<failed match>␤Match()␤»
masak FROGGS: why 'ouch?'? you're using $s in a qq string, but you didn't declare it. just like the error message says.
FROGGS r: my $a = Match(); say $a; say $a.WHAT
p6eval rakudo c3f565: OUTPUT«No such method 'Match' for invocant of type 'Parcel'␤ in at src/gen/BOOTSTRAP.pm:845␤ in at src/gen/BOOTSTRAP.pm:839␤ in any at src/gen/BOOTSTRAP.pm:836␤ in block at /tmp/O0I8EaJJPi:1␤␤»
[Coke] mmm. I could probably handle it, but didn't want to, which is why I asked. :)
FROGGS r: my $a = Match; say $a; say $a.WHAT
p6eval rakudo c3f565: OUTPUT«Match()␤Match()␤»
jnthn What should happen in the case of s/a/b/g not matching anything?
FROGGS masak: it is an example from sprintf, should we declare $s? 18:55
jnthn: according to moritz and masak $/ should contain the failed match
jnthn r: say Cursor.'!cursor_init'(nqp::unbox_s('foo')).'!cursor_start'().MATCH 18:56
p6eval rakudo c3f565: OUTPUT«#<failed match>␤»
jnthn (Where instead of 'foo' you put self)
FROGGS cool, I was searching for that!
thanks
jnthn r: say Match.new 18:57
p6eval rakudo c3f565: OUTPUT«「」␤␤»
jnthn r: say Match.new(from => 0, to => -3, orig => 'foo')
p6eval rakudo c3f565: OUTPUT«Cannot assign to a non-container␤ in block at src/gen/CORE.setting:749␤ in method BUILDALL at src/gen/CORE.setting:732␤ in method bless at src/gen/CORE.setting:722␤ in method new at src/gen/CORE.setting:707␤ in block at /tmp/U7nEMyAndC:1␤␤»
jnthn Figured that'd not work...
FROGGS: Note that there's two cases:
return self unless @matches;
masak FROGGS: I feel I'm lacking context. when you say "example from sprintf", what do you mean? 18:58
jnthn In the case it's empty, /g was used. In this case you got no match objects at all.
er, :g even
jnthn So you need to do the trick I just showed I guess 18:58
return self if @matches == 1 && !@matches[0];
In this case, you can set $/ to what's in @matches[0]
FROGGS ahh, okay, will try
masak: see the minimum width examples: printf "<%*2$s>", "a", 6; # prints "< a>" 18:59
masak FROGGS: well, you *can't do that* without first declaring $s.
not even in (strict) Perl 5. 19:00
FROGGS I thought that it might be a special case...
masak oh, I see what you mean now. 19:01
FROGGS [...]"or from a specified argument (e.g., with *2$):"
masak right. but it still won't work in a qq string. 19:02
so that line of perldoc is bogus.
FROGGS right, the example is wrong
masak please to submit perldocbug.
FROGGS++ 19:03
$ perl -Mstrict -e 'printf "<%*2$s>", "a", 6;'
Global symbol "$s" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.
FROGGS do I really have to use the command line tool? cant I just make an rt ticket? 19:04
masak dunno. 19:05
maybe ask on some Perl 5 channel. they might know :)
FROGGS k ;o)
geekosaur that's not really a bug, is it? 19:08
should string substitution be looking inside of the string to figure out if it's actually a printf spec?
FROGGS it is, it should be in single quotes or the dollar needs to be escaped
geekosaur oh, I see, doc bug
masak aye. 19:09
FROGGS okay, perlbug is my friend -.-
GlitchMr eval: say 「\」 19:15
rn: say 「\」
p6eval rakudo c3f565: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/9HIKq_v01j:1␤------> say ⏏「\」␤ expecting any of:␤ argument list␤ prefix or term␤ prefix or meta-prefix␤ postfix␤ infix or meta-infix␤ infix sto… 19:16
..niecza v24-17-gd343a2a: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/_q_17a4C90 line 1:␤------> say⏏ 「\」␤␤Confused at /tmp/_q_17a4C90 line 1:␤------> […
GlitchMr std: say 「\」
p6eval std 7deb9d7: OUTPUT«ok 00:00 41m␤»
masak .u \ 19:18
phenny U+005C REVERSE SOLIDUS (\)
masak is there something special about 「」 that makes it not recognize backslashes? if not, then STD is at fault there. 19:19
and Rakudo and Niecza are right to reject the program, but the error messages look off.
masak nqp: sub next_(); next_() 19:24
p6eval nqp: OUTPUT«Routine declaration requires a signature at line 2, near "(); next_("␤current instr.: 'panic' pc 13231 (src/stage2/gen/NQPHLL.pir:4687) (src/stage2/gen/NQPHLL.pm:328)␤»
masak nqp: sub next_() {}; next_()
p6eval nqp: OUTPUT«Confused at line 2, near "next_()"␤current instr.: 'panic' pc 13231 (src/stage2/gen/NQPHLL.pir:4687) (src/stage2/gen/NQPHLL.pm:328)␤»
masak jnthn: this just bit me in NQP. is it a bug or a feature?
nqp: sub newt_() {}; newt_()
p6eval nqp: ( no output )
masak anything starting with 'next' causes confusion. 19:25
jnthn masak: Probably overly-simplistic parsing of "next".
masak I know.
my question was if it's a bug or if the oversimplicity is intentional.
jnthn It's worth fixing. File an issue.
Or a patch ;)
masak submits nqpbug
jnthn thanks 19:26
masak pzh :) 19:30
jnthn \o/ 19:31
jnthn yay, dinner ready. bbiab. 19:32
masak 's sprintf code now supports %6s and %*s 19:44
GlitchMr Nice :-)
Reminds me of my JS library 19:45
FROGGS pulls
GlitchMr glitchmr@blueberry ~> node 19:46
> require('sprint')('%*s', 9, 'world')
' world'
tadzik good evening zebras 19:49
masak tadzebra! \o/
FROGGS hi tadzik
jnthn hi tadzik o/ 19:53
tadzik hey hey
masak that feeling when you add a test and think "but this will already pass trivially", and instead it fails and you discover a giant thinko. 19:54
jnthn :)
masak tests++ # they rock 19:55
jnthn was glad he wrote tests for a $dayjob-course sample solution yesterday for the same reason
"Of course I got the exercise I set right first try!" "Oh...wait..."
:)
masak slogan: "Tests are smarter than you. Write tests." 20:12
flussence oh, looks like someone fixed middle click in Gist... 20:13
lue hello o/ 20:14
FROGGS hi lue
lue I think my problem with Parrot from last night is on account of me having upgraded Perl not too long ago. /me investigates
jnthn Righty, let's see if I can implement lexotic... 20:15
sqirrel ,,,,,,,,,,,,,,,,,,,, 20:17
masak sqirrel: oh, comma on! 20:18
jnthn
.oO( I thought it was "comma comma comma comma chameleon", not "comma comma comma comma sqirrel"... )
masak no, it's "comma comma comma comma MUSHROOM MUSHROOM" 20:19
flussence
.oO( must be a red squirrel, they're easily startled )
masak flussence: due to the one-squirred hypothesis, it's useless to try to distinguish squirrae. 20:20
masak feels sillae tonight
FROGGS thats my sqirrel you are talking 'bout ;o)
masak one-squirrel*
FROGGS it is my-scoped
timotimo can someone point me at the correct part of the specs where it specifically says that a class is supposed to export a method into its enclosing scope if they have the is export trait?
someone pointed me at S32::*, but it doesn't seem like it says anything about that 20:21
flussence S11:26
and :78
FROGGS flussence: how do you do that? so fast I mean
timotimo thank you :) 20:22
flussence oh, I have a giant video wall with the entire text of the spec visible all the time
timotimo i'm going to change the spec in a huge way. and one ticket will be closed in the process!
moritz timotimo: with S32:: I meant that it's used there all the time
timotimo well, i see that it says "is export" all the time - does that mean the change in the spec would mean the settings library would need some changing, too? 20:24
lue timotimo: If I may ask, what are you changing? 20:29
timotimo i started a little discussion about how class A { method foo is export { ... } }; foo(A.new) doesn't work in rakudo nowadays 20:30
the result was that foo is export should only be in the enclosing scope if it has an import A in it, too
not automatically 20:31
so i was encouraged to remove "the crazy" from the spec and close the ticket about it
lue ah, ok. 20:31
jnthn nqp: say(nqp::time_n()) 20:37
p6eval nqp: OUTPUT«1358282264.46285␤»
FROGGS p5p++, I already got a reply and was able to submit a patch (for the sprintf doc bogus) 20:46
masak yay
masak idly wonders if there was a group called "Perl 5 Imperial Stouts" 20:47
moritz FROGGS: my experience with p5p and doc patches is very positive too
FROGGS ya, within minutes, thats pretty awesome, he/she gave me a link to the pod that I wasnt able to find... 20:48
slavik1 masak: sounds like a beer 20:51
masak slavik1: oh, and "Perl 5 Porters" doesn't? :) 20:53
slavik1 yes it does
Perl 5 Logger ...
also a beer
masak mmm, "Perl 5 Indian Pale Ales".
slavik1 omfg, I need to start a brewery
masak .oO( a programmer with his own microprocessor brewery ) 20:54
slavik1 mmmm
sounds good
lue now can't wait for nqp on JVM 21:01
slavik1 O.o 21:02
masak it will a rather cool, yes. 21:05
lue wonders how even root isn't allowed to write-open files *grumble grumble* 21:06
timotimo lue: mounted read-only? 21:18
lue I hope not. It's my hard-drive perldoc's trying to write to.
huf selinux or some extended posix attribute or something? 21:19
lue I don't have selinux. Not sure about extended attributes, but I don't recall doing anything recently to cause them. (Remember, I've been able to install Parrot before) 21:20
dalek ecs: 0996434 | flussence++ | S02-bits.pod:
Mention the replacement for magic __SUB__ constant

  (It was added in 5.16.0)
21:25
sorear you don't have selinux? this is impressive 21:26
lue I recall having issues with using it a year or two ago. Forget why. 21:27
flussence lue: chattr -i?
lue can't, compiling NQP. If you look o'er at #parrot, it magically worked for me for no good reason. 21:28
flussence hm 21:29
if it's just randomly failing like that, I'd be getting paranoid about kernel/hardware badness 21:30
masak sorear! \o/ 21:31
lue It worked after deleting an empty packfile-c.pod, which this time was write-protected (as opposed to all the other self-created empty packfile-c.pod's I'd already created). The `make install` (not root) and voilà!
flussence (or being optimistic, maybe your make -j's set too hig)
*h
oh wait, could be a umask being too restrictive too. 21:32
lue (`umask` returns 0022, icuc)
flussence can't be that then... 21:33
lue You did remind me, though: I should install the smarttools when I get around to it.
dalek p-jvm-prep: 486e331 | jnthn++ | t/qast_core.t:
Test for lexotic.
21:34
p-jvm-prep: 9da2b53 | jnthn++ | / (4 files):
Implement lexotic.
sorear masak! \o/ 21:42
colomon sorear! \o/ 21:46
pmichaud Good afternoon, #perl6 21:51
flussence rn: try { warn 'potato'; CONTROL { say $_.WHAT.Str } } 21:52
p6eval niecza v24-17-gd343a2a: OUTPUT«␤potato␤ at /home/p6eval/niecza/lib/CORE.setting line 1287 (warn @ 5) ␤ at /tmp/7Bx70yfTx_ line 1 (ANON @ 2) ␤ at /tmp/7Bx70yfTx_ line 1 (mainline @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.se…
..rakudo c3f565: OUTPUT«(timeout)»
jnthn o/ pmichaud
flussence I think I broke it again...
[Coke] r: try { CONTROL { say $_.WHAT.Str } } 21:53
p6eval rakudo c3f565: ( no output )
sorear colomon! pmichaud! jnthn!
jnthn rn: try { warn 'potato'; CONTROL { default { say $_.WHAT.Str } } }
[Coke] r: try { warn "eek"; CONTROL { say $_.WHAT } }
p6eval rakudo c3f565: OUTPUT«(timeout)» 21:54
..niecza v24-17-gd343a2a: OUTPUT«␤»
rakudo c3f565: OUTPUT«X::AdHoc()␤eek in block at /tmp/2iKljRDHyL:1␤␤»
pmichaud sorear!
[Coke] I'm going to guess jnthn won that one. :)
pmichaud: Dr. Scott!
pmichaud Coke: "Rocky!"
colomon [Coke]: Paleontologist?
pmichaud colomon: RHPS :-) 21:55
www.youtube.com/watch?v=qfNfQixs8yA # for those who miss the reference... possibly nsfw 21:56
colomon pmichaud: yeah, I know. (your kids too old for dinosaur train?)
pmichaud ...never heard of dinosaur train, so yeah, I guess so :)
they've been busy devouring all of the star trek series, and now Dr. Who
colomon is admittedly not much of a RHPS fan, though he has seen it two or three times. 21:57
pmichaud: you can pretty much get the high concept right from the name: dinosaurs *and* trains. and live action interludes featuring Dr. Scott, Paleontologist.
[Coke] saw it mannny times in HS, once or twice in college.
I see Paleontologist, I think the TMBG song. 21:58
[Coke] like, it's stuck in my head now. :P 21:58
colomon [Coke]: my little guy got "Here Comes Science" for Christmas, but due to randomness none of us have actually heard it yet. Except for Why Does The Sun Shine? and Why Does The Sun Really Shine? 21:59
pmichaud for some reason "Dr. Scott, Paleontologist" reminds me of "Fargo North, Decoder" 22:00
but now I've realllllllly dated myself. :-P 22:01
colomon pmichaud: not to me, but only because I never actually watched Electric Company. (Somewhat broken TV as a child -- somebody, can't imagine who, put a magnetic letter into the tuner.) 22:03
[Coke] ObYou'reOld: What's a tuner? :) 22:17
flussence rn: for {fail} { .() }
p6eval rakudo c3f565: OUTPUT«No exception handler and no message␤␤current instr.: 'throw' pc 331167 (src/gen/CORE.setting.pir:148535) (src/gen/CORE.setting:9246)␤called from Sub 'sink' pc 360772 (src/gen/CORE.setting.pir:160453) (src/gen/CORE.setting:10412)␤called from Sub '' pc 252508 (src/ge… 22:18
..niecza v24-17-gd343a2a: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fail' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /hom…
colomon [Coke]: :p
flussence I get a different error for rakudo there... «Can not get attribute '$!storage' declared in class 'Parcel' with this object» 22:19
FROGGS I get the same as r: here 22:20
flussence hm, maybe I need to update
lue (reminds me of how our TV, through the fault of certainly not me, had a purple discoloration in the corner of the screen for many years due to magnets) 22:21
FROGGS I remember these things on a friend PC because of the speakers (that was before TFT) 22:22
that was when USB-Ports were rare and nobody had something to put in 22:23
dalek p-jvm-prep: c02c4bf | jnthn++ | lib/QAST/JASTCompiler.nqp:
Make sure context is properly set.
22:24
p-jvm-prep: a117e40 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Clear parameters from stack after binding.
[Coke] colomon: my tv is using a cable card right now. :P 22:30
colomon [Coke]: pretty sure my new TiVo claimed to have *two* tuners. ;) 22:43
jnthn 'night 22:56
masak 'night, jnthn. 22:57
masak 'night, #perl6 23:28
diakopter o/ 23:29