»ö« 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! | YAPC::NA talk submissions due end of Month. Have you submitted your talk?
Set by toddr_ on 18 March 2013.
00:06 census_ joined 00:09 census left 00:17 census_ left, census joined 00:26 grondilu left
dalek pan style="color: #395be5">perl6-examples: 5f8c099 | grondilu++ | rosalind/grondilu-mmch.pl:
Update grondilu-mmch.pl

style
00:34
00:52 awwaiid left 00:59 awwaiid joined 01:23 gtodd left 01:27 colomon left 01:42 colomon joined 01:44 FROGGS_ joined 01:45 drbean left 01:47 drbean joined 01:48 FROGGS left 01:52 anant joined 01:57 orafu left 01:58 orafu joined 02:10 awwaiid left 02:16 awwaiid joined 02:20 fgomez left, xenoterracide left 02:29 census left
dalek kudo/extend-dump: 09a04e3 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
Remove some commented-out debug output and an unneeded trailing semicolon from DUMP code in Mu
02:35
kudo/extend-dump: 92f888a | (Geoffrey Broadwell)++ | src/core/Mu.pm:
Fix container handling in sub DUMP(), which also fixes uninitialized value warnings caused by %ctx{$where} being set for the container instead of the contents
02:40 xenoterracide joined 02:41 fgomez joined
dalek kudo/extend-dump: c134bd1 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
Don't DUMP defined booleans as =Bool<obj_num> -- we expect them to be singletons, but want to see their value anyway.
02:52
02:53 spider-mario joined 02:54 leprevost joined 02:55 orafu left, orafu joined
diakopter r: say .DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP # crying 02:57
p6eval rakudo ffe441: OUTPUT«(timeout)»
diakopter *sobs*
02:59 preflex left, preflex_ joined 03:00 preflex_ is now known as preflex 03:05 toddr_ joined 03:09 Bzek left 03:15 census joined 03:20 spider-mario left, anant left 03:41 census left 03:54 kurahaupo left, thou_ left 04:15 pnu_ joined, takesako___ joined 04:16 sdgvf_ joined, pnu left, takesako__ left, cooper left, renormalist left, sdgvf left, LoRe left 04:17 LoRe joined 04:19 cooper joined 04:20 kurahaupo joined
japhb diakopter, why do you sob and cry? 04:33
The branch isn't merged yet ...
diakopter hee 04:34
so what does it do in your branch 04:35
04:36 raiph left
japhb_ Oh dear lord. Exponential backslash explosion. 04:39
diakopter geometric, probably
04:40 perigrin left
japhb_ Hmmm. 04:41
diakopter r: $_.=DUMP
p6eval rakudo ffe441: ( no output )
diakopter r: ($_.=DUMP for ^10)
04:41 perigrin joined
p6eval rakudo ffe441: OUTPUT«Cannot assign to a readonly variable or a value␤current instr.: 'dispatch:<.=>' pc 165425 (src/gen/CORE.setting.pir:72359) (src/gen/CORE.setting:1014)␤called from Sub '' pc 126 ((file unknown):173829336) (/tmp/MFB9k4e3hW:1)␤called from Sub '' pc 274014 (src/gen/COR… 04:41
diakopter eh? 04:42
if I can do it once, why can't I do it tensies
japhb_ diakopter, same difference for this case.
(re: geometric)
diakopter i c 04:43
r: $_.=DUMP; $_.=DUMP 04:44
p6eval rakudo ffe441: ( no output )
diakopter r: $_.=DUMP; $_.=DUMP; $_.=DUMP
p6eval rakudo ffe441: ( no output )
diakopter go dump yourself!
geekosaur r: ($_.=DUMP for ^2)
p6eval rakudo ffe441: OUTPUT«Cannot assign to a readonly variable or a value␤current instr.: 'dispatch:<.=>' pc 165425 (src/gen/CORE.setting.pir:72359) (src/gen/CORE.setting:1014)␤called from Sub '' pc 126 ((file unknown):173251800) (/tmp/lcAehBUuDP:1)␤called from Sub '' pc 274014 (src/gen/COR…
diakopter r: ($_.=DUMP for ^1) 04:45
p6eval rakudo ffe441: OUTPUT«Cannot assign to a readonly variable or a value␤current instr.: 'dispatch:<.=>' pc 165425 (src/gen/CORE.setting.pir:72359) (src/gen/CORE.setting:1014)␤called from Sub '' pc 126 ((file unknown):181312728) (/tmp/EWmiqRTccQ:1)␤called from Sub '' pc 274014 (src/gen/COR…
diakopter r: ($_.=DUMP for 1)
p6eval rakudo ffe441: OUTPUT«Cannot assign to a readonly variable or a value␤current instr.: 'dispatch:<.=>' pc 165425 (src/gen/CORE.setting.pir:72359) (src/gen/CORE.setting:1014)␤called from Sub '' pc 126 ((file unknown):175339200) (/tmp/_cVmIqkvTp:1)␤called from Sub '' pc 274014 (src/gen/COR…
diakopter _)_)
japhb_ The problem is, this is actually "correct" behavior, because Str.DUMP === Str.perl, and the first iteration of Str.perl adds quotation marks, which then get escaped -- and the escapes escaped -- for every iteration thereafter. 04:46
So it's a DIHWIDT, I think.
diakopter n: ($_.=perl for 1) 04:47
p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: Writing to readonly scalar␤ at /tmp/66HEhJX9UB line 1 (ANON @ 2) ␤ at <unknown> line 0 (KERNEL map @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 363 (Any.map @ 4) ␤ at /tmp/66HEhJX9UB line 1 (mainline @ 4) ␤ at /home/p6eval/…
diakopter oh. 04:48
rn: say (($_ := $_.perl) for ^30) 04:49
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29␤»
diakopter *headdesk*
rn: say (($_ := $_.perl) for ^30).WHAT 04:50
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«(List)␤» 04:51
diakopter wtf
ok, I'm completely missing something [x12] here
04:52 leprevost left 04:57 raiph joined 05:21 rindolf joined 05:31 SamuraiJack joined 05:32 betterwo1ld joined 05:34 snuffles_ joined 05:35 lestaway joined 05:37 nyuszika1 joined 05:38 betterworld left, snuffles left, Bucciarati left, lestaway is now known as lestrrat 05:39 yves_ joined 05:40 nyuszika1 is now known as nyuszika7h 05:41 Bucciarati joined 05:47 ikrs joined 05:50 dmol joined
tadzik FROGGS_: oh! www.quickmeme.com/meme/3tooqv/ 05:57
06:07 DarthGandalf left 06:12 domidumont joined 06:17 erkan left 06:18 DarthGandalf joined 06:19 raiph left 06:23 domidumont left 06:30 raiph joined 06:34 rindolf left 06:35 rindolf joined 06:36 toddr_ left 06:37 awwaiid left 06:40 frdmn joined 06:42 domidumont joined, rindolf left 06:43 rindolf joined 06:44 awwaiid joined 06:52 Rix left 06:56 rindolf left, rindolf joined 06:59 kaleem joined 07:04 kingbeast joined, anant joined 07:05 FROGGS_ left 07:07 domidumont left, rindolf left 07:08 rindolf joined, domidumont joined 07:09 kurahaupo left 07:16 rindolf left 07:17 rindolf joined 07:21 FROGGS joined, Rix joined 07:28 wtw_ joined 07:35 x2 joined 07:38 vaelxon left 07:53 fhelmberger joined 07:54 shamendra joined 07:57 raiph left, sqirrel joined 07:59 anant left 08:00 x2 left 08:05 daxim joined, SamuraiJack_ joined 08:06 SamuraiJack left 08:07 _ilbot left, _ilbot joined 08:09 anant joined 08:14 atroxaper joined 08:16 atroxaper left, atroxaper joined
masak good forenoon, #perl6 08:19
moritz good forenoon, masak 08:20
timotimo oh, it's the two people who are almost the same person!
moritz does anybody happen to have a copy of the HPMoR .epub somewhere? 08:21
I can't download it from the source, I get a connection time out
08:22 kingbeast left 08:23 anant left, dakkar joined
FROGGS moritz: no, I'm sorry 08:23
morning @all
FROGGS .oO( undeclared variable @all used at morning @all⏏ ) 08:24
masak you can't just do an ∀ quantification without specifying your universe of discourse -- that's not well-founded! 08:27
:) 08:28
FROGGS bah :P 08:31
moritz open source FTW. I found the code on github that generates the .epub file 08:32
I had to fake up the missing cover image
but it did generate an .epub file for me 08:33
masak \o/
moritz I've put it on moritz.faui2k3.org/tmp/rationality.epub in case anybody else wants/needs it 08:36
08:38 tgt joined 08:44 ikrs left 08:45 tgt left 08:50 Bucciarati left
labster downloads it, puts it in the fanfic folder, loads it up on the epub->web interface he wrote. 08:51
08:51 Gothmog_ left, Gothmog_ joined
moritz labster: you can read it on the web at hpmor.com/ 08:51
labster well yes, naturally, but it's another test for my own software 08:52
masak is it in Perl 6? :) 08:53
08:54 Bzek joined 08:55 Bucciarati joined
labster sadly no. I ought to take a look at Web.pm or something and see if I can port it. 08:56
masak encourages this thinking 08:57
labster The idea was to make it easy to read comics and things stored in the .cbr/.cbz/.cb7 format (really .rar/.zip/.7z) on my iPhone, by using my desktop as a server. And then I started reading fanfic and ebooks, so .epub and .txt got added. Text because the default MobileSafari rendering doesn't seem to be able handle 72 column text, and because I can save my place in long documents. 09:01
masak labster++ # I want to model you 09:02
labster This is why I wanted lib7zip bindings, but honestly I have no idea what I'm looking at when I pull up C code. 09:05
On your Perl 6 is my MMO page, can we add Bard? Because I definitely have the jack of all trades, master of none thing going on. 09:07
timotimo i wonder how big lib7zip is
labster not big itself, but it's a wrapper around 7z.so which is ~2.3M compiled here. 09:09
FROGGS I believe "big" is more about the needed functions 09:10
timotimo oh, yes, i did mean that 09:11
especially how easily it translates to zavolaj. i don't really know much about how it handles buffers and all that
09:11 drbean left
masak labster: heh :) 09:11
labster: feel free to write your own "Bard" blog post. ;)
09:13 drbean joined
labster honestly, not sure. I know the 7z utility handles zip, tar, rar, etc types, but I don't know about the internals that much. That's what I was hoping for -- a lot of bang for the buck. (...Though it is slower) 09:15
09:16 atroxaper left
timotimo oh? lib7z also does all the other formats that the 7z utility will do? 09:18
that's interesting
labster lib7zip: a library using 7z.dll to handle different archive types: code.google.com/p/lib7zip/source/browse/ 09:20
timotimo that's neat
oh, it's c++ 09:21
i don't think zavolaj does c++
arnsholt Zavolaj can't do C++, really 09:22
Are you familiar with name mangling? 09:23
labster .mangle name
yoleaux Name
arnsholt The problem is that executables only have a single, flat namespace. This includes libraries, which just dump their symbols into the global namespace 09:24
Now the question is, since C++ lets you have functions with the same name but different argument signatures, how do you store those in a namespace that only allows a single function per name (and no type info)? 09:25
The solution is name mangling: the real function's (the one stored in the executable) name isn't the one given in the code, but that name augmented with type information (and things like namespaces and stuff, which C++ has as well) 09:26
tadzik . o O ( pir::add__iiI() ) 09:27
arnsholt The C++ standard encourages different compilers to use different mangling schemes, since different C++ compilers can't be expected to be interoperable
This is why you need to compile your C++ code with the same compiler as compiled the library, whereas different C compilers are a lot more interoperable 09:28
And of course, the reason Zavolaj won't and can't interface with C++ libraries (and why most shared libraries expose a C interface)
labster Oh well. :/ 09:31
tadzik just write the C api for the C++ api :) 09:32
labster so you can write the perl api.
09:36 atroxaper joined 09:38 jlaire left
labster Okay, easier question: how magical should IO::Path be? In particular, should IO::Path.new('foo/bar/./').basename return "" (like old File::Spec.splitdir), "." (like basename), or "bar" (actual folder in question)? 09:39
atroxaper I think, bar. Isn't it? 09:41
labster Well, it could be. All of these are potentially valid answers, depending on what we set .directory to. 09:43
daxim should be '.' 09:44
should be 'bar' only after an explicit resolve/cleanup call
atroxaper perl6: say 3; 09:46
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«3␤»
09:48 Heather joined
Heather Hello ! 09:48
labster o/
atroxaper Hello ! 09:49
Heather allowed unicode characters in F# compiler inspired by perl6 XD
blogged here -> heather.cynede.net/ =) 09:50
masak atroxaper: hi! welcome. 09:56
Heather! \o/
Heather masak hi! 09:57
atroxaper masak: Hello. Many thanks! 09:58
09:58 jlaire joined
atroxaper masak, you have a good avatar ;) 09:58
10:00 erkan joined, erkan left, erkan joined
Heather agreed 10:00
labster Hi Heather. Why "akuma"?
masak atroxaper: oh, the picture with the towel? 10:01
atroxaper Yes. In small size you looks like perl-terrorist xD 10:02
10:03 jlaire left
masak it's unusual for me to sport towel headwear. but that was a very memorable weekend. 10:04
labster daxim: naturally, you choose the hardest option for me, off to edit File::Spec now. :)
10:05 jlaire joined
atroxaper labster: gl hf! 10:05
10:09 jlaire left
atroxaper Heather, i think your Beauty-and-Freedom Style looks like python. 10:10
Heather atroxaper I hate python -_-' 10:11
really
atroxaper That's why I was surprised. 10:12
Heather python is creepy, take a look: str(Popen(x.split(' '), stdout=PIPE).communicate()[0]) - what do you think about that?
pretty understandable but I still can't say how does it work 10:13
atroxaper and I hate haskell... because I always becoming nervous when trying use / learn it
atroxaper I think ML style syntax is my favorite. 10:14
10:15 jlaire joined, anant joined
atroxaper Sorry but i have remembered cool picture: 2lx.ru/uploads/2011/01/pex_d4cef951.jpg 10:15
Heather atroxaper well... I'm neither of them, I hate python :D 10:16
even variable declaration in python is killing me when I see it 10:17
atroxaper Actually i'm too. 10:18
Heather I always see something alike x = "hi" and think WHAT THE HELL IS x ?
C# is beauty language, python - NO :) 10:19
atroxaper But any way, how do you all think what need to be done to make perl6 more popular?
Heather atroxaper ok, back to topic...
atroxaper I think we need more parrot developers... 10:20
much much more
billions of them
10:21 shamendra left
tadzik uh 10:21
Heather tadzik hi.
10:21 shamen joined
masak tadzik! \o/ 10:21
Heather I can't say about language but perl6 is my favorite 10:22
irc channel
tadzik Heather! masak!
masak Heather: in Soviet Russia, the #perl6 IRC channel favorites YOU!
Heather =) 10:24
atroxaper Is it right that racudo works like: (perl6+NPQ)->(QAST)->(PIR)->calc. Or that chain is shorter? 10:25
tadzik www.fileformat.info/info/unicode/bl...s/list.htm is so crazy I don't even
masak atroxaper: it's "Rakudo". and yes, that looks about right.
Heather tadzik reading my blog? :) 10:26
atroxaper Is Soviet Russia is synonym ща chuck norris?)) I'm from USSR)
tadzik Heather: not right now, no. Why?
Heather tadzik I used that site in as link in last post 10:27
tadzik do you also have WOMAN AT INFORMATION DESK over there? :)
atroxaper Sorry. Yes "rakudo". It was my typo
10:27 jlaire_ joined
masak tadzik: "right, what's the next minority alphabet on the list?" -- "apparently, it's, uh, CRAZY WEATHER SYMBOLS AND ANIMALS AND CLOTHES" 10:27
the Unicode consortium are all right, but boy do they not know when to stop. 10:28
10:28 jlaire left
tadzik masak: I completely lost it at GREEN BOOK (U+1F4D7), BLUE BOOK (U+1F4D8) and ORANGE BOOK (U+1F4D9) 10:29
masak it's like those guys are, I don't know, building on the prior success of their endeavour and creating a big, unmaintainable Quest for Everything with no hope of real-world compliance. as a #perl6 denizen, I am appalled.
:P
tadzik guise, wat r u doing 10:30
guise, stahp
masak nothing can undo the damage already caused by GREEN BOOK (U+1F4D7), BLUE BOOK (U+1F4D8) and ORANGE BOOK (U+1F4D9) 10:31
10:35 labster left
Heather I failed in colorblindness test :( 10:37
atroxaper And now all of us looks on the pictures!
Heather time for cats? 10:38
bbkr ANGER SYMBOL (U+1F4A2) :) 10:39
Heather bbkr link please )
bbkr www.fileformat.info/info/unicode/ch.../index.htm 10:40
Heather bbkr COOL !
bbkr perfect for replacing X:: in exceptions 10:41
Heather ++
atroxaper Yes! It is not symmetric. It kills my perfectionism!
Heather bbkr I want water drop symbol also for ... warning maybe ) 10:42
tadzik atroxaper: that's the point 10:44
that's why it's the anger symbol
should be comic sans too
timotimo m) 10:45
Heather As I said it's all about manga! 10:46
10:46 tgt joined 10:48 atroxaper left 10:49 jlaire_ left, try joined 10:50 tgt left, try left
timotimo oh, neat, comb ..., :match gives a list of match objects for the regex 10:50
10:51 jlaire joined
Heather 10:54
10:56 woolfy joined 10:58 xinming left 10:59 xinming joined 11:30 bbkr left 11:36 bbkr joined
lizmat rn: sub a () { temp $foo= 1 } 11:48
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Variable '$foo' is not declared␤at /tmp/W4ZYkaPQwl:1␤------> sub a () { temp $foo⏏= 1 }␤ expecting any of:␤ postfix␤»
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Variable $foo is not predeclared at /tmp/G9nMGf44gm line 1:␤------> sub a () { temp ⏏$foo= 1 }␤␤Potential difficulties:␤ &a is declared but not used at /tmp/G9nMGf44gm line 1:␤------> sub a ⏏[3…
lizmat rn: sub a () { temp $foo= 1 } a
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Variable '$foo' is not declared␤at /tmp/kqoTdoNrdJ:1␤------> sub a () { temp $foo⏏= 1 } a␤ expecting any of:␤ postfix␤»
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Variable $foo is not predeclared at /tmp/jAEWsJ5oZJ line 1:␤------> sub a () { temp ⏏$foo= 1 } a␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/jAEWsJ5oZJ line 1:␤------> [3…
lizmat rn: sub a () { temp $foo= 1 }; a
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Variable $foo is not predeclared at /tmp/B1JRbSTACF line 1:␤------> sub a () { temp ⏏$foo= 1 }; a␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ a…
..rakudo ffe441: OUTPUT«===SORRY!===␤Variable '$foo' is not declared␤at /tmp/Ulv4cYnzWZ:1␤------> sub a () { temp $foo⏏= 1 }; a␤ expecting any of:␤ postfix␤»
11:49 colomon left
lizmat very much unlike local() in p5 then 11:50
Heather lizmat temp?
lizmat is trying to make sense of S02 and is halfway 11:51
Heather lizmat spec?
lizmat S02L2889 11:52
11:52 xinming left 11:54 odoacre left 11:55 xinming joined 11:56 atroxaper joined 12:04 atroxaper left
masak lizmat: yes, if you want local(), you want something more like $*foo variables (dynamicals). but 'temp' works pretty well with those. 12:06
lizmat so what is wrong with: 12:07
rn: sub a () { temp $foo= 1 }; a
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Variable $foo is not predeclared at /tmp/ci4f3I4wFs line 1:␤------> sub a () { temp ⏏$foo= 1 }; a␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ a…
..rakudo ffe441: OUTPUT«===SORRY!===␤Variable '$foo' is not declared␤at /tmp/qaQZt3Tsv2:1␤------> sub a () { temp $foo⏏= 1 }; a␤ expecting any of:␤ postfix␤»
lizmat so temp is not a declaration?
not like my or our ?
masak ding! correct. 12:09
lizmat attempt to adjust mental image
*s
masak S03 classifies them as 'named unary operators', not as declarators. 12:10
12:10 skids left
masak eh, "them" being 'temp' and 'let' 12:10
12:10 xinming left
timotimo perl6 has let? 12:11
masak it's like 'temp', but it rolls back on failure. 12:12
timotimo neat
and temp rolls back when the scope is left, right?
12:12 xinming joined
masak right. 12:12
12:12 rindolf left
masak r: my $a = 42; sub foo { temp $a = 5; say $a; fail }; foo; say $a 12:12
p6eval rakudo ffe441: OUTPUT«5␤␤ in method sink at src/gen/CORE.setting:10630␤ in block at /tmp/0WL7eA3xvO:1␤␤»
timotimo so an exception thrown in let will not cause the exception to propagate outwards, just to let the assignment fail? 12:13
whoops
masak r: my $a = 42; sub foo { temp $a = 5; say $a; fail }; foo or say "oh well"; say $a
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Undeclared routine:␤ or used at line 1␤␤»
masak r: my $a = 42; sub foo { temp $a = 5; say $a; fail }; foo() or say "oh well"; say $a
p6eval rakudo ffe441: OUTPUT«5␤oh well␤42␤»
masak r: my $a = 42; sub foo { let $a = 5; say $a; fail }; foo() or say "oh well"; say $a
p6eval rakudo ffe441: OUTPUT«5␤oh well␤42␤»
masak r: my $a = 42; sub foo { let $a = 5; say $a }; foo() or say "oh well"; say $a
p6eval rakudo ffe441: OUTPUT«5␤5␤»
masak \o/
timotimo oh, that's neat to have!
masak I think 'let' will be neatest to have in conjunction with code inside grammars. 12:14
timotimo ooooooooooooooh
masak it's like a speculative assignment, which auto-unsets on backtracking.
timotimo hm, will it record a "previous value" when executed and do a new assignment when the block is left? 12:18
masak yeah. using the UNDO phaser.
timotimo so if i have it in a lazy gather/take and update the value between gimme calls will that undo any other assignments in the meantime as well?
12:20 kshamen joined
lizmat rn: say $?VM 12:22
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Variable '$?VM' is not declared␤at /tmp/occV6E7Hdp:1␤------> say $?VM⏏<EOL>␤ expecting any of:␤ postfix␤»
..niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <file…
lizmat I guess a matter of NYI, right?
anant rn: say $*VM 12:24
p6eval niecza v24-35-g5c06e28: OUTPUT«(Any)␤»
..rakudo ffe441: OUTPUT«("name" => "parrot", "config" => {"git_describe" => "RELEASE_4_10_0", "sha1" => "08a70fe50d07fc932b5505b13f09fa74b01622e9", "a" => ".a", "ar" => "ar", "ar_extra" => "", "ar_out" => "", "archname" => "i486-linux-gnu-thread-multi-64int", "arflags" => "cr", "as" => "a…
lizmat so, does that mean S02L3014 is in error ? 12:26
anant don't know .. I just remembered this discussion: irclog.perlgeek.de/perl6/2013-03-30#i_6647436 :) 12:27
moritz lizmat: if you format it as S02:3014, the IR Clogs will automatically turn it into a link
lizmat (ack) 12:28
tadzik we need a bot
written in Perl 6
anant r: my @a = (1.. 10); say 'match' if 4 ~~ @a;
p6eval rakudo ffe441: ( no output )
anant r: my $a = (1 .. 10); say 'match' if 4 ~~ $a; 12:29
p6eval rakudo ffe441: OUTPUT«match␤»
anant why?
tadzik r: my @a = (1..10); my $b = (1..10); @a.perl.say; $b.perl.say 12:30
p6eval rakudo ffe441: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤1..10␤»
tadzik @a does not have 4 elements, but 4 is in range 1..10
when you assign a range to an array container, it becomes a list of elements
masak anant: smartmatching against an array != smartmatching against a range 12:31
anant: see the table in S03.
12:31 shamen left
anant ok. thanks! tadzik++ masak++ 12:36
Heather Heather++ 12:37
Heather is egoist
12:39 fgomez left
masak Heather: karma bots usually don't count self-incrementing. 12:41
Heather damn it 12:44
r: say "Heather++" 12:45
p6eval rakudo ffe441: OUTPUT«Heather++␤»
12:46 xinming left
masak heh :) 12:46
Heather++ 12:47
Heather masak++ 12:48
12:48 xinming joined
Heather masak can I check someones karma? 12:48
tadzik karma Heather 12:49
:(
12:49 tgt joined
Heather it's useless when I can't check it :( 12:49
masak .oO( if a karma is ++'d in the woods, and no-one is there to hear it... ) 12:50
daxim the universe does not tell your karma status, either! be a good *-ist, do what's right because it's right and not because of a reward
Heather daxim well it's boring motivation 12:52
time to run for me, see you tomorrow maybe 12:55
12:56 Heather left
anant masak: What is meant by "lists are comparable"? Same type and number of elements? 13:01
masak r: say (1, 2, 3, 4, 5) ~~ (1, *, 5) 13:02
p6eval rakudo ffe441: OUTPUT«False␤»
masak r: say (1, 2, 3, 4, 5) ~~ (1, *, *, *, 5)
p6eval rakudo ffe441: OUTPUT«False␤»
masak huh.
ISTR there was something about whatevers there...
anant r: my @a = (1..10); my @b = (91..100); say 'match' if @a ~~ @b 13:03
p6eval rakudo ffe441: ( no output )
masak (not that I much miss that feature, but still)
anant r: my @a = (1..10); my @b = (1..10); say 'match' if @a ~~ @b
p6eval rakudo ffe441: OUTPUT«match␤»
FROGGS .karma Heather
.help
yoleaux FROGGS: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
FROGGS .commands 13:04
yoleaux Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each.
FROGGS .commands services
yoleaux Commands in services: acronym, add-command, beats, bitcoin, cat, command-help, del-command, dety, flip, geo, google, lastfm, leo, meow, moon, ngrams, nokiageo, nownext, o, oed, rb, republical, rot13, scm, shipping, suggest, swhack, thesaurus, ud, weather, yi, youtube. Use .help to get information about them.
tadzik .meow
yoleaux edgecats.net/cats/boop_sg.gif
tadzik best bot ever 13:05
13:06 PacoAir joined
jnthn .moon 13:07
yoleaux Last Quarter (0.795)
masak yoleaux! 13:09
yoleaux masak!
masak \o/
.botsnack
yoleaux :D
masak :D
.ping
yoleaux There is no ping command; nor can this be construed as a response.
masak I see.
yoleaux: I *like* you.
jnthn ...
phew :)
masak .pick masak, moritz, mst 13:10
yoleaux moritz
masak dang. :)
jnthn .thesaurus thesaurus
yoleaux thesaurus — synonyms: dictionary, synonymicon
13:10 bluescreen10 joined, tgt left
jnthn synonymicon :D 13:10
masak is a synonymiconoclast 13:11
13:26 PacoAir left
tadzik I don's see why one would name a dictionary after a dynosaur 13:26
13:26 PacoAir joined 13:27 ggoebel joined 13:28 SamuraiJack_ left 13:30 PacoLinux joined 13:32 kaleem left 13:33 SamuraiJack joined 13:37 kaare_ joined 13:39 census joined 13:44 skids joined 13:49 jokar joined 13:50 bbkr_ joined, bbkr left
FROGGS jnthn: you had a chance to look at my comment? github.com/rakudo/rakudo/commit/ff...nt-2938579 13:53
13:54 jokar left, PacoLinux left
FROGGS .help general 13:55
yoleaux FROGGS: Sorry, no help is available for general.
FROGGS .commands general
yoleaux Commands in general: ask, at, botsnack, buck, bytes, choose, in, msg, on, pick, ping, seen, supercombiner, t, tell, to. Use .help to get information about them.
FROGGS hmmm, somebody should add karmacounting :o) 13:56
13:58 anant left
masak .help buck 13:59
13:59 colomon joined
yoleaux Is it BUCK yet? 13:59
masak I... I don't know. you tell me.
arnsholt What happened to phenny? 14:00
tadzik she only lived once 14:01
masak classical rookie mistake. 14:02
colomon but... but... Ian Fleming told me you only live twice! 14:04
masak in retrospect, that may have been a slight exaggeration. 14:06
most people only live once.
some, not even once.
14:07 PacoLinux joined, PacoLinux left
masak (if those reincarnation fellas turn out to be right, I'll make sure to come back and let you know) 14:07
14:11 M_o_C joined 14:15 seq99` left
colomon masak: actually, in the book there is a poem explaining the phrase: "You only live twice / Once when you are born / And once when you look death in the face." (from memory, may not be exact.) 14:17
14:17 ilbot6 left
masak nice. 14:17
that makes a whole lot more sense than being ejected from a boat in a coffin which subsequently turns into a water scooter. 14:18
jnthn FROGGS: Doing the wrong thing in a different wrong way doesn't make it less wrong :P 14:19
14:19 drbean left
jnthn FROGGS: To fix up package stuff we really need to take the current $*PACKAGE.WHO and install soemthing into it 14:19
colomon masak: I believe it was supposed to be a haiku in the "original" Japanese. (as far as I know, Fleming made it up)
jnthn I know why the change helps, but it doesn't actually solve the underlying problem. 14:20
masak damn you architects with your underlying problems :P 14:21
14:22 drbean joined
FROGGS jnthn: oaky 14:25
14:26 anant joined, Patterner left 14:28 Psyche^ joined, Psyche^ is now known as Patterner 14:31 drbean left 14:32 drbean joined 14:39 raiph joined, atroxaper joined 14:43 frdmn left 14:44 spider-mario joined 14:49 awwaiid left 14:52 M_o_C left 14:55 awwaiid joined, census left 14:57 FROGGS left 14:58 census joined 15:15 colomon left 15:18 colomon joined 15:20 colomon left 15:24 colomon joined 15:31 colomon left, anant left 15:32 jlaire left 15:35 anant joined 15:38 fhelmberger left 15:43 rindolf joined, anant left
pmichaud is anyone able to reach rakudo.org ? 15:45
xinming pmichaud: Down here. 15:46
spider-mario I can’t
15:46 frdmn joined
xinming I mean, I can't here 15:46
pmichaud okay, looks like my server's down for some reason.
spider-mario isup.me/rakudo.org
I mean isup.me/rakudo.org
arnsholt pmichaud: mtr fails at a node belonging to defenderhosting.com 15:47
From Norway
spider-mario same from France
15:49 jlaire joined 15:52 domidumont left 15:54 jlaire left, toddr joined 15:55 jlaire joined, colomon joined, daxim left 15:56 census left 16:04 FROGGS joined 16:14 SamuraiJack left
FROGGS std: use v5; say "abc".ord("A") 16:15
p6eval std 86b102f: OUTPUT«ok 00:01 53m␤»
[Coke] .u dquo 16:19
yoleaux No characters found
pmichaud rakudo.org should be reachable again 16:20
[Coke] .u U+1234
yoleaux U+1234 ETHIOPIC SYLLABLE SEE [Lo] (ሴ)
[Coke] .u ⁂ 16:21
yoleaux U+2042 ASTERISM [Po] (⁂)
[Coke] there's a hyperwhatever for you. :P 16:22
.u U+2614 16:23
yoleaux U+2614 UMBRELLA WITH RAIN DROPS [So] (☔)
colomon that's what we need today, nothing but rain, rain, rain on I-75. 16:27
colomon is wondering how a non-degenerate torus get singularities.... stupid $work 16:30
16:33 Chillance joined
masak .oO( Obelism fell into three cauldrons of magic potion when he was a baby ) 16:36
16:38 colomon left, domidumont joined
japhb_ Is there an easy way to take a variable that you suspect is a native int, num, or str ... but might be something else like a Coro or Sub ... and check if it is one of those primitive types? I first thought of using nqp::objprimspec, but that wants a real type, and I'm not sure how to get the type directly from a native variable (since pir::typeof__SP just gives you a string) 16:39
16:40 colomon joined
japhb_ is considering special casing "Integer", "String", and "Float", but that's really ucky, and non-portable. 16:40
16:40 colomon left 16:47 rindolf left 16:50 colomon joined
japhb_ listens intently to the sound of silence 16:50
16:51 alester left
[Coke] r: my int $x = 3; say $x.WHAT; 16:54
p6eval rakudo ffe441: OUTPUT«(Int)␤»
[Coke] r: my int $x = 3; say nqp::typeof($x);
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Error while compiling op typeof: No registered operation handler for 'typeof'␤»
[Coke] r: my int $x = 3; say nqp::typecheck($x); 16:55
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Error while compiling op typecheck: No registered operation handler for 'typecheck'␤»
[Coke] nqp: my $x := 3; say(nqp::typecheck($x));
p6eval nqp: OUTPUT«Error while compiling block : Error while compiling op call: Error while compiling op typecheck: No registered operation handler for 'typecheck'␤current instr.: '' pc 46249 (src/stage2/QAST.pir:16990) (src/stage2/QAST.nqp:2794)␤»
[Coke] nqp: my $x := 3; say(nqp::isa($x,int)); 16:56
p6eval nqp: OUTPUT«Error while compiling block : Error while compiling op call: Error while compiling op isa: No registered operation handler for 'isa'␤current instr.: '' pc 46249 (src/stage2/QAST.pir:16990) (src/stage2/QAST.nqp:2794)␤»
[Coke] ok, I give up. ;)
16:57 atroxaper left
moritz nqp::istype iirc 16:58
japhb_ moritz, that lets you see if something is a particular type -- but how do you even refer to the native types as far as nqp::istype is concerned? It's the same problem nqp::objprimspec has 16:59
17:03 dakkar left
diakopter r: say .DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.DUMP.chars 17:05
p6eval rakudo ffe441: OUTPUT«(timeout)»
diakopter should be only 2**19 17:06
+1
moritz japhb_: it seems that the "is something a primitive type" is the exact opposite of asking "is something a 6model object"? 17:09
hm, not quite
timotimo is there some low hanging rakudo fruit i could sink my teeth into this fine evening? 17:11
17:11 SamuraiJack joined 17:12 jnthn joined
diakopter wb 17:12
masak jnthn! \o/
jnthn ain't sure whether to blame screen or irssi...
japhb_ moritz, yeah, that tiny difference is the one I have to deal with. :-) 17:13
japhb_ is currently in the strange situation that a primitive type that appears as an object attribute will DUMP just fine, because I can get the type I need from Attribute.type, but I can't reliably detect a primitive typed *variable* right now 17:14
jnthn Where are you getting it from? 17:15
Generally, stuff auto-boxes...
japhb_ my int $var; ... DUMP($var) 17:16
In order to be able to show nulls, RPAs, and such, DUMP() has a *very* raw view of what it receives.
jnthn What's the signature of DUMP?
Oh... 17:17
Are you using the apture nqp:: ops?
japhb_ Right now the above would get you: Integer<1>(...)
jnthn *capture
japhb_ Yes, have to.
(Well, as far as I understand things, anyway.)
jnthn You're aware there's a captureprimspec?
Or something like that...
japhb_ No I wasn't!
jnthn There is ;)
japhb_ Damn, I should have thought to look for more capture* ops, duh. 17:18
jnthn I'm pretty sure there is anyway...
As think I needed it for the multi-dispatcher...
japhb_ Ooh, 'git grep nqp::capture' turned up some interesting matches 17:19
nqp::captureposprimspec
jnthn That one
japhb_ And there are others that I like for other nefarious purposes, like nqp::captureexistsnamed. ;-)
Thanks, jnthn++ ! 17:20
17:31 anant joined
arnsholt japhb_: If it's any consolation, I'm hoping that RPAs will go away soon-ish =) 17:31
17:31 djanatyn left, djanatyn joined
japhb_ arnsholt, just when I get RPA and QRPA handled, you throw another into the mix, eh? ;-) 17:32
arnsholt Well, I'm replacing them with sixmodel objects, so hopefully it won't be too bad =) 17:33
17:34 asogani joined 17:37 djanatyn left, fgomez joined, djanatyn joined
japhb_ arnsholt, ah, good. :-) 17:47
17:49 colomon left
dalek rl6-roast-data: e45f765 | coke++ | / (3 files):
today (automated commit)
18:03
18:04 colomon joined
raiph speakerdeck.com/djerius/perl-and-p...modern-era # notes for tadzik et al 18:13
18:18 dvj joined 18:23 SamuraiJack left 18:36 census joined
dalek ast: fdb3d68 | dagurval++ | S02-names-vars/perl.t:
Added test for Buf
18:59
[Coke] rpn: my Buf $a = "asdf".encode(); eval($a.perl).decode("ascii"); 19:06
p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: No value for parameter '$enc' in 'Str.encode'␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Str.encode @ 1) ␤ at /tmp/8w88P0SY0P line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6e…
..rakudo ffe441: ( no output )
..pugs: OUTPUT«*** No such method in class Str: "&encode"␤ at /tmp/35cTcuyr1v line 1, column 8-28␤»
[Coke] rpn: my Buf $a = "asdf".encode(); say eval($a.perl).decode("ascii");
p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: No value for parameter '$enc' in 'Str.encode'␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Str.encode @ 1) ␤ at /tmp/3UcJNXloxf line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6e…
..pugs: OUTPUT«*** No such method in class Str: "&encode"␤ at /tmp/bm1eAaqyab line 1, column 8-28␤»
..rakudo ffe441: OUTPUT«␤»
[Coke] is dagurval on #perl6
? 19:07
dvj o/
It's me
[Coke] looks like that test fails in rakudo, niecza, and pugs. Can you fudge it so it won't break the daily test run?
masak dvj: oh hai
[Coke] (skip on niecza & pugs, todo on rakudo)
dvj ok, I'll try :) 19:08
masak: hello!
moritz r: my Buf $a = "asdf".encode(); say $a.perl
p6eval rakudo ffe441: OUTPUT«Buf.new()␤»
moritz oh, I see why that'd fail :-)
dvj should i fudge with "todo" on rakudo, and skip on pugs and niecza? 19:12
(since rakudo doesn't "fail", bug gives wrong result) 19:13
[Coke] Yes. always use todo when possible. 19:14
(otherwise makes it hard to know when we start passing.)
dalek ast: 8d535a2 | dagurval++ | S02-names-vars/perl.t:
fudge
19:17
[Coke] dvj++ #perfect. 19:18
dvj yay!
19:20 renormalist joined 19:21 M_o_C joined 19:22 domidumont left 19:27 colomon left 19:28 johnjohn101 joined
moritz $ ./perl6 -e 'say eval("asdf".encode().perl).decode' 19:28
asdf
r: say Buf 19:29
p6eval rakudo ffe441: OUTPUT«Cannot look up attributes in a type object␤ in method list at src/gen/CORE.setting:7410␤ in method gist at src/gen/CORE.setting:7420␤ in sub say at src/gen/CORE.setting:7646␤ in block at /tmp/UOCPL8gYJO:1␤␤»
moritz and my commit fixes this one too :-)
but the test still fails 19:30
because asdf ne adsf :-) 19:31
I'm going to fix the test too
dalek kudo/nom: 983efea | moritz++ | src/Perl6/Actions.pm:
make for-loops eager again

lazy for-loops violated too many expectations, and I do not see the point in having it lazy, and then jumping through many hoops just to make it eager again in 98% of all cases. If you want a lazy loop, please use map.
kudo/nom: 5871a49 | moritz++ | / (2 files):
Merge branch 'nom' of git://github.com/rakudo/rakudo into nom
[Coke] moritz++
kudo/nom: 9f98590 | moritz++ | src/core/Any.pm:
give sub item an explicit proto
[Coke] bets moritz didn't mean to do that! 19:32
dalek ast: ea0bc1d | moritz++ | S02-names-vars/perl.t:
fix Buf.perl test, and unfudge for rakudo
PerlJam moritz++
tadzik moritz++
PerlJam [Coke]: there's always a little chaos when you're making progress :) 19:33
moritz forgiveness > permission 19:35
19:37 anant left, asogani left 19:39 M_o_C left
masak moritz++ # eager for 19:40
19:40 fgomez left
masak now I don't have to hate the "Cannot return from already returned-from routine anymore" :D 19:40
s/ anymore"/" error message anymore/
timotimo bah 19:42
a parse is "ok" without perl6-debug, but "not ok" with perl6-debug
(relating to an ast, it seems)
japhb moritz, is it possible to specify 'lazy for' and have it work? 19:47
[Coke] p: say say say "what you want?"
p6eval pugs: OUTPUT«what you want?␤1␤1␤»
moritz japhb: not yet, but it's certainly possible to make it work 19:48
at least if me make 'lazy' a statement prefix 19:49
r: say lazy 1
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Undeclared routine:␤ lazy used at line 1␤␤»
moritz which it is, in STD.pm6 19:50
19:50 johnjohn101 left
moritz tests a patch which does that 19:53
v6asns.ripe.net/v/6?s=_ALL;s=_EU # not as bad as thought 19:54
[Coke] reads a quote about the book _Trial of the Clone_ "As an added bonus, "nearly all the proper names in the book are dirty words in Czech." 19:55
"
[Coke] imagines that would go over well with this crowd.
19:55 asogani joined
moritz looks at jnthn, masak and tadzik 19:55
japhb [Coke], that's pretty awesome. :-) 19:56
[Coke] it's a choose your own adventure RPG game, to start with.
19:57 asogani_ joined
japhb moritz, gah, if you add United States to that graph, it's darned near a reflection of the EU around the All Countries average. 19:58
Depressing, that.
tadzik looks back at moritz 19:59
lazy for, eh? 20:00
pmichaud good afternoon, #perl6
tadzik Maybe I'm missing something, but I don't see where you'd want a lazy for
good evening pmichaud
moritz tadzik: and dirty words in Czech
tadzik oh, I don't know those :)
moritz good pm, pm
tadzik except when jnthn dares me to say "I'm looking for something to drink" in Polish, because it's dirty in Slovak :P 20:01
jnthn Dirty words in Czech? Hm, I know some Slovak ones...
tadzik: hahaha!
o/ pmichaud
japhb o/ pmichaud
masak o/ pmichaud 20:02
pmichaud o/ self
20:06 woolfy left, rindolf joined
japhb_ r: sub foo(|) { my Mu $arg := nqp::captureposarg(nqp::usecapture(), 0); say nqp::p6box_i($arg); }; my int $i = 42; foo($i); 20:06
20:06 pupoque joined
p6eval rakudo ffe441: OUTPUT«Can only use repr_unbox_int on a SixModelObject␤ in sub foo at /tmp/CyfQ_8BXXa:1␤ in block at /tmp/CyfQ_8BXXa:1␤␤» 20:06
japhb_ r: sub foo(|) { my Mu $arg := nqp::captureposarg(nqp::usecapture(), 0); say nqp::p6box_n($arg); }; my num $n = 12345e0; foo($n); 20:07
p6eval rakudo ffe441: OUTPUT«12345␤»
japhb_ r: sub foo(|) { my Mu $arg := nqp::captureposarg(nqp::usecapture(), 0); say nqp::p6box_s($arg); }; my str $s = "a string"; foo($s);
p6eval rakudo ffe441: OUTPUT«a string␤»
japhb_ OK, so why the funny business for int's, jnthn? :-)
japhb_ is trying to imagine where the repr_unbox_int is happening up there. 20:08
r: sub foo(|) { my Mu $arg := nqp::captureposarg(nqp::usecapture(), 0); say 'Still OK here'; say nqp::p6box_i($arg); }; my int $i = 42; foo($i);
p6eval rakudo ffe441: OUTPUT«Still OK here␤Can only use repr_unbox_int on a SixModelObject␤ in sub foo at /tmp/7K_Pmo9ASq:1␤ in block at /tmp/7K_Pmo9ASq:1␤␤»
japhb_ *sigh*
jnthn japhb_: If you have a native int, you should use nqp::captureposarg_i or so 20:09
japhb_ jnthn, OK, fair enough ... but why does only the int case fail in the above, and where is the unbox happening?
jnthn Good question. They're all "wrong" in some sense, I suspect you're getting lucky/unlucky out of Parrot v-table stuff clashing with 6model stuff. 20:11
None of them woulda worked out for you on the JVM.
japhb Oh, interesting.
OK, fair enough.
jnthn Or all of them.
japhb Getting DUMP to work on the JVM is going to be very enlightening. :-)
jnthn The 6model stuff very clearly separates coercion (a HLL thing) from boxing/unboxing (a REPR thing) 20:12
Parrot's vtables confuse/conflate the two.
japhb nodnod
jnthn captureposarg on the JVM will, iirc, whine if you use the incorrect op 20:13
On Parrot it tries to coerce it, but probably winds up coercing it to a Parrot Integer or so.
timotimo jnthn: any clue about this? 'make' seems to not work in perl6-debugger
jnthn Well, box...
timotimo: perl6-debugger?
japhb Do you say nqp::p6box_i(nqp::captureposarg_i($capture, $arg_num)), or is the outer box then redundant? 20:14
jnthn I think these days it will do the right thing without the outer box, provided you're in Perl 6 code.
'cus Perl 6 overrides the boxing operations for QAST::Compiler with its own idea of how boxing works. 20:15
20:15 kaare_ left
japhb OK, I'll try it both ways and check for sure. :-) 20:17
timotimo jnthn: indeed.
jnthn timotimo: rakudo-debugger? Anyway, not sure why it wouldn't work 20:19
japhb_ timotimo, what error are you getting?
20:20 fgomez joined
timotimo i was accessing an .ast from a submatch and in the debugger i get "invalid use of thingie in numeric context" 20:21
or something
(but without the debugger i get a proper value there)
so maybe "make" isn't working correctly? 20:22
hm. inside a rule, there should be backtracking, no?
20:22 spider-mario left 20:23 kurahaupo joined
moritz except if stuff forces backtracking 20:23
like minimal quantifiers (.+?)
timotimo you mean "forbids", no?
moritz no
timotimo oh, i see
i guess i'll just quickly paste my stuff 20:24
paste.ee/p/TmPMu - i'm doing ipv6 grammar just for practice and learning 20:25
and what happens is this: it likes parsing the first part of an ipv4 part as a "partial" ipv6 thing and then doesn't think to backtrack and match it using the ipv4 regex instead 20:26
maybe i need a negative lookahead for "." in the ipv6 thing.
pmichaud rule implies token implies no backtracking 20:27
timotimo oooh!
dalek kudo/extend-dump: 1d11ea8 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
DUMP() native primitive types
timotimo oh yes, now it backtracks lots! :)
pmichaud you can use ! to force backtracking, though. 20:28
also, unless you're expecting addresses to contain valid spaces, you might want 'token' instead of 'rule' 20:29
japhb
.oO( My kingdom for a faster setting compile )
pmichaud japhb: augment can be your friend :-) 20:30
20:30 araujo left
japhb pmichaud, the DUMP stuff runs into so many edge cases as it is, I don't want to add that into the mix. Besides, I'm not sure it would actually work in the first place, what with methods and subs calling each other mutually recursively. 20:32
timotimo pmichaud: can you tell me where exactly an ! is allowed? 20:33
can i write <foo>! and it will backtrack over the invocation of <foo> if needed?
japhb augment sure was a help when developing Str.Numeric though ....
pmichaud timotimo: it's a modifier, like ?
so yes, <foo>! means we can backtrack over <foo>
oh, wait, it's :! 20:34
as in <foo>:!
see "Backtracking control" in S05 20:35
japhb Though frankly, I think I want a faster setting compile even more than I normally would for just the current pain, because making setting compile faster would probably mean Rakudo was just faster in general; it exercises quite a bit.
dalek kudo/extend-dump: 76e1719 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
The previous commit's native primitive DUMP handling doesn't need the p6box_* operations
20:38
20:38 yx left
timotimo thanks :) 20:39
20:42 vaelxon joined 20:43 labster joined
labster good postnoon, #perl6 20:43
20:43 robinsmidsrod left
timotimo my backtracking isn't working though 20:44
i should look at the docs
20:45 robinsmidsrod joined
sorear o/ labster 20:49
masak labster! \o/
timotimo <after \:> should only succeed if there is a : before the current cursor position, isn't that right? 20:51
masak timotimo: why not <?after \:> ? 20:52
timotimo because i don't know :)
20:52 yx joined
moritz but yes, that's what after does 20:53
20:53 kshamen left
timotimo in that case i'm very confused about the behavior of the grammar 20:53
ooooooh, now i get it 20:54
20:55 asogani left
timotimo the lookahead assertion i added to make backtracking faster bit me in the butt 20:55
20:55 yx left, yx joined
labster \\o/ sorear and masak 20:56
masak \o//
dalek rakudo/extend-dump: 983efea | moritz++ | src/Perl6/Actions.pm: 20:57
rakudo/extend-dump: make for-loops eager again
rakudo/extend-dump:
rakudo/extend-dump: lazy for-loops violated too many expectations, and I do not see the point
rakudo/extend-dump: in having it lazy, and then jumping through many hoops just to make it
20:57 dalek left
labster r: say '/foo/bar/baz/' ~~ m/^ [ $<dirname>=(.* '/'+)? ]? $<basename>= (<-[\/]>+) '/'* $ / 20:58
20:58 dalek joined, ChanServ sets mode: +v dalek
p6eval rakudo 99e27f: OUTPUT«「/foo/bar/baz/」␤ dirname => 「/foo/bar/baz/」␤ dirname => 「/foo/bar/」␤ basename => 「baz」␤␤» 20:58
20:58 SHODAN left
labster okay, why do I get two copies of dirname when the match only succeeds once? 20:58
20:59 skids left, asogani_ left
masak huuhhnn. 21:00
wut.
21:00 Shozan joined
masak I suspect a backtracking-related glitch. 21:00
21:01 census left
timotimo strange. the next character is a :, and one of the LTM alterations i have starts with ':', but it just jumps into the one matching only $ instead and then backtracks back to the beginning happily 21:02
timotimo tries || instead of |
that does work :| 21:03
japhb Anyone object to me merging extend-dump at this point? It needs more tests, and I haven't run through the entire set of Perl 6 standard classes looking for anomalies yet, but I'd be happy to trade code for failing tests. I'd like to get more eyes on this ....
masak submits labster's rakudobug 21:04
r: say ('/foo/bar/baz/' ~~ m/^ $<dirname>=(.* '/'+)? $<basename>=(<-[\/]>+) '/'* $ /).keys
p6eval rakudo 99e27f: OUTPUT«dirname basename␤»
timotimo only one more failing test for my grammar \o/
and then i'll just have to write it a bit prettier 21:05
masak labster: .gist shows double 'dirname' keys, but .keys and .perl don't
japhb: what does extend-dump do? 21:08
21:08 census joined
[Coke] wonders why FROGGS github comment came through as misformatted HTML. 21:09
moritz masak: there's a .DUMP method that helps to debug lazy lists; the branch extends it. 21:10
japhb masak: Makes DUMP() handle a lot more cases, including arbitrary object classes, native primitives, native non-primitives (Coro, for example), circular data structures, aliased objects, etc. 21:11
labster r: say ('/foo/bar/baz/' ~~ m/^ $<dirname>=(.* '/'+)? $<basename>=(<-[\/]>+) '/'* $ /)<dirname>.perl #but this is dirname with two items still
p6eval rakudo 99e27f: OUTPUT«(Match.new(orig => "/foo/bar/baz/", from => 0, to => 13, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "/foo/bar/baz/", from => 0, to => 9, ast => Any, list => ().list, hash => EnumMap.new()))␤»
timotimo $<values>=[ 0 | <[1..9]><[0..9]> ** 0..2 ] ** 4 % '.' - this part gives me this $/.perl: Match.new(orig => "::ffff:192.168.255.256", from => 7, to => 22, ast => Any, list => ().list, hash => EnumMap.new())
why is the list ().list and not [192, 168, 255, 256]? 21:12
masak japhb: sounds great. you have my lack of objection to merge. :)
timotimo: because List != Array ?
timotimo okay, then why isn't it (192, 168, 255, 256).list? 21:13
oooh, i did $<values>.list>>.Str and got the values i wanted out of it 21:14
moritz timotimo: becaues you don't have any positional captures in the regex that would produce values in .list
maybe try ( ) instead [ ] around the RHS?
dalek Heuristic branch merge: pushed 31 commits to rakudo/nom by japhb 21:15
japhb_ masak: Your explicit lack of objection, plus everyone else just plain not objecting means it's now merged. :-) 21:17
masak japhb_: I'll be around, providing more lack of services, should you need them. 21:18
japhb_ EXCELLENT.
I feel wonderfully underserved.
masak I live to not serve.
21:19 dmol left
japhb_ BTW, current (literal and native primitive only) tests are in t/02-rakudo/dump.t, should anyone wish to engage in the previously mentioned code-for-failing-tests transaction. 21:20
timotimo moritz: thanks for the suggestion the () did it :) 21:27
21:37 araujo joined, araujo left, araujo joined 21:42 erkan left
timotimo is there a good reason to not call >>. "double dash dot"? 21:43
tadzik > is not a dash, ^ is 21:44
timotimo oh? 21:45
tadzik or so I think
timotimo well, technically i know - as dash
huf ^ is hat
> is waka
tadzik > > eh eh
timotimo hehe.
this is africa~
masak ^ is a caret, I think. 21:46
huf if you want to be posh, sure
masak you can call it a hat, if you want :)
japhb_ caret is correct, and yes, I've heard hat. 21:48
timotimo, - is a hyphen. The thing you get from &mdash; in HTML is a dash.
In pure ASCII, a dash is generally rendered -- 21:49
huf and yet, the lyrics go "kill dash nine"
everything is everything
21:50 PacoAir left
japhb_ huf, I will freely admit that when speaking shell, people generally use 'dash' when 'hyphen' is correct; though I suppose you could see - as being an n-dash (narrow or 'n'-width dash) 21:50
I say 'hippity-hop' for http://
and 'dub dub dub' for 'www.' 21:51
Just easier that way. :-)
timotimo huf: yes, kill dash nine is how i remember 15 from 9.
masak 'hippity-hop'. how lovely.
masak adopts that
huf :) 21:52
timotimo i like hippity-hop dub dub dub 21:53
22:00 bluescreen10 left
tadzik I thought ^ is a dash because is't like "daszek" 22:02
yolo: "daszek"?
er
yoleaux: "daszek"?
ah, * 22:03
japhb_ * is 'asterisk' or colloquially 'splat'
tadzik masak: why not "hot potato", and "hot potatoes" for https? :)
japhb_ tadzik, would you include the :// in that definition? 22:04
masak tadzik: because 'hippity-hop dub dub dub' :)
tadzik japhb_: I don't know :// 22:06
and hippity-hops :P
time to sleep & g'night 22:07
japhb_ tadzik, g'night!
masak 'night, tadziku 22:08
felher o/ tadzik
22:12 erkan joined, erkan left, erkan joined 22:15 rindolf left 22:18 census left 22:20 skids joined 22:25 census joined
japhb_ .mangle "This is a test." 22:27
yoleaux "Thank you, Director . "
japhb_ OK, that qualifies, all right.
22:27 tgt joined
japhb_ .privacy 22:32
yoleaux japhb_: This channel is public. When I am asked when I last saw you, I may repeat things you say and what time it was when you said them.
masak .mangle "Good night, #perl6." 22:33
yoleaux " Good night # perl6 . " 22:34
masak 'night, #perl6 :)
22:34 census left 22:36 census joined
japhb 'night, masak 22:39
pmichaud what's the story with DUMP, ooc? 22:52
japhb pmichaud, story in what sense?
pmichaud I didn't mind so much when it was in a branch, but moving it to nom means a lot of my debugging tools for List stuff has now gone away.
japhb pmichaud, there should be nothing that you used to have that is not there now -- it was intended as purely an expansion of power. 22:53
What is missing?
pmichaud I didn't see the WHERE stuff in the initial review... but now I see it.
I think I would (have) prefer(red) to have a new DUMP method stream done, rather than modify the existing one. None of it is spec anyway (which is why it's all-caps) 22:54
i.e., could have a DUMP2 or something like that sit alongside the existing DUMP chain, then migrate over when the new one is complete 22:55
japhb Yeah, the major thing that changed there is that instead of handing you arbitrary (signed decimal!) addresses, it keeps a map of short integers to addresses, and uses them to notice when something has gone circular (like List <-> ListIter), as well as to produce easy to read, repeatable, testable output
22:55 tgt left
japhb pmichaud, I did not create something new because A) it had bitrotted a bit, and B) if it was a pure enhancemet, I didn't see the issue. 22:56
I feel like I missed something that you want, but don't have now, and I don't know what it is.
pmichaud it's the same sort of reason that masak++ doesn't want us moving from RT to github issues :) 22:57
japhb Ah! Familiarity with existing output!
pmichaud whenever I get back to working on list stuff, I'll now have to figure out how the new one works, instead of being able to rely on what I knew of the old one.
22:57 pupoque left
pmichaud but, no problem, I can do that. 22:57
japhb I think you'll find it pretty similar to the old one -- just with added smarts.
pmichaud yeah, I'll just be prepared that I may have some additional re-acquaintance time. 22:58
22:58 tgt joined
pmichaud I also wonder if the better pattern would be to have something that can do dump by pure external inspection, rather than having to instrument all of the base classes with it. 22:59
(I built things using a DUMP method in the base classes because the introspection facilities weren't all present at the time I started.) 23:00
japhb pmichaud, next time you build, try: perl6 -e 'my $map := (1 ... *).map: 2 + *; say DUMP($map);' I would be very interested to know if you find this problematic.
(and exactly what bothers you)
pmichaud, it's doing a lot of introspection now.
pmichaud I'm only bothered by having things shift out from under me unexpectedly. I can't say whether the new one will be adequate or not (and can't say anytime soon) 23:01
japhb Only six classes have non-trivial changes: Mu (which does almost all the work), Parcel (circularity saw, though I may have made that unneeded very recently), List, ListIter, MapIter, GatherIter (to give more readable output than default introspection).
The other classes (Bool, Str, Numeric, as I recall), are there to turn *off* the introspection, because otherwise you get deep details about the implementation of a number that you don't care about most of the time. 23:02
pmichaud as I said, it's much like masak++ and RT vs GitHub issues. 23:03
japhb I totally get that.
pmichaud I'm not saying the implementation is bad or inadequate.
japhb I feel bad that I moved your cheese; I wasn't intending to. :-)
pmichaud I'm saying don't feel bad and keep moving.
japhb roger that. 23:04
pmichaud I definitely don't want progress blocking on me these days :)
and what you're describing sounds like very good progress.
japhb I can say that I learned *a lot* while writing it. :-)
pmichaud if I run into issues, I'm sure we can figure out ways to deal with them.
japhb Do let me know, and I'll try to help as well. 23:05
pmichaud look for me again in a few weeks :)
japhb :-)
[Coke] pmichaud: ~~ 23:22
labster pmichaud: Since you replied to the bug masak reported for me, can you tell me if this works according to spec? 23:24
r: '/foo/bar/baz/' ~~ m/^ $<dirname>=(.* '/'+)? $<basename>=(<-[\/]>+) '/'* $ /; say $/<dirname>.WHAT; say $/<basename>.WHAT
p6eval rakudo 604986: OUTPUT«(Parcel)␤(Match)␤»
labster and $/<dirname>.elems there is 2. If there's backtracking, is it supposed to provide all the things it tried, or only the group that makes the whole match succeed? 23:26
japhb r: '/foo/bar/baz/' ~~ m/^ $<dirname>=(.* '/'+)? $<basename>=(<-[\/]>+) '/'* $ /; say DUMP($<dirname>); 23:30
p6eval rakudo 604986: OUTPUT«No such method 'package' for invocant of type 'NQPAttribute'␤ in block at src/gen/CORE.setting:939␤ in method reify at src/gen/CORE.setting:5723␤ in method reify at src/gen/CORE.setting:5618␤ in method gimme at src/gen/CORE.setting:6039␤ in method eager at sr…
japhb Ooooh,
There's a whole world I didn't even start on: purely NQP objects 23:31
japhb wonders what introspection is available at that level of object attribute
labster glad to be of service :)
23:34 DarthGandalf left 23:35 DarthGandalf joined
dalek kudo/nom: 3ff2762 | coke++ | tools/autounfudge.pl:
document --jobs option
23:38
23:40 huf left 23:57 Chillance left