»ö« 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.
00:03 Radvendii joined 00:10 cooper joined
sorear o/ Radvendii 00:11
00:16 tokuhirom joined 00:19 donri left 00:20 Radvendii left 00:21 Chillance left 00:28 replore joined 00:29 cooper left 00:36 icovnik left, cooper joined 00:42 ab5tract left
lichtkind good night 00:45
o/
00:46 lichtkind left 00:51 thou left 00:53 Radvendii joined
Util (when the time comes) how do I post my day's article to perl6advent ? 01:10
sorear: what kind of questions? Maybe me. 01:11
sorear Util: I'm not sure what the capturing behavior of <~~0> is supposed to be 01:19
01:22 Vlavv_ joined 01:26 Vlavv left 01:31 drbean left 01:38 drbean joined 01:44 jlaire left
dalek ecza: b8a5ff0 | sorear++ | / (5 files):
Treat quantifiers as partially declarative whenever at all possible
01:44
01:45 lestrrat left 01:46 lestrrat joined 01:47 jlaire joined 01:52 birmjin joined, alc joined 02:11 benabik joined
dalek ecza: 45041d2 | sorear++ | / (5 files):
Implement $() @() %() special forms, make $/.ast default to undef
02:26
02:31 drbean left 02:38 drbean joined 02:45 am0c joined 02:47 agentzh joined 02:49 mkramer1 left 02:50 hrj joined 02:55 replore left, SAADD24 joined 02:56 mkramer joined
Radvendii are there plans for making perl-style graphics? 03:10
colomon what is "perl-style graphics"? 03:14
nom: say ~(1..5) 03:15
p6eval nom 06bbaa: OUTPUT«1 2 3 4 5␤»
colomon niecza: say ~(1..5)
p6eval niecza v12-40-g45041d2: OUTPUT«1..5␤»
colomon sorear: mind if I change Range.Str to conform to nom/spec?
03:16 drbean left, hrj left, mkramer left
sorear colomon: no 03:18
colomon nom: say (1..5).perl 03:19
p6eval nom 06bbaa: OUTPUT«1..5␤»
colomon niecza: say ~(1, 3, 5, 10) 03:20
p6eval niecza v12-40-g45041d2: OUTPUT«1 3 5 10␤»
03:22 drbean joined
dalek ast: 94e7168 | (Solomon Foster)++ | S03-operators/range-int.t:
Change .munch(N) to .[^N].
03:24
colomon sorear: okay, my next commit will have ~480 additional working tests for niecza. ;) 03:26
errr... assuming I didn't break something? 03:32
sorear I may have broken a thing or two; I don't spectest continuously
If I broke things, they're probably in regexes 03:33
colomon no, it's me. 03:34
03:35 Psyche^ joined
colomon it's range.t, it was massively fudged for niecza, but in the case I'm looking at, it was TODO'd when it needs to be skipped. easy enough to fix 03:35
03:39 Patterner left, Psyche^ is now known as Patterner
dalek ecza: af8d58a | (Solomon Foster)++ | lib/CORE.setting:
Make Range.Str conform to the spec.
03:52
ecza: 86bc474 | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/range-int.t.
ast: 2311165 | (Solomon Foster)++ | S03-operators/range.t:
Refudge for niecza.
03:53
colomon with the new fudging on range.t, it ought to be 500+ new passing tests.
04:10 birmjin left 04:12 Radvendii left
colomon sorear: Unhandled exception: Autoloading NYI 04:15
any idea how I might have triggered that?
dalek ast: 7b0eeb3 | (Solomon Foster)++ | S05-mass/rx.t:
Refudge for niecza.
04:16
sorear colomon: :P5 04:17
abercrombie Hi all, why .* in a regex in rakudo doesn't backtrack? 04:18
sorear abercrombie: Because you put parentheses around it.
abercrombie but niecza does it?
sorear colomon: that error message is kind of a fossil; when I was first trranslating niecza into Perl 6, :Perl5 relied on "require" to work, which wasn't implemented 04:19
abercrombie: Backtracking/parentheses is a bug which gets reported here pretty much daily.
colomon looks like that might be it
sorear abercrombie: sadly, the Rakudo regex engine currently has a bus number of 0
abercrombie ok. So currently is there a way to make rakudo does backtrack even .* in parenthese? Or should I add some thing? I 04:20
sorear I am not aware of any workaround 04:21
abercrombie Then which way is the standard? I mean (.*), according to standard, it should or not backtrack? 04:22
sorear abercrombie: Should.
abercrombie Thanks!
moritz the presence of parens should have no influence on backtracking
abercrombie ok, I got it. Thank you, experts. 04:23
04:28 cooper left
dalek ecza: 886540f | sorear++ | / (5 files):
Implement $var in regexes using Regex objects as subregexes (fixes #77)
04:47
colomon sorear: working on epic refudge of rx.t 04:49
going to have to quite halfway through and go to sleep
sorear colomon: how much was rx.t fudged before? 04:50
colomon might not have been fudged at all for niecza
it's very heavily fudged for pugs and rakudo
we're going to have to skip or todo about 125 tests.
but that least us with nearly 600 working tests
dalek ast: 03a5b5c | (Solomon Foster)++ | S05-mass/rx.t:
Epic fudging for niecza, not yet complete.
04:51
sorear meanwhile, I'm trying to implement as much of S05 as I possibly can before the 26th
colomon hopefully having a mostly working rx.t will be a big help. :) 04:52
or at least, will be mildly useful.
afk # sleep 04:55
japhb Is the bus number of regex in nom 0 because it's currently too complex to understand without a tutor, or because no one wants to learn something that is "about to" change, or something else entirely ...?
g'night, colomon
04:56 jaldhar joined
sorear japhb: it's 0 because pmichaud's wife has cancer and there is a massive tuit shortage in the Michaud household 04:56
japhb sorear, I apologize, I was unclear. I knew about pmichaud's wife and the related issues. I meant, why has no one else picked it up yet? 04:57
sorear japhb: I can't speak for everyone. My personal reason for not picking up QRegex is that I have a regex engine of my own to deal with. 04:59
japhb Sure, understood. I guessed your reason, of course. I was asking the channel at large, to find out if there was a reason none of the other regulars picked it up. 05:01
moritz japhb: uhm, jnthn and diakopter did a fair bit of qregex hacking 05:03
05:03 sftp left
japhb moritz, ISTR jnthn++ saying he felt only qualified to make minor changes ...? Or is that an out of date comment? 05:04
moritz japhb: seems out of date-ish 05:05
japhb Ah, that's good to hear!
moritz japhb: for example he added :i, and helped diakopter++ with the DFA creation and backslash escapes in char classes
japhb Ah good. Then we have at least bus number .5. ;-) 05:06
moritz tries to sleep once more
japhb sleep well
05:26 drbean left 05:31 drbean joined 05:34 nek joined 05:36 thou joined, alc left 05:47 ponbiki joined 05:53 jehymez joined 06:03 kaleem joined, jehymez left 06:08 mkramer joined 06:10 mkramer left
dalek ecza: 95e0703 | sorear++ | / (4 files):
Implement @var in regexes, incl. LTM and regex elements
06:16
06:21 jehymez joined 06:38 thou left 06:44 molaf joined
dalek atures: ad5db4a | moritz++ | features.json:
nom has ObjAt
07:06
07:07 koban joined 07:14 molaf left, jehymez left 07:16 jehymez joined 07:21 ispeak_ joined 07:22 cognominal___ joined
jnthn morning! 07:23
07:23 jehymez left
sorear hi jnthn 07:23
07:24 jehymez joined
moritz \o jnthn, sorear 07:24
07:25 cognominal_ left, lrnperl6 joined 07:27 jehymez left
jnthn sorear, japhb: It's not that I can't hack on QRegex and figure it out, given time to do it; I've fixed and added various bits. It's only code. It is, however, much less familiar than most of Rakudo to me, and hard to just quickly throw patches in to. I could hack on it in Nov 'cus I ignored my $dayjob a lot. :-) This month I had to pay a bit more attention to it. :-) 07:27
dalek atures: 9886972 | moritz++ | features.json:
niecza interpolates arrays into regexes
07:28
07:28 jehymez joined
dalek ecza: 854dc3f | sorear++ | / (3 files):
Less-insane implementation of regex_infix:<~>

