»ö« 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
00:09 FROGGS_ left 00:17 snearch left 00:21 SmokeMachine joined 00:25 PerlJam joined 00:32 rindolf left 00:33 Targen joined 00:41 SmokeMachine left 00:42 gogolum joined
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
00:53 Khisanth left 01:01 [Coke]_ joined, gogolum_ joined 01:02 japhb__ joined 01:03 Util_ joined, huf_ joined, telex joined 01:04 GlitchMr_ joined, huf_ is now known as huf, patspam joined, jtpalmer_ joined 01:05 gogolum left 01:06 patspam left, jtpalmer_ left, slayer101_ left 01:07 patspam joined, jtpalmer_ joined 01:09 hypolin joined
dalek gs.hs: 7289344 | coke++ | t/spectest.data:
add new tests files that we pass.
01:12
01:13 anuby joined 01:15 Khisanth joined 01:19 japhb_ left 01:24 bluescreen10 joined 01:38 gogolum_ left 01:43 slayer101_ joined 01:45 b1rkh0ff left 01:50 slayer101_ left 01:53 SmokeMachine joined 01:56 japhb__ left, b1rkh0ff joined, japhb__ joined, japhb__ left, japhb joined
dalek rl6-roast-data: 4abfa8b | coke++ | bin/pugs.sh:
fix pug's perl6 wrapper to use right Test.pm
02:08
02:09 SmokeMachine left
geekosaur "pugs'" :p 02:12
[Coke]_ typos happen. you'll get over it. 02:22
02:23 [Coke]_ is now known as [Coke]
[Coke] geekosaur: any help with actual haskell code greatly appreciated. 02:23
02:25 Jimmy joined
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
02:31 Jimmy left
[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.
02:35 fgomez left
[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
02:37 fgomez joined 02:38 SmokeMachine joined 02:45 thou joined 02:55 slayer101_ joined, SmokeMachine left, Util_ is now known as Util
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
03:20 MikeFair joined 03:23 slayer101_ left 03:24 slayer101_ joined 03:26 Celelibi joined 03:39 MikeFair left 03:41 MikeFair joined 03:50 thou left 04:29 preflex_ joined, preflex left, preflex_ is now known as preflex, jaldhar joined 04:30 slayer101_ left 04:55 slayer101_ joined 05:10 skids left 05:28 isBEKaml joined 05:48 thou joined 06:08 adu joined
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
06:26 raiph joined
adu thanks :) 06:28
hi moritz 06:29
06:33 raiph left
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
06:42 raiph joined, quester joined 06:43 raiph left, raiph joined 06:44 slayer101_ left, raiph left, raiph joined 06:45 raiph left, raiph joined, slayer101_ joined 06:46 raiph left, raiph joined 06:47 raiph left, raiph joined 06:54 thou left
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
06:56 SamuraiJack joined
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
07:11 sevin joined
lue I'll try to ask on #parrot tomorrow. Good knight all o/ 07:11
tadzik o/ 07:12
07:12 kaleem joined
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
07:23 FROGGS joined
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
07:30 Pleiades` left
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
07:36 Pleiades` joined
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
07:54 adu left 07:57 FROGGS left 08:00 isBEKaml left
Su-Shee good morning everyone. 08:05
moritz good morning, Su-Shee 08:06
08:11 cognominal left 08:16 cognominal joined 08:21 quester left 08:35 sevin left 08:52 sqirrel joined
jnthn morning o/ 08:55
arnsholt \o 08:56
sorear o/ 09:08
diakopter \\\o/// 09:17
timotimo that looks painful 09:26
09:31 slayer101_ left 09:33 dakkar joined 09:42 Psyche^ joined 09:45 Psyche^ is now known as Patterner 09:53 arlinius left 09:57 BladeMaster joined 10:04 hypolin left
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/␤»
10:19 cognominal left 10:20 SmokeMac_ joined
jnthn also, wow, that's cool 10:22
10:22 BladeMaster left
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
10:23 SmokeMac_ left 10:34 SmokeMachine joined 10:49 SmokeMachine left 11:07 kaleem left 11:10 Su-Shee joined 11:11 kaleem joined, grondilu joined 11:14 Chillance joined 11:17 anuby left 11:21 jlaire joined 11:23 rindolf joined 11:30 kaleem left 11:34 kaleem joined, SmokeMachine joined 11:38 Targen left 11:45 kaleem left 11:48 sorear joined 11:54 SmokeMachine left 11:55 SmokeMachine joined 12:01 sqirrel left 12:13 cognominal joined 12:15 wk joined 12:16 wk is now known as Guest25628, Guest25628 is now known as wk_ 12:31 fgomez left 12:49 brrt joined 12:50 cognominal left
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
13:01 kaleem joined
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.
13:05 spider-mario joined
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
13:07 kaleem left
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.
13:14 kaleem joined
jnthn away for a bit 13:16
masak people, remember that p6cc closes on Friday. 13:19
(oh hai, #perl6) 13:20
13:21 cognominal joined
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
13:29 cognominal left 13:30 cognominal joined
moritz [Coke]: :-) 13:33
13:41 bluescreen10 left
[Coke] reads shadow.cat/blog/matt-s-trout/passion-anguish/ 13:52
13:53 atrodo joined
moritz finds that protectiveness and defensiveness often go hand in hand 13:58
14:02 GlitchMr_ is now known as GlitchMr 14:03 Pleiades` left
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?
14:10 Pleiades` joined
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
14:16 PacoAir joined
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
14:27 xinming joined
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
14:44 kaare_ joined 14:51 leprevost joined 14:52 cognominal left, cognominal joined
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
14:54 leprevost left, stopbit joined
[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'
15:05 brrt left
moritz nah 15:06
15:06 bluescreen10 joined
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
15:17 skids joined, leprevost joined 15:18 SunilJoshi joined
[Coke] PerlJam: YOU CAN DO IT! 15:20
15:23 kaleem left 15:24 FROGGS joined 15:26 sqirrel joined 15:28 Khisanth left
[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
15:44 hash_table joined, Khisanth joined 15:48 am0c joined 15:49 raiph left 15:50 raiph joined, raiph left 15:51 raiph joined 15:52 raiph left, raiph joined
[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
16:13 leprevost left 16:14 MayDaniel joined 16:16 bluescreen10 left, bluescreen10 joined 16:17 werwerwer joined 16:18 bluescreen10 left, bluescreen10 joined 16:19 bluescreen10 left, bluescreen10 joined, am0c left 16:20 bluescreen10 left 16:21 bluescreen10 joined, bluescreen10 left 16:22 slavik1 joined 16:24 bluescreen10 joined 16:25 bluescreen10 left 16:26 bluescreen10 joined 16:28 bluescreen10 left 16:29 bluescreen10 joined 16:33 thou joined
[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.
16:42 werwerwer left
[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!
17:01 PacoAir left 17:09 kaare_ left
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)
17:44 PacoAir joined, PacoAir_ joined
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
17:48 PacoAir left, PacoAir_ is now known as PacoAir
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". ;)
17:48 thou left
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
17:54 FROGGS left
moritz well, I wouldn't have got a PASS if I hadn't run them 17:55
17:57 SunilJoshi left, SunilJoshi1 joined
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.
18:02 dakkar left
benabik The numeric version of counting line crossing: www.youtube.com/watch?v=INvJal1aIk0 18:02
18:03 SunilJoshi1 left
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
18:04 Targen joined
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
18:25 thou joined, b1rkh0ff left
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
18:29 FROGGS joined
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
18:33 arlinius joined
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
18:38 b1rkh0ff joined
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%
18:50 SmokeMachine left
[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.
18:51 SmokeMachine joined
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
18:56 ServerSage joined
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
18:58 thou left
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)
19:06 jeffreykegler joined
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 -.-
19:09 timotimo joined 19:14 jeffreykegler left
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␤»
19:16 hoelzro joined
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.
19:22 fgomez joined, raiph left 19:23 raiph joined
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
19:26 bowtie joined
jnthn thanks 19:26
19:29 raiph left
masak pzh :) 19:30
jnthn \o/ 19:31
19:32 raiph joined
jnthn yay, dinner ready. bbiab. 19:32
19:35 raiph left 19:36 raiph joined 19:38 hoelzro is now known as hoelzro|away 19:40 raiph left, raiph joined 19:41 raiph left
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'
19:47 raiph joined 19:48 am0c joined
tadzik good evening zebras 19:49
masak tadzebra! \o/
FROGGS hi tadzik
19:52 raiph left
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..."
:)
19:55 raiph joined 19:56 raiph left, raiph joined, raiph left 19:57 raiph joined 20:02 raiph left 20:09 cognominal left
masak slogan: "Tests are smarter than you. Write tests." 20:12
20:13 SmokeMachine left
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
20:15 SamuraiJack left, raiph joined, raiph left
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"... )
20:18 sqirrel left
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
20:27 bluescreen100 joined
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
20:31 bluescreen10 left
lue ah, ok. 20:31
jnthn nqp: say(nqp::time_n()) 20:37
p6eval nqp: OUTPUT«1358282264.46285␤»
20:41 bruges joined
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.
21:41 thou joined
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
21:58 rindolf left
[Coke] like, it's stuck in my head now. :P 21:58
21:59 PacoAir left, hash_table left
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
22:04 PacoAir joined 22:06 raiph joined, skids left 22:08 kaare_ joined 22:09 PacoAir left
[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
22:21 MayDaniel left
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.
22:24 kaare_ left
[Coke] colomon: my tv is using a cable card right now. :P 22:30
22:33 am0c left
colomon [Coke]: pretty sure my new TiVo claimed to have *two* tuners. ;) 22:43
jnthn 'night 22:56
masak 'night, jnthn. 22:57
23:00 FROGGS left 23:05 hash_table joined 23:09 hash_table left 23:15 PacoAir joined 23:17 FROGGS joined 23:18 spider-mario left, bluescreen100 left 23:19 stopbit left, PacoAir left, benabik joined
masak 'night, #perl6 23:28
diakopter o/ 23:29
23:33 geekosaur joined 23:34 grondilu left 23:37 FROGGS left 23:41 lue joined 23:59 slayer101_ joined