»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by masak on 28 November 2015.
00:02 skids joined 00:06 [particle] joined
autarch could someone explain what this error means - gist.github.com/autarch/3a081eef3ee9a7ee2422 00:12
00:13 autarch left
timotimo what kind of thing is Pod::TreeWalker? 00:13
00:13 autarch joined, koo8 left
timotimo what kind of thing is Pod::TreeWalker? 00:13
autarch timotimo: gist.github.com/autarch/3a081eef3ee9a7ee2422 00:14
oops, wrong link - github.com/autarch/perl6-Pod-TreeW...Walker.pm6
timotimo does it contain other things? did use-ing the module it's in cause some mismerge to happen, so that Pod::TreeWalker is now only a module/package?
autarch it's "unit class Pod::TreeWalker;"
timotimo hum.
i don't know :( 00:15
autarch the tests for that module pass just fine
timotimo uh-oh
and the code you've written?
autarch but when I try to use the code via PERL6LIB I get that error - maybe that's helpful?
except at least one thing which uses it via PERL6LIB _does_ work
timotimo does it work if you use -I instead of PERL6LIB?
autarch checks 00:16
Hotkeys say a class has ::ver<1.2.3> tacked on it, is there a way to get the version?
autarch nope
00:19 micxjo joined
autarch I'll update to the latest HEAD just in case 00:19
timotimo m: class Ttt:version<1.2.3> { }; say Ttt.^methods 00:20
camelia rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UW2mmSCNKk␤Cannot use adverb version on a type name (only 'ver' and 'auth' are understood)␤at /tmp/UW2mmSCNKk:1␤------> 3class Ttt:version<1.2.3>7⏏5 { }; say Ttt.^methods␤ expecting any of:␤ …»
timotimo m: class Ttt:ver<1.2.3> { }; say Ttt.^methods
camelia rakudo-moar 97ef74: OUTPUT«()␤»
Hotkeys m: class Ttt:ver<1.2.3> { }; say Ttt.ver; 00:22
camelia rakudo-moar 97ef74: OUTPUT«Method 'ver' not found for invocant of class 'Ttt'␤ in block <unit> at /tmp/Baq1SN47vi:1␤␤»
Hotkeys m: class Ttt:ver<1.2.3> { }; say Ttt.^ver;
camelia rakudo-moar 97ef74: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/lAFhVQIDf6:1␤␤»
roguelazer What's the correct way to install panda right now? `rakudobrew build-panda` seems to indicate some syntax issues with moar-2015.11
flussence m: class Ttt:ver<1.2.3> { }; say Ttt.^methods(:all).elems
camelia rakudo-moar 97ef74: OUTPUT«133␤»
autarch ok, still getting the same error with the latest rakudobrewed p6 00:23
if someone could me figure this out, I'd appreciate it - it's the last thing I need to resolve before my advent calendar article is ready for review
flussence m: class Pod::TreeWalker { }; class Foo { has Pod::TreeWalker $w .= new() }; 00:29
camelia rakudo-moar 97ef74: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol Pod::TreeWalker␤»
flussence maybe a symptom of that? 00:30
(neither error makes sense to me, mind)
00:30 Psyche^_ joined
timotimo oh, probably because Pod:: is already in core? 00:30
m: say Pod::
camelia rakudo-moar 97ef74: OUTPUT«Pod␤»
flussence m: class Foobar::TreeWalker { }; class Foo { has Foobar::TreeWalker $w .= new() };
camelia rakudo-moar 97ef74: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol Foobar::TreeWalker␤»
timotimo um 00:31
wait, does .= work in that location?
m: class Pod::TreeWalker { }; class Foo { has Pod::TreeWalker $w = 1 };
camelia ( no output )
flussence it ought to, but I'm just being lazy...
timotimo it does not
flussence m: class Foobar::TreeWalker { }; class Foo { has Foobar::TreeWalker $w = Foobar::TreeWalker.new() };
camelia ( no output )
flussence guess I'm wrong
autarch this all started after I renamed the module from Pod::NodeWalker to Pod::TreeWalker 00:32
00:32 PotatoGim left
flussence m: class Foobar::TreeWalker { }; class Foobar::TreeWalker::SomethingElse { has Foobar::TreeWalker $w = Foobar::TreeWalker.new() }; 00:32
camelia ( no output )
autarch the weird thing is I have a branch of Pod::To::HTML that uses TreeWalker and it works fine - github.com/autarch/Pod-To-HTML/tre...treewalker 00:33
timotimo hm, didn't masak just file a bug on RT about things going missing when ... something mumble mumble?
flussence you have a use; for it both inside and outside the class scope there, maybe that's why? 00:34
timotimo rt.perl.org/Ticket/Display.html?id=126827
00:34 Psyche^ left
autarch flussence: I removed the use inside the class scope and it's fine 00:35
anyway, if someone could review my advent article, that'd be great - it's saved as a draft in the wordpress blog - day 11 00:37
MadcapJake is there any way to nuke panda? 00:38
flussence rm -r $install_prefix (or git clean -dfx if you used the default one)
though that'll nuke rakudo too, which may be overkill 00:39
timotimo autarch: when will it go live? 00:40
00:40 dj_goku left
timotimo oh 00:40
autarch timotimo: well, day 11, I'd assume ;)
timotimo 11
that's in a few days, not a few hours
autarch true
00:42 skids left 00:43 skids joined 00:44 dj_goku joined
timotimo i'm going to bed now ... i'll see if i can review your post tomorrow :) 00:44
dj_goku night
timotimo gnite dj_goku :)
00:45 bbarker`` left 00:46 csd_ joined 00:49 pippo joined, pippo left 00:50 moei left 00:51 csd_ left, daniel90 left
ShimmerFairy .tell masak I just had a thought about the ugly {{{}}} syntax: what about a vaguely Lisp-inspired `{} ? After all, the backtick is free in P6 :) . (Though I don't think it'd have quite the same meaning as `(), hence "vaguely inspired") 00:52
yoleaux ShimmerFairy: I'll pass your message to masak.
MadcapJake ok so my rakudo fork is looking in a completely different directory for modules than the rakudobrew-installed perl6
00:52 moei joined
ShimmerFairy did you use --prefix in your configuration, perchance? If not, that might explain it :) 00:53
MadcapJake i didn't even make install, can't you just work with it inside the src dir?
00:53 leont left
MadcapJake i don't want to install it anywhere in my usr dirs 00:53
Juerd Is it possible to have either lazy interpolation, or a custom quotelike operator/ 00:54
MadcapJake ShimmerFairy: do you mean in the perl Configure.pl command?
ShimmerFairy yes
MadcapJake: btw, I think you do need to install it. Note that by default rakudo and friends install locally within the repo. I always configure MoarVM and the rest with --prefix=/usr/local :) 00:55
MadcapJake: or maybe you don't have to. I'm not entirely sure. 00:56
Juerd OMG, I should dive into the source more often. Just discovered "ignoremark". I've seen recent commits from TimToady, but didn't know what it was about. But now I get it, and it's wonderful. 00:57
MadcapJake well everything works except for modules :P it looks inside the source directory and the rakudobrew installed version looks inside `.rakudobrew/moar-nom/install/share/perl6/{site,vendor,.}`
Juerd m: say so "föó" ~~ /:m foo/ 00:58
camelia rakudo-moar 97ef74: OUTPUT«True␤»
Juerd
ShimmerFairy MadcapJake: hm, it probably makes sense that it doesn't know about your weird rakudobrew directory :P ("weird" as in "not some kind of universal system directory or something")
00:58 dy joined
MadcapJake ShimmerFairy: definitely would be a bizarre convention, however to me it seems more bizarre that there's no way to work on rakudo in isolation from your system. 00:59
I wish I could have a stable install and then leave the rakudo bleeding edge inside it's source dir 01:00
Hotkeys anyone know how I can get the version number of a class
without having a seperate variable for it ofc
ShimmerFairy MadcapJake: I'm not sure I follow; isn't the source version not using ~/.../rakudobrew/.../ accomplishing that "isolation from your system" ? 01:01
MadcapJake yes but then how can I use modules :(
Hotkeys since there is the :ver adverb
MadcapJake I thought maybe modules were separate from rakudo
but they seem tied to each version
ugexe yes, precompilation assures you it needs to be rebuilt for each version/change of the compiler 01:02
ShimmerFairy MadcapJake: ah, you'd maybe want -I or PERL6LIB in that case? I don't know how the new module system works, and it's worth pointing out precompilation _does_ tie the precomps to each version
ugexe although without precompilation you are right
at least right in that you can do it if you want
ShimmerFairy Hotkeys: based on my nearly-nonexistent understanding, that's probably not exposed yet. Unless the :ver adverb is explicitly mentioned in docs on the new module system, chances are that's specified by the META6.json instead 01:03
MadcapJake Ok I see that, so I concievably *could* keep it isolated by installed panda inside my rakudo fork's source dir? 01:04
Hotkeys I know it's in S11 and I've seen it used but I can't really find an other docs
MadcapJake is that possible?
01:05 PotatoGim joined
ShimmerFairy MadcapJake: I always have panda install to ~/.perl6, not sure if that info helps any (I don't know what it'd do if run with a non-[system-]installed p6) 01:06
01:07 csd_ joined
MadcapJake ok i'll explore that idea at least 01:07
ShimmerFairy MadcapJake: if nothing else, there's always manually using -I to point to git repos of the right modules (blech), or officially graduating to using just bleeding-edge rakudo all the time (I've done it for years!) :P 01:08
flussence if you're insane, you can also put the paths to everything you want in a meta6.json sitting in a directory on its own and -I that 01:09
MadcapJake where does panda install modules? in `.perl6/<rakudo_version>` 01:10
ShimmerFairy MadcapJake: but I will say that the idea of a version-independent collection of modules for developers sounds like a nice idea
01:11 Actualeyes joined
flussence MadcapJake: it did that for about a day and it made everyone unhappy, I think it puts modules there but binaries go in install_prefix 01:11
ShimmerFairy MadcapJake: For me, running ./bootstrap.pl after installing rakudo to /usr/local will install to ~/.perl6. Presumably running the bootstrap under 'sudo' would use a system location
01:11 csd_ left
flussence yep, modules are there for me 01:11
looks like %?RESOURCES go to install_prefix too, I see linenoise.so in it 01:12
AlexDaniel wonders if anybody will ever merge tau tests :D 01:15
MadcapJake is glad to see the rest got merged at least!
01:23 bapa1 joined
dj_goku is there an easy way to combine hashes? 01:24
01:24 yeahnoob joined
dj_goku or is looping through each one building a new hash the only way? 01:24
flussence crazy idea, may not actually work, maybe %h1.append(%h2)? 01:25
dj_goku oh append
flussence just a guess, like I say it might not be right
dj_goku oh oh
flussence if that fails, :{ |%h1, %h2 } ought to do the job
dj_goku that worked and did what I expected 01:26
flussence yay
01:26 Zoffix joined 01:27 csd_ joined, mr_ron left
dj_goku m: append({'k'=> 1, 't' => 5}, {'k' => 5}) 01:28
camelia ( no output )
dj_goku m: say append({'k'=> 1, 't' => 5}, {'k' => 5})
camelia rakudo-moar 97ef74: OUTPUT«k => [1 5], t => 5␤»
dj_goku flussence: ^^
now to figure out how to flatten out [1, 5] to == 6. :D 01:29
Zoffix m: say "₫".uniname
camelia rakudo-moar 97ef74: OUTPUT«DONG SIGN␤»
Zoffix :D
dj_goku Zoffix: lol
AlexDaniel .u ᭦᭡ 01:31
yoleaux U+1B61 BALINESE MUSICAL SYMBOL DONG [So] (᭡)
U+1B66 BALINESE MUSICAL SYMBOL DING [So] (᭦)
01:31 csd_ left 01:34 Herby__ joined
Herby__ Good evening, everyone! 01:34
01:35 Jeguen joined
Zoffix Howdy 01:35
Jeguen hi
Zoffix hello 01:36
Hotkeys m: say $ .= sum for append({'k'=> 1, 't' => 5}, {'k' => 5})
camelia rakudo-moar 97ef74: OUTPUT«Use of uninitialized value of type Any in numeric context in block at /tmp/F0pcH_8kxN:1␤0␤0␤»
Hotkeys m: say $_ .= sum for append({'k'=> 1, 't' => 5}, {'k' => 5}).values
camelia rakudo-moar 97ef74: OUTPUT«6␤5␤»
Zoffix \o/ 01:37
Hotkeys m: my %foo = append({'k'=> 1, 't' => 5}, {'k' => 5}); $_ .= sum for %foo.values; say %foo;
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»
01:37 llfourn joined
flussence is mutating it in place considered cheating? :) 01:38
Hotkeys I was thinking of doing something like "%foo.values >>.=>> &sum"
but that doesn't work
flussence if there's a short, readable way to .map on a hash's values and get a hash back... I don't know it.
dalek rl6-most-wanted: 29e7264 | (Zoffix Znet)++ | most-wanted/modules.md:
Toss JSON

We have lots of JSON modules now
rl6-most-wanted: 229126e | (Zoffix Znet)++ | most-wanted/modules.md:
Toss Data::GUID