The new implementation runs as a normal-ish quantifier, instead of creating a pseudo subrule. It uses the backtracking mechanism to set and reset $*GOAL as needed. Needs more tests.
07:33
kudo/nom: 8ea0b2b | moritz++ | src/core/ObjAt.pm:
ObjAt needs its own WHICH method, since it is a value type
07:35
atures: 8908da3 | sorear++ | features.json:
Niecza does conjunction too now
07:36
sorear -> sleep
07:37 jehymez left
jnthn phenny: tell kboga thanks for the feedback - fixed the bugs :) 07:37
phenny jnthn: I'll pass that on when kboga is around.
07:38 jehymez joined 07:44 drbean left, jehymez left 07:46 jehymez joined 07:48 koban left 07:49 lrnperl6 left, jehymez left 07:50 drbean joined 07:51 jehymez joined 07:56 drbean left, jehymez left, drbean_ joined, drbean_ is now known as drbean, jehymez joined 08:10 ponbiki left 08:11 baest joined, jehymez left 08:13 jehymez joined, wtw joined 08:35 carlin left, jehymez left 08:37 jehymez joined 08:39 mj41 joined 08:47 _twitch joined 08:53 abercrombie left 09:08 _twitch left, jehymez left 09:09 jehymez joined 09:18 am0c left, bacek joined, bacek left 09:19 bacek joined, bacek left 09:22 drbean left, jehymez left, dakkar joined 09:24 jehymez joined 09:28 drbean joined, jehymez left 09:29 jehymez joined 09:34 _twitch joined 09:39 _twitch left 09:47 icovnik joined
moritz szabgab: de.arxiv.org/abs/1112.3335 I didn't know you were into lithography :-) 09:59
niecza: constant x = (1, 2, 3); .say for x; 10:07
p6eval niecza v12-45-g854dc3f: OUTPUT«1␤2␤3␤» 10:08
moritz nom: constant x = (1, 2, 3); .say for x;
p6eval nom 8ea0b2: OUTPUT«===SORRY!===␤Cannot handle constant x with non-literal value yet at line 1, near "= (1, 2, 3"␤»
szabgab moritz: :) 10:10
10:10 jehymez left 10:12 jehymez joined 10:14 aindilis left, aindilis joined 10:15 jehymez left 10:17 jehymez joined 10:22 ispeak_ left 10:33 geekosaur left, nek left 10:34 geekosaur joined, jehymez left 10:35 jehymez joined 10:43 domidumont left, domidumont joined 10:44 jehymez left
moritz nom: do { die "foo"; CATCH default { } }; say $! 10:51
p6eval nom 8ea0b2: OUTPUT«===SORRY!===␤Missing block at line 1, near "default { "␤»
moritz nom: do { die "foo"; CATCH { default { } } }; say $!
p6eval nom 8ea0b2: OUTPUT«Exception.new()␤»
moritz nom: do { die "foo"; CATCH { default { } } }; say $!.Str
p6eval nom 8ea0b2: OUTPUT«foo␤»
10:56 daxim joined 10:57 drbean left 11:01 jehymez joined 11:04 drbean joined 11:06 mtk left, jehymez left 11:15 daxim left, daxim joined
flussence nom: say 'abc'.indent(4) 11:17
p6eval nom 8ea0b2: OUTPUT«Method 'indent' not found for invocant of class 'Str'␤ in block <anon> at /tmp/Cz3rzZIxa1:1␤ in <anon> at /tmp/Cz3rzZIxa1:1␤»
flussence I've got working code for that, if anyone wants it...
b: say 'abc'.indent(4)
p6eval b 1b7dd1: OUTPUT« abc␤»
flussence niecza: say 'abc'.indent(4)
p6eval niecza v12-45-g854dc3f: OUTPUT«Unhandled exception: Unable to resolve method indent in class Str␤ at /tmp/tsZ6hF77HW line 1 (mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2229 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2230 (module-CORE @ 58) ␤ at /home…
flussence doesn't work on niecza, though :( 11:18
tadzik flussence: wasn't that you who implemented it in nom in the first place?
flussence I did the old version, I just remembered I'd fixed it up for nom too 11:19
moritz flussence: but you didn't submit a patch, did you?
flussence hm, probably not :)
(it's not in patch-ready form yet, I've done it as a bunch of subs) 11:20
moritz moritz.faui2k3.org/tmp/exceptions.pod proposed advent post for today 11:21
I'll probably leave for lunch in a few minutes, but will backlog for feedback
and then publish (unless the general feedback is "don't publish" :-) 11:22
tadzik haha, nice title ;)
moritz: t accesses an attribute that wasn't declare in class -- s/declare/declared/? 11:25
moritz aye 11:26
tadzik moritz: the last code snippet misses a } I think
method message() { "Permission denied: $.reason";
moritz thanks 11:27
moritz should actually test his code :-)
tadzik I very like it, and learned stuff from it. moritz++
erm, really like it
moritz \o/
ok, corrected, and actually works now 11:29
btw an exception class can chose not show the backtrace by overwriting .gist 11:30
if you write multi method gist(X::MyType:D) { $.message }
you get no backtrace by default
but somebody who catches the exception can still call .backtrace on the object to obtain it 11:31
but maybe there should be a boolean $.show-bt option or so, and the default .gist respects that, or so 11:32
tadzik or a dynvar 11:33
moritz I don't think that property belongs to a dynamic scope 11:34
I mean, there are typically two use cases for exceptions
one to signal an error to the user
tadzik possibly. I'm just throwing ideas around :)
moritz and one to bail out when an internal error is detected
so IMHO it would make sense to have two separate throw functions for that
tadzik why so? 11:35
moritz error 'You entered a bad number'; # surpressed backtrace by default, directed at the user
die 'OH NOEZ, something bad happened'; # internal error, directed at the programmer; should include a backtrace by default
tadzik I think in the second case you're unlikely to bother with the backtrace. You'll just read the type, and possibly the message... oh,the message prints backtrace by default?
moritz not the message, the outer-most exception handler 11:36
tadzik okay. I think if it's not something user-directed, it shouldn't probably be caught by the outer-most EH. I'll rather care about catching it and present it to a user in an appropriate way 11:37
moritz if it's not caught by the outer-most EH, the excpetion silently aborts the program 11:38
afk, lunch 11:39
11:48 drbean left 11:55 drbean joined 11:58 jlaire left 11:59 jlaire joined 12:03 ispeak_ joined 12:11 Patterner left 12:12 Psyche^ joined, Psyche^ is now known as Patterner
tadzik mapofcpan.org/#/ 12:16
jnthn moritz++ # dat title 12:22
12:23 drbean left
jnthn Rakudo switched to X::Comp objects - missing are 12:25
12:25 mkramer joined
jnthn I don't like your nose either :P 12:25
moritz++ 12:26
tadzik :P 12:27
12:28 drbean joined
flussence funny thing is, PHP's had an entire exception class hierarchy like this for years... and it doesn't use it! 12:29
tadzik :) 12:30
dalek ast: aea2197 | (Solomon Foster)++ | S05-mass/rx.t:
Finish epic fudging for niecza.
12:32
12:38 orafu left 12:39 orafu joined 12:41 mkramer left
moritz perl6advent.wordpress.com/2011/12/1...ceptional/ # now online 12:41
12:43 Patterner left
moritz submitted to news.ycombinator.com/item?id=3355907 too 12:44
12:45 Psyche^ joined, Psyche^ is now known as Patterner
Juerd I love exceptions in Perl 6. Thanks for reminding me that they're beautiful. 12:48
moritz you're welcome
12:51 drbean left 12:56 drbean joined 12:57 mkramer joined
colomon phenny: tell sorear rx.t is now fudged for niecza. There are something like 125 tests fudged, so it feels weird to add it to to spectest.data. On the other hand, there are 600 or so tests that pass, which would be good to test. Your opinion? 12:57
phenny colomon: I'll pass that on when sorear is around.
colomon phenny: tell sorear your latest patches have already broken my fudging! ;) 12:58
phenny colomon: I'll pass that on when sorear is around.
geekosaur heh 13:09
13:13 kaleem left 13:16 mkramer left, risou_awy is now known as risou 13:27 tokuhirom left
[Coke] jnthn++ pmichaud++ moritz++ sorear++ colomon++ 13:32
colomon: IMO, if the test runs, fudged, and has 1 passing test, all is well. 13:34
if ALL the tests are fudged, then maybe not.
13:44 ispeak_ left 13:45 drbean left 13:52 drbean joined
moritz wow, >2k page views on the advent calendar today 13:54
[Coke] huh. looks like I now have booking.com's routing numbers!
moritz mostly due to jnthn++'s excellent posting on meta programming, coming from hacker news, reddit and twitter (in that order)
[Coke] (assuming checks in the EU work like checks in the US.) 13:55
13:58 donri joined 14:01 kaleem joined 14:04 mtk joined
jnthn moritz: oh, the meta-programming post got widespread? :) 14:10
nice :)
Happy it was liked.
Well. read. ;)
moritz jnthn: yep, 1.9k views on just that page 14:11
[Coke] jnthn++, nice article. 14:12
14:12 benabik left 14:16 hrj joined, zamolxes joined
jnthn Hm. In front of a class doing stuff on the whiteboard is a bad time to discover you've no clue how to draw an &. :) 14:16
.oO( by h& )
moritz yes, that takes some practise :-) 14:17
jnthn Good job I don't teach C. :) 14:19
flussence & is an upside-down duck, more or less
huf it's benjamin franklin 14:20
pot-bellied dude in a... the long tailed coat
[Coke] do it "cursive". 3, reversed, with a | 14:25
colomon [Coke]: unfortunately, the file now has 0 tests passing, as it fails with a mysterious error it didn't get before sorear++'s latest changes.
jnthn I'm not sure cursing would have helped
oh, wait...you meant... :) 14:26
[Coke] colomon: well, that sucks.
colomon agreed
14:26 Patterner left
flussence jnthn: might help to remember that it's just a stylised "Et" ligature - it's supposed to be an unintelligible squiggle! 14:27
14:27 Psyche^ joined, Psyche^ is now known as Patterner, agentzh left
jnthn flussence: OH! That's where it came from! 14:27
14:27 Sarten-X left
colomon [Coke]: I mean, it's dying hard -- it never actually starts executing the file, as far as I can tell. 14:28
I think it must be dying while parsing the regexes
jnthn Die Hard with a Regex 14:29
14:29 c1sung joined
[Coke] *snrk* 14:30
colomon now working on locating the problem using proof by intimidation. 14:35
moritz just found out that the ear plugs on his mp3 player are not free of side effects -- without them, radio receiving functionality doesn't work 14:36
seems it abuses the cables to ear plugs as an antenna. Clever.
colomon oh yeah, my old iRiver did something like that
flussence I think I had an old electronics set that did that :)
colomon but I never actually used the radio functionality... 14:37
14:38 Sarten-X joined
colomon phenny: tell sorear the crash occurs in the following regex: 'abcdef' ~~ /<[dcb]>**{3}/ 14:42
phenny colomon: I'll pass that on when sorear is around.
colomon niecza: say 'abcdef' ~~ /<[dcb]>**{3}/
p6eval niecza v12-45-g854dc3f: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Any␤ at /home/p6eval/niecza/src/RxOp.pm6 line 141 (Quantifier.code @ 15) ␤ at /home/p6eval/niecza/src/niecza line 66 (RegexBody.code @ 20) ␤ at /home/p6eval/niecza/src/Op.pm6 lin…
colomon there it is. 14:43
15:00 drbean left 15:02 envi_ left, envi_ joined 15:04 MindosCheng joined 15:06 drbean joined 15:07 ispeak_ joined
sjn nom: ("a".."p" X~ 1..24)».say 15:11
p6eval nom 8ea0b2: OUTPUT«m17␤a10␤d22␤c6␤p9␤e6␤a18␤m13␤f7␤m23␤k6␤g15␤f21␤l15␤d6␤p8␤d13␤e3␤p13␤f18␤m9␤o14␤p21␤e23␤k14␤b14␤n15␤b4␤k23␤d18␤n21␤j7␤j18␤n8␤l20␤e15␤d8␤f23␤p4␤j19␤c4␤h5␤g20␤m12␤c11␤e22␤g23␤f20␤m19␤h2␤l23␤n17␤i2␤n23␤m20␤m11␤c9␤m21␤o22␤l11␤e11␤m1␤h16␤b7␤j1␤i18␤o8␤m22␤h18␤g12␤j22␤c18􏿽xE2􏿽x90
sjn question... why isn't that list sorted in some way?
moritz sjn: >> is supposed to parallelize
sjn ooh
moritz sjn: so it's not intended for things that produce side effects
colomon nom: for ("a".."p" X~ 1..24) { .say } 15:12
p6eval nom 8ea0b2: OUTPUT«a1␤a2␤a3␤a4␤a5␤a6␤a7␤a8␤a9␤a10␤a11␤a12␤a13␤a14␤a15␤a16␤a17␤a18␤a19␤a20␤a21␤a22␤a23␤a24␤b1␤b2␤b3␤b4␤b5␤b6␤b7␤b8␤b9␤b10␤b11␤b12␤b13␤b14␤b15␤b16␤b17␤b18␤b19␤b20␤b21␤b22␤b23␤b24␤c1␤c2␤c3␤c4␤c5␤c6␤c7␤c8␤c9␤c10␤c11␤c12␤c13␤c14␤c15␤c16␤c17␤c18␤c19␤c20␤c21␤c22␤c23␤c24␤d1􏿽xE2
sjn ok
is there a non-parallelizing equivalent to »?
moritz .map 15:13
sjn equivalent, as in "can replace » directly in this example" 15:14
no matter 15:16
moritz: thanks anyway :) 15:18
btw
is there a way I could have found out this fact (» being parallelizing) using some introspection feature? 15:19
15:20 drbean left
sjn (sorry about all the silly questions, hope I'm not being too annoying here) 15:22
15:27 drbean joined
moritz sjn: not really; it's a feature that the compiler implements directly, it's not done via introspectable objects 15:27
and no, not annoying; perl 6 questions are exactly what this channel is for :-) 15:28
jnthn nom: ("a".."p" X~ 1..24).map: *.say 15:29
p6eval nom 8ea0b2: ( no output )
jnthn oh heh, too lazy
nom: .say for "a".."p" X~ 1..24 # kinda clean
p6eval nom 8ea0b2: OUTPUT«a1␤a2␤a3␤a4␤a5␤a6␤a7␤a8␤a9␤a10␤a11␤a12␤a13␤a14␤a15␤a16␤a17␤a18␤a19␤a20␤a21␤a22␤a23␤a24␤b1␤b2␤b3␤b4␤b5␤b6␤b7␤b8␤b9␤b10␤b11␤b12␤b13␤b14␤b15␤b16␤b17␤b18␤b19␤b20␤b21␤b22␤b23␤b24␤c1␤c2␤c3␤c4␤c5␤c6␤c7␤c8␤c9␤c10␤c11␤c12␤c13␤c14␤c15␤c16␤c17␤c18␤c19␤c20␤c21␤c22␤c23␤c24␤d1􏿽xE2
moritz nom: sink ("a".."c" X~ 1..4).map: *.say
p6eval nom 8ea0b2: OUTPUT«a1␤a2␤a3␤a4␤b1␤b2␤b3␤b4␤c1␤c2␤c3␤c4␤»
flussence ooh, I've never seen "sink" before... 15:30
jnthn it should really sink itself there
flussence what's the difference between that and "eager"?
moritz flussence: "eager" keeps the values
flussence: "sink" knows it can discard them 15:31
flussence oh!
moritz nom: sink 1.map: &die 15:32
p6eval nom 8ea0b2: OUTPUT«1␤ in method reify at src/gen/CORE.setting:4346␤ in method reify at src/gen/CORE.setting:4253␤ in method reify at src/gen/CORE.setting:4253␤ in method gimme at src/gen/CORE.setting:4614␤ in method eager at src/gen/CORE.setting:4590␤ in method eager at src/gen/CO…
moritz though it doesn't seem to take advantage of that fact
jnthn Don't be so sure without checking the code. :-) I've seen :$sink parameters int eh list implementation :) 15:33
moritz just looked at the "eager" methods and thought "it takes the same code path"
ack -w sink src/core 15:34
finds only 3 matches
and statement_prefix:sym<sink> emits a call to &eager, without extra arguments 15:35
jnthn ugh 15:36
fail
Guess Pm never finishd that bit then.
moritz and it seems the :$sink argument is never passed 15:40
15:40 thou joined 15:41 kaare_ joined, baest left
sorear good * #perl6 15:45
phenny sorear: 12:57Z <colomon> tell sorear rx.t is now fudged for niecza. There are something like 125 tests fudged, so it feels weird to add it to to spectest.data. On the other hand, there are 600 or so tests that pass, which would be good to test. Your opinion?
sorear: 12:58Z <colomon> tell sorear your latest patches have already broken my fudging! ;)
sorear: 14:42Z <colomon> tell sorear the crash occurs in the following regex: 'abcdef' ~~ /<[dcb]>**{3}/
dalek ecza: a50ac9b | sorear++ | src/RxOp.pm6:
Fix typo on RxOp.pm6:141 (colomon++)
15:49
sorear phenny: tell colomon ('abcdef' ~~ /<[dcb]>**{3}/) fixed. 15:55
phenny sorear: I'll pass that on when colomon is around.
sorear yay, rx.t passes now. 15:57
15:59 icovnik left 16:08 Trashlord left 16:12 Trashlord joined
moritz finds that he doesn't understand ListIter at all 16:16
let me try to summarize... 16:22
List has an RPA called $!items that holds the items that have been reified already 16:23
it also a $!nextiter, which is presumably of type ListIter 16:24
or is it?
nom: say (1..*).list.WHAT
p6eval nom 8ea0b2: OUTPUT«List()␤»
moritz nom: say nqp::getattr((1..*).list, List, '$!nextiter').WHAT 16:25
p6eval nom 8ea0b2: OUTPUT«ListIter()␤»
moritz and when I call List.iterator, it generates a *new* ListIter, which gets both the reified elements and $!nextiter 16:27
and then it gets hairy, because I don't know what all the custom opcodes do, like perl6_shiftpush 16:30
sorear one of the important insights in Niecza's list implementation is that .iterator really has to return a _set_ of cursors
I think ListIter is Rakudo's equivalent concept?
moritz ListIter seems to be a linked list of some sorts 16:31
16:31 benabik joined
moritz hm, given a code like 16:33
sjn jnthn: I ended up with .say for "a".."p" X~ 1..24 too
moritz my @x = 1... $big_number; @x.sink; .say for @x
sjn btw
moritz what should the result be? 16:34
16:34 sftp joined, kaleem left
sjn I've been chatting with Damian lately, and he's coming to Oslo in April.. Would it be sensible to try and set up a weekend hackathon when he's here? 16:34
we're talking the weekend of april 20th-22nd 2012 16:35
venue is ready, and I might be able to find some partial funding for it (to help people get to Oslo) 16:36
comments, critique, please. :9
moritz +Inf from me :-)
colomon sorear++ 16:37
phenny colomon: 15:55Z <sorear> tell colomon ('abcdef' ~~ /<[dcb]>**{3}/) fixed.
sjn jnthn, masak, you guys are pretty close, what do you think? 16:38
moritz arnsholt might be interested too
colomon Damian is awesome. :) 16:39
sjn that's very cool :)
colomon sorear: Okay, I'm adding rx.t to spectest.data -- seems like this bug was a pretty good example of why it should be in the spectest now. :) 16:41
jnthn sjn: I can probably come, especially if I get a date. 16:48
er...misword :P
especially if you tell me the date...oh but you did :) 16:49
jnthn goes and adds it to the schedule so nobody books him for anything :)
moritz is kinda glad to see that even native speakers occasionally run into such accidental uses of ambiguous or compound words 16:50
jnthn gets scared when he looks at the $dayjob diary for as far away as April and there's already stuff in it.
sjn: Dates blocked out in my schedule. :)
sorear jnthn has worked at $dayjob in the future?
jnthn sorear: No, just bound to work at $dayjob in the future :P 16:51
My looks botheredly at how his January already looks like hard work. 16:52
er, /me 16:53
dalek ecza: 8bc4441 | (Solomon Foster)++ | t/spectest.data:
Turn on S05-mass/rx.t.
jnthn Yeah, I really should just go and eat nice curry tonight rather than do anything that matters. :)
16:54 envi_ left
[Coke] jnthn++ # enjoy the curry! 16:55
jnthn [Coke]: Will when I get there. Not quite hungry enough yet. :)
16:57 mj41 left, lichtkind joined
lichtkind o/ 16:57
17:00 wtw left
jnthn hi lichtkind 17:00
lichtkind jnthn: i really hope to help you more next year, 17:01
i was excited to see niecze do gui
i compiled it
but still not tested
jnthn :) 17:02
lichtkind but id rather use rakudo
omn somer grammar stuff, plan talk about that in erlangen anyway
jnthn lichtkind: I will get callbacks in native call as soon as I get to tuits :)
lichtkind jnthn: you plan any talk for erlangen?
jnthn *the tuits
My English is very broken today :(
lichtkind: I didn't submit anything yet. Probably should. 17:03
lichtkind its march
17:03 fsergot joined
jnthn lichtkind: Yeah, I already have the dates marked in my calendar :) 17:03
fsergot hi o/ !
jnthn o/ fsergot
lichtkind \o 17:04
17:04 risou is now known as risou_awy
lichtkind jnthn: i can hand over the topic if you wish but so you can concentrate on the more in depth stuff 17:04
jnthn General question: seems we still have holes in the advent calendar schedule. I can do one more post, though Saturday at earliest.
Shall I?
moritz yes 17:05
lichtkind jnthn: and on other side kephraXP is doing well only 3 good days more and you actually can use it for editing
jnthn lichtkind: Well, if I did talk about grammars right now it'd probably be about Grammar::Debugger
17:05 mkramer joined
jnthn Since my meta-programming post got a good reply maybe I should give some talks on that. :) 17:05
lichtkind moritz: the reason why im here is to finish that
moritz finish what?
jnthn Perl 6!
lichtkind haha 17:06
moritz oh yeah, of course :-)
jnthn ++lichtkind ;-)
17:06 mkramer left
lichtkind no the calendar text 17:06
had $job and $grandma
just finishing nom now :) 17:07
jnthn: i dont mean your work :)
jnthn :P
lichtkind jnthn: so your fine with that work division in erlangen, i thought about talking abot hashes since i dindt did that part of the topic i promised, but grammars are really the blazing feature 17:09
17:09 kaare_ left
moritz lichtkind: I'm sure that whatever Perl 6 talks you submit, jnthn, tadzik, mberends and me will find enough interesting Perl 6 topics to talk about :-) 17:10
[Coke] nom: say 9673/18374 17:11
p6eval nom 8ea0b2: OUTPUT«0.526450419070426␤»
[Coke] (from gist.github.com/1476841)
dalek ast: 02c4e6d | (Solomon Foster)++ | S02-types/range.t:
Unfudge tests niecza now passes.
17:12
moritz jnthn: oh, $obj."$meth"() emits code the calls the get_string vtable 17:13
find_lex $P10, "$meth" 17:14
$S100 = $P102."Stringy"()
jnthn D'oh. 17:15
dalek kudo/nom: b70ea99 | moritz++ | src/core/ListIter.pm:
missing unbox
17:17
17:17 baest joined
moritz (that commit is unrelated) 17:18
[Coke] ponders doing the test_summary comparision on a synopsis granularity level. 17:20
[Coke] wonders if that would be helpful to, say, sorear.
17:24 skangas joined
sorear [Coke]: can't say. 17:25
[Coke] would get you a way to see how niecza compares to rakudo on, e.g. S05. 17:31
[Coke] finds a use for the ff operator. huh.
17:32 fsergot left
lichtkind [Coke]++ 17:35
moritz I might have a patch for the vtable codegen, spectesting 17:46
lichtkind it there a way to get exception (space dont sperate) in <> ? 17:53
sorear is cedric-vincent one of us?
17:54 pyrimidine joined, fsergot joined
moritz perl6: say <a\ b>.elems 17:58
p6eval pugs b927740, rakudo b70ea9, niecza v12-47-g8bc4441: OUTPUT«2␤» 17:59
moritz seems like "no"
17:59 snearch joined
dalek kudo/nom: 081cc0e | moritz++ | src/Perl6/Actions.pm:
fix codgen for ."$var"()

