»ö« 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.
dalek pan style="color: #395be5">perl6-examples: 5f8c099 | grondilu++ | rosalind/grondilu-mmch.pl:
Update grondilu-mmch.pl

style
00:34
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
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
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*
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
japhb_ Oh dear lord. Exponential backslash explosion. 04:39
diakopter geometric, probably
japhb_ Hmmm. 04:41
diakopter r: $_.=DUMP
p6eval rakudo ffe441: ( no output )
diakopter r: ($_.=DUMP for ^10)
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
tadzik FROGGS_: oh! www.quickmeme.com/meme/3tooqv/ 05:57
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
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
labster downloads it, puts it in the fanfic folder, loads it up on the epub->web interface he wrote. 08:51
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
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
masak labster: heh :) 09:11
labster: feel free to write your own "Bard" blog post. ;)
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
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.
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␤»
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
atroxaper masak, you have a good avatar ;) 09:58
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
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. :)
atroxaper labster: gl hf! 10:05
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
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
tadzik uh 10:21
Heather tadzik hi.
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
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
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
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
timotimo oh, neat, comb ..., :match gives a list of match objects for the regex 10:50
Heather 10:54
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␤»
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
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
masak eh, "them" being 'temp' and 'let' 12:10
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?
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␤␤»
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?
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.
anant ok. thanks! tadzik++ masak++ 12:36
Heather Heather++ 12:37
Heather is egoist
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++␤»
masak heh :) 12:46
Heather++ 12:47
Heather masak++ 12:48
Heather masak can I check someones karma? 12:48
tadzik karma Heather 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
Heather daxim well it's boring motivation 12:52
time to run for me, see you tomorrow maybe 12:55
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
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
jnthn synonymicon :D 13:10
masak is a synonymiconoclast 13:11
tadzik I don's see why one would name a dictionary after a dynosaur 13:26
FROGGS jnthn: you had a chance to look at my comment? github.com/rakudo/rakudo/commit/ff...nt-2938579 13:53
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
masak .help buck 13:59
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.
masak (if those reincarnation fellas turn out to be right, I'll make sure to come back and let you know) 14:07
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
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)
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
FROGGS jnthn: oaky 14:25
pmichaud is anyone able to reach rakudo.org ? 15:45
xinming pmichaud: Down here. 15:46
spider-mario I can’t
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
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
masak .oO( Obelism fell into three cauldrons of magic potion when he was a baby ) 16:36
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
japhb_ is considering special casing "Integer", "String", and "Float", but that's really ucky, and non-portable. 16:40
japhb_ listens intently to the sound of silence 16:50
[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. ;)
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
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
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
arnsholt japhb_: If it's any consolation, I'm hoping that RPAs will go away soon-ish =) 17:31
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
japhb_ arnsholt, ah, good. :-) 17:47
dalek rl6-roast-data: e45f765 | coke++ | / (3 files):
today (automated commit)
18:03
raiph speakerdeck.com/djerius/perl-and-p...modern-era # notes for tadzik et al 18:13
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!
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
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
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
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.
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.
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
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
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
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?
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?
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
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
timotimo thanks :) 20:39
labster good postnoon, #perl6 20:43
timotimo my backtracking isn't working though 20:44
i should look at the docs
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 :)
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:53
ooooooh, now i get it 20:54
timotimo the lookahead assertion i added to make backtracking faster bit me in the butt 20:55
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
labster r: say '/foo/bar/baz/' ~~ m/^ [ $<dirname>=(.* '/'+)? ]? $<basename>= (<-[\/]>+) '/'* $ / 20:58
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:58
masak huuhhnn. 21:00
wut.
masak I suspect a backtracking-related glitch. 21:00
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
[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.
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
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
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
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
japhb_ .mangle "This is a test." 22:27
yoleaux "Thank you, Director . "
japhb_ OK, that qualifies, all right.
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 :)
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
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.
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
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 :)
dalek kudo/nom: 3ff2762 | coke++ | tools/autounfudge.pl:
document --jobs option
23:38