I no longer plan on releasing that
01:40
Herby__ can someone give a simple explanation on when I should use Grammars?
01:40 BenGoldberg joined
Herby__ versus just normal regex stuff 01:41
for small scripts
flussence if you know exactly how long your input is, you *might* use grammars, if you don't, use regexes
Hotkeys m: my %foo = append({'k'=> 1, 't' => 5}, {'k' => 5}); say hash %foo.keys Z %foo.values.map({.sum});
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»
01:42 adu left
Herby__ For work, I have a log that is roughly 250k lines. Currently I have a Perl 5 script to parse it, thinking about rewriting it in Perl 6 01:42
Hotkeys that's relatively short
Herby__ its not mission critical, so speed isnt huge
dalek rl6-most-wanted: 77e8f53 | (Zoffix Znet)++ | most-wanted/modules.md:
List IRC::Client as WIP in IRC section
ShimmerFairy Herby__: if your code starts to look like a massive tree of if $a ~~ /.../ { if $a ~~ /..../ { ... } } , chances are you want a grammar :)
Herby__ hmmm 01:43
ShimmerFairy Herby__: in the case of parsing a file, you'll probably want grammars. If nothing else, it'll organize the regexes nicely.
Herby__ My code does kind of look like that.
flussence has that type of code in Text::Wrap and it's horrible, long overdue for a rewrite 01:44
in a few places the *right* of the smartmatch is variable too...
ShimmerFairy I personally would suggest that the times you use grammars over inline /.../ regexes are about the same as the times you write an explicit function over using an inline -> { ... } closure :)
01:45 glaukommatos joined
zengargoyle m: append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.value .= sum;$_}).Hash 01:45
camelia ( no output )
Herby__ ok. I'll probably try to rewrite them as Grammars just for the practice and see if I can wrap my head around them
zengargoyle m: say append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.value .= sum;$_}).Hash
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»
Herby__ is there a noticeable difference in performance from using Grammars vs. inline regex?
or is it more/less the same
dalek rl6-most-wanted: b76f8b3 | (Zoffix Znet)++ | most-wanted/modules.md:
list Test::META as WIP for Test::CPAN::Meta replacement
01:46
zengargoyle m: say append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.key => .value.sum}).Hash 01:47
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»
ShimmerFairy Herby__: another possible question is "would using <subrule>s in my parsing make things easier to write?" (you can write "local" rules, e.g. my token foo { ... }; , as an intermediate sort of step between inline regexes and full grammars, if you like)
Herby__: I'm not aware of any speed difference, so chances are "not much" :)
Herby__ great, thanks for the info!
dalek rl6-most-wanted: f20f54c | (Zoffix Znet)++ | most-wanted/modules.md:
Toss Term::ANSIColor as it already exists
01:48
01:48 uruwi left
flussence Grammars are slow. Painfully slow sometimes (which is why we have a gazillion JSON modules, and why building rakudo takes forever at "Stage parse"). But they're declarative syntax so you can write your code once and making it run fast becomes Someone Else's Problem :) 01:48
ShimmerFairy except for the procedural bits :) 01:50
01:52 micxjo left
MadcapJake if i cloned and installed a new rakudo and panda, why does it say there are modules already installed? 01:52
flussence if you didn't completely wipe the install directory, they're still there 01:53
MadcapJake i wiped the rakudo directory completely
Zoffix Did you nuke both .rakudobrew and .perl6?
MadcapJake the source dir
no i should do that then
zengargoyle MadcapJake: i think the spell is: rakudobrew nuke moar; rakudobrew self-upgrade; rm -rf ~/.perl6; rakudobrew build moar; ... 01:55
Zoffix MadcapJake, BTW: irclog.perlgeek.de/perl6/2015-12-07#i_11672150
I misspelt your name tho :)
zengargoyle which avoids deleting .rakudobrew and re-installing it.
01:55 Zoffix is now known as MadcapJack
MadcapJack .botsnack 01:55
yoleaux :D
7 Dec 2015 18:58Z <ZoffixW> MadcapJack: Found a really annoying breakage of the syntax highlighter: apostrophes in regexes: say so "You're wrong" ~~ /'You\'re wrong'/; That breaks all the following code after that line :(
01:55 MadcapJack is now known as Zoffix
Zoffix MadcapJake, and props on making the META.info highlighter work. it detects all the incorrect keys :D MadcapJake++ 01:56
MadcapJake what you mean by detects the incorrect keys? 01:57
Zoffix (I also found a way to get around that highlighter issue: add # ' after the regex
MadcapJake, I don't have Atom on this box,but I had "authority" IIRC, and it was highlighted in a different colour than all the other keys that ARE listed in the META spec 01:58
glaukommatos Does the existance of a perl6-debug-m but no perl6-debug indicate that I've built something wrong and/or happen to explain why perl6-debug-m does not stop at my breakpoints? :)
Zoffix MadcapJake, like, if you open this META in Atom, all keys will be in blue, but "authority" will be in different colour: github.com/zoffixznet/perl6-Pasteb.../META.info 01:59
flussence glaukommatos: not having `perl6-debug` is normal, can't speak for the rest
MadcapJake Zoffix: and you liked that or didn't? 02:00
glaukommatos Mmm, perhaps I ought not to trust the homebrew package then.
Zoffix MadcapJake, definitely did :) I didn't even realize authority was not a proper key :)
MadcapJake ahhh! yeah I looked at the spec and put special case highlighting for each true meta6.json key
Zoffix MadcapJake++
MadcapJake cool! glad you liked it! I was worried i missed a key :P 02:01
hoelzro flussence: %?RESOURCES doesn't get installed; that's just because of a hack I put in Linenoise 02:02
flussence oh, seemed like a sensible place for it so I thought that's what was going on 02:03
02:06 uruwi joined 02:07 adu joined 02:09 leat left 02:12 Ben_Goldberg joined 02:14 BenGoldberg left
glaukommatos So, I hope someone familiar with the debugger might be able to point out something silly I'm doing. I run my p6 file with perl6-debug-m filename.p6; then I do bp add <linnum> and press enter; then I type r and press enter. I expect the debugger to stop at <linnum>, but instead it just goes straight on through the rest of the file. Is this the expected behavior, or is something weird? 02:14
02:15 BenGoldberg_ joined 02:17 Ben_Goldberg left 02:18 Ben_Goldberg joined 02:19 Ben_Goldberg left 02:20 BenGoldberg_ left, Ben_Goldberg joined
adu glaukommatos: I've only used the grammar debugger 02:22
glaukommatos: I've never used the regular debugger
glaukommatos Interesting. It seemed like perl6-debug-m was allowing me to step through the grammar in my p6 file. Am I confusing the grammar debugger with the normal debugger? How do you normally invoke the grammar debugger? 02:26
zengargoyle i think Grammar::Debugger and Grammar::Tracer are activated by 'use Grammar::Debugger;' in your code. 02:28
like you just 'use' it before you define your own grammar and magic happens. 02:29
Zoffix use Grammar::Debugger; lets you see and step through the grammar matching process. use Grammar::Tracer; just prints the matching tree. 02:30
glaukommatos Interesting. I haven't got any such use statements. But when I run with perl6-debug-m file.p6 it still lets me step through the whole process (which is really freaking amazing, btw). I need to read more docs!
02:31 Ben_Goldberg left
zengargoyle but i seem to recall a bit about being able to do the same with the perl6-debug-m mostly. as in perl6-debug-m is powerful enough to go all the way down ... 02:31
02:32 cdg joined, Ben_Goldberg joined
glaukommatos Yeah, I know that when I step through with perl6-debug-m that it will go into detail during the parsing process if I do my MyGrammar.parse($string). 02:32
It's pretty awesome to watch the input string get consumed. <3 02:33
zengargoyle wonder if the breakpoint thing is it not finding the file/line properly since curli
since now they get turned into hashes and such. 02:34
glaukommatos I'm not familiar with curli.
02:40 lolisa joined
zengargoyle glaukommatos: debug seems to be working for me. at least adding a breakpoint and having it stop thereabouts. 02:43
02:45 Jeguen left 02:46 natefanaro joined, kid51 left
dj_goku any idea what is causing this warning: Trailing item in Hash.append 02:46
glaukommatos zengargoyle: Interesting. Would you be able to let me know what command you're using to add the breakpoint and then subsequently to run up to it? I'm trying to figure out if I'm just doing something stupid or not, since I'm not terribly familiar with the debugger's syntax.
skids m: my %h; %h.append(a,1,b); 02:47
yoleaux 7 Dec 2015 21:13Z <jnthn> skids: Thanks for the S17 gist; I look through it tomorrow when I've (hopefully) more brane :)
camelia rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SXn04KF8lU␤Undeclared routines:␤ a used at line 1␤ b used at line 1␤␤»
skids m: my %h; %h.append('a',1,'b');
camelia rakudo-moar 97ef74: OUTPUT«Trailing item in Hash.append in block <unit> at /tmp/fV6sUw_2R0:1␤»
02:48 xinming left
zengargoyle eh, just what you said....: perl6-debug-m ./someprog.pl6 ... bp add 16␤ r␤ 02:48
glaukommatos zengargoyle: Huh, that's so very strange. Well, at least I'm glad I'm not going crazy. 02:49
zengargoyle stops before doing line 16 showing lines 14-18 with line 16 highlighted.
glaukommatos zengargoyle: thanks
zengargoyle what type of line are you setting the breakpoint on? a simple statement? a function call? 02:50
glaukommatos Oh shoot. You know what, I made a stupid. 02:51
I've been putting the line number of blank lines in front of the lines I care about. Don't ask me why I thought that would work. 02:52
I think gdb or something probably just rounds things to the nearest line that actually generates code, and somehow I've gotten into a habit or doing that.
zengargoyle heh 02:53
glaukommatos I just did it again with a line that, oh you know, actually had code on it. And surprise: it works.
I am not a clever person.
In other news, Grammars are easily the coolest language feature I've ever played with.
MadcapJake now for some reason make is crashing on me :(
dj_goku m: say {}.WHAT
camelia rakudo-moar 97ef74: OUTPUT«(Hash)␤»
02:54 cdg left, xinming joined
dj_goku m: my %h; %h.append({1 => 1, 2 => 2}); say %h 02:54
camelia rakudo-moar 97ef74: OUTPUT«1 => 1, 2 => 2␤»
zengargoyle glaukommatos: that might make a reasonable PR on the debugger... make bp on blank line be the next code line... 02:55
dj_goku m: my %h; %h.append({1 => 1, 2 => 2}); say %h.kv;
camelia rakudo-moar 97ef74: OUTPUT«(1 1 2 2)␤»
dj_goku hmm 02:56
so after adding %h.append($some_hash.kv); the warning/error went away.
glaukommatos zengargoyle: Perhaps at the very least it might want to warn me that I've tried to break on a line that doesn't exist. I'll probably make an issue / PR if I find myself able to write the code to do this. 02:57
zengargoyle m: my %h; my %oh = 1=>2, 3=>4; %h.append: |%oh; say %h.perl; 02:58
camelia rakudo-moar 97ef74: OUTPUT«{}␤»
zengargoyle m: my %h; my %oh = 1=>2, 3=>4; %h.append: %oh.pairs; say %h.perl; 03:00
camelia rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}␤»
autarch since there's probably new folks since I last asked ... if someone could review my advent article, that'd be great - it's saved as a draft in the wordpress blog - day 11 03:01
zengargoyle m: my %oh = 1=>2, 3=>4; say |%oh; say %oh.pairs
camelia rakudo-moar 97ef74: OUTPUT«Unexpected named parameter '1' passed␤ in block <unit> at /tmp/8hmhbPtt9N:1␤␤»
autarch or I could make it password protected if you don't have blog access
zengargoyle m: my %oh = 1=>2, 3=>4; say (|%oh); say %oh.pairs 03:02
camelia rakudo-moar 97ef74: OUTPUT«(1 => 2 3 => 4)␤(1 => 2 3 => 4)␤»
zengargoyle m: my %h; my %oh = 1=>2, 3=>4; %h.append: (|%oh); say %h.perl; 03:03
camelia rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}␤»
03:03 noganex joined
zengargoyle m: my %h; my %oh = 1=>2, 3=>4; %h.append: @%oh; say %h.perl; 03:04
camelia rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}␤»
03:04 csd_ joined
zengargoyle have to remember that | in argument means named. 03:04
03:05 adu left 03:06 noganex_ left 03:07 zengargo1le joined, zengargoyle left 03:09 csd_ left
dj_goku m: my %h; my $oh = {1=>2, 3=>4}; %h.append: %$; say %h.perl 03:09
camelia rakudo-moar 97ef74: OUTPUT«{}␤»
dj_goku m: my %h; my $oh = {1=>2, 3=>4}; %h.append: %$oh; say %h.perl
camelia rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}␤»
zengargo1le autarch: is there an easy way to see the drafts? 03:10
autarch zengargo1le: do you have a blog login? 03:11
all posts are at perl6advent.wordpress.com/wp-admin/edit.php
mine is day 11
zengargo1le nope
autarch one sec 03:12
perl6advent.wordpress.com/2015/12/...in-perl-6/ - password is advent
dalek kudo-star-daily: d580869 | coke++ | log/ (2 files):
today (automated commit)
03:14
MadcapJake ShimmerFairy: if I install into /usr/local how do I install panda?
ShimmerFairy: oh did I just need to use sudo? 03:16
dj_goku is giving a concurrency talk kc.pm tomorrow hopefully I do well. 03:17
zengargo1le autarch: that last link just gets me a not found page 03:18
autarch argh
one sec 03:19
ShimmerFairy MadcapJake: I don't sudo panda, I just have it install stuff in ~/.perl6
MadcapJake oh
03:20 csd_ joined
autarch zengargo1le: perl6advent.wordpress.com/2015/12/...in-perl-6/ 03:20
zengargo1le autarch: ok, that worked... will read. :) 03:21
autarch thanks!
MadcapJake ShimmerFairy: why does it give me a permission denied if I try to install to there without using sudo? 03:22
ShimmerFairy weird
MadcapJake I used `--prefix=/usr/local` when installing perl6, which requires sudo right? 03:23
hahainternet MadcapJake: yes, /usr/local is part of the filesystem typically owned by root
geekosaur what platform?
hahainternet i assume someone else has mentioned rakudobrew already :) 03:24
geekosaur because on OS X with Homebrew, /usr/local is typically made writable by you
hahainternet oh i forgot OSX has wacky stuff
MadcapJake rakudobrew won't let me use commits I made to rakudo though right?
geekosaur this is not OS X stupid, it's Homebrew stupid
MadcapJake i'm on linux/ubuntu
hahainternet geekosaur: i'll stick with 'wacky' :D
geekosaur that and the curl|sh installer give me hives 03:25
03:25 csd_ left
hahainternet and MadcapJake i see, well i don't know much about rakudobrew but just create yourself a local directory for your builds 03:25
i typically have ~/.local/projectname/ for local binaries, so golang and perl etc
03:26 keix left
zengargo1le autarch: are you going for ideal or actual? :) pod outside of =begin pod/=end pod works just fine. 03:27
[Pod::Heading.new(level => 1, config => {}, contents => [Pod::Block::Para.new(config => {}, contents => ["NAME"])]), Pod::Heading.new(level => 1, config => {}, contents => [Pod::Block::Para.new(config => {}, contents => ["SYNOPSIS"])])] 03:28
=head1 NAME␤=head1 SYNOPSIS
ah, maybe not say this "All Pod blocks must be delimited with =begin pod and =end pod markers." but go into the 3 types and then mention =begin pod/=end pod as a common container like thing. mostly just means inside here is POD only, no code. 03:33
03:33 kaare_ joined
zengargo1le the example1.p6 code looks to have a spurrious 'perl6' as the first line.... 03:41
dj_goku hmm.
I am getting random failures with this code: fpaste.scsys.co.uk/502527 03:42
oh I bet it is hitting thread limit. 03:43
zengargo1le Unlike with Perl 5, in Perl 6 Pod syntax is purely semantic. In other words, you describe what something is, rather than how to present it. -- in theory, Perl 5 pod is just as semantic... B<> still meant basis, I<> still important ... i think the only *format* thing was =over/=back maybe.. 03:45
autarch zengargo1le: oh, I was just going by the synopsis on the begin/end thing 03:46
zengargo1le: no, Perl 5 pod had =over 4, etc
zengargo1le maybe mention that =begin/=end wrap and =for/=block end at the first blank line. maybe mention indenting. 03:47
03:47 Jesseract joined
zengargo1le yeah =over is the only sorta-formatting thing i can think of in Perl 5 03:48
and it ended up just being something to wrap =item in.
03:56 abraham joined 03:57 abraham left
ShimmerFairy Pod 6 lets you use any kind of block in code, it's just that =begin pod/=end pod are the nicest (if not best) way of delineating a "document" instead of a couple blocks here and there :) 03:58
zengargo1le C<=pod> No "ambient" blocks inside
autarch I'll change that part 03:59
ShimmerFairy e.g. you could use =head1, =head2, etc. on their own just to section parts of your file :P 04:01
zengargo1le =begin pod lets you have =head1 foo␤␤some para stuff␤␤ indented code example that if not in a pod section would be real code␤␤=end pod 04:02
actually, the para would be real code as well... 04:03
04:04 AW3i joined
zengargo1le autarch: otherwise, nothing jumps out as awkward or confusing... so looks pretty good. 04:06
autarch zengargo1le: thanks for reviewing it
04:08 Herby__ left 04:09 Ben_Goldberg left 04:11 jdong11 joined
jdong11 perl6 will be comming,really? 04:11
04:13 zengargo1le is now known as zengargoyle
dj_goku Zoffix: lol ^^ j₫ joined! 04:13
04:21 kaare_ left 04:22 cognominal_ left 04:25 adu joined
zacts does perl6 have any decent support for threads? 04:27
I think Perl5 had poor support? (or am I mistaken)
Perl6 that is (caps 'P') 04:28
dj_goku zacts: checkout: doc.perl6.org/language/concurrency
zacts cool
dj_goku zacts: what are you wanting to do? 04:29
zacts dj_goku: oh it was just a general curiosity question
MadcapJake oops apparently tilde in Configure.pl's prefix argument doesn't work :P
zacts although, I do have to say I love the nice and pretty web design of the Perl6 doc
04:29 vendethiel joined
zacts dj_goku: I'm just learning about concurrency from another language, and I am eager to try it out with Perl6 sometime 04:30
but I think your link has all the answers I need for now
so just curious... :-)
AlexDaniel jdong11: yeah 04:31
jdong11: well, Perl 6 was pretty useful for quite some time now
jdong11: so it should not be so surprising :) 04:32
dj_goku zacts: outside of just using gearman for queue client/worker. I haven't I don't have much experience. I am current working on examples and give a talk tomorrow about those things listed on the concurrency page.
zacts oh nice
dj_goku: if you get a recording or slides, I would be interested
AlexDaniel zacts: long story short: it is pretty awesome
zacts AlexDaniel: nice! 04:33
MadcapJake is there any way to improve how fast the parse stage is for compiling rakudo?
how long does it take people?
AlexDaniel MadcapJake: a few minutes
MadcapJake Mine takes 83.585 seconds
hoelzro MadcapJake: a minute or two
zacts All this progress with Perl6, and an upcoming release, is making me eager to learn enough to contribute towards Perl6 modules
hoelzro that's pretty typical
AlexDaniel zacts: that'd be great! 04:34
hoelzro zacts++
zacts =)
is rakudo implemented in C?
hoelzro rakudo is implemented in NQP
MadcapJake why do I need sudo to install to ~/.local o_O
hoelzro which is a subset of Perl 6
MadcapJake: o_O
dj_goku zacts: lol I am just now starting the night before. Not sure how well it'll go. :D
zacts: coders block.
MadcapJake "mkdir /home/jrusso/.local/share/nqp/lib/Perl6: Permission denied at /usr/share/perl/5.20/ExtUtils/Command.pm line 288.' 04:35
AlexDaniel hoelzro: I thought that parts of it are full-blown Perl 6, am I wrong?
zacts dj_goku: oh that's cool
hoelzro AlexDaniel: ah, yes, good point
zacts if it's a success just /msg me tomorrow or wednesday
hoelzro src/core/ is in Perl 6
zacts it's monday still in my timezone
zengargoyle MadcapJake: did you sudo something that touched .local previously? sometimes you can sudo and muck permissions so that you don't own it anymore...
hoelzro the rest (barring a few VM-specific things) is in NQP
zengargoyle sudo chow -R you:yourgroup .local
dj_goku zacts: CDT here.
AlexDaniel zacts: MoarVM though is implemented in C
zacts MDT USA here 04:36
dj_goku zacts: colorado?
zacts New Mexico
dj_goku 42 seconds to 'stage parse' here!
zacts: ahh sweet. where at?
zacts ABQ
AlexDaniel zacts: but most of the time it should not matter for you much since most contributions are actually happening in rakudo
dj_goku albq has an awesome balloon festival. :D 04:37
zacts AlexDaniel: ah nice, so rakudo is mainly implemented in Perl6, and the VM it runs on top of C?
AlexDaniel zacts: correct
zacts neato
well, hopefully I can get involved soon
04:37 WizJin left
AlexDaniel zacts: well, Perl 6 and NQP. NQP is not quite Perl 6, so you can't say that it is just Perl 6 :) 04:37
zacts even if just a few patches
zengargoyle albu has awesome green chile 04:38
hoelzro the plus of working on Moar is that your compile times are a lot shorter =P
AW3i how are the performances fairing currently vs perl5
zacts zengargoyle: indeed
AW3i i've seen some graphs some months ago they looked decent
AlexDaniel AW3i: depends
hoelzro MadcapJake: depdending on what you're doing, there are some tricks you can pull to get around having to parse
AlexDaniel AW3i: startup time is a bit slow-ish
AW3i: everything else is indeed decent, but if you start doing some heavy tasks you may find it really slow 04:39
AW3i oh ok thanks 04:40
sadly I don't have the time to play around with perl6 yet :/
hoelzro MadcapJake: are you still working on the Perl6::Compiler stuff?
MadcapJake hoelzro: yeah
AlexDaniel AW3i: well, feel free to abuse camelia here
hoelzro MadcapJake: need any help?
AlexDaniel m: say tau * ½
camelia rakudo-moar 97ef74: OUTPUT«3.14159265358979␤»
AW3i sure will do
MadcapJake hoelzro: well i was having trouble testing it within the src dir because it was looking in the wrong place. So then I fumbled around getting it to properly install, now I'm hoping that I'll have it in ~/.local *fingers crossed* 04:41
hoelzro crosses fingers too 04:42
let me know if you need another pair of eyes on it!
MadcapJake alright, thanks!
hoelzro I feel like I got you into this mess =/ 04:43
but hey, if you stick with it, future contributions to Rakudo will be a cinch ;)
dj_goku hehe 04:44
MadcapJake looks like perl6 installed, now panda is giving me permission errors: Failed to open file /home/jrusso/github/panda/ext/Shell__Command/lib/.precomp/.lock: permission denied
I tried to run `perl6 bootstrap.pl --prefix=/home/jrusso/.perl6
zengargoyle MadcapJake: you probably have previous sudo damage left over. 04:45
04:45 labster left
zengargoyle created something as root, now can't touch it anymore. 04:45
MadcapJake gah, that's what happened to my .local folder too xD
zengargoyle what it sounds like to me.
zengargoyle has done that often enough..... 04:46
dj_goku delete all the things!
zengargoyle sudo chown -R
MadcapJake to what though?
dj_goku or that.
MadcapJake I deleted .perl6, and it's still saying that o_O
zengargoyle _Command/lib/.precomp/.lock
get rid of all the .precomp files under panda/ext/* 04:47
or chown them
MadcapJake `sudo rm -rf ~/github/panda/**/.precomp` did the trick 04:48
04:49 WizJin joined 04:51 Jesseract left 04:52 vendethiel left
AlexDaniel I wonder what would be the shortest Perl 6 program demonstrating most of its killer features. e.g. 「say τ² * ½」 is already cool, now add some hyper operators, phasers, junctions, multiple dispatch, infinite lists, async stuff… 04:54
hahainternet use unicode division instead of ugly * :) 04:55
AlexDaniel hahainternet: unicode division?
hahainternet but yeah, you'd want to build some sort of infinite list using tau² and do so in a threaded manner i guess
AlexDaniel: there are unicode symbols for division, i don't know if any are supported
but it was discussed the other day
04:55 herby_ joined
AlexDaniel m: say 2 ÷ 5 # ehh… 04:56
camelia rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MX06vePP_W␤Confused␤at /tmp/MX06vePP_W:1␤------> 3say 27⏏5 ÷ 5 # ehh…␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement…»
AlexDaniel m: say 2∕3 04:57
camelia rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W2ct8etSgu␤Bogus postfix␤at /tmp/W2ct8etSgu:1␤------> 3say 27⏏5∕3␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modi…»
dj_goku m: say 2/3 04:58
camelia rakudo-moar 97ef74: OUTPUT«0.666667␤»
dj_goku :D
AlexDaniel hahainternet: but yeah, I mean existing features. There were enough to make my jaw drop at the time.
MadcapJake why is panda saying "could not find Panda" 04:59
glaukommatos Sorry this is a hard thing to Google. Does Perl6 have an equivalent concept to a Java Interface or a Ruby Module? I'm not sure what to call it when googling Perl6 things. :) 05:00
grondilu m: say .[100] given [\+] 1, * * i*pi/++$ ... * 05:01
camelia rakudo-moar 97ef74: OUTPUT«-1+2.34844611971802e-16i␤»
konobi glaukommatos: how would you describe those?
hoelzro MadcapJake: o_O 05:02
glaukommatos, konobi: sounds like roles
skids glaukommatos: You mean like a list of required things for a class to implement?
dj_goku glaukommatos: like this: doc.perl6.org/language/modules
05:02 jdong11 left
AlexDaniel doc.perl6.org/language/objects#Roles 05:03
glaukommatos I was looking for roles. Thank you everyone! 05:04
skids m: role A { method foo {...} }; class B does A { };
camelia rakudo-moar 97ef74: OUTPUT«===SORRY!===␤Method 'foo' must be implemented by B because it is required by a role␤»
dj_goku hasn't learned yet.
AlexDaniel compile-time error, nice
MadcapJake this doesn't even make sense
glaukommatos Oh, this class Potato does Delicous {...} style is awesome. 05:05
'does' is such a perlish keyword for this <3
MadcapJake i'm off to bed, g'night #perl6
05:05 WizJin left
hahainternet you'd probably want something more like class Potato is DeliciousFood does Tastable imho 05:05
hoelzro nigh MadcapJake
hahainternet but ymmv
also AlexDaniel yeah sorry i didn't know if it got added or not
dj_goku night MadcapJake
hoelzro MadcapJake: if you want, I can try to clean up the code from Friday and push it up 05:06
glaukommatos Yeah, my example was horrible, yours actually makes sense. ;)
AlexDaniel yeah, I'm off to bed too o/
hoelzro night AlexDaniel 05:07
grondilu m: say 1 =~= 1 + 1e-16*i
camelia rakudo-moar 97ef74: OUTPUT«True␤»
grondilu m: say -1 ≅ 1 + [+] [\*] i*π/++$ xx 100; 05:08
camelia rakudo-moar 97ef74: OUTPUT«False␤»
grondilu m: say 1 + [+] [\*] i*π/++$ xx 100;
camelia rakudo-moar 97ef74: OUTPUT«-1+3.33571076257198e-16i␤»
grondilu m: say -1 ≅ -1+3.33571076257198e-16i; 05:09
camelia rakudo-moar 97ef74: OUTPUT«True␤»
05:09 adu left
grondilu is not sure what's going on above 05:09
05:10 MadcapJake left
hoelzro goes off to bed as well now 05:10
skids too
05:12 AlexDaniel left 05:14 herby_ left 05:15 skids left 05:16 WizJin joined 05:18 adu joined
moritz good morning 05:19
.tell tadzik we're eagerly await your advent calendar post for today
yoleaux moritz: I'll pass your message to tadzik.
05:31 csd_ joined 05:32 labster joined 05:35 labster left 05:36 csd_ left
adu \o 05:39
05:39 khw left 05:46 km3 joined 05:51 km3 left 05:55 km3 joined 06:13 glaukommatos left 06:18 darutoko joined 06:21 qwebirc801678 joined
qwebirc801678 m: say Date.today.later(weeks => 2) 06:22
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»
qwebirc801678 m: say Data.new(now).later(weeks => 2)
camelia rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9U8goqUgHO␤Undeclared name:␤ Data used at line 1. Did you mean 'Date'?␤␤»
qwebirc801678 m: Date.new(now).later(weeks => 2)
camelia ( no output )
qwebirc801678 say Date.new(now).later(weeks => 2)
m: say Date.new(now).later(weeks => 2) 06:23
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»
06:23 leat joined, qwebirc801678 left 06:24 qwebirc767797 joined, qwebirc767797 left 06:25 qwebirc322196 joined
qwebirc322196 slaps ChristopherBotto around a bit with a large fishbot 06:25
06:25 MadcapJake joined
qwebirc322196 Oops. I left myself logged into #perl6 at work. Can I log myself off somehow? 06:26
geekosaur are you registered with nickserv?
qwebirc322196 Yes
geekosaur /msg nickserv ghost <yourpasswordhere> 06:27
...wait
/msg nickserv ghost <yournickhere> <yourpasswordhere>
sorry
qwebirc322196 geekosaur: Thanks!
Oh, well. I guess I'm not registered. The show goes on ... 06:30
m: say Date.today.later(weeks => 2)
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»
qwebirc322196 m: say Date.new(now).later(weeks => 2)
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»
qwebirc322196 m: say Date.new().later(weeks => 2) 06:31
camelia rakudo-moar 97ef74: OUTPUT«2016-01-07␤»
qwebirc322196 say Date.new()
m: say Date.new()
camelia rakudo-moar 97ef74: OUTPUT«2015-12-24␤»
qwebirc322196 Is there a reason that Date.new() defaults to Christmas Eve?
quit 06:35
06:36 qwebirc322196 left 06:40 yqt left 06:49 geraud left
llfourn is reminded that Date.new default should probs change soon... 06:49
07:05 CIAvash joined 07:06 rudi_s_ is now known as rudi_s
Hotkeys it should default to christmas 07:13
konobi which christmas? 07:14
MadcapJake .tell hoelzro I pushed my PR, the problem was my install. using prefix failed miserably for me so I just let it install right inside rakudo directory! :D I was wondering if you could point me to where I could add a commandline arg? If I add a "banner", I want there to be a `-q` or `--quiet` option for removing the banner. 07:16
yoleaux MadcapJake: I'll pass your message to hoelzro.
MadcapJake .botsnack 07:17
yoleaux :D
MadcapJake .u bulb 07:20
yoleaux U+1F4A1 ELECTRIC LIGHT BULB [So] (💡)
[Tux] pbs.twimg.com/media/CVrnhpSXAAA2Aut.jpg <= the student used perl6. No other answer would have been correct
07:22 noam_ left
vytas owh no, no advent calendar today 07:22
MadcapJake .u bulb 07:28
yoleaux U+1F4A1 ELECTRIC LIGHT BULB [So] (💡)
07:34 xinming left, xinming joined
dalek kudo/nom: cee77a3 | grondilu++ | src/core/native_array.pm:
minor improvement in permutations

do not create lexical scope for initial test, as suggested by timotimo
07:35
kudo/nom: a0eb104 | lizmat++ | src/core/native_array.pm:
Merge pull request #622 from grondilu/patch-4

minor improvement in permutations
kudo/nom: b7f0bcc | (Jake Russo)++ | src/Perl6/Compiler.nqp:
Fix repl crashing on missing .so files
kudo/nom: e19741a | lizmat++ | src/Perl6/Compiler.nqp:
Merge pull request #623 from MadcapJake/nom

Fix repl crashing on missing Linenoise .so file
07:39 labster joined
[Tux] my utf8-c8 still segfaults 07:40
test 50000 23.469 23.357 07:42
test-t 50000 16.661 16.550
csv-parser 50000 25.715 25.604
07:45 Woodi left, xinming left 07:46 xinming joined 07:49 sno left 07:55 adu left 07:57 jkva joined
_nadim Good morning everyone. 07:57
moritz \o 08:02
08:10 glaukommatos joined 08:15 glaukommatos left
masak morning, #perl6 08:15
yoleaux 00:52Z <ShimmerFairy> masak: I just had a thought about the ugly {{{}}} syntax: what about a vaguely Lisp-inspired `{} ? After all, the backtick is free in P6 :) . (Though I don't think it'd have quite the same meaning as `(), hence "vaguely inspired")
masak ShimmerFairy: it'd have the "opposite" meaning. unquotes are more akin to the ,myvar syntax. using `{} would be needlessly confusing. 08:16
as for myself, I'm starting to come around to keeping {{{ }}} :) 08:17
(but I've had a few cycles of disliking it and liking it again, so who knows where we'll end up)
more pressing now than syntactical concern is getting the semantics goodenuf
moritz what I really dislike about {{{}}} is that it's mis-parsed as nested blocks if it's a place where we expect not {{{}}}
ShimmerFairy masak: again, hence "vaguely inspired". I just thought of it as something distinct-looking (using backtick) that doesn't suck, which happened to be inspired by looking at lisp stuff :) 08:18
masak moritz: yes, that's obviously not going to be acceptable in the long run
ShimmerFairy: yes, but ` is Lisp for "quasi", not "{{{ }}}"
(though as pdcawley points out, Perl 6's quasiquoting construct is different enough that maybe it shouldn't even be called "quasi") 08:19
ShimmerFairy masak: while true, I don't think that's a good argument for not doing it. My thought process was just "Hey, what if this `() looked like `{} and we used it instead of {{{}}}? That ` would highlight something very different going on" 08:20
masak ShimmerFairy: "strangely consistent" is all about using loose connections people have in their brains, so that a feature feels syntactically vaguely right for various reasons. your proposal does the opposite. 08:21
08:22 jkva left
ShimmerFairy masak: eh, if I didn't mention the very-vaguely Lisp-inspired bit, you probably wouldn't've noticed. And I think "we don't use the backtick" far far far outweighs "a Lisper might somehow get momentarily confused perhaps" 08:23
masak goes and does something else 08:24
vytas just use unicode characters until you come up with suitable texas version (= 08:25
vytas doesn't know what {{{}}} does though :)
08:26 sno joined
TEttinger is not using any non-english-keyboard characters called texas because "we speak american in texas"? 08:26
masak vytas: it's a "hole in the program" where macros can put in program fragments.
TEttinger or is it related to texas instruments in some way 08:28
masak TEttinger: it's "Texas" because the ASCII variants are longer, and everything's bigger in Texas.
TEttinger ha
masak ⦃ ⦄ is probably the closest Unicode equivalent to {{{ }}}
TEttinger haha 08:29
masak but I don't see that we need to go there
TEttinger m: say ⦃ 1 ⦄
camelia rakudo-moar e19741: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/qjsz7jghCO:1␤------> 3say7⏏5 ⦃ 1 ⦄␤Bogus postfix␤at /tmp/qjsz7jghCO:1␤------> 3say 7⏏5⦃ 1 ⦄␤ expecting any of:␤ infix␤ infix stopper…»
TEttinger those are some rather fancy braces 08:30
masak I know about them because I used them in an 007 issue already :)
TEttinger ha 08:31
is the CLR version of Perl6 that isn't based on parror or Moar still going?
*parrot
moritz no 08:32
niecza is dead :(
TEttinger pity.
masak sic transit gloria softwari
moritz blessya 08:33
timotimo grondilu: were you able to measure an improvement in the permutations change i suggested? 08:36
Hotkeys .u ⦃ 08:38
yoleaux U+2983 LEFT WHITE CURLY BRACKET [Ps] (⦃)
Hotkeys can we get ﴾ ﴿
El_Che the latest moar build from rakudobrew fixes the record (separator) issue I had! I could specify "\n\n" as a record separator. nl-in works fine now. Thx 08:39
it mades my code a lot simplier
Hotkeys m: say ﴾ 1 ﴿
camelia rakudo-moar e19741: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/vuzmLgi8VZ:1␤------> 3say7⏏5 ﴾ 1 ﴿␤Bogus postfix␤at /tmp/vuzmLgi8VZ:1␤------> 3say 7⏏5﴾ 1 ﴿␤ expecting any of:␤ infix␤ infix stopper…»
Hotkeys m: say Q﴾Hello World﴿ 08:40
camelia rakudo-moar e19741: OUTPUT«Hello World␤»
Hotkeys that's going to be my new quoting delimiter
you heard it here first
Consolas tries really hard on those i.imgur.com/soF3KlE.png 08:42
08:42 Ven joined
moritz woah there 08:43
masak .u ﴾ 08:44
yoleaux U+FD3E ORNATE LEFT PARENTHESIS [Ps] (﴾)
masak "ornate", huh? 08:45
Hotkeys I made it size 72 to show
masak you can't just make stuff up like that, Unicode consortium!
Hotkeys yeah consolas makes them real ornate
masak shakes fist
moritz i'm sure there's some medieval math treatise that used ornate parenthesis 08:47
masak "andh hyre we taken ye 2 and adden ty ye odder 2..." 08:48
08:49 yakudza joined
grondilu timotimo: I could not see much improvement but there is probably some, at least marginally. 08:49
08:54 snarkyboojum left
timotimo hmm, hmm. 08:54
if my suspicios was correct and it removes a takeclosure op, that's a bit of cost that gets paid every time the method is entered and allocates a BOOTCode (the profiler would show this) 08:55
Hotkeys masak: "and hēr ƿé ábiraþ se 2 and ætíecan tō se oþres 2..." 09:01
I did my best to translate to old english without any knowledge of old english
09:03 xinming left 09:04 xinming joined
masak Hotkeys: I'm more impressed by your effort than by mine. 09:05
Hotkeys I kind of want to learn Old English now 09:06
09:09 xinming left
dalek kudo/nom: 036e19a | lizmat++ | docs/announce/2015.12.md:
Fix apparent vim-ish dropping
09:12
09:12 glaukommatos joined, Guest50923 left 09:14 dakkar joined 09:15 yoleaux left, {dpk} left 09:17 glaukommatos left
gfldex timotimo: in addition to post code found here on the intarwebs it may make sense to link to the IRC logs. perl6.org/community/ may benefit from those logs too. 09:21
timotimo hum?
gfldex irclog.perlgeek.de/perl6/today <-- you have to google that, so some newling has to know what to look for 09:22
09:23 xinming joined 09:24 labster left
lizmat timotimo++ # P6W 09:25
09:26 lolisa left
timotimo thank you :) 09:26
gfldex: i have no idea what you're saying this in reference to 09:27
gfldex "To go through all evaluated pieces of code in the irclog and highlight some of them in this blog on some other day of the week." 09:28
i like that idea very much btw
timotimo oh 09:31
lizmat don't we have another advent post ready that could be moved to today ?
timotimo i was suggesting that *I* would go through the irclog
not my readers
lizmat afk for a few hours&
gfldex you can be so greedy at this festive time! 09:32
*can't 09:33
i didnt have my morning tea yet it seams
09:35 CIAvash left 09:37 roguelazer left
[Tux] pbs.twimg.com/media/CVsZobHWIAAlBJW.jpg 09:37
timotimo m( 09:38
09:38 roguelazer joined 09:39 mohae left, CIAvash joined
El_Che I think that irc logs is something to chaotic to put forward as an archive (and some people would dislike the logging). I think that irc should be put forward as a way of live help or contribution. 09:46
09:46 RabidGravy joined
_nadim hi, given a class with a routine, can I get the routine object? something like $routine = C::D::routine 09:46
09:47 mohae joined
llfourn _nadim: C::D::<&routine> 09:47
_nadim thanks
llfourn it should be our scoped though
timotimo llfourn: that only works if the routine is an "our" routine, no?
yeah
llfourn :D
timotimo m: class T { our sub foo() { say "ohai" } }; T::foo(); my $sub = T::<&foo>; $sub() 09:48
camelia rakudo-moar 036e19: OUTPUT«ohai␤ohai␤»
09:48 xinming left
grondilu thought the syntax was &T::foo 09:48
llfourn thinks you can do it that way too
timotimo i think so, too
cosimo w/in 27
_nadim how does one get 09:49
09:49 xinming joined
timotimo doesn't get 09:49
grondilu the suspense is unbearable
_nadim Oops, I meant that I can get something that is not declared as our but I get an Any, not a Routine
llfourn m: class T { method foo { say "ohai" } }; T.foo; # _nadim: to me this is clearer
camelia rakudo-moar 036e19: OUTPUT«ohai␤»
llfourn _nadim: can you gold what you are trying to do? 09:50
_nadim llfourn: I am writting a dumper
grondilu if it's not declared as "our", it's declared as "my". So you can't access it from the outside.
_nadim I want to test what it does when it get a routine
llfourn _nadim: if you are writing a dumper you should use the MOP to introspect the class and dump stuff 09:51
_nadim URL please
llfourn m: class T { method foo { say "ohai" } }; .say for T.^methods;
camelia rakudo-moar 036e19: OUTPUT«foo␤»
_nadim but in this case I am not dumping a class, just a Routine 09:52
09:52 jdong joined
llfourn _nadim: what do you mean by "Routine"? 09:52
Routine is a role afaik
jdong perl6, amazing !!!!
_nadim Note that $routine = Data::Dump::Tree::<&dump> works and it is not declare as our 09:53
09:53 Averna joined
_nadim llfourn: good to know, so I can't get objects that are just routines 09:54
stmuk can anyone reproduce [perl #126840] $*KERNEL and env lookup?
llfourn Methods, Submethods and Subs are routines I think
_nadim Sub is too
stmuk I have seen that warning on building panda but not how described in the ticket
_nadim sorry, didn't scan the Sub in your comment 09:55
09:55 pippo joined
gfldex _nadim: and you can get stuff that you are not looking for when talking to the dispatcher. see: design.perl6.org/S12.html#FALLBACK_methods (and a few other things) 09:57
_nadim doc.perl6.org/type/Sub says that Sub is derived from Routine, and doc.perl6.org/type/Routine says it is a class not a role
llfourn _nadim: that's why we have docs :) 09:58
m: say Routine.new
camelia rakudo-moar 036e19: OUTPUT«Cannot make a Routine object using .new␤ in block <unit> at /tmp/gLB0RfEbrb:1␤␤»
llfourn you are right it's a class 09:59
_nadim docs will get better, that's the way of docs ;)
gfldex: thanks, I'll check 10:00
10:03 yeahnoob left
llfourn _nadim: what is Data:::Dump::Tree? 10:06
Ven there's a perl6advent in my rss, but it 404, surprising :o
also, hi #perl6 o/
timotimo so ... is someone going to write an emergency advent post? %) 10:07
10:07 leont joined
RabidGravy it should be "Grammars generating grammars" by tadzik 10:10
stmuk it is/was his birthday according to /last .. maybe he is still asleep after partying :) 10:12
TEttinger grammas generating grammars
10:12 espadrine joined 10:13 glaukommatos joined
Ven timotimo: is there a perl6advent post about sized types? 10:14
10:18 hankache joined, glaukommatos left
timotimo i don't think so 10:18
i have no idea, really
10:21 havenn joined, havenn left, havenn joined
El_Che has anyone experience problems with the react syntax and channels? sometime there seem to be a deadlock (the react block just prints $_, nothing fancy 10:21
10:21 cpage__ joined 10:22 cpage left, cpage__ is now known as cpage, havenwood left, havenn is now known as havenwood
timotimo i haven't done much with it yet 10:23
10:25 hankache left
El_Che I had trouble with the whatever syntax (share state among class instances!), but it got replaced by the react syntax. 10:25
10:26 Ven left
El_Che the channel->poll syntax works, the react syntax is a lot nicer, but sometimes it hangs 10:26
(creating a bug report with minimal ogic)
l
10:27 yqt joined
timotimo i'll look at your code :) 10:28
El_Che thx 10:30
10:31 mohae left
[Tux] if (my $fh = open "files/macosx.csv", :r) { 10:32
=>
Failed to open file /home/travis/build/Tux/CSV/files/macosx.csv: no such file or directory
in block <unit> at t/45_eol.t:167
which is why Travis fails
how to make that uncrashing?
10:33 donaldh joined 10:34 mohae joined
timotimo the advent calendar for this year has already reached 41k views (including all the views from the earlier months of the year) 10:43
last year had a total of 50k views 10:44
RabidGravy fabulous
timotimo it's hard to tell how many views each article has gotten, because we don't have "read more" buttons on most of them
but it seems like the "unicode, perl6 and you" article has been getting a bunch of direct links: 2.6k views 10:45
10:45 brrt joined
nine timotimo: Unicode, Perl6 and you was linked from lwn.net which should bring a lot of traffic 10:46
timotimo ah, lwn!
it was also discussed on hackern00z 10:47
10:50 mohae left 10:53 km3 left
RabidGravy I do think the sheer fabulousness of the unicode implementation is going to be the winner, people can bitch and moan about the OO, about the functional features about the sigils but there's no gainsaying the unicode stuff 10:55
10:55 dpk joined
timotimo of course there is 10:56
nine RabidGravy: well, look at Cyberax' comment: lwn.net/Articles/667036/
timotimo "fuck rakudo, i can't open a 4gb log file because it becomes 4x as big in RAM!
who made this crap!"
etc etc 10:57
El_Che $ perl6-debug-m ChannelReact.pm6 => Could not find Debugger::UI::CommandLine:ver<True>:auth<True>:api<True>
sjn reads mdk's annoucement about jnthn not coming to lpw :-\
El_Che on the latest rakudo build
sjn wow, that really sucks, jnthn :-(
tadzik RabidGravy: timotimo there is going to be a post, fear not :) 10:59
sjn hopes lizmat doesn't burn out from the extra work :)
tadzik or was that supposed to be 7th?
timotimo cool, tadzik :)
the 7th had shimmerfairys post
tadzik right
nine sjn: I'm utterly lacking the words for this situation...
RabidGravy tadzik, nah today :)
tadzik all good then, fear not :)
llfourn loves Perl 6, even without the unicode 11:00
DrForr jnthn: If it helps I was nearly turned back at the UK border a few weeks ago, I feel your pain. 11:01
llfourn wonders what's going on
DrForr .tell jnthn If it helps I was nearly turned back at the UK border a few weeks ago, I feel your pain. 11:02
11:03 mohae joined
stmuk :( 11:05
11:08 robnox left 11:09 Woodi joined 11:11 ChoHag left 11:12 yoleaux joined, ChanServ sets mode: +v yoleaux 11:13 Averna left
RabidGravy I'm going to give the "anonymous state variable" a sub-heading of its own in the doc.perl6.org/syntax/state#language..._Variables everyone cool with that? 11:14
timotimo oh, god damn you, UK
llfourn is ice cold
RabidGravy (i.e. a '=head3' )
llfourn RabidGravy: you could probably =head3 X<$|variable> as well for searching purposes 11:15
ShimmerFairy timotimo: for the record I'm still shocked my post could be so popular :3 11:16
timotimo hehe
llfourn RabidGravy: or =head3 The C<$> Variable should work too 11:17
(and is preferable)
RabidGravy I'm cool with that 11:18
Woodi ShimmerFairy: being unhappy that some bugs are gone can be surprising ;) 11:21
ShimmerFairy Yeah, it'd be funny if it's all because "hey, hear about this weird old bug?" :P 11:22
llfourn ah. That is really frustrating. Infuriating. sucks for the LPW. 11:23
glad lizmat can cover
11:24 lucasb joined
timotimo ShimmerFairy: i'm a big fan of the snowman comet bug! 11:24
can't wait for the slang
12:11 ilogger2 joined, ChanServ sets mode: +v ilogger2
tadzik dangit 12:11
my bad :(
timotimo ;)
it's all right
tadzik let's maybe pull in Day 9 now and I'll have mine ready for tomorrow? 12:12
to minimize the delay
|Tux| why does «my $fh = open "non-existing.weird.ext", :r or warn "Bummer!"» cause an exception instead of a warn?
El_Che timotimo: I have now sample code for the react+channel bug : gist.github.com/nxadm/40146386fdcf963fb3f8 12:13
nine |Tux|: I hope that's because Perl 6 fixed one of Perl 5's mistakes there ;)
El_Che about 15% of the time, this code get something like a deadlock
lizmat nine: shouldn't that return a Failure, though ?
nine lizmat: oh, true, we have Failure
12:14 Ch0c0late joined 12:15 rurban joined
tadzik masak: ping 12:15
|Tux| nine, for me that dwim's. What is the perl6 way to do it?
timotimo El_Che: yeah, i see it's behaving strangely
|Tux| and, maybe more interesting, where do you see the flaw in perl5 approach
nine IO::Handle::open contains this: # TODO: catch error, and fail() 12:16
timotimo [Tux]: "or" doesn't have "try" semantics automatically
[Tux]: when open finds an error, it throws an exception, so you don't have to "open ... or die" all the time everywhere
El_Che nine: the thing is, this code shouldn't fail
|Tux| if (my $fh = open "frubble.hyg", :r) { neither? 12:17
timotimo [Tux]: maybe "orelse" would do the trick, as it has "exception semantics"
m: die "oh no, file not found" orelse warn "bummer!"
camelia rakudo-moar 036e19: OUTPUT«oh no, file not found␤ in block <unit> at /tmp/eYEdWYPXLD:1␤␤»
timotimo hm, no. still needs to have a try
nine |Tux|: Perl 5 swallows such errors leading to action at a distance. You have to check every call manually or use autodie; How many people do you know who check the result of every print or say?
timotimo m: try die "oh no, file not found" orelse warn "bummer!"
camelia ( no output )
|Tux| many :)
timotimo and the precedence of "try" is too loose to get the warning
|Tux| nine, at least I know me, myself and I 12:18
nine |Tux|: so you're the ONE!
12:19 kid51 joined
timotimo El_Che: indeed, all threads are in uv_cond_wait here. 12:20
El_Che timotimo: it also happens with 1 file, but less often
timotimo El_Che: one from "shift", which is likely the whenever on the channel trying to get the next value
vytas perl6advent.wordpress.com/2015/12/.../#comments am I blind or it is really telling that there are 4 comments, but shows only 3 ? 12:21
moritz vytas: it's really doing that
El_Che timotimo: I'll simplify the code on the gist by using only 1 instance 12:22
|Tux| mubmles that Path should have an .exists and a .non-empty method
vytas thanks : )
timotimo moritz, vytas, the fourth "thought" is the pingback at the very bottom, i think?
hm, no, actually not
El_Che wished that the bugtrack would be on github 12:23
lizmat m: "foobar".IO.e.say # [Tux]
camelia rakudo-moar 036e19: OUTPUT«False␤»
moritz never understand what pingbacks are for
timotimo lizmat: that's not the only reason open could fail
12:23 ChoHag joined
El_Che timotimo: here is the simplified class: gist.github.com/nxadm/3f2b78e8665346b05f94 12:31
timotimo: I'll post a bugreport based on that
timotimo El_Che: i just copy-pasted both workers together into the get_data method and made the channel a "my" instead of a "ha" 12:33
"has". and it still hangs sometimes
ShimmerFairy vytas: could it be counting the pingback? 12:34
El_Che ok
timotimo ShimmerFairy: it's not "a pingback", it's the link you're supposed to use to pingback 12:35
ShimmerFairy (pingbacks are on occasion "pending comments")
timotimo El_Che: and now i removed the class entirely, replacing it with a sub. it still freezes sometimes
ShimmerFairy timotimo: huh? I'm fairly certain I've heard of pingback as a noun, not a verb :)
timotimo ShimmerFairy: could be, but not in this case; it shows 0 commits pedning review :|
ShimmerFairy: i can verb whatever i want :) 12:36
ShimmerFairy timotimo: well, I recall approving some comments for perl6advent, among which were pingbacks from weekly :)
vytas not sure what is it but for instance here -> perl6advent.wordpress.com/2015/12/...6-in-2015/ it says 1 comment but none exist so either it starts counting from 2 or includes pingback
ShimmerFairy yeah, I'm certain it counts pingbacks as comments 12:37
timotimo hmm 12:38
12:39 Skarsnik joined
timotimo now how do i thread apply all frame 3; print MVM_dump_backtrace(tc) 12:41
gdb doesn't like the ;
oh, dinner time!
12:42 kid51 left 12:45 donaldh joined 12:53 sufrostico joined 12:56 sarya joined
sarya hii 12:56
anyone? 12:57
moritz hello sarya
DrForr Yep.
masak sarya: ahoy
sarya cgi 12:58
masak sarya: no :)
or "no thanks" :P
12:58 sarya left
BooK that was quick 12:58
masak customer spoke in one-word phrases 12:59
and yet, the conversation was ripe with meaning
13:00 Ven joined
timotimo masak: "meaning. so deep. very meeting" 13:00
13:02 donaldh left, glaukommatos joined
spacebat I've got rakudobrew installed 2015.11 moar, everything seems to work, repl, running simple scripts 13:03
but rakudobrew build-panda and build-zef both fail
vytas in perl6 REPL can i somehow save the session and restore it later ?
masak vytas: nope.
Skarsnik try 2015.10 or the most recent version. some stuff are still buggy with panda/module
MadcapJake not yet, i am working on adding that
spacebat build-panda gives: Function 'CompUnit::Repository' needs parens to avoid gobbling block 13:04
ok
christmas flux
:)
MadcapJake re: vytas
vytas spacebat, do self rakudobrew self-upgrade first 13:05
spacebat yup have done already
MadcapJake what message do they give?
oh i see :P
timotimo El_Che: i don't know if this helps, but it looks like the "shift" entries in the backtrace are from the scheduler waiting for jobs on its job queue
MadcapJake it's early for me xD
El_Che timotimo: I am finishing an stripped down example 13:06
13:06 glaukommatos left
MadcapJake spacebat: nuke moar 13:06
start fresh 13:07
El_Che timotimo: gist.github.com/nxadm/0261be41747795575f4f
timotimo: still around 7% misses on this stripped down example: no classes, no subs 13:08
dalek c: e55d339 | (Claudio Ramirez)++ | doc/Language/testing.pod:
Add use-ok
c: 1a1bd3d | (Zoffix Znet)++ | doc/Language/testing.pod:
Merge pull request #230 from nxadm/master

