IRCloggy #perl6 2015-12-08

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2015-12-08

skids joined00:02
[particle] joined00:06
autarch could someone explain what this error means - https://gist.github.com/autarch/3a081eef3ee9a7ee242200:12
autarch left00:13
timotimo what kind of thing is Pod::TreeWalker?00:13
autarch joined00:13
koo8 left00:13
timotimo what kind of thing is Pod::TreeWalker?00:13
autarch timotimo: https://gist.github.com/autarch/3a081eef3ee9a7ee242200:14
oops, wrong link - https://github.com/autarch/perl6-Pod-TreeWalker/blob/master/lib/Pod/TreeWalker.pm600:14
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?00:14
autarch it's "unit class Pod::TreeWalker;"00:14
timotimo hum.00:14
i don't know :(00:15
autarch the tests for that module pass just fine00:15
timotimo uh-oh00:15
and the code you've written?00:15
autarch but when I try to use the code via PERL6LIB I get that error - maybe that's helpful?00:15
except at least one thing which uses it via PERL6LIB _does_ work00:15
timotimo does it work if you use -I instead of PERL6LIB?00:15
autarch checks00:16
Hotkeys say a class has ::ver<1.2.3> tacked on it, is there a way to get the version?00:16
autarch nope00:16
micxjo joined00:19
autarch I'll update to the latest HEAD just in case00:19
timotimo m: class Ttt:version<1.2.3> { }; say Ttt.^methods00:20
camelia rakudo-moar 97ef74: OUTPUT«=== SORRY!=== Error while compiling /tmp/UW2mmSCNKk␤Cannot use adverb version on a type name (only 'ver' and 'auth' are understood)␤at /tmp/UW2mmSCNKk:1␤------> class Ttt:version<1.2.3> { }; say Ttt.^methods ␤ expecting any of:␤ …»00:20
timotimo m: class Ttt:ver<1.2.3> { }; say Ttt.^methods00:20
camelia rakudo-moar 97ef74: OUTPUT«()␤»00:20
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␤␤»00:22
Hotkeys m: class Ttt:ver<1.2.3> { }; say Ttt.^ver;00:22
camelia rakudo-moar 97ef74: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/lAFhVQIDf6:1␤␤»00:22
roguelazer What's the correct way to install panda right now? `rakudobrew build-panda` seems to indicate some syntax issues with moar-2015.1100:22
flussence m: class Ttt:ver<1.2.3> { }; say Ttt.^methods(:all).elems00:22
camelia rakudo-moar 97ef74: OUTPUT«133␤»00:22
autarch ok, still getting the same error with the latest rakudobrewed p600: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 review00:23
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␤»00:29
flussence maybe a symptom of that?00:30
(neither error makes sense to me, mind)00:30
Psyche^_ joined00:30
timotimo oh, probably because Pod:: is already in core?00:30
m: say Pod::00:30
camelia rakudo-moar 97ef74: OUTPUT«Pod␤»00:30
flussence m: class Foobar::TreeWalker { }; class Foo { has Foobar::TreeWalker $w .= new() };00:30
camelia rakudo-moar 97ef74: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol Foobar::TreeWalker␤»00:30
timotimo um00:31
wait, does .= work in that location?00:31
m: class Pod::TreeWalker { }; class Foo { has Pod::TreeWalker $w = 1 };00:31
camelia rakudo-moar 97ef74: ( no output )00:31
flussence it ought to, but I'm just being lazy...00:31
timotimo it does not00:31
flussence m: class Foobar::TreeWalker { }; class Foo { has Foobar::TreeWalker $w = Foobar::TreeWalker.new() };00:31
camelia rakudo-moar 97ef74: ( no output )00:31
flussence guess I'm wrong00:31
autarch this all started after I renamed the module from Pod::NodeWalker to Pod::TreeWalker00:32
PotatoGim left00:32
flussence m: class Foobar::TreeWalker { }; class Foobar::TreeWalker::SomethingElse { has Foobar::TreeWalker $w = Foobar::TreeWalker.new() };00:32
camelia rakudo-moar 97ef74: ( no output )00:32
autarch the weird thing is I have a branch of Pod::To::HTML that uses TreeWalker and it works fine - https://github.com/autarch/Pod-To-HTML/tree/autarch/use-pod-treewalker00:33
timotimo hm, didn't masak just file a bug on RT about things going missing when ... something mumble mumble?00:33
flussence you have a use; for it both inside and outside the class scope there, maybe that's why?00:34
timotimo https://rt.perl.org/Ticket/Display.html?id=12682700:34
Psyche^ left00:34
autarch flussence: I removed the use inside the class scope and it's fine00:35
anyway, if someone could review my advent article, that'd be great - it's saved as a draft in the wordpress blog - day 1100: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)00:38
though that'll nuke rakudo too, which may be overkill00:39
timotimo autarch: when will it go live?00:40
dj_goku left00:40
timotimo oh00:40
autarch timotimo: well, day 11, I'd assume ;)00:40
timotimo 1100:40
that's in a few days, not a few hours00:40
autarch true00:40
skids left00:42
skids joined00:43
dj_goku joined00:44
timotimo i'm going to bed now ... i'll see if i can review your post tomorrow :)00:44
dj_goku night00:44
timotimo gnite dj_goku :)00:44
bbarker`` left00:45
csd_ joined00:46
pippo joined00:49
pippo left00:49
moei left00:50
csd_ left00:51
daniel90 left00:51
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.00:52
MadcapJake ok so my rakudo fork is looking in a completely different directory for modules than the rakudobrew-installed perl600:52
moei joined00:52
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 left00:53
MadcapJake i don't want to install it anywhere in my usr dirs00: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?00:54
ShimmerFairy yes00:54
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,.}`00:57
Juerd m: say so "föó" ~~ /:m foo/00:58
camelia rakudo-moar 97ef74: OUTPUT«True␤»00:58
Juerd 00:58
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 joined00:58
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 dir01:00
Hotkeys anyone know how I can get the version number of a class01:00
without having a seperate variable for it ofc01:00
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 :(01:01
Hotkeys since there is the :ver adverb01:01
MadcapJake I thought maybe modules were separate from rakudo01:01
but they seem tied to each version01:01
ugexe yes, precompilation assures you it needs to be rebuilt for each version/change of the compiler01: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 version01:02
ugexe although without precompilation you are right01:02
at least right in that you can do it if you want01:02
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 instead01: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 docs01:04
MadcapJake is that possible?01:04
PotatoGim joined01:05
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
csd_ joined01:07
MadcapJake ok i'll explore that idea at least01: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!) :P01: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 that01: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 idea01:10
Actualeyes joined01:11
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_prefix01: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 location01:11
csd_ left01:11
flussence yep, modules are there for me01:11
looks like %?RESOURCES go to install_prefix too, I see linenoise.so in it01:12
AlexDaniel wonders if anybody will ever merge tau tests :D01:15
MadcapJake is glad to see the rest got merged at least!01:15
bapa1 joined01:23
dj_goku is there an easy way to combine hashes?01:24
yeahnoob joined01:24
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 append01:25
flussence just a guess, like I say it might not be right01:25
dj_goku oh oh01:25
flussence if that fails, :{ |%h1, %h2 } ought to do the job01:25
dj_goku that worked and did what I expected01:26
flussence yay01:26
Zoffix joined01:26
csd_ joined01:27
mr_ron left01:27
dj_goku m: append({'k'=> 1, 't' => 5}, {'k' => 5})01:28
camelia rakudo-moar 97ef74: ( no output )01:28
dj_goku m: say append({'k'=> 1, 't' => 5}, {'k' => 5})01:28
camelia rakudo-moar 97ef74: OUTPUT«k => [1 5], t => 5␤»01:28
dj_goku flussence: ^^01:28
now to figure out how to flatten out [1, 5] to == 6. :D01:29
Zoffix m: say "₫".uniname01:29
camelia rakudo-moar 97ef74: OUTPUT«DONG SIGN␤»01:29
Zoffix :D01:29
dj_goku Zoffix: lol01:29
AlexDaniel .u ᭦᭡01:31
yoleaux U+1B61 BALINESE MUSICAL SYMBOL DONG [So] (᭡)01:31
U+1B66 BALINESE MUSICAL SYMBOL DING [So] (᭦)01:31
csd_ left01:31
Herby__ joined01:34
Herby__ Good evening, everyone!01:34
Jeguen joined01:35
Zoffix Howdy01:35
Jeguen hi01:35
Zoffix hello01:36
Hotkeys m: say $ .= sum for append({'k'=> 1, 't' => 5}, {'k' => 5})01:36
camelia rakudo-moar 97ef74: OUTPUT«Use of uninitialized value of type Any in numeric context in block at /tmp/F0pcH_8kxN:1␤0␤0␤»01:36
Hotkeys m: say $_ .= sum for append({'k'=> 1, 't' => 5}, {'k' => 5}).values01:36
camelia rakudo-moar 97ef74: OUTPUT«6␤5␤»01:36
Zoffix \o/01:37
Hotkeys m: my %foo = append({'k'=> 1, 't' => 5}, {'k' => 5}); $_ .= sum for %foo.values; say %foo;01:37
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»01:37
llfourn joined01:37
flussence is mutating it in place considered cheating? :)01:38
Hotkeys I was thinking of doing something like "%foo.values >>.=>> &sum"01:38
but that doesn't work01:38
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.01:38
dalek perl6-most-wanted: 29e7264 | (Zoffix Znet)++ | most-wanted/modules.md:01:38
perl6-most-wanted: Toss JSON01:38
perl6-most-wanted:01:38
perl6-most-wanted: We have lots of JSON modules now01:38
perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/29e7264c3d01:38
perl6-most-wanted: 229126e | (Zoffix Znet)++ | most-wanted/modules.md:01:40
perl6-most-wanted: Toss Data::GUID01:40
perl6-most-wanted:01:40
perl6-most-wanted: I no longer plan on releasing that01:40
perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/229126e0f201:40
Herby__ can someone give a simple explanation on when I should use Grammars?01:40
BenGoldberg joined01:40
Herby__ versus just normal regex stuff01:41
for small scripts01:41
flussence if you know exactly how long your input is, you *might* use grammars, if you don't, use regexes01:41
Hotkeys m: my %foo = append({'k'=> 1, 't' => 5}, {'k' => 5}); say hash %foo.keys Z %foo.values.map({.sum});01:41
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»01:41
adu left01:42
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 601:42
Hotkeys that's relatively short01:42
Herby__ its not mission critical, so speed isnt huge01:42
dalek perl6-most-wanted: 77e8f53 | (Zoffix Znet)++ | most-wanted/modules.md:01:42
perl6-most-wanted: List IRC::Client as WIP in IRC section01:42
perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/77e8f53c0e01:42
ShimmerFairy Herby__: if your code starts to look like a massive tree of if $a ~~ /.../ { if $a ~~ /..../ { ... } } , chances are you want a grammar :)01:42
Herby__ hmmm01:43
ShimmerFairy Herby__: in the case of parsing a file, you'll probably want grammars. If nothing else, it'll organize the regexes nicely.01:43
Herby__ My code does kind of look like that.01:43
flussence has that type of code in Text::Wrap and it's horrible, long overdue for a rewrite01:44
flussence in a few places the *right* of the smartmatch is variable too...01:44
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:44
glaukommatos joined01:45
zengargoyle m: append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.value .= sum;$_}).Hash01:45
camelia rakudo-moar 97ef74: ( no output )01:45
Herby__ ok. I'll probably try to rewrite them as Grammars just for the practice and see if I can wrap my head around them01:45
zengargoyle m: say append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.value .= sum;$_}).Hash01:45
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»01:45
Herby__ is there a noticeable difference in performance from using Grammars vs. inline regex?01:45
or is it more/less the same01:45
dalek perl6-most-wanted: b76f8b3 | (Zoffix Znet)++ | most-wanted/modules.md:01:46
perl6-most-wanted: list Test::META as WIP for Test::CPAN::Meta replacement01:46
perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/b76f8b3da801:46
zengargoyle m: say append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.key => .value.sum}).Hash01:47
camelia rakudo-moar 97ef74: OUTPUT«k => 6, t => 5␤»01:47
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)01:47
Herby__: I'm not aware of any speed difference, so chances are "not much" :)01:47
Herby__ great, thanks for the info!01:47
dalek perl6-most-wanted: f20f54c | (Zoffix Znet)++ | most-wanted/modules.md:01:48
perl6-most-wanted: Toss Term::ANSIColor as it already exists01:48
perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/f20f54c11301:48
uruwi left01:48
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
micxjo left01:52
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 there01:53
MadcapJake i wiped the rakudo directory completely01:53
Zoffix Did you nuke both .rakudobrew and .perl6?01:53
MadcapJake the source dir01:53
no i should do that then01:53
zengargoyle MadcapJake: i think the spell is: rakudobrew nuke moar; rakudobrew self-upgrade; rm -rf ~/.perl6; rakudobrew build moar; ...01:55
Zoffix MadcapJake, BTW: http://irclog.perlgeek.de/perl6/2015-12-07#i_1167215001:55
I misspelt your name tho :)01:55
zengargoyle which avoids deleting .rakudobrew and re-installing it.01:55
ZoffixMadcapJack01:55
MadcapJack .botsnack01:55
yoleaux :D01:55
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
MadcapJackZoffix01:55
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 regex01:57
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 spec01: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? :)01:58
Zoffix MadcapJake, like, if you open this META in Atom, all keys will be in blue, but "authority" will be in different colour: https://github.com/zoffixznet/perl6-Pastebin-Gist/blob/master/META.info01:59
flussence glaukommatos: not having `perl6-debug` is normal, can't speak for the rest01:59
MadcapJake Zoffix: and you liked that or didn't?02:00
glaukommatos Mmm, perhaps I ought not to trust the homebrew package then.02:00
Zoffix MadcapJake, definitely did :) I didn't even realize authority was not a proper key :)02:00
MadcapJake ahhh! yeah I looked at the spec and put special case highlighting for each true meta6.json key02:00
Zoffix MadcapJake++02:00
MadcapJake cool! glad you liked it! I was worried i missed a key :P02:01
hoelzro flussence: %?RESOURCES doesn't get installed; that's just because of a hack I put in Linenoise02:02
flussence oh, seemed like a sensible place for it so I thought that's what was going on02:03
uruwi joined02:06
adu joined02:07
leat left02:09
Ben_Goldberg joined02:12
BenGoldberg left02:14
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
BenGoldberg_ joined02:15
Ben_Goldberg left02:17
Ben_Goldberg joined02:18
Ben_Goldberg left02:19
BenGoldberg_ left02:20
Ben_Goldberg joined02:20
adu glaukommatos: I've only used the grammar debugger02:22
glaukommatos: I've never used the regular debugger02:22
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:30
Ben_Goldberg left02:31
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
cdg joined02:32
Ben_Goldberg joined02:32
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. <302:33
zengargoyle wonder if the breakpoint thing is it not finding the file/line properly since curli02:33
since now they get turned into hashes and such.02:34
glaukommatos I'm not familiar with curli.02:34
lolisa joined02:40
zengargoyle glaukommatos: debug seems to be working for me. at least adding a breakpoint and having it stop thereabouts.02:43
Jeguen left02:45
natefanaro joined02:46
kid51 left02:46
dj_goku any idea what is causing this warning: Trailing item in Hash.append02: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.02:46
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 :)02:47
camelia rakudo-moar 97ef74: OUTPUT«=== SORRY!=== Error while compiling /tmp/SXn04KF8lU␤Undeclared routines:␤ a used at line 1␤ b used at line 1␤␤»02:47
skids m: my %h; %h.append('a',1,'b');02:47
camelia rakudo-moar 97ef74: OUTPUT«Trailing item in Hash.append in block <unit> at /tmp/fV6sUw_2R0:1␤»02:47
xinming left02:48
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.02:49
glaukommatos zengargoyle: thanks02:49
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.02:52
zengargoyle heh02:53
glaukommatos I just did it again with a line that, oh you know, actually had code on it. And surprise: it works.02:53
I am not a clever person.02:53
In other news, Grammars are easily the coolest language feature I've ever played with.02:53
MadcapJake now for some reason make is crashing on me :(02:53
dj_goku m: say {}.WHAT02:53
camelia rakudo-moar 97ef74: OUTPUT«(Hash)␤»02:53
cdg left02:54
xinming joined02:54
dj_goku m: my %h; %h.append({1 => 1, 2 => 2}); say %h02:54
camelia rakudo-moar 97ef74: OUTPUT«1 => 1, 2 => 2␤»02:54
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;02:55
camelia rakudo-moar 97ef74: OUTPUT«(1 1 2 2)␤»02:55
dj_goku hmm02:56
so after adding %h.append($some_hash.kv); the warning/error went away.02:56
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«{}␤»02:58
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}␤»03:00
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 1103:01
zengargoyle m: my %oh = 1=>2, 3=>4; say |%oh; say %oh.pairs03:01
camelia rakudo-moar 97ef74: OUTPUT«Unexpected named parameter '1' passed␤ in block <unit> at /tmp/8hmhbPtt9N:1␤␤»03:01
autarch or I could make it password protected if you don't have blog access03:01
zengargoyle m: my %oh = 1=>2, 3=>4; say (|%oh); say %oh.pairs03:02
camelia rakudo-moar 97ef74: OUTPUT«(1 => 2 3 => 4)␤(1 => 2 3 => 4)␤»03:02
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 joined03:03
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_ joined03:04
zengargoyle have to remember that | in argument means named.03:04
adu left03:05
noganex_ left03:06
zengargo1le joined03:07
zengargoyle left03:07
csd_ left03:09
dj_goku m: my %h; my $oh = {1=>2, 3=>4}; %h.append: %$; say %h.perl03:09
camelia rakudo-moar 97ef74: OUTPUT«{}␤»03:09
dj_goku m: my %h; my $oh = {1=>2, 3=>4}; %h.append: %$oh; say %h.perl03:09
camelia rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}␤»03:09
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 https://perl6advent.wordpress.com/wp-admin/edit.php03:11
mine is day 1103:11
zengargo1le nope03:11
autarch one sec03:12
https://perl6advent.wordpress.com/2015/12/11/day-11-pod-in-perl-6/ - password is advent03:12
dalek rakudo-star-daily: d580869 | coke++ | log/ (2 files):03:14
rakudo-star-daily: today (automated commit)03:14
rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/d58086989003:14
MadcapJake ShimmerFairy: if I install into /usr/local how do I install panda?03:14
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 page03:18
autarch argh03:18
one sec03:19
ShimmerFairy MadcapJake: I don't sudo panda, I just have it install stuff in ~/.perl603:19
MadcapJake oh03:19
csd_ joined03:20
autarch zengargo1le: https://perl6advent.wordpress.com/2015/12/06/day-11-pod-in-perl-6/03:20
zengargo1le autarch: ok, that worked... will read. :)03:21
autarch thanks!03:21
MadcapJake ShimmerFairy: why does it give me a permission denied if I try to install to there without using sudo?03:22
ShimmerFairy weird03:22
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 root03:23
geekosaur what platform?03:23
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 you03:24
hahainternet oh i forgot OSX has wacky stuff03:24
MadcapJake rakudobrew won't let me use commits I made to rakudo though right?03:24
geekosaur this is not OS X stupid, it's Homebrew stupid03:24
MadcapJake i'm on linux/ubuntu03:24
hahainternet geekosaur: i'll stick with 'wacky' :D03:24
geekosaur that and the curl|sh installer give me hives03:25
csd_ left03:25
hahainternet and MadcapJake i see, well i don't know much about rakudobrew but just create yourself a local directory for your builds03:25
i typically have ~/.local/projectname/ for local binaries, so golang and perl etc03:25
keix left03:26
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 SYNOPSIS03:28
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
kaare_ joined03:33
zengargo1le the example1.p6 code looks to have a spurrious 'perl6' as the first line....03:41
dj_goku hmm.03:41
I am getting random failures with this code: http://fpaste.scsys.co.uk/50252703: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 thing03:46
zengargo1le: no, Perl 5 pod had =over 4, etc03:46
zengargo1le maybe mention that =begin/=end wrap and =for/=block end at the first blank line. maybe mention indenting.03:47
Jesseract joined03:47
zengargo1le yeah =over is the only sorta-formatting thing i can think of in Perl 503:48
and it ended up just being something to wrap =item in.03:48
abraham joined03:56
abraham left03:57
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 inside03:58
autarch I'll change that part03:59
ShimmerFairy e.g. you could use =head1, =head2, etc. on their own just to section parts of your file :P04: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 pod04:02
actually, the para would be real code as well...04:03
AW3i joined04:04
zengargo1le autarch: otherwise, nothing jumps out as awkward or confusing... so looks pretty good.04:06
autarch zengargo1le: thanks for reviewing it04:06
Herby__ left04:08
Ben_Goldberg left04:09
jdong11 joined04:11
jdong11 perl6 will be comming,really?04:11
zengargo1lezengargoyle04:13
dj_goku Zoffix: lol ^^ j₫ joined!04:13
kaare_ left04:21
cognominal_ left04:22
adu joined04:25
zacts does perl6 have any decent support for threads?04:27
I think Perl5 had poor support? (or am I mistaken)04:27
Perl6 that is (caps 'P')04:28
dj_goku zacts: checkout: http://doc.perl6.org/language/concurrency04:28
zacts cool04:28
dj_goku zacts: what are you wanting to do?04:29
zacts dj_goku: oh it was just a general curiosity question04:29
MadcapJake oops apparently tilde in Configure.pl's prefix argument doesn't work :P04:29
zacts although, I do have to say I love the nice and pretty web design of the Perl6 doc04:29
vendethiel joined04:29
zacts dj_goku: I'm just learning about concurrency from another language, and I am eager to try it out with Perl6 sometime04:30
but I think your link has all the answers I need for now04:30
so just curious... :-)04:30
AlexDaniel jdong11: yeah04:31
jdong11: well, Perl 6 was pretty useful for quite some time now04:31
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.04:32
zacts oh nice04:32
dj_goku: if you get a recording or slides, I would be interested04:32
AlexDaniel zacts: long story short: it is pretty awesome04:32
zacts AlexDaniel: nice!04:33
MadcapJake is there any way to improve how fast the parse stage is for compiling rakudo?04:33
how long does it take people?04:33
AlexDaniel MadcapJake: a few minutes04:33
MadcapJake Mine takes 83.585 seconds04:33
hoelzro MadcapJake: a minute or two04:33
zacts All this progress with Perl6, and an upcoming release, is making me eager to learn enough to contribute towards Perl6 modules04:33
hoelzro that's pretty typical04:33
AlexDaniel zacts: that'd be great!04:34
hoelzro zacts++04:34
zacts =)04:34
is rakudo implemented in C?04:34
hoelzro rakudo is implemented in NQP04:34
MadcapJake why do I need sudo to install to ~/.local o_O04:34
hoelzro which is a subset of Perl 604:34
MadcapJake: o_O04:34
dj_goku zacts: lol I am just now starting the night before. Not sure how well it'll go. :D04:34
zacts: coders block.04:34
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?04:35
zacts dj_goku: oh that's cool04:35
hoelzro AlexDaniel: ah, yes, good point04:35
zacts if it's a success just /msg me tomorrow or wednesday04:35
hoelzro src/core/ is in Perl 604:35
zacts it's monday still in my timezone04:35
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...04:35
hoelzro the rest (barring a few VM-specific things) is in NQP04:35
zengargoyle sudo chow -R you:yourgroup .local04:35
dj_goku zacts: CDT here.04:35
AlexDaniel zacts: MoarVM though is implemented in C04:35
zacts MDT USA here04:36
dj_goku zacts: colorado?04:36
zacts New Mexico04:36
dj_goku 42 seconds to 'stage parse' here!04:36
zacts: ahh sweet. where at?04:36
zacts ABQ04:36
AlexDaniel zacts: but most of the time it should not matter for you much since most contributions are actually happening in rakudo04:36
dj_goku albq has an awesome balloon festival. :D04:37
zacts AlexDaniel: ah nice, so rakudo is mainly implemented in Perl6, and the VM it runs on top of C?04:37
AlexDaniel zacts: correct04:37
zacts neato04:37
well, hopefully I can get involved soon04:37
WizJin left04:37
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 patches04:37
zengargoyle albu has awesome green chile04:38
hoelzro the plus of working on Moar is that your compile times are a lot shorter =P04:38
AW3i how are the performances fairing currently vs perl504:38
zacts zengargoyle: indeed04:38
AW3i i've seen some graphs some months ago they looked decent04:38
AlexDaniel AW3i: depends04:38
hoelzro MadcapJake: depdending on what you're doing, there are some tricks you can pull to get around having to parse04:38
AlexDaniel AW3i: startup time is a bit slow-ish04:38
AW3i: everything else is indeed decent, but if you start doing some heavy tasks you may find it really slow04:39
AW3i oh ok thanks04:40
sadly I don't have the time to play around with perl6 yet :/04:40
hoelzro MadcapJake: are you still working on the Perl6::Compiler stuff?04:40
MadcapJake hoelzro: yeah04:40
AlexDaniel AW3i: well, feel free to abuse camelia here04:40
hoelzro MadcapJake: need any help?04:40
AlexDaniel m: say tau * ½04:40
camelia rakudo-moar 97ef74: OUTPUT«3.14159265358979␤»04:40
AW3i sure will do04:40
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 too04:42
hoelzro let me know if you need another pair of eyes on it!04:42
MadcapJake alright, thanks!04:42
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 ;)04:43
dj_goku hehe04: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 denied04:44
I tried to run `perl6 bootstrap.pl --prefix=/home/jrusso/.perl604:44
zengargoyle MadcapJake: you probably have previous sudo damage left over.04:45
labster left04:45
zengargoyle created something as root, now can't touch it anymore.04:45
MadcapJake gah, that's what happened to my .local folder too xD04:45
zengargoyle what it sounds like to me.04:45
zengargoyle has done that often enough.....04:46
dj_goku delete all the things!04:46
zengargoyle sudo chown -R04:46
MadcapJake to what though?04:46
dj_goku or that.04:46
MadcapJake I deleted .perl6, and it's still saying that o_O04:46
zengargoyle _Command/lib/.precomp/.lock04:46
get rid of all the .precomp files under panda/ext/*04:47
or chown them04:47
MadcapJake `sudo rm -rf ~/github/panda/**/.precomp` did the trick04:48
WizJin joined04:49
Jesseract left04:51
vendethiel left04:52
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?04:55
hahainternet but yeah, you'd want to build some sort of infinite list using tau² and do so in a threaded manner i guess04:55
AlexDaniel: there are unicode symbols for division, i don't know if any are supported04:55
but it was discussed the other day04:55
herby_ joined04:55
AlexDaniel m: say 2 ÷ 5 # ehh…04:56
camelia rakudo-moar 97ef74: OUTPUT«=== SORRY!=== Error while compiling /tmp/MX06vePP_W␤Confused␤at /tmp/MX06vePP_W:1␤------> say 2 ÷ 5 # ehh… ␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement…»04:56
AlexDaniel m: say 2∕304:57
camelia rakudo-moar 97ef74: OUTPUT«=== SORRY!=== Error while compiling /tmp/W2ct8etSgu␤Bogus postfix␤at /tmp/W2ct8etSgu:1␤------> say 2 ∕3 ␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modi…»04:57
dj_goku m: say 2/304:58
camelia rakudo-moar 97ef74: OUTPUT«0.666667␤»04:58
dj_goku :D04:58
AlexDaniel hahainternet: but yeah, I mean existing features. There were enough to make my jaw drop at the time.04:58
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␤»05:01
konobi glaukommatos: how would you describe those?05:01
hoelzro MadcapJake: o_O05:02
glaukommatos, konobi: sounds like roles05:02
skids glaukommatos: You mean like a list of required things for a class to implement?05:02
dj_goku glaukommatos: like this: http://doc.perl6.org/language/modules05:02
jdong11 left05:02
AlexDaniel http://doc.perl6.org/language/objects#Roles05:03
glaukommatos I was looking for roles. Thank you everyone!05:04
skids m: role A { method foo {...} }; class B does A { };05:04
camelia rakudo-moar 97ef74: OUTPUT«===SORRY!===␤Method 'foo' must be implemented by B because it is required by a role␤»05:04
dj_goku hasn't learned yet.05:04
AlexDaniel compile-time error, nice05:04
MadcapJake this doesn't even make sense05:04
glaukommatos Oh, this class Potato does Delicous {...} style is awesome.05:05
'does' is such a perlish keyword for this <305:05
MadcapJake i'm off to bed, g'night #perl605:05
WizJin left05:05
hahainternet you'd probably want something more like class Potato is DeliciousFood does Tastable imho05:05
hoelzro nigh MadcapJake05:05
hahainternet but ymmv05:05
also AlexDaniel yeah sorry i didn't know if it got added or not05:05
dj_goku night MadcapJake05:05
hoelzro MadcapJake: if you want, I can try to clean up the code from Friday and push it up05:06
glaukommatos Yeah, my example was horrible, yours actually makes sense. ;)05:06
AlexDaniel yeah, I'm off to bed too o/05:06
hoelzro night AlexDaniel05:07
grondilu m: say 1 =~= 1 + 1e-16*i05:07
camelia rakudo-moar 97ef74: OUTPUT«True␤»05:07
grondilu m: say -1 ≅ 1 + [+] [\*] i*π/++$ xx 100;05:08
camelia rakudo-moar 97ef74: OUTPUT«False␤»05:08
grondilu m: say 1 + [+] [\*] i*π/++$ xx 100;05:08
camelia rakudo-moar 97ef74: OUTPUT«-1+3.33571076257198e-16i␤»05:08
grondilu m: say -1 ≅ -1+3.33571076257198e-16i;05:09
camelia rakudo-moar 97ef74: OUTPUT«True␤»05:09
adu left05:09
grondilu is not sure what's going on above05:09
MadcapJake left05:10
hoelzro goes off to bed as well now05:10
skids too05:10
AlexDaniel left05:12
herby_ left05:14
skids left05:15
WizJin joined05:16
adu joined05:18
moritz good morning05:19
.tell tadzik we're eagerly await your advent calendar post for today05:19
yoleaux moritz: I'll pass your message to tadzik.05:19
csd_ joined05:31
labster joined05:32
labster left05:35
csd_ left05:36
adu \o05:39
khw left05:39
km3 joined05:46
km3 left05:51
km3 joined05:55
glaukommatos left06:13
darutoko joined06:18
qwebirc801678 joined06:21
qwebirc801678 m: say Date.today.later(weeks => 2)06:22
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»06:22
qwebirc801678 m: say Data.new(now).later(weeks => 2)06:22
camelia rakudo-moar 97ef74: OUTPUT«=== SORRY!=== Error while compiling /tmp/9U8goqUgHO␤Undeclared name:␤ Data used at line 1. Did you mean 'Date'?␤␤»06:22
qwebirc801678 m: Date.new(now).later(weeks => 2)06:22
camelia rakudo-moar 97ef74: ( no output )06:22
qwebirc801678 say Date.new(now).later(weeks => 2)06:22
m: say Date.new(now).later(weeks => 2)06:23
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»06:23
leat joined06:23
qwebirc801678 left06:23
qwebirc767797 joined06:24
qwebirc767797 left06:24
qwebirc322196 joined06:25
qwebirc322196 slaps ChristopherBotto around a bit with a large fishbot06:25
MadcapJake joined06:25
qwebirc322196 Oops. I left myself logged into #perl6 at work. Can I log myself off somehow?06:26
geekosaur are you registered with nickserv?06:26
qwebirc322196 Yes06:26
geekosaur /msg nickserv ghost <yourpasswordhere>06:27
...wait06:27
/msg nickserv ghost <yournickhere> <yourpasswordhere>06:27
sorry06:27
qwebirc322196 geekosaur: Thanks!06:27
Oh, well. I guess I'm not registered. The show goes on ...06:30
m: say Date.today.later(weeks => 2)06:30
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»06:30
qwebirc322196 m: say Date.new(now).later(weeks => 2)06:30
camelia rakudo-moar 97ef74: OUTPUT«2015-12-22␤»06:30
qwebirc322196 m: say Date.new().later(weeks => 2)06:31
camelia rakudo-moar 97ef74: OUTPUT«2016-01-07␤»06:31
qwebirc322196 say Date.new()06:31
m: say Date.new()06:31
camelia rakudo-moar 97ef74: OUTPUT«2015-12-24␤»06:31
qwebirc322196 Is there a reason that Date.new() defaults to Christmas Eve?06:31
quit06:35
qwebirc322196 left06:36
yqt left06:40
geraud left06:49
llfourn is reminded that Date.new default should probs change soon...06:49
CIAvash joined07:05
rudi_s_rudi_s07:06
Hotkeys it should default to christmas07: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.07:16
MadcapJake .botsnack07:17
yoleaux :D07:17
MadcapJake .u bulb07:20
yoleaux U+1F4A1 ELECTRIC LIGHT BULB [So] (💡)07:20
[Tux] https://pbs.twimg.com/media/CVrnhpSXAAA2Aut.jpg <= the student used perl6. No other answer would have been correct07:20
noam_ left07:22
vytas owh no, no advent calendar today07:22
MadcapJake .u bulb07:28
yoleaux U+1F4A1 ELECTRIC LIGHT BULB [So] (💡)07:28
xinming left07:34
xinming joined07:34
dalek rakudo/nom: cee77a3 | grondilu++ | src/core/native_array.pm:07:35
rakudo/nom: minor improvement in permutations07:35
rakudo/nom:07:35
rakudo/nom: do not create lexical scope for initial test, as suggested by timotimo07:35
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cee77a33dd07:35
rakudo/nom: a0eb104 | lizmat++ | src/core/native_array.pm:07:35
rakudo/nom: Merge pull request #622 from grondilu/patch-407:35
rakudo/nom:07:35
rakudo/nom: minor improvement in permutations07:35
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a0eb10474907:35
rakudo/nom: b7f0bcc | (Jake Russo)++ | src/Perl6/Compiler.nqp:07:35
rakudo/nom: Fix repl crashing on missing .so files07:35
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7f0bcca9b07:35
rakudo/nom: e19741a | lizmat++ | src/Perl6/Compiler.nqp:07:35
rakudo/nom: Merge pull request #623 from MadcapJake/nom07:35
rakudo/nom:07:35
rakudo/nom: Fix repl crashing on missing Linenoise .so file07:35
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e19741a79f07:35
labster joined07:39
[Tux] my utf8-c8 still segfaults07:40
test 50000 23.469 23.35707:42
test-t 50000 16.661 16.55007:42
csv-parser 50000 25.715 25.60407:42
Woodi left07:45
xinming left07:45
xinming joined07:46
sno left07:49
adu left07:55
jkva joined07:57
_nadim Good morning everyone.07:57
moritz \o08:02
glaukommatos joined08:10
glaukommatos left08:15
masak morning, #perl608: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")08:15
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)08:17
more pressing now than syntactical concern is getting the semantics goodenuf08:17
moritz what I really dislike about {{{}}} is that it's mis-parsed as nested blocks if it's a place where we expect not {{{}}}08:17
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 run08:18
ShimmerFairy: yes, but ` is Lisp for "quasi", not "{{{ }}}"08:18
(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
jkva left08:22
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 else08:24
vytas just use unicode characters until you come up with suitable texas version (=08:25
vytas doesn't know what {{{}}} does though :)08:25
sno joined08:26
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.08:26
TEttinger or is it related to texas instruments in some way08:28
masak TEttinger: it's "Texas" because the ASCII variants are longer, and everything's bigger in Texas.08:28
TEttinger ha08:28
masak ⦃ ⦄ is probably the closest Unicode equivalent to {{{ }}}08:28
TEttinger haha08:29
masak but I don't see that we need to go there08:29
TEttinger m: say ⦃ 1 ⦄08:29
camelia rakudo-moar e19741: OUTPUT«=== SORRY!=== ␤Argument to "say" seems to be malformed␤at /tmp/qjsz7jghCO:1␤------> say ⦃ 1 ⦄ ␤Bogus postfix␤at /tmp/qjsz7jghCO:1␤------> say ⦃ 1 ⦄ ␤ expecting any of:␤ infix␤ infix stopper…»08:29
TEttinger those are some rather fancy braces08:30
masak I know about them because I used them in an 007 issue already :)08:30
TEttinger ha08:31
is the CLR version of Perl6 that isn't based on parror or Moar still going?08:31
*parrot08:31
moritz no08:32
niecza is dead :(08:32
TEttinger pity.08:32
masak sic transit gloria softwari08:32
moritz blessya08: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] (⦃)08:38
Hotkeys can we get ﴾ ﴿08:38
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. Thx08:39
it mades my code a lot simplier08:39
Hotkeys m: say ﴾ 1 ﴿08:39
camelia rakudo-moar e19741: OUTPUT«=== SORRY!=== ␤Argument to "say" seems to be malformed␤at /tmp/vuzmLgi8VZ:1␤------> say ﴾ 1 ﴿ ␤Bogus postfix␤at /tmp/vuzmLgi8VZ:1␤------> say ﴾ 1 ﴿ ␤ expecting any of:␤ infix␤ infix stopper…»08:39
Hotkeys m: say Q﴾Hello World﴿08:40
camelia rakudo-moar e19741: OUTPUT«Hello World␤»08:40
Hotkeys that's going to be my new quoting delimiter08:40
you heard it here first08:40
Consolas tries really hard on those http://i.imgur.com/soF3KlE.png08:42
Ven joined08:42
moritz woah there08:43
masak .u ﴾08:44
yoleaux U+FD3E ORNATE LEFT PARENTHESIS [Ps] (﴾)08:44
masak "ornate", huh?08:45
Hotkeys I made it size 72 to show08:45
masak you can't just make stuff up like that, Unicode consortium!08:45
Hotkeys yeah consolas makes them real ornate08:45
masak shakes fist08:45
moritz i'm sure there's some medieval math treatise that used ornate parenthesis08:47
masak "andh hyre we taken ye 2 and adden ty ye odder 2..."08:48
yakudza joined08:49
grondilu timotimo: I could not see much improvement but there is probably some, at least marginally.08:49
snarkyboojum left08:54
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 english09:01
xinming left09:03
xinming joined09:04
masak Hotkeys: I'm more impressed by your effort than by mine.09:05
Hotkeys I kind of want to learn Old English now09:06
xinming left09:09
dalek rakudo/nom: 036e19a | lizmat++ | docs/announce/2015.12.md:09:12
rakudo/nom: Fix apparent vim-ish dropping09:12
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/036e19a0b709:12
glaukommatos joined09:12
Guest50923 left09:12
dakkar joined09:14
yoleaux left09:15
{dpk} left09:15
glaukommatos left09:17
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?09:21
gfldex http://irclog.perlgeek.de/perl6/today <-- you have to google that, so some newling has to know what to look for09:22
xinming joined09:23
labster left09:24
lizmat timotimo++ # P6W09:25
lolisa left09:26
timotimo thank you :)09:26
gfldex: i have no idea what you're saying this in reference to09: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 btw09:28
timotimo oh09:31
lizmat don't we have another advent post ready that could be moved to today ?09:31
timotimo i was suggesting that *I* would go through the irclog09:31
not my readers09:31
lizmat afk for a few hours&09:31
gfldex you can be so greedy at this festive time!09:32
*can't09:33
i didnt have my morning tea yet it seams09:33
CIAvash left09:35
roguelazer left09:37
[Tux] https://pbs.twimg.com/media/CVsZobHWIAAlBJW.jpg09:37
timotimo m(09:38
roguelazer joined09:38
mohae left09:39
CIAvash joined09:39
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
RabidGravy joined09:46
_nadim hi, given a class with a routine, can I get the routine object? something like $routine = C::D::routine09:46
mohae joined09:47
llfourn _nadim: C::D::<&routine>09:47
_nadim thanks09:47
llfourn it should be our scoped though09:47
timotimo llfourn: that only works if the routine is an "our" routine, no?09:47
yeah09:47
llfourn :D09:47
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 left09:48
grondilu thought the syntax was &T::foo09:48
llfourn thinks you can do it that way too09:48
timotimo i think so, too09:48
cosimo w/in 2709:48
_nadim how does one get09:49
xinming joined09:49
timotimo doesn't get09:49
grondilu the suspense is unbearable09:49
_nadim Oops, I meant that I can get something that is not declared as our but I get an Any, not a Routine09:49
llfourn m: class T { method foo { say "ohai" } }; T.foo; # _nadim: to me this is clearer09:49
camelia rakudo-moar 036e19: OUTPUT«ohai␤»09:49
llfourn _nadim: can you gold what you are trying to do?09:50
_nadim llfourn: I am writting a dumper09:50
grondilu if it's not declared as "our", it's declared as "my". So you can't access it from the outside.09:50
_nadim I want to test what it does when it get a routine09:50
llfourn _nadim: if you are writing a dumper you should use the MOP to introspect the class and dump stuff09:51
_nadim URL please09:51
llfourn m: class T { method foo { say "ohai" } }; .say for T.^methods;09:51
camelia rakudo-moar 036e19: OUTPUT«foo␤»09:51
_nadim but in this case I am not dumping a class, just a Routine09:52
jdong joined09:52
llfourn _nadim: what do you mean by "Routine"?09:52
Routine is a role afaik09:52
jdong perl6, amazing !!!!09:52
_nadim Note that $routine = Data::Dump::Tree::<&dump> works and it is not declare as our09:53
Averna joined09:53
_nadim llfourn: good to know, so I can't get objects that are just routines09:54
stmuk can anyone reproduce [perl #126840] $*KERNEL and env lookup?09:54
llfourn Methods, Submethods and Subs are routines I think09:54
_nadim Sub is too09:54
stmuk I have seen that warning on building panda but not how described in the ticket09:54
_nadim sorry, didn't scan the Sub in your comment09:55
pippo joined09:55
gfldex _nadim: and you can get stuff that you are not looking for when talking to the dispatcher. see: http://design.perl6.org/S12.html#FALLBACK_methods (and a few other things)09:57
_nadim http://doc.perl6.org/type/Sub says that Sub is derived from Routine, and http://doc.perl6.org/type/Routine says it is a class not a role09:57
llfourn _nadim: that's why we have docs :)09:58
m: say Routine.new09:58
camelia rakudo-moar 036e19: OUTPUT«Cannot make a Routine object using .new␤ in block <unit> at /tmp/gLB0RfEbrb:1␤␤»09:58
llfourn you are right it's a class09:59
_nadim docs will get better, that's the way of docs ;)09:59
gfldex: thanks, I'll check10:00
yeahnoob left10:03
llfourn _nadim: what is Data:::Dump::Tree?10:06
Ven there's a perl6advent in my rss, but it 404, surprising :o10:06
also, hi #perl6 o/10:06
timotimo so ... is someone going to write an emergency advent post? %)10:07
leont joined10:07
RabidGravy it should be "Grammars generating grammars" by tadzik10:10
stmuk it is/was his birthday according to /last .. maybe he is still asleep after partying :)10:12
TEttinger grammas generating grammars10:12
espadrine joined10:12
glaukommatos joined10:13
Ven timotimo: is there a perl6advent post about sized types?10:14
hankache joined10:18
glaukommatos left10:18
timotimo i don't think so10:18
i have no idea, really10:18
havenn joined10:21
havenn left10:21
havenn joined10:21
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 fancy10:21
cpage__ joined10:21
cpage left10:22
cpage__cpage10:22
havenwood left10:22
havennhavenwood10:22
timotimo i haven't done much with it yet10:23
hankache left10:25
El_Che I had trouble with the whatever syntax (share state among class instances!), but it got replaced by the react syntax.10:25
Ven left10:26
El_Che the channel->poll syntax works, the react syntax is a lot nicer, but sometimes it hangs10:26
(creating a bug report with minimal ogic)10:26
l10:26
yqt joined10:27
timotimo i'll look at your code :)10:28
El_Che thx10:30
mohae left10:31
[Tux] if (my $fh = open "files/macosx.csv", :r) {10:32
=>10:32
Failed to open file /home/travis/build/Tux/CSV/files/macosx.csv: no such file or directory10:32
in block <unit> at t/45_eol.t:16710:32
which is why Travis fails10:32
how to make that uncrashing?10:32
donaldh joined10:33
mohae joined10:34
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 views10:44
RabidGravy fabulous10:44
timotimo it's hard to tell how many views each article has gotten, because we don't have "read more" buttons on most of them10:44
but it seems like the "unicode, perl6 and you" article has been getting a bunch of direct links: 2.6k views10:45
brrt joined10:45
nine timotimo: Unicode, Perl6 and you was linked from lwn.net which should bring a lot of traffic10:46
timotimo ah, lwn!10:46
it was also discussed on hackern00z10:47
mohae left10:50
km3 left10:53
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 stuff10:55
dpk joined10:55
timotimo of course there is10:56
nine RabidGravy: well, look at Cyberax' comment: http://lwn.net/Articles/667036/10:56
timotimo "fuck rakudo, i can't open a 4gb log file because it becomes 4x as big in RAM!10:56
who made this crap!"10:56
etc etc10:57
El_Che $ perl6-debug-m ChannelReact.pm6 => Could not find Debugger::UI::CommandLine:ver<True>:auth<True>:api<True>10:57
sjn reads mdk's annoucement about jnthn not coming to lpw :-\10:57
El_Che on the latest rakudo build10:57
sjn wow, that really sucks, jnthn :-(10:57
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 :)10:59
tadzik or was that supposed to be 7th?10:59
timotimo cool, tadzik :)10:59
the 7th had shimmerfairys post10:59
tadzik right10:59
nine sjn: I'm utterly lacking the words for this situation...10:59
RabidGravy tadzik, nah today :)10:59
tadzik all good then, fear not :)10:59
llfourn loves Perl 6, even without the unicode11: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 on11:01
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
mohae joined11:03
stmuk :(11:05
robnox left11:08
Woodi joined11:09
ChoHag left11:11
yoleaux joined11:12
ChanServ set mode: +v11:12
Averna left11:13
RabidGravy I'm going to give the "anonymous state variable" a sub-heading of its own in the http://doc.perl6.org/syntax/state#language_documentation_Variables everyone cool with that?11:14
timotimo oh, god damn you, UK11:14
llfourn is ice cold11:14
RabidGravy (i.e. a '=head3' )11:14
llfourn RabidGravy: you could probably =head3 X<$|variable> as well for searching purposes11:15
ShimmerFairy timotimo: for the record I'm still shocked my post could be so popular :311:16
timotimo hehe11:16
llfourn RabidGravy: or =head3 The C<$> Variable should work too11:17
(and is preferable)11:17
RabidGravy I'm cool with that11: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?" :P11:22
llfourn ah. That is really frustrating. Infuriating. sucks for the LPW.11:23
glad lizmat can cover11:23
lucasb joined11:24
timotimo ShimmerFairy: i'm a big fan of the snowman comet bug!11:24
can't wait for the slang11:24
ilogger2 joined12:11
ChanServ set mode: +v12:11
tadzik dangit12:11
my bad :(12:11
timotimo ;)12:11
it's all right12:11
tadzik let's maybe pull in Day 9 now and I'll have mine ready for tomorrow?12:12
to minimize the delay12:12
|Tux| why does «my $fh = open "non-existing.weird.ext", :r or warn "Bummer!"» cause an exception instead of a warn?12:12
El_Che timotimo: I have now sample code for the react+channel bug : https://gist.github.com/nxadm/40146386fdcf963fb3f812:13
nine |Tux|: I hope that's because Perl 6 fixed one of Perl 5's mistakes there ;)12:13
El_Che about 15% of the time, this code get something like a deadlock12:13
lizmat nine: shouldn't that return a Failure, though ?12:13
nine lizmat: oh, true, we have Failure12:13
Ch0c0late joined12:14
rurban joined12:15
tadzik masak: ping12:15
|Tux| nine, for me that dwim's. What is the perl6 way to do it?12:15
timotimo El_Che: yeah, i see it's behaving strangely12:15
|Tux| and, maybe more interesting, where do you see the flaw in perl5 approach12:15
nine IO::Handle::open contains this: # TODO: catch error, and fail()12:16
timotimo [Tux]: "or" doesn't have "try" semantics automatically12:16
[Tux]: when open finds an error, it throws an exception, so you don't have to "open ... or die" all the time everywhere12:16
El_Che nine: the thing is, this code shouldn't fail12:16
|Tux| if (my $fh = open "frubble.hyg", :r) { neither?12:17
timotimo [Tux]: maybe "orelse" would do the trick, as it has "exception semantics"12:17
m: die "oh no, file not found" orelse warn "bummer!"12:17
camelia rakudo-moar 036e19: OUTPUT«oh no, file not found␤ in block <unit> at /tmp/eYEdWYPXLD:1␤␤»12:17
timotimo hm, no. still needs to have a try12:17
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?12:17
timotimo m: try die "oh no, file not found" orelse warn "bummer!"12:17
camelia rakudo-moar 036e19: ( no output )12:17
|Tux| many :)12:17
timotimo and the precedence of "try" is too loose to get the warning12:17
|Tux| nine, at least I know me, myself and I12:18
nine |Tux|: so you're the ONE!12:18
kid51 joined12:19
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 often12:20
timotimo El_Che: one from "shift", which is likely the whenever on the channel trying to get the next value12:20
vytas https://perl6advent.wordpress.com/2015/12/07/day-7-unicode-perl-6-and-you/#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 that12:21
El_Che timotimo: I'll simplify the code on the gist by using only 1 instance12:22
|Tux| mubmles that Path should have an .exists and a .non-empty method12:22
vytas thanks : )12:22
timotimo moritz, vytas, the fourth "thought" is the pingback at the very bottom, i think?12:22
hm, no, actually not12:22
El_Che wished that the bugtrack would be on github12:23
lizmat m: "foobar".IO.e.say # [Tux]12:23
camelia rakudo-moar 036e19: OUTPUT«False␤»12:23
moritz never understand what pingbacks are for12:23
timotimo lizmat: that's not the only reason open could fail12:23
ChoHag joined12:23
El_Che timotimo: here is the simplified class: https://gist.github.com/nxadm/3f2b78e8665346b05f9412:31
timotimo: I'll post a bugreport based on that12:31
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 sometimes12:33
ShimmerFairy vytas: could it be counting the pingback?12:34
El_Che ok12:34
timotimo ShimmerFairy: it's not "a pingback", it's the link you're supposed to use to pingback12:35
ShimmerFairy (pingbacks are on occasion "pending comments")12:35
timotimo El_Che: and now i removed the class entirely, replacing it with a sub. it still freezes sometimes12:35
ShimmerFairy timotimo: huh? I'm fairly certain I've heard of pingback as a noun, not a verb :)12:35
timotimo ShimmerFairy: could be, but not in this case; it shows 0 commits pedning review :|12:35
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 :)12:36
vytas not sure what is it but for instance here -> https://perl6advent.wordpress.com/2015/12/01/day-1-the-state-of-perl-6-in-2015/ it says 1 comment but none exist so either it starts counting from 2 or includes pingback12:36
ShimmerFairy yeah, I'm certain it counts pingbacks as comments12:37
timotimo hmm12:38
Skarsnik joined12:39
timotimo now how do i thread apply all frame 3; print MVM_dump_backtrace(tc)12:41
gdb doesn't like the ;12:41
oh, dinner time!12:41
kid51 left12:42
donaldh joined12:45
sufrostico joined12:53
sarya joined12:56
sarya hii12:56
anyone?12:57
moritz hello sarya12:57
DrForr Yep.12:57
masak sarya: ahoy12:57
sarya cgi12:58
masak sarya: no :)12:58
or "no thanks" :P12:58
sarya left12:58
BooK that was quick12:58
masak customer spoke in one-word phrases12:59
and yet, the conversation was ripe with meaning12:59
Ven joined13:00
timotimo masak: "meaning. so deep. very meeting"13:00
donaldh left13:02
glaukommatos joined13:02
spacebat I've got rakudobrew installed 2015.11 moar, everything seems to work, repl, running simple scripts13:03
but rakudobrew build-panda and build-zef both fail13:03
vytas in perl6 REPL can i somehow save the session and restore it later ?13:03
masak vytas: nope.13:03
Skarsnik try 2015.10 or the most recent version. some stuff are still buggy with panda/module13:03
MadcapJake not yet, i am working on adding that13:03
spacebat build-panda gives: Function 'CompUnit::Repository' needs parens to avoid gobbling block13:04
ok13:04
christmas flux13:04
:)13:04
MadcapJake re: vytas13:04
vytas spacebat, do self rakudobrew self-upgrade first13:05
spacebat yup have done already13:05
MadcapJake what message do they give?13:05
oh i see :P13:05
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 queue13:05
MadcapJake it's early for me xD13:05
El_Che timotimo: I am finishing an stripped down example13:06
glaukommatos left13:06
MadcapJake spacebat: nuke moar13:06
start fresh13:07
El_Che timotimo: https://gist.github.com/nxadm/0261be41747795575f4f13:07
timotimo: still around 7% misses on this stripped down example: no classes, no subs13:08
dalek doc: e55d339 | (Claudio Ramirez)++ | doc/Language/testing.pod:13:08
doc: Add use-ok13:08
doc: review: https://github.com/perl6/doc/commit/e55d339f4f13:08
doc: 1a1bd3d | (Zoffix Znet)++ | doc/Language/testing.pod:13:08
doc: Merge pull request #230 from nxadm/master13:08
spacebat MadcapJake: I'll try that too13:08
dalek doc:13:08
doc: Add use-ok13:08
doc: review: https://github.com/perl6/doc/commit/1a1bd3d2e113:09
spacebat thanks13:09
El_Che I close the channel within the read promise (it works with channel.poll ok in that case)13:09
timotimo: this example does not use IO handle, just a loop with numbers13:10
timotimo good13:10
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?13:11
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 early13:11
masak today in your "Unicode is hard" news reporting: https://en.wikipedia.org/wiki/Bush_hid_the_facts13:12
pippo vytas: you can have REPL commands history saved for later re-use with rlwrap.13:13
timotimo fantastic13:14
vytas pippo, I was thinking to provide repl in my module with additional functionality13:14
El_Che timotimo: https://gist.github.com/nxadm/1e5a26881f5831a2c8af13:14
timotimo: I'll keep that running here13:14
pippo vytas: Ah. Ok. NM.13:14
RabidGravy stmuk, I looked, couldn't work out how to reproduce and started something else13:15
timotimo El_Che: hangs after a bit13:15
El_Che: but the output makes it hard-ish to spot13:15
El_Che timotimo: ok, I'll adapt it13:15
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>␤»13:16
timotimo huh. here it just froze after a 1 was printed13:17
moritz m: say $*PERL.^method_table.keys13:17
camelia rakudo-moar 036e19: OUTPUT«(name DISTROnames compiler gist desc VMnames KERNELnames auth Str signature version)␤»13:17
moritz llfourn: ^^13:17
llfourn moritz: thanks!13:17
El_Che timotimo: here after 4 and 1013:17
moritz llfourn: though note that .^method_table only includes methods from the immediate class, not from parent classes13:17
xpen joined13:18
llfourn moritz: but .^methods does right?13:18
moritz llfourn: yes, unless they are from Any, Cool or Mu. See http://doc.perl6.org/routine/methods13:19
llfourn m: class A { method foo {} }; class B is A { method bar {}}; say B.^methods; say B.^method_table13:20
camelia rakudo-moar 036e19: OUTPUT«(bar foo)␤bar => bar␤»13:20
llfourn moritz: thanks for info :)13:20
El_Che timotimo: more readable output: https://gist.github.com/nxadm/1e5a26881f5831a2c8af13:21
the only doubt I had was the channel.close. If it's ok there it's cenrtainly a bug13:22
timotimo: I am doing the same example with poll13:23
sufrostico left13:23
El_Che timotimo: that works like a charm13:25
dalek doc: 07598b5 | RabidGravy++ | doc/Language/variables.pod:13:26
doc: Make C<$> explanation a little clearer13:26
doc:13:26
doc: It seemed that the anonymous state variable was a bit lost in the13:26
doc: rest of the state variable discussion so it merited a section of its13:26
doc: own. Also clarify that each reference is a separate variable.13:26
doc: review: https://github.com/perl6/doc/commit/07598b582413:26
El_Che timotimo: https://gist.github.com/nxadm/141723568ac6235f212b13: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 effects13:27
RabidGravy :)13:27
El_Che tadzik <- da man13:27
moritz tadzik: double benefit!13:27
tadzik it looks scary simple now :o13:28
I keep thinking that the tests must be wrong or something...13:28
zakharyas joined13:28
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]13:29
El_Che thx, lizmat13:29
grondilu with [BUG] in the object. See rakudo's README13:30
El_Che grondilu: thx, already happily typing :)13:31
dalek perl6.org: 0b17ef9 | (Zoffix Znet)++ | update.sh:13:32
perl6.org: Update recent blog posts on each update run, rather than only when we have fresh commits13:32
perl6.org: review: https://github.com/perl6/perl6.org/commit/0b17ef91e313:32
stmuk RabidGravy: yeah reproducing seems hard .. its like a setup issue first time something is called13:33
moleculesoflife joined13:34
DrForr Heh. I'm getting close to finishing the changes that the GLR inflicted on perl6-ANTLR4.13:34
virtualsue joined13:35
RabidGravy stmuk, I suspect it's somewhere down in run/shell/qx or whatever they use under the hood13:37
lucasb joined13:37
stmuk I'm wondering if it's multiple places13:38
moleculesoflife /msg NickServ VERIFY REGISTER moleculesoflife nhrpcyeaqsfl13:38
stmuk :D13:38
Humbedooh :s13:38
moritz moleculesoflife: that was a nice password :-)13:38
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?13:39
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?13:40
moleculesoflife Oh, copy and paste error. Thanks.13:40
RabidGravy lucasb, that is correct right?13:40
El_Che ok, bug posted. Back to my code, now back with the channel.post syntax :).13:40
lucasb RabidGravy: I think... there is. :)13:41
m: sub f($x) { say (@).push($x) }; f(2); f(3)13:41
camelia rakudo-moar 036e19: OUTPUT«[2]␤[2 3]␤»13:41
RabidGravy ah, okay13:41
lucasb ^^ this means it is a 'state' var, right?13:41
same thing for anon '%'13:41
dalek doc: a3a53ef | (Sylvain Colinet)++ | doc/Type/Code.pod:13:42
doc: Fix a missing link13:42
doc: review: https://github.com/perl6/doc/commit/a3a53ef26113:42
doc: c65bdb7 | (Sylvain Colinet)++ | doc/Language/ (4 files):13:42
doc: Merge branch 'master' of https://github.com/perl6/doc13:42
doc: review: https://github.com/perl6/doc/commit/c65bdb7b7c13:42
RabidGravy I did a stupid test to test my assertion, let me fix that13:42
moleculesoflife m: say Date.today.later(weeks =>1); say Date.new(now).later(weeks => 1); say Date.new.later(weeks => 1);13:42
camelia rakudo-moar 036e19: OUTPUT«2015-12-15␤2015-12-15␤2015-12-31␤»13:42
Skarsnik moleculesoflife, you should change you password now x)13:43
virtualsue left13:43
BooK why is that last one on 2015-12-31 ?13:43
Skarsnik weird13:44
moritz BooK: because Date.new gives you Christmas13:44
BooK wuh?13:44
moritz BooK: well, if you don't ask for a specific date, we give you one that we like13:44
BooK i'd be o13:44
_nadim BooK: ahhh! le president! ;)13:44
moleculesoflife moritz: That's kind of funny, but a bit surprising.13:45
BooK oops. I meant, a sane default would be now13:45
lucs fsvo "Christmas"13:45
llfourn notices that this is the second time Christmas as default has stumped someone today13:45
btyler "now" would be a lot more consistent with other date libraries (that I'm familiar with, at least)13:45
dalek doc: 931726a | RabidGravy++ | doc/Language/variables.pod:13:45
doc: Make C<$> explanation a little clearer13:45
doc:13:45
doc: It seemed that the anonymous state variable was a bit lost in the13:45
doc: rest of the state variable discussion so it merited a section of its13:45
doc: own. Also clarify that each reference is a separate variable.13:45
doc: review: https://github.com/perl6/doc/commit/931726a7a213:45
doc: 61f1bbd | RabidGravy++ | doc/ (2 files):13:45
doc: Merge branch 'master' of github.com:perl6/doc into anon-state13:45
doc: review: https://github.com/perl6/doc/commit/61f1bbdd1913:45
doc: 833b8f2 | RabidGravy++ | doc/Language/variables.pod:13:45
doc: Remove incorrect assertion13:45
doc: review: https://github.com/perl6/doc/commit/833b8f2a3613:45
virtualsue joined13:45
BooK well, I heard after Perl6 was released it would be Christmas every day13:45
RabidGravy lucasb, I think each one needs to go under a separate heading13:46
_nadim using feed operators, is it thought that one can: ((a, b), (c, d)) ==> -> ($a, $b) {} ==> ...13:46
llfourn BooK: and hopefully because people aren't using Date.new() to calculate which day it is!13:46
BooK so "now" sounds like a perfectly acceptable value for christmas, after 2015-12-25, obviously13:46
new/now, sane tpo13:46
typo13:46
_nadim eg: loops that could be chained13:47
lucasb RabidGravy++, thanks13:47
BooK these letters are so close on the keyboard they sometime clash: œ13:47
Date.nœw should be a new Date set to now13:47
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 brane13:48
kaare_ joined13:51
lucasb ok, can Date.new be made the same as Date.today *before* the release? fwiw, I'm +1 for this13:52
llfourn is there any better way to get a multi-line .perl than .perl.subst(', ',",\n",:g)?13:52
lucs What's the currently recommended way to add in the REPL a directory searchable for modules?13:53
vividsnow joined13:53
moritz lucs: use lib "path";13:54
lucs Oh, easy enough :)13:54
Thanks moritz13:54
moritz (unless that's broken in the REPL, and I'm not aware of it)13:54
lucs Trying...13:54
dalek rakudo/nom: 240b9ae | moritz++ | src/core/Temporal.pm:13:55
rakudo/nom: Deprecate argument-less Date.new, as it seems to confuse everybody except me13:55
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/240b9aee9313:55
llfourn \o/13:55
lucs moritz: Looks okay.13:55
lucasb moritz++ thanks13:55
llfourn so Date.new is a depreciation warning now?13:56
so it's going to be removed?13:56
RabidGravy no, without arguments is deprecated13:57
llfourn mm yes I was asking about w/o arguments13: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?13:58
RabidGravy so Date.new(year => 2015, month => 12, day => 25) is still cool13:58
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 version14:00
BooK now christmas 2015 as a default epoch, that would surprise a few people14:00
llfourn m: say Date.now ~~ Date.today14:00
camelia rakudo-moar 036e19: OUTPUT«Method 'now' not found for invocant of class 'Date'␤ in block <unit> at /tmp/g1NHZLSR_l:1␤␤»14:00
llfourn s/now/today/ but yes ok :)14:00
tadzik https://perl6advent.wordpress.com/?p=3529&preview=true -- draft of today's late post14:01
I'll give it one last proofread and push it live, I'll appreciate a second pair of early adopters' eyes :)14:01
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.now14:01
BooK also, TZ14:02
RabidGravy "full meta jacket"14:02
Juerd BooK: Anyway.14:02
llfourn Juerd: DateTime.now is a thing14:02
ChoHag Is there a more perl6-ish way to say [ <foo> <.sep> ]* <foo>?14:02
Juerd llfourn: Yes, because date + time is as specific as the concept of 'now' can be expressed.14:02
BooK llfourn: I think this is exactly what Juerd meant14:02
sjn m: say [*] (); # why does this say "1"?14:02
camelia rakudo-moar 036e19: OUTPUT«1␤»14:02
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 ) :D14:03
llfourn tadzik: that's 404 for me. I guess I have to wait :)14:03
BooK m: say [+] ();14:04
camelia rakudo-moar 036e19: OUTPUT«0␤»14:04
Ven I almost have a blog post ready for today, should I go for it? If people can give me their input14:04
BooK sjn: I think it's the same reason for both14:04
Juerd sjn: 1 is *'s identity. It's the number you can prepend to the list of things to multiply without changing the outcome.14:04
BooK m: say [/] (); # we should expect 1 here too14:04
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␤␤»14:04
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 result14:05
tadzik Ven: hey, I'm for today :)14:05
BooK depends if you push or unshift14:05
Ven tadzik: okay, I wasn't sure if you were gonna get to it or not :)14:05
Juerd BooK: It's about unshifting.14:06
tadzik I am, I'm just late :/14:06
Ven np :)14:06
Juerd BooK: It's whatever *starts* the process, in the implementation: my $x = identity; for @foo { $x op= $_ }14:06
ShimmerFairy Juerd: prepend or append? (after all, appending means 4 / 4 / 1 / 1 / 1 ... would be identity)14:06
Juerd ShimmerFairy: ^14:07
ShimmerFairy ah, alright then :)14:07
Juerd But I read somewhere that it's actually a mathematical thing, widely accepted etc, and not really an implementation detail.14:07
But the implementation explanation works for me14:07
moritz if you talk about neutral elements of non-commutatitive operations, you have to talk about the side on which you apply it14:08
and we don't want to go to such lengths in Perl 614:08
m: say [**]()14:08
camelia rakudo-moar 036e19: OUTPUT«1␤»14:08
BooK so [-] (); should give an error too14:08
moritz now that's inconsistent14:08
ShimmerFairy this page has some identities on it https://en.wikipedia.org/wiki/Identity_element14:08
Juerd BooK: No, that's 014:09
ShimmerFairy moritz: in particular, that corroborates ** having an identity of 1 (so... "prepend" in direction of associativity?)14:09
BooK Juerd, well - is not commutative14:09
ShimmerFairy m: say [-]()14:09
camelia rakudo-moar 036e19: OUTPUT«0␤»14:09
tadzik llfourn: wait no more! :) https://perl6advent.wordpress.com/2015/12/08/day-8-grammars-generating-grammars/14:10
post is up, sorry for being late14:10
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 :)14:10
moritz m: say 0 - 0 - 314:10
camelia rakudo-moar 036e19: OUTPUT«-3␤»14:10
llfourn is satiated14:10
BooK I'd buy a "full meta" jacket14:10
tadzik :D14:10
moritz yes, something's inconsistent14:10
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 :P14:11
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 before14:13
grondilu m: say (1 - 2) - 3 == 1 - (2 - 3)14:13
camelia rakudo-moar 240b9a: OUTPUT«False␤»14:13
grondilu nope, non-associative.14:13
trone joined14:14
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 post14:15
ShimmerFairy grondilu: or more generally, (x - y) - z == x - (y - z) --> x - y - z == x - y + z , so only when z == 0, yes?14:15
moritz tadzik: maybe link to Grammar::BNF?14:15
tadzik duh14:15
of course, thanks :)14:15
moritz and maybe ecosystem => https://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 array14:17
timotimo darutoko: that's what "comb" is for14:17
cdg joined14:17
Juerd m: say "hello world".comb14:18
camelia rakudo-moar 240b9a: OUTPUT«(h e l l o w o r l d)␤»14:18
darutoko timotimo, comb('') just retrurns array of empty strings14:18
timotimo yeah, you want .comb()14:18
darutoko oh thanks14:18
timotimo you're welcome :)14:18
Juerd darutoko: .comb('') gives you all occurrences of '' in the string. Just be glad it doesn't give an infinite number of them ;)14:18
tadzik moritz: done, thanks :)14:18
darutoko one more question14:19
is there a way to check if string is number?14:19
Juerd Why only one more? There's no limit on the number of questions you may ask :D14:19
darutoko :)14:19
BooK there might be a limit on the number of answers you get, though14:20
Juerd darutoko: "is" a number is a bit hard, because there's no single definition for it.14:20
darutoko integer14:20
exept regexp14:21
is there a smart match or smthg?14:21
BooK m: say 34.WHAT14:21
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»14:21
jony joined14:21
Ven does `my int1 @a[8];` currently promise contiguous access?14:21
darutoko m: say "34".WHAT14:22
camelia rakudo-moar 240b9a: OUTPUT«(Str)␤»14:22
BooK m: say 34.WHAT ~~ Int # ?14:22
camelia rakudo-moar 240b9a: OUTPUT«True␤»14:22
BooK ncie14:22
nice14:22
jony_ joined14:22
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/14:22
dj_goku m: say '1.1'.abs14:23
camelia rakudo-moar 240b9a: OUTPUT«1.1␤»14:23
dj_goku m: say '1.1'.abs.WHAT14:23
camelia rakudo-moar 240b9a: OUTPUT«(Rat)␤»14:23
El_Che big thx to the implementer14:23
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.14:23
Skarsnik People familiar with working with SVG here? x)14:23
BooK m: my @a=(34,"34"); .WHAT.say for @a;14:24
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤(Str)␤»14:24
dj_goku m: say '-1.1'.abs.WHAT14:24
camelia rakudo-moar 240b9a: OUTPUT«(Rat)␤»14:24
dj_goku m: say '-1.1'.abs14:24
camelia rakudo-moar 240b9a: OUTPUT«1.1␤»14:24
dj_goku hmm14:24
BooK then you could define your own type and check against that14:24
darutoko m: say "34".abs.WHAT14:24
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»14:24
darutoko dj_goku, thank you14:24
Juerd Note that abs(-5) == 514:25
zakharyas left14:25
Juerd Might not be the function you're looking for :)14:25
darutoko its ok14:25
I don't expepct negative14:25
Juerd Why do you need to know if something is a number?14:25
BooK m: say ( 0 + "34" ).WHAT14:25
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»14:25
timotimo this is not the fun you're looking for14:25
Juerd I have the feeling you're doing something wrong :)14:25
BooK aah venus still works14:25
dj_goku m: say '34'.unival14:25
camelia rakudo-moar 240b9a: OUTPUT«3␤»14:25
koo8 joined14:25
timotimo dj_goku: unival and a bunch of other functions only consider the first grapheme on a string14:26
some only the first codepoint14:26
Ven > my Int @a[8];14:26
Method 'gist' not found for invocant of class 'NQPMu'14:26
I recompiled a minute ago14:26
moleculesoflife tadzik++ # nice advent post. Thanks!14:26
dj_goku timotimo: ugh yeah I saw that after the output. :D14:26
tadzik moleculesoflife: thanks, I'm glad you liked it :)14:27
diakopter left14:28
dj_goku m: say '34'.Int14:29
camelia rakudo-moar 240b9a: OUTPUT«34␤»14:29
dj_goku m: say '34'.Int.WHAT14:30
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»14:30
dj_goku m: say '1.1'.Int.WHAT14:30
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»14:30
dj_goku m: say '1.1'.Int14:30
camelia rakudo-moar 240b9a: OUTPUT«1␤»14:30
zakharyas joined14:30
dj_goku m: say '1.1'.Rat14:30
camelia rakudo-moar 240b9a: OUTPUT«1.1␤»14:30
Ven $ ./install/bin/perl6 -v $ This is rakudo version 2015.11 # that normal¿14:30
skids joined14:31
llfourn tadzik++ great post14:31
diakopter joined14:31
moritz Ven: only if you built a rakudo 2015.1114:32
Ven moritz: I'm on nom :|14:32
virtualsue left14:32
ilmari Ven: there should be more after that14:32
moritz Ven: did you 'make instlal'?14:32
*install14:32
Ven moritz: yeah, I did.14:32
ilmari $ perl6 -v14:33
This is rakudo version 2015.11-353-g734549a built on MoarVM version 2015.11-34-gc3eea17 implementing Perl v6.b.14:33
Ven yeah.14:33
moritz Ven: oh, did you run Configure.pl?14:33
Ven moritz: yeah14:33
I have the same as ilmari14:33
ilmari that was rakudobrewed on frideay14:33
-e14:34
hankache joined14:35
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 end14:37
tadzik: also, claiming that regexes in perl don't parse context-free grammars is wrong, i believe14:37
tadzik well, regular expression don't, perl regexes do14:38
I could note that perhaps14:38
as for falling apart, I thought about that, but hey, I did say "we" :P14:38
timotimo yea, that'd help14:38
otherwise people may think you know nothing about regexes, jon snow.14:38
lucs timotimo: I think I agree; s/that are going/that we're going/14:38
tadzik heh14:38
timotimo ah!14:38
yes, thta's the right fix14:39
gfldex tadzik: you could link to http://modules.perl6.org/14:39
moleculesoflife m: say Date.new(); say Date.new(now); say Date.today();14:39
camelia rakudo-moar 240b9a: OUTPUT«2015-12-24␤2015-12-08␤2015-12-08␤»14:39
tadzik gfldex: I think I did14:39
tony-o nine: any idea on how to avoid this error? https://travis-ci.org/tony-o/perl6-http-server-async/jobs/95538634#L95314:39
Juerd m: now.say14:40
camelia rakudo-moar 240b9a: OUTPUT«Instant:1449585658.859186␤»14:40
moleculesoflife When things are deprecated are they supposed to warn?14:40
gfldex tadzik: you did indeed14:40
Skarsnik like always14:40
lizmat moritz: I had a slightly different approach, which just conflicted :-)14:41
Skarsnik m: Data.new14:41
camelia rakudo-moar 240b9a: OUTPUT«=== SORRY!=== Error while compiling /tmp/72XnFoTVw2␤Undeclared name:␤ Data used at line 1. Did you mean 'Date'?␤␤»14:41
Skarsnik m: Date.new14:41
camelia rakudo-moar 240b9a: ( no output )14:41
Skarsnik probably not up to date yet14:41
tadzik timotimo: ok, I think I fixed it a little :)14:41
gotta run for a while, bbs14:41
lizmat moritz: let Date.new fail with: Christmas has come! Use Date.today for today, or Date.new('Christmas') for the next Christmas Eve14:41
Juerd lol14:41
m: now.Date14:42
camelia rakudo-moar 240b9a: OUTPUT«Method 'Date' not found for invocant of class 'Instant'␤ in block <unit> at /tmp/lD2ZK1lRaD:1␤␤»14:42
Juerd :(14:42
lizmat and the ('Christmas') candidate would be the old Date.new()14:42
nine tony-o: well, as the error message tells, don't use lib inside a module. Why does HTTP::Server::Async do this anyway?14:42
Ven m: my Int @a[8]; say @a;14:42
camelia rakudo-moar 240b9a: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/rvQCzp048C:1␤␤»14:42
Juerd I don't really see why religious holidays should be hardcoded14:42
virtualsue joined14:43
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 ..14:43
timotimo tadzik: except the "use grammars to parse grammars to generate grammars" sentence still is the way it was before :)14:43
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 files14:44
nine tony-o: in test files it's ok, just not in modules used by test files14:44
Ch0c0late left14:44
lizmat forgets about it14:45
timotimo tadzik: tiny -1 for refering to "us", "the reader and me" as "men" :S14:45
tony-o great14:46
zakharyas left14:46
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.14:47
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);14:48
camelia rakudo-moar 240b9a: OUTPUT«[1 2 3]␤»14:48
Ven this fails locally :(14:48
m: (my Int @a[8] = 1 .. 7).gist.say14:49
camelia rakudo-moar 240b9a: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/rfgRm7soeZ:1␤␤»14:49
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 :P14:49
my \method = "hi"; say method;14:49
m: my \method = "hi"; say method;14:49
camelia rakudo-moar 240b9a: OUTPUT«=== SORRY!=== Error while compiling /tmp/QcKTDRD3LO␤Missing block␤at /tmp/QcKTDRD3LO:1␤------> my \method = "hi"; say method ; ␤»14:49
timotimo d'oh, i am forced to eat my own words14:50
Skarsnik It's weird a token is not a class and you have to use EVAL14:50
moritz Skarsnik: why would a token be a class?14:51
Ven timotimo: is Int @a[8]; contiguous in memory? or only native types?14:51
moritz Skarsnik: it's more like a method really14:51
Skarsnik I don't know x)14:52
moritz Ven: the array itself is contiguous in memory, but Int is a reference type14:52
Ven moritz: right :).14:52
moleculesoflife left14:52
timotimo tadzik: nice post :)14:53
Ven: only native types14:53
Ven okay, thanks14:53
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:54
yakudza joined14:56
moritz Ven: and I guess some day we'll be able to infer .[] return types from Int @a14:58
Ven m: my int @a[8]; @a[3] := 3; say @a14:58
camelia rakudo-moar 240b9a: OUTPUT«Cannot bind to a natively typed array␤ in block <unit> at /tmp/AvUBGQajMe:1␤␤»14:58
Ven wut?14:58
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 contents14:59
Ven m: my int @a[8]; @a[3] = 3; say @a14:59
camelia rakudo-moar 240b9a: OUTPUT«[0 0 0 3 0 0 0 0]␤»14:59
Ven m: my int @a[8]; @a[3] += 3; say @a14:59
camelia rakudo-moar 240b9a: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/Lh4FOibkYV:1␤␤»14:59
Ven ah, here's the error I was seeing. I inferred its source incorrectly.14:59
timotimo ah, that actually ought to give you a NativeRef for that slot15:00
Ven so that's a bug?15:00
timotimo more like a NYI15:00
but yeah15:00
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)␤ …»15:01
moritz timotimo: how would the postcircumfix even know that it's supposed to return a NativeRef?15:01
timotimo it has to always do that15:01
Ven ^ that's the surprising part, timotimo15:01
moritz timotimo: not really, because normal assignment uses ASSIGN_POS or whatever that method is called15:01
timotimo oh15:02
that's a good point15:02
so we'll just return a nativeref when we have AT_POS and keep ASSIGN_POS fast&cheap15:02
Ven so the code I just ran is NYI as well?15:02
ah, no, there's no $15:02
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 joined15:04
Ven huh.15:04
m: my int $b = 0; my int \a = $b;15:04
camelia rakudo-moar 240b9a: OUTPUT«Type check failed in binding; expected int but got Int␤ in block <unit> at /tmp/j4smOQz31N:1␤␤»15:04
_nadim So .... where does the documentation go in a module? Half borked doc in the README.md won't do, right?15:04
glaukommatos joined15:04
Skarsnik _nadim, for now it's the most visible spot15:08
_nadim But is not good enough, I'd rather do the right thing now or I will get inthe habit of not writting docs15:08
pmurias joined15:09
glaukommatos left15:09
Skarsnik Probably a better thing is to write pod in the main module and extract the pod to generate a README.pod15:09
_nadim and how do we "build", "test", "dist" now?15:09
are there pod2xx modules?15:09
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 chain15:10
Skarsnik *pod15:10
_nadim is having cold sweats15:10
BooK _nadim: version 1.0 is not out and you want something that took at least 5 or 6 years to stabilize in perl 515:11
hankache left15:12
hankache joined15:12
hankache left15:12
Skarsnik We don't have a cpan like, so writing modules is very lax now15:12
_nadim BooK: are you serving me a "after Christmas"? packaging, testing, ... basic stuff15:12
pmurias is glad the Date.new "joke" is being removed15:12
BooK I'd serve it if I knew Perl 6 :-)15:13
jme` joined15:13
_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?15:13
BooK everything perl5+cpan have, only better15:14
_nadim BooK: I said basic ;)15:14
donaldh joined15:14
lichtkind joined15:14
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 it15:14
_nadim something to extract documentation and a tool to readit, ala perdoc, wouldn't hurt new comers15:15
dalek doc: 673864a | [email@hidden.address] | doc/Language/functions.pod:15:15
doc: Remove typo15:15
doc: review: https://github.com/perl6/doc/commit/673864ad2f15:15
doc: 3b1bb5a | (Zoffix Znet)++ | doc/Language/testing.pod:15:15
doc: Add actual code examples for like/unlike15:15
BooK what I like about cpan is that there's one canonical place to look for stuff15:15
github feels like a lesser evil, but definitely not a long term solution15:15
dalek joined15:15
ChanServ set mode: +v15:15
Skarsnik modules.perl6.org does it for now x)15:15
CIAvash joined15:15
_nadim it does, has anyone talked to the metacpan ppl?15:16
AlexDaniel m: my int @a[8]; say @a[3].WHAT15:16
camelia rakudo-moar 240b9a: OUTPUT«(Int)␤»15:16
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 no15:18
_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.15:18
Skarsnik NC will need a CArray[int]15:18
moritz _nadim: perl6 -Ilib t/your-test.t15:18
_nadim: PERL6LIB=lib prove -e perl6 t/15:19
Ven Skarsnik: so, size of the natively typed array "only" gives contiguous memory guarantee?15:19
_nadim p5 prove?15:19
moritz _nadim: yes (though a p6 prove is being worked on)15:20
leont++15:20
_nadim Has someone taken on himself all those nasty management questions?15:20
moritz but the protocol is the same15:20
Skarsnik Ven, no idea, NC is quite... weird x)15:20
moritz _nadim: not yet. THanks for volunteering!15:20
Skarsnik A big step will be a more complete doc about writing modules :)15:21
_nadim I may, BooK will help me, I vonlonteer him15:21
csd_ joined15:21
BooK I first need to write my first module15:21
RabidGravy lucasb++, added documentation for C<@> and C<%> anon variables as well, that's probably what killed dalek15:21
_nadim that's what I am doing right now too15:21
BooK so you're already ahead of me!15:21
Skarsnik for now it's mainly "look at other modules"15:21
Ven moritz: not sure how to get a post as "preview" on wordpress?15:21
okay, found it15:22
moritz Ven: you press the "preview" button :-)15:22
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.15:22
Ven moritz: can you give me your input on https://perl6advent.wordpress.com/?p=3504&preview=true&iframe=true ?15:22
moritz Ven: subject should start with "Day $n - "15:22
_nadim BooK: let's talk a bit later, maybe I can get you to do something for once ;)15:22
Ven moritz: it doesn't have a day yet :P15:22
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 link15:23
BooK I have a micro-hackathon (4 hours) planned for Friday evening15:23
jnthn I'm really happy people already are doing a great amount of work on our documentation, module ecosystem, and so forth.15:23
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?15:24
Ven moritz: done15:24
moritz Ven: IMHO it needs some kind of punch line15:24
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.15:25
Ven :(*15:25
jnthn But I'm under no illusion that we'll still have lots and lots to do in that area.15:25
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"15:25
moritz Ven: for example, doing the math about how much storage my int @a[4;4] vs. normal arrays use, ,or something15:25
_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 NSA15:26
lucasb Thanks for writing those docs, RabidGravy++ :)15:26
jnthn _nadim: I'm glad; I wasn't addressing you in particular, just a general sentiment that I've seen.15:26
xpen left15:27
virtualsue left15:27
_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 :-)15:28
lucs In the REPL, can I force "use My:InDevelopment::Module" to load again?15:28
RabidGravy jnthn, I still think we should aim for the 500 modules in the ecosystem, just *because* ;-)15:29
jnthn RabidGravy: Works for me ;-)15:29
Skarsnik lol15:29
_nadim RabidGravy: how many are they right now? not that it matters.15:29
Skarsnik around 47015:29
Ven moritz: ah, yeah. int is int8 on 64-bit machines, right? so I can just do 4*4*8 bytes :P15:30
_nadim easy!15:30
Skarsnik int is int64?15:30
zakharyas joined15:30
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 S0915:31
RabidGravy 474 in the META.list15:31
AlexDaniel thinks that we should not pollute our module directory with bullshit15:31
zengargoyle good * #perl615:31
jnthn (And it's not actually a Rakudo thing, more a consequene of he underlying VMs)15:31
RabidGravy so #perl6++ doing good15:31
jnthn *the15:31
Skarsnik Oh it's something I should add in my nc::typediag, not accept int in cnative stuff15:32
AlexDaniel in fact, we've just seen how one module was removed. And that's good!15:32
AlexDaniel left15:33
zengargoyle is the %?RESOURCES thing back to a point where it should possibly work?15:33
lucasb left15:34
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 week15:34
zengargoyle, yes15:34
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 yesterday15:35
dalek rakudo/nom: c60f405 | lizmat++ | src/core/Temporal.pm:15:35
rakudo/nom: Make Date.new an exception15:35
rakudo/nom:15:35
rakudo/nom: Christmas has come. Mention Date.today, and the new Date.new("Christmas")15:35
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c60f40513315:35
rakudo/nom: 9476601 | lizmat++ | src/core/ (2 files):15:35
rakudo/nom: Add .Date/.DateTime coercers to Instant15:35
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9476601bb415:35
zengargoyle extra cool, code pilfering sources15:35
Ven lizmat: you didn't mention Date.new('christmas')?15:36
dalek rakudo/fix-multi-binary-dists: 06a7c74 | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:15:36
rakudo/fix-multi-binary-dists: Use distribution's name to find binary resources15:36
rakudo/fix-multi-binary-dists:15:36
rakudo/fix-multi-binary-dists: Currently, when a distribution has binary/script files, we install them15:36
rakudo/fix-multi-binary-dists: as resources owned by the distribution, as well as wrapper scripts that15:36
rakudo/fix-multi-binary-dists: the shell can find via PATH that use the CompUnit API to dispatch to15:36
rakudo/fix-multi-binary-dists: the corresponding resource.15:36
rakudo/fix-multi-binary-dists:15:36
rakudo/fix-multi-binary-dists: Some distributions install multiple binaries; for example, panda15:36
rakudo/fix-multi-binary-dists: installs panda, panda-build, panda-test, etc. The wrapper scripts15:36
rakudo/fix-multi-binary-dists: currently use the basename of the wrapper script to locate the15:36
rakudo/fix-multi-binary-dists: distribution that contains the corresponding binary resource, rather15:36
rakudo/fix-multi-binary-dists: than the name of the distribution that binary is a part of.15:36
rakudo/fix-multi-binary-dists:15:37
rakudo/fix-multi-binary-dists: This change makes wrapper scripts use the distribution name to find dist15:37
rakudo/fix-multi-binary-dists: metadata, which will then be used to locate the resource for the actual15:37
rakudo/fix-multi-binary-dists: binary.15:37
rakudo/fix-multi-binary-dists: review: https://github.com/rakudo/rakudo/commit/06a7c74c5715:37
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.15:37
lizmat well, my original commit did, then it conflicted with moritz's and then I gave up15:37
jnthn Ven: That's on Moar. On JVM, not totally sure :)15:37
Ven jnthn: that's fine by me :)15:38
dj_goku m: say 115:39
camelia rakudo-moar 240b9a: OUTPUT«1␤»15:39
Skarsnik m: 'use NativeCall; my $a = "NativeCall", say ${"$a::EXPORT::DEFAULT::"}.keys;15:39
camelia rakudo-moar 240b9a: OUTPUT«=== SORRY!=== Error while compiling /tmp/5rThkhPI92␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/5rThkhPI92:1␤------> l", say ${"$a::EXPORT::DEFAULT::"}.keys; <EOL> ␤ expecting any of:␤ sing…»15:39
Skarsnik m: use NativeCall; my $a = "NativeCall", say ${"$a::EXPORT::DEFAULT::"}.keys;15:40
camelia rakudo-moar 240b9a: OUTPUT«0..0␤»15:40
Skarsnik hm15:40
Ven jnthn: okay, so int[2;4] is 64+64+64 bytes15:41
jnthn 2 * 4 * 8 + overhead15:41
And yeah, you got the overhead right I think15:41
Ven jnthn: I meant 64 for values, and 64+64 for the overhead you described15:42
jnthn oh wait, I screwed up that overhead totally :P15:42
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. :)15:43
Ven ah, okay.15:43
Juerd Perl 5 is hard. Or, well, remembering to type -> instead of . is.15:43
Skarsnik I don't get how to access a variable with her name ~~15:44
Juerd m: now.Date15:44
camelia rakudo-moar 240b9a: OUTPUT«Method 'Date' not found for invocant of class 'Instant'␤ in block <unit> at /tmp/PRsjusBRN5:1␤␤»15:44
Ven moritz: added the informations jnthn++ gave me :)15:44
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␤␤»15:46
geekosaur right, don't think that does lexicals15:46
ilmari m: my $foo = 'bar'; my $x = '$foo'; say ::($x)15:46
camelia rakudo-moar 240b9a: OUTPUT«bar␤»15:46
dj_goku m: Date.new()15:46
camelia rakudo-moar 240b9a: ( no output )15:46
ilmari geekosaur: the sigil is part of the name15:46
dj_goku m: say Date.new()15:46
camelia rakudo-moar 240b9a: OUTPUT«2015-12-24␤»15:46
zacts joined15:46
cygx joined15:46
cygx o/15:46
yoleaux 7 Dec 2015 01:42Z <japhb> cygx: Looks to me like you fixed it, thanks!15:46
cygx m: sub foo { { die "xxx"; CATCH { fail $_ } } }; foo() or say 4215:47
camelia rakudo-moar 240b9a: OUTPUT«42␤»15:47
cygx m: sub foo { try { die "xxx"; CATCH { fail $_ } } }; foo() or say 4215:47
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␤␤»15:47
geekosaur p5think, sorry :/15:47
zactsGuest2443215:47
geekosaur anyway Skarsnik was that what you meant?15:47
cygx ^ is that supposed to happen?15:47
cognominal joined15:47
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 https://perl6advent.wordpress.com/?p=3504&preview=true&iframe=true ?15:49
[Coke] (Date.new) -1 on this still returning Christmas.15:50
Skarsnik hm15:50
use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("$a::EXPORT::DEFAULT::").keys.elems;15:51
Guest24432 left15:51
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␤␤»15:51
dj_goku m: {die "xxx"; CATCH { default { say $_.Str } }}15:51
camelia rakudo-moar 947660: OUTPUT«xxx␤»15:51
dj_goku cygx: do you want something like that? ^^15:51
khw joined15:52
dj_goku m: {die "xxx"; CATCH { default { say .Str } }}15:52
camelia rakudo-moar 947660: OUTPUT«xxx␤»15:52
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.signature15:52
camelia rakudo-moar 947660: OUTPUT«f ok␤g ok␤False␤False␤»15:52
dj_goku m: {die "xxx"; CATCH { default { .Str.say } }}15:52
camelia rakudo-moar 947660: OUTPUT«xxx␤»15:52
Skarsnik m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems;15:52
cygx dj_goku: I was wondering why adding the try makes the exception blow up15:52
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␤␤»15:52
psch yeah, somewhere there is that Signature.ACCEPTS(Signature) bug... :/15:52
Skarsnik why that fails, NC export stuff like nativesizeof15:53
dj_goku cygx: do you need a try though?15:53
vividsnow left15:53
psch m: say :(Int :$a) ~~ :(Int :$a)15:53
camelia rakudo-moar 947660: OUTPUT«True␤»15:53
cygx dj_goku: I'm interested in why it happens, and if it's supposed to happen15:53
psch m: say :(Int :$a, *%_) ~~ :(Int :$a, *%_)15:54
camelia rakudo-moar 947660: OUTPUT«False␤»15:54
lucs Is there something like P5's "do 'somefile'"?15:54
[Coke] also, -1 on shipping a christmas release -with deprecations in it-15:54
lucs (I want to use it in the REPL, so I can quit it, and 'use' my devel modules again.)15:54
cygx lucs: not sure, EVALFILE perhaps?15:55
jnthn Ven: "We can very easily the size necessary to store the elements for"15:55
ugexe i wouldnt mind an easter egg deprecation on `use CGI;`15:55
jnthn You accidentally out a verb? :)15:55
Ven thanks15:55
lucs cygx: Aha, I'll look that up, thanks.15:55
dj_goku cygx: http://doc.perl6.org/language/exceptions#Catching_exceptions15:55
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 container15:56
lucasb joined15:56
zacts|pi joined15:56
jnthn @a[0]++ # damn, that *should* work..15:56
Wonder why on earth it doesn't...15:56
dj_goku cygx: searching doc.perl6.org I can't find try :( I know it is there.15:56
lizmat [Coke] Indeed, that's why my plan was to make Date.new die *now*15:56
Ven that's poorly worded, though..15:56
jnthn: no container? :P15:57
jnthn No, it's 'cus I didn't implemnet the multi-dim native refs yet :(15:57
D'oh15:57
Ven ah, oke15:57
jnthn I think that'll be fixed before 6.c15:57
[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
lostinfog joined15:59
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 now15:59
for now, I would say, use "now.Date" or "now.DateTime" instead15:59
lucasb Can we have a candidate Date.new('lucas') that outputs my birthday?15:59
just kidding :)16:00
[Coke] crap, there was a bisect going on in my daily roast run directory for no reason I can see.16:00
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") # lucasb16:01
camelia rakudo-moar 947660: OUTPUT«2015-01-01␤»16:01
vividsnow joined16:03
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.today16:05
yakudza left16:05
RabidGravy [Coke], that'll be the naughty bisecting fairies16:06
vividsnow left16:07
sufrostico joined16:08
donaldh left16:08
rindolf joined16:10
dalek doc: b9750d2 | RabidGravy++ | doc/Language/variables.pod:16:12
doc: Add %?RESOURCES16:12
doc: review: https://github.com/perl6/doc/commit/b9750d29b316:12
RabidGravy decided it was a documentation day16:12
ajs_ joined16:13
Skarsnik nice :)16:15
RabidGravy It's not quite as stated in s22 but I think we can all live with that16: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
kaare_ left16:23
RabidGravy I think it does support a separator, just not ':'16:23
_nadim RabidGravy++ for the documentation day16:23
kaare_ joined16:23
zacts|pizacts16:24
hoelzro .botsnack16:25
yoleaux :D16:25
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.16:25
hoelzro o/ #perl616:25
_nadim: I think it's , now16:25
[Coke] (bisect) UGH wrong machine. :)16:25
hoelzro so PERL6LIB=lib,t16:25
[Coke] wonders why we ended up with a comma there.16:25
spaceships joined16:26
donaldh joined16:26
_nadim wonders too16:26
[Coke] that said, we're still missing several days of commits from my daily runs. run in progress now, hopefully that'll stick.16:26
_nadim hoelzro: it is comma, thank you :916:27
hoelzro I also wonder16:28
if people have time, could they sanity check my CURLI fix? https://github.com/rakudo/rakudo/pull/625 (cc: nine)16:28
xpen joined16:28
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 OS16:28
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_ joined16:29
geekosaur ut then you need to deal with a different separator on windows16:29
RabidGravy lucasb, but then you'd have to special case e.g. Windows C:/stuff/lib16:29
Skarsnik why not ; ?16:30
AlexDaniel joined16:30
lucasb indeed, I almost never consider windows :) idk how other tools handle the path env var idiom with regard to ":" vs ";" in windows16:31
pmurias left16:32
xpen left16:33
ajs_ Rakudo BUILDALL parameter behavior really boggling me at: https://gist.github.com/anonymous/80e3ad83226dd936865e16:36
RabidGravy wonders idly whether there should be a .path-separator in $*SPEC16:36
ajs_ Shouldn't that |c.hash return the {...} part of |c which are the named args? It seems to return an empty Map16:38
Ven left16:38
psch m: say :(*%_) ~~ :(Int :$x, *%_) # i think this is also bugged..?16:42
camelia rakudo-moar 947660: OUTPUT«False␤»16:42
tadzik timotimo: oh, I thought it's "men" for gender-neutral and "man" for male :|16:42
psch but we're testing for False for that case...16:42
hrm16: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 yet16:43
psch i keep mixing up the semantics for Signature.ACCEPTS(Signature) :/16:43
lizmat .oO( we are all Devo )16:44
kyclark joined16:44
cygx https://github.com/rakudo/rakudo/pull/62616:44
psch &a.signature ~~ &b.signature means '&b accepts at least all Captures &a accepts'..?16:45
m: say :(Int $x, *%_) ~~ :(*%_)16:45
camelia rakudo-moar 947660: OUTPUT«False␤»16:45
Skarsnik timotimo, oh, it look interesting16:45
psch well, one of those two has to work i think :S16:46
kyclark I'd like to understand the "so" operator: http://lpaste.net/14669816:46
lizmat cygx: how is that holding up with the spectest?16:46
cygx lizmat: I'll write a test for it, then I can do a run16:47
I have no idea what my baseline is, though...16:47
lizmat m: say ?(2 == <1 2 3>.any) # kyclark16:47
camelia rakudo-moar 947660: OUTPUT«True␤»16:47
lizmat kyclark: aka a lower precedence version of prefix ?16:47
kyclark It just forces a (Bool)?16:48
psch kyclark: Bool coercion collapses Junctions into a single Bool value, yes16:48
moritz kyclark: http://doc.perl6.org/language/faq#What_is_so%3F16:48
lizmat m: say ?(2 == <1 2 3>.all) # kyclark16:48
camelia rakudo-moar 947660: OUTPUT«False␤»16:48
kyclark lizmat, that helps16:48
Is there a mnemonic for "so"? Is it short for something?16:48
ChristopherBotto kyclark: Imagine an argument between children: is not! is so! is not! is so!16:49
n0tjack joined16:49
ChristopherBotto kyclark: It is just the opposite of not16:50
lizmat kyclark: well, that is "so True" :-)16:50
hankache joined16:51
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 Routine16:52
kyclark Ah, please tell me how!16:53
psch well, Block, actually, but Routine isa Block16:53
AlexDaniel kyclark: you can also look at the docs http://doc.perl6.org/routine/so16:53
Skarsnik m: say so.^.perl16:53
camelia rakudo-moar 947660: OUTPUT«=== SORRY!=== Error while compiling /tmp/SZ5tnwQ_Xy␤Prefix so requires an argument, but no valid term found␤at /tmp/SZ5tnwQ_Xy:1␤------> say so.^ .perl ␤ expecting any of:␤ dotty method or postfix␤»16:53
lucasb kyclark: I can call .WHAT on some value to know what it is, but idk if it's just what you asked :)16:53
*you can call...16:53
geekosaur you missed a method name for the metaclass16:53
lizmat m: say &so.WHAT16:53
camelia rakudo-moar 947660: OUTPUT«(Sub)␤»16:53
psch m: say &so.candidates # all the signatures for all candidates16:54
camelia rakudo-moar 947660: OUTPUT«(sub so (Mu $x) { #`(Sub|57004728) ... })␤»16:54
psch 'cause you might get the Signature for the proto or something otherwise, which might not be helpful16:54
m: say &so.signature # this is a bit interesting though...16:54
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»16:54
lolisa joined16:55
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?16:55
hoelzro kyclark: you could use rlwrap16:55
or install Linenoise16:55
MadcapJake: I think to add a command line switch, you'll need to look at src/main.nqp16:55
psch m: multi f(Int $x) returns Bool { }; say &f.candidates16:55
camelia rakudo-moar 947660: OUTPUT«(sub f (Int $x --> Bool) { #`(Sub+{Callable[Bool]}|73246352) ... })␤»16:55
psch Skarsnik: it does, but &so doesn't declare a return type16:55
AlexDaniel oh16:56
ChristopherBotto keyclark: It's like !! in Perl 5 (see my question about '!!' at http://stackoverflow.com/questions/2168406)16:56
AlexDaniel we need a prefix16:56
Skarsnik oh yeah, most of core stuff is not typed x)16:56
AlexDaniel m: .say for &prefix:<so>.candidates16:56
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) ... }␤»16:56
ChristopherBotto m: so !! True;16:56
camelia rakudo-moar 947660: OUTPUT«WARNINGS:␤Useless use of "so " in expression "so !" in sink context (line 1)␤»16:56
psch AlexDaniel++16:56
ChristopherBotto m: True;16:56
camelia rakudo-moar 947660: ( no output )16:56
ChristopherBotto m: say !! True;16:57
camelia rakudo-moar 947660: OUTPUT«=== SORRY!=== Error while compiling /tmp/oQHn8tZcnT␤Two terms in a row␤at /tmp/oQHn8tZcnT:1␤------> say !! True; ␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statem…»16:57
psch wasn't sure it was a prefix, tried the sub form first and it worked... although that probably dispatches to the categorial :)16:57
ChristopherBotto m: say so True;16:57
camelia rakudo-moar 947660: OUTPUT«True␤»16:57
AlexDaniel psch: any idea how can I see the return type?16:57
ChristopherBotto m: say so '';16:57
camelia rakudo-moar 947660: OUTPUT«False␤»16:57
ChristopherBotto m: say so '0';16:57
camelia rakudo-moar 947660: OUTPUT«True␤»16:57
psch AlexDaniel: prefix:<so> doesn't declare a return type16:57
m: multi f(Int $x) returns Bool { }; say &f.returns # this is the general case16:58
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»16:58
psch m: multi f(Int $x) returns Bool { }; say &f.candidates>>.returns # *this* is the general case16:58
camelia rakudo-moar 947660: OUTPUT«((Bool))␤»16:58
lucasb left16:58
molaf joined16:58
ChristopherBotto m: say so Mu;16:58
camelia rakudo-moar 947660: OUTPUT«False␤»16:58
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␤»16:59
ChristopherBotto m: Mu.Str.say;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/58Hr3mVPOn:1␤␤»16:59
ChristopherBotto m: Mu.say;17:00
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»17:00
ChristopherBotto m: say Mu;17:00
camelia rakudo-moar 947660: OUTPUT«(Mu)␤»17:00
AlexDaniel psch: okay, it looks like you are right17:00
[Coke] You can also send camelia private messages, btw.17:00
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 http://doc.perl6.org/routine/so17:01
lucs: META.info for sure, travis not required but recommended17:01
Skarsnik lucs, try mi6 it look nice :)17:01
lucs AlexDaniel: Okay, thanks.17:02
Skarsnik: mi6?17:02
Skarsnik https://github.com/shoichikaji/mi617:02
lucs Okay, will look, thanks :)17:02
Skarsnik Something intesting could be to force travis to rebuild the ecosystem when doing a new release of rakudo17: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 them17:03
Ven joined17:03
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>.candidates17:04
camelia rakudo-moar 947660: OUTPUT«=== SORRY!=== Error while compiling /tmp/_48p5kTCmo␤Undeclared routine:␤ prefix:<if> used at line 1. Did you mean 'prefix:<~>', 'prefix:<->', 'prefix:<so>', 'prefix:<+>', 'prefix:<!>'?␤␤»17:04
rurban left17:05
pmurias_ left17:06
hoelzro MadcapJake: you'll need to edit src/main.nqp to add the flag, and edit Perl6::Compiler again to implement it17:07
zactsacts17:08
actszacts17:08
RabidGravy Skarsnik, I'm not sure if there is a way to get a github webhook from a third party repository17:09
but would be cool yes17:09
ChristopherBotto [Coke]: How do you message camelia privately tried several variations of "/msg m: say so True;"17:09
RabidGravy it appears the bot doesn't respond to privmsg17:10
ChristopherBotto s/privately tried/privately? I tried/17:10
dj_goku ChristopherBotto: /msg camelia p6: say True?17:10
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?17:10
hoelzro nine: role punning?17:11
dj_goku ChristopherBotto: are you registered and identified?17:11
ChristopherBotto dj_goku: Oh, it opens up a new tab! Thanks!17:11
dj_goku ChristopherBotto: lol no problem.17:11
RabidGravy oh so it does17:12
dj_goku in irssi it does that.17:12
nine hoelzro: I guess no. Those objects have nothing in common17:12
hoelzro =/17:12
that's the only thing I've seen that does something like that17:12
joeschome joined17:12
dalek rakudo/nom: fbba428 | cygx++ | src/core/IO/Handle.pm:17:13
rakudo/nom: make IO::Handle.open fail when nqp::open dies17:13
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fbba428d2b17:13
rakudo/nom: d3e89a5 | lizmat++ | src/core/IO/Handle.pm:17:13
rakudo/nom: Merge pull request #626 from cygx/open-fail17:13
rakudo/nom:17:13
rakudo/nom: make IO::Handle.open fail when nqp::open dies17:13
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d3e89a528d17:13
joeschome Hello17:13
AlexDaniel hi!17:13
RabidGravy nine, does anything do callwith in there?17:13
ChristopherBotto Here's how private messaging camelia works, in case anyone is wondering (just don't leave any spaces at the beginning):17:13
/msg camelia m: say so True17:13
joeschome I am thinking of learning Rust & Perl6; do you think the two will work together well?17:14
AlexDaniel you can also /notice camelia17:14
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 stack17:15
lucs p6doc still uses @*INC ? :(17:16
AlexDaniel joeschome: what do you mean by “will work together well”?17:16
joeschome So what im thinnking is Rust would be good for low level and perl for more abstract17:16
RabidGravy If Rust can make dynamic libraries it might work, though it doesn't appear to do anything Perl 6 can't17:17
joeschome So maybe network concurancy and memory management in rust and string and file parsing in perl17:18
dj_goku joeschome: I would suggest just trying both.17:18
marchelzo joined17:18
marchelzo hi17: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!17:18
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 sure17:18
marchelzo: hello!17:19
nine I really start to suspect that there's a rakudobug to be found here17:19
marchelzo is the MoarVM startup time going to get significantly faster, or is it bound to be slow?17:19
AlexDaniel marchelzo: how slow it is for you?17:19
tadzik hm, I honestly find it quite fast. How slow is it for you, and how do you measure it?17:19
n0tjack left17:19
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 engine17: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.17:20
AlexDaniel marchelzo: look17:20
m: say 'hello world'17:21
camelia rakudo-moar 947660: OUTPUT«hello world␤»17:21
nine marchelzo: it's about 100ms here17:21
dj_goku joeschome: doesn't perl6 have some type safety built in?17:21
psch marchelzo: where'd you read MVM is slower than the JVM?17:21
marchelzo Hmm... has it improved a lot recently?17:21
dj_goku m: my Int $i = 'str';17:21
camelia rakudo-moar 947660: OUTPUT«Type check failed in assignment to $i; expected Int but got Str␤ in block <unit> at /tmp/YqvjM7FyMO:1␤␤»17:21
tadzik marchelzo: oh, you do read reddit, don't you? :)17:21
AlexDaniel j: say 'hello world'17:21
tadzik I saw that comment too, and contested it17:21
camelia rakudo-jvm 6c0f93: OUTPUT«hello world␤»17:21
joeschome Im sure it does so that brings me to my next question is perl6 better at systems programing that perl517:21
tadzik moarvm has always been MASSIVELY faster at startup than jvm17:21
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 joined17:22
dj_goku joeschome: it is what you make it.17:22
marchelzo I originially read it in this comment: https://www.reddit.com/r/programming/comments/3uks4r/perl_6_introduction/cxfs7gq17:22
But it looks like the author has editited it.17:22
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 module17:23
nine joeschome: define systems programming17:23
dj_goku joeschome: what do you mean by systems programming?17:23
tadzik it still is with precomp and with a lot of modules17:23
well, slower :)17:24
marchelzo so what is rakudo? the compiler? it can emit jvm bytecode or moarvm bytecode?17:24
tadzik yes17:24
Skarsnik well I still hve a version without precomp and it's like 10-20 sec per launch with 4-5 modules xD17:24
nine tadzik: now it takes some time to load a lot of modules. Previously it took lots of time with just having modules installed17:24
tadzik oh, yes17:24
correct17:24
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 https://github.com/tadzik/JSON-Unmarshal/pull/14 - I RT'd the cause but it may not get resolved very soon :)17:25
tadzik oh, oh17:25
absolutely :)17:26
I should just add you to that project17:26
RabidGravy cool, I'd like to encourage people to use Test::META which depends on it17:26
:-*17:26
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 me17:27
RabidGravy sounds fabulous :)17:27
jnthn Though I'd probably drop the second ::17:27
ChristopherBotto marchelzo: I'd recommend getting Rakudo Star here: http://rakudo.org/downloads/star17:28
jnthn Because the Registry is not a type of CompUnit::Repository17:28
nine jnthn: err...I actually meant RepositoryRegistry :)17:28
lizmat nine: fine by me17:28
jnthn hah! :)17:28
nine++ # API design taste :)17:28
joeschome Lets say i want to make a IRC clieant GUI and all or a Podatcher17:28
nine is on the backseat of a car on the way to a Nightwish concert in Vienna :)17:28
jnthn Damn, nice!17:28
jnthn never saw Nightwish yet17:28
jnthn Should fix that some day :)17:28
Skarsnik Should I add support for .desktop format and windows registery in most wanted modules? x)17:29
nine jnthn: oh yes :)17:29
Skarsnik Could be useful to have perl6 that integrate well with a system17:29
+app17:29
psch m: :($).perl.say; :($).gist.say17:29
camelia rakudo-moar 947660: OUTPUT«:($)␤($)␤»17:29
dj_goku joeschome: well there is this: https://github.com/zoffixznet/perl6-IRC-Client and this https://github.com/perl6/gtk-simple17:29
AlexDaniel joeschome: that's not going to be too hard17:30
joeschome: just what dj_goku said17:30
dj_goku joeschome: http://modules.perl6.org/dist/Syndication17:30
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/4717:31
joeschome Personaly i love the syntax of perl17:31
RabidGravy Skarsnik, I started working up the freedesktop.org XDG spec but got blocked and only release the XDG::BaseDirectory17:31
dj_goku joeschome: well it sounds like you have your answer. :D17:31
joeschome Yeah17:31
Skarsnik oh it's called xdg? I looked a bit to the format it look like .ini17: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?17:32
RabidGravy well it is an .ini type file yes, but the contents thereof are part of the XDG spec17:32
psch m: :($, $, $).gist.say17:33
camelia rakudo-moar d3e89a: OUTPUT«($,,)␤»17:33
psch m: :($, $).gist.say17:33
camelia rakudo-moar d3e89a: OUTPUT«($,)␤»17:33
ChristopherBotto marchelzo: Then try out the old Perl6 Advent Calendar posts: https://perl6advent.wordpress.com/2009/12/01/perl-6-advent-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.17:33
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 unix17:34
joeschome So any idea when the perl6 "butterfly book" comes out; it looks like im going to need to buy it17:34
marchelzo ChristopherBotto: thanks. checking.17:34
ajs_ m: class Foo { method BUILDALL(|) { callsame; "Applesauce" } }; say Foo.new().perl17:34
camelia rakudo-moar d3e89a: OUTPUT«"Applesauce"␤»17:34
dalek roast: b478eae | cygx++ | S32-io/open.t:17:35
roast: test default open mode, including failure to open nonexistent files17:35
roast: review: https://github.com/perl6/roast/commit/b478eaec3217:35
roast: c745f18 | RabidGravy++ | S32-io/open.t:17:35
roast: Merge pull request #84 from cygx/default-open17:35
roast:17:35
roast: test default open mode, including failure to open nonexistent files17:35
roast: review: https://github.com/perl6/roast/commit/c745f1861017:35
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 Yeah17:38
Do you think i should buy the older rakudo book? or is it too outdated https://www.google.com/search?q=perl6+book&rlz=1C1DVCJ_enUS492US492&oq=perl6+book&aqs=chrome.0.69i59j0l3j69i60l2.1511j0j7&sourceid=chrome&es_sm=93&ie=UTF-8#q=perl6+book&tbm=shop&spd=1397246010293077988617: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 all17:39
lolisa left17:40
moritz joeschome: no17:41
joeschome no its not too outdated17:41
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 course17:42
hoe where can I find it?17:43
hoelzro nine: thanks! it's here: https://github.com/rakudo/rakudo/pull/62517:43
|Tux| $ panda install Inline::Perl5 is still borked17:43
RabidGravy hoelzro++ # I'd love you long time for fixing those17:44
nine |Tux|: if it's due to v6.t failing, that's where I found my strange self/SELF problems described above17:44
RabidGravy also the script wrappers seem to be similarly afflicted but I guess it's the same fix17:44
|Tux| ah17:44
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 support17:45
RabidGravy joeschome, may take would be on waiting until a book comes out after the "Christmas release"17:45
|Tux| still not perfect, but for now I am quite happy17:45
hoelzro |Tux|++17:45
feel free to submit a PR!17:45
n0tjack joined17:45
|Tux| again, feel free to steal and improve or do PR's17:46
hoelzro if my change to rakudo is sane, I can start testing it again =)17:46
joeschome Ok untill then the Docs page is pretty good17:46
AlexDaniel joeschome: hmmm 06/10/200317:46
RabidGravy yeah, people working to get it at least somewhat sane17:46
|Tux| hoelzro, I'll keep the option to do PR's for your work open. If only time would permit …17:46
nine hoelzro: nice catch!17:46
AlexDaniel joeschome: “This book covers the development not only of Perl 6 syntax but also Parrot” heh17:47
hoelzro nine: thanks! is that a blessing to push to nom?17:47
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 merge17:48
hoelzro |Tux|: I'll have a look at your changes, see if I can fold them in17:48
\o/17:48
thanks for taking the time to review17:48
|Tux| thumbs up17:48
|Tux| => $home17:48
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.17:48
marchelzo is 'say t.fmt;' always the same as 'say t;'?17:48
nine jnthn: I don't see why we would run a require during stage parse17:49
dalek rakudo/nom: 2f0d38a | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:17:49
rakudo/nom: Use distribution's name to find binary resources17:49
rakudo/nom:17:49
rakudo/nom: Currently, when a distribution has binary/script files, we install them17:49
rakudo/nom: as resources owned by the distribution, as well as wrapper scripts that17:49
rakudo/nom: the shell can find via PATH that use the CompUnit API to dispatch to17:49
rakudo/nom: the corresponding resource.17:49
rakudo/nom:17:49
rakudo/nom: Some distributions install multiple binaries; for example, panda17:49
rakudo/nom: installs panda, panda-build, panda-test, etc. The wrapper scripts17:49
rakudo/nom: currently use the basename of the wrapper script to locate the17:49
rakudo/nom: distribution that contains the corresponding binary resource, rather17:49
rakudo/nom: than the name of the distribution that binary is a part of.17:49
rakudo/nom:17:49
rakudo/nom: This change makes wrapper scripts use the distribution name to find dist17:49
rakudo/nom: metadata, which will then be used to locate the resource for the actual17:49
rakudo/nom: binary.17:49
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2f0d38ad9717:49
marchelzo never mind, I answered my own question17:49
timotimo hoelzro++17:49
RabidGravy marchelzo, no:17:50
ZoffixW joined17:50
ZoffixW left17:50
RabidGravy m: say DateTime.now.fmt17:50
camelia rakudo-moar d3e89a: OUTPUT«Method 'fmt' not found for invocant of class 'DateTime'␤ in block <unit> at /tmp/1_tKTsQA0u:1␤␤»17:50
Skarsnik m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems;17:50
RabidGravy m: say DateTime.now17: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␤␤»17:51
rakudo-moar d3e89a: OUTPUT«2015-12-08T18:51:03+01:00␤»17:51
joeschome It's settled: Im going to learn Perl6 first then if I feel i need it ill learn some rust17:51
psch is there a reason for Signature.gist not to "promote" variable-less type constraints to anonymous scalars?17:51
RabidGravy joeschome++ # wise choice17:51
psch as in, gist :(Str, Int) as < (Str $, Int $) >17:51
jnthn nine: Yeah, I'm surprised it's needed so early...17:51
dinner &17:51
Ven left17:51
Skarsnik hm why this does not work for NC, I use for another module to grab all the exported stuff it work Oo17:51
psch 'cause untyped anons disappear currently, which seems really weird to fix without always printing a $...17:52
hankache https://perl6advent.wordpress.com/2010/12/24/17:52
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 left17:52
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 candidate17:53
yoleaux nine: I'll pass your message to jnthn.17:53
AlexDaniel joeschome: by the way, do you have any previous programming experience?17:54
joeschome a tiny bit of perl517:54
it was fun17:54
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)17:54
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.17:55
hankache Camelia will suck the brains of unrepentant grinches. I f*cking like this line17:55
AlexDaniel marchelzo: $object.^methods17:55
dj_goku marchelzo: I was wondering the same too.17:55
AlexDaniel m: .say for 5.^methods17:55
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…»17:55
dj_goku marchelzo: object.? in ipython is nice17:55
marchelzo AlexDaniel: how does .^ relate to .?17:56
AlexDaniel marchelzo: and also .WHAT is extremely helpful17:56
cygx RabidGravy: sure, merging the PR was fine17:56
I would have done so myself, but I'm currently other wise occupied17:56
AlexDaniel marchelzo: http://design.perl6.org/S12.html#Introspection17:57
cygx .oO( too budy to press a ginle button oO )17:57
*busy17:57
joeschome I think someone said you can do gtk in perl617:57
Im mainly a BSD/LINUX guy so thats fine with me17:58
Skarsnik well you can use a part of gtk x)17:58
marchelzo so, 'flat' basically forces an iterator/generator to produce a list? like list() in python.17:58
xtreak joined17:59
joeschome so what would you recomend for the GUI part17:59
Skarsnik It the only thing available in perl6 for now so... gtk x)17:59
dj_goku I have always wanted to write C++/Qt, but would be neat to do Perl6/Qt17:59
timotimo i want that, too. but at the moment we have to go via Inline::Python to get Qt18:00
Skarsnik Well feel free to write the smoke generator/binding18:00
smoke is the tool used to generate C#, python/ruby/perl5 binding18:01
for Qt18:01
dj_goku timotimo: yeah I wondered if that is how we go it. wondereed how hard it would be to build an app.18:01
timotimo Skarsnik: smoke is not used to create python bindings18:02
Skarsnik: PyQt has SIP, PySide has Shiboken aka ApiExtractor/GeneratorRunner18:02
dj_goku https://techbase.kde.org/Development/Languages/Smoke for anyone wondering what SMOCK is.18:02
lucs Folks, with current sources: panda warns, p6doc fails, the debugger fails.18:02
But that's okay, I'm patient.18:02
So I installed Rakudo Atar (-11)18:03
Its panda fails :(18:03
*Star18:03
[Coke] (not too old perl 6 and parrot essentials is out of date, do not purchase.18:03
sorry, that was supposed to be (not too old) ... Perl 6 and...18:03
don't get that book.18:04
marchelzo What's the most canonical way to convert something to a string? Just use .fmt?18:04
Like Int to Str for example.18:04
Skarsnik .Str18:04
[Coke] m: say ~34.WHAT18:04
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␤␤»18:04
Skarsnik or nothing18:04
joeschome This is going to sound crazy but what about a ncurses style application?18:04
Skarsnik or just ~18:04
[Coke] m: say (~34).WHAT18:04
camelia rakudo-moar d3e89a: OUTPUT«(Str)␤»18:04
timotimo Rakudo Qatar18:04
dj_goku m: say 34.Str.WHAT18:04
camelia rakudo-moar d3e89a: OUTPUT«(Str)␤»18:04
lucs timotimo: I bet that fails too ;)18:04
dj_goku m: say 34.Str18:04
camelia rakudo-moar d3e89a: OUTPUT«34␤»18:04
RabidGravy joeschome, there is an NCurses module which works very well18:04
Hotkeys Rakudo Starfox18:04
marchelzo Skarsnik: Which way is the most common in Perl6 code?18:05
timotimo Lylakudo Wars18:05
joeschome I still use MC and Mp3blaster so a ncurses podcatcher in perl6 woudl be cool!18:05
[Coke] marchelzo: there's more than one way to do it.18:05
Skarsnik no idea. I came accross ~ or .Str18:05
[Coke] I personally would use ~ unless I had a compelling reason to explicitly call .Str18:05
Hotkeys There's more than one way to skin a cat18:06
Skarsnik http::ua like .Str18:06
marchelzo TMTOWTDI is still a thing in perl6?18:06
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.18:06
dj_goku marchelzo: why not?18:06
RabidGravy marchelzo, very much so18:06
xfix joined18:06
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 ;-)18:07
marchelzo I thought people agreed that 'There should be one-- and preferably only one --obvious way to do it.' was the better philosophy.18:07
nine .tell jnthn I can lookup CompUnit::RepositoryRegistry at runtime. Seems like a small price for getting rid of it in the BOOTSTRAP18:07
yoleaux nine: I'll pass your message to jnthn.18:07
Hotkeys Which people18:07
marchelzo People who bash perl5.18:07
RabidGravy lucs, there's a perfectly working module installer18:08
psch "people agreed that $this was the better philosophy" is probably false for any value of $this18:08
dwarring joined18:08
dj_goku marchelzo: I think that is the python.18:08
RabidGravy oh them18:08
nine arrived at Vienna and is off to Nightwish now. Back in a couple of hours.18:08
[Coke] posts a 1 star review of parrot & perl 6 book on amazon.18:08
dj_goku is currently paid to write python18:08
timotimo nine: have fun!18:08
lucs RabidGravy: I'm listening (current panda warns, but works, yes)18:08
Skarsnik have a nice concert nine18:08
nine thanks :)18:09
Hotkeys Python is lame thoufh18:09
dj_goku *shrug*18:09
JimmyZ jthn++, nine++ # RepositoryRegistry18:09
[Coke] "people that bash perl 5" and "people that work on perl 6" are two very distinct groups of people.18:09
timotimo jdu, välugj.H IGGÖ. S... damn18:09
Hotkeys For one it isn't perl 6 :p18:09
timotimo nah, python's good. lots of neat stuff to steal18:09
marchelzo dj_goku: it is18:09
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?18:09
RabidGravy lucs, that warning is somewhat lower level and will go away when someone works out how to replicate18:09
timotimo [Coke]: i bash perl5 sometimes18:09
dj_goku I wouldn't mind an awesome REPL like ipython in perl618:10
timotimo dj_goku: then help arnsholt out18:10
dj_goku: he's working on the iperl6 kernel18:10
marchelzo Which type is used to represent a list of Int? I tried <1 2 3>.WHAT and it says Parcel.18:10
[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.18:10
dj_goku timotimo: I have no idea where I would start. except at the beginning.18:10
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)18:10
[Coke] timotimo: Mostly distinct.18:10
El_Che dj_goku: :)18:10
marchelzo Like if I wanted to write a routine to sum a list of Ints, what should its argument's type be?18:10
[Coke] marchelzo: if you're getting parcel, you have an ANCIENT perl 6.18:10
timotimo dj_goku: the good thing is that there's some code you can work upon18:10
AlexDaniel marchelzo: it seems like your Perl 6 is old18:11
[Coke] marchelzo: what does perl6 -v say ?18:11
AlexDaniel m: say <1 2 3>.WHAT18:11
camelia rakudo-moar 2f0d38: OUTPUT«(List)␤»18:11
timotimo dj_goku: https://github.com/timo/iperl6kernel - have a look-see if you find it comprehensible18:11
marchelzo [Coke]: what? I _just_ built it from source.18:11
AlexDaniel marchelzo: it is List, as you might expect18:11
dj_goku I have a module idea I want to start/build first.18:11
[Coke] marchelzo: what does perl6 -v say?18:11
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?18:11
Skarsnik marchelzo, sub f(*@tab) (or just [+] if you want to sum a list)18:11
marchelzo I downloaded the .tar.gz for 2015.11 but perl6 -v says 2015.03.18:11
[Coke] I suspect you forgot to install and are running "perl6" instead of "./perl6"18:12
vividsnow joined18:12
dj_goku timotimo: oh great!18:12
marchelzo ah, I was running the perl6 in /usr/local/bin.18:12
AlexDaniel joeschome: it is 100% correct that you will learn by doing18:12
[Coke] or perhaps installed it somewhere else.18:12
marchelzo [Coke]: yeah, why doesn't make install put in in $PATH?18:12
put it in*18:12
ajs_ m: class Foo does Iterator { has @.a handles "pull-one"; }; say Foo.new.pull-one.perl18:12
camelia rakudo-moar 2f0d38: OUTPUT«===SORRY!===␤Method 'pull-one' must be implemented by Foo because it is required by a role␤»18:12
[Coke] you have to tell it where to install it.18:12
Skarsnik rakudobrew does not install system wide18:12
[Coke] there is a warning when you build.18:12
marchelzo ah, I'll just move it.18:12
Skarsnik that will not work probably18:13
marchelzo why?18:13
[Coke] perl Configure.pl --help will point you at --prefix, which is what you want.18:13
Skarsnik some path are hardcoded like panda if I remember correctly18:13
AlexDaniel marchelzo: so that you can install it in environments that you don't control18:13
[Coke] I would reconfigure with the correct --prefix and then install.18:13
marchelzo if I run into problems I will18:13
AlexDaniel marchelzo: ah sorry, thought that “why?” was about not installing system wide18: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. :D18:14
marchelzo so <1 2 3> has type List. Is there no type called 'List of Int'?18:14
timotimo dj_goku: you can only really learn from mistakes, fo course18:14
marchelzo: you can get an array that's typed to contain only Int (or derived things, of course)18:15
Skarsnik my Int @array;18:15
geekosaur "if builders built buildings the way programmers write programs, the first woodpecker to come along would destroy civilization"18:15
AlexDaniel m: my Int @a = <1 5 10>; say @a; say @a.WHAT18:15
camelia rakudo-moar 2f0d38: OUTPUT«[1 5 10]␤(Array[Int])␤»18:15
[Coke] m: my Int @stuff; @stuff.push("HI");18:15
camelia rakudo-moar 2f0d38: OUTPUT«Type check failed in assignment to @stuff; expected Int but got Str␤ in block <unit> at /tmp/zl2KdpG6OO:1␤␤»18:15
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 it18:15
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.18:15
s/\./?/18:15
[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 ints18:16
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).18:16
marchelzo [Coke]: I know. I wish I could use other languages to make analogies.18:16
[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 ASAP18:17
Skarsnik sub foo(Int *@tab) {Do something with the array}18:17
marchelzo vector<int> in C++ or [Int] in Haskell. like, the go-to simplest and most general way to represent a list of ints.18:17
lucs timotimo: Okay, thanks.18:17
timotimo fixed it like 3 days ago or so18:17
lucs Oh, well, was failing last night :(18:17
ajs_ So, is "handles" implemented currently? It doesn't seem to play well with composition.18:17
timotimo whaaaaat? :(18:18
lucs (commenting out line 153 in the first test fixes it iirc)18:18
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?18:18
lucs: you may need to "git pull" in panda18:18
marchelzo the 2015.11 perl6 wasn't built with readline :( is that something I had to configure as well?18:18
ajs_ m: class Foo does Iterator { has @.a handles "pull-one"; }; say Foo.new.pull-one.perl18:18
camelia rakudo-moar 2f0d38: OUTPUT«===SORRY!===␤Method 'pull-one' must be implemented by Foo because it is required by a role␤»18:18
ajs_ I don't think that would produce an error....18:18
[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.18:18
timotimo marchelzo: not configure, just install the Linenoise module (you may need to use an earlier commit, though)18:18
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. :)18:19
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)…18:19
timotimo ajs_: oh, interesting, i hadn't considered that case yet.18:19
dalek rakudo/nom: 62a029b | peschwa++ | src/core/Signature.pm:18:19
rakudo/nom: Correctly deal with slurpy hashes in Signature.ACCEPTS.18:19
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/62a029b44018:19
[Coke] m: class Foo does Iterator { has @.a handles <pull-one> }; say Foo.new.pull-one.perl;18:19
camelia rakudo-moar 2f0d38: OUTPUT«===SORRY!===␤Method 'pull-one' must be implemented by Foo because it is required by a role␤»18:19
hankache left18:20
psch argh18:20
i git reset the tests i added for that commit /o\18:20
virtualsue joined18:20
marchelzo timotimo: how do I install modules?18:20
timotimo marchelzo: if you have rakudo star, you'll have a program called "panda"18:20
that can install stuff, but you can't tell it to get an older commit for you18:21
marchelzo: you'll have to git clone Linenoise, check out an earlier version with "git checkout" and then "panda install ." when inside the folder18:21
marchelzo ah, that stuff's all still in the place where I built perl6. I'm going to have to reconfigure and reinstall.18:21
vividsnow hi, does perl6 support udp sockets?18:22
[Coke] say Iterator.WHAT;18:22
m: say Iterator.WHAT;18:22
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…»18:22
dalek roast: 54f225c | peschwa++ | S03-smartmatch/signature-signature.t:18:22
Skarsnik I think 2015.11 should not be used if every module will fail with it (the earlier compileunit stuff)18:22
dalek roast: Test two identical Signatures with named and named slurpy.18:22
roast: review: https://github.com/perl6/roast/commit/54f225c83118:22
[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" handlers18:23
vividsnow left18:23
spider-mario joined18:23
[Coke] m: my @a; say so @a.^can("pull-one");18:24
camelia rakudo-moar 2f0d38: OUTPUT«False␤»18:24
vividsnow joined18:24
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 ...18:24
"handles" uses ".^add_fallback"18:24
joeschome say @months[2];18:26
m: say @months[2];18:26
camelia rakudo-moar 2f0d38: OUTPUT«=== SORRY!=== Error while compiling /tmp/r0eEKrUsb7␤Variable '@months' is not declared␤at /tmp/r0eEKrUsb7:1␤------> say @months[2]; ␤»18:26
timotimo actually, RoleToClassApplier should just learn to look into the @!fallbacks18:26
AlexDaniel vividsnow: maybe you can try this: http://doc.perl6.org/type/IO%3A%3ASocket%3A%3AINET18:26
cxreg there's an impressively large crowd at Node interactive18:27
timotimo what is that, cxreg?18:28
cxreg linux foundation sponsored nodejs conference18:28
ZoffixW joined18:28
cxreg i think there's a lot of potential perl 6 people in this crowd honestly18:29
marchelzo timotimo: I can't build Linenoise.18:29
AlexDaniel m: my @months = <Jan Dec Mar>; say @months[2]18:29
camelia rakudo-moar 2f0d38: OUTPUT«Mar␤»18:29
timotimo marchelzo: what commit did you check out? what's the error?18:29
marchelzo "Function CompUnit::Repository::FileSystem needs parens to avoid gobbling block"18:29
ZoffixW left18:30
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 error18:30
because that Linenoise is too new18:30
xpen joined18:30
timotimo requires changes to rakudo that happened after the rakudo star 2015.11 release18:30
marchelzo you what commit of Linenoise or what commit of Linenoise?18:30
one of those should say rakudo18:31
lol18:31
timotimo one sec.18:31
marchelzo Is there a way to get an older Linenoise with panda?18:31
[Coke] If you're trying to use a pre-christmas release, git HEAD is the best place to be right now.18:31
joeschome m: say "Hello, world!"18:31
camelia rakudo-moar 62a029: OUTPUT«Hello, world!␤»18:31
Hotkeys Why not build the most recent rakudo?18:31
Skarsnik 2015.11 should be removed maybe, if it's so broken?18:31
FROGGS joined18:31
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?18:32
[Coke] the version that shipped with star should have worked.18:32
joeschome m: say "Hello, world! im a perl programer now; LOL"18:32
camelia rakudo-moar 62a029: OUTPUT«Hello, world! im a perl programer now; LOL␤»18:32
[Coke] no point in removing it if we're adding a new one in 2 weeks.18:32
timotimo marchelzo: i told you, panda doesn't know how to get a specific revision. let me walk you through it18:32
marchelzo timotimo: oh, sorry. I didn't see that.18:32
Hotkeys I find it strange when people shout 'lol'18:32
timotimo git clone https://github.com/hoelzro/p6-linenoise.git18:32
marchelzo Maybe I should just get HEAD and use the newest Linenoise?18:33
timotimo that will give you a "p6-linenoise" folder18:33
donaldh left18:33
timotimo current HEAD has people cussing and complaining :)18:33
marchelzo T_T18:33
joeschome Hotkeys: I am a little strange.18:33
[Coke] Hotkeys: it's a TLA, caps are fine. :)18:33
marchelzo timotimo: ok, I cloned it18:33
timotimo then git checkout b01750a18:33
Hotkeys m: sub shout ($x) { say $x.gist.uc }; shout "lol";18:33
camelia rakudo-moar 62a029: OUTPUT«LOL␤»18:33
timotimo (and disregard the "OH GOD A DANGLING CHECKOUT!" message)18:34
marchelzo timotimo: done18:34
timotimo and last but not least: panda install .18:34
in the mean time i'll improve that error message that you got back there18:34
marchelzo why does panda take like 3 seconds before doing anything?18:34
I got the same error while building :/18:34
xpen left18:35
marchelzo HEAD~30 built18:35
lol18:35
RabidGravy panda may emit some *warning* about %ENV or something, it's a known thing18:36
marchelzo no it was an error18:36
ZoffixW joined18:36
marchelzo i have to go18:36
be back later18:36
marchelzo left18:36
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␤␤»18:36
RabidGravy timotimo++ # patience18:37
ZoffixW Is there a way of making that work? Take an optional hash as the first arg?18:37
timotimo marchelzo didn't tell me what the new error is :(18:37
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.18:37
Skarsnik $opts?18:37
ZoffixW m: multi foo (*@list) { foo {}, @list }; multi foo (Hash %opts, *@list) { say @list;}; foo {:lang('fr')}, <foo bar baz>;18:37
timotimo joeschome: yeah, i watched it. it was good :)18:37
Skarsnik Zoffix, there a is a ? to say an argument is optionnal18:38
camelia rakudo-moar 62a029: OUTPUT«(timeout)»18:38
lucs timotimo: JSON::Fast installation is initiated by panda install, and it still hangs (does panda use the wrong version?)18:38
timotimo lucs: did you "git pull" inside panda recently?18:38
lucs I just did a 'git clone', from scratch, yes.18:38
timotimo um18:38
wtf.18:38
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␤␤»18:39
timotimo i must investigate18:39
ZoffixW Actually, I may be suffering from Perl-5-ism.18:39
Skarsnik if you want a :lang argument, make is a named x)18:39
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?18:39
lucs timotimo: I have 7151bbd4318:39
ZoffixW m: sub foo (*@list, Str :$lang) { say "$lang @list";}; foo :lang('fr'), <foo bar baz>;18:39
camelia rakudo-moar 62a029: OUTPUT«fr @list␤»18:39
lucs timotimo: Ok, hang on...18:39
ZoffixW Yeah18:39
Skarsnik++18:39
Skarsnik sub foo (*@list, :$lang)18:40
lucs timotimo: (of panda that is)18:40
flussence m: class Foo:ver<1> { }; use Foo:ver<2> # this doesn't fail when the two statements are in different files18:40
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-…»18:40
timotimo that means you also have | * 5b8ec92 - Squashed 'ext/JSON__Fast/' changes from 62ff510..be150dd (3 days ago) <Timo Paulssen>18:40
Skarsnik I love named parameter x)18:40
vividsnow AlexDaniel: How can I specify proto ("tcp/udp") in http://doc.perl6.org/type/IO%3A%3ASocket%3A%3AINET? Looks like it is TCP-only18:40
ajs_ left18:41
ZoffixW flussence, should it? If they're in different files, I'd think it's fine...18:41
AlexDaniel vividsnow: you are probably right18:41
flussence ZoffixW: the version doesn't match though18:41
lucs timotimo: I'm seeing things like: ... if $pos > nqp::chars($text); ... if nqp::chars($hexstr) != 418:41
ZoffixW Ah18:41
timotimo yeah, the $pos one would be the one that.s necessary to prevent the hang18:42
lucs: could it be panda is recompiling the JSON::Fast source it has found in the installation repository thingie?18:42
i just ran pandas bootstrap.pl and it didn't even try to install JSON::Fast. huh.18:42
koo8 joined18:42
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…»18:42
flussence m: use Test;18:43
camelia rakudo-moar 62a029: ( no output )18:43
lucs Not sure where it would have taken it, I rebuilt from scratch, deleting everything related (including ~/.perl6)18:43
flussence hm, maybe I'm just doing something wrong18:43
AlexDaniel vividsnow: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Socket/INET.pm18:43
vividsnow: has $.proto = PIO::PROTO_TCP;18:43
timotimo well, i just ran "panda install JSON::Fast" and it doesn't hang here :(18:43
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?18:44
I've got: my &term:<☌> = ::('&conjunction'); but it's not seen in a file that uses my module18:44
pyrimidine ZoffixW: looks like I have plugins passing tests using $*REPO in bioperl6: https://github.com/cjfields/bioperl6/commit/52cebf748345d7cf4b88ff02e6851bd6b4d2d01a18:45
RabidGravy you can 'is export' that too18:45
Skarsnik Zoffix, I think you can't18:45
our $var is export return NYI18:45
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?18:46
AlexDaniel vividsnow: I'm not sure if it is implemented18:46
RabidGravy m: module F { my &foo is export = sub { say "foo" } }; import F; foo();18:46
camelia rakudo-moar 62a029: OUTPUT«=== SORRY!=== 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␤------> module F { my &foo is export = sub { say "foo" } }; import …» 18:46
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."18:46
ZoffixW RabidGravy, but where do I put "is export"? I tried a few places, and I'm getting TTIR18:46
RabidGravy m: module F { our &foo is export = sub { say "foo" } }; import F; foo();18:46
camelia rakudo-moar 62a029: OUTPUT«foo␤»18:46
ZoffixW Ah, ok.18:47
RabidGravy++18:47
joeschome The last part is soon to be over and perl6 could be a production language before long18:47
Skarsnik m: module F { our $var is export = 42 };18:47
camelia rakudo-moar 62a029: ( no output )18:47
ZoffixW pyrimidine, I think you're asking the wrong person :P18:47
Skarsnik it work now? nice x)18:47
RabidGravy yeah any symbol18:48
lucs Hullo? What't this!? When doing panda's "perl6 bootstrap.pl", it creates a directory named "(HANDLED) Failed to open file"18:48
Skarsnik I tried to have this 1 month ago rakudo was like nop18:48
ZoffixW lucs, that's a Failure18:48
RabidGravy well I say "any" without knowing whether that is true18:48
lucs ZoffixW: You don't say :)18:48
ZoffixW m: (fail("Failed to open file") || say "$_")18:48
camelia rakudo-moar 62a029: ( no output )18:48
ZoffixW m: (fail("Failed to open file") || say "$_.message")18:49
camelia rakudo-moar 62a029: ( no output )18:49
ZoffixW well18:49
lucs It didn't do that last time around.18:49
ZoffixW lucs, I mean Failure the type... http://docs.perl6.org/type/Failure unless you're wondering why it's failing :)18:49
ZoffixW left18:49
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 :D18: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.18:53
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.18:53
[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)18:54
timotimo zengargoyle: could very well be that mi6 doesn't know anything about RESOURCES yet18:54
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 =/18:55
RabidGravy also blib is largely incompatible with the way that panda does a build18:55
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-curli18:56
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").say18:57
camelia rakudo-moar 62a029: OUTPUT«「...」␤ ellip => 「...」␤Nil␤»18:57
gtodd joined18:58
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 unimplemented18:58
AlexDaniel vividsnow: bummer18:58
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?18:59
or you can terminate LTM after <twodot> with a {}18:59
ajs_ joined19:00
davercc1 joined19:00
AlexDaniel vividsnow: I don't know, maybe it makes sense to submit a rakudobug. Just so that it stays there as a TODO19:01
ChoHag LTM?19:01
dalek rakudo/nom: e1793a8 | (Don Vito Perleone)++ | docs/announce/2015.12.md:19:01
rakudo/nom: Link to Wikipedia entry of коледа19:01
rakudo/nom:19:01
rakudo/nom: For the people who are unfamiliar with the cyrillic alphabet.19:01
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1793a8bbd19:01
rakudo/nom: 35cafce | (Don Vito Perleone)++ | docs/announce/2015.12.md:19:01
rakudo/nom: Merge pull request #1 from Perleone/Perleone-patch-119:01
rakudo/nom:19:01
rakudo/nom: Link to Wikipedia entry of коледа19:01
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/35cafce04a19:01
rakudo/nom: df7c255 | (Will Coleda)++ | docs/announce/2015.12.md:19:01
rakudo/nom: Merge pull request #624 from Perleone/nom19:01
rakudo/nom:19:01
rakudo/nom: Link to Wikipedia entry of коледа19:01
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df7c2559ee19:01
AlexDaniel vividsnow: because it looks like someone was going to implement it but dropped it half way through19:01
RabidGravy I thought there was a Net::Socket::Raw on the ecosystem that did some additional socket stuff19:02
or something like that19:02
bbkr_ joined19:02
ajs_ [Coke] thanks, I hadn't gotten to debugging it yet, so I didn't know @a would fail19:03
flussence ChoHag: | is kinda buggy, use || and it'll probably do what you wanted19:03
ajs_ timotimo: thanks for looking into it.19:03
AlexDaniel RabidGravy: well according to this: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Socket/INET.pm#L27 it should be supported by IO::Socket::INET19:04
RabidGravy well, the https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Socket/INET.pm#L65 might suggest otherwise :-O19:06
lucs Heh: contents of the "(HANDLED) Failed to open file"19:06
: http://fpaste.scsys.co.uk/50255119:06
RabidGravy nice19:07
timotimo lucs: LOL.19:08
lucs :)19:08
timotimo tadzik: you're going to love this -^19:08
ajs_ left19:08
tadzik what19: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?19:11
tadzik what did this!?19:11
can you even have directories with such names!?19:11
zengargoyle lucs: hehe, saw that a few times.19:11
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).19:11
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.19:12
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 misinformation19:12
tadzik lucs: I need therapy after seeing this :o19:12
lucs :)19:12
geekosaur perfectly valid, if seizure-inducing, on unixlikes >.>19:13
zengargoyle lucs, tadzik: i saw that from doing `mi6 build`19:13
thought it was a mi6 problem...19:13
tadzik mi6?19:13
lucs It looks like some message that was redirected to path building instead of ERR or something.19:13
zengargoyle App::Mi619:13
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.19:13
joeschome I love openBSD and those guys have a lot of perl5 in the base and they seem like pretty smart guys19:13
nine amorphis++19:14
zengargoyle so i'd guess it's coming from Panda::Builder or somesuch19:14
tadzik lucs: alright, so the steps to reproduce is just 1) build rakudo somehow 2) clone panda 3) run bootstrap.pl?19:14
lucs tadzik: Apparently, yes.19:15
tadzik and yours is a regular linux system?19:15
lucs Let me try something first...19:15
nine Got my brane going. Ginna replace %CUSTOM_LIB by a Compunit::RepositoryRegistry method.19:15
vividsnow AlexDaniel: ok, sended https://rt.perl.org/Public/Bug/Display.html?id=12684619:15
lucs tadzik: Yep, pretty much.19:16
tadzik lucs: and you have no other rakudo/panda installations, due to rakudobrew or something?19:16
lucs tadzik: Wait a sec, just thought of something...19:17
jnthn http://fpaste.scsys.co.uk/502551 is amazing :)19:17
yoleaux 17:53Z <nine> jnthn: you'd never guess. It's a require Inline::Perl5 in the :lang<Perl5> EVAL candidate19:17
18:07Z <nine> jnthn: I can lookup CompUnit::RepositoryRegistry at runtime. Seems like a small price for getting rid of it in the BOOTSTRAP19:17
jnthn nine: +119:17
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...19:18
tadzik: Everything looks kosher.19:21
tadzik lucs: okay, will try to reproduce19:21
retupmoca nine: could this be a cause of my panda bootstrap hang on windows? https://github.com/MoarVM/MoarVM/issues/30819:22
lucs tadzik: Wait a sec.19:22
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 :P19:23
lucs: I have the same hting19:24
timotimo jnthn: should RoleToClassApplier only complain about not-implemented stuff after checking through @!fallbacks (if exists)?19:24
tadzik I mean, the tree is much shorter19:24
perhaps it grows each time :D19:24
you could say that19:24
(•_•)19:24
( •_•)>⌐■-■19:24
(⌐■_■) we have an amazing ecosystem19:25
timotimo jnthn: so that "handles ..." will factor into the decision?19:25
jnthn timotimo: handles is done at attribute composition time19:25
We can't compose attributes until we've got those that come form roles19:26
*from19:26
vendethiel joined19:26
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 late19:27
lucs tadzik: Your gut feeling: is it panda or rakudo that's screwing up?19:27
nine retupmoca: could be. I have no idea about file locking semantics on Windows.19:27
jnthn I *think* trying to make handles stuff happen sooner will cause a different issue19:28
nine retupmoca: BOOTSTRAP loading doesnt lock however19:28
tadzik lucs: I honestly have no clue19:28
lucs Yeah, not obvious eh :/19:28
tadzik first gut feeling: some modules in panda return a Failure when they, well, fail19: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 confusing19:29
tadzik but Failure can't be used as a result without the exception being throw19:29
n19:29
davercc1 left19:30
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? :D19:32
the topmost directory is called '(HANDLED) Failed to open file'19:33
jnthn :D19:33
tadzik "at least it's handled!"19:33
jnthn "Watch guys, I'll handle this!"19:34
lucs tadzik: It appears to have correctly installed (broken) module p6doc.19:34
virtualsue left19:34
lucs "Stand back! I know Perl6!"19:34
tadzik I clearly don't19:35
DrForr Never stopped me efore :)19:35
tadzik I can't imagine a chain of events that may cause this19:35
it's not like double bacon bag19:35
bug*19:35
Sqirrel joined19:35
tadzik or snowflake-snowman19:36
this is... sparta19:36
RabidGravy :)19:36
[Coke] urls http://beeroclock.in/ for jnthn++19:36
timotimo jnthn: damn. i thought i could perhaps make it work :(19:36
koo8 left19:37
ZoffixW joined19:37
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␤␤»19:37
ZoffixW What is it talking about? :/19:37
bpmedley joined19:37
timotimo it's trying to invoke an Int object as a cursor somehow somewhere19:38
like, as if it were a subrule19:39
but ... how?19:39
ZoffixW m: my $str = '[a|s] |list|'; say $str.substr( /um/, '42', :g )19:39
camelia rakudo-moar df7c25: OUTPUT«Method '!cursor_start' not found for invocant of class 'Int'␤ in block <unit> at /tmp/jHYtxw80xd:1␤␤»19:39
timotimo yeah, you want subst not substr19:39
that's probably what's going wrong19:39
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␤␤»19:40
ZoffixW Oh christ yeah19:40
timotimo m: "foo".substr( 1 )19:40
camelia rakudo-moar df7c25: ( no output )19:40
ZoffixW I suspect it's not the first time I'll confuse substr and subst :)19:40
timotimo it's probably trying to smartmatch something against the first argument19:40
vividsnow left19:40
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.19:42
timotimo "clean"? pah! ;)19:42
RabidGravy we want filth19:43
lucs (For semi-posterity: https://gist.github.com/lucs/58f7141fc26df5dced69 )19:43
nine retupmoca: oh you mean panda's bootstrap. Yes that may be a platform thing19:43
lizmat ah, the joys of a mkpath() function with wrong input19:44
timotimo well, there was a failure. somehow it got handled %)19:44
oh, i have an idea19:44
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?19:45
*making19:45
CIAvash left19:45
timotimo dunno? changes the api a bit and seems like panda hasn.t been tested well since then19:45
lizmat well, we either bite the bullet now, or we revert to open() dieing19:46
marchelzo joined19:46
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?19:47
cygx p5-style open() or ...?19:47
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();19:50
camelia rakudo-moar df7c25: OUTPUT«=== SORRY!=== Error while compiling /tmp/swJN5N7UFP␤Undeclared routine:␤ foo used at line 1␤␤»19:50
ZoffixW m: module F { our &term:<☌> is export = sub { say "foo" } }; import F; ☌();19:50
camelia rakudo-moar df7c25: OUTPUT«foo␤Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/jT6YfXdesF:1␤␤»19:50
Skarsnik m: module F { our term:<☌> is export = sub { say "foo" } }; import F; ☌();19:52
camelia rakudo-moar df7c25: OUTPUT«=== SORRY!=== ␤Type 'term:<☌>' is not declared␤at /tmp/jDdX967aGI:1␤------> module F { our term:<☌> is export = sub { say "foo" } }; import ␤Malformed our␤at /tmp/jDdX967aGI:1␤------> module F { our term:< ☌> is expor…» 19:52
ZoffixW m: module F { our &Δ is export = sub { say "foo" } }; import F; Δ();19:53
camelia rakudo-moar df7c25: OUTPUT«foo␤»19:53
hoelzro marchelzo: it should just work19:53
DrForr https://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.19:53
marchelzo hoelzro: :s19:53
timotimo marchelzo: should immediately work19:53
RabidGravy term is a term can't take arguments19:53
ZoffixW RabidGravy, what is it for a sub?19:54
hoelzro marchelzo: is it not working?19:54
marchelzo timotimo: "==> Successfully installed Linenoise"19:54
but when I run perl6, readline bindings don't work19:54
DrForr (admittedly it's pretty deeply neste, but there's only one array element per content block.)19:54
hoelzro marchelzo: which readline bindings?19:54
timotimo do no bindings at all work? tab? up-arrow?19:54
marchelzo any. arrows don't even work19:54
hoelzro the basics (arrows, ctrl-a, tab) should work19:54
timotimo damn, that's harsh :(19:54
Skarsnik I feel like the only not using/Caring about a repl x)19:54
hoelzro try this:19:54
perl6 -MLinenoise -e 119:55
marchelzo timotimo: well the copy I built was 30 commits behind HEAD. maybe that's it?19:55
RabidGravy &term:<booble> = sub { say "foo"}; booble; booble()19:55
timotimo um, why did you do that?19:55
RabidGravy m: &term:<booble> = sub { say "foo"}; booble; booble()19:55
camelia rakudo-moar df7c25: OUTPUT«=== SORRY!=== Error while compiling /tmp/WkjgRYdZoL␤Undeclared routines:␤ booble used at line 1␤ term:<booble> used at line 1␤␤»19:55
marchelzo timotimo: I couldn't get anything else to build.19:55
timotimo oh?19:55
can you tell me the errors for newer commits?19:55
actually, i'll be AFK for a bit19:55
RabidGravy or whatever19:55
hoelzro I can help while timotimo is absent19:56
marchelzo: what version of rakudo are you using?19:56
marchelzo one second19:56
Ch0c0late joined19:56
[Coke] seeing a bunch of Missing serialize function for REPR ContextRef in the jvm spectest19:57
lizmat [Coke]: I couldn't even get the jvm to build earlier today19:57
lucasb joined19:57
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␤␤»19:58
ZoffixW I guess that means you can't make exportable unicode subs. Only ops19:59
[Coke] lizmat: progress!19:59
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 itself20:00
lucasb I just managed to create this mythical '(HANDLED) Failed to open file' dir \o/20:00
lucs :)20:00
[Coke] joeschome: this channel is historically about perl6/rakudo development, and modules from the ecosystem.20:00
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␤␤»20:01
joeschome thanks20:01
ZoffixW psch, ^ that? Unless there's some way to specify arbitrary number of args20:01
joeschome left20:01
lichtkind wink lizmat20:02
yoleaux 4 Dec 2015 20:26Z <moritz> lichtkind: that tablets is now reachable via SSL too: https://tablets.perl6.org/20:02
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.priv20:02
camelia rakudo-moar df7c25: OUTPUT«=== SORRY!=== Error while compiling /tmp/1mnEF4OVxc␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at /tmp/1mnEF4OVxc:1␤------> oo.^comp; my $foo = Foo.new(); $foo.priv <EOL> ␤ expecting any of:␤ …»20:02
psch oh grml20:02
lichtkind thanks moritz20:02
lizmat lichtkind: would you like your nick also be mentioned in this months credits ?20:02
marchelzo hoelzro: somewhere around fd5b029 Linenoise stops building for me20:02
psch ZoffixW: well, slurpies exist20:02
marchelzo I have to go for a bit as well, though.20:02
lichtkind lizmat but i did nothing20:02
marchelzo I'll try to fix it later20:02
hoelzro marchelzo: what OS are you on? what version of rakudo?20:03
lizmat lichtkind: you did *something* in the past 15 years :-)20:03
so you're on the list20:03
lichtkind lizmat only thing i do is prepare article for the big p6 release20:03
marchelzo hoelzro: OS X rakudo 2015.11 release20:03
bbl20:03
marchelzo left20:03
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 on20:04
psch ZoffixW: but your error does hint at a difference - parenthesis to a categorical group the argument instead of invoking it...20:04
hoelzro .tell marchelzo Linenoise@b01750a *should* work for you20:04
yoleaux hoelzro: I'll pass your message to marchelzo.20:04
ZoffixW psch, sadly, that doesn't help me much. I want to make ☌ an alias for sub conjunction, which has this signature: https://gist.github.com/zoffixznet/80c6639bc1074300b74020:04
psch usually writes parens-less vOv20:04
lichtkind well yeah i feel like part of the team20:04
lizmat :-)20:04
lucasb timotimo: are you here? seems like json fast still has the problem. I just cloned panda.20:04
lichtkind lizmat currently i was working more on the p6 tutorial and try to make it the pet project of the in founding leipzig.pm20:05
[Coke] lichtkind: check docs/announce/2015.12.md and see if your name/nick already appears in there somewhere.20:05
if not, someone will add you.20:05
dalek rakudo/nom: 96bc434 | lizmat++ | docs/announce/2015.12.md:20:05
rakudo/nom: Mention "lichtkind" as nick also20:05
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96bc43441820:05
lichtkind lizmat++ is fast20:06
dalek roast: d43b6ef | (Juerd Waalboer)++ | S32-num/pi.t:20:07
roast: Test tau and τ20:07
roast: review: https://github.com/perl6/roast/commit/d43b6ef69d20:07
roast: 2ef9aad | (Zoffix Znet)++ | S32-num/pi.t:20:07
roast: Merge pull request #81 from Juerd/master20:07
roast:20:07
roast: Test tau and τ20:07
roast: review: https://github.com/perl6/roast/commit/2ef9aad4fa20:07
psch hmm20:08
lizmat lichtkind++ # leipzig.pm20:08
lichtkind well its still in the founding20:08
but danial and me are meeting til it gets some traction20: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 :/20:09
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␤␤»20:09
lichtkind its also koleda in cczech20:09
psch m: sub prefix:<foo>(*@els, :$named) is looser(&infix:<,>) { .say for @els; say $named }; foo 1, 2, 3, :2named # more obvious here...20:09
camelia rakudo-moar df7c25: OUTPUT«1␤2␤3␤named => 2␤(Any)␤»20:09
lichtkind its even a verb : koledat20:09
meaning going singing from house to house20:09
thats what we do when perl 6 comes out :)20:10
lizmat .oO( trust the P6 community to verb a noun :-)20:10
leont joined20:11
psch .u ☌20:11
yoleaux U+260C CONJUNCTION [So] (☌)20:11
lizmat Juerd: interested in writing some tests for now.Date and now.DateTime ?20:11
psch that does get rendered a bit weirdly here...20:11
lizmat m: say now.Date20:11
camelia rakudo-moar 96bc43: OUTPUT«2015-12-08␤»20:11
koo8 joined20:13
xtreak left20:15
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 []␤»20:15
psch ZoffixW: i'd suggest writing a slang that allows codepoints with general category S* for identifier names, if you really *need* it :P20:15
ZoffixW Oh well.. I'll forgo it20:15
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 :)20:16
Thanks for the help though20:16
lizmat [Coke]: after nuking install, jvm build now fails at installing core modules for me with:20:16
./perl6-j tools/build/install-core-dist.pl20:16
No writeable path found20:16
in block <unit> at tools/build/install-core-dist.pl:1320:16
[Coke] oh, I don't think I install when doing the daily tests.20:17
nope, I don't.20:17
make -j all, then proceed to testing.20:18
[particle]1 joined20:18
lucasb timotimo: ping20:18
n0tjack left20:19
lucs lucasb: By the way, timotimo is aware that JSON::Fast still hangs: read starting here: http://colabti.org/irclogger/irclogger_log/perl6?date=2015-12-08#l239620: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?20:24
camelia rakudo-moar 96bc43: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at /tmp/NBX5Q2cjcp:1␤␤»20:24
lucs lucasb: Yep, same conditions as you apparently.20:25
[Coke] m: my @a = ('off' xx 5) xx 5; say @a.perl;20:25
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")]␤»20:25
[Coke] m: my @a = ('off' xx 5) xx 5; say @a[4][4].WHAT;20:25
camelia rakudo-moar 96bc43: OUTPUT«(Str)␤»20:25
psch m: my @a = ('off' xx 5) xx 5; say @a[4].WHAT;20:26
camelia rakudo-moar 96bc43: OUTPUT«(List)␤»20:26
psch m: my @a = ['off' xx 5] xx 5; @a[4][4] = 'on'; #20:27
camelia rakudo-moar 96bc43: ( no output )20:27
lucasb m: my @a := ('a',); @a[0] = 120:27
camelia rakudo-moar 96bc43: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at /tmp/6DBRQAcX7c:1␤␤»20:27
lizmat lucasb: and what is wrong about that?20:27
lucasb I think the message is a little LTA, because what is getting modified is not a Str, but a List, which is immutable iiuc20:27
MadcapJake oh it's the parentheses?20:28
lizmat lucasb: a List is immutable wrt to number of elements20:28
lucasb lizmat: there is nothing wrong with that, I think it's right behavior20:28
lizmat if a list however contains containers, you *can* change a list20:28
psch lucasb: i think the message is fine. the Str is what's immutable, because Lists don't containerize20:28
MadcapJake so brackets containerize?20:28
lizmat m: my $a = (1, my $ = 2, 3); $a[1] = 42; dd $a20:29
camelia rakudo-moar 96bc43: OUTPUT«List $var = $(1, 42, 3)␤»20:29
zengargoyle RabidGravy: grrrr :) it seems to be the «use lib 'lib';» in your .t files that makes travis stuff work.20:29
Skarsnik m: my @a = ['off' xx 5] xx 5; say @a.perl;20:29
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"]]␤»20:29
lucasb ahh, ok; sorry. thanks lizmat++ and psch++20:29
Skarsnik m: my @a = ['off' xx 5] xx 5; say @a[4][4] = "on";20:30
camelia rakudo-moar 96bc43: OUTPUT«on␤»20:30
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 left20:30
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 containerized20:32
psch m: my @a = (-> { $ = 'off' }()) xx 5 xx 5; say @a[4].WHAT; @a[4][4] = "on"; dd @a # >_>20:32
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")]␤»20:32
psch i like to think of it as copying the List elements into the Arrays element containers20:34
MadcapJake is confused20:35
RabidGravy I'm always confused20:35
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.20:35
yoleaux zengargoyle: I'll pass your message to RabidGravy.20:35
MadcapJake thinks maybe there should be a language page for lists/arrays20:36
zengargoyle doh.20:36
RabidGravy :)20:36
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:36
geraud joined20:37
psch hrm20: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 accident20:37
psch what's happening with install paths anyway?20:37
RabidGravy as "panda install" doesn't do blib20:38
psch 0ec5ad56 was needed because make install installed the .jars into the wrong directory20:38
zengargoyle yeah, it's a conundrum... i usually don't 'use lib "lib"' in test files and i kept failing to find my library.20:38
psch now when i'm trying make install now, i get complaints that the previous directory doesn't exist20:38
zengargoyle no blib/resources/lib/libfoo.so20:38
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:39
Peter_R joined20:41
RabidGravy if you generate into blib/... yes20:41
which is how I found out20:41
prevost joined20:42
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
kyclark left20:44
FROGGS left20:44
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?20:49
lizmat [Coke] afaik20:49
dalek ecosystem: 318d08f | (Zoffix Znet)++ | META.list:20:51
ecosystem: Add Lingua::Conjunction to eco20:51
ecosystem:20:51
ecosystem: Convert lists into linguistic conjunctions and fill them into a template: https://github.com/zoffixznet/perl6-Lingua-Conjunction20:51
ecosystem: review: https://github.com/perl6/ecosystem/commit/318d08fcc920:51
zengargo1le joined20:51
zengargo1lezengargoyle20:51
lucasb timotimo: one second20:52
leont zengargoyle: or try my prove6 ;-)20:52
(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.20:53
zengargoyle :)20:53
[Coke] How could I resist a chance to name the release after myself? :)20:53
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
xjrK_ joined20:58
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 things21:01
hoelzro is there a way to do unsigned binary negation?21:01
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 before21:01
hoelzro it seems that +^ coerces its args to Int21:01
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 fail21:03
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_ left21:04
timotimo hoelzro: ~^ or something?21:04
hoelzro m: ~^ 121:04
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␤␤»21:04
hoelzro er, I thought that was NYI o_O21:05
lucs timotimo: Remember, it fails for me too, with the most recent (a couple of hours ago) rakudo/nqp/MoarVM/panda combination.21:05
hoelzro m: say(~^ 123)21:05
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␤␤»21:05
hoelzro yeah, there we go21:05
csd_ left21:07
marchelzo joined21:10
leont left21:11
marchelzo hoelzro: back21:12
yoleaux 20:04Z <hoelzro> marchelzo: Linenoise@b01750a *should* work for you21:12
marchelzo yoleaux: thanks21:12
hoelzro marchelzo: if it doesn't, please let me know what the error message is21:12
marchelzo hoelzro: "Function CompUnit::Repository::FileSystem needs parens to avoid gobbling block"21:13
hoelzro your panda is too new21:13
marchelzo it's the panda that came with the 2015.11 release21:14
hoelzro o_O21:14
how did you install rakudo & panda?21:14
marchelzo wait... something is terribly wrong21:15
I downloaded the 2015.11 relase. I did 'perl Configure.pl --prefix=/usr/local/bin --gen-moar'. I did 'sudo make install'.21:15
molaf left21:16
hoelzro ok, that looks fine21:16
marchelzo But panda is using the homebrew version of rakudo that I installed months ago (2015.03).21:16
hoelzro =/21:16
Skarsnik remove that x)21:16
RabidGravy yeah, that's never going to work21:17
or if it does I'd be surprised21:18
marchelzo I don't know why it wasn't overwritted by the new install.21:18
overwritten*21:18
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 weird21:19
Skarsnik lol21:19
marchelzo maybe prefix should just be /usr/local and not /usr/local/bin?21:19
Skarsnik --prefix=/usr/local21:19
timotimo lucs: i really have no clue how to go on with this problem21:20
lucs: i, too, have the newest moar/nqp/rakudo and panda21:20
lucs :(21:20
marchelzo building rakudo for a third time T_T21:20
RabidGravy yes, 'cause it may want to do $preffix/lib $prefix/bin $prefix/share21:20
Skarsnik don't use --prefix with panda x)21:20
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 joined21:21
Skarsnik it delete everything in prefix that is not panda xD21:21
timotimo marchelzo: i do not recommended to install stuff outside your home21:21
marchelzo timotimo: you install perl6 and panda in $HOME and then add them to $PATH?21:21
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 though21:22
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.21:22
timotimo (and sometimes i have to delete my whole prefix if some radical changes occur)21:22
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 sensible21:23
my /usr/local is a different filesystem21: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
cygx left21:29
timotimo oh, nine's back?21:30
Skarsnik I don't think so lol21:30
leont joined21:30
RabidGravy mst++21:31
bbkr_ left21:31
bbkr joined21:31
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 left21:31
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 float21:31
the power was out for 48h21:32
RabidGravy :(21:32
mst I'm on the first floor -and- at the top of the hill, so the water was well away from me21:32
marchelzo ugh.. now I'm getting errors building rakudo21:32
"Unhandled exception: Bytecode stream version too high"21:32
hoelzro marchelzo: you probably have a MoarVM that's too old21:32
leont o/21:32
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?21:32
timotimo mst: oh damn, that's tough :(21:32
hoelzro so you'll have to checkout, build, and install MoarVM by hand21:33
same with NQP21:33
koo8 left21:33
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 river21:33
our power infrastructure is not quite designed for that21:33
hoelzro I wonder if that's the actual moar it's using21:33
jdv79 mst: where did all this water come from?21:33
flussence the sky, mostly21:33
lizmat jdv79: from above21:33
mst we got a month's worth of rain in a day, and it splattered over all the hills as well21:33
lizmat 300 mm of rain in a few hours, I've been led to understand21:34
mst so anything near the river got a trifle soggy21:34
jnthn wonders if it's the same storm system that was causing some fun in Scandinavia at the weekend...21:34
lizmat jnthn: pretty sure of that21:34
mst it went across scandinavia then diagonally across scotland and down over us21:34
marchelzo hoelzro: it's not T_T21:34
flussence a few things here ended up underwater too, including a bus and most of the bridge it was on21:34
lizmat it even had a name? Patrick ?21:34
mst I think21:34
flussence (it was empty fortunately)21:34
mst lizmat: DESMOND21: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.21:35
lizmat ah, oops21:35
marchelzo thought*21:35
hoelzro http://i.memecaptain.com/gend_images/2LOOWg.jpg21:35
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...21:35
marchelzo I really hope it works this time...21:35
lol21:35
mst usually installs into /usr/local/program-1.23/21:35
mst and then symlinks things into /usr/local/bin21:35
hoelzro this is why I install to $HOME/.mokudo, or better yet, /tmp/nom21:35
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 days21:42
leont Or do you want it to have a new value for every test file?21:42
prevost left21:42
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.21:45
timotimo leont: i think it'd be good to have a separate value per test file, yeah21:45
marchelzo So when I run 'sudo make install', it fails because it tries to use /usr/local/bin/perl6-m.21:45
leont That would be tricky, in both implementations, it pretty much requires a custom source handler.21:47
dalek roast: e23a58d | usev6++ | S (4 files):21:47
roast: Fudge tests returning Int instead of Bool for JVM21:47
roast: review: https://github.com/perl6/roast/commit/e23a58d2df21:47
marchelzo It's installing it to ./install/bin/perl6. Is that normal even if you used a prefix like /usr/local?21:47
timotimo leont: in that case, no problem. i'll just set a single value21:47
leont Passing it a constant format (expanded with file name and process id) would probably be easier21:47
timotimo leont: just ... how do i do that in perl5? :321:48
moar opens the given file in append mode, so it'll be all right21:48
hoelzro marchelzo: I don't think so21:49
what is the exact command line you're calling Configure.pl with?21:49
marchelzo perl Configure.pl --prefix=/usr/local --gen-moar21:49
lucs Can I control (change) which directory is used for ~/.perl6 ?21:50
marchelzo it appears to execute successfully21:50
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?)21:51
hoelzro hmm, that looks ok to me21:53
leont append may or may not be atomic, it depends21:53
timotimo yeah :(21:53
i've noticed21:54
i'll perhaps have to put in a mutex even for single-program cases21:54
marchelzo do you think it would work if I just copied ./install/bin to /usr/local/bin?21:55
ugexe no21:56
marchelzo i tried it21:56
I think it worked21:58
it looks like it was trying to use /usr/local/bin/perl6 before having installed it.21:58
The very last thing that happens during a make install is 'Installing binaries for MoarVM'.21:59
kaare_ left21:59
sno joined21:59
marchelzo wait.. no.. it doesn't work22:00
I don't know what to do...22:01
n0tjack joined22:01
n0xff joined22:02
lucasb left22:02
marchelzo panda is trying to parse install/share/perl6/site/panda/projects.json but it's empty.22:02
xfix left22:03
Ch0c0late left22:04
rurban joined22:05
hoelzro I'22:05
er22:05
crux joined22:05
hoelzro I'm beginning to think the best next move for you, marchelzo, is to use rakudobrew22:05
that should (hopefully) straighten things out22:05
marchelzo that's where I got the 2015.03 one22:05
I think...22:05
timotimo rakudobrew doesn't support putting stuff outside of the /home at all, though22:06
like, give it a --prefix and it will get quite confused22:06
tadzik it's not supposed to accept a --prefix even :)22:06
n0tjack left22:06
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" tool22:06
Skarsnik there is a --configure-option you can pass it --prefix22:06
but yeah, it's not fun22: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, work22:07
Skarsnik but git clone rakudo and running configure.pl work22:07
z8 joined22:08
Skarsnik use case of what? having a system wide perl6 installation for your users? x)22:08
tadzik well :)22:08
marchelzo does 'rakudobrew build moar' use git HEAD?22:09
Skarsnik yes22:09
Praise left22:09
tadzik I mean, if people want rakudo in a specific place, why go for rakudobrew22:09
marchelzo I thought HEAD was not very good to follow right now?22:09
lichtkind o/22:10
tadzik you can ask rakudobrew to install a specific version22:10
rakudobrew build moar 2015.11 for instance22:10
it goes for HEAD by default22:10
marchelzo to be honest, I just wanting a working perl6 repl with readline bindings22:10
lichtkind left22:10
hoelzro I would recommend rakudobrew22:10
jdv79 Skarsnik: you're not alone. i've never used a repl or felt the need.22:10
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 it22:11
tadzik what calculator do you use? :o22:11
Skarsnik windows calc xD22:11
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 joined22:12
dalek nqp: d6370eb | TimToady++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:22:12
nqp: bulletproof against nodes without .orig22:12
nqp: review: https://github.com/perl6/nqp/commit/d6370eb8be22:12
jdv79 i don't care if it exists or not. just sayin cause Skarsnik mentioned it earlier.22:13
hankache joined22:13
marchelzo the repl is invaluable for exploring the langauge22:14
language*22:14
jdv79 that's your opinion:)22:14
Praise joined22:14
Praise left22:14
Praise joined22:14
zengargoyle timotimo: rakudobrew works fine outside of home... mine's located at /opt/rakudobrew.22:14
Skarsnik I mean what rakudobrew install x)22:14
lucasb joined22:15
Skarsnik not rakudobrew itself22:15
marchelzo jdv79: no, it's a fact22:15
z8 left22:15
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 me22:16
Skarsnik I write code or execute stuff with -e to test thing lol22:16
jdv79 marchelzo: ok22:16
timotimo me, too, Skarsnik22:16
ugexe i dont use the repl either, but probably because im too stuborn to learn a new way to code22:16
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.22:17
ugexe me too22:17
hankache for some people repl can be helpful22:17
jnthn finds having a window with the REPL open kinda useful when teaching22:17
hankache it's not one size fit all22:17
RabidGravy yea, I'm in the -e or test file camp22:17
jnthn 'cus it lets you show stuff without the ceremony of doing -e, and it auto-prints expressions22:18
Skarsnik Well we never say it's bad/not usefull, just that we don't use it ^^22:18
jdv79 everyone works differently. i just wish i could comprehend better why the repl seems to popular.22:18
exactly, what Skarsnik said.22:18
anyway, pub visit overdue &22:18
RabidGravy pub++22:18
donaldh joined22:20
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 REPL22:21
hankache #perl?22:21
timotimo irc.perl.org has #perl, but freenode has a #perl, too22:21
irc.perl.org is MAGnet22:22
Juerd irc.perl.org doesn't support ipv6 :(22:22
marchelzo we're making progress22:22
I got moarvm and panda through rakudobrew22:22
I installed linenoise (HEAD^)22:22
hankache so which one is the thing?22:22
marchelzo but now I get this when running perl6: Cannot locate native library 'liblinenoise.dylib'22:23
hankache congrats marchelzo22:23
hoelzro marchelzo: did you install rakudo from git HEAD?22:23
or 2015.11?22:23
Juerd hankache: Perl has no official IRC channel, but there are multiple channels about Perl22:23
marchelzo git HEAD I believe (I just did rakudobrew build moar).22:23
hoelzro marchelzo: then you'll need Linenoise HEAD22:24
marchelzo oh, right22:24
[Coke] ... oh my! we're going to beat Half Life 3.22:24
hankache Juerd which one is the equivalent of this?22:24
hoelzro you'll probably need to --force install it22:24
marchelzo hoelzro: FINALLY!22:25
hoelzro \o/22:25
Juerd hankache: There is no equivalent. Perl is literally older than IRC and the channels just co-exist.22:25
marchelzo hoelzro: timotimo: thanks for all the help22:26
anyone else who helped too22:26
hoelzro no problem22:26
hankache Juerd i see22:27
donaldh [Coke]: re: http://irclog.perlgeek.de/perl6/2015-12-08#i_11679606 I am investigating that JVM bug.22:27
skids left22:27
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 :)22:27
Not necessarily the busiest one though22:27
marchelzo it's ok22:28
hankache well both #perl on irc.perl.org and freenode seem quiet22:28
Juerd Might be a timezone thing22:28
hankache ah! the freenode one showed a sign of life22:28
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 there22:29
dalek rakudo/nom: c27a00c | TimToady++ | src/ (5 files):22:29
rakudo/nom: get reductions thunking for left/list assoc22:29
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c27a00ca3622:29
Juerd marchelzo: <3> is a single thing that is both an Int and a Str.22:29
timotimo marchelzo: if there's only one thing, it's for a single value, otherwise it's for a list of things22:29
jnthn TimToady++ # thunking up our meta-ops22:29
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?22:31
Juerd marchelzo: Any single item can be used as a 1-element list.22:31
jnthn Less useful, though22:31
TimToady m: Nil orelse .say # also fixed this22:31
camelia rakudo-moar 96bc43: OUTPUT«(Any)␤»22:31
Juerd marchelzo: So it's not needed22:31
jnthn %h<a> = index a single hash element22:32
%h<a b c> = slice the hash22:32
:a<1> # pair a => 122:32
:a<1 2 3> # pair a => (1, 2, 3)22:32
And yes, what Juerd++ said22:33
hankache m: (1 2 3).WHAT.say;22:33
camelia rakudo-moar 96bc43: OUTPUT«=== SORRY!=== Error while compiling /tmp/R1UjXo3sID␤Two terms in a row␤at /tmp/R1UjXo3sID:1␤------> (1 2 3).WHAT.say; ␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier…»22:33
hankache m: say <1 2>.WHAT;22:34
camelia rakudo-moar 96bc43: OUTPUT«(List)␤»22:34
hankache m: say (1,2).WHAT;22:34
camelia rakudo-moar 96bc43: OUTPUT«(List)␤»22:34
hankache is theremore ways to construct a list?22:35
other than those 2 ^^22:35
lizmat m: dd List.new(1,2,3)22:35
camelia rakudo-moar 96bc43: OUTPUT«List $var = $(1, 2, 3)␤»22:35
jnthn m: dd << a "b c" { 2 + 3 } >>22:36
camelia rakudo-moar 96bc43: OUTPUT«List $var = $("a", "b c", IntStr.new(5, "5"))␤»22:36
hankache what does dd do?22:37
Juerd data dump22:37
lizmat m: my $a = 42; dd :$a22:37
camelia rakudo-moar 96bc43: OUTPUT«Int a = 42␤»22:37
Juerd It's everyone's favourite debug tool, so it deserves a nice and short name.22:37
marchelzo what's the difference between an Array and a List?22:38
Juerd Arrays are mutable22:38
hankache m: my $a = 42; say $a.perl;22:38
camelia rakudo-moar 96bc43: OUTPUT«42␤»22:38
marchelzo Juerd: Is that the only difference?22:38
Juerd I'm not sure22:39
jnthn Arrays can also be typed, and shaped, or typed and shaped (including native types to provide packed storage)22:39
hankache i see dd can be more useful than .perl sometimes22:39
thanks lizmat Juerd22:39
thanks jnthn22:39
lizmat Juerd: also, if an element of a List is a container, it *can* be changed22:40
m: my $a = (1, my $ = 2, 3); $a[1] = 42; dd $a22:40
camelia rakudo-moar 96bc43: OUTPUT«List $var = $(1, 42, 3)␤»22:40
jnthn Generally, arrays are used for mutable storage, lists are often more transient22:40
Juerd lizmat: Sure, but the elements are not the List22:41
marchelzo lizmat: well that is consistent with Lists being immutable22:41
lizmat well, some people interpret "List are immutable" as the values in a List being immutable as well22:42
jnthn Right, nothing stops an immutable list containing mutable objects.22:42
lizmat I wanted to get that across :-)22:42
jnthn Yes, it's an important distinction :)22:42
hankache still doesn't fully understand who is mutable and who is not22:43
timotimo jnthn: https://gist.github.com/nxadm/141723568ac6235f212b - did you see this? it hangs after a while of running :(22:43
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?22:44
hankache: It's probably easier to assume "not mutating" in Perl 6 and learn the things that do mutate.22:44
Most things don't.22:45
hankache ok22:45
what about functions and mutators22:46
.pop vs .sort22:46
Juerd What about them?22:46
El_Che jnthn: it's not very concurrent22:46
jnthn El_Che: Waht isn't?22:47
El_Che timotimo's linkk22:47
hankache .pop modifies the array22:47
.sort doesn't22:47
zengargoyle hankache: i think that.. scalar containers do a good job at being invisible ... helps a bit.22:47
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.22:48
lizmat El_Che: how can $closed ever be true if it doesn't get updated inside the loop ?22:49
until $channel.closed {22:49
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.22:49
lizmat would make more sens to me22:49
Skarsnik left22:50
jnthn lizmat: It's a Promise22:50
timotimo jnthn: it doesn't happen in GC, nah22:50
lizmat ah, ok22:50
jnthn timotimo: How long does it take to hang?22:50
timotimo usually does so well within a single minute22:50
jnthn I'm up to 170 iteratoins here22:50
TimToady m: [&&] 0, say("oops")22:51
camelia rakudo-moar 96bc43: OUTPUT«oops␤»22:51
TimToady m: [&&] 0, say("oops")22:51
camelia rakudo-moar c27a00: ( no output )22:51
timotimo got it to hang, will give you backtraces22:51
jnthn OK. I'm up to like 230 now :)22:51
it's warming my room up too :P22:51
timotimo https://gist.github.com/timo/a912a560f23f256bc9c022:52
Juerd TimToady: Oops indeed :)22:52
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 :(22:52
hankache thanks zengargoyle22:52
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 queue22:53
TimToady m: [xor] 1, 1, say("oops")22:53
camelia rakudo-moar c27a00: ( no output )22:53
TimToady m: [xor] 1, say("oops")22:53
camelia rakudo-moar c27a00: OUTPUT«oops␤»22:53
jnthn The condvar wait is almost certainly going in Promise22:54
hankache jnthn: i agree but as an end-user is there a way i can now beforehand who mutates and who doesn't?22:54
TimToady m: [or] 1, say("oops")22:54
camelia rakudo-moar c27a00: ( no output )22:54
hankache know**22:54
jnthn hankache: Read the documentation? :)22:54
hankache fair enough22:55
jnthn hankache: Generally though, we can't actually make everything mutate or everything not mutate and end up with, well, a Perl :)22:55
crux left22:56
jnthn So we generally lean fairly strongly towards not mutating, except when the forces push against it.22:56
[particle]1 left22:56
jnthn One guideline is "if this didn't mutate, would it be algorithmically more complex"?22:56
crux joined22:57
timotimo jnthn: at least Thread 5 is inside promises .result under status == Planned22:57
jnthn But that's probably a bit fraught :)22:57
hankache: You never have to wonder on value types (all the numeric types, Str, and List, for instance), because those cannot mutate22:58
hankache: Similarly for anything you can do on a Supply or a Seq, which are all based around buiding up pipelines of operations.22:58
timotimo jnthn: paste updated with the MVM_dump_backtrace results22:58
jnthn Date/time stuff also works like immutable values22:58
So generally it's only the mutable things - like Array/Hash/SetHash/BagHash/MixHash - where it's a consideration.22:59
hankache i see22:59
hankache will sleep less ignorant tonight23:00
El_Che lizmat: compare the channel->poll code with the channel react code. The code is in the same place: https://gist.github.com/nxadm/141723568ac6235f212b vs https://gist.github.com/nxadm/1e5a26881f5831a2c8af23:00
and it's a Promise indeed23:01
I mean, "the close is in the same place"23:01
hankache thanks jnthn23:01
lucasb left23:02
jnthn :)23:02
timotimo: heh, I'm up to like 900 here by now ;)23:02
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 way23:02
_nadim hi, is transliteration documented somewhere? doc.perl6.org returnss nothing for tr trans transliteration23:03
spider-mario left23:03
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)23:04
Juerd _nadim: http://design.perl6.org/S05.html#Transliteration23:04
El_Che jnthn: it just needs to get out of the react block once the channel is closed23:04
timotimo jnthn: so maybe it's a linux-only thing? :\23:04
jnthn El_Che: Do you have any other whenevers in the react block?23:05
El_Che no23:05
jnthn Then that'll happen automatically23:05
El_Che jnthn: in 5% of the time it just hangs23:05
timotimo helgrind, a thread error detector23:05
El_Che jnthn: put the bug here: https://rt.perl.org/Public/Bug/Display.html?id=12684223:06
timotimo much output23:06
lucs This appears to work, but is there something more idiomatic?: use lib IO::Path.new($?FILE).dirname;23:06
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.23:06
_nadim Juerd: thanks but the docuentation doesn't list the. I'll test it23:06
timotimo ok, now it's hanging23:06
El_Che in short: 1. I don't get the doc (I'll patch it accordingly when I get it)23:06
Juerd _nadim: Documentation is missing for a lot of things. Maybe you'd like to write some? :)23:07
cdg left23:07
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 backtraces23:07
masak is a bit of a funny error message23:07
is this related to precomp?23:07
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?23:07
masak should I blow my lib/.precomp/ ?23:07
timotimo jnthn: F5 on the gist gives you the exact script i ran and helgrind output23:08
jnthn El_Che: I'm not too worried about bugs in xmas of the "it obviously fails to work right" nature23:08
El_Che: I'm worried about "it works wrong and you can end up depending on semantics we don't want"23:08
timotimo especially the very end might be good, the "at exit, thread #foo was still holding $n locks: ..."23:08
masak hm, blowing lib/.precomp didn't help23:08
timotimo jnthn: i suppose it can wait, then :)23:08
masak I'm now thinking I've actually done something Very Bad in my code...23:08
jnthn masak: It's one of those "should never really happen" things23:08
masak: Last time I saw it, it was because of a nasty data race23: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 contrary23:09
jnthn But that was fixed months ago, and I've never seen it again since.23:09
El_Che very straight forward: a closed promise + poll23:09
_nadim Juerd: Getting to the point I can help, rigt now I am writting my first lines of P623:09
jnthn El_Che: Yes, it's nice the long way around is still not that long :)23:09
We'll get to the bottom of what's going on with the react thing23:10
masak jnthn: suspected the "should never happen" thing23:10
trone left23:10
_nadim I would have expected the methods to be auto generate in the docs, I guess they are, but trans is missing23:10
masak not sure what I've done yet, but it's nothing to do with data races23:10
timotimo the only thing i can come up with: $lock.protect doesn't work :P23:10
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. :)23:10
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, imho23:10
Juerd _nadim: That's cool. I hope you're having fun with your first lines :)23:10
_nadim: Docs are not auto-generated (yet?)23:11
jnthn El_Che: react/whenever work on Promise also23:11
El_Che: So they're pretty cross-mindset :)23:11
El_Che: The real power is you can use supplies *and* channels in the same react23:11
_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!!!!23:12
El_Che anyway (and unrelated), whoever added the nl-in in IO::Handle recently: You sir or madam, made my code a lot faster. Kudos23:12
_nadim I need to find time indeed23:12
Juerd _nadim: Documentation is mostly written separate from the spec and implementation, at https://github.com/perl6/doc/tree/master/doc23:12
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 :)23:12
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 joined23:13
timotimo El_Che: nl-in and nl-out moved into the VM in big parts; especially chomping is there now23:13
jnthn Only nl-in moved into the VM :)23:13
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, right23:14
well, that's the more expensive one anyway :)23:14
jnthn It learned to support multiple, and multi-char, separators at the same time.23:14
_nadim Juerd: you're sure that's the right url?23:14
jnthn And to directly construct the correct string, rather than the unchomped one and then substringing it.23:14
TimToady m: say (say("oops") !R&& 0)23:14
camelia rakudo-moar c27a00: OUTPUT«True␤»23:14
AlexDaniel left23:14
vendethiel left23:14
TimToady m: say (say("oops") !RRR&& 0)23:14
camelia rakudo-moar c27a00: OUTPUT«True␤»23:14
TimToady m: say (say("oops") ![!RRR&&] 0)23:14
camelia rakudo-moar c27a00: OUTPUT«False␤»23:14
jnthn o.O23:14
El_Che timotimo: before the move, using "\n\n" didn't work as a separator, only "\n", "\r\n" and whatever random char :)23:14
jnthn timotimo: Show-off! :)23:15
uh23:15
TimToady: Show-off! :)23:15
donaldh With the new precompilation code, is -I ignored ?23:15
TimToady ayup :)23:15
nine Woah...I just stumbled over panda's DepTracker. It's a wonder this thing still works after curli got merged23:15
jnthn I guess that's another RT down? :)23:15
nine donaldh: nope23:15
Juerd _nadim: No, but why would it be the wrong url? :)23:16
El_Che going to bed. Have fun hacking!23:16
donaldh I compile a module with --target=jar --output=module.pm.jar23:16
Then I use module, but it goes and precompiles the module.23:17
Juerd El_Che: Good night23:17
timotimo nine: um, does DepTracker even still get used? i don't think so, actually23:17
lizmat good night, El_Che23:17
donaldh Is that expected?23:17
_nadim Juerd: because I tried to clone it rather than open it ;)23:18
hankache left23:18
Juerd _nadim: Oh, for cloning remove the last part of the path :D23:18
_nadim it's cloned already ;)23:18
Juerd Oh no!23:19
nine timotimo: oh...then I'll just remove it and see if anything breaks23:19
timotimo i think it went away when panda kicked out precomp23:20
i mean ... became unused23:20
donaldh nine: I'm trying to debug the "Missing serialize function for REPR ContextRef" JVM bug.23:20
nine donaldh: any progress?23:20
donaldh: or actually: is it still there?23:21
donaldh When a module uses another module, it fails to serialize23:21
When trying to serialize a CompUnit::Handle23:22
marchelzo hyper operators are weird as fuck23:22
$a R+= $b23:23
donaldh nine: yes it's still there as of earlier today23:23
nine donaldh: 75ca9dcbb495763a2fb9e9f4829b9ba885db2a8e was an attempt to fix that, but it broke the spectests spectacutlarily23:23
TimToady m: 42 R[+=] my $b; say $b23:23
camelia rakudo-moar c27a00: OUTPUT«42␤»23:23
TimToady m: 42 R+= my $b; say $b23:24
camelia rakudo-moar c27a00: OUTPUT«42␤»23:24
ChristopherBotto left23:26
marchelzo imagine if there were something like IOCCC for perl623:26
this language is the quirkiest thing I've ever encountered.23:26
nine donaldh: I guess it broke exactly when a module uses another module23:26
donaldh hmmm, reading diff23:27
timotimo i'll go have a sleep23:27
nine good night timotimo++23:27
timotimo: thanks for the hint about DepTracker :)23:27
timotimo sure thing! :)23:27
arnsholt marchelzo: R[op] isn't even a hyperop, that's just a metaop ^_^23:27
timotimo yeah, that's how we do bracketing inside metaops23:28
if things get ambiguous, you can disambiguate23:28
marchelzo arnsholt: what's a hyperop? Is >> << a hyperop?23:28
timotimo but does R[[op]] work as a reduction operator?23:28
marchelzo: >> << on its own isn't. together with other things it is23:28
marchelzo I see23:28
TimToady [] is reduction only when used as a listop23:28
M-Illandan joined23:29
TimToady otherwise it's just disambiguation23:29
timotimo hm, OK23:29
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 lists23:30
timotimo so no >>andthen<< any time soon? ;)23:32
timotimo disappears towards bed23:32
TimToady use Zandthen if you want that23:32
bookimp joined23:33
yqt left23:35
marchelzo what is .? is it an operator?23:36
or is it syntax?23:36
TimToady in a method call?23:36
it's a variant of . that doesn't blow up if the method doesn't exist23:37
m: say 42.nonesuch23:37
camelia rakudo-moar c27a00: OUTPUT«Method 'nonesuch' not found for invocant of class 'Int'␤ in block <unit> at /tmp/KbMAmAKHBp:1␤␤»23:37
marchelzo sorry, the question mark was indicating a question23:37
TimToady m: say 42.?nonesuch23:37
camelia rakudo-moar c27a00: OUTPUT«Nil␤»23:37
marchelzo I meant just the dot23:37
TimToady ah23:37
dot in which context?23:37
marchelzo like 4.sin23:37
TimToady just means you're calling a method23:37
was -> in Perl 523:37
marchelzo so it's syntax?23:38
TimToady yes, it's really sort of a postfix prefix :)23:38
in fact, you can take any non-method postfix and add a .23:38
marchelzo I thought something like: [1, 2, 3] >>.>> sin would work.23:38
but that would require . to be an operator.23:38
Zoffix joined23:39
bookimp left23:39
ShimmerFairy marchelzo: ah, I think you just want [1, 2, 3]».sin23:39
marchelzo yes, I know that works, but I was just experimenting23:39
TimToady it's only sort of a pseudo-operator, since it does have to warp the "sin" into a method name23:39
marchelzo mm23:39
lizmat good night, #perl6!23:40
TimToady o/23:40
masak 'night, lizmat23:40
'night, #perl623:40
Zoffix \o23:40
hah "Building Rakudo with backend 'maor' is NYI. Well volunteered!"23:42
M-eternaleye joined23:42
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 left23:43
marchelzo how to map a function over a list?23:44
TEttinger joined23:45
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)␤»23:47
TimToady m: say (1,2,3)».&sin23:47
camelia rakudo-moar c27a00: OUTPUT«(0.841470984807897 0.909297426825682 0.141120008059867)␤»23:47
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…»23:48
dalek rakudo-star-daily: 765f807 | coke++ | log/ (2 files):23:48
rakudo-star-daily: today (automated commit)23:48
rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/765f807daf23:48
TimToady m: 1,2,3 Xandthen &say23:49
camelia rakudo-moar c27a00: OUTPUT«1␤2␤3␤»23:49
marchelzo hmm...23:49
what does the colon signify?23:49
TimToady many things, context?23:49
marchelzo in that example above23:49
(1,2,3).map: {.&foo}23:50
Zoffix joined23:50
TimToady that one turns a method into a listop, so you don't need a closing paren23:50
so, same as (1,2,3).map({.&foo});23:50
marchelzo ah23:50
TimToady usually used for endweight reasons, especially if the block is multi-line23: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: http://fpaste.scsys.co.uk/50255723:51
TimToady so you can end the block with a simple } rather than });23:51
Zoffix )23:51
joeschmoe2 m: say %p6c.fmt("%s!"); # "sorear!\nfglock!\n"23:51
camelia rakudo-moar c27a00: OUTPUT«=== SORRY!=== Error while compiling /tmp/tEc62mxiFG␤Variable '%p6c' is not declared␤at /tmp/tEc62mxiFG:1␤------> say %p6c.fmt("%s!"); # "sorear!\nfglock!\n" ␤»23:51
joeschmoe2 m: say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n"23:51
camelia rakudo-moar c27a00: OUTPUT«=== SORRY!=== Error while compiling /tmp/wsnuaxXbXD␤Variable '@nr' is not declared␤at /tmp/wsnuaxXbXD:1␤------> say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n" ␤»23:51
jdong joined23:52
joeschmoe2 m: @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n"23:52
camelia rakudo-moar c27a00: OUTPUT«=== SORRY!=== Error while compiling /tmp/rCWYxoY6oF␤Variable '@nr' is not declared␤at /tmp/rCWYxoY6oF:1␤------> <BOL> @nr = 1..5; say @nr.fmt("+%d."); # "+1.+ ␤»23:52
joeschmoe2 m: @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n";23:52
camelia rakudo-moar c27a00: OUTPUT«=== SORRY!=== Error while compiling /tmp/FDZYoBVSet␤Variable '@nr' is not declared␤at /tmp/FDZYoBVSet:1␤------> <BOL> @nr = 1..5; say @nr.fmt("+%d."); # "+1.+ ␤»23:52
lostinfog left23:53
TimToady joeschmoe2: you declare variables using 'my'23:54
it's not optional...23:54
joeschmoe2 m: my @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n";23:54
camelia rakudo-moar c27a00: OUTPUT«+1. +2. +3. +4. +5.␤»23:54
joeschmoe2 cool thanks23:54
glaukommatos joined23:55
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 joined23:56
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 :S23:57
joeschmoe2 m: my $Link = 'https://www.google.com; say $link23:58
camelia rakudo-moar c27a00: OUTPUT«=== SORRY!=== Error while compiling /tmp/fqYLLAGKF1␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/fqYLLAGKF1:1␤------> ink = 'https://www.google.com; say $link <EOL> ␤ expecting any of:␤ sing…»23:58
marchelzo what's the difference between @xs.map: *.say and @xs.map: &say23:59
joeschmoe2 m: my $Link = 'https://www.google.com'; say $link23:59
camelia rakudo-moar c27a00: OUTPUT«=== SORRY!=== Error while compiling /tmp/dcWTrkLbV1␤Variable '$link' is not declared. Did you mean any of these?␤ &link␤ $Link␤␤at /tmp/dcWTrkLbV1:1␤------> y $Link = 'https://www.google.com'; say $link ␤»23:59
Zoffix joeschmoe2, Perl 6 is case-sensitive23:59
joeschmoe2 m: my $Link = 'https://www.google.com'; say $Link23:59
camelia rakudo-moar c27a00: OUTPUT«https://www.google.com␤»23:59
Zoffix joeschmoe2, you can also /msg camelia m: blah blah to eval code in private, if you wish to do so23:59
joeschmoe2 I will thanks23:59

Logs Search ←Prev date Next date→ Channels Documentation