Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-04-04

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:05 census_ joined #perl6
00:17 census joined #perl6
00:34 dalek perl6-examples: 5f8c099 | grondilu++ | rosalind/grondilu-mmch.pl:
00:34 dalek perl6-examples: Update grondilu-mmch.pl
00:34 dalek perl6-examples:
00:34 dalek perl6-examples: style
00:34 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/5f8c099470
00:58 awwaiid joined #perl6
01:23 gtodd left #perl6
01:42 colomon joined #perl6
01:44 FROGGS_ joined #perl6
01:46 drbean joined #perl6
01:52 anant joined #perl6
01:57 orafu joined #perl6
02:15 awwaiid joined #perl6
02:34 dalek rakudo/extend-dump: 09a04e3 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
02:34 dalek rakudo/extend-dump: Remove some commented-out debug output and an unneeded trailing semicolon from DUMP code in Mu
02:34 dalek rakudo/extend-dump: review: https://github.com/rakudo/rakudo/commit/09a04e318d
02:34 dalek rakudo/extend-dump: 92f888a | (Geoffrey Broadwell)++ | src/core/Mu.pm:
02:34 dalek rakudo/extend-dump: 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:34 dalek rakudo/extend-dump: review: https://github.com/rakudo/rakudo/commit/92f888a874
02:39 xenoterracide joined #perl6
02:40 fgomez joined #perl6
02:52 dalek rakudo/extend-dump: c134bd1 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
02:52 dalek rakudo/extend-dump: Don't DUMP defined booleans as =Bool<obj_num> -- we expect them to be singletons, but want to see their value anyway.
02:52 dalek rakudo/extend-dump: review: https://github.com/rakudo/rakudo/commit/c134bd1f30
02:53 spider-mario joined #perl6
02:53 leprevost joined #perl6
02:55 orafu joined #perl6
02:56 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)»
02:57 diakopter *sobs*
02:59 preflex_ joined #perl6
03:05 toddr_ joined #perl6
03:15 census joined #perl6
04:14 pnu_ joined #perl6
04:15 takesako___ joined #perl6
04:16 sdgvf_ joined #perl6
04:16 LoRe joined #perl6
04:18 cooper joined #perl6
04:19 kurahaupo joined #perl6
04:32 japhb diakopter, why do you sob and cry?
04:33 japhb The branch isn't merged yet ...
04:34 diakopter hee
04:34 diakopter so what does it do in your branch
04:38 japhb_ Oh dear lord.  Exponential backslash explosion.
04:39 diakopter geometric, probably
04:40 japhb_ Hmmm.
04:41 diakopter r: $_.=DUMP
04:41 p6eval rakudo ffe441:  ( no output )
04:41 diakopter r: ($_.=DUMP for ^10)
04:41 perigrin joined #perl6
04:41 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 diakopter if I can do it once, why can't I do it tensies
04:42 japhb_ diakopter, same difference for this case.
04:42 japhb_ (re: geometric)
04:42 diakopter i c
04:43 diakopter r: $_.=DUMP; $_.=DUMP
04:43 p6eval rakudo ffe441:  ( no output )
04:43 diakopter r: $_.=DUMP; $_.=DUMP; $_.=DUMP
04:43 p6eval rakudo ffe441:  ( no output )
04:43 diakopter go dump yourself!
04:44 geekosaur r: ($_.=DUMP for ^2)
04:44 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…
04:45 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:45 japhb_ So it's a DIHWIDT, I think.
04:45 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…
04:45 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):175339200) (/tmp/_cVmIqkvTp:1)␤called from Sub '' pc 274014 (src/gen/COR…
04:45 diakopter _)_)
04:46 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/…
04:48 diakopter oh.
04:48 diakopter rn: say (($_ := $_.perl) for ^30)
04:48 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␤»
04:49 diakopter *headdesk*
04:50 diakopter rn: say (($_ := $_.perl) for ^30).WHAT
04:50 p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«(List)␤»
04:50 diakopter wtf
04:51 diakopter ok, I'm completely missing something [x12] here
04:56 raiph joined #perl6
05:20 rindolf joined #perl6
05:30 SamuraiJack joined #perl6
05:32 betterwo1ld joined #perl6
05:33 snuffles_ joined #perl6
05:35 lestaway joined #perl6
05:36 nyuszika1 joined #perl6
05:38 yves_ joined #perl6
05:41 Bucciarati joined #perl6
05:47 ikrs joined #perl6
05:50 dmol joined #perl6
05:57 tadzik FROGGS_: oh! http://www.quickmeme.com/meme/3tooqv/
06:12 domidumont joined #perl6
06:18 DarthGandalf joined #perl6
06:30 raiph joined #perl6
06:34 rindolf joined #perl6
06:40 frdmn joined #perl6
06:42 domidumont joined #perl6
06:42 rindolf joined #perl6
06:44 awwaiid joined #perl6
06:56 rindolf joined #perl6
06:58 kaleem joined #perl6
07:03 kingbeast joined #perl6
07:03 anant joined #perl6
07:07 rindolf joined #perl6
07:07 domidumont joined #perl6
07:16 rindolf joined #perl6
07:20 FROGGS joined #perl6
07:21 Rix joined #perl6
07:28 wtw_ joined #perl6
07:34 x2 joined #perl6
07:52 fhelmberger joined #perl6
07:53 shamendra joined #perl6
07:56 sqirrel joined #perl6
08:04 SamuraiJack_ joined #perl6
08:04 daxim joined #perl6
08:06 _ilbot joined #perl6
08:06 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend! | YAPC::NA talk submissions due end of Month. Have you submitted your talk?
08:08 anant joined #perl6
08:14 atroxaper joined #perl6
08:16 atroxaper left #perl6
08:16 atroxaper joined #perl6
08:19 masak good forenoon, #perl6
08:20 moritz good forenoon, masak
08:20 timotimo oh, it's the two people who are almost the same person!
08:20 moritz does anybody happen to have a copy of the HPMoR .epub somewhere?
08:21 moritz I can't download it from the source, I get a connection time out
08:23 dakkar joined #perl6
08:23 FROGGS moritz: no, I'm sorry
08:23 FROGGS morning @all
08:24 * FROGGS .oO( undeclared variable @all used at morning @all⏏ )
08:27 masak you can't just do an ∀ quantification without specifying your universe of discourse -- that's not well-founded!
08:27 masak :)
08:30 FROGGS bah :P
08:32 moritz open source FTW. I found the code on github that generates the .epub file
08:32 moritz I had to fake up the missing cover image
08:32 moritz but it did generate an .epub file for me
08:33 masak \o/
08:35 moritz I've put it on http://moritz.faui2k3.org/tmp/rationality.epub in case anybody else wants/needs it
08:37 tgt joined #perl6
08:50 * labster downloads it, puts it in the fanfic folder, loads it up on the epub->web interface he wrote.
08:50 Gothmog_ joined #perl6
08:51 moritz labster: you can read it on the web at http://hpmor.com/
08:52 labster well yes, naturally, but it's another test for my own software
08:53 masak is it in Perl 6? :)
08:53 Bzek joined #perl6
08:55 Bucciarati joined #perl6
08:55 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
09:01 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:02 masak labster++ # I want to model you
09:05 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:07 labster 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
09:09 labster not big itself, but it's a wrapper around 7z.so which is ~2.3M compiled here.
09:10 FROGGS I believe "big" is more about the needed functions
09:10 timotimo oh, yes, i did mean that
09:11 timotimo especially how easily it translates to zavolaj. i don't really know much about how it handles buffers and all that
09:11 masak labster: heh :)
09:11 masak labster: feel free to write your own "Bard" blog post. ;)
09:12 drbean joined #perl6
09:15 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:16 atroxaper left #perl6
09:17 timotimo oh? lib7z also does all the other formats that the 7z utility will do?
09:18 timotimo that's interesting
09:19 labster lib7zip: a library using 7z.dll to handle different archive types: http://code.google.com/p/lib7zip/source/browse/
09:20 timotimo that's neat
09:20 timotimo oh, it's c++
09:21 timotimo i don't think zavolaj does c++
09:22 arnsholt Zavolaj can't do C++, really
09:22 arnsholt Are you familiar with name mangling?
09:23 labster .mangle name
09:23 yoleaux Name
09:24 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:25 arnsholt 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:26 arnsholt 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
09:27 arnsholt 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 arnsholt And of course, the reason Zavolaj won't and can't interface with C++ libraries (and why most shared libraries expose a C interface)
09:30 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 #perl6
09:39 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:41 atroxaper I think, bar. Isn't it?
09:43 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 daxim should be 'bar' only after an explicit resolve/cleanup call
09:45 atroxaper perl6: say 3;
09:45 p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«3␤»
09:47 Heather joined #perl6
09:48 Heather Hello !
09:48 labster o/
09:48 atroxaper Hello !
09:48 Heather allowed unicode characters in F# compiler inspired by perl6 XD
09:49 Heather blogged here -> http://heather.cynede.net/ =)
09:55 masak atroxaper: hi! welcome.
09:56 masak Heather! \o/
09:57 Heather masak hi!
09:57 atroxaper masak: Hello. Many thanks!
09:58 jlaire joined #perl6
09:58 atroxaper masak, you have a good avatar ;)
09:59 erkan joined #perl6
09:59 erkan joined #perl6
09:59 Heather agreed
10:00 labster Hi Heather.  Why "akuma"?
10:01 masak atroxaper: oh, the picture with the towel?
10:02 atroxaper Yes. In small size you looks like perl-terrorist xD
10:03 masak it's unusual for me to sport towel headwear. but that was a very memorable weekend.
10:03 labster daxim: naturally, you choose the hardest option for me, off to edit File::Spec now. :)
10:04 jlaire joined #perl6
10:04 atroxaper labster: gl hf!
10:10 atroxaper Heather, i think your Beauty-and-Freedom Style looks like python.
10:10 Heather atroxaper I hate python -_-'
10:10 Heather really
10:11 atroxaper That's why I was surprised.
10:11 Heather python is creepy, take a look: str(Popen(x.split(' '), stdout=PIPE).communicate()[0]) - what do you think about that?
10:12 Heather pretty understandable but I still can't say how does it work
10:13 Heather atroxaper and I hate haskell... because I always becoming nervous when trying use / learn it
10:14 Heather atroxaper I think ML style syntax is my favorite.
10:14 jlaire joined #perl6
10:15 anant joined #perl6
10:15 atroxaper Sorry but i have remembered cool picture: http://2lx.ru/uploads/2011/01/pex_d4cef951.jpg
10:16 Heather atroxaper well... I'm neither of them, I hate python :D
10:17 Heather 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 ?
10:19 Heather 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?
10:19 Heather atroxaper ok, back to topic...
10:19 Heather atroxaper I think we need more parrot developers...
10:19 Heather much much more
10:20 Heather billions of them
10:21 tadzik uh
10:21 Heather tadzik hi.
10:21 shamen joined #perl6
10:21 masak tadzik! \o/
10:21 Heather I can't say about language but perl6 is my favorite
10:21 Heather irc channel
10:21 tadzik Heather! masak!
10:22 masak Heather: in Soviet Russia, the #perl6 IRC channel favorites YOU!
10:23 Heather =)
10:24 atroxaper Is it right that racudo works like: (perl6+NPQ)->(QAST)->(PIR)->calc. Or that chain is shorter?
10:25 tadzik http://www.fileformat.info/info/unicode/block/miscellaneous_symbols_and_pictographs/list.htm is so crazy I don't even
10:25 masak atroxaper: it's "Rakudo". and yes, that looks about right.
10:26 Heather tadzik reading my blog? :)
10:26 atroxaper Is Soviet Russia is synonym ща chuck norris?)) I'm from USSR)
10:26 tadzik Heather: not right now, no. Why?
10:27 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? :)
10:27 atroxaper Sorry. Yes "rakudo". It was my typo
10:27 jlaire_ joined #perl6
10:27 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 masak the Unicode consortium are all right, but boy do they not know when to stop.
10:29 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.
10:29 masak :P
10:29 tadzik guise, wat r u doing
10:29 tadzik guise, stahp
10:30 masak nothing can undo the damage already caused by GREEN BOOK (U+1F4D7), BLUE BOOK (U+1F4D8) and ORANGE BOOK (U+1F4D9)
10:36 Heather I failed in colorblindness test :(
10:37 atroxaper And now all of us looks on the pictures!
10:37 Heather time for cats?
10:38 bbkr ANGER SYMBOL (U+1F4A2) :)
10:39 Heather bbkr link please )
10:39 bbkr http://www.fileformat.info/info/unicode/char/1f4a2/index.htm
10:39 Heather bbkr COOL !
10:40 bbkr perfect for replacing X:: in exceptions
10:40 Heather ++
10:41 atroxaper Yes! It is not symmetric. It kills my perfectionism!
10:41 Heather bbkr I want water drop symbol also for ... warning maybe )
10:43 tadzik atroxaper: that's the point
10:43 tadzik that's why it's the anger symbol
10:43 tadzik should be comic sans too
10:44 timotimo m)
10:46 Heather As I said it's all about manga!
10:46 tgt joined #perl6
10:49 try joined #perl6
10:50 timotimo oh, neat, comb ..., :match gives a list of match objects for the regex
10:50 jlaire joined #perl6
10:54 Heather ♥
10:56 woolfy joined #perl6
10:59 xinming joined #perl6
11:35 bbkr joined #perl6
11:47 lizmat rn: sub a () { temp $foo= 1 }
11:47 p6eval rakudo ffe441: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$foo' is not declared�at /tmp/W4ZYkaPQwl:1�------> [32msub a () { temp $foo[33m�[31m= 1 }[0m�    expecting any of:�        postfix�»
11:47 p6eval ..niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![31m===[0m��Variable $foo is not predeclared at /tmp/G9nMGf44gm line 1:�------> [32msub a () { temp [33m�[31m$foo= 1 }[0m��Potential difficulties:�  &a is declared but not used at /tmp/G9nMGf44gm line 1:�------> [32msub a [33m�[3…
11:48 lizmat rn: sub a () { temp $foo= 1 } a
11:48 p6eval rakudo ffe441: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$foo' is not declared�at /tmp/kqoTdoNrdJ:1�------> [32msub a () { temp $foo[33m�[31m= 1 } a[0m�    expecting any of:�        postfix�»
11:48 p6eval ..niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![31m===[0m��Variable $foo is not predeclared at /tmp/jAEWsJ5oZJ line 1:�------> [32msub a () { temp [33m�[31m$foo= 1 } a[0m��Strange text after block (missing comma, semicolon, comment marker?) at /tmp/jAEWsJ5oZJ line 1:�------> [3…
11:48 lizmat rn: sub a () { temp $foo= 1 }; a
11:48 p6eval niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![31m===[0m��Variable $foo is not predeclared at /tmp/B1JRbSTACF line 1:�------> [32msub a () { temp [33m�[31m$foo= 1 }; a[0m��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) �  a…
11:48 p6eval ..rakudo ffe441: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$foo' is not declared�at /tmp/Ulv4cYnzWZ:1�------> [32msub a () { temp $foo[33m�[31m= 1 }; a[0m�    expecting any of:�        postfix�»
11:49 lizmat very much unlike local() in p5 then
11:49 Heather lizmat temp?
11:50 * lizmat is trying to make sense of S02 and is halfway
11:50 Heather lizmat spec?
11:51 lizmat S02L2889
11:54 xinming joined #perl6
11:55 atroxaper joined #perl6
12:05 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:06 lizmat rn: sub a () { temp $foo= 1 }; a
12:06 p6eval niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![31m===[0m��Variable $foo is not predeclared at /tmp/ci4f3I4wFs line 1:�------> [32msub a () { temp [33m�[31m$foo= 1 }; a[0m��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) �  a…
12:06 p6eval ..rakudo ffe441: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$foo' is not declared�at /tmp/qaQZt3Tsv2:1�------> [32msub a () { temp $foo[33m�[31m= 1 }; a[0m�    expecting any of:�        postfix�»
12:07 lizmat so temp is not a declaration?
12:07 lizmat not like my or our ?
12:08 masak ding! correct.
12:09 * lizmat attempt to adjust mental image
12:09 lizmat *s
12:09 masak S03 classifies them as 'named unary operators', not as declarators.
12:09 masak eh, "them" being 'temp' and 'let'
12:11 timotimo perl6 has let?
12:11 masak it's like 'temp', but it rolls back on failure.
12:11 timotimo neat
12:11 timotimo and temp rolls back when the scope is left, right?
12:12 xinming joined #perl6
12:12 masak right.
12:12 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␤␤»
12:12 timotimo so an exception thrown in let will not cause the exception to propagate outwards, just to let the assignment fail?
12:12 timotimo whoops
12:12 masak r: my $a = 42; sub foo { temp $a = 5; say $a; fail }; foo or say "oh well"; say $a
12:12 p6eval rakudo ffe441: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    or used at line 1��»
12:12 masak r: my $a = 42; sub foo { temp $a = 5; say $a; fail }; foo() or say "oh well"; say $a
12:12 p6eval rakudo ffe441: OUTPUT«5␤oh well␤42␤»
12:13 masak r: my $a = 42; sub foo { let $a = 5; say $a; fail }; foo() or say "oh well"; say $a
12:13 p6eval rakudo ffe441: OUTPUT«5␤oh well␤42␤»
12:13 masak r: my $a = 42; sub foo { let $a = 5; say $a }; foo() or say "oh well"; say $a
12:13 p6eval rakudo ffe441: OUTPUT«5␤5␤»
12:13 masak \o/
12:13 timotimo oh, that's neat to have!
12:13 masak I think 'let' will be neatest to have in conjunction with code inside grammars.
12:13 timotimo ooooooooooooooh
12:14 masak it's like a speculative assignment, which auto-unsets on backtracking.
12:17 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.
12:18 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:19 kshamen joined #perl6
12:22 lizmat rn: say $?VM
12:22 p6eval rakudo ffe441: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$?VM' is not declared�at /tmp/occV6E7Hdp:1�------> [32msay $?VM[33m�[31m<EOL>[0m�    expecting any of:�        postfix�»
12:22 p6eval ..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…
12:22 lizmat I guess a matter of NYI, right?
12:24 anant rn: say $*VM
12:24 p6eval niecza v24-35-g5c06e28: OUTPUT«(Any)␤»
12:24 p6eval ..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…
12:25 lizmat so, does that mean S02L3014 is in error ?
12:26 anant don't know .. I just remembered this discussion: http://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
12:27 lizmat (ack)
12:28 tadzik we need a bot
12:28 tadzik written in Perl 6
12:28 anant r: my @a = (1.. 10); say 'match' if 4 ~~ @a;
12:28 p6eval rakudo ffe441:  ( no output )
12:28 anant r: my $a = (1 .. 10); say 'match' if 4 ~~ $a;
12:28 p6eval rakudo ffe441: OUTPUT«match␤»
12:28 anant why?
12:29 tadzik r: my @a = (1..10); my $b = (1..10); @a.perl.say; $b.perl.say
12:29 p6eval rakudo ffe441: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤1..10␤»
12:29 tadzik @a does not have 4 elements, but 4 is in range 1..10
12:30 tadzik when you assign a range to an array container, it becomes a list of elements
12:30 masak anant: smartmatching against an array != smartmatching against a range
12:30 masak anant: see the table in S03.
12:36 anant ok. thanks! tadzik++ masak++
12:36 Heather Heather++
12:37 * Heather is egoist
12:40 masak Heather: karma bots usually don't count self-incrementing.
12:43 Heather damn it
12:45 Heather r: say "Heather++"
12:45 p6eval rakudo ffe441: OUTPUT«Heather++␤»
12:46 masak heh :)
12:46 masak Heather++
12:47 Heather masak++
12:47 xinming joined #perl6
12:48 Heather masak can I check someones karma?
12:48 tadzik karma Heather
12:48 tadzik :(
12:48 tgt joined #perl6
12:49 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
12:51 Heather daxim well it's boring motivation
12:54 Heather time to run for me, see you tomorrow maybe
13:00 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:01 p6eval rakudo ffe441: OUTPUT«False␤»
13:02 masak r: say (1, 2, 3, 4, 5) ~~ (1, *, *, *, 5)
13:02 p6eval rakudo ffe441: OUTPUT«False␤»
13:02 masak huh.
13:02 masak ISTR there was something about whatevers there...
13:02 anant r: my @a = (1..10); my @b = (91..100); say 'match' if @a ~~ @b
13:02 p6eval rakudo ffe441:  ( no output )
13:02 masak (not that I much miss that feature, but still)
13:02 anant r: my @a = (1..10); my @b = (1..10); say 'match' if @a ~~ @b
13:02 p6eval rakudo ffe441: OUTPUT«match␤»
13:03 FROGGS .karma Heather
13:03 FROGGS .help
13:03 yoleaux FROGGS: I'm yoleaux. Type .commands to see what I can do, or see http://dpk.io/yoleaux for a quick guide.
13:03 FROGGS .commands
13:03 yoleaux Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each.
13:03 FROGGS .commands services
13:03 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.
13:04 tadzik .meow
13:04 yoleaux http://edgecats.net/cats/boop_sg.gif
13:04 tadzik best bot ever
13:05 PacoAir joined #perl6
13:07 jnthn .moon
13:07 yoleaux Last Quarter (0.795)
13:08 masak yoleaux!
13:08 yoleaux masak!
13:08 masak \o/
13:08 masak .botsnack
13:08 yoleaux :D
13:08 masak :D
13:08 masak .ping
13:08 yoleaux There is no ping command; nor can this be construed as a response.
13:09 masak I see.
13:09 masak yoleaux: I *like* you.
13:09 jnthn ...
13:09 jnthn phew :)
13:09 masak .pick masak, moritz, mst
13:09 yoleaux moritz
13:09 masak dang. :)
13:09 jnthn .thesaurus thesaurus
13:10 yoleaux thesaurus — synonyms: dictionary, synonymicon
13:10 bluescreen10 joined #perl6
13:10 jnthn synonymicon :D
13:10 * masak is a synonymiconoclast
13:26 tadzik I don's see why one would name a dictionary after a dynosaur
13:26 PacoAir joined #perl6
13:27 ggoebel joined #perl6
13:29 PacoLinux joined #perl6
13:32 SamuraiJack joined #perl6
13:37 kaare_ joined #perl6
13:38 census joined #perl6
13:43 skids joined #perl6
13:48 jokar joined #perl6
13:49 bbkr_ joined #perl6
13:53 FROGGS jnthn: you had a chance to look at my comment? https://github.com/rakudo/rakudo/commit/ffe441fa9cccb550f21f65a0b5ecd602f226b166#commitcomment-2938579
13:54 FROGGS .help general
13:54 yoleaux FROGGS: Sorry, no help is available for general.
13:55 FROGGS .commands general
13:55 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.
13:55 FROGGS hmmm, somebody should add karmacounting :o)
13:59 colomon joined #perl6
13:59 masak .help buck
13:59 yoleaux Is it BUCK yet?
13:59 masak I... I don't know. you tell me.
13:59 arnsholt What happened to phenny?
14:01 tadzik she only lived once
14:02 masak classical rookie mistake.
14:04 colomon but... but... Ian Fleming told me you only live twice!
14:06 masak in retrospect, that may have been a slight exaggeration.
14:06 masak most people only live once.
14:06 masak some, not even once.
14:06 PacoLinux joined #perl6
14:07 masak (if those reincarnation fellas turn out to be right, I'll make sure to come back and let you know)
14:11 M_o_C joined #perl6
14:17 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 masak nice.
14:17 masak 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 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)
14:19 jnthn I know why the change helps, but it doesn't actually solve the underlying problem.
14:21 masak damn you architects with your underlying problems :P
14:22 drbean joined #perl6
14:25 FROGGS jnthn: oaky
14:25 anant joined #perl6
14:28 Psyche^ joined #perl6
14:31 drbean joined #perl6
14:39 raiph joined #perl6
14:39 atroxaper joined #perl6
14:44 spider-mario joined #perl6
14:54 awwaiid joined #perl6
14:57 census joined #perl6
15:17 colomon joined #perl6
15:23 colomon joined #perl6
15:35 anant joined #perl6
15:42 rindolf joined #perl6
15:45 pmichaud is anyone able to reach rakudo.org ?
15:46 xinming pmichaud: Down here.
15:46 spider-mario I can’t
15:46 frdmn joined #perl6
15:46 xinming I mean, I can't here
15:46 pmichaud okay, looks like my server's down for some reason.
15:46 spider-mario isup.me/rakudo.org
15:46 spider-mario I mean http://isup.me/rakudo.org
15:46 arnsholt pmichaud: mtr fails at a node belonging to defenderhosting.com
15:46 arnsholt From Norway
15:47 spider-mario same from France
15:49 jlaire joined #perl6
15:54 toddr joined #perl6
15:54 jlaire joined #perl6
15:55 colomon joined #perl6
16:03 FROGGS joined #perl6
16:15 FROGGS std: use v5; say "abc".ord("A")
16:15 p6eval std 86b102f: OUTPUT«ok 00:01 53m␤»
16:18 [Coke] .u dquo
16:18 yoleaux No characters found
16:19 pmichaud rakudo.org should be reachable again
16:19 [Coke] .u U+1234
16:19 yoleaux U+1234 ETHIOPIC SYLLABLE SEE [Lo] (ሴ)
16:21 [Coke] .u ⁂
16:21 yoleaux U+2042 ASTERISM [Po] (⁂)
16:21 [Coke] there's a hyperwhatever for you. :P
16:22 [Coke] .u U+2614
16:22 yoleaux U+2614 UMBRELLA WITH RAIN DROPS [So] (☔)
16:26 colomon that's what we need today, nothing but rain, rain, rain on I-75.
16:29 * colomon is wondering how a non-degenerate torus get singularities.... stupid $work
16:33 Chillance joined #perl6
16:35 * masak .oO( Obelism fell into three cauldrons of magic potion when he was a baby )
16:38 domidumont joined #perl6
16:38 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 colomon joined #perl6
16:39 * japhb_ is considering special casing "Integer", "String", and "Float", but that's really ucky, and non-portable.
16:50 colomon joined #perl6
16:50 * japhb_ listens intently to the sound of silence
16:53 [Coke] r: my int $x = 3; say $x.WHAT;
16:53 p6eval rakudo ffe441: OUTPUT«(Int)␤»
16:54 [Coke] r: my int $x = 3; say nqp::typeof($x);
16:54 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'␤»
16:54 [Coke] r: my int $x = 3; say nqp::typecheck($x);
16:54 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'␤»
16:55 [Coke] nqp: my $x := 3; say(nqp::typecheck($x));
16:55 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)␤»
16:55 [Coke] nqp: my $x := 3; say(nqp::isa($x,int));
16:55 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)␤»
16:55 [Coke] ok, I give up. ;)
16:57 atroxaper left #perl6
16:58 moritz nqp::istype iirc
16:59 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
17:05 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)»
17:05 diakopter should be only 2**19
17:06 diakopter +1
17:08 moritz japhb_: it seems that the "is something a primitive type" is the exact opposite of asking "is something a 6model object"?
17:09 moritz hm, not quite
17:10 timotimo is there some low hanging rakudo fruit i could sink my teeth into this fine evening?
17:10 SamuraiJack joined #perl6
17:11 jnthn joined #perl6
17:11 diakopter wb
17:12 masak jnthn! \o/
17:12 * jnthn ain't sure whether to blame screen or irssi...
17:12 japhb_ moritz, yeah, that tiny difference is the one I have to deal with.  :-)
17:14 * 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:14 jnthn Generally, stuff auto-boxes...
17:15 japhb_ my int $var; ... DUMP($var)
17:16 Ulti left #perl6
17:16 japhb_ In order to be able to show nulls, RPAs, and such, DUMP() has a *very* raw view of what it receives.
17:16 jnthn What's the signature of DUMP?
17:16 jnthn Oh...
17:16 jnthn Are you using the apture nqp:: ops?
17:16 japhb_ Right now the above would get you: Integer<1>(...)
17:16 jnthn *capture
17:17 japhb_ Yes, have to.
17:17 japhb_ (Well, as far as I understand things, anyway.)
17:17 jnthn You're aware there's a captureprimspec?
17:17 jnthn Or something like that...
17:17 japhb_ No I wasn't!
17:17 jnthn There is ;)
17:17 japhb_ Damn, I should have thought to look for more capture* ops, duh.
17:17 jnthn I'm pretty sure there is anyway...
17:18 jnthn As think I needed it for the multi-dispatcher...
17:18 japhb_ Ooh, 'git grep nqp::capture' turned up some interesting matches
17:18 japhb_ nqp::captureposprimspec
17:19 jnthn That one
17:19 japhb_ And there are others that I like for other nefarious purposes, like nqp::captureexistsnamed.  ;-)
17:19 japhb_ Thanks, jnthn++ !
17:30 anant joined #perl6
17:30 arnsholt japhb_: If it's any consolation, I'm hoping that RPAs will go away soon-ish =)
17:31 djanatyn joined #perl6
17:32 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:34 asogani joined #perl6
17:37 fgomez joined #perl6
17:37 djanatyn joined #perl6
17:46 japhb_ arnsholt, ah, good.  :-)
18:02 dalek perl6-roast-data: e45f765 | coke++ | / (3 files):
18:02 dalek perl6-roast-data: today (automated commit)
18:02 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/e45f765151
18:03 colomon joined #perl6
18:12 raiph https://speakerdeck.com/djerius/perl-and-perl-module-administration-in-the-modern-era # notes for tadzik et al
18:18 dvj joined #perl6
18:36 census joined #perl6
18:59 dalek roast: fdb3d68 | dagurval++ | S02-names-vars/perl.t:
18:59 dalek roast: Added test for Buf
18:59 dalek roast: review: https://github.com/perl6/roast/commit/fdb3d68eb2
19:05 [Coke] rpn: my Buf $a = "asdf".encode(); eval($a.perl).decode("ascii");
19:05 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…
19:05 p6eval ..rakudo ffe441:  ( no output )
19:05 p6eval ..pugs: OUTPUT«*** No such method in class Str: "&encode"␤    at /tmp/35cTcuyr1v line 1, column 8-28␤»
19:05 [Coke] rpn: my Buf $a = "asdf".encode(); say eval($a.perl).decode("ascii");
19:05 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…
19:05 p6eval ..pugs: OUTPUT«*** No such method in class Str: "&encode"␤    at /tmp/bm1eAaqyab line 1, column 8-28␤»
19:05 p6eval ..rakudo ffe441: OUTPUT«␤»
19:06 [Coke] is dagurval on #perl6
19:06 [Coke] ?
19:06 * dvj o/
19:06 dvj It's me
19:07 [Coke] looks like that test fails in rakudo, niecza, and pugs. Can you fudge it so it won't break the daily test run?
19:07 [Coke] (skip on niecza & pugs, todo on rakudo)
19:07 masak dvj: oh hai
19:07 dvj ok, I'll try :)
19:07 dvj masak: hello!
19:08 moritz r: my Buf $a = "asdf".encode(); say $a.perl
19:08 p6eval rakudo ffe441: OUTPUT«Buf.new()␤»
19:08 moritz oh, I see why that'd fail :-)
19:12 dvj should i fudge with "todo" on rakudo, and skip on pugs and niecza?
19:13 dvj (since rakudo doesn't "fail", bug gives wrong result)
19:13 [Coke] Yes. always use todo when possible.
19:14 [Coke] (otherwise makes it hard to know when we start passing.)
19:16 dalek roast: 8d535a2 | dagurval++ | S02-names-vars/perl.t:
19:16 dalek roast: fudge
19:16 dalek roast: review: https://github.com/perl6/roast/commit/8d535a24f4
19:17 [Coke] dvj++ #perfect.
19:18 dvj yay!
19:19 renormalist joined #perl6
19:21 M_o_C joined #perl6
19:27 johnjohn101 joined #perl6
19:28 moritz $ ./perl6 -e 'say eval("asdf".encode().perl).decode'
19:28 moritz asdf
19:29 moritz 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␤␤»
19:29 moritz and my commit fixes this one too :-)
19:30 moritz but the test still fails
19:30 moritz because asdf ne adsf :-)
19:31 moritz I'm going to fix the test too
19:31 dalek rakudo/nom: 983efea | moritz++ | src/Perl6/Actions.pm:
19:31 dalek rakudo/nom: make for-loops eager again
19:31 dalek rakudo/nom:
19:31 dalek rakudo/nom: lazy for-loops violated too many expectations, and I do not see the point
19:31 dalek rakudo/nom: in having it lazy, and then jumping through many hoops just to make it
19:31 dalek rakudo/nom: eager again in 98% of all cases.
19:31 dalek rakudo/nom: If you want a lazy loop, please use map.
19:31 [Coke] moritz++
19:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/983efea0bc
19:31 dalek rakudo/nom: 5871a49 | moritz++ | / (2 files):
19:31 dalek rakudo/nom: Merge branch 'nom' of git://github.com/rakudo/rakudo into nom
19:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5871a49d2d
19:31 dalek rakudo/nom: 9f98590 | moritz++ | src/core/Any.pm:
19:31 dalek rakudo/nom: give sub item an explicit proto
19:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f9859059f
19:31 * [Coke] bets moritz didn't mean to do that!
19:31 dalek roast: ea0bc1d | moritz++ | S02-names-vars/perl.t:
19:31 dalek roast: fix Buf.perl test, and unfudge for rakudo
19:31 dalek roast: review: https://github.com/perl6/roast/commit/ea0bc1db4d
19:32 PerlJam moritz++
19:32 tadzik moritz++
19:32 PerlJam [Coke]: there's always a little chaos when you're making progress  :)
19:35 moritz forgiveness > permission
19:39 masak moritz++ # eager for
19:40 masak now I don't have to hate the "Cannot return from already returned-from routine anymore" :D
19:40 masak s/ anymore"/" error message anymore/
19:42 timotimo bah
19:42 timotimo a parse is "ok" without perl6-debug, but "not ok" with perl6-debug
19:42 timotimo (relating to an ast, it seems)
19:47 japhb moritz, is it possible to specify 'lazy for' and have it work?
19:47 [Coke] p: say say say "what you want?"
19:47 p6eval pugs: OUTPUT«what you want?␤1␤1␤»
19:48 moritz japhb: not yet, but it's certainly possible to make it work
19:49 moritz at least if me make 'lazy' a statement prefix
19:49 moritz r: say lazy 1
19:49 p6eval rakudo ffe441: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    lazy used at line 1��»
19:49 moritz which it is, in STD.pm6
19:50 johnjohn101 left #perl6
19:53 * moritz tests a patch which does that
19:53 moritz http://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:54 [Coke] "
19:54 * [Coke] imagines that would go over well with this crowd.
19:55 asogani joined #perl6
19:55 * moritz looks at jnthn, masak and tadzik
19:56 japhb [Coke], that's pretty awesome.  :-)
19:56 [Coke] it's a choose your own adventure RPG game, to start with.
19:56 asogani_ joined #perl6
19:57 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:57 japhb Depressing, that.
19:58 * tadzik looks back at moritz
19:59 tadzik lazy for, eh?
20:00 pmichaud good afternoon, #perl6
20:00 tadzik Maybe I'm missing something, but I don't see where you'd want a lazy for
20:00 tadzik good evening pmichaud
20:00 moritz tadzik: and dirty words in Czech
20:00 tadzik oh, I don't know those :)
20:00 moritz good pm, pm
20:00 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:00 jnthn Dirty words in Czech? Hm, I know some Slovak ones...
20:00 jnthn tadzik: hahaha!
20:01 jnthn o/ pmichaud
20:01 japhb o/ pmichaud
20:01 masak o/ pmichaud
20:02 pmichaud o/ self
20:05 woolfy left #perl6
20:06 rindolf joined #perl6
20:06 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 pupoque joined #perl6
20:06 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:06 p6eval rakudo ffe441: OUTPUT«12345␤»
20:07 japhb_ r: sub foo(|) { my Mu $arg := nqp::captureposarg(nqp::usecapture(), 0); say nqp::p6box_s($arg); }; my str $s = "a string"; foo($s);
20:07 p6eval rakudo ffe441: OUTPUT«a string␤»
20:07 japhb_ OK, so why the funny business for int's, jnthn?  :-)
20:07 * japhb_ is trying to imagine where the repr_unbox_int is happening up there.
20:08 japhb_ 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);
20:08 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␤␤»
20:08 japhb_ *sigh*
20:08 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?
20:10 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:10 jnthn None of them woulda worked out for you on the JVM.
20:10 japhb Oh, interesting.
20:10 japhb OK, fair enough.
20:11 jnthn Or all of them.
20:11 japhb Getting DUMP to work on the JVM is going to be very enlightening.  :-)
20:11 jnthn The 6model stuff very clearly separates coercion (a HLL thing) from boxing/unboxing (a REPR thing)
20:11 jnthn Parrot's vtables confuse/conflate the two.
20:12 japhb nodnod
20:12 jnthn captureposarg on the JVM will, iirc, whine if you use the incorrect op
20:12 jnthn On Parrot it tries to coerce it, but probably winds up coercing it to a Parrot Integer or so.
20:13 timotimo jnthn: any clue about this? 'make' seems to not work in perl6-debugger
20:13 jnthn Well, box...
20:13 jnthn timotimo: perl6-debugger?
20:13 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.
20:14 jnthn 'cus Perl 6 overrides the boxing operations for QAST::Compiler with its own idea of how boxing works.
20:16 japhb OK, I'll try it both ways and check for sure.  :-)
20:17 timotimo jnthn: indeed.
20:18 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 #perl6
20:20 timotimo i was accessing an .ast from a submatch and in the debugger i get "invalid use of thingie in numeric context"
20:20 timotimo or something
20:21 timotimo (but without the debugger i get a proper value there)
20:21 timotimo so maybe "make" isn't working correctly?
20:22 timotimo hm. inside a rule, there should be backtracking, no?
20:22 kurahaupo joined #perl6
20:22 moritz except if stuff forces backtracking
20:22 moritz like minimal quantifiers (.+?)
20:23 timotimo you mean "forbids", no?
20:23 moritz no
20:23 timotimo oh, i see
20:23 timotimo i guess i'll just quickly paste my stuff
20:24 timotimo http://paste.ee/p/TmPMu - i'm doing ipv6 grammar just for practice and learning
20:25 timotimo 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 timotimo maybe i need a negative lookahead for "." in the ipv6 thing.
20:26 pmichaud rule implies token implies no backtracking
20:26 timotimo oooh!
20:27 dalek rakudo/extend-dump: 1d11ea8 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
20:27 dalek rakudo/extend-dump: DUMP() native primitive types
20:27 dalek rakudo/extend-dump: review: https://github.com/rakudo/rakudo/commit/1d11ea8291
20:27 timotimo oh yes, now it backtracks lots! :)
20:28 pmichaud you can use ! to force backtracking, though.
20:29 pmichaud 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 )
20:29 pmichaud japhb: augment can be your friend :-)
20:32 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:32 timotimo can i write <foo>! and it will backtrack over the invocation of <foo> if needed?
20:32 japhb augment sure was a help when developing Str.Numeric though ....
20:32 pmichaud timotimo: it's a modifier, like ?
20:33 pmichaud so yes,  <foo>!  means we can backtrack over <foo>
20:34 pmichaud oh, wait, it's :!
20:34 pmichaud as in   <foo>:!
20:34 pmichaud 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.
20:37 dalek rakudo/extend-dump: 76e1719 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
20:37 dalek rakudo/extend-dump: The previous commit's native primitive DUMP handling doesn't need the p6box_* operations
20:37 dalek rakudo/extend-dump: review: https://github.com/rakudo/rakudo/commit/76e17195ac
20:39 timotimo thanks :)
20:42 vaelxon joined #perl6
20:42 labster joined #perl6
20:43 labster good postnoon, #perl6
20:43 timotimo my backtracking isn't working though
20:43 timotimo i should look at the docs
20:45 robinsmidsrod joined #perl6
20:48 sorear o/ labster
20:49 masak labster! \o/
20:50 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 #perl6
20:53 moritz but yes, that's what after does
20:53 timotimo in that case i'm very confused about the behavior of the grammar
20:54 timotimo ooooooh, now i get it
20:54 timotimo the lookahead assertion i added to make backtracking faster bit me in the butt
20:55 yx joined #perl6
20:56 labster \\o/ sorear and masak
20:56 masak \o//
20:57 dalek rakudo/extend-dump: 983efea | moritz++ | src/Perl6/Actions.pm:
20:57 dalek rakudo/extend-dump: make for-loops eager again
20:57 dalek rakudo/extend-dump:
20:57 dalek rakudo/extend-dump: lazy for-loops violated too many expectations, and I do not see the point
20:57 dalek rakudo/extend-dump: in having it lazy, and then jumping through many hoops just to make it
20:57 labster r: say '/foo/bar/baz/' ~~ m/^  [ $<dirname>=(.* '/'+)?  ]? $<basename>= (<-[\/]>+) '/'* $ /
20:57 dalek joined #perl6
20:57 p6eval rakudo 99e27f: OUTPUT«「/foo/bar/baz/」␤ dirname => 「/foo/bar/baz/」␤ dirname => 「/foo/bar/」␤ basename => 「baz」␤␤»
20:58 labster okay, why do I get two copies of dirname when the match only succeeds once?
20:59 masak huuhhnn.
20:59 masak wut.
20:59 Shozan joined #perl6
21:00 masak I suspect a backtracking-related glitch.
21:01 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:01 * timotimo tries || instead of |
21:02 timotimo 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 ....
21:03 * masak submits labster's rakudobug
21:04 masak r: say ('/foo/bar/baz/' ~~ m/^ $<dirname>=(.* '/'+)? $<basename>=(<-[\/]>+) '/'* $ /).keys
21:04 p6eval rakudo 99e27f: OUTPUT«dirname basename␤»
21:04 timotimo only one more failing test for my grammar \o/
21:04 timotimo and then i'll just have to write it a bit prettier
21:04 masak labster: .gist shows double 'dirname' keys, but .keys and .perl don't
21:07 masak japhb: what does extend-dump do?
21:08 census joined #perl6
21:09 * [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
21:11 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()))␤»
21:11 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())
21:11 timotimo 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. :)
21:12 masak timotimo: because List != Array ?
21:12 timotimo okay, then why isn't it (192, 168, 255, 256).list?
21:13 timotimo oooh, i did $<values>.list>>.Str and got the values i wanted out of it
21:13 moritz timotimo: becaues you don't have any positional captures in the regex that would produce values in .list
21:14 moritz maybe try ( ) instead [ ] around the RHS?
21:14 dalek Heuristic branch merge: pushed 31 commits to rakudo/nom by japhb
21:16 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.
21:18 japhb_ I feel wonderfully underserved.
21:18 masak I live to not serve.
21:20 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:26 timotimo moritz: thanks for the suggestion the () did it :)
21:36 araujo joined #perl6
21:37 araujo joined #perl6
21:42 timotimo is there a good reason to not call >>. "double dash dot"?
21:44 tadzik > is not a dash, ^ is
21:44 timotimo oh?
21:44 tadzik or so I think
21:44 timotimo well, technically i know - as dash
21:44 huf ^ is hat
21:44 huf > is waka
21:45 tadzik > > eh eh
21:45 timotimo hehe.
21:45 timotimo this is africa~
21:45 masak ^ is a caret, I think.
21:46 huf if you want to be posh, sure
21:46 masak you can call it a hat, if you want :)
21:47 japhb_ caret is correct, and yes, I've heard hat.
21:48 japhb_ timotimo, - is a hyphen.  The thing you get from &mdash; in HTML is a dash.
21:48 japhb_ In pure ASCII, a dash is generally rendered --
21:49 huf and yet, the lyrics go "kill dash nine"
21:49 huf everything is everything
21:50 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 japhb_ I say 'hippity-hop' for http://
21:50 japhb_ and 'dub dub dub' for 'www.'
21:50 japhb_ Just easier that way.  :-)
21:51 timotimo huf: yes, kill dash nine is how i remember 15 from 9.
21:51 masak 'hippity-hop'. how lovely.
21:51 * masak adopts that
21:51 huf :)
21:52 timotimo i like hippity-hop dub dub dub
22:02 tadzik I thought ^ is a dash because is't like "daszek"
22:02 tadzik yolo: "daszek"?
22:02 tadzik er
22:02 tadzik yoleaux: "daszek"?
22:02 tadzik ah, *
22:03 japhb_ * is 'asterisk' or colloquially 'splat'
22:03 tadzik masak: why not "hot potato", and "hot potatoes" for https? :)
22:04 japhb_ tadzik, would you include the :// in that definition?
22:04 masak tadzik: because 'hippity-hop dub dub dub' :)
22:06 tadzik japhb_: I don't know ://
22:06 tadzik and hippity-hops :P
22:06 tadzik time to sleep & g'night
22:07 japhb_ tadzik, g'night!
22:08 masak 'night, tadziku
22:08 felher o/ tadzik
22:11 erkan joined #perl6
22:11 erkan joined #perl6
22:19 skids joined #perl6
22:24 census joined #perl6
22:26 japhb_ .mangle "This is a test."
22:26 yoleaux "Thank you, Director . "
22:27 japhb_ OK, that qualifies, all right.
22:27 tgt joined #perl6
22:31 japhb_ .privacy
22:31 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.
22:33 masak .mangle "Good night, #perl6."
22:33 yoleaux " Good night # perl6 . "
22:33 masak 'night, #perl6 :)
22:36 census joined #perl6
22:38 japhb 'night, masak
22:51 pmichaud what's the story with DUMP, ooc?
22:52 japhb pmichaud, story in what sense?
22:52 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.
22:52 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 japhb What is missing?
22:53 pmichaud I didn't see the WHERE stuff in the initial review... but now I see it.
22:54 pmichaud 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 pmichaud 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:56 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 japhb I feel like I missed something that you want, but don't have now, and I don't know what it is.
22:56 pmichaud it's the same sort of reason that masak++ doesn't want us moving from RT to github issues :)
22:56 japhb Ah!  Familiarity with existing output!
22:56 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 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.
22:57 pmichaud yeah, I'll just be prepared that I may have some additional re-acquaintance time.
22:57 tgt joined #perl6
22:58 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 pmichaud (I built things using a DUMP method in the base classes because the introspection facilities weren't all present at the time I started.)
22:59 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.
23:00 japhb (and exactly what bothers you)
23:00 japhb pmichaud, it's doing a lot of introspection now.
23:01 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).
23:02 japhb 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:02 japhb I totally get that.
23:03 pmichaud I'm not saying the implementation is bad or inadequate.
23:03 japhb I feel bad that I moved your cheese; I wasn't intending to.  :-)
23:03 pmichaud I'm saying don't feel bad and keep moving.
23:03 japhb roger that.
23:04 pmichaud I definitely don't want progress blocking on me these days :)
23:04 pmichaud and what you're describing sounds like very good progress.
23:04 japhb I can say that I learned *a lot* while writing it.  :-)
23:04 pmichaud if I run into issues, I'm sure we can figure out ways to deal with them.
23:04 japhb Do let me know, and I'll try to help as well.
23:04 pmichaud look for me again in a few weeks :)
23:05 japhb :-)
23:22 [Coke] pmichaud: ~~
23:23 labster pmichaud: Since you replied to the bug masak reported for me, can you tell me if this works according to spec?
23:23 labster r:  '/foo/bar/baz/' ~~ m/^ $<dirname>=(.* '/'+)? $<basename>=(<-[\/]>+) '/'* $ /;  say $/<dirname>.WHAT; say $/<basename>.WHAT
23:23 p6eval rakudo 604986: OUTPUT«(Parcel)␤(Match)␤»
23:25 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:30 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…
23:30 japhb Ooooh,
23:30 japhb 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
23:31 labster glad to be of service :)
23:35 DarthGandalf joined #perl6
23:37 dalek rakudo/nom: 3ff2762 | coke++ | tools/autounfudge.pl:
23:37 dalek rakudo/nom: document --jobs option
23:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3ff276261b

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

Perl 6 | Reference Documentation | Rakudo