Add use-ok
spacebat MadcapJake: I'll try that too
spacebat thanks
El_Che I close the channel within the read promise (it works with channel.poll ok in that case)
timotimo: this example does not use IO handle, just a loop with numbers 13:10
timotimo good
stmuk is anyone looking at the %ENV warning issue? 13:11
vytas MadcapJake, awesome, I assume you will commit it in the core ? is there a way to extend ::Compiler outside core?
timotimo we could try running the whole thing in a loop and see if we can get it to 100% freeze rate (if left running long enough) or if it'd either work forever or freeze early
masak today in your "Unicode is hard" news reporting: en.wikipedia.org/wiki/Bush_hid_the_facts 13:12
pippo vytas: you can have REPL commands history saved for later re-use with rlwrap. 13:13
timotimo fantastic 13:14
vytas pippo, I was thinking to provide repl in my module with additional functionality
El_Che timotimo: gist.github.com/nxadm/1e5a26881f5831a2c8af
timotimo: I'll keep that running here
pippo vytas: Ah. Ok. NM.
RabidGravy stmuk, I looked, couldn't work out how to reproduce and started something else 13:15
timotimo El_Che: hangs after a bit
El_Che: but the output makes it hard-ish to spot
El_Che timotimo: ok, I'll adapt it
llfourn m: .say for $*PERL.^methods # is there a way to figure out what the <anon> methods are installed as? 13:16
camelia rakudo-moar 036e19: OUTPUT«BUILD␤VMnames␤DISTROnames␤KERNELnames␤Str␤gist␤<anon>␤<anon>␤<anon>␤<anon>␤<anon>␤<anon>␤»
timotimo huh. here it just froze after a 1 was printed 13:17
moritz m: say $*PERL.^method_table.keys
camelia rakudo-moar 036e19: OUTPUT«(name DISTROnames compiler gist desc VMnames KERNELnames auth Str signature version)␤»
moritz llfourn: ^^
llfourn moritz: thanks!
El_Che timotimo: here after 4 and 10
moritz llfourn: though note that .^method_table only includes methods from the immediate class, not from parent classes
13:18 xpen joined
llfourn moritz: but .^methods does right? 13:18
moritz llfourn: yes, unless they are from Any, Cool or Mu. See doc.perl6.org/routine/methods 13:19
llfourn m: class A { method foo {} }; class B is A { method bar {}}; say B.^methods; say B.^method_table 13:20
camelia rakudo-moar 036e19: OUTPUT«(bar foo)␤bar => bar␤»
llfourn moritz: thanks for info :)
El_Che timotimo: more readable output: gist.github.com/nxadm/1e5a26881f5831a2c8af 13:21
the only doubt I had was the channel.close. If it's ok there it's cenrtainly a bug 13:22
timotimo: I am doing the same example with poll 13:23
13:23 sufrostico left
El_Che timotimo: that works like a charm 13:25
dalek c: 07598b5 | RabidGravy++ | doc/Language/variables.pod:
Make C<$> explanation a little clearer