it used to call the get_string vtable, now uses an explicit unbox_s
17:59
18:03 fsergot left
dalek ecza: c1f4746 | sorear++ | / (2 files):
Less-insane implementation of $<foo>=[...]

No longer generates an anonymous subrule!
18:05
pyrimidine 'less insane' is always nice 18:06
18:09 dakkar left
[Coke] vaguely wishes he could write $foo{'rakudo'}[0][0] as $foo.rakudo.0.0 18:16
sorear ineeed
[Coke] maybe as $foo{rakudo.0.0} 18:18
PerlJam sounds like someone has been playing with template toolkit. 18:20
sjn btw, are there any meaningful mailing lists or similar that I should send a mail to about the April 20-22 hackathon?
sorear perl6-announce 18:21
18:21 kboga joined
sjn sorear: cool, thanks. any other places? :) 18:22
[Coke] which country was this in again? 18:23
sjn [Coke]: Oslo, Norway
also, since Damian is coming, are there any specific topics worth focusing on while he's in Oslo?
moritz sjn: [email@hidden.address]
not sure if non-members can post there
18:25 fsergot joined, icovnik joined
sjn joins 18:25
PerlJam wonders what mapofcpan.org would look like for the perl 6 modules we have so far 18:27
kboga moritz: Exceptional blogpost! (tiny CATCH s/can chose/can choose/) :)
phenny kboga: 07:37Z <jnthn> tell kboga thanks for the feedback - fixed the bugs :)
kboga np, thanks for blogging jnthn
[Coke] how to push an array of values (@foo) as a single element onto an AoA? (@bar) 18:28
PerlJam: like a very sad island of misfit toys?
moritz [Coke]: @bar.push: @foo.item 18:29
or @bar.push: $(@foo)
18:30 localhost left 18:32 localhost joined
[Coke] \o/ 18:33
moritz++
18:34 Trashlord left, fridim_ left, kaleem joined
[Coke] nom: mY @a = (1,2,3); say $a[0][0][0][0][0]; 18:35
p6eval nom 081cc0: OUTPUT«===SORRY!===␤Variable @a is not predeclared at line 1, near " = (1,2,3)"␤»
[Coke] nom: my @a = (1,2,3); say $a[0][0][0][0][0];
p6eval nom 081cc0: OUTPUT«===SORRY!===␤Variable $a is not predeclared at line 1, near "[0][0][0]["␤»
[Coke] nom: my @a = (1,2,3); say @a[0][0][0][0][0]; #5ism
p6eval nom 081cc0: OUTPUT«1␤»
18:35 fsergot left
[Coke] nom: say $(1)[0] 18:36
p6eval nom 081cc0: OUTPUT«1␤»
18:39 molaf joined 18:46 molaf left
[Coke] is auto-flattening solving a problem? (I'm very surprised whenever I realize that's why I only have a 1-d list.) 18:54
18:56 Chillance joined
[Coke] (how can one write a literal 2D array?) 18:56
moritz [Coke]: it's what makes it possible write for 0..9, 'a'..'z' { } which does seem rather need 18:57
my @a2d = [1, 2], [3, 4], [5, 6]
[Coke] ah, not parens. Danke.
19:00 daxim left 19:01 kboga left
[Coke] nom: my %foo; %foo{'a'}{'b'} = 3; 19:07
p6eval nom 081cc0: OUTPUT«Method 'at_key' not found for invocant of class 'Any'␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1155␤ in block <anon> at /tmp/6oG14d7nhm:1␤ in <anon> at /tmp/6oG14d7nhm:1␤»
PerlJam autoviv bug
[Coke] so that should work, then? 19:08
PerlJam It should, but never has to my knowledge
[Coke] ponders a .pretty, because .perl is too lumpy. 19:12
PerlJam [Coke]: +1 (I wanted that just yesterday)
19:13 Trashlord joined
moritz call it .gist 19:14
[Coke] looks like that's already taken! 19:15
(if the suggestion is to use gist instead of perl, it's still too ugly.)
PerlJam .gist isn't quite right anyway
moritz on what kind of object? 19:16
[Coke] hash of hash of list of list. or something like that. 19:18
(comes through a a single line of output, which is only slightly helpful.)
nom: '"hi","bye"'.split(',').map: { s:g/'"'//; $_}; 19:22
p6eval nom 081cc0: ( no output )
[Coke] nom: say '"hi","bye"'.split(',').map: { s:g/'"'//; $_} 19:23
p6eval nom 081cc0: OUTPUT«Cannot assign to a non-container␤ in sub infix:<=> at src/gen/CORE.setting:8305␤ in block <anon> at /tmp/HHc4J2__em:1␤ in method reify at src/gen/CORE.setting:4348␤ in method reify at src/gen/CORE.setting:4253␤ in method reify at src/gen/CORE.setting:4253␤ in me…
[Coke] I'm sure I'm anticipating something to work like perl5 here when it doesn't.
ah, the $_ is readonly in the map. bleargh. 19:25
is there a more sixian way to write that then copying $_ by hand in the map block? 19:26
19:27 Moukeddar joined, Moukeddar left
benabik .subst(/'"'/, '', :g) ? 19:27
[Coke] that certainly works for this case. Danke. 19:28
moritz or .map: { (my $x = $_) ~~ s:g/'"'// }
benabik nom: say '"hi","bye"'.split(',').map: { (my $ = $_) ~~ s:g/'"'// } # I wonder…. 19:29
p6eval nom 081cc0: OUTPUT«True True␤»
moritz oh, it doesn't return the modified string 19:30
benabik Apparently not.
nom: say '"bye"'.subst(/\"/, '', :g)
p6eval nom 081cc0: OUTPUT«bye␤»
benabik But subst does.
[Coke] moritz: right. does perl6 have the new perl5 way to return the modifid string yet? 19:32
[Coke] forgets which modifier that is.
moritz /r iirc, but not sure
[Coke]: no
19:32 drbean left
benabik :r means :ratchet in STD (although not in spec) 19:33
moritz not in spec? then we should add that quickly
(rakudo supports it too) 19:34
benabik I don't see it in S05 at least. 19:35
moritz it's not in there, right
benabik Maybe :f(:$functional) to make it return the value?
moritz we can always use :copy for the long form
but :c is already taken 19:36
benabik: hm, nice
19:36 ispeak_ left
benabik Although that's a long long form. :-D 19:36
PerlJam I seem to recall there was a table in A05 for both the long and short forms. Maybe it jsut needs to be copied (and updated) to S05
moritz niecza: say 'aaa' ~~ /:r a+ a/ 19:37
p6eval niecza v12-48-gc1f4746: OUTPUT«Match()␤»
moritz niecza: say 'aaa' ~~ / a+ a/
p6eval niecza v12-48-gc1f4746: OUTPUT«#<match from(0) to(3) text(aaa) pos([].list) named({}.hash)>␤»
dalek ecs: 9f731e5 | moritz++ | S05-regex.pod:
[S05] add :r alias for :ratchet

std, rakudo and niecza already support it anyway
19:38
19:40 drbean joined
moritz or maybe :k, :keep 19:41
19:42 Radvendii joined 19:45 kaare_ joined, vlixes joined 19:51 kaleem left 20:01 snearch left 20:04 pyrimidine left 20:05 HarryS left 20:09 y3llow_ joined, pothos_ joined 20:11 HarryS joined, y3llow left, pothos left 20:12 y3llow_ left, y3llow joined 20:13 pothos_ left, pothos joined 20:14 y3llow left, y3llow joined 20:15 drbean left 20:16 pothos left, y3llow left, pothos joined 20:17 y3llow joined 20:19 pothos left, pothos joined 20:22 ksi joined, drbean joined, pothos left, pothos joined 20:25 pothos left, pothos joined 20:28 Radvendii left, pothos left, pothos joined 20:31 pothos left, pothos joined 20:34 pothos left, pothos joined 20:37 pothos left, pothos joined, worr left 20:38 skangas left 20:50 cooper joined
tadzik 'evening, #perl6 20:57
moritz: I was actually thinking about talking about perl6 modules and stuff on GPW
thinking more like "let's imagine a world in which" rather than anything serious :)
dalek : 2a9d366 | jonathan++ | misc/perl6advent-2011/schedule:
I'll do one more on the 18th. Topic TBD.
21:01
jnthn I signed up for 18th in advent cal :)
oh...it gets reported here anyway :) 21:02
colomon :) 21:04
21:17 kaare_ left 21:46 drbean left 21:53 drbean joined, cooper left 22:06 baest left 22:14 drbean left 22:20 drbean joined 22:26 Radvendii joined 22:30 titi joined 22:33 titi left 22:39 mj41 joined 22:54 mj41 left 22:57 ksi left 23:01 cognominal___ left 23:02 cognominal joined
Radvendii is there any interest here in working on a perl programmer's keyboard layout? (so things like $ are more accessable) 23:05
23:12 benabik left
Radvendii i take that as a no... 23:18
jlaire Radvendii: you might have better luck in a perl 5 channel, more people there 23:21
Radvendii ah. i meant more for perl 6, but i guess they would be pretty much the same
geekosaur p6 has a bit more need for accessible unicode though :) 23:22
jlaire true, that :)
to me, 'en_US' feels like heaven after using 'fi' for some years
$ [ ] { } are all behind AltGR on finnish layout
Radvendii aww... 23:23
yeah but still... shift-4 seems a bit much for something used so much... 23:24
jlaire some people just flip the number row, so that digits are shifted and symbols are default 23:25
Radvendii mhmm... 23:26
23:27 tokuhirom joined 23:42 thou left 23:43 worr joined 23:45 risou_awy is now known as risou