It seemed that the anonymous state variable was a bit lost in the rest of the state variable discussion so it merited a section of its own. Also clarify that each reference is a separate variable.
13:26
El_Che timotimo: gist.github.com/nxadm/141723568ac6235f212b 13:27
tadzik heh, writing the advent post and analyzing the Grammar::BNF code as I go with it, it turns out that it can be massively simplified with no visible side effects
RabidGravy :)
El_Che tadzik <- da man
moritz tadzik: double benefit!
tadzik it looks scary simple now :o 13:28
I keep thinking that the tests must be wrong or something...
13:28 zakharyas joined
El_Che timotimo: I am ready to submit the bug. Is it rakudo (rakudo@perl.org), npq, moarvm (github)? 13:29
lizmat [email@hidden.address]
El_Che thx, lizmat
grondilu with [BUG] in the object. See rakudo's README 13:30
El_Che grondilu: thx, already happily typing :) 13:31
dalek href="https://perl6.org:">perl6.org: 0b17ef9 | (Zoffix Znet)++ | update.sh:
Update recent blog posts on each update run, rather than only when we have fresh commits
13:32
stmuk RabidGravy: yeah reproducing seems hard .. its like a setup issue first time something is called 13:33
13:34 moleculesoflife joined
DrForr Heh. I'm getting close to finishing the changes that the GLR inflicted on perl6-ANTLR4. 13:34
13:35 virtualsue joined
RabidGravy stmuk, I suspect it's somewhere down in run/shell/qx or whatever they use under the hood 13:37
13:37 lucasb joined
stmuk I'm wondering if it's multiple places 13:38
moleculesoflife /msg NickServ VERIFY REGISTER moleculesoflife nhrpcyeaqsfl
stmuk :D
Humbedooh :s
moritz moleculesoflife: that was a nice password :-)
RabidGravy personally I wouldn't find it very memorable. but hey. 13:39
moleculesoflife Oops. What was the correct syntax I was supposed to use?
moritz moleculesoflife: what you did, except without spaces before the / 13:40
lucasb RabidGravy: in the doc commit, you said there is no @ or % anon state variable?
moleculesoflife Oh, copy and paste error. Thanks.
RabidGravy lucasb, that is correct right?
El_Che ok, bug posted. Back to my code, now back with the channel.post syntax :).
lucasb RabidGravy: I think... there is. :) 13:41
m: sub f($x) { say (@).push($x) }; f(2); f(3)
camelia rakudo-moar 036e19: OUTPUT«[2]␤[2 3]␤»
RabidGravy ah, okay
lucasb ^^ this means it is a 'state' var, right?
same thing for anon '%'
dalek c: a3a53ef | (Sylvain Colinet)++ | doc/Type/Code.pod:
Fix a missing link
13:42
c: c65bdb7 | (Sylvain Colinet)++ | doc/Language/ (4 files):
Merge branch 'master' of github.com/perl6/doc
RabidGravy I did a stupid test to test my assertion, let me fix that
moleculesoflife m: say Date.today.later(weeks =>1); say Date.new(now).later(weeks => 1); say Date.new.later(weeks => 1);
camelia rakudo-moar 036e19: OUTPUT«2015-12-15␤2015-12-15␤2015-12-31␤»
Skarsnik moleculesoflife, you should change you password now x) 13:43
13:43 virtualsue left
BooK why is that last one on 2015-12-31 ? 13:43
Skarsnik weird 13:44
moritz BooK: because Date.new gives you Christmas
BooK wuh?
moritz BooK: well, if you don't ask for a specific date, we give you one that we like
BooK i'd be o
_nadim BooK: ahhh! le president! ;)
moleculesoflife moritz: That's kind of funny, but a bit surprising. 13:45
BooK oops. I meant, a sane default would be now
lucs fsvo "Christmas"
llfourn notices that this is the second time Christmas as default has stumped someone today
btyler "now" would be a lot more consistent with other date libraries (that I'm familiar with, at least)
dalek c: 931726a | RabidGravy++ | doc/Language/variables.pod:
Make C<$> explanation a little clearer

It seemed that the anonymous state variable was a bit lost in the rest of the state variable discussion so it merited a section of its own. Also clarify that each reference is a separate variable.
c: 61f1bbd | RabidGravy++ | doc/ (2 files):
Merge branch 'master' of github.com:perl6/doc into anon-state
c: 833b8f2 | RabidGravy++ | doc/Language/variables.pod:
Remove incorrect assertion
13:45 virtualsue joined
BooK well, I heard after Perl6 was released it would be Christmas every day 13:45
RabidGravy lucasb, I think each one needs to go under a separate heading 13:46
_nadim using feed operators, is it thought that one can: ((a, b), (c, d)) ==> -> ($a, $b) {} ==> ...
llfourn BooK: and hopefully because people aren't using Date.new() to calculate which day it is!
BooK so "now" sounds like a perfectly acceptable value for christmas, after 2015-12-25, obviously
new/now, sane tpo
typo
_nadim eg: loops that could be chained 13:47
lucasb RabidGravy++, thanks
BooK these letters are so close on the keyboard they sometime clash: œ
Date.nœw should be a new Date set to now
RabidGravy lucasb, I had a faulty reasoning, I tested @.push, got the error about no self, reasoned that therefore the variable didn't exist :-\ 13:48
must drink more coffee before engaging brane
13:51 kaare_ joined
lucasb ok, can Date.new be made the same as Date.today *before* the release? fwiw, I'm +1 for this 13:52
llfourn is there any better way to get a multi-line .perl than .perl.subst(', ',",\n",:g)?
lucs What's the currently recommended way to add in the REPL a directory searchable for modules? 13:53
13:53 vividsnow joined
moritz lucs: use lib "path"; 13:54
lucs Oh, easy enough :)
Thanks moritz
moritz (unless that's broken in the REPL, and I'm not aware of it)
lucs Trying...
dalek kudo/nom: 240b9ae | moritz++ | src/core/Temporal.pm:
Deprecate argument-less Date.new, as it seems to confuse everybody except me
13:55
llfourn \o/
lucs moritz: Looks okay.
lucasb moritz++ thanks
llfourn so Date.new is a depreciation warning now? 13:56
so it's going to be removed?
RabidGravy no, without arguments is deprecated 13:57
llfourn mm yes I was asking about w/o arguments 13:58
lucs I may have missed earlier arguments, but wouldn't initializing to the current moment be a useful default for an argumentless Date.new?
RabidGravy so Date.new(year => 2015, month => 12, day => 25) is still cool
moleculesoflife mortiz++ Thank you. I really like Christmas Eve and Christmas and everything, but just didn't expect it in that context. 13:59
moritz llfourn: if we want to re-purpose Date.new to Date.now, we must first deprecate the old version 14:00
BooK now christmas 2015 as a default epoch, that would surprise a few people
llfourn m: say Date.now ~~ Date.today
camelia rakudo-moar 036e19: OUTPUT«Method 'now' not found for invocant of class 'Date'␤ in block <unit> at /tmp/g1NHZLSR_l:1␤␤»
llfourn s/now/today/ but yes ok :)
tadzik perl6advent.wordpress.com/?p=3529&...eview=true -- draft of today's late post 14:01
I'll give it one last proofread and push it live, I'll appreciate a second pair of early adopters' eyes :)
Juerd "now" would be incorrect, because "now" is much more specific than "today". To get today's date, something like now.date would make more sense than Date.now
BooK also, TZ 14:02
RabidGravy "full meta jacket"
Juerd BooK: Anyway.
llfourn Juerd: DateTime.now is a thing
ChoHag Is there a more perl6-ish way to say [ <foo> <.sep> ]* <foo>?
Juerd llfourn: Yes, because date + time is as specific as the concept of 'now' can be expressed.
BooK llfourn: I think this is exactly what Juerd meant
sjn m: say [*] (); # why does this say "1"?
camelia rakudo-moar 036e19: OUTPUT«1␤»
ShimmerFairy moritz: I'm personally with you on not relying on a defaulted Date, especially not to rely on it being particularly meaningful. 14:03
lucasb
.oO( TimToday approves this change ) :D
llfourn tadzik: that's 404 for me. I guess I have to wait :)
BooK m: say [+] (); 14:04
camelia rakudo-moar 036e19: OUTPUT«0␤»
Ven I almost have a blog post ready for today, should I go for it? If people can give me their input
BooK sjn: I think it's the same reason for both
Juerd sjn: 1 is *'s identity. It's the number you can prepend to the list of things to multiply without changing the outcome.
BooK m: say [/] (); # we should expect 1 here too
camelia rakudo-moar 036e19: OUTPUT«No zero-arg meaning for infix:</>␤ in block <unit> at /tmp/AKLEIBS5vj:1␤␤Actually thrown at:␤ in block <unit> at /tmp/AKLEIBS5vj:1␤␤»
Juerd BooK: No, / doesn't have identity like that because 4 / 4 and x / 4 / 4 are different for every x. 14:05
moritz BooK: no, because you can't just add 1's to a list that you pass to [/] without changing the result
tadzik Ven: hey, I'm for today :)
BooK depends if you push or unshift
Ven tadzik: okay, I wasn't sure if you were gonna get to it or not :)
Juerd BooK: It's about unshifting. 14:06
tadzik I am, I'm just late :/
Ven np :)
Juerd BooK: It's whatever *starts* the process, in the implementation: my $x = identity; for @foo { $x op= $_ }
ShimmerFairy Juerd: prepend or append? (after all, appending means 4 / 4 / 1 / 1 / 1 ... would be identity)
Juerd ShimmerFairy: ^ 14:07
ShimmerFairy ah, alright then :)
Juerd But I read somewhere that it's actually a mathematical thing, widely accepted etc, and not really an implementation detail.
But the implementation explanation works for me
moritz if you talk about neutral elements of non-commutatitive operations, you have to talk about the side on which you apply it 14:08
and we don't want to go to such lengths in Perl 6
m: say [**]()
camelia rakudo-moar 036e19: OUTPUT«1␤»
BooK so [-] (); should give an error too
moritz now that's inconsistent
ShimmerFairy this page has some identities on it en.wikipedia.org/wiki/Identity_element
Juerd BooK: No, that's 0 14:09
ShimmerFairy moritz: in particular, that corroborates ** having an identity of 1 (so... "prepend" in direction of associativity?)
BooK Juerd, well - is not commutative
ShimmerFairy m: say [-]()
camelia rakudo-moar 036e19: OUTPUT«0␤»
tadzik llfourn: wait no more! :) perl6advent.wordpress.com/2015/12/...-grammars/ 14:10
post is up, sorry for being late
ShimmerFairy yeah, that's not right methinks. 0 - 5 would not leave things unmodified, and if you mean 5 - 0 then 5 / 1 would be good too :)
moritz m: say 0 - 0 - 3
camelia rakudo-moar 036e19: OUTPUT«-3␤»
llfourn is satiated
BooK I'd buy a "full meta" jacket
tadzik :D
moritz yes, something's inconsistent
Juerd Agreed, my explanation of 'without changing the outcome' appears to be incorrect. 14:11
ShimmerFairy Juerd: I think that's the point, it's just that perhaps &infix:<-> is a little confused :P
grondilu amazingly enough, you guys made me wonder if (Z, -) forms a group and if so, if it is an interesting one. 14:12
grondilu never wondered this before 14:13
m: say (1 - 2) - 3 == 1 - (2 - 3)
camelia rakudo-moar 240b9a: OUTPUT«False␤»
grondilu nope, non-associative.
14:14 trone joined
RabidGravy BooK, next time I get an email from some wearable merchandise company I'd forgotten I'd signed up with I'll make you one :) 14:14
moritz tadzik++ # advent post 14:15
ShimmerFairy grondilu: or more generally, (x - y) - z == x - (y - z) --> x - y - z == x - y + z , so only when z == 0, yes?
moritz tadzik: maybe link to Grammar::BNF?
tadzik duh
of course, thanks :)
moritz and maybe ecosystem => modules.perl6.org/ 14:16
darutoko is there a way to split string into array of letters? I'm trying split('') but it adds some "" into array 14:17
timotimo darutoko: that's what "comb" is for
14:17 cdg joined
Juerd m: say "hello world".comb 14:18
camelia rakudo-moar 240b9a: OUTPUT«(h e l l o w o r l d)␤»
darutoko timotimo, comb('') just retrurns array of empty strings
timotimo yeah, you want .comb()
darutoko oh thanks
timotimo you're welcome :)
Juerd darutoko: .comb('') gives you all occurrences of '' in the string. Just be glad it doesn't give an infinite number of them ;)
tadzik moritz: done, thanks :)
darutoko one more question 14:19
is there a way to check if string is number?
Juerd Why only one more? There's no limit on the number of questions you may ask :D
darutoko :)
BooK there might be a limit on the number of answers you get, though 14:20
Juerd darutoko: "is" a number is a bit hard, because there's no single definition for it.
darutoko integer
exept regexp 14:21
is there a smart match or smthg?
BooK m: say 34.WHAT
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»
14:21 jony joined
Ven does `my int1 @a[8];` currently promise contiguous access? 14:21
darutoko m: say "34".WHAT 14:22
camelia rakudo-moar 240b9a: OUTPUT«(Str)␤»
BooK m: say 34.WHAT ~~ Int # ?
camelia rakudo-moar 240b9a: OUTPUT«True␤»
BooK ncie
nice
14:22 jony_ joined
Juerd Well, you could say that something "is" an integer, if .Int stringifies back to the original value, like in: $foo.Int eq $foo, but that says that 05 is not an integer... 14:22
El_Che the support of nl-in made my code maginitudes faster! \o/
dj_goku m: say '1.1'.abs 14:23
camelia rakudo-moar 240b9a: OUTPUT«1.1␤»
dj_goku m: say '1.1'.abs.WHAT
camelia rakudo-moar 240b9a: OUTPUT«(Rat)␤»
El_Che big thx to the implementer
Juerd darutoko: If you have some specific definition of the kind of number format that you wish to support, you'll have to write a regex for that. If you don't have any definition, I'd suggest just assuming that the number is an integer and using it as such.
Skarsnik People familiar with working with SVG here? x)
BooK m: my @a=(34,"34"); .WHAT.say for @a; 14:24
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤(Str)␤»
dj_goku m: say '-1.1'.abs.WHAT
camelia rakudo-moar 240b9a: OUTPUT«(Rat)␤»
dj_goku m: say '-1.1'.abs
camelia rakudo-moar 240b9a: OUTPUT«1.1␤»
dj_goku hmm
BooK then you could define your own type and check against that
darutoko m: say "34".abs.WHAT
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»
darutoko dj_goku, thank you
Juerd Note that abs(-5) == 5 14:25
14:25 zakharyas left
Juerd Might not be the function you're looking for :) 14:25
darutoko its ok
I don't expepct negative
Juerd Why do you need to know if something is a number?
BooK m: say ( 0 + "34" ).WHAT
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»
timotimo this is not the fun you're looking for
Juerd I have the feeling you're doing something wrong :)
BooK aah venus still works
dj_goku m: say '34'.unival
camelia rakudo-moar 240b9a: OUTPUT«3␤»
14:25 koo8 joined
timotimo dj_goku: unival and a bunch of other functions only consider the first grapheme on a string 14:26
some only the first codepoint
Ven > my Int @a[8];
Method 'gist' not found for invocant of class 'NQPMu'
I recompiled a minute ago
moleculesoflife tadzik++ # nice advent post. Thanks!
dj_goku timotimo: ugh yeah I saw that after the output. :D
tadzik moleculesoflife: thanks, I'm glad you liked it :) 14:27
14:28 diakopter left
dj_goku m: say '34'.Int 14:29
camelia rakudo-moar 240b9a: OUTPUT«34␤»
dj_goku m: say '34'.Int.WHAT 14:30
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»
dj_goku m: say '1.1'.Int.WHAT
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»
dj_goku m: say '1.1'.Int
camelia rakudo-moar 240b9a: OUTPUT«1␤»
14:30 zakharyas joined
dj_goku m: say '1.1'.Rat 14:30
camelia rakudo-moar 240b9a: OUTPUT«1.1␤»
Ven $ ./install/bin/perl6 -v $ This is rakudo version 2015.11 # that normal¿
14:31 skids joined
llfourn tadzik++ great post 14:31
14:31 diakopter joined
moritz Ven: only if you built a rakudo 2015.11 14:32
Ven moritz: I'm on nom :|
14:32 virtualsue left
ilmari Ven: there should be more after that 14:32
moritz Ven: did you 'make instlal'?
*install
Ven moritz: yeah, I did.
ilmari $ perl6 -v 14:33
This is rakudo version 2015.11-353-g734549a built on MoarVM version 2015.11-34-gc3eea17 implementing Perl v6.b.
Ven yeah.
moritz Ven: oh, did you run Configure.pl?
Ven moritz: yeah
I have the same as ilmari
ilmari that was rakudobrewed on frideay
-e 14:34
14:35 hankache joined
timotimo tadzik: i think "We’re going to have grammars that parse grammars then generate grammars that are going to use to parse grammars. " falls apart at the end 14:37
tadzik: also, claiming that regexes in perl don't parse context-free grammars is wrong, i believe
tadzik well, regular expression don't, perl regexes do 14:38
I could note that perhaps
as for falling apart, I thought about that, but hey, I did say "we" :P
timotimo yea, that'd help
otherwise people may think you know nothing about regexes, jon snow.
lucs timotimo: I think I agree; s/that are going/that we're going/
tadzik heh
timotimo ah!
yes, thta's the right fix 14:39
gfldex tadzik: you could link to modules.perl6.org/
moleculesoflife m: say Date.new(); say Date.new(now); say Date.today();
camelia rakudo-moar 240b9a: OUTPUT«2015-12-24␤2015-12-08␤2015-12-08␤»
tadzik gfldex: I think I did
tony-o nine: any idea on how to avoid this error? travis-ci.org/tony-o/perl6-http-se...38634#L953
Juerd m: now.say 14:40
camelia rakudo-moar 240b9a: OUTPUT«Instant:1449585658.859186␤»
moleculesoflife When things are deprecated are they supposed to warn?
gfldex tadzik: you did indeed
Skarsnik like always
lizmat moritz: I had a slightly different approach, which just conflicted :-) 14:41
Skarsnik m: Data.new
camelia rakudo-moar 240b9a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/72XnFoTVw2␤Undeclared name:␤ Data used at line 1. Did you mean 'Date'?␤␤»
Skarsnik m: Date.new
camelia ( no output )
Skarsnik probably not up to date yet
tadzik timotimo: ok, I think I fixed it a little :)
gotta run for a while, bbs
lizmat moritz: let Date.new fail with: Christmas has come! Use Date.today for today, or Date.new('Christmas') for the next Christmas Eve
Juerd lol
m: now.Date 14:42
camelia rakudo-moar 240b9a: OUTPUT«Method 'Date' not found for invocant of class 'Instant'␤ in block <unit> at /tmp/lD2ZK1lRaD:1␤␤»
Juerd :(
lizmat and the ('Christmas') candidate would be the old Date.new()
nine tony-o: well, as the error message tells, don't use lib inside a module. Why does HTTP::Server::Async do this anyway?
Ven m: my Int @a[8]; say @a;
camelia rakudo-moar 240b9a: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/rvQCzp048C:1␤␤»
Juerd I don't really see why religious holidays should be hardcoded
14:43 virtualsue joined
Juerd Too many religions, too many dates. 14:43
tony-o nine: well, it's kind of useful to do 'use lib' in your tests ..
timotimo tadzik: except the "use grammars to parse grammars to generate grammars" sentence still is the way it was before :)
RabidGravy tony-o, surely for the tests the PERL6LIB or -Ilib will be inherited from the environment or you can "use lib" in the .t files 14:44
nine tony-o: in test files it's ok, just not in modules used by test files
14:44 Ch0c0late left
lizmat forgets about it 14:45
timotimo tadzik: tiny -1 for refering to "us", "the reader and me" as "men" :S
tony-o great 14:46
14:46 zakharyas left
timotimo tadzik: "tools that take the [ stuff ] the way" should read "away" 14:47
moleculesoflife Juerd: Christmas is meaningful to Larry, and Larry seems the type that can say "Merry Christmas" to anyone of any faith (or no faith) and come across as though offering a personal meaningful gift without being offensive.
timotimo "grammars are nothing else than a specialized kind of classes." seems to have an invisible space between link and period ... and it happens to break on my display there and put the period on the next line %) 14:48
Ven m: say (my Int @a[3] = 1..3);
camelia rakudo-moar 240b9a: OUTPUT«[1 2 3]␤»
Ven this fails locally :(
m: (my Int @a[8] = 1 .. 7).gist.say 14:49
camelia rakudo-moar 240b9a: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/rfgRm7soeZ:1␤␤»
timotimo tadzik: i wonder if your post should have called the grammar it's creating $grammar (or even \grammar) to surprise people who wouldn't expect "class", "grammar", "method" to be valid names for such things :P
my \method = "hi"; say method;
m: my \method = "hi"; say method;
camelia rakudo-moar 240b9a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QcKTDRD3LO␤Missing block␤at /tmp/QcKTDRD3LO:1␤------> 3my \method = "hi"; say method7⏏5;␤»
timotimo d'oh, i am forced to eat my own words 14:50
Skarsnik It's weird a token is not a class and you have to use EVAL
moritz Skarsnik: why would a token be a class? 14:51
Ven timotimo: is Int @a[8]; contiguous in memory? or only native types?
moritz Skarsnik: it's more like a method really
Skarsnik I don't know x) 14:52
moritz Ven: the array itself is contiguous in memory, but Int is a reference type
Ven moritz: right :).
14:52 moleculesoflife left
timotimo tadzik: nice post :) 14:53
Ven: only native types
Ven okay, thanks
RabidGravy tadzik++ 14:54
Ven so, for `Int @a`, it's only faster because you know you don't need to grow the array? (you need bounds checking anyways)
14:56 yakudza joined
moritz Ven: and I guess some day we'll be able to infer .[] return types from Int @a 14:58
Ven m: my int @a[8]; @a[3] := 3; say @a
camelia rakudo-moar 240b9a: OUTPUT«Cannot bind to a natively typed array␤ in block <unit> at /tmp/AvUBGQajMe:1␤␤»
Ven wut?
Skarsnik wonders if he should directly incorporate NC::TypeDiag in NativeCall (or part of it) 14:59
timotimo binding requires a container; native arrays don't have containers for their contents
Ven m: my int @a[8]; @a[3] = 3; say @a
camelia rakudo-moar 240b9a: OUTPUT«[0 0 0 3 0 0 0 0]␤»
Ven m: my int @a[8]; @a[3] += 3; say @a
camelia rakudo-moar 240b9a: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/Lh4FOibkYV:1␤␤»
Ven ah, here's the error I was seeing. I inferred its source incorrectly.
timotimo ah, that actually ought to give you a NativeRef for that slot 15:00
Ven so that's a bug?
timotimo more like a NYI
but yeah
Ven m: my int $a; $a++; say "alive"; my int @a[1]; @a[0]++; say "alive2"; 15:01
camelia rakudo-moar 240b9a: OUTPUT«alive␤Cannot call postfix:<++>(Int); none of these signatures match:␤ (Mu:D $a is rw)␤ (Mu:U $a is rw)␤ (Int:D $a is rw)␤ (int $a is rw)␤ (Bool:U $a is rw)␤ (Bool:D $a is rw)␤ (Num:D $a is rw)␤ (Num:U $a is rw)␤ …»
moritz timotimo: how would the postcircumfix even know that it's supposed to return a NativeRef?
timotimo it has to always do that
Ven ^ that's the surprising part, timotimo
moritz timotimo: not really, because normal assignment uses ASSIGN_POS or whatever that method is called
timotimo oh 15:02
that's a good point
so we'll just return a nativeref when we have AT_POS and keep ASSIGN_POS fast&cheap
Ven so the code I just ran is NYI as well?
ah, no, there's no $
m: my int \a = 0; 15:04
camelia rakudo-moar 240b9a: OUTPUT«Type check failed in binding; expected int but got Int␤ in block <unit> at /tmp/xF5GXDe0St:1␤␤»
15:04 AlexDaniel joined
Ven huh. 15:04
m: my int $b = 0; my int \a = $b;
camelia rakudo-moar 240b9a: OUTPUT«Type check failed in binding; expected int but got Int␤ in block <unit> at /tmp/j4smOQz31N:1␤␤»
_nadim So .... where does the documentation go in a module? Half borked doc in the README.md won't do, right?
15:04 glaukommatos joined
Skarsnik _nadim, for now it's the most visible spot 15:08
_nadim But is not good enough, I'd rather do the right thing now or I will get inthe habit of not writting docs
15:09 pmurias joined, glaukommatos left
Skarsnik Probably a better thing is to write pod in the main module and extract the pod to generate a README.pod 15:09
_nadim and how do we "build", "test", "dist" now?
are there pod2xx modules?
Skarsnik But I don't know if there is a tool to extract a tool from a modules x) 15:10
_nadim please tell me there is some semblance of a tool chain
Skarsnik *pod
_nadim is having cold sweats
BooK _nadim: version 1.0 is not out and you want something that took at least 5 or 6 years to stabilize in perl 5 15:11
15:12 hankache left, hankache joined, hankache left
Skarsnik We don't have a cpan like, so writing modules is very lax now 15:12
_nadim BooK: are you serving me a "after Christmas"? packaging, testing, ... basic stuff
pmurias is glad the Date.new "joke" is being removed
BooK I'd serve it if I knew Perl 6 :-) 15:13
15:13 jme` joined
_nadim Skarsnik: I get that, I think a basic tool chain would actually help to attract people. 15:13
Skarsnik what do you mean basic tool chain?
BooK everything perl5+cpan have, only better 15:14
_nadim BooK: I said basic ;)
15:14 donaldh joined, lichtkind joined
Skarsnik creating a perl6 modules goes this way for now: Create a github repository, write a Meta.info, put your stuff in lib/ write some test, eventually a travis.yml. and that it 15:14
_nadim something to extract documentation and a tool to readit, ala perdoc, wouldn't hurt new comers 15:15
dalek c: 673864a | [email@hidden.address] | doc/Language/functions.pod:
Remove typo
doc: 3b1bb5a | (Zoffix Znet)++ | doc/Language/testing.pod:
doc: Add actual code examples for like/unlike
BooK what I like about cpan is that there's one canonical place to look for stuff
github feels like a lesser evil, but definitely not a long term solution
15:15 dalek joined, ChanServ sets mode: +v dalek
Skarsnik modules.perl6.org does it for now x) 15:15
15:15 CIAvash joined
_nadim it does, has anyone talked to the metacpan ppl? 15:16
AlexDaniel m: my int @a[8]; say @a[3].WHAT
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»
Skarsnik _nadim, there are some work for a cpan for perl6. the short answer : "It's not that easy" 15:17
Ven timotimo: `int @a[8]` can be used with nativecall, right? does it give anything better over `int @a`? 15:18
Skarsnik no
_nadim I am not, not too much at least, more silly than anyone else, and here I am preparing to write tests, I know where to put them, hmmmm how do I run them? I understand that those look like useless details but if people are going to do P6 on a scratch pad and then wait, we may not get as many people using it as we wish.
Skarsnik NC will need a CArray[int]
moritz _nadim: perl6 -Ilib t/your-test.t
_nadim: PERL6LIB=lib prove -e perl6 t/ 15:19
Ven Skarsnik: so, size of the natively typed array "only" gives contiguous memory guarantee?
_nadim p5 prove?
moritz _nadim: yes (though a p6 prove is being worked on) 15:20
leont++
_nadim Has someone taken on himself all those nasty management questions?
moritz but the protocol is the same
Skarsnik Ven, no idea, NC is quite... weird x)
moritz _nadim: not yet. THanks for volunteering!
Skarsnik A big step will be a more complete doc about writing modules :) 15:21
_nadim I may, BooK will help me, I vonlonteer him
15:21 csd_ joined
BooK I first need to write my first module 15:21
RabidGravy lucasb++, added documentation for C<@> and C<%> anon variables as well, that's probably what killed dalek
_nadim that's what I am doing right now too
BooK so you're already ahead of me!
Skarsnik for now it's mainly "look at other modules"
Ven moritz: not sure how to get a post as "preview" on wordpress?
okay, found it 15:22
moritz Ven: you press the "preview" button :-)
DrForr I just use -Ilib, that's why I removed the @*INC stuff from my libraries instead of adding 'use lib'. But that's just me.
Ven moritz: can you give me your input on perl6advent.wordpress.com/?p=3504&...frame=true ?
moritz Ven: subject should start with "Day $n - "
_nadim BooK: let's talk a bit later, maybe I can get you to do something for once ;)
Ven moritz: it doesn't have a day yet :P
jnthn Some people seem to have utterly missed the point that 6.christmas is about declaring a stable *language* so that people will feel investing time on advancing the infrastructure is worthwhile, because their work won't break next week/month. It is *not* some magical "we have a super mature ecosystem out of nowhere" point; I don't know why anyone would reasonably expect that. :) 15:23
moritz Ven: "PDL" could be a link
BooK I have a micro-hackathon (4 hours) planned for Friday evening
jnthn I'm really happy people already are doing a great amount of work on our documentation, module ecosystem, and so forth.
Especially while we're still tightening up the last things before Christmas and so have visited some icky breaking changes on them. 15:24
BooK jnthn: but I thought Perl was all about magic?
Ven moritz: done
moritz Ven: IMHO it needs some kind of punch line
Ven moritz: definitely does. There's no "end" :) 15:25
_nadim we are happy too, it's just that we can't do like Napoleon, the administration will not follow, because this is a spaceship and they are hard to follow, specially when they travel in hyperspace.
Ven :(*
jnthn But I'm under no illusion that we'll still have lots and lots to do in that area.
Skarsnik unrelated. Should NativeCall be renamed or something? I think it's really confusing to have native perl6(npq?) type like int and that get mixed with "native/ctype"
moritz Ven: for example, doing the math about how much storage my int @a[4;4] vs. normal arrays use, ,or something
_nadim jnthn: I think a lot of people are very happy already, I am. 15:26
moritz Ven: or even better, a benchmark of matrix multiplication, one using ordinary arrays, one using NSA
lucasb Thanks for writing those docs, RabidGravy++ :)
jnthn _nadim: I'm glad; I wasn't addressing you in particular, just a general sentiment that I've seen.
15:27 xpen left, virtualsue left
_nadim jnthn: I got that :) IMHO, the super nifty stuff can wait for the little practical things to be in place, once I get a little hold of this, I may be able to help. 15:28
jnthn :-)
lucs In the REPL, can I force "use My:InDevelopment::Module" to load again?
RabidGravy jnthn, I still think we should aim for the 500 modules in the ecosystem, just *because* ;-) 15:29
jnthn RabidGravy: Works for me ;-)
Skarsnik lol
_nadim RabidGravy: how many are they right now? not that it matters.
Skarsnik around 470
Ven moritz: ah, yeah. int is int8 on 64-bit machines, right? so I can just do 4*4*8 bytes :P 15:30
_nadim easy!
Skarsnik int is int64?
15:30 zakharyas joined
jnthn Skarsnik: In Rakudo, always, yes. By the Perl 6 design docs, it'd be allowed to be 32-bit too. 15:30
Ven Skarsnik: " int64 (aka int on 64-bit machines)" from S09 15:31
RabidGravy 474 in the META.list
AlexDaniel thinks that we should not pollute our module directory with bullshit
zengargoyle good * #perl6
jnthn (And it's not actually a Rakudo thing, more a consequene of he underlying VMs)
RabidGravy so #perl6++ doing good
jnthn *the
Skarsnik Oh it's something I should add in my nc::typediag, not accept int in cnative stuff 15:32
AlexDaniel in fact, we've just seen how one module was removed. And that's good!
15:33 AlexDaniel left
zengargoyle is the %?RESOURCES thing back to a point where it should possibly work? 15:33
15:34 lucasb left
Ven jnthn: my int @a[4;4] => 4*4*8 bytes, right? what's the "overhead"? 15:34
RabidGravy I added a module about six months ago, noticed that tony-o had made something almost identical simulataneously, merged some of the functionality and removed my module within less than a week
zengargoyle, yes
zengargoyle RabidGravy: cool, maybe i'll try and get my .so using module working again. :) 15:35
RabidGravy in fact it definitely does work as I properly fixed and tested Sys::Utmp and Sys::Lastlog yesterday
dalek kudo/nom: c60f405 | lizmat++ | src/core/Temporal.pm:
Make Date.new an exception

Christmas has come. Mention Date.today, and the new Date.new("Christmas")
kudo/nom: 9476601 | lizmat++ | src/core/ (2 files):
Add .Date/.DateTime coercers to Instant
zengargoyle extra cool, code pilfering sources
Ven lizmat: you didn't mention Date.new('christmas')? 15:36
dalek kudo/fix-multi-binary-dists: 06a7c74 | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:
Use distribution's name to find binary resources

Currently, when a distribution has binary/script files, we install them as resources owned by the distribution, as well as wrapper scripts that the shell can find via PATH that use the CompUnit API to dispatch to the corresponding resource.
Some distributions install multiple binaries; for example, panda installs panda, panda-build, panda-test, etc. The wrapper scripts currently use the basename of the wrapper script to locate the distribution that contains the corresponding binary resource, rather than the name of the distribution that binary is a part of.
This change makes wrapper scripts use the distribution name to find dist metadata, which will then be used to locate the resource for the actual binary.
jnthn Ven: Yes; overhead is hard to be specific about 'cus in part it depends on malloc's overhead too, but something like 64 bytes for GC header, 64 bytes for pointers to the dimensions and data stroage.
lizmat well, my original commit did, then it conflicted with moritz's and then I gave up
jnthn Ven: That's on Moar. On JVM, not totally sure :)
Ven jnthn: that's fine by me :) 15:38
dj_goku m: say 1 15:39
camelia rakudo-moar 240b9a: OUTPUT«1␤»
Skarsnik m: 'use NativeCall; my $a = "NativeCall", say ${"$a::EXPORT::DEFAULT::"}.keys;
camelia rakudo-moar 240b9a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5rThkhPI92␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/5rThkhPI92:1␤------> 3l", say ${"$a::EXPORT::DEFAULT::"}.keys;7⏏5<EOL>␤ expecting any of:␤ sing…»
Skarsnik m: use NativeCall; my $a = "NativeCall", say ${"$a::EXPORT::DEFAULT::"}.keys; 15:40
camelia rakudo-moar 240b9a: OUTPUT«0..0␤»
Skarsnik hm
Ven jnthn: okay, so int[2;4] is 64+64+64 bytes 15:41
jnthn 2 * 4 * 8 + overhead
And yeah, you got the overhead right I think
Ven jnthn: I meant 64 for values, and 64+64 for the overhead you described 15:42
jnthn oh wait, I screwed up that overhead totally :P
Ven okay :) 15:43
jnthn 16 bytes for GC, 16 bytes for body, 16 bytes for the dimensions list, then the 64 for the data storage. :)
Ven ah, okay.
Juerd Perl 5 is hard. Or, well, remembering to type -> instead of . is.
Skarsnik I don't get how to access a variable with her name ~~ 15:44
Juerd m: now.Date
camelia rakudo-moar 240b9a: OUTPUT«Method 'Date' not found for invocant of class 'Instant'␤ in block <unit> at /tmp/PRsjusBRN5:1␤␤»
Ven moritz: added the informations jnthn++ gave me :)
geekosaur m: my $foo = "bar"; my $x = "foo"; say ::($x) 15:46
camelia rakudo-moar 240b9a: OUTPUT«No such symbol 'foo'␤ in block <unit> at /tmp/VZh0zZqI4N:1␤␤Actually thrown at:␤ in block <unit> at /tmp/VZh0zZqI4N:1␤␤»
geekosaur right, don't think that does lexicals
ilmari m: my $foo = 'bar'; my $x = '$foo'; say ::($x)
camelia rakudo-moar 240b9a: OUTPUT«bar␤»
dj_goku m: Date.new()
camelia ( no output )
ilmari geekosaur: the sigil is part of the name
dj_goku m: say Date.new()
camelia rakudo-moar 240b9a: OUTPUT«2015-12-24␤»
15:46 zacts joined, cygx joined
cygx o/ 15:46
yoleaux 7 Dec 2015 01:42Z <japhb> cygx: Looks to me like you fixed it, thanks!
cygx m: sub foo { { die "xxx"; CATCH { fail $_ } } }; foo() or say 42 15:47
camelia rakudo-moar 240b9a: OUTPUT«42␤»
cygx m: sub foo { try { die "xxx"; CATCH { fail $_ } } }; foo() or say 42
camelia rakudo-moar 240b9a: OUTPUT«xxx␤ in block at /tmp/Bh5kHkm_VK:1␤ in sub foo at /tmp/Bh5kHkm_VK:1␤ in block <unit> at /tmp/Bh5kHkm_VK:1␤␤»
geekosaur p5think, sorry :/
15:47 zacts is now known as Guest24432
geekosaur anyway Skarsnik was that what you meant? 15:47
cygx ^ is that supposed to happen?
15:47 cognominal joined
Skarsnik Oh yeah the ::() 15:47
I though it was only for type x) 15:48
Ven jnthn: if you have some time, maybe you can give me your input on perl6advent.wordpress.com/?p=3504&...frame=true ? 15:49
[Coke] (Date.new) -1 on this still returning Christmas. 15:50
Skarsnik hm
use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("$a::EXPORT::DEFAULT::").keys.elems; 15:51
15:51 Guest24432 left
Skarsnik m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("$a::EXPORT::DEFAULT::").keys.elems; 15:51
camelia rakudo-moar 947660: OUTPUT«Could not find symbol '&DEFAULT'␤ in block <unit> at /tmp/ny8XyNLMEu:1␤␤Actually thrown at:␤ in block <unit> at /tmp/ny8XyNLMEu:1␤␤»
dj_goku m: {die "xxx"; CATCH { default { say $_.Str } }}
camelia rakudo-moar 947660: OUTPUT«xxx␤»
dj_goku cygx: do you want something like that? ^^
15:52 khw joined
dj_goku m: {die "xxx"; CATCH { default { say .Str } }} 15:52
camelia rakudo-moar 947660: OUTPUT«xxx␤»
psch m: my \cap = \(:1a, :2b, :3c); sub f(:$a, :$b, *%_) { say "f ok" }; sub g(*%_) { say "g ok" }; f |cap; g |cap; say &g.signature ~~ &f.signature; say &f.signature ~~ &g.signature
camelia rakudo-moar 947660: OUTPUT«f ok␤g ok␤False␤False␤»
dj_goku m: {die "xxx"; CATCH { default { .Str.say } }}
camelia rakudo-moar 947660: OUTPUT«xxx␤»
Skarsnik m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems;
cygx dj_goku: I was wondering why adding the try makes the exception blow up
camelia rakudo-moar 947660: OUTPUT«Could not find symbol '&DEFAULT'␤ in block <unit> at /tmp/c98N4rqMp7:1␤␤Actually thrown at:␤ in block <unit> at /tmp/c98N4rqMp7:1␤␤»
psch yeah, somewhere there is that Signature.ACCEPTS(Signature) bug... :/
Skarsnik why that fails, NC export stuff like nativesizeof 15:53
dj_goku cygx: do you need a try though?
15:53 vividsnow left
psch m: say :(Int :$a) ~~ :(Int :$a) 15:53
camelia rakudo-moar 947660: OUTPUT«True␤»
cygx dj_goku: I'm interested in why it happens, and if it's supposed to happen
psch m: say :(Int :$a, *%_) ~~ :(Int :$a, *%_) 15:54
camelia rakudo-moar 947660: OUTPUT«False␤»
lucs Is there something like P5's "do 'somefile'"?
[Coke] also, -1 on shipping a christmas release -with deprecations in it-
lucs (I want to use it in the REPL, so I can quit it, and 'use' my devel modules again.)
cygx lucs: not sure, EVALFILE perhaps? 15:55
jnthn Ven: "We can very easily the size necessary to store the elements for"
ugexe i wouldnt mind an easter egg deprecation on `use CGI;`
jnthn You accidentally out a verb? :)
Ven thanks
lucs cygx: Aha, I'll look that up, thanks.
dj_goku cygx: doc.perl6.org/language/exceptions#C...exceptions
jnthn Ven: I'm confused, you say ++ will not work but then show that it does ;) 15:56
Ven jnthn: I say it doesn't work without a container, and there's an explicit note that, for $a, there's a container
15:56 lucasb joined, zacts|pi joined
jnthn @a[0]++ # damn, that *should* work.. 15:56
Wonder why on earth it doesn't...
dj_goku cygx: searching doc.perl6.org I can't find try :( I know it is there.
lizmat [Coke] Indeed, that's why my plan was to make Date.new die *now*
Ven that's poorly worded, though..
jnthn: no container? :P 15:57
jnthn No, it's 'cus I didn't implemnet the multi-dim native refs yet :(
D'oh
Ven ah, oke
jnthn I think that'll be fixed before 6.c
[Coke] IMO, Date.new should return now, not die. But sure, an exception is better than an arbitrary date that isn't today. 15:58
15:59 lostinfog joined
lizmat Date.new should die at 6.c maybe later, when all the code that depended on Date.new returning Christmas has died, we can make Date.new return now 15:59
for now, I would say, use "now.Date" or "now.DateTime" instead
lucasb Can we have a candidate Date.new('lucas') that outputs my birthday?
just kidding :) 16:00
[Coke] crap, there was a bisect going on in my daily roast run directory for no reason I can see.
that's 3 days of runs lost. grumble. 16:01
lizmat m: use MONKEY-TYPING; augment class Date { multi method new("lucas") { Date.new(2015,1,1) } }; say Date.new("lucas") # lucasb
camelia rakudo-moar 947660: OUTPUT«2015-01-01␤»
16:03 vividsnow joined
lucasb about having to wait with a deprecation, I think no serious code depends on the fact that Date.new returned the christmas date. so, iow, I wouldn't wait to make it the same thing as Date.today 16:05
16:05 yakudza left
RabidGravy [Coke], that'll be the naughty bisecting fairies 16:06
16:07 vividsnow left 16:08 sufrostico joined, donaldh left 16:10 rindolf joined
dalek c: b9750d2 | RabidGravy++ | doc/Language/variables.pod:
Add %?RESOURCES
16:12
RabidGravy decided it was a documentation day
16:13 ajs_ joined
Skarsnik nice :) 16:15
RabidGravy It's not quite as stated in s22 but I think we can all live with that 16:20
_nadim does PERL6LIB support a separator? eg: PERL6LIB=lib:t well I know it doesn't but is there a way to do it? 16:22
16:23 kaare_ left
RabidGravy I think it does support a separator, just not ':' 16:23
_nadim RabidGravy++ for the documentation day
16:23 kaare_ joined 16:24 zacts|pi is now known as zacts
hoelzro .botsnack 16:25
yoleaux :D
07:16Z <MadcapJake> hoelzro: I pushed my PR, the problem was my install. using prefix failed miserably for me so I just let it install right inside rakudo directory! :D I was wondering if you could point me to where I could add a commandline arg? If I add a "banner", I want there to be a `-q` or `--quiet` option for removing the banner.
hoelzro o/ #perl6
_nadim: I think it's , now
[Coke] (bisect) UGH wrong machine. :)
hoelzro so PERL6LIB=lib,t
[Coke] wonders why we ended up with a comma there.
16:26 spaceships joined, donaldh joined
_nadim wonders too 16:26
[Coke] that said, we're still missing several days of commits from my daily runs. run in progress now, hopefully that'll stick.
_nadim hoelzro: it is comma, thank you :9 16:27
hoelzro I also wonder 16:28
if people have time, could they sanity check my CURLI fix? github.com/rakudo/rakudo/pull/625 (cc: nine)
16:28 xpen joined
Skarsnik _nadim, put use lib './' if you have test that need it x) 16:28
RabidGravy I remember the discussion, I think it was the least likely to be in some path spec of any potential OS
dj_goku is there a list of documentation updates needed before christmas? 16:29
lucasb that comma was from earlier in the year when those prefixes "file#", "inst#" were introduced, right? Now, with curli, is there still a need for it? (I don't fully understand the details, but I wish PERL6LIB was a more unix-y pathy variable and used ":")
16:29 pmurias_ joined
geekosaur ut then you need to deal with a different separator on windows 16:29
RabidGravy lucasb, but then you'd have to special case e.g. Windows C:/stuff/lib
Skarsnik why not ; ? 16:30
16:30 AlexDaniel joined
lucasb indeed, I almost never consider windows :) idk how other tools handle the path env var idiom with regard to ":" vs ";" in windows 16:31
16:32 pmurias left 16:33 xpen left
ajs_ Rakudo BUILDALL parameter behavior really boggling me at: gist.github.com/anonymous/80e3ad83226dd936865e 16:36
RabidGravy wonders idly whether there should be a .path-separator in $*SPEC
ajs_ Shouldn't that |c.hash return the {...} part of |c which are the named args? It seems to return an empty Map 16:38
16:38 Ven left
psch m: say :(*%_) ~~ :(Int :$x, *%_) # i think this is also bugged..? 16:42
camelia rakudo-moar 947660: OUTPUT«False␤»
tadzik timotimo: oh, I thought it's "men" for gender-neutral and "man" for male :|
psch but we're testing for False for that case...
hrm 16:43
timotimo _nadim, Skarsnik, BooK, we do have a bit of a module authoring tool chain, it's called "mi6". i haven't checked it out yet
psch i keep mixing up the semantics for Signature.ACCEPTS(Signature) :/
lizmat
.oO( we are all Devo )
16:44
16:44 kyclark joined
cygx github.com/rakudo/rakudo/pull/626 16:44
psch &a.signature ~~ &b.signature means '&b accepts at least all Captures &a accepts'..? 16:45
m: say :(Int $x, *%_) ~~ :(*%_)
camelia rakudo-moar 947660: OUTPUT«False␤»
Skarsnik timotimo, oh, it look interesting
psch well, one of those two has to work i think :S 16:46
kyclark I'd like to understand the "so" operator: lpaste.net/146698
lizmat cygx: how is that holding up with the spectest?
cygx lizmat: I'll write a test for it, then I can do a run 16:47
I have no idea what my baseline is, though...
lizmat m: say ?(2 == <1 2 3>.any) # kyclark
camelia rakudo-moar 947660: OUTPUT«True␤»
lizmat kyclark: aka a lower precedence version of prefix ?
kyclark It just forces a (Bool)? 16:48
psch kyclark: Bool coercion collapses Junctions into a single Bool value, yes
moritz kyclark: doc.perl6.org/language/faq#What_is_so%3F
lizmat m: say ?(2 == <1 2 3>.all) # kyclark
camelia rakudo-moar 947660: OUTPUT«False␤»
kyclark lizmat, that helps
Is there a mnemonic for "so"? Is it short for something?
ChristopherBotto kyclark: Imagine an argument between children: is not! is so! is not! is so! 16:49
16:49 n0tjack joined
ChristopherBotto kyclark: It is just the opposite of not 16:50
lizmat kyclark: well, that is "so True" :-)
16:51 hankache joined
kyclark One thing I love about the Haskell REPL is the ability to ask the type of an operator. Is there any way to ask something like "so" what it takes and returns? :t so ??? 16:52
psch kyclark: you can introspect the Signature of any Routine
kyclark Ah, please tell me how! 16:53
psch well, Block, actually, but Routine isa Block
AlexDaniel kyclark: you can also look at the docs doc.perl6.org/routine/so
Skarsnik m: say so.^.perl
camelia rakudo-moar 947660: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SZ5tnwQ_Xy␤Prefix so requires an argument, but no valid term found␤at /tmp/SZ5tnwQ_Xy:1␤------> 3say so.^7⏏5.perl␤ expecting any of:␤ dotty method or postfix␤»
lucasb kyclark: I can call .WHAT on some value to know what it is, but idk if it's just what you asked :)
*you can call...
geekosaur you missed a method name for the metaclass
lizmat m: say &so.WHAT
camelia rakudo-moar 947660: OUTPUT«(Sub)␤»
psch m: say &so.candidates # all the signatures for all candidates 16:54
camelia rakudo-moar 947660: OUTPUT«(sub so (Mu $x) { #`(Sub|57004728) ... })␤»
psch 'cause you might get the Signature for the proto or something otherwise, which might not be helpful
m: say &so.signature # this is a bit interesting though...
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»
16:55 lolisa joined
Skarsnik hm candidates does not give you the return type? 16:55
kyclark BTW, one rakudo I have prints "^[[A" when I hit the up arrow for the previous command, another works fine. What do I need to do to fix that?
hoelzro kyclark: you could use rlwrap
or install Linenoise
MadcapJake: I think to add a command line switch, you'll need to look at src/main.nqp
psch m: multi f(Int $x) returns Bool { }; say &f.candidates
camelia rakudo-moar 947660: OUTPUT«(sub f (Int $x --> Bool) { #`(Sub+{Callable[Bool]}|73246352) ... })␤»
psch Skarsnik: it does, but &so doesn't declare a return type
AlexDaniel oh 16:56
ChristopherBotto keyclark: It's like !! in Perl 5 (see my question about '!!' at stackoverflow.com/questions/2168406)
AlexDaniel we need a prefix
Skarsnik oh yeah, most of core stuff is not typed x)
AlexDaniel m: .say for &prefix:<so>.candidates
camelia rakudo-moar 947660: OUTPUT«sub prefix:<so> (Bool:D \a) { #`(Sub|48396840) ... }␤sub prefix:<so> (Bool:U \a) { #`(Sub|48396992) ... }␤sub prefix:<so> (Mu \a) { #`(Sub|48397144) ... }␤»
ChristopherBotto m: so !! True;
camelia rakudo-moar 947660: OUTPUT«WARNINGS:␤Useless use of "so " in expression "so !" in sink context (line 1)␤»
psch AlexDaniel++
ChristopherBotto m: True;
camelia ( no output )
ChristopherBotto m: say !! True; 16:57
camelia rakudo-moar 947660: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oQHn8tZcnT␤Two terms in a row␤at /tmp/oQHn8tZcnT:1␤------> 3say !!7⏏5 True;␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statem…»
psch wasn't sure it was a prefix, tried the sub form first and it worked... although that probably dispatches to the categorial :)
ChristopherBotto m: say so True;
camelia rakudo-moar 947660: OUTPUT«True␤»
AlexDaniel psch: any idea how can I see the return type?
ChristopherBotto m: say so '';
camelia rakudo-moar 947660: OUTPUT«False␤»
ChristopherBotto m: say so '0';
camelia rakudo-moar 947660: OUTPUT«True␤»
psch AlexDaniel: prefix:<so> doesn't declare a return type
m: multi f(Int $x) returns Bool { }; say &f.returns # this is the general case 16:58
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»
psch m: multi f(Int $x) returns Bool { }; say &f.candidates>>.returns # *this* is the general case
camelia rakudo-moar 947660: OUTPUT«((Bool))␤»
16:58 lucasb left, molaf joined
ChristopherBotto m: say so Mu; 16:58
camelia rakudo-moar 947660: OUTPUT«False␤»
ChristopherBotto m: say so Mu.Str; 16:59
camelia rakudo-moar 947660: OUTPUT«Use of uninitialized value of type Mu in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/6aC0YDvMjH:1␤False␤»
ChristopherBotto m: Mu.Str.say;
camelia rakudo-moar 947660: OUTPUT«Use of uninitialized value of type Mu in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/58Hr3mVPOn:1␤␤»
ChristopherBotto m: Mu.say; 17:00
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»
ChristopherBotto m: say Mu;
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»
AlexDaniel psch: okay, it looks like you are right
[Coke] You can also send camelia private messages, btw.
lucs So, for a new module, .travis.yml, META.info, or what? (any docs on that?) 17:01
AlexDaniel psch: though here it mentions that return type is Bool:D doc.perl6.org/routine/so
lucs: META.info for sure, travis not required but recommended
Skarsnik lucs, try mi6 it look nice :)
lucs AlexDaniel: Okay, thanks. 17:02
Skarsnik: mi6?
Skarsnik github.com/shoichikaji/mi6
lucs Okay, will look, thanks :)
Skarsnik Something intesting could be to force travis to rebuild the ecosystem when doing a new release of rakudo 17:03
psch AlexDaniel: fwiw, declaring a return type always costs at least a mixin, which might be a reason we haven't been particularly diligent with adding them
17:03 Ven joined
psch although, in general, i'd be in favor for clear-cut cases like &so (or &prefix:<so>) 17:03
Skarsnik m: .say for &prefix:<if>.candidates 17:04
camelia rakudo-moar 947660: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_48p5kTCmo␤Undeclared routine:␤ prefix:<if> used at line 1. Did you mean 'prefix:<~>', 'prefix:<->', 'prefix:<so>', 'prefix:<+>', 'prefix:<!>'?␤␤»
17:05 rurban left 17:06 pmurias_ left
hoelzro MadcapJake: you'll need to edit src/main.nqp to add the flag, and edit Perl6::Compiler again to implement it 17:07
17:08 zacts is now known as acts, acts is now known as zacts
RabidGravy Skarsnik, I'm not sure if there is a way to get a github webhook from a third party repository 17:09
but would be cool yes
ChristopherBotto [Coke]: How do you message camelia privately tried several variations of "/msg m: say so True;"
RabidGravy it appears the bot doesn't respond to privmsg 17:10
ChristopherBotto s/privately tried/privately? I tried/
dj_goku ChristopherBotto: /msg camelia p6: say True?
nine How on earth is it possible that I call $obj.foo and inside the foo method $self is a completely different object than $obj?
hoelzro nine: role punning? 17:11
dj_goku ChristopherBotto: are you registered and identified?
ChristopherBotto dj_goku: Oh, it opens up a new tab! Thanks!
dj_goku ChristopherBotto: lol no problem.
RabidGravy oh so it does 17:12
dj_goku in irssi it does that.
nine hoelzro: I guess no. Those objects have nothing in common
hoelzro =/
that's the only thing I've seen that does something like that
17:12 joeschome joined
dalek kudo/nom: fbba428 | cygx++ | src/core/IO/Handle.pm:
make IO::Handle.open fail when nqp::open dies
17:13
kudo/nom: d3e89a5 | lizmat++ | src/core/IO/Handle.pm:
Merge pull request #626 from cygx/open-fail

make IO::Handle.open fail when nqp::open dies
joeschome Hello
AlexDaniel hi!
RabidGravy nine, does anything do callwith in there?
ChristopherBotto Here's how private messaging camelia works, in case anyone is wondering (just don't leave any spaces at the beginning):
/msg camelia m: say so True
joeschome I am thinking of learning Rust & Perl6; do you think the two will work together well? 17:14
AlexDaniel you can also /notice camelia
nine $obj is an object of a runtime created class while self is the Perl6Callbacks object that's created only once. The only connection is that one of Perl6Callbacks' methods is in the call stack 17:15
lucs p6doc still uses @*INC ? :( 17:16
AlexDaniel joeschome: what do you mean by “will work together well”?
joeschome So what im thinnking is Rust would be good for low level and perl for more abstract
RabidGravy If Rust can make dynamic libraries it might work, though it doesn't appear to do anything Perl 6 can't 17:17
joeschome So maybe network concurancy and memory management in rust and string and file parsing in perl 17:18
dj_goku joeschome: I would suggest just trying both.
17:18 marchelzo joined
marchelzo hi 17:18
nine WTF? With method call_context() { note self.^name }; I get the wrong self, while with method call_context(\SELF:) { note SELF.^name } it's correct!
AlexDaniel joeschome: hm, interesting question. I think that if I were you I'd go C and Perl 6. The reason is that you can use NativeCall to call stuff written in C from Perl 6. Well, unless you can use NativeCall with Rust, I'm not sure
marchelzo: hello! 17:19
nine I really start to suspect that there's a rakudobug to be found here
marchelzo is the MoarVM startup time going to get significantly faster, or is it bound to be slow?
AlexDaniel marchelzo: how slow it is for you?
tadzik hm, I honestly find it quite fast. How slow is it for you, and how do you measure it?
17:19 n0tjack left
joeschome What im thinking is I know myself and I think rusts type safty will save me a lot of headache; however i love perl6 regex engine 17:20
marchelzo I haven't used it much, but from what I've read it's even worse than the JVM. I've heard it takes several seconds to start, rendering it useless for small command-line programs. It's making me hesitant to invest time into learning Perl 6, despite the fact that the language looks really interesting.
AlexDaniel marchelzo: look
m: say 'hello world' 17:21
camelia rakudo-moar 947660: OUTPUT«hello world␤»
nine marchelzo: it's about 100ms here
dj_goku joeschome: doesn't perl6 have some type safety built in?
psch marchelzo: where'd you read MVM is slower than the JVM?
marchelzo Hmm... has it improved a lot recently?
dj_goku m: my Int $i = 'str';
camelia rakudo-moar 947660: OUTPUT«Type check failed in assignment to $i; expected Int but got Str␤ in block <unit> at /tmp/YqvjM7FyMO:1␤␤»
tadzik marchelzo: oh, you do read reddit, don't you? :)
AlexDaniel j: say 'hello world'
tadzik I saw that comment too, and contested it
camelia rakudo-jvm 6c0f93: OUTPUT«hello world␤»
joeschome Im sure it does so that brings me to my next question is perl6 better at systems programing that perl5
tadzik moarvm has always been MASSIVELY faster at startup than jvm
dj_goku joeschome: it is probably to early to say either way. 17:22
psch AlexDaniel: j: has nothing to do with jvm startup time, it's slow for all the other reasons r-j is slow :)
17:22 yqt joined
dj_goku joeschome: it is what you make it. 17:22
marchelzo I originially read it in this comment: www.reddit.com/r/programming/comme...on/cxfs7gq
But it looks like the author has editited it.
joeschome Ive always been under the "assumption" that perl is not ideal for systems programing.... I am willing to be wrong. 17:23
Skarsnik rakudo was slow without precomp with lot of module
nine joeschome: define systems programming
dj_goku joeschome: what do you mean by systems programming?
tadzik it still is with precomp and with a lot of modules
well, slower :) 17:24
marchelzo so what is rakudo? the compiler? it can emit jvm bytecode or moarvm bytecode?
tadzik yes
Skarsnik well I still hve a version without precomp and it's like 10-20 sec per launch with 4-5 modules xD
nine tadzik: now it takes some time to load a lot of modules. Previously it took lots of time with just having modules installed
tadzik oh, yes
correct
marchelzo ok. that's relieveing. where is the best place to learn perl6 from? 17:25
RabidGravy tadzik matey can I entice you to merge github.com/tadzik/JSON-Unmarshal/pull/14 - I RT'd the cause but it may not get resolved very soon :)
tadzik oh, oh
absolutely :) 17:26
I should just add you to that project
RabidGravy cool, I'd like to encourage people to use Test::META which depends on it
:-*
nine Any opinions on renaming CompUnitRepo to CompUnit::Repository::Registry? I figure that's what it really is now: you can register types of CompUnit::Repositories with it and it gives you a CompUnit::Repository instance for a spec string. 17:27
jnthn nine: works for me
RabidGravy sounds fabulous :)
jnthn Though I'd probably drop the second ::
ChristopherBotto marchelzo: I'd recommend getting Rakudo Star here: rakudo.org/downloads/star 17:28
jnthn Because the Registry is not a type of CompUnit::Repository
nine jnthn: err...I actually meant RepositoryRegistry :)
lizmat nine: fine by me
jnthn hah! :)
nine++ # API design taste :)
joeschome Lets say i want to make a IRC clieant GUI and all or a Podatcher
nine is on the backseat of a car on the way to a Nightwish concert in Vienna :)
jnthn Damn, nice!
jnthn never saw Nightwish yet
Should fix that some day :)
Skarsnik Should I add support for .desktop format and windows registery in most wanted modules? x) 17:29
nine jnthn: oh yes :)
Skarsnik Could be useful to have perl6 that integrate well with a system
+app
psch m: :($).perl.say; :($).gist.say
camelia rakudo-moar 947660: OUTPUT«:($)␤($)␤»
dj_goku joeschome: well there is this: github.com/zoffixznet/perl6-IRC-Client and this github.com/perl6/gtk-simple
AlexDaniel joeschome: that's not going to be too hard 17:30
joeschome: just what dj_goku said
dj_goku joeschome: modules.perl6.org/dist/Syndication
joeschome I think I am "believing" some of the anti-Perl stuff about it only being a glue language or scripting language. 17:31
cygx t\spec\S17-supply\throttle.t hangs for me at 5/47
joeschome Personaly i love the syntax of perl
RabidGravy Skarsnik, I started working up the freedesktop.org XDG spec but got blocked and only release the XDG::BaseDirectory
dj_goku joeschome: well it sounds like you have your answer. :D
joeschome Yeah
Skarsnik oh it's called xdg? I looked a bit to the format it look like .ini 17:32
ajs_ It seems that BUILDALL's return value is currently the return value of .new... is that intentional? Do we have to write our BUILDALL to return the invocant?
RabidGravy well it is an .ini type file yes, but the contents thereof are part of the XDG spec
psch m: :($, $, $).gist.say 17:33
camelia rakudo-moar d3e89a: OUTPUT«($,,)␤»
psch m: :($, $).gist.say
camelia rakudo-moar d3e89a: OUTPUT«($,)␤»
ChristopherBotto marchelzo: Then try out the old Perl6 Advent Calendar posts: perl6advent.wordpress.com/2009/12/...calendar/. If something doesn't seem to work, please ask. Some of the syntax has changed slightly since the original posts, but the original posters tend to update them as they are brought to their attention.
Skarsnik RabidGravy, I wanted to add this a Config module (or something) to work like Qt::Config stuff. Where you register you app and it etheir write in windows registry or .desktop file on unix 17:34
joeschome So any idea when the perl6 "butterfly book" comes out; it looks like im going to need to buy it
marchelzo ChristopherBotto: thanks. checking.
ajs_ m: class Foo { method BUILDALL(|) { callsame; "Applesauce" } }; say Foo.new().perl
camelia rakudo-moar d3e89a: OUTPUT«"Applesauce"␤»
dalek ast: b478eae | cygx++ | S32-io/open.t:
test default open mode, including failure to open nonexistent files
17:35
ast: c745f18 | RabidGravy++ | S32-io/open.t:
Merge pull request #84 from cygx/default-open

test default open mode, including failure to open nonexistent files
RabidGravy joeschome, I guess it's when some publisher crosses someone's palm with sufficient silver to have less fun than they would writing code for Perl 6 :) 17:37
joeschome Yeah 17:38
Do you think i should buy the older rakudo book? or is it too outdated www.google.com/search?q=perl6+book...2930779886 17:39
RabidGravy cygx, I took it that you were happy that got merged without further discussion as you wrote the code it is testing and all
17:40 lolisa left
moritz joeschome: no 17:41
joeschome no its not too outdated
hoelzro nine: if you have a minute, would you mind sanity checking the code I wrote to fix panda-build and panda-test this morning? 17:42
nine hoelzro: of course
hoewhere can I find it? 17:43
hoelzro nine: thanks! it's here: github.com/rakudo/rakudo/pull/625
|Tux| $ panda install Inline::Perl5 is still borked
RabidGravy hoelzro++ # I'd love you long time for fixing those 17:44
nine |Tux|: if it's due to v6.t failing, that's where I found my strange self/SELF problems described above
RabidGravy also the script wrappers seem to be similarly afflicted but I guess it's the same fix
|Tux| ah
nine jnthn: renaming might be more difficult than anticipated: A my scoped package cannot have a multi-part name yet at line 69, near " metaclass" 17:45
|Tux| hoelzro, my IO::String has gone through quite a bit of change in the past 2 days in order to get better both read as write support
RabidGravy joeschome, may take would be on waiting until a book comes out after the "Christmas release"
|Tux| still not perfect, but for now I am quite happy
hoelzro |Tux|++
feel free to submit a PR!
17:45 n0tjack joined
|Tux| again, feel free to steal and improve or do PR's 17:46
hoelzro if my change to rakudo is sane, I can start testing it again =)
joeschome Ok untill then the Docs page is pretty good
AlexDaniel joeschome: hmmm 06/10/2003
RabidGravy yeah, people working to get it at least somewhat sane
|Tux| hoelzro, I'll keep the option to do PR's for your work open. If only time would permit …
nine hoelzro: nice catch!
AlexDaniel joeschome: “This book covers the development not only of Perl 6 syntax but also Parrot” heh 17:47
hoelzro nine: thanks! is that a blessing to push to nom?
jnthn nine: We have to stub that all the way back in bootstrap? 17:48
nine hoelzro: this looks so familiar. I actually think I already did the same change, but maybe I accidentally reverted it. Please go on and merge
hoelzro |Tux|: I'll have a look at your changes, see if I can fold them in
\o/
thanks for taking the time to review
|Tux| thumbs up
|Tux| => $home
nine jnthn: yes, Perl6::Action seems to need it. I first tried to remove it from BOOTSTRAP because I also didn't know why it would be needed there. Will investigate further if we really need it.
marchelzo is 'say t.fmt;' always the same as 'say t;'?
nine jnthn: I don't see why we would run a require during stage parse 17:49
dalek kudo/nom: 2f0d38a | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:
Use distribution's name to find binary resources

Currently, when a distribution has binary/script files, we install them as resources owned by the distribution, as well as wrapper scripts that the shell can find via PATH that use the CompUnit API to dispatch to the corresponding resource.
Some distributions install multiple binaries; for example, panda installs panda, panda-build, panda-test, etc. The wrapper scripts currently use the basename of the wrapper script to locate the distribution that contains the corresponding binary resource, rather than the name of the distribution that binary is a part of.
This change makes wrapper scripts use the distribution name to find dist metadata, which will then be used to locate the resource for the actual binary.
marchelzo never mind, I answered my own question
timotimo hoelzro++
RabidGravy marchelzo, no: 17:50
17:50 ZoffixW joined, ZoffixW left
RabidGravy m: say DateTime.now.fmt 17:50
camelia rakudo-moar d3e89a: OUTPUT«Method 'fmt' not found for invocant of class 'DateTime'␤ in block <unit> at /tmp/1_tKTsQA0u:1␤␤»
Skarsnik m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems;
RabidGravy m: say DateTime.now 17:51
camelia rakudo-moar d3e89a: OUTPUT«Could not find symbol '&DEFAULT'␤ in block <unit> at /tmp/5aJPd_12mN:1␤␤Actually thrown at:␤ in block <unit> at /tmp/5aJPd_12mN:1␤␤»
rakudo-moar d3e89a: OUTPUT«2015-12-08T18:51:03+01:00␤»
joeschome It's settled: Im going to learn Perl6 first then if I feel i need it ill learn some rust
psch is there a reason for Signature.gist not to "promote" variable-less type constraints to anonymous scalars?
RabidGravy joeschome++ # wise choice
psch as in, gist :(Str, Int) as < (Str $, Int $) >
jnthn nine: Yeah, I'm surprised it's needed so early...
dinner &
17:51 Ven left
Skarsnik hm why this does not work for NC, I use for another module to grab all the exported stuff it work Oo 17:51
psch 'cause untyped anons disappear currently, which seems really weird to fix without always printing a $... 17:52
hankache perl6advent.wordpress.com/2010/12/24/
joeschome It will probably take alot less time to write things in perl and if I can make reasonable responsive programs why not.
17:52 koo8 left
hankache That is still relevant even today. 17:53
nine .tell jnthn you'd never guess. It's a require Inline::Perl5 in the :lang<Perl5> EVAL candidate
yoleaux nine: I'll pass your message to jnthn.
AlexDaniel joeschome: by the way, do you have any previous programming experience? 17:54
joeschome a tiny bit of perl5
it was fun
Skarsnik joeschome, I think that depend a lot of what you want to do. writing a Gui not using something C#/.net or C++/Qt (or even C/Gtk) sound like a bad idea x)
marchelzo Is there any way to see documentation for a function or method within the perl6 repl? Like python's help() or something? 17:55
Or at least list available methods on an object.
hankache Camelia will suck the brains of unrepentant grinches. I f*cking like this line
AlexDaniel marchelzo: $object.^methods
dj_goku marchelzo: I was wondering the same too.
AlexDaniel m: .say for 5.^methods
camelia rakudo-moar d3e89a: OUTPUT«Int␤Num␤Rat␤FatRat␤abs␤Bridge␤chr␤sqrt␤base␤polymod␤expmod␤is-prime␤floor␤ceiling␤round␤lsb␤msb␤narrow␤Range␤sign␤sin␤tan␤cotan␤acosech␤conj␤atan2␤cosec␤pred␤asec␤acotan␤cosh␤acos␤acosec␤sec…»
dj_goku marchelzo: object.? in ipython is nice
marchelzo AlexDaniel: how does .^ relate to .? 17:56
AlexDaniel marchelzo: and also .WHAT is extremely helpful
cygx RabidGravy: sure, merging the PR was fine
I would have done so myself, but I'm currently other wise occupied
AlexDaniel marchelzo: design.perl6.org/S12.html#Introspection 17:57
cygx
.oO( too budy to press a ginle button oO )
*busy
joeschome I think someone said you can do gtk in perl6
Im mainly a BSD/LINUX guy so thats fine with me 17:58
Skarsnik well you can use a part of gtk x)
marchelzo so, 'flat' basically forces an iterator/generator to produce a list? like list() in python.
17:59 xtreak joined
joeschome so what would you recomend for the GUI part 17:59
Skarsnik It the only thing available in perl6 for now so... gtk x)
dj_goku I have always wanted to write C++/Qt, but would be neat to do Perl6/Qt
timotimo i want that, too. but at the moment we have to go via Inline::Python to get Qt 18:00
Skarsnik Well feel free to write the smoke generator/binding
smoke is the tool used to generate C#, python/ruby/perl5 binding 18:01
for Qt
dj_goku timotimo: yeah I wondered if that is how we go it. wondereed how hard it would be to build an app.
timotimo Skarsnik: smoke is not used to create python bindings 18:02
Skarsnik: PyQt has SIP, PySide has Shiboken aka ApiExtractor/GeneratorRunner
dj_goku techbase.kde.org/Development/Languages/Smoke for anyone wondering what SMOCK is.
lucs Folks, with current sources: panda warns, p6doc fails, the debugger fails.
But that's okay, I'm patient.
So I installed Rakudo Atar (-11) 18:03
Its panda fails :(
*Star
[Coke] (not too old perl 6 and parrot essentials is out of date, do not purchase.
sorry, that was supposed to be (not too old) ... Perl 6 and...
don't get that book. 18:04
marchelzo What's the most canonical way to convert something to a string? Just use .fmt?
Like Int to Str for example.
Skarsnik .Str
[Coke] m: say ~34.WHAT
camelia rakudo-moar d3e89a: OUTPUT«Use of uninitialized value of type Int in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/9A248s81tp:1␤␤»
Skarsnik or nothing
joeschome This is going to sound crazy but what about a ncurses style application?
Skarsnik or just ~
[Coke] m: say (~34).WHAT
camelia rakudo-moar d3e89a: OUTPUT«(Str)␤»
timotimo Rakudo Qatar
dj_goku m: say 34.Str.WHAT
camelia rakudo-moar d3e89a: OUTPUT«(Str)␤»
lucs timotimo: I bet that fails too ;)
dj_goku m: say 34.Str
camelia rakudo-moar d3e89a: OUTPUT«34␤»
RabidGravy joeschome, there is an NCurses module which works very well
Hotkeys Rakudo Starfox
marchelzo Skarsnik: Which way is the most common in Perl6 code? 18:05
timotimo Lylakudo Wars
joeschome I still use MC and Mp3blaster so a ncurses podcatcher in perl6 woudl be cool!
[Coke] marchelzo: there's more than one way to do it.
Skarsnik no idea. I came accross ~ or .Str
[Coke] I personally would use ~ unless I had a compelling reason to explicitly call .Str
Hotkeys There's more than one way to skin a cat 18:06
Skarsnik http::ua like .Str
marchelzo TMTOWTDI is still a thing in perl6?
lucs So should I just wait till after Christmas? I find it really hard to work without a module installer, a doc browser, and a debugger.
dj_goku marchelzo: why not?
RabidGravy marchelzo, very much so
18:06 xfix joined
Skarsnik lucs, fill an RT (or look it one already exists) 18:07
RabidGravy [Coke], my eyesight ain't so great so I prefer the more obvuos .Str ;-)
marchelzo I thought people agreed that 'There should be one-- and preferably only one --obvious way to do it.' was the better philosophy.
nine .tell jnthn I can lookup CompUnit::RepositoryRegistry at runtime. Seems like a small price for getting rid of it in the BOOTSTRAP
yoleaux nine: I'll pass your message to jnthn.
Hotkeys Which people
marchelzo People who bash perl5.
RabidGravy lucs, there's a perfectly working module installer 18:08
psch "people agreed that $this was the better philosophy" is probably false for any value of $this
18:08 dwarring joined
dj_goku marchelzo: I think that is the python. 18:08
RabidGravy oh them
nine arrived at Vienna and is off to Nightwish now. Back in a couple of hours.
[Coke] posts a 1 star review of parrot & perl 6 book on amazon.
dj_goku is currently paid to write python
timotimo nine: have fun!
lucs RabidGravy: I'm listening (current panda warns, but works, yes)
Skarsnik have a nice concert nine
nine thanks :) 18:09
Hotkeys Python is lame thoufh
dj_goku *shrug*
JimmyZ jthn++, nine++ # RepositoryRegistry
[Coke] "people that bash perl 5" and "people that work on perl 6" are two very distinct groups of people.
timotimo jdu, välugj.H IGGÖ. S... damn
Hotkeys For one it isn't perl 6 :p
timotimo nah, python's good. lots of neat stuff to steal
marchelzo dj_goku: it is
El_Che I am looking on a way to serialize perl6 datastructures. I have big LDAP ldif that I read in order to convert into a data structure. While comparing these data structures I run out of memory (a 4gb VM). Is there native way to do serializing in p6? Use JSON::(Un)Marshal?
RabidGravy lucs, that warning is somewhat lower level and will go away when someone works out how to replicate
timotimo [Coke]: i bash perl5 sometimes
dj_goku I wouldn't mind an awesome REPL like ipython in perl6 18:10
timotimo dj_goku: then help arnsholt out
dj_goku: he's working on the iperl6 kernel
marchelzo Which type is used to represent a list of Int? I tried <1 2 3>.WHAT and it says Parcel.
[Coke] lucs: if you can't handle bleeding-edge, then yes, wait 2 weeks. But there's not going to be that many changes between now and then other than bugfixes and slight improvements. If you can report issues NOW, then hopefully we can fix them before the release on Christmas.
dj_goku timotimo: I have no idea where I would start. except at the beginning.
joeschome You guys have been super helpful: so my tentative idea is to learn perl6 by making an ncurses based pod-catcher. They say the best way to learn is to do a project. I listen to alot of podcasts (Twit and Jupiter broadcasting)
[Coke] timotimo: Mostly distinct.
El_Che dj_goku: :)
marchelzo Like if I wanted to write a routine to sum a list of Ints, what should its argument's type be?
[Coke] marchelzo: if you're getting parcel, you have an ANCIENT perl 6.
timotimo dj_goku: the good thing is that there's some code you can work upon
AlexDaniel marchelzo: it seems like your Perl 6 is old 18:11
[Coke] marchelzo: what does perl6 -v say ?
AlexDaniel m: say <1 2 3>.WHAT
camelia rakudo-moar 2f0d38: OUTPUT«(List)␤»
timotimo dj_goku: github.com/timo/iperl6kernel - have a look-see if you find it comprehensible
marchelzo [Coke]: what? I _just_ built it from source.
AlexDaniel marchelzo: it is List, as you might expect
dj_goku I have a module idea I want to start/build first.
[Coke] marchelzo: what does perl6 -v say?
joeschome You guys have been super helpful: so my tentative idea is to learn perl6 by making an ncurses based pod-catcher. They say the best way to learn is to do a project. I listen to alot of podcasts (Twit and Jupiter broadcasting). Do you think its reasonable or crazy?
Skarsnik marchelzo, sub f(*@tab) (or just [+] if you want to sum a list)
marchelzo I downloaded the .tar.gz for 2015.11 but perl6 -v says 2015.03.
[Coke] I suspect you forgot to install and are running "perl6" instead of "./perl6" 18:12
18:12 vividsnow joined
dj_goku timotimo: oh great! 18:12
marchelzo ah, I was running the perl6 in /usr/local/bin.
AlexDaniel joeschome: it is 100% correct that you will learn by doing
[Coke] or perhaps installed it somewhere else.
marchelzo [Coke]: yeah, why doesn't make install put in in $PATH?
put it in*
ajs_ m: class Foo does Iterator { has @.a handles "pull-one"; }; say Foo.new.pull-one.perl
camelia rakudo-moar 2f0d38: OUTPUT«===SORRY!===␤Method 'pull-one' must be implemented by Foo because it is required by a role␤»
[Coke] you have to tell it where to install it.
Skarsnik rakudobrew does not install system wide
[Coke] there is a warning when you build.
marchelzo ah, I'll just move it.
Skarsnik that will not work probably 18:13
marchelzo why?
[Coke] perl Configure.pl --help will point you at --prefix, which is what you want.
Skarsnik some path are hardcoded like panda if I remember correctly
AlexDaniel marchelzo: so that you can install it in environments that you don't control
[Coke] I would reconfigure with the correct --prefix and then install.
marchelzo if I run into problems I will
AlexDaniel marchelzo: ah sorry, thought that “why?” was about not installing system wide 18:14
dj_goku I read a article recently say "we don't know anything as software developers/architect" we are just testing theories and learning from our mistakes. :D
marchelzo so <1 2 3> has type List. Is there no type called 'List of Int'?
timotimo dj_goku: you can only really learn from mistakes, fo course
marchelzo: you can get an array that's typed to contain only Int (or derived things, of course) 18:15
Skarsnik my Int @array;
geekosaur "if builders built buildings the way programmers write programs, the first woodpecker to come along would destroy civilization"
AlexDaniel m: my Int @a = <1 5 10>; say @a; say @a.WHAT
camelia rakudo-moar 2f0d38: OUTPUT«[1 5 10]␤(Array[Int])␤»
[Coke] m: my Int @stuff; @stuff.push("HI");
camelia rakudo-moar 2f0d38: OUTPUT«Type check failed in assignment to @stuff; expected Int but got Str␤ in block <unit> at /tmp/zl2KdpG6OO:1␤␤»
timotimo but if you have a sub like foo(Int @arr) { } you will not be able to call it with just [1 5 10], you'll have to give the type with it
marchelzo timotimo: which one is preferred. Like say I just want to do some computation with a bunch of Ints. Maybe sum them or compute their product or whatever.
s/\./?/
[Coke] most of your questions about "which is preferred" are going to be "it depends". 18:16
timotimo if you have a bunch of ints, you can actually use "my int @arr", that'll give you 64bit ints
lucs will rebuild rakudo/moar/nqp/panda from scratch for the umpteenth time and will see if panda still warns (like the last few times), if JSON::Fast still hangs (but knows how to work around), if p6doc still fails with @*INC, if the debugger still fails (after complaining of circular module loading).
marchelzo [Coke]: I know. I wish I could use other languages to make analogies.
[Coke] Also, in general, typing helps, but in the future, it will help more. (still more optimizations to come) 18:17
timotimo lucs: JSON::Fast doesn't hang any more. if it stlil does, tell me ASAP
Skarsnik sub foo(Int *@tab) {Do something with the array}
marchelzo vector<int> in C++ or [Int] in Haskell. like, the go-to simplest and most general way to represent a list of ints.
lucs timotimo: Okay, thanks.
timotimo fixed it like 3 days ago or so
lucs Oh, well, was failing last night :(
ajs_ So, is "handles" implemented currently? It doesn't seem to play well with composition.
timotimo whaaaaat? :( 18:18
lucs (commenting out line 153 in the first test fixes it iirc)
timotimo ajs_: can you supply a few test cases we could put into the spec tests to make sure the right semantics are covered for Christmas?
lucs: you may need to "git pull" in panda
marchelzo the 2015.11 perl6 wasn't built with readline :( is that something I had to configure as well?
ajs_ m: class Foo does Iterator { has @.a handles "pull-one"; }; say Foo.new.pull-one.perl
camelia rakudo-moar 2f0d38: OUTPUT«===SORRY!===␤Method 'pull-one' must be implemented by Foo because it is required by a role␤»
ajs_ I don't think that would produce an error....
[Coke] ajs_: easiest way to get feedback on stuff like that is to make a gist with code that shows the behavior and describes the behavior youw ant.
timotimo marchelzo: not configure, just install the Linenoise module (you may need to use an earlier commit, though)
lucs timotimo: Like I said, I built from scratch (maybe I forgot something, going for it again). 18:19
[Coke] ... and I was too slow. Thakns. :)
AlexDaniel yeah, well, people can scream about only one way to do it right all day long, all I can say is that they can enjoy their crippled down functional programming (just because it didn't feel right to someone)…
timotimo ajs_: oh, interesting, i hadn't considered that case yet.
dalek kudo/nom: 62a029b | peschwa++ | src/core/Signature.pm:
Correctly deal with slurpy hashes in Signature.ACCEPTS.
[Coke] m: class Foo does Iterator { has @.a handles <pull-one> }; say Foo.new.pull-one.perl;
camelia rakudo-moar 2f0d38: OUTPUT«===SORRY!===␤Method 'pull-one' must be implemented by Foo because it is required by a role␤»
18:20 hankache left
psch argh 18:20
i git reset the tests i added for that commit /o\
18:20 virtualsue joined
marchelzo timotimo: how do I install modules? 18:20
timotimo marchelzo: if you have rakudo star, you'll have a program called "panda"
that can install stuff, but you can't tell it to get an older commit for you 18:21
marchelzo: you'll have to git clone Linenoise, check out an earlier version with "git checkout" and then "panda install ." when inside the folder
marchelzo ah, that stuff's all still in the place where I built perl6. I'm going to have to reconfigure and reinstall.
vividsnow hi, does perl6 support udp sockets? 18:22
[Coke] say Iterator.WHAT;
m: say Iterator.WHAT;
camelia rakudo-moar 2f0d38: OUTPUT«Method 'pull-one' must be implemented by Iterator because it is required by a role␤ in any compose_method_table at gen/moar/m-Metamodel.nqp:2680␤ in any apply at gen/moar/m-Metamodel.nqp:2690␤ in any compose at gen/moar/m-Metamodel.nqp:2826␤ in…»
dalek ast: 54f225c | peschwa++ | S03-smartmatch/signature-signature.t:
Test two identical Signatures with named and named slurpy.
Skarsnik I think 2015.11 should not be used if every module will fail with it (the earlier compileunit stuff)
[Coke] ajs_: I don't think @a can handle pull-one, so I'm not sure that would work even if it worked. 18:23
timotimo ajs_: i can have a look in the code to see if i find a solution. like, it tries to go through all role-mentioned methods first, because it has to. but maybe it should try again after the other things may have done their work, like "handles" handlers
18:23 vividsnow left, spider-mario joined
[Coke] m: my @a; say so @a.^can("pull-one"); 18:24
camelia rakudo-moar 2f0d38: OUTPUT«False␤»
18:24 vividsnow joined
ChoHag If I have a token foo { ... <.bar> ... } and token bar is { <baz> <bing> <bong> }, what can I change so that I capture baz, bing and bong individually but not bar? 18:24
timotimo hum. actually ...
"handles" uses ".^add_fallback"
joeschome say @months[2]; 18:26
m: say @months[2];
camelia rakudo-moar 2f0d38: OUTPUT«5===SORRY!5=== Error while compiling /tmp/r0eEKrUsb7␤Variable '@months' is not declared␤at /tmp/r0eEKrUsb7:1␤------> 3say 7⏏5@months[2];␤»
timotimo actually, RoleToClassApplier should just learn to look into the @!fallbacks
AlexDaniel vividsnow: maybe you can try this: doc.perl6.org/type/IO%3A%3ASocket%3A%3AINET
cxreg there's an impressively large crowd at Node interactive 18:27
timotimo what is that, cxreg? 18:28
cxreg linux foundation sponsored nodejs conference
18:28 ZoffixW joined
cxreg i think there's a lot of potential perl 6 people in this crowd honestly 18:29
marchelzo timotimo: I can't build Linenoise.
AlexDaniel m: my @months = <Jan Dec Mar>; say @months[2]
camelia rakudo-moar 2f0d38: OUTPUT«Mar␤»
timotimo marchelzo: what commit did you check out? what's the error?
marchelzo "Function CompUnit::Repository::FileSystem needs parens to avoid gobbling block"
18:30 ZoffixW left
marchelzo what commit? I didn't clone the rakudo-star repository, I downloaded an archive. 18:30
timotimo yeah, what that really means is "I don't have that class defined, so i think it's probably a sub" and then syntax error
because that Linenoise is too new
18:30 xpen joined
timotimo requires changes to rakudo that happened after the rakudo star 2015.11 release 18:30
marchelzo you what commit of Linenoise or what commit of Linenoise?
one of those should say rakudo 18:31
lol
timotimo one sec.
marchelzo Is there a way to get an older Linenoise with panda?
[Coke] If you're trying to use a pre-christmas release, git HEAD is the best place to be right now.
joeschome m: say "Hello, world!"
camelia rakudo-moar 62a029: OUTPUT«Hello, world!␤»
Hotkeys Why not build the most recent rakudo?
Skarsnik 2015.11 should be removed maybe, if it's so broken?
18:31 FROGGS joined
timotimo marchelzo: the one before the newest should be good (of Linenoise, not of rakudo. keep rakudo as it is) 18:31
marchelzo timotimo: ok, how do I get that with panda? 18:32
El_Che Does assigning Nil to objects and data structure give a hint to the GB to liberate the memory?
[Coke] the version that shipped with star should have worked.
joeschome m: say "Hello, world! im a perl programer now; LOL"
camelia rakudo-moar 62a029: OUTPUT«Hello, world! im a perl programer now; LOL␤»
[Coke] no point in removing it if we're adding a new one in 2 weeks.
timotimo marchelzo: i told you, panda doesn't know how to get a specific revision. let me walk you through it
marchelzo timotimo: oh, sorry. I didn't see that.
Hotkeys I find it strange when people shout 'lol'
timotimo git clone github.com/hoelzro/p6-linenoise.git
marchelzo Maybe I should just get HEAD and use the newest Linenoise? 18:33
timotimo that will give you a "p6-linenoise" folder
18:33 donaldh left
timotimo current HEAD has people cussing and complaining :) 18:33
marchelzo T_T
joeschome Hotkeys: I am a little strange.
[Coke] Hotkeys: it's a TLA, caps are fine. :)
marchelzo timotimo: ok, I cloned it
timotimo then git checkout b01750a
Hotkeys m: sub shout ($x) { say $x.gist.uc }; shout "lol";
camelia rakudo-moar 62a029: OUTPUT«LOL␤»
timotimo (and disregard the "OH GOD A DANGLING CHECKOUT!" message) 18:34
marchelzo timotimo: done
timotimo and last but not least: panda install .
in the mean time i'll improve that error message that you got back there
marchelzo why does panda take like 3 seconds before doing anything?
I got the same error while building :/
18:35 xpen left
marchelzo HEAD~30 built 18:35
lol
RabidGravy panda may emit some *warning* about %ENV or something, it's a known thing 18:36
marchelzo no it was an error
18:36 ZoffixW joined
marchelzo i have to go 18:36
be back later
18:36 marchelzo left
ZoffixW m: multi foo (*@list) { foo {}, @list }; multi foo (Hash $opts, *@list) { say @list;}; foo {:lang('fr')}, <foo bar baz>; 18:36
camelia rakudo-moar 62a029: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(*@list)␤:(Hash $opts, *@list)␤ in block <unit> at /tmp/aEannXmawC:1␤␤»
RabidGravy timotimo++ # patience 18:37
ZoffixW Is there a way of making that work? Take an optional hash as the first arg?
timotimo marchelzo didn't tell me what the new error is :(
joeschome Did any of you hear the TWIT show with Larry? It was good; infact thats why im coming back to perl. He was not dogmatic about the language but made it clear perl6 is an improvement and here to stay.
Skarsnik $opts?
ZoffixW m: multi foo (*@list) { foo {}, @list }; multi foo (Hash %opts, *@list) { say @list;}; foo {:lang('fr')}, <foo bar baz>;
timotimo joeschome: yeah, i watched it. it was good :)
Skarsnik Zoffix, there a is a ? to say an argument is optionnal 18:38
camelia rakudo-moar 62a029: OUTPUT«(timeout)»
lucs timotimo: JSON::Fast installation is initiated by panda install, and it still hangs (does panda use the wrong version?)
timotimo lucs: did you "git pull" inside panda recently?
lucs I just did a 'git clone', from scratch, yes.
timotimo um
wtf.
ZoffixW m: sub foo (Hash %opts?, *@list) { say @list;}; foo {:lang('fr')}, <foo bar baz>; 18:39
camelia rakudo-moar 62a029: OUTPUT«Type check failed in binding %opts; expected Associative[Hash] but got Hash␤ in sub foo at /tmp/bKhCBkMKKR:1␤ in block <unit> at /tmp/bKhCBkMKKR:1␤␤»
timotimo i must investigate
ZoffixW Actually, I may be suffering from Perl-5-ism.
Skarsnik if you want a :lang argument, make is a named x)
timotimo lucs: could you look at the ext/JSON__Fast/lib/JSON/Fast.pm and see if there's any checks for nqp::chars of $text?
lucs timotimo: I have 7151bbd43
ZoffixW m: sub foo (*@list, Str :$lang) { say "$lang @list";}; foo :lang('fr'), <foo bar baz>;
camelia rakudo-moar 62a029: OUTPUT«fr @list␤»
lucs timotimo: Ok, hang on...
ZoffixW Yeah
Skarsnik++
Skarsnik sub foo (*@list, :$lang) 18:40
lucs timotimo: (of panda that is)
flussence m: class Foo:ver<1> { }; use Foo:ver<2> # this doesn't fail when the two statements are in different files
camelia rakudo-moar 62a029: OUTPUT«===SORRY!===␤Could not find Foo:ver<2>:auth<True>:api<True> in:␤ /home/camelia/.perl6/2015.11-430-g62a029b␤ /home/camelia/rakudo-m-inst-1/share/perl6/site␤ /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-…»
timotimo that means you also have | * 5b8ec92 - Squashed 'ext/JSON__Fast/' changes from 62ff510..be150dd (3 days ago) <Timo Paulssen>
Skarsnik I love named parameter x)
vividsnow AlexDaniel: How can I specify proto ("tcp/udp") in doc.perl6.org/type/IO%3A%3ASocket%3A%3AINET? Looks like it is TCP-only
18:41 ajs_ left
ZoffixW flussence, should it? If they're in different files, I'd think it's fine... 18:41
AlexDaniel vividsnow: you are probably right
flussence ZoffixW: the version doesn't match though
lucs timotimo: I'm seeing things like: ... if $pos > nqp::chars($text); ... if nqp::chars($hexstr) != 4
ZoffixW Ah
timotimo yeah, the $pos one would be the one that.s necessary to prevent the hang 18:42
lucs: could it be panda is recompiling the JSON::Fast source it has found in the installation repository thingie?
i just ran pandas bootstrap.pl and it didn't even try to install JSON::Fast. huh.
18:42 koo8 joined
flussence m: use Test:ver<999999999.invalid>; 18:42
camelia rakudo-moar 62a029: OUTPUT«===SORRY!===␤Could not find Test:ver<999999999.invalid>:auth<True>:api<True> in:␤ /home/camelia/.perl6/2015.11-430-g62a029b␤ /home/camelia/rakudo-m-inst-1/share/perl6/site␤ /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤ /home/camel…»
flussence m: use Test; 18:43
camelia ( no output )
lucs Not sure where it would have taken it, I rebuilt from scratch, deleting everything related (including ~/.perl6)
flussence hm, maybe I'm just doing something wrong
AlexDaniel vividsnow: github.com/rakudo/rakudo/blob/nom/...et/INET.pm
vividsnow: has $.proto = PIO::PROTO_TCP;
timotimo well, i just ran "panda install JSON::Fast" and it doesn't hang here :(
AlexDaniel vividsnow: what if you set it to PIO::PROTO_UDP ? 18:44
ZoffixW How would I go about doing "is export" on an alias of a sub?
I've got: my &term:<☌> = ::('&conjunction'); but it's not seen in a file that uses my module
pyrimidine ZoffixW: looks like I have plugins passing tests using $*REPO in bioperl6: github.com/cjfields/bioperl6/commi...d6b4d2d01a 18:45
RabidGravy you can 'is export' that too
Skarsnik Zoffix, I think you can't
our $var is export return NYI
constant maybe work? 18:46
pyrimidine ZoffixW: wondering tho if that should be using something else; isn't there a more direct call for files from the repo?
AlexDaniel vividsnow: I'm not sure if it is implemented
RabidGravy m: module F { my &foo is export = sub { say "foo" } }; import F; foo();
camelia rakudo-moar 62a029: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p_jzfqYu_8␤Can't apply trait 'is export' on a my scoped variable. Only our scoped variables are supported.␤at /tmp/p_jzfqYu_8:1␤------> 3module F { my &foo is export7⏏5 = sub { say "foo" } }; import …»
joeschome Haker News comment that resonates with me" bane 396 days ago If this is true, I'm incredibly excited. Perl is like a girl I used to love, broke up with, but never got over. I'm eager to start hacking on Perl 6 code, but don't want to put the time in dealing with preproduction versions of the language. Very exciting."
ZoffixW RabidGravy, but where do I put "is export"? I tried a few places, and I'm getting TTIR
RabidGravy m: module F { our &foo is export = sub { say "foo" } }; import F; foo();
camelia rakudo-moar 62a029: OUTPUT«foo␤»
ZoffixW Ah, ok. 18:47
RabidGravy++
joeschome The last part is soon to be over and perl6 could be a production language before long
Skarsnik m: module F { our $var is export = 42 };
camelia ( no output )
ZoffixW pyrimidine, I think you're asking the wrong person :P
Skarsnik it work now? nice x)
RabidGravy yeah any symbol 18:48
lucs Hullo? What't this!? When doing panda's "perl6 bootstrap.pl", it creates a directory named "(HANDLED) Failed to open file"
Skarsnik I tried to have this 1 month ago rakudo was like nop
ZoffixW lucs, that's a Failure
RabidGravy well I say "any" without knowing whether that is true
lucs ZoffixW: You don't say :)
ZoffixW m: (fail("Failed to open file") || say "$_")
camelia ( no output )
ZoffixW m: (fail("Failed to open file") || say "$_.message") 18:49
camelia ( no output )
ZoffixW well
lucs It didn't do that last time around.
ZoffixW lucs, I mean Failure the type... docs.perl6.org/type/Failure unless you're wondering why it's failing :)
18:49 ZoffixW left
pyrimidine ZoffixW: ok, no problem. I may have to backlog to see what nine suggested, IIRC it was something else ... 18:49
lucs Zoffix: Ah, I see :) 18:50
timotimo lucs: that's pretty hilarious :D 18:51
lucs: you're not running rebootstrap, by any chance? 18:52
lucs timotimo: No :) 18:53
[Coke] looks like the daily runs have been hanging, despite my ulimit code to insure they don't hang on clock time or memory.
zengargoyle hrmm... App::Mi6 doesn't seem to work well for .so type modules. the build/test phase and blib creation doesn't fit with resources.
[Coke] kills all the stuff running on hack right now and starts a fresh run. 18:54
Skarsnik well last commit is from 2-3 months for mi6 x)
timotimo zengargoyle: could very well be that mi6 doesn't know anything about RESOURCES yet
hoelzro I noticed this morning that panda will install anything under resources/ if resources isn't in META.info; is that spec'd behavior, or just panda-specific? 18:55
because I'm not sure how I should deal with liblinenoise.{so,dll,dylib} when I fix Linenoise =/
RabidGravy also blib is largely incompatible with the way that panda does a build
zengargoyle yeah, just letting peeps know since mi6 has been advertised a bit recently. i've been using it for a while and it's been mostly OK. 18:56
it even worked for .so module pre-curli
but i guess it needs some work to be more compatable now. 18:57
ChoHag m: grammar G { rule TOP { ^[ <ellip> | <twodot> <thing> ]$ }; token ellip { \.\.\. }; token twodot { \.\. }; token thing { \. foo } }; G.parse("...").say; G.parse("...foo").say
camelia rakudo-moar 62a029: OUTPUT«「...」␤ ellip => 「...」␤Nil␤»
18:58 gtodd joined
ChoHag How can I get that to parse the second string as twodot followed by thing while still having ... parsed as an ellip? 18:58
vividsnow AlexDaniel: yes, looks like UDP is unimplemented
AlexDaniel vividsnow: bummer
flussence I'm getting horribly confused: t/spec/S16-io/newline.t runs fine locally, but that test is the only place on my system «use newline» will work. Can't use it in my own code, can't use it in the REPL. 18:59
timotimo ChoHag: is rule without backtracking? maybe you'd want to have || instead of | there?
or you can terminate LTM after <twodot> with a {}
19:00 ajs_ joined, davercc1 joined
AlexDaniel vividsnow: I don't know, maybe it makes sense to submit a rakudobug. Just so that it stays there as a TODO 19:01
ChoHag LTM?
dalek kudo/nom: e1793a8 | (Don Vito Perleone)++ | docs/announce/2015.12.md:
Link to Wikipedia entry of коледа

For the people who are unfamiliar with the cyrillic alphabet.
kudo/nom: 35cafce | (Don Vito Perleone)++ | docs/announce/2015.12.md:
Merge pull request #1 from Perleone/Perleone-patch-1

Link to Wikipedia entry of коледа
kudo/nom: df7c255 | (Will Coleda)++ | docs/announce/2015.12.md:
Merge pull request #624 from Perleone/nom

Link to Wikipedia entry of коледа
AlexDaniel vividsnow: because it looks like someone was going to implement it but dropped it half way through
RabidGravy I thought there was a Net::Socket::Raw on the ecosystem that did some additional socket stuff 19:02
or something like that
19:02 bbkr_ joined
ajs_ [Coke] thanks, I hadn't gotten to debugging it yet, so I didn't know @a would fail 19:03
flussence ChoHag: | is kinda buggy, use || and it'll probably do what you wanted
ajs_ timotimo: thanks for looking into it.
AlexDaniel RabidGravy: well according to this: github.com/rakudo/rakudo/blob/nom/...NET.pm#L27 it should be supported by IO::Socket::INET 19:04
RabidGravy well, the github.com/rakudo/rakudo/blob/nom/...NET.pm#L65 might suggest otherwise :-O 19:06
lucs Heh: contents of the "(HANDLED) Failed to open file"
: fpaste.scsys.co.uk/502551
RabidGravy nice 19:07
timotimo lucs: LOL. 19:08
lucs :)
timotimo tadzik: you're going to love this -^
19:08 ajs_ left
tadzik what 19:11
joeschome When people on Hacker news say things like Perl6 is too slow is what they realy mean it's too slow for somthing like say the backend infrastructure of twitter or Facebook?
tadzik what did this!?
can you even have directories with such names!?
zengargoyle lucs: hehe, saw that a few times.
lucs Oh, by the way, it appears that panda was installed nevertheless, but when installing a module, the "Use of uninitialized value %ENV of type Any in string context" still appears (but the module appears to be installed).
tadzik or is it just a stacktrace? 19:12
lucs tadzik: It's a directory hierarchy that was created under my panda/ directory when doing a bootstrap.pl.
flussence joeschome: when people say perl6 is too slow, it almost always means they read an angry rant about an alpha version of it once five years ago, and are basing all their judgements off of that misinformation
tadzik lucs: I need therapy after seeing this :o
lucs :)
geekosaur perfectly valid, if seizure-inducing, on unixlikes >.> 19:13
zengargoyle lucs, tadzik: i saw that from doing `mi6 build`
thought it was a mi6 problem...
tadzik mi6?
lucs It looks like some message that was redirected to path building instead of ERR or something.
zengargoyle App::Mi6
flussence it's like the people who love to bash PHP who got all their info from that one angry rant about it, while ignoring the fact it has some pretty solid Java-like APIs for unicode now and has done for a while.
joeschome I love openBSD and those guys have a lot of perl5 in the base and they seem like pretty smart guys
nine amorphis++ 19:14
zengargoyle so i'd guess it's coming from Panda::Builder or somesuch
tadzik lucs: alright, so the steps to reproduce is just 1) build rakudo somehow 2) clone panda 3) run bootstrap.pl?
lucs tadzik: Apparently, yes. 19:15
tadzik and yours is a regular linux system?
lucs Let me try something first...
nine Got my brane going. Ginna replace %CUSTOM_LIB by a Compunit::RepositoryRegistry method.
vividsnow AlexDaniel: ok, sended rt.perl.org/Public/Bug/Display.html?id=126846
lucs tadzik: Yep, pretty much. 19:16
tadzik lucs: and you have no other rakudo/panda installations, due to rakudobrew or something?
lucs tadzik: Wait a sec, just thought of something... 19:17
jnthn fpaste.scsys.co.uk/502551 is amazing :)
yoleaux 17:53Z <nine> jnthn: you'd never guess. It's a require Inline::Perl5 in the :lang<Perl5> EVAL candidate
18:07Z <nine> jnthn: I can lookup CompUnit::RepositoryRegistry at runtime. Seems like a small price for getting rid of it in the BOOTSTRAP
jnthn nine: +1
nine: Wait, you got to see amorphis too?! Darn. :) 19:18
lucs tadzik: (okay) Not as far as I can tell, no, I'll double check...
tadzik: Everything looks kosher. 19:21
tadzik lucs: okay, will try to reproduce
retupmoca nine: could this be a cause of my panda bootstrap hang on windows? github.com/MoarVM/MoarVM/issues/308 19:22
lucs tadzik: Wait a sec.
tadzik: Let me make really sure -- I'll reboot and try again -- better waste my time than yours. 19:23
tadzik I'm not sure that's true :P
lucs: I have the same hting 19:24
timotimo jnthn: should RoleToClassApplier only complain about not-implemented stuff after checking through @!fallbacks (if exists)?
tadzik I mean, the tree is much shorter
perhaps it grows each time :D
you could say that
(•_•)
( •_•)>⌐■-■
(⌐■_■) we have an amazing ecosystem 19:25
timotimo jnthn: so that "handles ..." will factor into the decision?
jnthn timotimo: handles is done at attribute composition time
We can't compose attributes until we've got those that come form roles 19:26
*from
19:26 vendethiel joined
lucs tadzik: Well, my project directory is pretty deep, that might explain the longer length. 19:26
jnthn timotimo: So no, handles things will innevitably come too late 19:27
lucs tadzik: Your gut feeling: is it panda or rakudo that's screwing up?
nine retupmoca: could be. I have no idea about file locking semantics on Windows.
jnthn I *think* trying to make handles stuff happen sooner will cause a different issue 19:28
nine retupmoca: BOOTSTRAP loading doesnt lock however
tadzik lucs: I honestly have no clue
lucs Yeah, not obvious eh :/
tadzik first gut feeling: some modules in panda return a Failure when they, well, fail 19:29
retupmoca nine: yeah, I only get hangs when I run 'perl6 bootstrap.pl'. Sometimes I get errors about 'unable to write bytecode' from moarvm too, which makes it more confusing
tadzik but Failure can't be used as a result without the exception being throw
n
19:30 davercc1 left
tadzik lucs: but just to make it clear: is panda still working, and this is just a stupid side effect? 19:31
jnthn: oh, but did you notice the best part? :D 19:32
the topmost directory is called '(HANDLED) Failed to open file' 19:33
jnthn :D
tadzik "at least it's handled!"
jnthn "Watch guys, I'll handle this!" 19:34
lucs tadzik: It appears to have correctly installed (broken) module p6doc.
19:34 virtualsue left
lucs "Stand back! I know Perl6!" 19:34
tadzik I clearly don't 19:35
DrForr Never stopped me efore :)
tadzik I can't imagine a chain of events that may cause this
it's not like double bacon bag
bug*
19:35 Sqirrel joined
tadzik or snowflake-snowman 19:36
this is... sparta
RabidGravy :)
[Coke] urls beeroclock.in/ for jnthn++
timotimo jnthn: damn. i thought i could perhaps make it work :(
19:37 koo8 left, ZoffixW joined
ZoffixW m: my @els = 2; my $list = '42'; my $str = '[|s] |list|'; say $str.substr( / '[' (<-[|]>*) '|' (<-[\]]>*) ']'/, {@els.elems > 2 ?? $0 !! $1}, :g ).substr('|list|', $list, :g); 19:37
camelia rakudo-moar df7c25: OUTPUT«Method '!cursor_start' not found for invocant of class 'Int'␤ in block <unit> at /tmp/_IipfXoghW:1␤␤»
ZoffixW What is it talking about? :/
19:37 bpmedley joined
timotimo it's trying to invoke an Int object as a cursor somehow somewhere 19:38
like, as if it were a subrule 19:39
but ... how?
ZoffixW m: my $str = '[a|s] |list|'; say $str.substr( /um/, '42', :g )
camelia rakudo-moar df7c25: OUTPUT«Method '!cursor_start' not found for invocant of class 'Int'␤ in block <unit> at /tmp/jHYtxw80xd:1␤␤»
timotimo yeah, you want subst not substr
that's probably what's going wrong
m: "foo".substr( /wha/ ) 19:40
camelia rakudo-moar df7c25: OUTPUT«Method '!cursor_start' not found for invocant of class 'Int'␤ in block <unit> at /tmp/XngBTowHd1:1␤␤»
ZoffixW Oh christ yeah
timotimo m: "foo".substr( 1 )
camelia ( no output )
ZoffixW I suspect it's not the first time I'll confuse substr and subst :)
timotimo it's probably trying to smartmatch something against the first argument
19:40 vividsnow left
ZoffixW timotimo++ 19:40
jnthn [Coke]: Nice! :) 19:42
timotimo: There may be some way to deal with it, but I can't immediatley think of a clean one.
timotimo "clean"? pah! ;)
RabidGravy we want filth 19:43
lucs (For semi-posterity: gist.github.com/lucs/58f7141fc26df5dced69 )
nine retupmoca: oh you mean panda's bootstrap. Yes that may be a platform thing
lizmat ah, the joys of a mkpath() function with wrong input 19:44
timotimo well, there was a failure. somehow it got handled %)
oh, i have an idea
the "false"ness of the failure was taken as a sign that "it doesn't exist, so create it!" 19:45
cygx I guess it's my 'fault' for maling open fail instead of die?
*making
19:45 CIAvash left
timotimo dunno? changes the api a bit and seems like panda hasn.t been tested well since then 19:45
lizmat well, we either bite the bullet now, or we revert to open() dieing 19:46
19:46 marchelzo joined
cygx what's the rationale behind making &open fail? 19:47
marchelzo timotimo: so how do I get readline support for the perl6 repl once I've got Linenoise installed?
cygx p5-style open() or ...?
ZoffixW Seems our &term:<☌> is export = ::('&conjunction'); I was asking about earlier doesn't actually work. When called as "☌(<chair spoon window>)", I get Cannot find method 'CALL-ME', and when called as "☌ <chair spoon window>;" expecting any of: prefix, term: ☌ <chair spoon window>⏏; 19:48
Is &term:<☌> same as &foo? 19:50
m: module F { our &term:<☌> is export = sub { say "foo" } }; import F; foo();
camelia rakudo-moar df7c25: OUTPUT«5===SORRY!5=== Error while compiling /tmp/swJN5N7UFP␤Undeclared routine:␤ foo used at line 1␤␤»
ZoffixW m: module F { our &term:<☌> is export = sub { say "foo" } }; import F; ☌();
camelia rakudo-moar df7c25: OUTPUT«foo␤Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/jT6YfXdesF:1␤␤»
Skarsnik m: module F { our term:<☌> is export = sub { say "foo" } }; import F; ☌(); 19:52
camelia rakudo-moar df7c25: OUTPUT«5===SORRY!5===␤Type 'term:<☌>' is not declared␤at /tmp/jDdX967aGI:1␤------> 3module F { our term:<☌>7⏏5 is export = sub { say "foo" } }; import␤Malformed our␤at /tmp/jDdX967aGI:1␤------> 3module F { our term:<7⏏5☌> is expor…»
ZoffixW m: module F { our &Δ is export = sub { say "foo" } }; import F; Δ(); 19:53
camelia rakudo-moar df7c25: OUTPUT«foo␤»
hoelzro marchelzo: it should just work
DrForr gist.github.com/drforr/f8ee29990277449260ce # Confused as to why <content>[2] is require to reference the [assoc => 'right'] element when there's only (to my eyes) one array element in the second content section.
marchelzo hoelzro: :s
timotimo marchelzo: should immediately work
RabidGravy term is a term can't take arguments
ZoffixW RabidGravy, what is it for a sub? 19:54
hoelzro marchelzo: is it not working?
marchelzo timotimo: "==> Successfully installed Linenoise"
but when I run perl6, readline bindings don't work
DrForr (admittedly it's pretty deeply neste, but there's only one array element per content block.)
hoelzro marchelzo: which readline bindings?
timotimo do no bindings at all work? tab? up-arrow?
marchelzo any. arrows don't even work
hoelzro the basics (arrows, ctrl-a, tab) should work
timotimo damn, that's harsh :(
Skarsnik I feel like the only not using/Caring about a repl x)
hoelzro try this:
perl6 -MLinenoise -e 1 19:55
marchelzo timotimo: well the copy I built was 30 commits behind HEAD. maybe that's it?
RabidGravy &term:<booble> = sub { say "foo"}; booble; booble()
timotimo um, why did you do that?
RabidGravy m: &term:<booble> = sub { say "foo"}; booble; booble()
camelia rakudo-moar df7c25: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WkjgRYdZoL␤Undeclared routines:␤ booble used at line 1␤ term:<booble> used at line 1␤␤»
marchelzo timotimo: I couldn't get anything else to build.
timotimo oh?
can you tell me the errors for newer commits?
actually, i'll be AFK for a bit
RabidGravy or whatever
hoelzro I can help while timotimo is absent 19:56
marchelzo: what version of rakudo are you using?
marchelzo one second
19:56 Ch0c0late joined
[Coke] seeing a bunch of Missing serialize function for REPR ContextRef in the jvm spectest 19:57
lizmat [Coke]: I couldn't even get the jvm to build earlier today
19:57 lucasb joined
ZoffixW m: module F { our &term:<☌> is export = sub (Int $xx){ say "foo" } }; import F; ☌(42, 42); 19:58
camelia rakudo-moar df7c25: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in sub at /tmp/gEF6cLsE_z:1␤ in block <unit> at /tmp/gEF6cLsE_z:1␤␤»
ZoffixW I guess that means you can't make exportable unicode subs. Only ops 19:59
[Coke] lizmat: progress!
psch ZoffixW: what's the difference between an op and a sub? 20:00
joeschome Are you guys working on a spacific program or Rakudo itself
lucasb I just managed to create this mythical '(HANDLED) Failed to open file' dir \o/
lucs :)
[Coke] joeschome: this channel is historically about perl6/rakudo development, and modules from the ecosystem.
ZoffixW m: module F { our &prefix:<☌> is export = sub (Int $xx, Str $foo){ say "foo $xx $foo" } }; import F; ☌(42, "foo"); 20:01
camelia rakudo-moar df7c25: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub at /tmp/AI5paSwNoT:1␤ in block <unit> at /tmp/AI5paSwNoT:1␤␤»
joeschome thanks
ZoffixW psch, ^ that? Unless there's some way to specify arbitrary number of args
20:01 joeschome left
lichtkind wink lizmat 20:02
yoleaux 4 Dec 2015 20:26Z <moritz> lichtkind: that tablets is now reachable via SSL too: tablets.perl6.org/
psch m: sub prefix:<m: class Foo { has $!priv = 42 }; Foo.^add_method('priv', my method priv(Foo:) { Foo!priv }); Foo.^comp; my $foo = Foo.new(); $foo.priv
camelia rakudo-moar df7c25: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1mnEF4OVxc␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at /tmp/1mnEF4OVxc:1␤------> 3oo.^comp; my $foo = Foo.new(); $foo.priv7⏏5<EOL>␤ expecting any of:␤ …»
psch oh grml
lichtkind thanks moritz
lizmat lichtkind: would you like your nick also be mentioned in this months credits ?
marchelzo hoelzro: somewhere around fd5b029 Linenoise stops building for me
psch ZoffixW: well, slurpies exist
marchelzo I have to go for a bit as well, though.
lichtkind lizmat but i did nothing
marchelzo I'll try to fix it later
hoelzro marchelzo: what OS are you on? what version of rakudo? 20:03
lizmat lichtkind: you did *something* in the past 15 years :-)
so you're on the list
lichtkind lizmat only thing i do is prepare article for the big p6 release
marchelzo hoelzro: OS X rakudo 2015.11 release
bbl
20:03 marchelzo left
lizmat well, tablets.perl6.org seems like a contribution to me :-) 20:03
lichtkind: so I'll take that as a yes to the original question? 20:04
lichtkind lizmat well there are some minor syntax bits i had influence on
psch ZoffixW: but your error does hint at a difference - parenthesis to a categorical group the argument instead of invoking it...
hoelzro .tell marchelzo Linenoise@b01750a *should* work for you
yoleaux hoelzro: I'll pass your message to marchelzo.
ZoffixW psch, sadly, that doesn't help me much. I want to make ☌ an alias for sub conjunction, which has this signature: gist.github.com/zoffixznet/80c6639bc1074300b740
psch usually writes parens-less vOv
lichtkind well yeah i feel like part of the team
lizmat :-)
lucasb timotimo: are you here? seems like json fast still has the problem. I just cloned panda.
lichtkind lizmat currently i was working more on the p6 tutorial and try to make it the pet project of the in founding leipzig.pm 20:05
[Coke] lichtkind: check docs/announce/2015.12.md and see if your name/nick already appears in there somewhere.
if not, someone will add you.
dalek kudo/nom: 96bc434 | lizmat++ | docs/announce/2015.12.md:
Mention "lichtkind" as nick also
lichtkind lizmat++ is fast 20:06
dalek ast: d43b6ef | (Juerd Waalboer)++ | S32-num/pi.t:
Test tau and τ
20:07
ast: 2ef9aad | (Zoffix Znet)++ | S32-num/pi.t:
Merge pull request #81 from Juerd/master

Test tau and τ
psch hmm 20:08
lizmat lichtkind++ # leipzig.pm
lichtkind well its still in the founding
but danial and me are meeting til it gets some traction 20:09
psch m: sub prefix:<foo>(*@els, :$named) is looser(&infix:<,>) { .say for @els; say "$named" }; foo 1, 2, 3, :2named # unfortunately the named ends up in the slurpy with this prec level :/
camelia rakudo-moar df7c25: OUTPUT«1␤2␤3␤named => 2␤Use of uninitialized value $named of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub prefix:<foo> at /tmp/6Xet1cWkY5:1␤␤»
lichtkind its also koleda in cczech
psch m: sub prefix:<foo>(*@els, :$named) is looser(&infix:<,>) { .say for @els; say $named }; foo 1, 2, 3, :2named # more obvious here...
camelia rakudo-moar df7c25: OUTPUT«1␤2␤3␤named => 2␤(Any)␤»
lichtkind its even a verb : koledat
meaning going singing from house to house
thats what we do when perl 6 comes out :) 20:10
lizmat
.oO( trust the P6 community to verb a noun :-)
20:11 leont joined
psch .u ☌ 20:11
yoleaux U+260C CONJUNCTION [So] (☌)
lizmat Juerd: interested in writing some tests for now.Date and now.DateTime ?
psch that does get rendered a bit weirdly here...
lizmat m: say now.Date
camelia rakudo-moar 96bc43: OUTPUT«2015-12-08␤»
20:13 koo8 joined 20:15 xtreak left
ZoffixW m: sub bar (*@args, :$lang) { say "@args [$lang]" }; sub prefix:<foo>(*@args) is looser(&infix:<,>) { bar(@args); }; foo 1, 2, 3, :lang(42) 20:15
camelia rakudo-moar 96bc43: OUTPUT«Use of uninitialized value $lang of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub bar at /tmp/B4FUECt_ha:1␤@args []␤»
psch ZoffixW: i'd suggest writing a slang that allows codepoints with general category S* for identifier names, if you really *need* it :P
ZoffixW Oh well.. I'll forgo it
psch, nah, it was more of a "look shiny Unicode!" than of any usefulness :) 20:16
And I don't know how to write slangs :)
Thanks for the help though
lizmat [Coke]: after nuking install, jvm build now fails at installing core modules for me with:
./perl6-j tools/build/install-core-dist.pl
No writeable path found
in block <unit> at tools/build/install-core-dist.pl:13
[Coke] oh, I don't think I install when doing the daily tests. 20:17
nope, I don't.
make -j all, then proceed to testing. 20:18
20:18 [particle]1 joined
lucasb timotimo: ping 20:18
20:19 n0tjack left
lucs lucasb: By the way, timotimo is aware that JSON::Fast still hangs: read starting here: colabti.org/irclogger/irclogger_log...2-08#l2396 20:21
lucasb thanks lucs++; did json fast hang for you today? 20:24
MadcapJake m: my @a = ('off' xx 5) xx 5; @a[4][4] = 'on'; # Why is this immutable?
camelia rakudo-moar 96bc43: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at /tmp/NBX5Q2cjcp:1␤␤»
lucs lucasb: Yep, same conditions as you apparently. 20:25
[Coke] m: my @a = ('off' xx 5) xx 5; say @a.perl;
camelia rakudo-moar 96bc43: OUTPUT«[("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off")]␤»
[Coke] m: my @a = ('off' xx 5) xx 5; say @a[4][4].WHAT;
camelia rakudo-moar 96bc43: OUTPUT«(Str)␤»
psch m: my @a = ('off' xx 5) xx 5; say @a[4].WHAT; 20:26
camelia rakudo-moar 96bc43: OUTPUT«(List)␤»
psch m: my @a = ['off' xx 5] xx 5; @a[4][4] = 'on'; # 20:27
camelia ( no output )
lucasb m: my @a := ('a',); @a[0] = 1
camelia rakudo-moar 96bc43: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at /tmp/6DBRQAcX7c:1␤␤»
lizmat lucasb: and what is wrong about that?
lucasb I think the message is a little LTA, because what is getting modified is not a Str, but a List, which is immutable iiuc
MadcapJake oh it's the parentheses? 20:28
lizmat lucasb: a List is immutable wrt to number of elements
lucasb lizmat: there is nothing wrong with that, I think it's right behavior
lizmat if a list however contains containers, you *can* change a list
psch lucasb: i think the message is fine. the Str is what's immutable, because Lists don't containerize
MadcapJake so brackets containerize?
lizmat m: my $a = (1, my $ = 2, 3); $a[1] = 42; dd $a 20:29
camelia rakudo-moar 96bc43: OUTPUT«List $var = $(1, 42, 3)␤»
zengargoyle RabidGravy: grrrr :) it seems to be the «use lib 'lib';» in your .t files that makes travis stuff work.
Skarsnik m: my @a = ['off' xx 5] xx 5; say @a.perl;
camelia rakudo-moar 96bc43: OUTPUT«[["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"]]␤»
lucasb ahh, ok; sorry. thanks lizmat++ and psch++
Skarsnik m: my @a = ['off' xx 5] xx 5; say @a[4][4] = "on"; 20:30
camelia rakudo-moar 96bc43: OUTPUT«on␤»
zengargoyle panda seems to only copy resources at final install time, they don't end up in blib after a panda-build.
20:30 ZoffixW left
MadcapJake ok so am I accurate in saying that the brackets containerize each element? Or is there something else going on there? 20:30
lizmat if you say "my @a = (...list...)" 20:32
you're effectively copying the list into an array, and thus it gets containerized
psch m: my @a = (-> { $ = 'off' }()) xx 5 xx 5; say @a[4].WHAT; @a[4][4] = "on"; dd @a # >_>
camelia rakudo-moar 96bc43: OUTPUT«(List)␤Array $var = $[("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "on")]␤»
psch i like to think of it as copying the List elements into the Arrays element containers 20:34
MadcapJake is confused 20:35
RabidGravy I'm always confused
zengargoyle .tell RabidGravy your «ERL6LIB=blib/lib prove -v -r --exec=perl6 t/» isn't actually testing against blib, the «use lib 'lib';» in t/*.t are forcing it to use the .precomp in 'lib' instead.
yoleaux zengargoyle: I'll pass your message to RabidGravy.
MadcapJake thinks maybe there should be a language page for lists/arrays 20:36
zengargoyle doh.
RabidGravy :)
yoleaux 20:35Z <zengargoyle> RabidGravy: your «ERL6LIB=blib/lib prove -v -r --exec=perl6 t/» isn't actually testing against blib, the «use lib 'lib';» in t/*.t are forcing it to use the .precomp in 'lib' instead.
20:37 geraud joined
psch hrm 20:37
RabidGravy zengargoyle, the thing is that the blib thing makes it difficult to test whether it will actually work installed, which I found by accident
psch what's happening with install paths anyway?
RabidGravy as "panda install" doesn't do blib 20:38
psch 0ec5ad56 was needed because make install installed the .jars into the wrong directory
zengargoyle yeah, it's a conundrum... i usually don't 'use lib "lib"' in test files and i kept failing to find my library.
psch now when i'm trying make install now, i get complaints that the previous directory doesn't exist
zengargoyle no blib/resources/lib/libfoo.so
wait, panda install doesn't do the panda-build to blib and then copy from blib? 20:39
doesn't that break any sort of generated content?
20:41 Peter_R joined
RabidGravy if you generate into blib/... yes 20:41
which is how I found out
20:42 prevost joined
zengargoyle seems it should do a install to blib just like it would install to final destination, then test, then sorta re-install to final destination... 20:42
things would work better if panda-build also copied the resources like it does for the real install... 20:44
20:44 kyclark left, FROGGS left
timotimo lucasb: can you locally golf the problem? because i can't reproduce it :( 20:48
zengargoyle thinking best workaround for travis might be to install the module then prove the tests without any -I/PERL6LIBS setting. 20:49
lichtkind lizmat who had idea of koleda?
lizmat [Coke] afaik
dalek osystem: 318d08f | (Zoffix Znet)++ | META.list:
Add Lingua::Conjunction to eco

Convert lists into linguistic conjunctions and fill them into a template: github.com/zoffixznet/perl6-Lingua-Conjunction
20:51
20:51 zengargo1le joined, zengargo1le is now known as zengargoyle
lucasb timotimo: one second 20:52
leont zengargoyle: or try my prove6 ;-)
(well actually, right now it seems kind of broken currently due to a rakudo regression, working on that) 20:53
[Coke] (koleda) Yes it was me.
zengargoyle :)
[Coke] How could I resist a chance to name the release after myself? :)
lizmat sheesh... it had never triggered with me until now! 20:54
lucs Re. panda: _must_ its executable be found in the PATH (as per its README), or is that just an easy way to make sure it's found? (I prefer a symlink to it, in a dir which is in my PATH)) 20:55
[Coke] BWAHAHAHAAHAHAHAH! 20:56
my plan for world domination is nearly complete. 20:58
20:58 xjrK_ joined
lucasb [Coke]++ for doing the last releases and the final one :) 21:00
autarch [Coke]: too late, I'm already in charge of the world - I'm just doing a _really_ shit job running things 21:01
hoelzro is there a way to do unsigned binary negation?
lucasb timotimo: just cloned a fresh json_fast repo, and I'm running 'perl6 -Ilib t/01-parse.t' and it hangs on the same test as before
hoelzro it seems that +^ coerces its args to Int
lucasb timotimo: that '{ "a : false }' test... Can I do something else to give you more information? 21:03
timotimo lucasb: i run tha texact same test and it doesn't fail
ok 59 - NOT parsed «{ "a : false }» 21:04
ok 60 - NOT parsed «"A JSON payload should be an object or array, not a string."»
21:04 xjrK_ left
timotimo hoelzro: ~^ or something? 21:04
hoelzro m: ~^ 1
camelia rakudo-moar 96bc43: OUTPUT«WARNINGS:␤Useless use of "~^ " in expression "~^ 1" in sink context (line 1)␤prefix:<~^> NYI␤ in block <unit> at /tmp/LG6eEObaM6:1␤␤Actually thrown at:␤ in block <unit> at /tmp/LG6eEObaM6:1␤␤»
hoelzro er, I thought that was NYI o_O 21:05
lucs timotimo: Remember, it fails for me too, with the most recent (a couple of hours ago) rakudo/nqp/MoarVM/panda combination.
hoelzro m: say(~^ 123)
camelia rakudo-moar 96bc43: OUTPUT«prefix:<~^> NYI␤ in block <unit> at /tmp/u_7GfzOcIr:1␤␤Actually thrown at:␤ in block <unit> at /tmp/u_7GfzOcIr:1␤␤»
hoelzro yeah, there we go
21:07 csd_ left 21:10 marchelzo joined 21:11 leont left
marchelzo hoelzro: back 21:12
yoleaux 20:04Z <hoelzro> marchelzo: Linenoise@b01750a *should* work for you
marchelzo yoleaux: thanks
hoelzro marchelzo: if it doesn't, please let me know what the error message is
marchelzo hoelzro: "Function CompUnit::Repository::FileSystem needs parens to avoid gobbling block" 21:13
hoelzro your panda is too new
marchelzo it's the panda that came with the 2015.11 release 21:14
hoelzro o_O
how did you install rakudo & panda?
marchelzo wait... something is terribly wrong 21:15
I downloaded the 2015.11 relase. I did 'perl Configure.pl --prefix=/usr/local/bin --gen-moar'. I did 'sudo make install'.
21:16 molaf left
hoelzro ok, that looks fine 21:16
marchelzo But panda is using the homebrew version of rakudo that I installed months ago (2015.03).
hoelzro =/
Skarsnik remove that x)
RabidGravy yeah, that's never going to work 21:17
or if it does I'd be surprised 21:18
marchelzo I don't know why it wasn't overwritted by the new install.
overwritten*
Okay, when I run 'make install', I'm getting a lot of 'Can't exec "/usr/local/bin/bin/perl6-m"'. 21:19
that path looks weird
Skarsnik lol
marchelzo maybe prefix should just be /usr/local and not /usr/local/bin?
Skarsnik --prefix=/usr/local
timotimo lucs: i really have no clue how to go on with this problem 21:20
lucs: i, too, have the newest moar/nqp/rakudo and panda
lucs :(
marchelzo building rakudo for a third time T_T
RabidGravy yes, 'cause it may want to do $preffix/lib $prefix/bin $prefix/share
Skarsnik don't use --prefix with panda x)
marchelzo Now my /usr/local/bin has all sorts of weird shit in it, haha. 21:21
lucasb timotimo++, that's ok, at least you listen to our feedback :)
21:21 joeschmoe2 joined
Skarsnik it delete everything in prefix that is not panda xD 21:21
timotimo marchelzo: i do not recommended to install stuff outside your home
marchelzo timotimo: you install perl6 and panda in $HOME and then add them to $PATH?
timotimo yeah, that's how i do it (but also: i'm a developer, so i constantly rebuild and update) 21:22
RabidGravy timotimo, at some point people are going to want to do it though
marchelzo I know that would probably result in fewer issues, but for some reason I like all my installed binaries to be in /usr/local/bin.
timotimo (and sometimes i have to delete my whole prefix if some radical changes occur)
Skarsnik I use /opt x) 21:23
RabidGravy but yes while building several times a week or even a day it's a lot more sensible
my /usr/local is a different filesystem 21:24
lucasb
.oO( Outside my $HOME is a whole different universe )
21:26
mst Proposed patch for every perl6 website: 21:27
+<h1>For the love of kittens, delete every other perl6 install you have and use rakudobrew to get a fresh one.</h1> 21:28
jdv79 nine: the show was good? 21:29
21:29 cygx left
timotimo oh, nine's back? 21:30
Skarsnik I don't think so lol
21:30 leont joined
RabidGravy mst++ 21:31
21:31 bbkr_ left, bbkr joined
timotimo .tell leont i would like to have a bit of help with Test::Harness at some point; moarvm is getting a line-based coverage reporting tool and reqiures to have an env var set; maybe something clever could be done in rakudo's t/harness? 21:31
yoleaux timotimo: I'll pass your message to leont.
21:31 rindolf left
RabidGravy mst, I was thinking about you and all that flooding, you escaped with your feet dry? 21:31
mst two of my three favourite pubs failed to float
the power was out for 48h 21:32
RabidGravy :(
mst I'm on the first floor -and- at the top of the hill, so the water was well away from me
marchelzo ugh.. now I'm getting errors building rakudo
"Unhandled exception: Bytecode stream version too high"
hoelzro marchelzo: you probably have a MoarVM that's too old
leont o/
yoleaux 21:31Z <timotimo> leont: i would like to have a bit of help with Test::Harness at some point; moarvm is getting a line-based coverage reporting tool and reqiures to have an env var set; maybe something clever could be done in rakudo's t/harness?
timotimo mst: oh damn, that's tough :(
hoelzro so you'll have to checkout, build, and install MoarVM by hand 21:33
same with NQP
21:33 koo8 left
marchelzo hoelzro: right before that it says: "Found /usr/local/bin/moar version 2015.11, which is new enough." 21:33
mst the area substation ended up under several feet of river
our power infrastructure is not quite designed for that
hoelzro I wonder if that's the actual moar it's using
jdv79 mst: where did all this water come from?
flussence the sky, mostly
lizmat jdv79: from above
mst we got a month's worth of rain in a day, and it splattered over all the hills as well
lizmat 300 mm of rain in a few hours, I've been led to understand 21:34
mst so anything near the river got a trifle soggy
jnthn wonders if it's the same storm system that was causing some fun in Scandinavia at the weekend...
lizmat jnthn: pretty sure of that
mst it went across scandinavia then diagonally across scotland and down over us
marchelzo hoelzro: it's not T_T
flussence a few things here ended up underwater too, including a bus and most of the bridge it was on
lizmat it even had a name? Patrick ?
mst I think
flussence (it was empty fortunately)
mst lizmat: DESMOND 21:35
marchelzo I though I removed all the 2015.03 stuff, but /usr/local/bin/moar was still a symlink to the homebrew rakudo install.
lizmat ah, oops
marchelzo thought*
hoelzro i.memecaptain.com/gend_images/2LOOWg.jpg
lucasb The problem with installing things in /usr/local is that. You can't just simply delete a directory, you have to hunt those binaries...
marchelzo I really hope it works this time...
lol
mst usually installs into /usr/local/program-1.23/
and then symlinks things into /usr/local/bin
hoelzro this is why I install to $HOME/.mokudo, or better yet, /tmp/nom
leont timotimo: I'm not sure why you'd need the harness' assistence for that, I mean can't you just set it when running it? (probably missing something here) 21:41
Juerd lizmat: Yes, but not available for today and the next few days 21:42
leont Or do you want it to have a new value for every test file?
21:42 prevost left
marchelzo I have no idea what I'm doing wrong. 21:45
I configured with -prefix=/usr/local, but it didn't put perl6 or perl6-m in /usr/local/bin.
timotimo leont: i think it'd be good to have a separate value per test file, yeah
marchelzo So when I run 'sudo make install', it fails because it tries to use /usr/local/bin/perl6-m.
leont That would be tricky, in both implementations, it pretty much requires a custom source handler. 21:47
dalek ast: e23a58d | usev6++ | S (4 files):
Fudge tests returning Int instead of Bool for JVM
marchelzo It's installing it to ./install/bin/perl6. Is that normal even if you used a prefix like /usr/local?
timotimo leont: in that case, no problem. i'll just set a single value
leont Passing it a constant format (expanded with file name and process id) would probably be easier
timotimo leont: just ... how do i do that in perl5? :3 21:48
moar opens the given file in append mode, so it'll be all right
hoelzro marchelzo: I don't think so 21:49
what is the exact command line you're calling Configure.pl with?
marchelzo perl Configure.pl --prefix=/usr/local --gen-moar
lucs Can I control (change) which directory is used for ~/.perl6 ? 21:50
marchelzo it appears to execute successfully
and when I run make install, it writes all kinds of stuff to /usr/local/share, so it must have recognized the prefix. 21:51
lucs (and what happens if I run perl6 from another $HOME?)
hoelzro hmm, that looks ok to me 21:53
leont append may or may not be atomic, it depends
timotimo yeah :(
i've noticed 21:54
i'll perhaps have to put in a mutex even for single-program cases
marchelzo do you think it would work if I just copied ./install/bin to /usr/local/bin? 21:55
ugexe no 21:56
marchelzo i tried it
I think it worked 21:58
it looks like it was trying to use /usr/local/bin/perl6 before having installed it.
The very last thing that happens during a make install is 'Installing binaries for MoarVM'. 21:59
21:59 kaare_ left, sno joined
marchelzo wait.. no.. it doesn't work 22:00
I don't know what to do... 22:01
22:01 n0tjack joined 22:02 n0xff joined, lucasb left
marchelzo panda is trying to parse install/share/perl6/site/panda/projects.json but it's empty. 22:02
22:03 xfix left 22:04 Ch0c0late left 22:05 rurban joined
hoelzro I' 22:05
er
22:05 crux joined
hoelzro I'm beginning to think the best next move for you, marchelzo, is to use rakudobrew 22:05
that should (hopefully) straighten things out
marchelzo that's where I got the 2015.03 one
I think...
timotimo rakudobrew doesn't support putting stuff outside of the /home at all, though 22:06
like, give it a --prefix and it will get quite confused
tadzik it's not supposed to accept a --prefix even :)
22:06 n0tjack left
tadzik but it seems like quite a few people like rakudobrew as a build tool in general, rather than a "maintain installations in my homedir" tool 22:06
Skarsnik there is a --configure-option you can pass it --prefix
but yeah, it's not fun 22:07
tadzik I'd quite like to know the concrete usecases, maybe I can find some way for both of them to peacefully coexist. And, well, work
Skarsnik but git clone rakudo and running configure.pl work
22:08 z8 joined
Skarsnik use case of what? having a system wide perl6 installation for your users? x) 22:08
tadzik well :)
marchelzo does 'rakudobrew build moar' use git HEAD? 22:09
Skarsnik yes
22:09 Praise left
tadzik I mean, if people want rakudo in a specific place, why go for rakudobrew 22:09
marchelzo I thought HEAD was not very good to follow right now?
lichtkind o/ 22:10
tadzik you can ask rakudobrew to install a specific version
rakudobrew build moar 2015.11 for instance
it goes for HEAD by default
marchelzo to be honest, I just wanting a working perl6 repl with readline bindings
22:10 lichtkind left
hoelzro I would recommend rakudobrew 22:10
jdv79 Skarsnik: you're not alone. i've never used a repl or felt the need.
marchelzo if rakudobrew can give me that, I don't care if it's installed in HOME or not. 22:11
jdv79 i honestly do not comprehend it
tadzik what calculator do you use? :o
Skarsnik windows calc xD
jdv79 i mean from an interpreter like python or p6:| 22:12
jnthn Differnet people like to work in different ways. That's fine. It's Perl, there's more than one way to do it.
22:12 ChristopherBotto joined
dalek p: d6370eb | TimToady++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
bulletproof against nodes without .orig
22:12
jdv79 i don't care if it exists or not. just sayin cause Skarsnik mentioned it earlier. 22:13
22:13 hankache joined
marchelzo the repl is invaluable for exploring the langauge 22:14
language*
jdv79 that's your opinion:)
22:14 Praise joined, Praise left, Praise joined
zengargoyle timotimo: rakudobrew works fine outside of home... mine's located at /opt/rakudobrew. 22:14
Skarsnik I mean what rakudobrew install x)
22:15 lucasb joined
Skarsnik not rakudobrew itself 22:15
marchelzo jdv79: no, it's a fact
22:15 z8 left
jdv79 i don't think this conversation is worth our time. but if its so invaluable how come i know a little perl6 and i have never used it. 22:15
marchelzo that's something you should ask yourself, not me 22:16
Skarsnik I write code or execute stuff with -e to test thing lol
jdv79 marchelzo: ok
timotimo me, too, Skarsnik
ugexe i dont use the repl either, but probably because im too stuborn to learn a new way to code
marchelzo I haven't used the perl6 repl very much, maybe it isn't great, but I've used good repls and they really are helpful. 22:17
jdv79 the natural progression for me is one liner and then to a test file. idk.
ugexe me too
hankache for some people repl can be helpful
jnthn finds having a window with the REPL open kinda useful when teaching
hankache it's not one size fit all
RabidGravy yea, I'm in the -e or test file camp
jnthn 'cus it lets you show stuff without the ceremony of doing -e, and it auto-prints expressions 22:18
Skarsnik Well we never say it's bad/not usefull, just that we don't use it ^^
jdv79 everyone works differently. i just wish i could comprehend better why the repl seems to popular.
exactly, what Skarsnik said.
anyway, pub visit overdue &
RabidGravy pub++
22:20 donaldh joined
hankache what is the main channel for perl? 22:21
arnsholt For very short snippets, I like -e. But if it's a bit longer (involving a class with some methods, say), I start liking a REPL
hankache #perl?
timotimo irc.perl.org has #perl, but freenode has a #perl, too
irc.perl.org is MAGnet 22:22
Juerd irc.perl.org doesn't support ipv6 :(
marchelzo we're making progress
I got moarvm and panda through rakudobrew
I installed linenoise (HEAD^)
hankache so which one is the thing?
marchelzo but now I get this when running perl6: Cannot locate native library 'liblinenoise.dylib' 22:23
hankache congrats marchelzo
hoelzro marchelzo: did you install rakudo from git HEAD?
or 2015.11?
Juerd hankache: Perl has no official IRC channel, but there are multiple channels about Perl
marchelzo git HEAD I believe (I just did rakudobrew build moar).
hoelzro marchelzo: then you'll need Linenoise HEAD 22:24
marchelzo oh, right
[Coke] ... oh my! we're going to beat Half Life 3.
hankache Juerd which one is the equivalent of this?
hoelzro you'll probably need to --force install it
marchelzo hoelzro: FINALLY! 22:25
hoelzro \o/
Juerd hankache: There is no equivalent. Perl is literally older than IRC and the channels just co-exist.
marchelzo hoelzro: timotimo: thanks for all the help 22:26
anyone else who helped too
hoelzro no problem
hankache Juerd i see 22:27
donaldh [Coke]: re: irclog.perlgeek.de/perl6/2015-12-08#i_11679606 I am investigating that JVM bug.
22:27 skids left
timotimo marchelzo: sorry it took so much work to get to something working :( 22:27
Juerd hankache: irc.perl.org is probably the "most" official one :)
Not necessarily the busiest one though
marchelzo it's ok 22:28
hankache well both #perl on irc.perl.org and freenode seem quiet
Juerd Might be a timezone thing
hankache ah! the freenode one showed a sign of life
marchelzo ok so <1 2 3> has type List, but <3> has type IntStr. What's with that? 22:29
Juerd Does efnet still exist? There was a #perl-help there
dalek kudo/nom: c27a00c | TimToady++ | src/ (5 files):
get reductions thunking for left/list assoc
Juerd marchelzo: <3> is a single thing that is both an Int and a Str.
timotimo marchelzo: if there's only one thing, it's for a single value, otherwise it's for a list of things
jnthn TimToady++ # thunking up our meta-ops
marchelzo So when would you use <3> versus just 3? 22:30
Juerd marchelzo: Doesn't matter. They're the same thing in practice. 22:31
marchelzo Why isn't <3> the same as 3.List? That seems more natural doesn't it?
Juerd marchelzo: Any single item can be used as a 1-element list.
jnthn Less useful, though
TimToady m: Nil orelse .say # also fixed this
camelia rakudo-moar 96bc43: OUTPUT«(Any)␤»
Juerd marchelzo: So it's not needed
jnthn %h<a> = index a single hash element 22:32
%h<a b c> = slice the hash
:a<1> # pair a => 1
:a<1 2 3> # pair a => (1, 2, 3)
And yes, what Juerd++ said 22:33
hankache m: (1 2 3).WHAT.say;
camelia rakudo-moar 96bc43: OUTPUT«5===SORRY!5=== Error while compiling /tmp/R1UjXo3sID␤Two terms in a row␤at /tmp/R1UjXo3sID:1␤------> 3(17⏏5 2 3).WHAT.say;␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier…»
hankache m: say <1 2>.WHAT; 22:34
camelia rakudo-moar 96bc43: OUTPUT«(List)␤»
hankache m: say (1,2).WHAT;
camelia rakudo-moar 96bc43: OUTPUT«(List)␤»
hankache is theremore ways to construct a list? 22:35
other than those 2 ^^
lizmat m: dd List.new(1,2,3)
camelia rakudo-moar 96bc43: OUTPUT«List $var = $(1, 2, 3)␤»
jnthn m: dd << a "b c" { 2 + 3 } >> 22:36
camelia rakudo-moar 96bc43: OUTPUT«List $var = $("a", "b c", IntStr.new(5, "5"))␤»
hankache what does dd do? 22:37
Juerd data dump
lizmat m: my $a = 42; dd :$a
camelia rakudo-moar 96bc43: OUTPUT«Int a = 42␤»
Juerd It's everyone's favourite debug tool, so it deserves a nice and short name.
marchelzo what's the difference between an Array and a List? 22:38
Juerd Arrays are mutable
hankache m: my $a = 42; say $a.perl;
camelia rakudo-moar 96bc43: OUTPUT«42␤»
marchelzo Juerd: Is that the only difference?
Juerd I'm not sure 22:39
jnthn Arrays can also be typed, and shaped, or typed and shaped (including native types to provide packed storage)
hankache i see dd can be more useful than .perl sometimes
thanks lizmat Juerd
thanks jnthn
lizmat Juerd: also, if an element of a List is a container, it *can* be changed 22:40
m: my $a = (1, my $ = 2, 3); $a[1] = 42; dd $a
camelia rakudo-moar 96bc43: OUTPUT«List $var = $(1, 42, 3)␤»
jnthn Generally, arrays are used for mutable storage, lists are often more transient
Juerd lizmat: Sure, but the elements are not the List 22:41
marchelzo lizmat: well that is consistent with Lists being immutable
lizmat well, some people interpret "List are immutable" as the values in a List being immutable as well 22:42
jnthn Right, nothing stops an immutable list containing mutable objects.
lizmat I wanted to get that across :-)
jnthn Yes, it's an important distinction :)
hankache still doesn't fully understand who is mutable and who is not 22:43
timotimo jnthn: gist.github.com/nxadm/141723568ac6235f212b - did you see this? it hangs after a while of running :(
hankache and how to know if a function is a mutator or requires .= 22:44
jnthn timotimo: No, but is it another case of that concurrent GC issue?
hankache: It's probably easier to assume "not mutating" in Perl 6 and learn the things that do mutate.
Most things don't. 22:45
hankache ok
what about functions and mutators 22:46
.pop vs .sort
Juerd What about them?
El_Che jnthn: it's not very concurrent
jnthn El_Che: Waht isn't? 22:47
El_Che timotimo's linkk
hankache .pop modifies the array
.sort doesn't
zengargoyle hankache: i think that.. scalar containers do a good job at being invisible ... helps a bit.
hankache and so if you want to store the array and store it sorted you use .= instead of= 22:48
zengargoyle as in there's sometimes a scalar container there (just like there could be an array container there) except the scalar container often tried to hide that it's there.
lizmat El_Che: how can $closed ever be true if it doesn't get updated inside the loop ? 22:49
until $channel.closed {
jnthn Yes, push/pop/shift/unshift/splice are some of the handful that mutate, mostly becuase they'd be a heck of a lot less useful if they didn't.
lizmat would make more sens to me
22:50 Skarsnik left
jnthn lizmat: It's a Promise 22:50
timotimo jnthn: it doesn't happen in GC, nah
lizmat ah, ok
jnthn timotimo: How long does it take to hang?
timotimo usually does so well within a single minute
jnthn I'm up to 170 iteratoins here
TimToady m: [&&] 0, say("oops") 22:51
camelia rakudo-moar 96bc43: OUTPUT«oops␤»
TimToady m: [&&] 0, say("oops")
camelia ( no output )
timotimo got it to hang, will give you backtraces
jnthn OK. I'm up to like 230 now :)
it's warming my room up too :P
timotimo gist.github.com/timo/a912a560f23f256bc9c0 22:52
Juerd TimToady: Oops indeed :)
timotimo i tried to get gdb to go to a certain frame and print the moar-level backtrace with "thread apply all", but it seems to only take a single command argument :(
hankache thanks zengargoyle
El_Che lizmat: close would be true when the channel is empty? 22:53
timotimo jnthn: the "shift" invocations were both in scheduler's "maybe_start_thread" looking for new work to enter the queue
TimToady m: [xor] 1, 1, say("oops")
camelia ( no output )
TimToady m: [xor] 1, say("oops")
camelia rakudo-moar c27a00: OUTPUT«oops␤»
jnthn The condvar wait is almost certainly going in Promise 22:54
hankache jnthn: i agree but as an end-user is there a way i can now beforehand who mutates and who doesn't?
TimToady m: [or] 1, say("oops")
camelia ( no output )
hankache know**
jnthn hankache: Read the documentation? :)
hankache fair enough 22:55
jnthn hankache: Generally though, we can't actually make everything mutate or everything not mutate and end up with, well, a Perl :)
22:56 crux left
jnthn So we generally lean fairly strongly towards not mutating, except when the forces push against it. 22:56
22:56 [particle]1 left
jnthn One guideline is "if this didn't mutate, would it be algorithmically more complex"? 22:56
22:57 crux joined
timotimo jnthn: at least Thread 5 is inside promises .result under status == Planned 22:57
jnthn But that's probably a bit fraught :)
hankache: You never have to wonder on value types (all the numeric types, Str, and List, for instance), because those cannot mutate 22:58
hankache: Similarly for anything you can do on a Supply or a Seq, which are all based around buiding up pipelines of operations.
timotimo jnthn: paste updated with the MVM_dump_backtrace results
jnthn Date/time stuff also works like immutable values
So generally it's only the mutable things - like Array/Hash/SetHash/BagHash/MixHash - where it's a consideration. 22:59
hankache i see
hankache will sleep less ignorant tonight 23:00
El_Che lizmat: compare the channel->poll code with the channel react code. The code is in the same place: gist.github.com/nxadm/141723568ac6235f212b vs gist.github.com/nxadm/1e5a26881f5831a2c8af
and it's a Promise indeed 23:01
I mean, "the close is in the same place"
hankache thanks jnthn
23:02 lucasb left
jnthn :) 23:02
timotimo: heh, I'm up to like 900 here by now ;)
El_Che If we need to check for the channel.close status with react, there isn't much syntatic added value compared to the channel.poll way
_nadim hi, is transliteration documented somewhere? doc.perl6.org returnss nothing for tr trans transliteration 23:03
23:03 spider-mario left
jnthn El_Che: Why do you need to check for that with react/whenever? 23:03
El_Che: If you want to do something when the channel is closed, use a LAST { ... } block inside the whenever. 23:04
(Which will trigger after you already processed the last actual value from the Channel)
Juerd _nadim: design.perl6.org/S05.html#Transliteration
El_Che jnthn: it just needs to get out of the react block once the channel is closed
timotimo jnthn: so maybe it's a linux-only thing? :\
jnthn El_Che: Do you have any other whenevers in the react block? 23:05
El_Che no
jnthn Then that'll happen automatically
El_Che jnthn: in 5% of the time it just hangs
timotimo helgrind, a thread error detector
El_Che jnthn: put the bug here: rt.perl.org/Public/Bug/Display.html?id=126842 23:06
timotimo much output
lucs This appears to work, but is there something more idiomatic?: use lib IO::Path.new($?FILE).dirname;
jnthn El_Che: Yes, I suspect there's a data race somewhere. The "use a Channel in a react block" code is just a few days old.
_nadim Juerd: thanks but the docuentation doesn't list the. I'll test it
timotimo ok, now it's hanging
El_Che in short: 1. I don't get the doc (I'll patch it accordingly when I get it)
Juerd _nadim: Documentation is missing for a lot of things. Maybe you'd like to write some? :) 23:07
23:07 cdg left
masak "When invoking cuid_7_1449615985.11669 '', provided outer frame 0x59ec270 (cuid_25_1449615985.11669 'install') does not match expected static frame 0x47a02a0 (cuid_12_1449615985.11669 '')" 23:07
jnthn timotimo: It's not immediately clear to me what's to blame from the backtraces
masak is a bit of a funny error message
is this related to precomp?
El_Che 2. There is a bug, but there is a valid not much shorter way to do the same -> if it doesn't stabilize, just re-add it after xmas?
masak should I blow my lib/.precomp/ ?
timotimo jnthn: F5 on the gist gives you the exact script i ran and helgrind output 23:08
jnthn El_Che: I'm not too worried about bugs in xmas of the "it obviously fails to work right" nature
El_Che: I'm worried about "it works wrong and you can end up depending on semantics we don't want"
timotimo especially the very end might be good, the "at exit, thread #foo was still holding $n locks: ..."
masak hm, blowing lib/.precomp didn't help
timotimo jnthn: i suppose it can wait, then :)
masak I'm now thinking I've actually done something Very Bad in my code...
jnthn masak: It's one of those "should never really happen" things
masak: Last time I saw it, it was because of a nasty data race 23:09
El_Che jnthn: I get the stylish feel of the react syntax (that why I converted my code and hit the bug), but I don't think the channel poll is bad. On the contrary
jnthn But that was fixed months ago, and I've never seen it again since.
El_Che very straight forward: a closed promise + poll
_nadim Juerd: Getting to the point I can help, rigt now I am writting my first lines of P6
jnthn El_Che: Yes, it's nice the long way around is still not that long :)
We'll get to the bottom of what's going on with the react thing 23:10
masak jnthn: suspected the "should never happen" thing
23:10 trone left
_nadim I would have expected the methods to be auto generate in the docs, I guess they are, but trans is missing 23:10
masak not sure what I've done yet, but it's nothing to do with data races
timotimo the only thing i can come up with: $lock.protect doesn't work :P
jnthn I just need a decent stretch of time to look at them when I'm not tired, and those aren't available for another couple of days. :)
El_Che jnthn: what a like about the poll thing that it stays in the channel mindset instead of putting you on a supply mindset, imho
Juerd _nadim: That's cool. I hope you're having fun with your first lines :)
_nadim: Docs are not auto-generated (yet?) 23:11
jnthn El_Che: react/whenever work on Promise also
El_Che: So they're pretty cross-mindset :)
El_Che: The real power is you can use supplies *and* channels in the same react
_nadim I've had nightmares but fun. I am putting tests in my first module, I should get there before Christmas ;) 23:12
Hu! not autogenerated!!!!
El_Che anyway (and unrelated), whoever added the nl-in in IO::Handle recently: You sir or madam, made my code a lot faster. Kudos
_nadim I need to find time indeed
Juerd _nadim: Documentation is mostly written separate from the spec and implementation, at github.com/perl6/doc/tree/master/doc
jnthn El_Che: So, process data coming back from a worker on a channel while looking out for a SIGINT when somebody wants to stop the work, or so :)
masak good news -- I got rid of the Very Bad thing, and I now know what I did that was Very Bad, and I'll probably be able to produce a rakudobug from it :> 23:13
jnthn masak: Did it involve BEGIN time? :)
23:13 cdg joined
timotimo El_Che: nl-in and nl-out moved into the VM in big parts; especially chomping is there now 23:13
jnthn Only nl-in moved into the VM :)
El_Che jnthn: I process big LDAP ldif (the complete db dump). Now that I can split by records (separated by an empty line) instead of line, everything is easier (e.g. line continuations, etc) 23:14
timotimo oh, right
well, that's the more expensive one anyway :)
jnthn It learned to support multiple, and multi-char, separators at the same time.
_nadim Juerd: you're sure that's the right url?
jnthn And to directly construct the correct string, rather than the unchomped one and then substringing it.
TimToady m: say (say("oops") !R&& 0)
camelia rakudo-moar c27a00: OUTPUT«True␤»
23:14 AlexDaniel left, vendethiel left
TimToady m: say (say("oops") !RRR&& 0) 23:14
camelia rakudo-moar c27a00: OUTPUT«True␤»
TimToady m: say (say("oops") ![!RRR&&] 0)
camelia rakudo-moar c27a00: OUTPUT«False␤»
jnthn o.O
El_Che timotimo: before the move, using "\n\n" didn't work as a separator, only "\n", "\r\n" and whatever random char :)
jnthn timotimo: Show-off! :) 23:15
uh
TimToady: Show-off! :)
donaldh With the new precompilation code, is -I ignored ?
TimToady ayup :)
nine Woah...I just stumbled over panda's DepTracker. It's a wonder this thing still works after curli got merged
jnthn I guess that's another RT down? :)
nine donaldh: nope
Juerd _nadim: No, but why would it be the wrong url? :) 23:16
El_Che going to bed. Have fun hacking!
donaldh I compile a module with --target=jar --output=module.pm.jar
Then I use module, but it goes and precompiles the module. 23:17
Juerd El_Che: Good night
timotimo nine: um, does DepTracker even still get used? i don't think so, actually
lizmat good night, El_Che
donaldh Is that expected?
_nadim Juerd: because I tried to clone it rather than open it ;) 23:18
23:18 hankache left
Juerd _nadim: Oh, for cloning remove the last part of the path :D 23:18
_nadim it's cloned already ;)
Juerd Oh no! 23:19
nine timotimo: oh...then I'll just remove it and see if anything breaks
timotimo i think it went away when panda kicked out precomp 23:20
i mean ... became unused
donaldh nine: I'm trying to debug the "Missing serialize function for REPR ContextRef" JVM bug.
nine donaldh: any progress?
donaldh: or actually: is it still there? 23:21
donaldh When a module uses another module, it fails to serialize
When trying to serialize a CompUnit::Handle 23:22
marchelzo hyper operators are weird as fuck
$a R+= $b 23:23
donaldh nine: yes it's still there as of earlier today
nine donaldh: 75ca9dcbb495763a2fb9e9f4829b9ba885db2a8e was an attempt to fix that, but it broke the spectests spectacut^Hlarily
TimToady m: 42 R[+=] my $b; say $b
camelia rakudo-moar c27a00: OUTPUT«42␤»
TimToady m: 42 R+= my $b; say $b 23:24
camelia rakudo-moar c27a00: OUTPUT«42␤»
23:26 ChristopherBotto left
marchelzo imagine if there were something like IOCCC for perl6 23:26
this language is the quirkiest thing I've ever encountered.
nine donaldh: I guess it broke exactly when a module uses another module
donaldh hmmm, reading diff 23:27
timotimo i'll go have a sleep
nine good night timotimo++
timotimo: thanks for the hint about DepTracker :)
timotimo sure thing! :)
arnsholt marchelzo: R[op] isn't even a hyperop, that's just a metaop ^_^
timotimo yeah, that's how we do bracketing inside metaops 23:28
if things get ambiguous, you can disambiguate
marchelzo arnsholt: what's a hyperop? Is >> << a hyperop?
timotimo but does R[[op]] work as a reduction operator?
marchelzo: >> << on its own isn't. together with other things it is
marchelzo I see
TimToady [] is reduction only when used as a listop
23:29 M-Illandan joined
TimToady otherwise it's just disambiguation 23:29
timotimo hm, OK
TimToady suspects that hyperops should *not* pay attention to thunking, since they are built to work on single items with internal structure, rather than comma lists 23:30
timotimo so no >>andthen<< any time soon? ;) 23:32
timotimo disappears towards bed
TimToady use Zandthen if you want that
23:33 bookimp joined 23:35 yqt left
marchelzo what is .? is it an operator? 23:36
or is it syntax?
TimToady in a method call?
it's a variant of . that doesn't blow up if the method doesn't exist 23:37
m: say 42.nonesuch
camelia rakudo-moar c27a00: OUTPUT«Method 'nonesuch' not found for invocant of class 'Int'␤ in block <unit> at /tmp/KbMAmAKHBp:1␤␤»
marchelzo sorry, the question mark was indicating a question
TimToady m: say 42.?nonesuch
camelia rakudo-moar c27a00: OUTPUT«Nil␤»
marchelzo I meant just the dot
TimToady ah
dot in which context?
marchelzo like 4.sin
TimToady just means you're calling a method
was -> in Perl 5
marchelzo so it's syntax? 23:38
TimToady yes, it's really sort of a postfix prefix :)
in fact, you can take any non-method postfix and add a .
marchelzo I thought something like: [1, 2, 3] >>.>> sin would work.
but that would require . to be an operator.
23:39 Zoffix joined, bookimp left
ShimmerFairy marchelzo: ah, I think you just want [1, 2, 3]».sin 23:39
marchelzo yes, I know that works, but I was just experimenting
TimToady it's only sort of a pseudo-operator, since it does have to warp the "sin" into a method name
marchelzo mm
lizmat good night, #perl6! 23:40
TimToady o/
masak 'night, lizmat
'night, #perl6
Zoffix \o
hah "Building Rakudo with backend 'maor' is NYI. Well volunteered!" 23:42
23:42 M-eternaleye joined
Zoffix (whoever added that error message)++ 23:42
joeschmoe2 m: say 'Dear Earthlings!'; 23:43
camelia rakudo-moar c27a00: OUTPUT«Dear Earthlings!␤»
23:43 Zoffix left
marchelzo how to map a function over a list? 23:44
23:45 TEttinger joined
ugexe m: sub foo($a) { $a }; say (1,2,3)>>.&foo; say (1,2,3).map: {.&foo} 23:47
camelia rakudo-moar c27a00: OUTPUT«(1 2 3)␤(1 2 3)␤»
TimToady m: say (1,2,3)».&sin
camelia rakudo-moar c27a00: OUTPUT«(0.841470984807897 0.909297426825682 0.141120008059867)␤»
joeschmoe2 m: my $contents = slurp 'filename.txt'; 23:48
camelia rakudo-moar c27a00: OUTPUT«Failed to open file /home/camelia/filename.txt: no such file or directory␤ in any at /home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.setting.moarvm:1␤ in block <unit> at /tmp/Xqvc5BprNQ:1␤␤Actually thrown at:␤ in any at gen/moar/m-Met…»
dalek kudo-star-daily: 765f807 | coke++ | log/ (2 files):
today (automated commit)
TimToady m: 1,2,3 Xandthen &say 23:49
camelia rakudo-moar c27a00: OUTPUT«1␤2␤3␤»
marchelzo hmm...
what does the colon signify?
TimToady many things, context?
marchelzo in that example above
(1,2,3).map: {.&foo} 23:50
23:50 Zoffix joined
TimToady that one turns a method into a listop, so you don't need a closing paren 23:50
so, same as (1,2,3).map({.&foo});
marchelzo ah
TimToady usually used for endweight reasons, especially if the block is multi-line 23:51
Zoffix Looks like I caught the JSON::Fast loops-forever-and-doesn't-install bug... And subsequently, I can't install panda (it also cries about unint %ENV: fpaste.scsys.co.uk/502557
TimToady so you can end the block with a simple } rather than });
Zoffix )
joeschmoe2 m: say %p6c.fmt("%s!"); # "sorear!\nfglock!\n"
camelia rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tEc62mxiFG␤Variable '%p6c' is not declared␤at /tmp/tEc62mxiFG:1␤------> 3say 7⏏5%p6c.fmt("%s!"); # "sorear!\nfglock!\n"␤»
joeschmoe2 m: say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n"
camelia rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wsnuaxXbXD␤Variable '@nr' is not declared␤at /tmp/wsnuaxXbXD:1␤------> 3say 7⏏5@nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n"␤»
23:52 jdong joined
joeschmoe2 m: @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n" 23:52
camelia rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rCWYxoY6oF␤Variable '@nr' is not declared␤at /tmp/rCWYxoY6oF:1␤------> 3<BOL>7⏏5@nr = 1..5; say @nr.fmt("+%d."); # "+1.+␤»
joeschmoe2 m: @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n";
camelia rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FDZYoBVSet␤Variable '@nr' is not declared␤at /tmp/FDZYoBVSet:1␤------> 3<BOL>7⏏5@nr = 1..5; say @nr.fmt("+%d."); # "+1.+␤»
23:53 lostinfog left
TimToady joeschmoe2: you declare variables using 'my' 23:54
it's not optional...
joeschmoe2 m: my @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n";
camelia rakudo-moar c27a00: OUTPUT«+1. +2. +3. +4. +5.␤»
joeschmoe2 cool thanks
23:55 glaukommatos joined
joeschmoe2 m: my $result = '5.123456789'; say $result.fmt('%.2f'); # "5.12\n" 23:56
camelia rakudo-moar c27a00: OUTPUT«5.12␤»
23:56 kid51 joined
Zoffix timotimo, I'm also having that same issue with "'{ "a : false }'" test on JSON::Fast just freezing... And according to strace, it does just that... freezes. Stops. Nothing gets executed :S 23:57
joeschmoe2 m: my $Link = 'www.google.com; say $link 23:58
camelia rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fqYLLAGKF1␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/fqYLLAGKF1:1␤------> 3ink = 'www.google.com; say $link7⏏5<EOL>␤ expecting any of:␤ sing…»
marchelzo what's the difference between @xs.map: *.say and @xs.map: &say 23:59
joeschmoe2 m: my $Link = 'www.google.com'; say $link
camelia rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dcWTrkLbV1␤Variable '$link' is not declared. Did you mean any of these?␤ &link␤ $Link␤␤at /tmp/dcWTrkLbV1:1␤------> 3y $Link = 'www.google.com'; say 7⏏5$link␤»
Zoffix joeschmoe2, Perl 6 is case-sensitive
joeschmoe2 m: my $Link = 'www.google.com'; say $Link
camelia rakudo-moar c27a00: OUTPUT«www.google.com␤»
Zoffix joeschmoe2, you can also /msg camelia m: blah blah to eval code in private, if you wish to do so
joeschmoe2 I will thanks