»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 bpmedley_ left 00:01 RabidGravy left 00:04 hankache left 00:08 tth joined, yeahnoob left 00:10 vividsnow left 00:12 yeahnoob joined
autarch how can I handle a C library which added a certain function that I want to access if it's there, but not blow up if it's not 00:14
ah, looks like it's a runtime error, that's good
00:20 jcallen joined, vendethiel left 00:21 patrickz left, vendethiel joined 00:23 rvchangue left
jcallen I'm trying to build rakudo through a package manager (meaning that `make install` *must not* touch /usr, but rather $(DESTDIR)/usr, etc.), and seeing an issue with tools/build/install-core-dist.pl trying to write to /usr/share/perl6/repo.lock (and failing because of the sandbox). Has anyone else been able to try to fix this? (I'm looking to try and create a patch, but the code involved is a bit convoluted) 00:23
00:23 rcy left 00:24 yeahnoob left 00:25 huf left, spider-mario left, huf joined, Psyche^ left
stmuk jcallen: I believe others had the same or similar problems in the last day or so 00:25
00:25 Psyche^ joined
stmuk jcallen: probably worth checking irclog.perlgeek.de/perl6/2015-12-28 00:25
00:26 Arrowhead joined, rvchangue joined, lsm left 00:27 yeahnoob joined 00:30 Arrowhead left
flussence rakudo git already has... three different fixes for this. probably should put them into a 2015.12.1 00:32
jcallen ...why can't I find a link to rakudo git... 00:33
flussence github.com/rakudo/rakudo
jcallen that was too obvious (except that I don't assume that github is the canonical place to find sources...) 00:34
00:36 rindolf left
orbus style question - what's the preferred method for module functions to communicate errors? return false? throw exceptions? whatever the author feels like (like in perl5)? 00:36
geck jcallen: what distor are you packaging for? 00:37
orbus I'm writing a new module
timotimo what perlbrew invocation do you use to get a rakudo 2015.12 with perl 6.c?
jcallen geck: Gentoo
flussence orbus: fail() if it should be recoverable, die() if not
orbus hrmm
okay, will go take a look at those
I know die
flussence jcallen: gitlab.com/flussence/perl6-overlay already has rakudo ebuilds
orbus haven't looked at fail
geck I've been pondering building a rakudo software collection for RH distros
00:38 lsm joined
orbus yum/dnf repository would save people some time for sure 00:38
jcallen flussence: that's an overlay; I'm working on repo/gentoo.git :D
flussence oh, feel free to steal them then :)
00:39 zed00 left
orbus or really now that the spec is stable, lobby to get rakudo into distros 00:39
flussence (at least two of those workarounds were *because* I was trying to get it to build on gentoo, so the hard work's done for you :)
orbus but I have no idea how that works :)
geck orbus:easier to just put out a package 00:40
I mean, earliest it could get in is rh/centos 8
as far as the enterprise distros go
jcallen should we be using the system libffi or the included 3rdparty/dyncall? 00:41
geck pkgs.fedoraproject.org/cgit/rakudo-star.git/ -> probably wouldn't take very long using that as a starting point 00:43
flussence I've been building things with both for a long time, spectest stuff has been fine, the only real issue is bundled libtommath because upstream hasn't taken patches for that yet
(it compiles fine, but you get weird errors in printf stuff)
00:45 rindolf joined
mojca I can confirm flussence's observation about printf and libtommath; the problem is that MoarVM should not install the libraries at standard places 00:45
jcallen flussence: I'm referring to libffi/dyncall specifically as there is a choice between them :)
flussence ohhh... I've never noticed...
awwaiid I want to add another 'multi sub EVAL' for :lang<Python> support. When I put it in the REPL or a main .pl6 file it works fine; when I put it in lib/Inline/Python.pm6 (above the class Inline::Python) it does not. Any pointers? 00:46
flussence ergh, yeah there's a bunch of stuff leaking into /usr/include here. I better fix that... 00:47
awwaiid the failure is that I get the "No compiler available for language 'Python'" exception, as if I hadn't created the multi sub EVAL at all
00:49 wingfold left
sammers hello, is there a way to do multiple assignment from an array? Something like my $foo, $bar = [1, 2]; 00:50
TimToady m: my ($foo,$bar) = [1,2]; say $foo; say $bar 00:51
camelia rakudo-moar 64a61a: OUTPUT«1␤2␤»
00:52 cygx joined
cygx awwaiid: your EVAL should look like this: multi EVAL(Cool $code, Str() :$lang! where 'python') is export { ... } 00:52
sammers ok, that is perfect
thanks, and congrats on the release... having lots of fun.
awwaiid cygx: I just tried the 'is export' and it works! I guess the code in rakudo implicitly does that somehow 00:53
cygx awwaiid: the core is an outer lexical scope surrounding your program, thus no need to export
awwaiid cygx: the core? 00:54
cygx awwaiid: Rakudo's core setting, ie the stuff in rakudo/src/core
awwaiid cygx: oh. this file is src/core/control.pm . I see
cygx: cool, thanks! 00:55
01:00 bpmedley joined
orbus geck: presumably should try for both - custom repo for centos 6/7 and try to get it included in 8 01:02
TimToady though why we call something on the outside "core" is anyone's guess :)
01:02 vendethiel left
TimToady it's more like "cladding" 01:02
orbus geck: although even then the custom repo is worthwhile because stuff in centos swiftly drifts out of date 01:03
awwaiid TimToady: is it like OCaml's "prelude" -- more or less a standard-lib?
01:03 dududuedu joined
awwaiid oh wait, you were refering to outer lexical scope. nevermind. 01:03
orbus alright... my module basically works but I'm too tired/lazy to write tests or upload to github 01:04
maybe later
TimToady but we don't call it a prelude specifically because it is not in front, but around
01:04 lichtkind joined
orbus first, food 01:05
awwaiid TimToady: like being wrapped in a nice warm blanket on a cold day
TimToady or vice versa
flussence circumlude? 01:08
dalek blets: cbdf706 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
added tau constant
01:08 rindolf left
lichtkind are ther eutf verions of u nad i constants too? 01:09
01:16 mojca left
timotimo what is u? 01:17
01:18 virtualsue left 01:19 Arrowhead joined
lichtkind sorry I ment i and e 01:19
was distracted smacking troll that claimed larry dont even knew chomsky 01:20
TimToady well, I never met him 01:21
lichtkind :)
01:21 cygx_ joined
timotimo that one dood on twitter who's been annoying, negative, uninformed and unhelpful is now claiming false advertisements because he can't apt-get or perlbrew install 6.0.0 01:21
TimToady but by the time I was in grad school at UCB, the professors there had already found counterexamples to all but one of his "transformational" rules
lichtkind yes but its just stupid to claim you had to be forced to introduce oo into perl 6 01:22
TimToady haters gonna hate
lichtkind yes we wanted fresh ones :)
01:24 Arrowhead left, cygx is now known as Guest3863, Guest3863 left, cygx_ is now known as cygx
lichtkind at least koleda go its own main line news item, which means it was even in the top level news feed here in germany 01:25
flussence I don't even bother engaging with 'em any more. If they want to hellban themselves into maintenance programming, that's their loss :)
lichtkind well its the discussion section under my article , i try to keep there at least informed answers 01:26
have a wonderful night 01:27
its past a am here
o/
2am i mean
01:27 adhoc left 01:29 adhoc joined 01:30 lichtkind left 01:32 shicheng joined
dalek kudo-star-daily: ad07e14 | coke++ | log/ (8 files):
today (automated commit)
01:34
01:35 kj_ joined 01:36 kj_ is now known as kmj 01:39 shicheng_ joined 01:43 shicheng left, BenGoldberg left
kmj Hi all. This is my first bit learning perl6. I have a quick question. Is it expected that if I call a method on an object that within double quotes, that the method does not get called unless it is called with parentheses. For instance: 01:43
y $file = "main.p6"; 8 say "$file.IO.Str $file.IO.s";
versus
myy $file = "main.p6";
say "$file.IO.Str() $file.IO.s()"; 01:44
jdv79 yes
01:44 BenGoldberg joined
kmj Ok, thanks 01:44
01:45 BenGoldberg left
TimToady yes, the only expression-like thing that can interpolate without trailing brackets of some sort is a bare $foo variable 01:45
well, unless you count {$file.IO.Str} as an expression-like thing 01:46
01:46 shicheng_ left
timotimo TimToady: and putting an extra % in front :P 01:46
TimToady but in a sense that has trailing brackets too :)
timotimo m: my %foo = hi => "wat"; say "%%foo"
camelia rakudo-moar 64a61a: OUTPUT«%%foo␤»
timotimo m: my %foo = hi => "wat"; say "%%%foo"
camelia rakudo-moar 64a61a: OUTPUT«%%%foo␤»
timotimo ... huh
m: say "%%%foo"
camelia rakudo-moar 64a61a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z9zW0XPEhO␤Variable '%foo' is not declared␤at /tmp/Z9zW0XPEhO:1␤------> 3say "%%7⏏5%foo"␤»
timotimo well ... :P
01:46 BenGoldberg joined 01:49 shicheng joined
kmj Thank you. BTW, congrats releasing perl6. I know there's a lot of work to do, but this is a really neat milestone. 01:51
timotimo thanks for the encouragement :) 01:52
TimToady lovers gonna love :) 01:53
01:54 BenGoldberg left
Hotkeys I'm trying to match 3 consecutive letters but I think I'm doing something wrong i.imgur.com/Sggr2NQ.png 01:54
am I doing inline code in regex wrong
01:55 BenGoldberg joined
timotimo m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0]; say $0[1]; say $0[2] }> / 01:56
camelia rakudo-moar 64a61a: OUTPUT«「h」␤「i」␤「j」␤「i」␤「j」␤「k」␤「j」␤「k」␤「l」␤「k」␤「l」␤「m」␤「l」␤「m」␤「n」␤»
timotimo m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0]; say $0[1]; say $0[2]; say "" }> /
camelia rakudo-moar 64a61a: OUTPUT«「h」␤「i」␤「j」␤␤「i」␤「j」␤「k」␤␤「j」␤「k」␤「l」␤␤「k」␤「l」␤「m」␤␤「l」␤「m」␤「n」␤␤»
timotimo m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].succ; say $0[1]; say $0[2].pred; say "" }> /
camelia rakudo-moar 64a61a: OUTPUT«Method 'succ' not found for invocant of class 'Match'␤ in block <unit> at /tmp/GpjGxS0gIA line 1␤␤»
01:56 BenGoldberg left
timotimo m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].Str.succ; say $0[1]; say $0[2].Str.pred; say "" }> / 01:56
camelia rakudo-moar 64a61a: OUTPUT«i␤「i」␤i␤␤j␤「j」␤j␤␤k␤「k」␤k␤␤l␤「l」␤l␤␤m␤「m」␤m␤␤»
timotimo m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].Str.succ; say $0[1].Str; say $0[2].Str.pred; say "" }> /
camelia rakudo-moar 64a61a: OUTPUT«i␤i␤i␤␤j␤j␤j␤␤k␤k␤k␤␤l␤l␤l␤␤m␤m␤m␤␤»
timotimo m: "hijklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia ( no output )
timotimo m: say "hijklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia rakudo-moar 64a61a: OUTPUT«Nil␤»
dalek c: e5ebc53 | coke++ | / (3 files):
Add categorized search results.

Closes #273
timotimo m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / 01:57
camelia rakudo-moar 64a61a: OUTPUT«True␤True␤True␤True␤True␤»
timotimo m: say "hijklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia rakudo-moar 64a61a: OUTPUT«Nil␤»
timotimo m: say "hijklmn" ~~ / (.) ** 3 /
camelia rakudo-moar 64a61a: OUTPUT«「hij」␤ 0 => 「h」␤ 0 => 「i」␤ 0 => 「j」␤»
01:57 BenGoldberg joined
timotimo oh 01:57
m: say "hijklmn" ~~ / (.) ** 3 <?{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia rakudo-moar 64a61a: OUTPUT«「hij」␤ 0 => 「h」␤ 0 => 「i」␤ 0 => 「j」␤»
timotimo that's the thing i was missing
i think the result of <{ }> gets interpolated as a regex language thingie 01:58
m: say "hijTrueklmn" ~~ / (.) ** 3 <?{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia rakudo-moar 64a61a: OUTPUT«「hij」␤ 0 => 「h」␤ 0 => 「i」␤ 0 => 「j」␤»
timotimo m: say "hikFalselmn" ~~ / (.) ** 3 <?{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia rakudo-moar 64a61a: OUTPUT«「lmn」␤ 0 => 「l」␤ 0 => 「m」␤ 0 => 「n」␤»
timotimo eh, derp
m: say "hikFalselmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia rakudo-moar 64a61a: OUTPUT«「hikFalse」␤ 0 => 「h」␤ 0 => 「i」␤ 0 => 「k」␤»
timotimo m: say "hijTrueklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> /
camelia rakudo-moar 64a61a: OUTPUT«「hijTrue」␤ 0 => 「h」␤ 0 => 「i」␤ 0 => 「j」␤»
timotimo ^- could be ... useful? :P
[Coke] ENODALEK? 01:59
Hotkeys oh
why <?
on the code block 02:00
shicheng Greetings! Just heard the new Perl 6 release :) 02:01
TimToady we just heard about it 3 days ago ourselves :)
timotimo Hotkeys: turns it from something similar to <$foo> (interpolates regex) to something similar to <?$foo> 02:02
is <?foo> actually a sensible explanation for this?
[Coke] I tell you, we were all kind of surprised.
02:02 halto joined
shicheng Besides more neat syntax, does anyone has a sense about what kind of purpose that the new release could serve? 02:02
Hotkeys So basically it lets the regex match the truthiness of the code rather than just evaluate the code itself? @ timotimo 02:03
mst shicheng: perl6.c is a final "backcompat changes are considered bugs" release of the lnaguage
shicheng: that difference in policy is important
[Coke] wendy wrote up a nice article on "why use perl6"... but I don't remember where it went.
mst like, hugely important
shicheng Code: I would be very interested to read that article 02:05
Sorry.. [Coke]
[Coke] ah, found it: wendyga.wordpress.com/2015/12/25/w...e-answers/
mst of course my answer is basically 02:06
timotimo Hotkeys: the return value is the important distinction
shicheng mst: so does this mean it has a totally new design (which breaks backcompagt
mst 1) because perl5 OO with Moo/Moose is so much better than python/ruby/ES6 I can't use them without getting annoyed
shicheng backcompat
mst but perl6 is if anything even better 02:07
timotimo if you have a <{ ... }> in your thing and it returns something like "...", it'll be interpolated so that it matches three characters
02:07 BenGoldberg left
mst 2) becauee grammars are amazing 02:07
shicheng: perl6 and perl5 are different languages
timotimo whereas <?{ ... }> will pass or fail the match at that point (but still let it backtrack and try again) if the return value isn't True
mst shicheng: perl6 has Inline::Perl5 that allows native use of perl5 code in perl6
shicheng: perl5 has Inline::Perl6 that allows native use of perl6 code in perl5
Hotkeys timotimo: alright, thanks!
mst shicheng: so "backcompat is totally broken but all your stuff should still totally work together"
shicheng mst: I see, I will keep this in mind 02:08
mst shicheng: i.e. you can run both in the same process, so the fact they're different languages in the same family actually isn't a disaster
[Coke] wonders how to check on the build progress on docs.perl6.org
mst shicheng: I rather like this as an approach tbh
timotimo www.reddit.com/r/haskell/comments/..._of_perl6/
shicheng I am excited to see this classic lang got a new totally release, was too afraid of grammar difficulty to study it
mst shicheng: think of perl5 and perl6 as like lisps 02:09
shicheng: except with excellent bidirectional interop
shicheng with same spirit
On official website it says "It is going to serve for next hundred years." 02:10
What does that mean? I am curious ;)
mst shicheng: note I'm mostly a perl5 hacker, but perl6 grammars are likely to drive me to use Inline::Perl6 anyway
and I'm proud to be part of a community that cares about the bidi interop thing
02:11 xpen joined
leont Having written two non-trivial grammars (TAP and YAML), I agree with the grammars are awesome sentiment (YAML itself however…) 02:12
gfldex shicheng: Perl 6 is ready for the next 100 years because the grammer of the language is extensible and the language as a whole is planned to be extended by the user 02:13
jdv79 that's assuming people still code 100 years from now 02:16
02:17 lustlife joined, shicheng_ joined
TimToady it doesn't have to be people doing the coding... 02:20
shicheng_ haha I like this extensible idea
flussence hm, looks like I can't build moar with --lua=/usr/bin/lua on gentoo, 'cause those bundled dyn* deps aren't available as packages... 02:21
02:21 shicheng left, lsm left 02:23 lsm joined 02:28 shicheng joined
TEttinger isn't dynasm a luajit thing? 02:28
flussence well I've already got that installed too, but nothing remotely looks applicable there either 02:29
02:29 shicheng_ left
timotimo gah! 02:30
it was monday and i totally forgot to work on the weekly :S
flussence if you hadn't said anything nobody would've noticed :D
[Coke] docs.perl6.org doesn't seem to be rebuilding; it did seem to have a build yesterday, though. 02:32
mst timotimo: you were busy doing other awesome things
timotimo: I can't stop it annoying you, but I can say that your productivity overall is such that I'd defend the omission ;)
02:33 yqt left
timotimo i watched congress livestream and played disgaea 5 :P 02:34
also, i washed some laundry and napped
*sigh*, i kind of miss the advent calendar already 02:35
02:35 BenGoldberg joined, yqt joined
flussence well we've got the next 11.5 months free to write one that isn't outright painful to use... 02:37
mst not it, but I totally hope I'll help make it easier to deploy ;)
(this is me not promising anything, but saying toolchain stuff here so far has been fun so I'll hopefully keep getting sucked in ;) 02:38
mspo timotimo: you can always keep blogging
timotimo i'm surprised & glad you're enjoying working on our toolchain
mspo: yeah, i'll just blog something very interesting and also fun every day ... because i've already been so good at delivering the weekly on mondays ...
i didn't even work on the perl foundation perl6 wiki one bit today either 02:39
anyway. now is bedtime. 02:40
good night!
flussence o/
flussence gives this dumb hacky moar header cleanup fix another shot
mst timotimo: I am the right sort of masochist to enjoy this, it appears. and long may it continue to seem so to me, since that way I'll keep doing useful things ;)
flussence: remember the mantra: "this is systems. you appear to be trying to be clever. stop." - so dumb+hacky may be the right thing 02:41
flussence: also, if you can reduce it to a perl -pi -e or similar, include the hacky script in the commit message for its application, then people can see exactly what you did and tweak it later if required
flussence long story short: moar bundles libs. moar provides an off switch, but the makefile force-installs the header files for them anyway. my hack right now is to just rm -rf those bits from $DESTDIR before it gets plonked into /usr 02:43
...which works *great* up until trying to build rakudo, because it needs some of those headers. whoops. 02:44
surprised nqp and its sanity tests don't mind, though 02:45
cygx flussence: nqp doesn't require extension ops 02:46
02:46 castj left
mst flussence: yeah, I figured it'd be like that 02:46
02:47 atweiden left
mst first, however, I need to hit rakudobrew with a shovel until I can write tests 02:47
also I totally had another thing to write between christmas and new year
going to try and spend time on both but
02:49 halto left
flussence
.oO( geez, I was a normal user last week... how'd I end up doing all this?! )
02:51
mst flussence: I hadn't even done anything until two days ago and then you broke something and I was bored :P
flussence: welcome to the perl community. this is why I'm here.
02:53 molaf_ joined 02:54 dududuedu left, cygx left
mst flussence: www.youtube.com/watch?v=BaeXXA5UyYg is my life since realising that :) 02:55
flussence uh oh... the first bit of that video description sounds familiar :) 02:57
02:57 molaf left 02:58 Su-Shee_ joined
mst having given the SoTV to sawyer, I got to do a community talk that's basically "why I'm here and you should be too" 02:58
it made my happy :)
03:00 spock joined, spock is now known as Guest75873
Guest75873 hello 03:00
[Coke] hello, spock.
03:01 Su-Shee left 03:02 Guest75873 is now known as fong, Ben_Goldberg joined
[Coke] does git checkout origin/master do a pull? 03:03
mst no
colomon [Coke]: as opposed to what?
mst it'll hceckout whatever your current mirror of origin has
flussence nope, it just gives you a detached head pointed to wherever that was last time you fetch/pulled
colomon oh, right, what flussence said
flussence++ said
[Coke] I wonder what github.com/perl6/doc/blob/master/u...d-sync#L10 is trying to do here. 03:04
ah, there's a git fetch in the script earlier. so that might work.
flussence looks like it's trying to do `git pull master`-but-without-merge-nightmares :)
[Coke] urrrk. I cherry picked a 2 day old commit... 03:05
03:05 geraud left, BenGoldberg left
dalek c: 827e8cb | coke++ | bin/p6doc-index:
remove some trailing whitespace
03:06
[Coke] so it got very confused.
03:10 cooper joined 03:14 noganex_ joined 03:15 pdcawley joined, leont left 03:16 noganex left 03:19 pdcawley left 03:20 Arrowhead joined 03:23 kid51 left
autarch It looks like all of the pages besides the index pages are 404'ing on the doc site 03:24
hmm, except under /route
/routine
03:24 Arrowhead left
awwaiid autarch: you beat me to report it by 2 mins! 03:26
autarch I win the big prize!
awwaiid you get to keep both halves
autarch PM me for the address to send money to
03:26 addison left
[Coke] autarch: I'm trying to build the site. It's possible the build process has gone wonky. 03:28
autarch maybe best to restore from backup for now? if such a thing is possible
[Coke] I think the process is also not happy if it takes more than 5 minutes.
Hotkeys did docs.perl6.org disappear 03:31
I can't access any of the pages
except the main pages
gfldex Hotkeys: yes, there is a cronjob so it might resurface in a bit
awwaiid taking 5to6-nutshell.pod and s/Perl 5/Ruby/g is amusing.
Hotkeys ah
[Coke] it would super awesome if the build process didn't take more than 6 minutes and counting. :|
gfldex the last time i tried to htmlify.p6 on my not so fast linux box, it took 90min 03:32
jdv79 any ideas on what the hot spots are? 03:33
[Coke] no, because it chokes the profiler.
gfldex anything really. It's not doing any concurrency
03:34 rburkholder left
gfldex and it takes the $=pod content and transforms that into some intermediate format 03:34
i made my own pod2html (that does a lot less) and it takes 1m3s to generate the html
Hotkeys even with the long build times, does it need to remove all the docs mid-build? 03:35
or is it a "it doesn't need to" situation
gfldex it should not do that
and it didn't do that in the past, so there might actually be something very wrong, like a partial build that didn't fail loudly 03:36
03:36 itaipu left
Hotkeys ah, fun 03:37
[Coke] as I said, I was trying to force a build, since it was not building. 03:38
gfldex Use of the 'unpack' method is experimental; please 'use experimental :pack'
that's what it says locally
i'm on it, testing locally again (what takes time) 03:39
dalek c: bd8f5a5 | coke++ | README.md:
perl 6, not perl6.
[Coke] ok, a fresh build is now running, hopefully with nothing left of my attempt. 03:40
I think the version of rakudo on the server is slightly older. 03:41
version on the server is 2015.11-722-g1088291
so unpack is probably fine there.
dalek c: c9e8656 | (Wenzel P. P. Peppmeyer)++ | htmlify.p6:
unpack is now experimental
03:42
c: 2600f80 | (Wenzel P. P. Peppmeyer)++ | htmlify.p6:
Merge pull request #287 from gfldex/master

unpack is now experimental
[Coke] instead of using 30% cpu, it's now using 100%, that's an improvement...
dammit.
that is going to break the next run. didn't we already add that and remove it once?
or not apply it because we didn't have a fresh enough rakudo on the server?
gfldex we will see how it goes i guess 03:44
03:45 joydo joined
[Coke] in case I get hit by a bus, this cronjob is running under the docs.* user on hack 03:45
03:48 itaipu joined
[Coke] I don't have pygmentize on the box I test docs stuff on; wonder if that slows the build down. 03:50
gfldex it does 03:51
03:52 regreg left
gfldex and it does so single threaded, what is a shame 03:52
[Coke] site is back 03:54
... this build is no where near done, but there was a last copy.
autarch is it ok to commit typo fixes in doc to master directly?
[Coke] sure? 03:56
dalek c: dc77e5a | (Dave Rolsky)++ | doc/Language/nativecall.pod:
Fix typo (explicited is not a word)
[Coke] m: say "Coke--" # breaking docs.perl6.org 03:57
camelia rakudo-moar 64a61a: OUTPUT«Coke--␤»
[Coke] wow, even the profile output from autarch's pod to html's basic.t is choking my copy of chrome. 04:00
[Coke] wonders if he has to try to another upgrade there.
autarch [Coke]: yep, had the same problem
I really think the profiler output needs some rethinking - JSON is not a great format for huge amounts of data since you can't really parse it from a stream
although even with a format that doesn't require "read everything and parse it all at once" I wonder how perl6 would handle huge amounts of data 04:01
[Coke] is it json that is parsed and turned into code, or is it interpreted as raw JS? 04:02
it's been a while since I poked.
json.parse... yah, that'd do it.
autarch but what I mean is that you have to parse the whole data structure before you can do anything with it
as opposed to something where you could build up your internal representation as you stream in data 04:03
[Coke] autarch: one possible thing that might help is making something that's a data structure, not just a bunch of keys/objects. (keep the size of the giant object down)
autarch that said, none of that matters for the web browser
04:04 kaare_ joined
autarch I kind of doubt there's any way to make something where the profiler lives in JS only for large programs - my profile of htmlify.p6 --sparse=20 was 83MB 04:04
nytprof handles huge files that reasonably well, in my experience
[Coke] TimToady: 6.41% of the time in this basic.t test file is in sink-all
04:04 fong left
[Coke] autarch: does it surprise you that basic.t created 34K+ Scalars? 04:08
autarch [Coke]: heh, yes, it sure does!
04:08 shicheng left
autarch I didn't think the code I wrote was particularly egregious - it's not super optimized but I don't think it's doing anything crazy awful 04:09
[Coke] hurm. I am using the INSTALLED versions of the lib in the test. one sec. 04:10
autarch [Coke]: I just ran a profile and I see the same results as you 04:11
it all seems to be happening in m-CORE.setting
[Coke] I imagine if we could cut back the allocations, that'd kill some GC that's going on... 04:13
autarch which I now realize is just a concatenation of all the core code
[Coke] OOC, why did you make the attributes Cool and not Str? 04:14
04:14 Arrowhead joined
autarch [Coke]: oh, you're asking me 04:17
autarch tries to remember ...
ah, because I thought people might end up passing things like match objects or something along those lines
maybe it should be Stringy? 04:18
honestly, I'm just guessing at a lot of things ;)
[Coke] I would start with the simplest thing that passes tests, and Str seems simpler.
You can define the methods that take them as coercing to str, so they can pass anything with a .Str method. 04:19
04:19 Arrowhead left
autarch ah, yes, that's what I want to do 04:19
how do I do that?
ah, found doc.perl6.org/language/functions#Coercion_Types 04:20
[Coke] m: class barf { method ew(Str(Any) $x) { say $x, $x.WHAT}}; barf.ew(3) 04:22
camelia rakudo-moar 64a61a: OUTPUT«3(Str)␤»
colomon FROGGS, nine, ugexe: I’m trying to get ABC working again with latest rakudo.
It’s crashing at github.com/rakudo/rakudo/blob/nom/...ion.pm#L41
(well, at the code that line generates)
The problem is calling Installation.files without a name parameter. 04:23
That causes a crash at github.com/rakudo/rakudo/blob/nom/...on.pm#L207
because you cannot call nqp::sha1 on Any
(error message is Cannot unbox a type object) 04:24
04:24 azwieg103 joined
colomon maybe this is getting triggered because of something I’m doing wrong, but I don’t see how the code at line 41 can ever work 04:24
04:25 llfourn joined 04:30 furn joined 04:31 yqt left 04:32 furn left
[Coke] that docs build is still running. 04:33
if the site craps out again after I go to sleep, su - to docs.perl6.org, cd $HOME/doc, and run util/sync as a stopgap. 04:34
(and maybe disable the cron job until we figure out the breakage). with that latest commit, I imagine the issue will be that the site stops updating.
autarch: I don't see anything useful to tell you. (the cool vs. str isn't going to be a performance win, I don't think) 04:36
autarch nope, makes no differerence, AFAICT
dalek kudo/nom: 16c5fc7 | TimToady++ | src/Perl6/Actions.nqp:
indirect meta calls also need to want args
04:45
04:49 nash joined, nash left 04:54 vendethiel joined, kaare_ left
TimToady m: my @a = -1, 2, -3; say [+] (.abs + .abs for @a) 04:57
camelia rakudo-moar 16c5fc: OUTPUT«12␤»
TimToady all better
not that anyone actually filed a bug for it...
05:06 Ben_Goldberg left, zwu joined
AlexDaniel I am fixing some typos in S99 and… “self cloakng code”? That should have been “Self-clocking code”, right? Unless somebody came up with an idea of “self-cloaking code”, honestly I wouldn't be suprised. 05:08
05:09 Dee22 joined, hlsg left, AndyDee left 05:11 zwu left
[Coke] looks like the doc build finally finished. we now have categorized search results. 05:13
labster coke++ 05:14
[Coke] AlexDaniel: it looks like it doesn't have a defintion, yes? just kill it
*definition
looks like the css is cached by default. refresh away. 05:15
labster I just unbroke File::Find::Duplicates after the GLR changes. I guess I'm a little late to the party.
[Coke] I have no problem if someone updates the css to make that prettier.
AlexDaniel [Coke]: categorized search results! Nice! 05:16
05:17 vendethiel left
AlexDaniel [Coke]: nah, I'll just fix it. Maybe some day someone will write a description. “Or if you are not sure what the missing term means, just add a header for the term.” 05:17
[Coke] fix it why? 05:18
if there's no definition, there's no reason for it to be there.
just rip it out and we can forget about it. :)
AlexDaniel well, self-clocking code is mentioned in several places 05:19
[Coke] it was added as part of a huge commit that was doing something else...
05:19 khw left
AlexDaniel so I'd love to see a definition 05:19
[Coke] ok.
05:23 Cabanossi left 05:26 Cabanossi joined
yurivish What does it mean when an array's .perl representation prints as $[1 2 3]? I'm trying to zip two of these together and they're being treated as single elements. I guess it's somehow a "scalar containing an array", but what do I do to turn it back into a regular one? 05:27
skids yurvish: put an @ or | in front depening on what you are doing. 05:28
yurivish This has come up in using JSON::Tiny; I'm trying to process some results I got from an http request. Right now I'm assigning two json arrays to two @array variables, which turn out to be "scalars containing arrays" instead
skids: thanks! I can paste some code here to show you what I'm doing.. What's the best way? 05:29
skids gist.github.org probably
yurivish gist.github.com/yurivish/4a70b891f6ffc17bb0ba 05:31
05:31 crux left
yurivish the $json.perl line prints an array starting with $[ 05:31
skids yurivish: that would mean it's a Scalar containing an Array which would be normal. 05:32
It is the Z line you are expecting to work differently?
yurivish Yeah – I'm expecting @competions to be an array, @scores to be an array, and the Z line to return a list of pairs ((completions1 scores1) (completions2 scores2) ...). 05:33
but it seems to return ((completions scores)) or something similar
skids do @completeions and @scores have $[? 05:34
yurivish skids: Oddly, they have [[ and ]]. Hadn't noticed that before. 05:35
skids yurivish: that would mean they are arrays of arrays and you may need to either de-index or flatten. 05:36
Also normally, Z will return a ist of lists so the resulting array will be an array of the tuples. 05:37
m: perl6 -e 'my @d = [1,2,3]; @d.perl.say; my @e = @d Z @d; @e.perl.say
camelia rakudo-moar 16c5fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W03TEs86Hu␤Two terms in a row␤at /tmp/W03TEs86Hu:1␤------> 3perl6 -e7⏏5 'my @d = [1,2,3]; @d.perl.say; my @e = ␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
skids m: my @d = [1,2,3]; @d.perl.say; my @e = @d Z @d; @e.perl.say
camelia rakudo-moar 16c5fc: OUTPUT«[1, 2, 3]␤[(1, 1), (2, 2), (3, 3)]␤»
skids But you can destroy the inner lists with flat. 05:38
m: my @d = [1,2,3]; @d.perl.say; my @e = flat @d Z @d; @e.perl.say
camelia rakudo-moar 16c5fc: OUTPUT«[1, 2, 3]␤[1, 1, 2, 2, 3, 3]␤»
yurivish okay, I'm now trying to figure out where the second layer's coming from...
Aha, so $json is a Scalar containing an Array. The second element of $json is itself an Array. When I grab it and print it via say $json[1].perl, it prints as a scalar containing an array. 05:40
dalek ecs: 94357cc | (Aleks-Daniel Jakimenko-Aleksejev)++ | S99-glossary.pod:
Typos, markup corrections, trailing whitespace
yurivish When I printed $json.perl, it only showed a $ around the outer array and not any of those inside the json
Apparently indexing into any scalar containing an array has that behavior 05:41
skids Right the inside of an array is autmoatically scalarized so the $'s do not show. 05:42
yurivish so when it goes to convert that to an array (or whatever it's doing) to assign to an @variable, I'm guessing it's wrapping it in another layer?
skids No it's just you ca't see the $'s
m: my $d = [1,2,[3,4]]; $d.perl.say; 05:43
camelia rakudo-moar 16c5fc: OUTPUT«$[1, 2, [3, 4]]␤»
yurivish m: my $s = $[1, [2, 3]]; $s[1].perl.say; my @a = $s[1]; @a.perl.say 05:44
camelia rakudo-moar 16c5fc: OUTPUT«$[2, 3]␤[[2, 3],]␤»
yurivish What do you mean when you say that you can't see the $'s? 05:45
skids m: my $d = [1,2,[3,4]]; $d.perl.say; $d[2].perl.say; # This
camelia rakudo-moar 16c5fc: OUTPUT«$[1, 2, [3, 4]]␤$[3, 4]␤»
skids m: my $d = (1,2,(3,4)); $d.perl.say; $d[2].perl.say; # Only Arrays do it, not lists 05:46
camelia rakudo-moar 16c5fc: OUTPUT«$(1, 2, (3, 4))␤(3, 4)␤»
yurivish Right, I got that. But why is it that my @a doesn't print with a $ prefix on the inner array?
skids It is assumed behavior, just one of the things you have to learn.
(Compared to the other ways of doing it, it was a less anoying wart) 05:47
yurivish okay. might be one of those things a bit over my head for the moment. Just started playing with perl 6 a few days ago and haven't programmed in any Perl before. Thank you for helping me!
Is the best way to not get the "nesting" to flatten the array afterwards, or is there a way to avoid it in the first place? 05:48
skids Actally it was over the head of everyone until after several attempts to work out the wrinkles in the least incosistent way :-)
Well in this case you are working with a module so using flat when you assign is probably good.
labster "Type Bool does not support associative indexing." Well, that's a new one. 05:53
skids Actually in this case I think you need | not flat.
m: True{4} 05:55
camelia rakudo-moar 16c5fc: OUTPUT«Type Bool does not support associative indexing.␤ in block <unit> at /tmp/xIj5BHPm8y line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/xIj5BHPm8y line 1␤␤»
yurivish so I fixed it by using := assignments everywhere to peel off the outer wrapping. No idea if this is terrible, but it seems to work?
skids That will mean you are directly accessing the returned array, so if you utate it, it will change. If that's OK it should be fine. 05:56
yurivish I couldn't quite grasp how "flat" was the thing I wanted since what I have is a JSON structure of the form [..., [1, 2, 3], ..., { 'thing': [4, 5, 6], ...}]
and I want to zip [1, 2, 3] with [4, 5, 5] 05:57
and the json data comes wrapped in a $[..., [1, 2, 3], ...] when I get it from from-json
wrapped as*
skids It's because $s[1] is behaving like $s[0..1] woud just with one element. 05:58
yurivish I see
skids The $ protects from flattening.
If it was in an @0sigiled variable it would not be protected.
@-sigiled, that is (I hate this keyboard) 05:59
yurivish m: flat($[1, [2, 3]]).perl.say;
camelia rakudo-moar 16c5fc: OUTPUT«($[1, [2, 3]],).Seq␤»
skids m: (| $[1, [2, 3]]).perl.say; 06:00
camelia rakudo-moar 16c5fc: OUTPUT«slip(1, $[2, 3])␤»
yurivish !
skids that slip is an object that will interpolate into surrounding lists
So: 06:01
m: (1, | $[1, [2, 3]], 4).perl.say;
camelia rakudo-moar 16c5fc: OUTPUT«(1, 1, $[2, 3], 4)␤»
06:01 nash joined
skids Basically | breaks one $ thing, and flat breaks multiple (),(),() 06:02
yurivish got it. 06:03
06:03 haircode left
skids (and then you have to remember that inside [] there are invisible $'s) 06:05
labster m: my $v = rx/foo/; say("foobar" ~~ $v); say("foobar" ~~ /foo/) #anyone know why these are different?
camelia rakudo-moar 16c5fc: OUTPUT«True␤「foo」␤»
skids /foo/ is like m/foo/ 06:06
06:07 sumdumgoi joined
yurivish what happens to simpler values, like strings, inside of a $[]? They seem to be able to be taken out via an indexing operation just fine 06:07
skids Though... hmm.
Scalars containing scalars automatically collapse.
sumdumgoi submitted his first perl6 bug :)
labster sumdumgoi++ 06:08
sumdumgoi :)
skids m: say("foobar" ~~ rx/foo/); say("foobar" ~~ /foo/)
camelia rakudo-moar 16c5fc: OUTPUT«「foo」␤「foo」␤»
skids m: my $v := rx/foo/; say("foobar" ~~ $v); say("foobar" ~~ /foo/) 06:09
camelia rakudo-moar 16c5fc: OUTPUT«True␤「foo」␤»
skids That is weird.
labster It's witchcraft. 06:10
skids We'll have to get a wizard ruling on that.
labster Anyone in here wearing a WIZZARD hat?
06:11 mempko joined
sumdumgoi puts on robe and... nope, can't find wizard hat! :P 06:11
skids m: my $v = rx/foo/; say("foobar" ~~ $v); $/.say; say("foobar" ~~ /foo/); $/.say 06:12
camelia rakudo-moar 16c5fc: OUTPUT«True␤「foo」␤「foo」␤「foo」␤»
labster sumdumgoi: here, 🎩 will have to do 06:13
sumdumgoi dons magician's hat 🎩
labster skids: this is what is currently breaking Lingua::Number, but I have no idea when the regression happened because I let my module bitrot a while. 06:14
skids star: m: my $v = rx/foo/; say("foobar" ~~ $v); $/.say; say("foobar" ~~ /foo/); $/.say
camelia star-m 2015.09: OUTPUT«「foo」␤「foo」␤「foo」␤「foo」␤»
skids Well, since September
labster Ah, not *that* bad.
06:15 Arrowhead joined
yurivish hang on, somehow @completions and @scores are still Arrays, even though they now Zip... But they zip to an array of lists, rather than a list of pairs as I was expecting o_o 06:15
labster .oO (Watch me pull a 🐇 out of my 🎩! )
skids You were wanting the Z to produce Pair objects? 06:16
yurivish I thought it did when it operated on lists?
oh, I guess that makes no sense in the general case
sure, never mind
skids Yeah, use pairup
m: my @d = [1,2,3]; @d.perl.say; my @e = (flat @d Z @d).pairup; @e.perl.say 06:17
camelia rakudo-moar 16c5fc: OUTPUT«[1, 2, 3]␤[1 => 1, 2 => 2, 3 => 3]␤»
06:19 Arrowhead left
yurivish skids: thanks, it's working now and I understand some new things :) 06:23
skids yurivish: np
06:35 xpen left 06:36 molaf_ left, xpen joined 06:40 xpen_ joined 06:43 ellybelly left 06:44 xpen left 06:48 xpen_ left, xpen joined 06:51 pdcawley joined 06:55 pdcawley left 06:56 CIAvash joined 07:04 crux joined, kivutar joined 07:06 xpen_ joined 07:07 kivutar left 07:08 cbk__ joined 07:09 xpen left, Arrowhead joined 07:12 cbk_ left 07:14 nash left, Arrowhead left
ChoHag If I put this: 'BEGIN { say "start" }; class Foo { ... }; class Bar is Foo { method baz { ... }}' in a module file and then use or -M it, it complains that Foo is only stubbed _before_ running the BEGIN phaser. 07:17
In-line is fine though:
m: BEGIN { say "start" }; class Foo { ... }; class Bar is Foo { method baz { ... }}
camelia rakudo-moar 16c5fc: OUTPUT«start␤5===SORRY!5=== Error while compiling /tmp/gPaBiV6Vpq␤'Bar' cannot inherit from 'Foo' because 'Foo' isn't composed yet (maybe it is stubbed)␤at /tmp/gPaBiV6Vpq:1␤»
ChoHag It also complains after the BEGIN phaser is executed.
07:19 ellybelly joined 07:29 sumdumgoi left 07:36 skids left 07:43 itaipu left
nine .tell webstrand yes, RAKUDO_PREFIX was introduced after 2015.12 07:49
yoleaux nine: I'll pass your message to webstrand.
07:54 SwellJoe left 07:55 itaipu joined, nash joined
orbus oh great #perl6, I seek your wisdom once more 07:56
if I'm writing a module
and I have custom exceptions in it
is there any way to export them so they show up in the X:: namespace like the docs suggest they should?
I tried naming them like X::MyModule::MyException 07:57
but they then come out in the main program as MyModule::X::MyModule::MyException
which makes sense but was not the desired effect
or is the X:: namespace really just for the built-in exceptions and I should just put custom ones in my module namespace? 07:58
labster The X:: namespace is definitely the right place to put your own exceptions. 07:59
orbus okay
that's what I thought
now... how to do it
I thought I was doing it right until I tried to catch one in the main program
labster use Module::Name;
TimToady did you put 'is export' on them?
orbus yup
that was the first thing I tried 08:00
labster what error did you get, orbus?
TimToady m: module Mine { class X::Foo is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.bar 08:02
camelia rakudo-moar 16c5fc: OUTPUT«HERE␤True␤»
TimToady seems to work here...
08:02 BenGoldberg joined
orbus hang on a second 08:02
something else is amiss
TimToady m: module Mine { my class X::Foo is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.bar 08:03
camelia rakudo-moar 16c5fc: OUTPUT«HERE␤True␤»
orbus shouldn't it be my class X::Foo is Exception is export? 08:04
I apparently have some other bug in my code I need to iron out first btw
TimToady well, I was just testing the exporting
orbus will have to come back to deal with the exceptions 08:05
well
let me try another script I had that was acting up
TimToady m: module Mine { my class X::Foo is Exception is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new.bar
camelia rakudo-moar 16c5fc: OUTPUT«HERE␤True␤»
orbus basically when I tried to call a CATCH block
TimToady m: module Mine { my class X::Foo is Exception is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new(payload => "stuff").message
camelia rakudo-moar 16c5fc: OUTPUT«Method 'message' not found for invocant of class 'Mine::X::Foo'␤ in block <unit> at /tmp/q1Pnlg65yh line 1␤␤»
TimToady hmm 08:06
orbus like CATCH { when X::Foo {.resume} }
it was acting like it didn't know what X::Foo was
TimToady m: module Mine { my class X::Foo is X::AdHoc is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new(payload => "stuff").message
camelia rakudo-moar 16c5fc: OUTPUT«stuff␤»
TimToady it really is an exception there
m: module Mine { my class X::Foo is X::AdHoc is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new(payload => "stuff") ~~ X::Foo 08:08
camelia rakudo-moar 16c5fc: OUTPUT«True␤»
TimToady it smartmatches, so it oughta work inside CATCH too
[Tux] csv-ip5xs 50000 18.315 18.204 08:10
test 50000 23.493 23.381
test-t 50000 15.071 14.959
csv-parser 50000 52.364 52.252
TimToady m: module Mine { my class X::Foo is X::AdHoc is export { method bar() { say "HERE" } } }; import Mine; die X::Foo.new(payload => "stuff"); CATCH { when X::Foo { say "Caught X::Foo" } }
camelia rakudo-moar 16c5fc: OUTPUT«Caught X::Foo␤»
[Tux] not good, I'll run it another time, just to be sure
orbus oh huh
now it's failing to actually die properly
whaaaaaa....
08:11 darutoko joined
[Tux] same, still over 15 :( 08:11
08:11 BenGoldberg left
orbus now I'm seeing something even weirder 08:13
have to come up with a test case
08:14 RabidGravy joined
TimToady [Tux]: I don't see anything that would have caused that since 24 hours ago 08:15
[Tux] just being the messenger :/ 08:16
I'll try again this afternoon. I also see no probable cause in higher resource usage by other programs on this box 08:17
orbus m: module Mine { my class X::Foo is Exception is export {} }; import Mine; sub blah {say 'x'; die X::Foo; say 'y'}; blah; CATCH{ when X::Foo { say 'caught' } }; 08:18
camelia rakudo-moar 16c5fc: OUTPUT«x␤Died with undefined Mine::X::Foo␤ in sub blah at /tmp/g8HwCZeCtJ line 1␤ in block <unit> at /tmp/g8HwCZeCtJ line 1␤␤»
orbus okay, so it doesn't seem to like that for sure
oh wait, I didn't do new there 08:20
m: module Mine { my class X::Foo is Exception is export {} }; import Mine; sub blah {say 'x'; die X::Foo.new; say 'y'}; blah; CATCH{ when X::Foo { say 'caught' } };
camelia rakudo-moar 16c5fc: OUTPUT«x␤caught␤»
orbus okay, so that works - at least here
so maybe I"m doing something wrong in my other code
saw something else weird though
m: module Mine { my class X::Foo is Exception is export {} }; import Mine; sub blah {say 'x'; die X::Foo.new; say 'y'}; blah; CATCH{ when X::Foo { .resume } }; 08:21
camelia rakudo-moar 16c5fc: OUTPUT«x␤y␤»
orbus is that by design? that it should resume from *within* the function call it died inside? 08:22
maybe I didn't read the docs close enough
that seems both potentially useful and terribly dangerous 08:23
TimToady yes, and only that is why only resumable exceptions are, er, resumable
in general we call those "warnings" though 08:24
nine colomon: you still up?
TimToady it's usually a bad plan to try to resume an exception where the code throwing the exception isn't expecting to be resumed
orbus right
well I'm just extending the base Exception class 08:25
how would I specify I don't *want* my custom exception to be resumable?
at least not inside my code
if they want to pick up the pieces and continue after the catch block, that's fine
nine .tell colomon you're totally right, that .files call can never work. OTOH all you're missing out on is an error message, telling you that the script could not be found.
yoleaux nine: I'll pass your message to colomon.
TimToady I'm not sure how an exception gets a resume continuation in the first place, but presumably you could override the resume method to prevent it 08:26
08:27 telex left
TimToady but given it's after midnight here, I'm gonna hit the hay 08:27
orbus yeah, here too
m: module Mine { my class X::Foo is Exception is export {sub resume {};} }; import Mine; sub blah {say 'x'; die X::Foo.new; say 'y'}; blah; CATCH{ when X::Foo { .resume } }; 08:28
camelia rakudo-moar 16c5fc: OUTPUT«x␤y␤»
orbus that wasn't enough btw
but actually it's 2am here
time for sleep
08:28 telex joined
labster Ah, the mythical UTC-6.5 time zone exists 08:29
Good night orbus, TimToady
orbus I rounded
it's 2:30
night! 08:30
08:31 Ox0dea joined
Ox0dea m: say [1,2,3]>>.WHO 08:32
camelia rakudo-moar 16c5fc: OUTPUT«Array␤»
Ox0dea Is that right?
m: say [1.WHO, 2.WHO]
camelia rakudo-moar 16c5fc: OUTPUT«[Int Int]␤»
nine .tell colomon so the more important question is, why can it not find its script?
yoleaux nine: I'll pass your message to colomon.
_nadim good morning all. 08:36
mort96 Good morning 08:37
_nadim I require a module and ask for one symbole to be imported but that fails. if I use the module all is fine. 08:38
I tried to go through GLOBAL::Module::sub_symbole, didn't work either.
08:39 labster left
RabidGravy _nadim, you're going to have to give more detail as it *does* work 08:40
masak good morning, #perl6
08:40 cpage left
RabidGravy good morning BTW 08:40
08:43 cpage joined
CIAvash _nadim: rt.perl.org/Public/Bug/Display.html?id=126658 ? 08:43
_nadim RabidGravy: and good morning to you (a second special one :) ) 08:44
CIAvash: that's it. 08:45
RabidGravy: it does work as I use the module and call the exported sub and it does what it sshould ;)
masak: morning 08:46
is there a way around this bug? through a symbole table or such?
08:54 rickbike joined 08:55 mkz joined
RabidGravy _nadim, try "need" rather than "require" as it appears to work in circumstances that require doesn't 08:58
09:03 cpage left, cpage joined 09:04 mempko left 09:05 domidumont joined, cpage left
masak .oO( if that fails, try "request", "obligate", "enjoin", "entail" or "crave" ) :P 09:05
09:05 cpage joined
RabidGravy :) 09:07
09:07 patrickz joined
RabidGravy I'm still not completely clear on the difference between "require" and "need" 09:07
nine .tell mst I think we're gonna have to be smarter about identifying usable precomp files anyway. Right now, we have to precomp all modules again after installing any module. And precomp files created by panda are invalidated as soon as you install a vendor module package 09:08
yoleaux nine: I'll pass your message to mst.
09:08 Actualeyes joined
nine RabidGravy: need is compile time, require is runtime 09:08
RabidGravy ah, that would explain it, I thought need was runtime for some reason 09:09
09:09 andreoss joined, cognominal left, domidumont left
RabidGravy so need is like use but doesn't do import 09:09
andreoss m: my @x = ^10; ( |@=|@x ).perl.say 09:10
camelia rakudo-moar 16c5fc: OUTPUT«slip()␤»
andreoss m: my @x = ^10; ( |(@=(|@x)) ).perl.say
camelia rakudo-moar 16c5fc: OUTPUT«slip(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)␤»
nine need = BEGIN require; use = BEGIN { require; import }
09:10 domidumont joined
andreoss what would be a precedence here? 09:10
RabidGravy nine, got it
andreoss m: my @x = 1 xx 2 ** 16; my @y; @y.push(|@x); say @y.elems 09:11
camelia rakudo-moar 16c5fc: OUTPUT«Too many arguments in flattening array.␤ in block <unit> at /tmp/hS0hZfGqQO line 1␤␤»
andreoss m: my @x = 1 xx 2 ** 16; my @y; @y.push($=|@x); say @y.elems
camelia rakudo-moar 16c5fc: OUTPUT«65536␤»
andreoss why?
RabidGravy bit early for existential anguish I'm afraid 09:12
09:14 cognominal joined, firstdayonthejob joined
andreoss m: my @x = ^10; ( |(@=|@x) ).perl.say 09:14
camelia rakudo-moar 16c5fc: OUTPUT«slip(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)␤»
andreoss m: my @x = ^10; ( |($=|@x) ).perl.say 09:15
camelia rakudo-moar 16c5fc: OUTPUT«slip(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)␤»
andreoss m: my @x = 1 xx 2 ** 16; my @y; @y.push(@=|@x); say @y.elems
camelia rakudo-moar 16c5fc: OUTPUT«1␤»
andreoss m: my @x = 1 xx 2 ** 16; my @y; @y.push(|@=|@x); say @y.elems
camelia rakudo-moar 16c5fc: OUTPUT«0␤»
andreoss $ and @ are a bit counter-intuitive here 09:17
why with extra-wrapping the amount of arguments is not checked? 09:19
09:20 vividsnow joined
masak looks at that and is lost 09:21
09:22 Begi joined
nine @y.push($=|@x) means @y.push(@x.Slip.item); That means that the .push method gets only a single argument and uses the iterator API to get at the items. 09:23
RabidGravy I was lost the moment I woke up
nine @y.push(|@x) really means @y.push(1, 1, 1, 1, ...) thus hitting the arguments count limit
09:23 cibs left
andreoss nine: on what side the unwrapping happens? 09:24
09:25 cibs joined, lnrdo joined
andreoss m: my @x = 1 xx 2 ** 16; my @y; @y.push(@x.Slip); say @y.elems 09:25
camelia rakudo-moar 16c5fc: OUTPUT«65536␤»
masak TimToady: [backlogging] I hadn't grokked irclog.perlgeek.de/perl6/2015-12-22#i_11759900 at all before! 09:26
TimToady: and if I haven't understood an intended use of an operator, chances are other Perl 6 users have missed it too. :)
TimToady: is there anywhere on RC that this logic programming use of `andthen` is demonstrated? 09:27
09:27 pierre-vigier left
masak TimToady: or, if not, could a compelling example be put together? :) 09:27
nine andreoss: run it with --target=ast to see the difference in detail :) 09:28
09:28 pierre-vigier joined
andreoss okay 09:29
masak nine: "hitting the arguments count limit"? as in, if you do too many arguments to .push, the arguments are silently dropped?
I agree 2 ** 64 arguments are a bit over the top, but... 09:30
nine m: my @x = 1 xx 2 ** 16; my @y; @y.push(|@x); say @y.elems
camelia rakudo-moar 16c5fc: OUTPUT«Too many arguments in flattening array.␤ in block <unit> at /tmp/vb8i4OTqdV line 1␤␤»
nine As in error message :)
masak ach.
RabidGravy can't it suggest "append" there as well ;-) 09:31
09:31 cognominal left
ShimmerFairy The error message should be "Congratulations, you've hit the secret limit on number of arguments (2**16)! Consider better coding practices." :P 09:31
RabidGravy :)
masak I once hit another limit where I had too many lexicals in a block. 09:32
yes, it was generated code.
RabidGravy I do wonder, considering that about 2/3 of all the m: things are to do with listy things, whether that part of the language is perhaps too rich ;-) 09:34
masak it could be argued that Perl is largely to do with listy things. 09:35
Ox0dea s/Perl/programming/
09:37 yeahnoob left 09:40 spider-mario joined 09:42 krshn left 09:44 _mg_ joined 09:47 nash left
_nadim nine: so need (vs require) is compile time, which means that it doesn't help if I have it in a try block. I need to load a module only if it is installed. 09:49
RabidGravy _nadim, are you in a position to do "require Foo <&whatever>" ? 09:52
it just needs to be a list of symbol names so you can make that however you want 09:53
09:55 virtualsue joined
_nadim RabidGravy: yes but ther's a bug, as reported earlier, that breaks that 09:55
09:55 _mg_ left
RabidGravy did you try it? 09:56
_nadim Yes 09:57
nine _nadim: what bug? 09:58
_nadim a bug report here rt.perl.org/Public/Bug/Display.html?id=126658 09:59
Here is one more "fun". I don't know if this is the expected behavior but I find it strange. nopaste.linux-dev.org/?911147 10:01
10:01 aenaxi left
_nadim I don't get why I get the error "too few positionals passed. There is jsut one element, A Pair. 10:02
10:04 Arrowhead joined, Begi left
timotimo is it about the last line? 10:05
my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; say ($s.list Z 0 .. *).perl 10:06
m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; say ($s.list Z 0 .. *).perl
camelia rakudo-moar 16c5fc: OUTPUT«((:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))}), 0),).Seq␤»
timotimo m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> ($k, $v) { say $k; say $v } 10:07
camelia rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature␤ in block <unit> at /tmp/iaEpa8JteM line 1␤␤»
timotimo m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $k, $v { say $k; say $v }
camelia rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at /tmp/ZMGrkohMqt line 1␤␤»
timotimo m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ { say $_.perl }
camelia rakudo-moar 16c5fc: OUTPUT«$(:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))}), 0)␤»
timotimo m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ { say $_[0].perl; say $_[1].perl } 10:08
camelia rakudo-moar 16c5fc: OUTPUT«:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))})␤0␤»
_nadim timotimo: yes last line, both constructs do the same thing, one works, one breaks
timotimo m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ ($k, $v) { sak $k.perl }
camelia rakudo-moar 16c5fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cxHi0mlRnj␤Undeclared routine:␤ sak used at line 1. Did you mean 'say'?␤␤»
10:08 Begi joined
timotimo m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ ($k, $v) { say $k.perl } 10:08
camelia rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature of parameter $_␤ in block <unit> at /tmp/a3p3wTwsbV line 1␤␤»
timotimo that doesn't seem to unpack right, yeah
btw, did you know about .kv?
m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for $s.kv -> ($k, $v) { say "$k.perl() $v.perl()" } 10:09
camelia rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature␤ in block <unit> at /tmp/ncyV_rZ2e9 line 1␤␤»
timotimo huh, that's ... something
m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for $s.kv -> $_ { .perl.say }
camelia rakudo-moar 16c5fc: OUTPUT«0␤:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))})␤»
nine _nadim: how would this work anyway to load the module only if it installed but at the same time depending on exported subs? Your code would not compile without the module anyway?
_nadim nine: right but, as I asked before, I can try to find the symbole I need in some symbole table. 10:10
timotimo m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for $s.kv -> [$k, $v] { "$k.perl() $v.perl()".say } 10:11
camelia rakudo-moar 16c5fc: OUTPUT«Type check failed in binding <anon>; expected Positional but got Int␤ in block <unit> at /tmp/STj87aHdMQ line 1␤␤»
nine _nadim: sounds like very much effort. I wonder what it's for?
timotimo tbh, i don't know what's going on there
10:11 rickbike left
RabidGravy _nadim, if they're not our scope than they're not in anywhere you can find, and if they are our you don't need to import them 10:11
_nadim nine: I want to use a module if it is installed and handle the error if it is not. 10:12
I thought something like my @table = GLOBAL::Text::Table::Simple::lol2table(@columns,@rows); 10:13
RabidGravy: the sub is exported by the module I want to load
RabidGravy yes
10:15 shicheng joined
nine _nadim: that much I already got. I'm wondering about the specifics. Which module is it you want to use? 10:16
_nadim the module is Text::Table::Simple but I don't see why would be module specific. 10:17
10:18 AWei is now known as AW3i
_nadim if I use the module, all is fine but it is in a test and I am not forcing people to install a zillion modules. 10:18
Not that we have a zillion modules :)
timotimo: I have a work around but it is ass ugly. shall I report this? 10:19
10:19 espadrine joined
_nadim timotimo: I am "happy" that it didn't only make _me_ crazy ;) 10:20
nine m: my $a = [:foo]; ($a.list Z 0 .. *).map: -> ($x, :$foo) { say "$x: $foo" } 10:23
camelia rakudo-moar 16c5fc: OUTPUT«0: True␤»
nine _nadim: ^^^ the signature binding wants to bind the Pair to a named argument, not a positional
RabidGravy in the general case one would do something like "try require Foo <&sub-from-foo>; if ::('&sub-from-foo') -> &func { func() }"
though in my test here the try seems to interfere with that working 10:24
anyway things to do 10:25
_nadim nine: OK, then I need to make the workaround the right solution 10:26
RabidGravy: as I said, it is not working
I'll try what you wrote anyway
10:27 st_iron joined
st_iron hi 10:27
10:27 pdcawley joined
st_iron p6: say 'hello all' 10:27
camelia rakudo-moar 16c5fc: OUTPUT«hello all␤»
st_iron ;)
nine _nadim: use Test; BEGIN { my $result = try require DateTime::Formats; if $result === Any { done-testing; exit; } }; import DateTime::Format; strftime; 10:28
RabidGravy: ^^^
10:28 pierre-vigier left 10:29 lustlife left 10:30 pierre-vigier joined
dalek pan style="color: #395be5">perl6-examples: 2e23b15 | paultcochrane++ | lib/Pod/Htmlify.pm6:
Allow EVAL until we can serialise better
10:30
perl6-examples: f191cfb | paultcochrane++ | Makefile:
perl6-examples: Add informative output for Makefile targets
10:30 dalek left 10:31 dalek joined, ChanServ sets mode: +v dalek 10:32 pdcawley left
_nadim nine: is that the way require should always be used? 10:32
10:34 shicheng left
nine m: use Test; BEGIN { require DateTime::Formats; CATCH { when X::CompUnit::UnsatisfiedDependency { done-testing; exit; }; }; }; import DateTime::Format; strftime; 10:36
camelia rakudo-moar 16c5fc: OUTPUT«1..0␤»
nine _nadim: this ^^^ would be a bit cleaner even
stmuk the perl6 versioning does seem to be causing a lot of confusion 10:37
_nadim nine: perfect.
BTW is there a way, during the tests, to hide some installed module?
nine _nadim: yes. You can put your own CompUnit::Repository implementation into $*REPO and only forward allowed modules to $.next-repo.need 10:38
_nadim: if this becomes a common request, someone will surely write some CompUnit::Repository::Blacklist or ::Whitelist module :) 10:39
10:40 amoe joined
_nadim better get on it then, we want people to write bette tests, that is more important, IMO, than advanced language features :) 10:40
amoe how can I install panda systemwide under /usr/local, instead of in my home directory?
_nadim amoe: just curious, why would you do that? 10:41
dalek c: 2f9adf8 | (Steve Mynott)++ | doc/Language/control.pod:
remove a a
10:43
amoe _nadim: you can call it habit, I don't like changing my $PATH. I normally install every program to /usr/local. really just personal pref
dalek pan style="color: #395be5">perl6-examples: e4ab8ad | paultcochrane++ | Makefile:
Don't test dependencies when installing them

This should speed up testing of the perl6-examples code on Travis.
10:47
timotimo just don't make the mistake of using rakudobrew and symlinking its bin/ to your /bin or so :)
twitter.com/shadowcat_mdk/status/6...6618654720 - Hey Perl folks, is there new DevOps tools for Perl5? How does Perl6 work for SysAdmins? bit.ly/flossuk2016 FLOSSUK DevOps cfp 30/12/15 10:49
that's a really tight CFP deadline right there
ChoHag Wtf is a "DevOps tool"? 10:50
A tool for performing development and maintaining operations? Like bash? 10:51
10:51 nowan left
timotimo depends what level of sophistication and targetedness you set as a minimum for being called a tool 10:53
you could just as well say "what, you mean a computer?"
of course it refers to a computer and not a chair, or a plate, or a mug, or a spoon
stmuk devops just means "traditional UNIX sysadmin who programs a bit as well"
ChoHag Traditional unix sysadmins did program a bit though. 10:54
timotimo right, "infrastructure as code/declarations"
that's the "new" thing here
stmuk maybe what is less traditional might be the sysadmin talking to other people in the company and being friendly ;)
timotimo rather than having a bunch of one-off scripts, you'd have a framework that'd make re-use and scaling trivial or at least much simpler 10:55
ChoHag The good sysadmins, again, knew there were layers above 7 and how to utilise them.
timotimo: That's a nice idea. I wonder when it'll happen.
timotimo :)
stmuk devop tool probably means something like puppet, cfengine etc 10:56
ChoHag Probably, sadly.
I find them more of a hindrance myself, but the manglement folk like them.
stmuk if you are admining 1000s of systems you do need automation 10:57
timotimo well, bash scripts already let you do automation
virtualsue devops includes people like me, who wrote all sorts of infrastructure tools but never was a unix SA
stmuk until the guy who wrote the bash scripts leaves and noone else wants to touch them
ChoHag Puppet, cfengine, salt, chef and ansible are all different ways of ruining a good idea. 10:58
Did I miss any? Is there Yet Another "let's do puppet *right* this time"?
stmuk I'd rather have an imperfect tool than none at all
RabidGravy I'm sure if you really tried the list would be inexhaustible ;-) 10:59
10:59 shicheng joined
nine m: BEGIN { CompUnit::RepositoryRegistry.use-repository(class :: does CompUnit::Repository { method id() {"blacklist"}; method need(CompUnit::DependencySpecification $spec, CompUnit::PrecompilationRepository $precomp?) { return self.next-repo.need($spec) if self.next-repo and $spec.short-name ne "Test"; X::CompUnit::UnsatisfiedDependency.new(:specification($spec)).throw; }; method loaded() { [] }; method path-spec {""} }.new(:next-repo($*REPO))) }; use NativeCall; us 11:00
camelia rakudo-moar 16c5fc: OUTPUT«Use of uninitialized value $patharg of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in any load_module at src/Perl6/World.nqp line 975␤===SORRY!===␤Missing or wrong version of dependency …»
nine _nadim: proof of concept ^^^
amoe just like build systems, they are all equally bad in their own way...
nine hm...that works locally. Is camelia up to date?
timotimo ChoHag: there's rexxify
ChoHag There would be. 11:01
timotimo nine: it cut off after "use NativeCall; us"
nine m: BEGIN { CompUnit::RepositoryRegistry.use-repository(class :: does CompUnit::Repository { method id() {"blacklist"}; method need(CompUnit::DependencySpecification $spec, CompUnit::PrecompilationRepository $precomp?) { return self.next-repo.need($spec) if self.next-repo and $spec.short-name ne "Test"; X::CompUnit::UnsatisfiedDependency.new(:specification($spec)).throw; }; method loaded() { [] }; method path-spec {""} }.new(:next-repo($*REPO))) }; use Test
camelia rakudo-moar 16c5fc: OUTPUT«===SORRY!===␤Could not find Test in:␤ <anon|65580640><140419885836968>␤ /home/camelia/.perl6/2015.12-37-g16c5fc7␤ /home/camelia/rakudo-m-inst-1/share/perl6/site␤ /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤ /home/camelia/rak…»
nine Ah
ChoHag How can I deal with a circular list of module dependencies other than by putting them all in the same file?
eg. does perl 6 have _text_ level file inclusion? 11:02
11:02 nowan joined
ChoHag Or does creating empty classes in the big file and augmenting them with details in their own file still have problems I don't remember the details of? 11:02
nine ChoHag: why not just put them in a single file if they are that much interdependant? 11:04
ChoHag Because I'm getting tired of scrolling up and down so much and getting lost.
nine ChoHag: I use :vsplit for that in vim
ChoHag I use :vsplit for it in evil emacs, but it's still a PITA. 11:05
RabidGravy nine, yeah I came by the catch (releasing the implicit block was shagging up the import with try) before I went to the backlog :)
ChoHag Plus having separate classes in separate files is "Right".
RabidGravy it really, really depends on the scope of their usage
11:06 vendethiel joined, regreg joined
_nadim nine: great with a proof of concept, that means I won't have to do it and bother everyone with questions :) 11:06
ChoHag If I wasn't running in the source directory and had a discrete build phase I'd be able to just cat them together and be done with it. It's solely to try and maintain some semblence of Good Development Practices.
11:06 nowan left, void1 joined 11:07 nowan joined 11:08 TEttinger left 11:15 cognominal joined
joydo I have a question,the efficiency of recursive computing about perl6,somebody can tell me? 11:17
RabidGravy probably best to just ask the question 11:18
timotimo yes, please ask the question itself
rather than asking if you can ask
RabidGravy I think it might come down to sacrificing some goats to work out why this gdbm binding is segfaulting when I try to store a value 11:20
joydo The Fibonacci function? c deal with this question some more faster than perl6
11:20 perlwhirl joined 11:22 kid51 joined
perlwhirl /SET term_force_colors ON 11:22
/SET autocreate_own_query OFF
/SET autocreate_query_level DCCMSGS
/SET use_status_window OFF
/SET use_msgs_window ON
timotimo joydo: perl 6 is often quite slower than C 11:23
RabidGravy "it's not the speed it's the notational convenience"
timotimo that's to be expected, though. C is our target for performance "after optimizations have been done", which is what the next year will be about 11:24
RabidGravy m: say 1, 1, *+* ...^ * >= 100;
camelia rakudo-moar 16c5fc: OUTPUT«(1 1 2 3 5 8 13 21 34 55 89)␤»
RabidGravy not too shabby though, and if you were to take out the load and compile time it would be better 11:25
timotimo RabidGravy: on my system the parse time is only 0.1 seconds 11:26
11:27 joydo left, pierre-vigier left
perlwhirl 11:27
11:27 pierre-vigier joined, perlwhirl left
timotimo perlwhirl: do you have a problem with your irc client? 11:27
gee, thanks
11:28 joshua__ joined
timotimo anyway, time perl6 --stagestats -e 'say (1, 1, *+* ... *)[100_000]' - this takes 3.5s to print about three terminal pages full of digits 11:28
damn, i didn't notice joydo left
11:28 Skarsnik joined
RabidGravy yeah and a lot of that would be in "say" 11:28
11:28 pierre-vigier left 11:29 rindolf joined
RabidGravy anyway, must off out to the shops as the seasonal confinement has left us devoid of various sundries 11:29
11:30 joshua__ left
timotimo not really in "say", but in the stringification of the number 11:30
though that part probably runs directly in libtommath and then gets "cheaply" turned into a string by moar as well 11:31
11:31 joshua__ joined 11:35 RabidGravy left, joshua__ left 11:38 Arrowhead left 11:39 joydo joined 11:40 Grauwolf joined, Arrowhead joined
vendethiel AlexDaniel: does YAPH count as self-cloaking code? :P 11:42
ChoHag How do you 'close' a role?
Because apparently I did, but I want to (see if I can) augment it but I'm not allowed to because it's closed. 11:43
11:44 pierre-vigier joined 11:46 pierre-vigier left
timotimo it may be just me, but saying "perl 6 is dog shit" seems kind of harsh 11:47
lizmat ChoHag: because you generally just create a new role and mix that in ?
timotimo i don't think you can augment roles
lizmat m: role A { }; use MONKEY-TYPING; augment role A { method foo { "foo" } }; say A.foo
camelia rakudo-moar 16c5fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b5Nt1EhBqd␤Cannot augment A because it is closed␤at /tmp/b5Nt1EhBqd:1␤------> 3A { }; use MONKEY-TYPING; augment role A7⏏5 { method foo { "foo" } }; say A.foo␤ expecting any of:␤ gener…»
11:48 sammers left
El_Che timotimo: it depends. Is it from a fancy poodle? (aka context) :) 11:48
Arrowhead m: sub takeFunc(&func (Str $str, Int $int)) { &func("String", 42) }; takeFunc(sub (Str $str, Int $int) { say "$str $int" });
camelia rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature of parameter &func␤ in sub takeFunc at /tmp/XDB9JpolD2 line 1␤ in block <unit> at /tmp/XDB9JpolD2 line 1␤␤»
colomon nine: awake now. 11:50
yoleaux 08:25Z <nine> colomon: you're totally right, that .files call can never work. OTOH all you're missing out on is an error message, telling you that the script could not be found.
08:32Z <nine> colomon: so the more important question is, why can it not find its script?
11:50 ellybelly left
Arrowhead How can I define takeFunc to only allow specific signatures? sub takeFunc(&func) already works but doesn't prescribe the signature. 11:50
timotimo oh damn
there'll be a lightning talk about perl 6 at the 32c3, but it's on day 4 and the day 4 of lightning talks is said to be cancelled
colomon nine: obviously CompUnit::Repo tried to install the script, else that shim would not have been generated, right? 11:51
nine Arrowhead: subsignatures: p5_wrap_p6_callable(Perl5Interpreter, long, OpaquePointer, &call (long, OpaquePointer, OpaquePointer --> OpaquePointer), &free_p6_object (long))
timotimo anyway, the talk seems to only have a single slide without "real" content 11:52
nine Arrowhead: the space after &func is mandatory
timotimo so ... no idea how it's going to go
nine colomon: yes, that's the mystery. If CompUnit::Repository::Installation installed that script, it ought to have installed the source file, too.
Arrowhead m: sub takeFunc(&func (Str, Int)) { &func("String", 42) }; takeFunc(sub (Str $str, Int $int) { say "$str $int" }); 11:54
camelia rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature of parameter &func␤ in sub takeFunc at /tmp/59BsN1_TCt line 1␤ in block <unit> at /tmp/59BsN1_TCt line 1␤␤»
Arrowhead nine: I still don't see it.
_nadim hmm, use module -> ok, require module ; import module -> could not find module to import symboles from. error at compile time!
11:56 Begi left 11:57 perlawhirl joined 11:58 halto joined
nine _nadim: BEGIN require module; 11:58
11:59 sammers joined
colomon nine: if you want to try what I’m doing locally, just try panda install ABC and then look for the abc2ly script. 12:00
_nadim what if the module name is not known at compile time?
nine _nadim: then you simply cannot use the module's symbols at compile time. And that includes importing subs. Because...how could it?? 12:01
12:02 kaare_ joined
_nadim I require the module, then I want to call some sub it defines, all at run time 12:02
ShimmerFairy Trying to use Grammar::Tracer -> P6M Merging GLOBAL symbols failed: duplicate definition of symbol grammar
12:02 perlawhirl left 12:03 darutoko left
_nadim nine: it seems that import is a compile time directive too, right? 12:03
12:03 darutoko joined 12:04 PotatoGim left 12:05 Begi joined
Skarsnik Hello 12:05
nine, did you fix I:5?
uruwi Hi
12:06 PotatoGim joined
_nadim Skarsnik: morning 12:06
ChoHag How's perl 6 at parsing and displaying the pod?
Because I think I'd like to document my code before I move on to the next stage.
Skarsnik It work
uruwi Mind if I digress for a message? 12:07
Skarsnik But I am not sure if there is something that render WHY stuff in a neat way
_nadim ChoHag: perl6 --doc your module
12:08 virtualsue left, Arrowhead left
nine _nadim: then don't import but use a fully qualified name to access the sub 12:08
uruwi gitter.im/bluebear94/cy00/qanda 12:09
Skarsnik why that look like slack/Discord x) 12:10
lizmat m: say DateTime.new('2008-12-31T23:59:60Z').later(:day)
camelia rakudo-moar 16c5fc: OUTPUT«2009-01-02T00:00:00Z␤»
lizmat that feels incorrect 12:11
ChoHag Did 2008 include a leap second?
ShimmerFairy lizmat: agreed :)
lizmat yes 12:12
Skarsnik m: say DateTime.new('2008-12-31T23:59:60Z')
camelia rakudo-moar 16c5fc: OUTPUT«2008-12-31T23:59:60Z␤»
Skarsnik m: say DateTime.new('2008-12-31T23:59:60Z').later(:second)
camelia rakudo-moar 16c5fc: OUTPUT«2009-01-01T00:00:00Z␤»
12:12 joshua__ joined 12:13 virtualsue joined
_nadim nine: I require Text::Table::Simple ; Text::Table::Simple::lol2table(...) says it can not find the symbole. how does one fully qualify a sub? 12:14
12:15 joshua__ left 12:16 zengargoylew left, zengargoylew joined
autogen what's lol2table? 12:16
ChoHag Then I'd say it doesn't just feel incorrect. It is.
nine colomon: the module definitely installs fine including the script in resources/. .files should find it 12:17
_nadim autogen: takes a few arrays and makes an ASCII drawn table out of it. otherwise it is a multi sub 12:18
autogen oh awesome, thanks :-)
_nadim :)
12:19 virtualsue left, psomu joined, joydo left
ChoHag Unfortunately "one day later" from both 23:59:59 and 23:59:60 should give the same answer, and "one day previously" doesn't give both. 12:19
nine _nadim: I think it needs to be our scoped for you to access it that way 12:20
ChoHag Also "the (beginning instant of) last second of the day" and "23:59:59" (or 23:59:60 with leap seconds) mean different things.
nine m: module Foo { sub foo() { say "foo!" }; }; Foo::foo;
camelia rakudo-moar 16c5fc: OUTPUT«Could not find symbol '&foo'␤ in block <unit> at /tmp/hHBGtD6pnl line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/hHBGtD6pnl line 1␤␤»
nine m: module Foo { our sub foo() { say "foo!" }; }; Foo::foo;
camelia rakudo-moar 16c5fc: OUTPUT«foo!␤»
dalek kudo/nom: 0e89a7a | lizmat++ | src/core/DateTime.pm:
Make DateTime.later about 5x faster

Also fix issue when moving from a leap-second by anything other than seconds: it should not wrap to the next min/hour/day.
ChoHag And there's no nice round solution to this to give developers the warm fuzzies.
_nadim nine: what does import do at compile time that can't be done at run time? use module works fine. 12:21
ChoHag I'd quite like to see the DateTime code, but I'm afraid of having it stick to me...
nine _nadim: maybe you can access the module's EXPORT scope somehow 12:22
ShimmerFairy nine: any clue what "P6M Merging GLOBAL symbols failed: duplicate definition of symbol grammar" could be caused by? Because I've no clue (trying to run SUPERNOVA with Grammar::Tracer enabled) 12:23
dalek ast: 5e60103 | lizmat++ | S32-temporal/DateTime.t:
Fix faulty test and some spelling errors

Moving from a leap-second by anything but seconds, should clip, not rollover to the next minute/hour/day
_nadim require module <&sub> is broken but I think I'll just catch that and display it till it works. this turns out to be a day job finding how to get a symbole at run time :) 12:24
lizmat this hopefully concludes scratching the DateTime/Date itch I've been having
12:24 PlugMyDuck joined
_nadim autogen: you may like this one, it has text table generation www.tablesgenerator.com/ 12:24
Skarsnik nine, it's the IV type that come from perl.h in I:5 that vary? 12:25
nine Skarsnik: yes, haven't fixed that yet
ShimmerFairy: no idea, no
12:26 leont joined
ShimmerFairy nine: Oh god, apparently it's because I have a file named Grammar.pm6 in SUPERNOVA (as in, lib/Grammar.pm6). Apparently Grammar::Tracer makes something break? Lovely. 12:28
12:28 xpen_ left
Skarsnik nine, maybe you can cheat with size_t (since it's the type used when you when to index pointer) 12:28
ShimmerFairy nine: so apparently use Grammar::Parsefail (locally, since I still haven't fixed its META6.json); use Grammar; is fine, but throw in Grammar::Tracer, and boom. 12:29
nine colomon: I know whats wrong.
12:29 st_iron left
Skarsnik m: use NativeCall; say nativesizeof(size_t), "k", nativesizeof(int64) 12:29
camelia rakudo-moar 16c5fc: OUTPUT«===SORRY!===␤Missing or wrong version of dependency '/home/camelia/rakudo-m-inst-1/share/perl6/sources/CD91000E04960E50F55974191CB59F05BF6F449F' (from '/home/camelia/rakudo-m-inst-1/share/perl6/sources/ABE4BD5AACEE8AC49C80D6766675BEFA95BE99AF')␤»
nine colomon: ABC brings lots of modules, just none of them is called "ABC". So we don't install the short lookup file for the name "ABC" and don't find the right dist. 12:30
Skarsnik erf
ShimmerFairy and only from within lib/Grammar.pm6; using ::Tracer next to a 'use Grammar' works, it's just inside the file. But Grammar::Parsefail doesn't trigger the same behavior. What the fuck? O_o
12:30 loren joined
Skarsnik nine stop breaking camelia x) 12:31
12:32 joydon joined
[ptc] m: 'say $*IN.t && $*OUT.t' 12:32
camelia rakudo-moar 0e89a7: OUTPUT«WARNINGS for /tmp/qGuegRj0lT:␤Useless use of constant string "say $*IN.t && $*OUT.t" in sink context (line 1)␤»
[ptc] m: say $*IN.t && $*OUT.t
camelia rakudo-moar 0e89a7: OUTPUT«False␤»
lizmat m: { loop (my int $i = 0; $i < 10; $i++) { say $i } }() # golfed #127069
camelia rakudo-moar 0e89a7: OUTPUT«No lexical found with name '$i'␤ in block <unit> at /tmp/Srx2T3Cfj4 line 1␤␤»
[ptc] m: say $*IN
camelia rakudo-moar 0e89a7: OUTPUT«IO::Handle<<STDIN>>(opened, at octet 0)␤»
[ptc] m: say $*IN.t
camelia rakudo-moar 0e89a7: OUTPUT«False␤»
[ptc] m: say $*OUT.t
camelia rakudo-moar 0e89a7: OUTPUT«False␤»
12:32 pierre-vigier joined
lizmat m: { loop (my Int $i = 0; $i < 10; $i++) { say $i } }() # golfed #127069 12:33
camelia rakudo-moar 0e89a7: OUTPUT«Cannot call infix:«<»(Any, Int); none of these signatures match:␤ ($?)␤ (\a, \b)␤ (Real \a, Real \b)␤ (Int:D \a, Int:D \b)␤ (int $a, int $b)␤ (Num:D \a, Num:D \b --> Bool)␤ (num $a, num $b --> Bool)␤ (Rational:D \a…»
lizmat m: {oop (my Int $i = 0; $i < 10; $i++) { say $i } # ok without the scope
camelia rakudo-moar 0e89a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Az_pujolPf␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/Az_pujolPf:1␤------> 3{oop (my Int $i = 0; $i < 10; $i++)7⏏5 { say $i } # ok without th…»
lizmat m: loop (my Int $i = 0; $i < 10; $i++) { say $i } # ok without the scope
camelia rakudo-moar 0e89a7: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
leont Does an IO object cache the stat buffer?
12:34 cakes joined
Skarsnik it's the "new" stuff that make loop return a value that make this buggy x) 12:34
lizmat leont: no, not afaik
12:34 cakes is now known as Guest2959, Guest2959 left, pierre-vigier left
leont Having some kind of stat buffer concept would be nice (from a performance POV) 12:35
12:35 ellybelly joined
nine Skarsnik: size_t's definition is actually rather close to Perl 5's IV. IV is defined as at least the size of a pointer while size_t has to have at least the size of a pointer to be usefull for object sizes (except on segmented architectures) 12:35
Skarsnik hm long is like int32 on my debian32 bits 12:36
it should work?
but I:p5 still fail
ShimmerFairy So in addition to still facing a show-stopping unknown bug introduced in the CURI branch way back, I can't even use Grammar::Tracer to diagnose the problem (in a multi token where it breaks, it seems, so it's hard to do without the tracer). Just wonderful.
leont Skarsnik: Got a paste of the fail? 12:37
lizmat leont: remembering from when I was working on the newio branch, it would need nqp support
Skarsnik leont, basicly it segfault and gdb is not useful. it's kinda of time out after leaving gdb
colomon nine: huh 12:38
12:40 _mg_ joined
colomon nine: I mean, that’s right, ABC is set up as a namespace, not a class of its own 12:40
dalek kudo/nom: 9a346ce | (Stefan Seifert)++ | src/core/CompUnit/Repository/Installation.pm:
Fix installed wrapper scripts not finding the dist (and thus script)

Dists like ABC don't contain a module with the same name. We only installed quick lookup files in short/ for installed modules, not the dist's name itself. Fix by explicitly install a lookup file for the dist's name itself.
Thanks to colomon++ for reporting!
nine colomon: there ^^^ fixed it :)
colomon \o/
12:40 kid51 left
Skarsnik Let's make people angry and let's patch nc x) 12:41
nine ShimmerFairy: what module is Grammar? 12:42
dalek pan style="color: #395be5">perl6-examples: d932ecc | paultcochrane++ | util/update-and-sync:
Use up-to-date Rakudo and panda when building examples pages
pan style="color: #395be5">perl6-examples: 4751f1c | paultcochrane++ | categories/interpreters/lisp.pl:
Purge trailing whitespace

Don't syntax highlight in website tests
12:42 dalek left
ShimmerFairy nine: I don't use modules in those files, mainly because it's been easier for me to have the SUPERNOVA files in just a flat lib/ directory, similar to how they'll eventually be in core rakudo. 12:43
12:43 dalek joined, ChanServ sets mode: +v dalek
Skarsnik Grammar::Tracer? 12:43
timotimo lizmat: wow, 5x faster for .later? nice!
nine ShimmerFairy: or what is SUPERNOVA even?
ShimmerFairy nine: github.com/ShimmerFairy/SUPERNOVA 12:44
12:45 |Tux| left
ShimmerFairy nine: pretty much, I've never been too sure on the distinction between what 'use' uses for names and what it means to have 'unit module' or whatever inside the file; in this case, I've elected to fully qualify class names inside the files, instead of using unit module, back when I started work on it. 12:45
colomon nine: brilliant, that works!
ellybelly Hi all, I am thinking of writing a module, but someone else has written a similar one. How should I go about naming mine? For example, there is already WebService::Soundcloud, but I want to make a different Soundcloud module and submit it to the modules list.
12:45 uruwi left
timotimo ShimmerFairy: huh? but whether or not you use "unit" is only about the curly braces 12:45
llfourn ShimmerFairy: are you planning on making SUPERNOVA installable via panda? 12:46
ShimmerFairy timotimo: not 'unit' specifically, but the idea of wrapping the file's contents in a 'module'
timotimo oh
i see
nine ellybelly: have you considered cooperating with the author of the other Soundcloud module? 12:47
ShimmerFairy llfourn: not at the moment, the plan is for it to be assimilated into rakudo when it's time to do so (developing out-of-core is a lot faster than in-core) :)
nine *fetch stage failed for Grammar::Parsefail: Unable to handle source 'github.com/ShimmerFairy/grammar-parsefail/')
ShimmerFairy nine: yeah, that's something I've neglected to fix so far, in part because I swear it working before, and in part because dying on https:// seems silly. I'll go fix it now though. 12:48
llfourn ShimmerFairy: fair enough :)
ellybelly Thanks nine, I I wanted to do it in a different programming style, but also as a learning exercise.
12:49 |Tux| joined
nine ellybelly: trust me, you'll learn just as much by working on an existing code base :) And maybe the author of the other module actually likes your ideas for the interface and likes to adopt them? 12:49
12:49 pierre-vigier joined 12:50 lnrdo left 12:51 psomu left
ellybelly Thanks nine, that is good advice. For situations where someone is determined to create a similar module, what would be the standard convention? 12:51
12:51 halto left 12:52 pierre-vigier left
Skarsnik is there a test to see if something warn in Test? 12:53
timotimo nothing pre-make, i think. but you can use CONTROL to catch warnings
daxim perl6, my FatRat $foo = 5/7
perl6: my FatRat $foo = 5/7 12:54
12:54 Arrowhead joined
camelia rakudo-moar 9a346c: OUTPUT«Type check failed in assignment to $foo; expected FatRat but got Rat␤ in block <unit> at /tmp/tmpfile line 1␤␤» 12:54
..rakudo-jvm 6c0f93: OUTPUT«Type check failed in assignment to $foo; expected FatRat but got Rat␤ in block <unit> at /tmp/tmpfile:1␤␤»
daxim this is surprising to me
12:54 pierre-vigier joined 12:55 pierre-vigier left
colomon m: my FatRat $foo = (5/7).FatRat 12:55
camelia ( no output )
colomon m: my FatRat $foo = (5/7).FatRat; dd $foo
camelia rakudo-moar 9a346c: OUTPUT«FatRat $foo = FatRat.new(5, 7)␤»
nine ellybelly: find something that distiguishes your module from the other and put that into the name. It should be some lasting difference, not something like Simple or Tiny (because it won't stay either). 12:57
ellybelly: otherwise, use the same name but make sure your :auth is different. But in any case _always_ try to talk with the other author. And if in doubt, ask here. 12:58
12:58 Arrowhead left
ellybelly thanks nine, I will most likely try to work with the other author thanks to your feedback. But also I appreciate your feedback. 13:00
Skarsnik hm 13:01
ellybelly maybe too many "feedbacks" there...
Skarsnik should foo is native returns Bool can be considered an error?
It probably always work
13:04 Begi left 13:09 pierre-vigier joined 13:11 pierre-vigier left
dalek pan style="color: #395be5">perl6-examples: ec8ec86 | paultcochrane++ | t/004-website.t:
Turn off highlighting in later website test

This one I missed from earlier and only Travis is telling me that there's a problem here.
13:13
13:14 lnrdo joined 13:17 pierre-vigier joined
[ptc] m: my Instant $i = now; my $dt = $i.to-posix; say :$dt.perl 13:19
camelia rakudo-moar 9a346c: OUTPUT«:dt($(<1278679142158/881>, 0))␤»
13:19 pierre-vigier left 13:20 colomon left
[ptc] why does a False value appear as Bool::False when there is a tty and as 0 when there isn't a tty? 13:20
13:21 colomon joined
[ptc] another way to put the question is: the code "my Instant $i = now; my $dt = $i.to-posix; say :$dt.perl" gives :dt($(<1278679142158/881>, Bool::False)) when run from an interactive prompt 13:21
dalek pan style="color: #395be5">perl6-examples: 664b498 | paultcochrane++ | t/categories/cookbook/09directories.t:
Handle boolean output with and without tty in filetime test
13:22
13:24 muraiki joined 13:25 colomon left, colomon joined
cosimo timotimo: is that you working on iperl6kernel? 13:30
13:31 pierre-vigier joined 13:38 rjbs left, perigrin left, frew left, simcop2387 left, zostay left 13:39 geekosaur left, uruwi joined 13:41 pierre-vigier left 13:42 Begi joined
cosimo timotimo: if so, can you give me a quick status update on it? I setup my dev machine with jupyter and I'd like to help make progress 13:43
it's a super cool thing to work on
flussence [ptc]: I can't reproduce that bug on 2015.12-9-g1bdb784b49e1 13:45
perl6 -e outputs the same with/without |cat on the end
nine ShimmerFairy: how can I reproduce your failure?
13:45 uruwi_ joined
uruwi_ a 13:45
ShimmerFairy nine: uncommenting the use of Grammar::Tracer in Grammar.pm6 and running perl6 test.p6 should do it, if using SUPERNOVA to test it out. 13:46
13:47 uruwi left
ShimmerFairy nine: just using a file called 'Grammar.pm6' that has 'use Grammar::Tracer' in it works too. 13:47
nine: or any file, it turns out. perl6 -e 'use Name-of-file-with-Tracer-use' 13:48
er, perl6 -I. -e '...'
_nadim Any idea what "cannot stringify self" is supposed to mean on a line where there is no reference to self? 13:52
llfourn _nadim: show us the line? 13:53
[ptc] flussence: thanks for looking. The issue is reproducible in camelia:
llfourn it's probably a LTA error?
[ptc] m: my Instant $i = now; my $dt = $i.to-posix; say :$dt.perl 13:54
camelia rakudo-moar 9a346c: OUTPUT«:dt($(<10705506083325/7376>, 0))␤»
[ptc] tries with |cat
flussence: I get the same output with | cat on my machine. I don't think this is reproducing the issue correctly though, since on Travis with a bleeding edge rakudo, the issue still appears 13:55
\o/ the perl6-examples tests are passing again! And the website builds again! 13:56
Skarsnik nice 13:57
13:58 frew joined
llfourn m: role Foo { has $.b is required }; class Bar {}; say Bar.new does Foo # how do I initialize $.b? 13:59
camelia rakudo-moar 9a346c: OUTPUT«Invalid BUILDALLPLAN␤ in block <unit> at /tmp/yZpmec0zOu line 1␤␤»
_nadim llfourn: I give you three lines ([NL] for newline. the error message points ar the curly bracket line. for @.filters -> $filteri [NL] { [NL] $filter($s, DDT_SUB_ELEMENTS, ($!current_depth, $glyph, @renderings), (@sub_elements,)) ;
Skarsnik hm, how I test if a type is numeric? (like Int, int, int32, num, ...) int ~~ Numeric fail
14:00 rjbs joined 14:01 zostay joined, simcop2387 joined
llfourn _nadim: I can't see any stringification there :\ 14:01
14:01 perigrin joined
_nadim neither can I. worked a few minutes ago, I'll back and see 14:02
14:03 geekosaur joined, pdcawley joined 14:04 uruwi_ left
llfourn m: role Foo { }; say Foo.new # so you can create instances of roles now? 14:04
camelia rakudo-moar 9a346c: OUTPUT«Foo.new␤»
14:04 pmurias joined 14:05 uruwi joined
Skarsnik Yes 14:05
it's weird x)
nine llfourn: autopunning is the word
llfourn nine: I guess it's a p6 made up word? 14:06
nine llfourn: yes
llfourn sweet
nine or role punning
llfourn do you know of any use cases for this?
masak "punning" is a far wider CS concept than just p6.
llfourn I see 14:07
14:07 lustlife joined
masak there's a Wikipedia article about it 14:07
llfourn looks at wikipedia
ChoHag How do you include the same sections (NAME, AUTHOR, VERSION, etc.) in multiple pods?
masak en.wikipedia.org/wiki/Type_punning
Skarsnik What do you think of gist.github.com/Skarsnik/4579e451ab1b6b364305 before I put this in NativeCall (it check the sanity of native routine declaration)
14:07 Arrowhead joined, pdcawley left 14:08 pierre-vigier joined
ShimmerFairy ChoHag: the P<> directive is supposed to let you include snippets of pod code from another source (P for "Placement link", IIRC) 14:08
14:09 Su-Shee_ is now known as Su-Shee 14:12 perigrin left 14:13 perigrin joined 14:16 pierre-vigier left 14:19 FloydATC joined
llfourn returns from wikipedia 14:20
I either am lost or this article seems to mean type punning = type casting with assumptions about memory representation 14:21
14:21 smls joined
llfourn I guess the link in concept is that you are turing something into another thing 14:22
smls Didn't we have a glob() function at some point? 14:23
Is there a replacement?
llfourn but the link is somewhat tenuous between 'autopunning' and 'type punning'
(in my mind)
_nadim llfourn: I found it. the sub was declared as sub($s ($a, $b), ($x)), there is a comma missing after the first argument, the error is reported three lines below that.
14:23 Begi left
llfourn _nadim: so you fixed your problem? is ($s,($a,$b),($x)) meant to be doing list unpacking? 14:25
FloydATC Hi, I want to test p6 without breaking p5. I've installed as per perl6.org/downloads/ as non-root but what's the recommended way to set up my working environment from here? Using shebang ~/.rakudobrew/blablabla/perl6 would work but seems stupid 14:27
14:28 perigrin left
nine FloydATC: I have this in my ~/.bashrc: export PATH=$PATH:/home/nine/install/rakudo/install/bin:/home/nine/install/rakudo/install/share/perl6/site/bin 14:28
14:28 perigrin joined
llfourn how can p6 break p5? 14:28
nine llfourn: it can't
14:28 Begi joined 14:29 xpen joined
FloydATC No idea, I'm touching p6 for the first time. 14:29
_nadim llfourn: yes I do list unpacking, but I can't see how $s($a, $b) works.
llfourn: Arff yes I see
llfourn FloydATC: I'm not sure what you meant but rakudo gets installed as perl6 not perl :)
_nadim named argument of a Pair
llfourn doesn't see what _nadim sees 14:30
FloydATC what about modules, won't p6 modules affect p5 ones?
_nadim hmm, well self s not even in the list!
llfourn FloydATC: not at all :)
FloydATC: rakudobrew will install a totally isolated environment 14:31
FloydATC so it's basically safe to do a root install of p6 and not have to worry about personal path settings etc?
llfourn FloydATC: do you need to install as root?
14:31 RabidGravy joined
_nadim llfourn: :name($a, $b), thought $name($a, $b) is equivalent if $name ~~ 'name' 14:31
llfourn FloydATC: just install under your user if you can 14:32
FloydATC Not sure but here's what I'm thinking; for years I've just put #!/usr/bin/perl in my scripts because perl is always there
_nadim FloydATC: you're the second person that asks that oday. I can't understand how pwople want to polute their evironment because they don't want to pollute their $PATH!
gfldex /usr/share/perl6/ <-- that's there perl6 goes
/usr/share/perl5/ <-- that's where perl5 goes
_nadim FloydATC: IMO, let RakudoBrew install where it wants and take the second to edit your .bashrc 14:33
llfourn FloydATC: there is 0 chance that anything bad can happen from using rakudobrew -- it will just get installed under $HOME/.rakudobrew
perlpilot FloydATC: I usually use #!/usr/bin/env perl6 FWIW
14:33 xpen left
perlpilot FloydATC: (once it's in my PATH like it should be :) 14:34
smls FloydATC: I use #!/usr/bin/env perl for Perl 5 scripts and #!/usr/bin/env perl6 for PErl 6 scripts - this way it doesn't matter where they are installed, as long as $PATH is set up accordingly.
orbus .tell TimToady I did some more checking last night. It's not documented in the class docs on doc.perl6.org, but the base Exception class does indeed have .resume . If there's a way to prevent people calling it on custom exceptions in modules, I haven't figured it out yet.
yoleaux orbus: I'll pass your message to TimToady.
14:34 pierre-vigier joined
FloydATC perlpilot: Aha, that's the kind of neat trick I was hoping for 14:35
14:35 shicheng left
FloydATC because that way the script will work even if p6 is relocated later 14:35
smls FloydATC: But yes, it should be possible to install Perl 6 in /usr, because there are already distro packages which to that.. :)
perlpilot FloydATC: as long as your PATH is set appropriately.
FloydATC yup I understand
orbus you just probably shouldn't unless you integrate it into your system's package manager :p 14:36
that's what /opt and /usr/local are for
perlpilot FloydATC: btw, you should probably do the same thing for Perl 5 programs as well. (See smls)
14:37 joydon left 14:38 torax left
Skarsnik wow make test is fast today lol 14:39
14:40 webstrand joined
Skarsnik hm something interesting could be to have all NC lib used by tests compiled at the first test x) 14:40
RabidGravy llfourn, this is assuming one doesn't do something strange with where one installs or links rakudobrew of course 14:41
ChoHag llfourn: Somebody lost their /bin the other day using rakudobrew.
I'd say 0 chance is a tad optimistic.
RabidGravy to be fair the had gone somewhat off piste as regards the instructions 14:42
llfourn stands corrected
RabidGravy but you geeks always know best ;-)
ChoHag As a rule of thumb, when a developer tells you there's no chance of failure, assume failure is likely.
perlpilot When there's humans involved, there's always a chance of something screwy happening :)
ChoHag Unless you're a sysadmin, in which case assume failure is inevitable.
And not predicated on anything. 14:43
perlpilot ChoHag: but ... failure is not an option!
gfldex snapshot all the things!
perlpilot ;)
RabidGravy always ask a DBA as they'll always find an excuse for not doing anything
and still blame you when it goes wrong 14:44
|Tux| csv-ip5xs 50000 17.539 17.431 14:45
test 50000 23.072 22.964
test-t 50000 14.424 14.316
csv-parser 50000 51.591 51.483
ChoHag I find the network teams to be the best at deflecting blame.
14:46 lnrdo left
RabidGravy yeah, especially "network security" if you've ever worked at that kind of organisation 14:46
14:47 lnrdo joined
ChoHag I've been 'fortunate' enough to work with a various incarnations of a 'security team'. 14:47
14:47 perlpilot left, perlpilot joined
ChoHag How are perl 6 modules doing version numbers? 14:47
_nadim Am I the only one that feels that 'say' is slow? it may be just a feeling but it seems that even when there are no computations just using say takes time.
nine _nadim: it's probably not even 'say', but stringification that takes time. 14:48
14:48 lnrdo left
ChoHag 1000 iterations of say "" and print "" took exactly the same amount of time. 14:49
FSVO exactly
uruwi Try say "" vs print "\n"
RabidGravy ChoHag, I'm going with vN.N.N and haven't got to v0.1.0 with any yet ;-)
llfourn _nadim: the challenge is to name something that isn't slow atm 14:50
I just read the rakudobrew doom story, but not exactly clear why it would rm /bin/* if ran as root 14:51
Skarsnik I love done-testing
plan is nice when you have < 20 tests
RabidGravy actually I was thinking that some mathematical operations are surprising fast, just this morning. It's just doing anything with the results isn't so fast.
14:51 Begi2 joined
ChoHag llfourn: It contains something like 'unlink $prefix, $_ for <something>' where the combination of symlinks, and <something> caused /bin to be emptied. 14:51
Skarsnik panda was removing stuff when doing perl bootstrap.pl --prefix=/stuff 14:52
like it cleared /opt/bin and /opt/lib when given opt
ChoHag It shouldn't really remove anything at all. 14:53
llfourn ChoHag: hmm I would have thought that it would always be in .rakudobrew but I guess that got lost somehow :\
Skarsnik it removed what was not panda and some perl6 stuff
ChoHag Lift the old installation non-destructively into an out-of-the-way location and inform the user it's ready to be removed as desired.
Skarsnik ChoHag, I think the --prefix was for module prefix or something like that x) 14:54
14:54 _mg_ left
ChoHag Basically the age-old story of making the incorrect assumption that the code will work. 14:54
I'd like to say retold in a new way, but I can't.
14:54 Begi left
RabidGravy well, no-one has actually properly kicked the tires on any of this stuff until the last few days 14:55
Skarsnik hm
ChoHag Indeed. And that makes that assumption even more dangerous.
Skarsnik How I can Test something at compile time? x)
ChoHag Code never works. Processes always go wrong. Always fail safe.
RabidGravy preaching to the choir mate, I worked at a bank for some five years before this one :-\ 14:56
llfourn Skarsnik: BEGIN { } ? 14:57
14:57 sunnavy_ left
Skarsnik I am not sure it will work x) 14:58
ChoHag *sigh*
But the choir is too small.
14:58 sunnavy joined, pierre-vigier left
Skarsnik nop begin is not the answer 14:58
llfourn m: use Test; plan 1; BEGIN { ok True };
camelia rakudo-moar 9a346c: OUTPUT«ok 1 - ␤1..1␤»
14:59 pierre-vigier joined
Skarsnik I try to test if a trait will die, but it happend at compile time 14:59
Like: dies-ok{ sub test(Int $a) is native('fake') {*};} #this should die
llfourn Skarsnik: there's eval-dies-ok :) 15:00
Skarsnik Oh right I can use that
15:00 mort96 left 15:01 BuildTheRobots left
webstrand So I've managed to package panda using the command `RAKUDO_PREFIX="$pkgdir/usr/share/perl6/" ./bootstrap.pl` and patching bootstrap.pl to use --notests. Everything seems to work, is there anything I'm missing? 15:01
yoleaux 07:49Z <nine> webstrand: yes, RAKUDO_PREFIX was introduced after 2015.12
15:01 SmokeMachine___ left
nine webstrand: \o/ if it work, it works :) 15:01
llfourn webstrand: sounds good to me 15:02
15:02 mort96 joined
Skarsnik --notests sounds buggy x) 15:02
RabidGravy webstrand, may be worth pitching your results back to tadzik though 15:03
webstrand Unfortunately, with RAKUDO_PREFIX, panda dies because Tests is missing.
15:03 BuildTheRobots joined, petercommand left, SmokeMachine___ joined, corbyhaas left
Skarsnik and nowww time to run all the NC test and /tableflip 15:04
15:04 petercommand joined
flussence webstrand: you could try symlinking the real install location's perl6/site/ into $RAKUDO_PREFIX/vendor and see if that helps 15:05
15:05 corbyhaas joined
_wiz_ where's the best place to ask about Math::Pari build problems? 15:05
perlpilot _wiz_: probably #perl as I don't think there's a P6 version of Math::Pari yet. 15:06
15:07 zemmihates left
RabidGravy that even used to be a bugger to build like twenty years ago 15:07
Skarsnik Test summary should display the test that failed... 15:08
perlpilot _wiz_: If you're really trying to get at PGP::Crypt though, look for an RPM or DEB or whatever for that as there's usually one out there without Math::Pari
15:08 zemmihates joined
autarch [Coke]: I profiled Pod::TreeWalker t/basic.t - it allocated 13k scalars, mostly in core code - so whatever that code does is at least part of the problem 15:08
RabidGravy wasn't it by that crazy clever russian maths guy
autarch I mean that TreeWalker is doing something to cause bad behavior, not just Pod::To::HTML 15:09
webstrand flussence: I'm not really sure how perl6 uses vendor or site. But though it claims the directory /waur/perl6-panda/pkg/panda/usr/share/perl6/vendor is in the search path, it still can't find Test.
Skarsnik damn, no NC developper around? 15:10
webstrand Well, I cant find a Test~ anything either, so I'm not sure what perl is looking for.
flussence it's looking for Test.pm, which would've been mangled into one of the sha1 filenames in /usr/share/perl6/ 15:11
_wiz_ perlpilot: thanks, I'll try that. 15:12
RabidGravy is there an %INC equivalent? we can test this for avoidance of doubt
Su-Shee can I use rakudobrew without appending it to my bashrc? I just want to toy around with the recent perl6.
nine webstrand: Test is part of the CORE dist in the /usr/share/perl6 repository
Skarsnik Su-Shee, yes 15:13
Su-Shee (btw - ALL install guides point to different perl 6 versions, really annoying. you can't copy paste any of them)
Skarsnik you can manually call rakudobrew
Su-Shee Skarsnik: ok.
Skarsnik it's just rakudobrew will put perl6 bin and co in its directory
nine webstrand: please note that share/perl6 share/perl6/site and share/perl6/vendor are all different repositories
Skarsnik m: use NativeCall; 15:14
camelia ( no output )
15:14 asht joined
mspo it's also pretty easy to just build rakudo star in the normal way 15:14
with a --prefix
15:14 Arrowhead left
webstrand nine: Thanks, symlinking share/perl6 $prefix/share/perl6/vendor works 15:15
Skarsnik m: use NativeCall; say CArray[Int].^name; #How I get the Int type?
camelia rakudo-moar 9a346c: OUTPUT«===SORRY!===␤CArray may only contain native integers and numbers, strings, C Structs or C Pointers␤»
15:15 Arrowhead joined
Skarsnik m: use NativeCall; say CArray[int].^name; #How I get the Int type? 15:15
camelia rakudo-moar 9a346c: OUTPUT«NativeCall::Types::CArray[int]␤»
Su-Shee I already have like 439850395 rakudos and pugs and moars and all.. ;)
nine webstrand: that sounds like a horrible workaround though :/
Skarsnik Oh there is already a check for the content of CARRAy, fun
asht I just built rakudo star on ubuntu and all went well. tested a few simple scripts. How does one actually "compile" and build executable ?
nine webstrand: maybe setting PERL6LIB='inst#/usr/share/perl6' works, too? Would be a much nicer solution. 15:16
awwaiid Reading S12 a bit, I see that you can do "has $x" instead of "has $!x" and it works the same. I guess the reason I see the ! so much is it being more obviouse that it is an instance var?
webstrand nine: Is there any documentation on how perl6 searches for modules? You mentioned name mangling
nine webstrand: or RAKUDOLIB instead of PERL6LIB, als panda's bootstrap.pl may overwrite PERL6LIB
Skarsnik m: use NativeCall; say CArray[int].of; 15:17
camelia rakudo-moar 9a346c: OUTPUT«(int)␤»
nine webstrand: gist.github.com/jnthn/47a42b2e86e7e552b2e2
loren as i know perl6 search modules is a little slowly ... 15:19
nine loren: why do you think that?
perlpilot ... compared against Perl 5 (maybe?) 15:20
mspo asht: it should have produced a perl6 script that will handle it
Su-Shee is "build-panda" here a typo?
rakudo.org/how-to-get-rakudo/ <---
15:21 Tonik joined
perlpilot Su-Shee: nope 15:21
asht mspo: my test file was names test6.p6, where will i find the "perl6 scrpt that will handle it"? there is no new file in the current directory. 15:22
RabidGravy needs to be disambiguated from buiild $something 15:23
webstrand nine: RAKUDOLIB seems to partially reverse the effect of RAKUDO_PREFIX, however patching bootstrap to include /usr/share/perl6 works perfectly.
15:23 kjs_ joined
muraiki awwaiid: $! in an object makes the field private 15:23
15:24 protium left, void1 left 15:25 khw joined 15:26 skids joined, AlexDaniel left
FloydATC For any installed module, what is the p6 equivalent of "perldoc That::Module"? 15:26
Su-Shee perlpilot: why is it build moar but build-panda?
perlpilot: also, why does "build panda" work then?
hm and why don't I have a perl6 binary in my ~/.rakudobrew/moar-nom/install/share/perl6/site/bin now.. 15:27
mst Su-Shee: 'build foo' is 'build rakudo with backend foo'
yoleaux 09:08Z <nine> mst: I think we're gonna have to be smarter about identifying usable precomp files anyway. Right now, we have to precomp all modules again after installing any module. And precomp files created by panda are invalidated as soon as you install a vendor module package
FloydATC Su-Shee: I found both panda and perl6 in .rakudobrew/bin/ 15:28
mst nine, yeah, I already proposed a solution for that - basically re-dry-run just the resolutions
RabidGravy muraiki, that's the wrong way round the '.' twigil gives it an accessor, thus making it "public"
Su-Shee well, I did not.
ok, throwing this away.
RabidGravy m: class F { has $f; }; my $t = F.new; say $t.f
camelia rakudo-moar 9a346c: OUTPUT«Method 'f' not found for invocant of class 'F'␤ in block <unit> at /tmp/59FJuIffkt line 1␤␤»
mst Su-Shee: the approach for using rakudobrew is
Su-Shee I have a panda but no perl6.
FloydATC <- new as well
15:28 orbus left
mst Su-Shee: (1) add rakudobrew/bin to PATH (2) run 'rakudobrew build moar' 15:28
Su-Shee mst: I know what it is, I'm installing like somebody who has never used anything like it. ;) 15:29
mst Su-Shee: if you skip step 1 it will NOT WORK
muraiki m: class F { has $.f; }; my $t = F.new; say $t.f
camelia rakudo-moar 9a346c: OUTPUT«(Any)␤»
mst Su-Shee: if you follow the README.md it works fine
15:29 Arrowhead left
muraiki m: class F { has $.f; sub lol { $!f = "lol" } }; my $t = F.new; F.lol; say $t.f 15:30
camelia rakudo-moar 9a346c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oO44DEmgHJ␤Variable $!f used where no 'self' is available␤at /tmp/oO44DEmgHJ:1␤------> 3class F { has $.f; sub lol { $!f7⏏5 = "lol" } }; my $t = F.new; F.lol; say ␤»
muraiki bah
m: class F { has $.f; method lol { $!f = "lol" } }; my $t = F.new; F.lol; say $t.f
camelia rakudo-moar 9a346c: OUTPUT«Cannot look up attributes in a type object␤ in method lol at /tmp/N1BCHFbqTk line 1␤ in block <unit> at /tmp/N1BCHFbqTk line 1␤␤»
15:30 Ox0dea left
mst Su-Shee: there's no point dry-running "what stupid things could users do", I already know those won't work, I did that myself 15:30
15:30 Arrowhead joined
muraiki m: class F { has $.f; method lol { $!f = "lol" } }; my $t = F.new; $t.lol; say $t.f 15:30
camelia rakudo-moar 9a346c: OUTPUT«lol␤»
muraiki finally. heh
mst if you can find a bug from following the README, that's interesting
RabidGravy :) 15:31
mst but "rakduobrew doesn't work very well, if at all, unless you follow the documentation" is annoying but not new info :D
Su-Shee mst: well I did find that all docs are diverging. and that's what the website points to. not to the README.md.
mst which website points where?
dalek c: 232d57a | lizmat++ | doc/Language/faq.pod:
Recycle pmichaud++'s answer on perl6-user as a faq
15:32
15:32 tiogilito joined 15:33 tiogilito left
mst Su-Shee: aha, rakudo.org/how-to-get-rakudo/ ? 15:33
Su-Shee mst: perl6.org contains the README.md part but points to the rakudo.org install. I'll talk to Zoffix.
mst: yes, which also contains old version numbers. 15:34
mst: so you better not copy paste it.
mst Su-Shee: other than the version numbers, the insutrctions look like they'd work
Su-Shee mst: forget I said something. I'll make it work.
dalek c: 2e7ab45 | (Carl Masak)++ | doc/Language/faq.pod:
fix small typo
15:35
Skarsnik how do I know when a type is not 'build'?. I perform some check on a the type of param in a trait but I get error when accessing the type in case of : class A { sub p(A $a) is native }
shadowpaste "mst" at 217.168.150.38 pasted "this is from rakudo.org" (5 lines) at fpaste.scsys.co.uk/503614 15:36
15:36 pierre-vigier left
mst Su-Shee: ^^ if that series of commands doesn't work, I want to know 15:36
15:36 webstrand left
lizmat masak++ # good catch 15:36
15:36 pierre-vigier joined 15:37 webstrand joined
Ulti FloydATC for docs there isn't a good command line solution I dont think, docs.perl6.org/ is all the official reference documentation though 15:37
yoleaux 28 Dec 2015 10:33Z <moritz_> Ulti: re irclog.perlgeek.de/perl6/2015-12-26#i_11782724 please ping in 2016 about that, currently not at home
Su-Shee mst: that's the line which adds to the bashrc, not the README.md line which just adds to the path. you'd have to say for new people which one to use preferably. also, see above, I asked beforehand if rakudobrew works without adding it permanently to the bashrc. it's very confusing if you don't know perlbrew already. 15:38
CoconutCrab dmesg 15:39
15:39 _mg_ joined
CoconutCrab ops, sorry, wrong window 15:39
mst Su-Shee: the README.md version proposes adding rakudobrew init - to .bashrc
Su-Shee: so, both add to .bashrc
RabidGravy is the author of "RPi" i.e "cspencer" in the house? I forgot what your nick was
Su-Shee mst: *sigh* forget I said something.
Ulti RabidGravy yeah I wasn't sure if that was someone on here or not 15:40
15:40 acrussell joined
masak is it really `rakudobrew build moar` and then `rakudobrew build-panda` (with a hyphen)? 15:40
whyyyyy
mst yes
yes it is
Ulti because reasons
masak gnnnrk
llfourn yup
mst because 'rakudobrew build' should've been called 'rakudobrew build-rakudo'
llfourn it used to be build panada though I think
geekosaur arguably should be build-perl6
RabidGravy Ulti it was I just can't remember who
Ulti probably not great reasons
masak wants to afflict someone with severe consistency 15:41
geekosaur or that
tadzik hysterical reasons :)
yoleaux 28 Dec 2015 23:29Z <AlexDaniel> tadzik: yeah, great! Travis status is a bit weird, why does it attempt to run it on 2015.09? Anyway, that means that github.com/tadzik/Bailador/issues/43 could be closed after the tests are added
15:41 skyl4rk joined
Ulti tadzik heh 15:41
we cant break back compat!
tadzik it's already called rakudobrew, so 'build-rakudo' is quite redundant
Ulti ever
Su-Shee masak: well. I asked that 10 minutes ago.
tadzik build-panda was an addition, and it also works as 'build panda' since everyone accidentally writes it that way
15:42 webstrand left
mst yes, but apparently he wasn't reading, so I answered it again 15:42
masak Su-Shee: sorry, my backlogging sucks these days :/
mst all good
Su-Shee tadzik: then why not just write build panda everywhere? because I typed build panda as well and it just worked :(
masak <Su-Shee> perlpilot: why is it build moar but build-panda?
tadzik I don't mind removing the build-panda form
masak found it :)
tadzik also
well
masak tadzik: I'm fine as long as it works both with and without the hyphen ;) 15:43
RabidGravy THINK OF THE CHILDREN!
llfourn should be fine unless someone invents a pandaVM that runs rakudo
masak tadzik: that, or only one of the ways works.
tadzik I caught myself trying to explain it like "it's obvious if you look at how it's implemented!" but that's just a stupid excuse :)
15:43 webstrand joined
Ulti just 'build' defaulting to the current tagged release and building panda too would be good 15:43
masak tadzik: :D
tadzik masak: so you're fine either way?
masak tadzik: no, no
tadzik oh
well, both forms work now
so you're happy :)
masak tadzik: should be "all four forms work now" for me to be happy
tadzik oh 15:44
perlpilot tadzik: I want "rakudobrew dwim" to do all the things in just the right way that makes me happy ;-)
Ulti surely the panda vm would be called bamboo
Su-Shee well it looks like a typo when you actually read the docs. so you start question of it.
tadzik perlpilot: that's actually brilliant
15:44 loren left
tadzik Ulti: bamboo already exists :) 15:44
Ulti because pandas run on bamboo
masak tadzik: `build-moar`, `build moar`, `build-panda`, `build panda`
mst perlpilot: yes, I've already been thinking about that
Ulti oh well we can target it then :D
tadzik it's a dependency bundler: github.com/sergot/bamboo
RabidGravy document the one that least confuses, allow both, solved
mst that's a better name than I had for it
masak RabidGravy: right
15:44 Arrowhead left
masak RabidGravy: I think space is less confuzzling than hyphen 15:44
tadzik so, tl;dr: change the documentation to remove the hyphen
masak aye
++tadzik 15:45
perlpilot +1
muraiki rakudobrew build—panda
masak tadzik: what perlpilot said, but s/dwim/christmas/
Ulti tadzik++ you'll need the karma once you're done too
mst thinks we need a rakudo-build ala perl-build
masak tadzik: or s/dwim/xmas/ 15:46
perlpilot masak: oh! yes, like that.
masak tadzik: or both :)
RabidGravy masak, "rakudobrew dwim"? cooooool
masak RabidGravy: no, "dwim" is like so one minute ago! :P
smls thinks "cocoon" could be a decent name for some Perl 6 package-management related tool
15:47 Arrowhead joined
FloydATC Another newbie question: Where in the world does panda install modules when executed as non-root? I installed one but I can't find it anywhere 15:47
tadzik it's fixed
15:47 pierre-vigier left
Su-Shee I'm happy without all the puns as long as I get an easy consistent foolproof install thing. for all I care it can be named klauspeter. 15:47
tadzik Su-Shee: challenge accepted
Su-Shee tadzik: did you fix it on both perl6.org and rakudo.org?
15:48 RubiO joined
tadzik Su-Shee: neither, I fixed readme and --help :) 15:48
15:48 aenaxi joined
Su-Shee tadzik: ah, in tadzik's org :) 15:48
tadzik I don't think I can fix it on rakudo.org, but I can get perl6.org
Su-Shee: pretty much, yes :)
FloydATC ...since I can't find the equivalent to "perldoc" for modules I thought I'd peek inside but I can't find it... feel like my parents here :-|
RabidGravy shit, tadzik isn't omnipotent? I'm aghast ;-)
tadzik FloydATC: have you tried p6doc? 15:49
Ulti isnt p6doc the synopsis stuff rather than the actual docs?
RabidGravy no actual docs.perl6.org stuff
FloydATC Nope, I'm completely new and lost. Just brewed rakudo a few minutes ago
tadzik RabidGravy: heh, fsvo potent perhaps :D
RabidGravy :)
tadzik (I hope that this only sounds largely inappropriate in polish) 15:50
15:50 pierre-vigier joined
Su-Shee so. off to see the force awakens ;) 15:50
tadzik \o/
have fun :)
15:50 andreoss left
tadzik and I'll show you my fan theory later 15:50
Su-Shee tadzik: I'm not a fan. 15:51
masak Su-Shee: have the appropriate amount of force
tadzik doesn't matter!
FloydATC tadzik: p6doc must be cloned and built completely separately from rakudo, is that right?
tadzik it's still hilarous
RabidGravy I know we're targetting 7 yos as well as gnarled geeks but I think you're alright
tadzik FloydATC: yes, it's a module
pmurias mst: re rakudo-build, that is what people who want to install rakudo in /usr/local should be using instead of bending rakudobrew
masak tadzik: is it about Jar-Jar being a jedi? :/
Su-Shee tadzik: oh god no.. I hate "hilarious" :(
tadzik masak: no, it's better than that
FloydATC oh so "panda install p6doc" should work then?
Su-Shee masak: PLEASE DO NOT SCARE ME
tadzik masak: have you watched it already?
the 7th
masak Su-Shee: what? that one is obvious if you think about it...
tadzik: nope 15:52
dalek kudo/nom: 74ab052 | lizmat++ | src/core/DateTime.pm:
Make DateTime.now about 4x faster

By creating it from posix, rather than from the Instant now.
Su-Shee masak: I don't care if it's obvious, I so dearly hate figures like jar jar and neelix and the like. :(
TimToady NO SPOILERS!!!!
yoleaux 14:34Z <orbus> TimToady: I did some more checking last night. It's not documented in the class docs on doc.perl6.org, but the base Exception class does indeed have .resume . If there's a way to prevent people calling it on custom exceptions in modules, I haven't figured it out yet.
tadzik masak: ah, alright. My theory is based on, and contains minor spoilers
RabidGravy lizmat++ # speed up Chronic wildly
masak tadzik: no minor spoilers!
tadzik NO LOL
NO PROJECT EULER
masak NO PROJECT SPOILER 15:53
skids Spoiler -- Jar-Jar sings "oh meesa horney"
mst pmurias: right, and then rakudobrew can piggyback on that and etc.
tadzik skids: :D
RabidGravy no elvis, beatles or the rolling stones
masak Su-Shee: I agree Neelix has few redeeming qualities.
RubiO Can anybody help me? I get the error "===SORRY!===\nError encoding ASCII string: could not encode codepoint 234" whenever I try to run an script on MoarVM. I noticed it doesn't happen on JVM. I googled this message but with no luck until now.
webstrand Is there any reason not to move panda to perl6/vendor since I'm packaging it?
masak RubiO: seems your script is in some odd encoding. 15:54
RubiO: are you on Windows? are you using Notepad? :)
asht on perl6 command line, what are the valid values for "target"? I can't find much documentation on command line.
RubiO No, I'm on Fedora 22
RabidGravy better share the code then as I'm on Fc22 too 15:55
RubiO I'll try to save it again on another encoding
Let me see how it goes 15:56
masak asht: --target=mbc on Moar, --target=jar on the JVM
15:56 lustlife left
masak RubiO: should be UTF-8, preferably 15:56
mst webstrand: what would that ential?
perlpilot catches back up ...
webstrand mst: mv $prefix/site $prefix/vendor
perlpilot so "rakudobrew build panda" is what rakudo.org should say, yes?
asht masak: Thanks, masak. 15:57
RabidGravy I think "parse" "ast" and some other things are valid targests but only useful for deep debugging
FloydATC Even more confused now. I installed "HTTP::Server" using panda but can't find it anywhere. My test script is okay with "use HTTP::Server" but p6doc says it can't find "HTTP::Server".
15:57 molaf joined
mst webstrand: oh. right. if you're supplying a version via OS packages it should be going into vendor, yeah 15:57
16:00 pierre-vigier left
llfourn FloydATC: I'm not sure that p6doc works with modules... 16:02
RabidGravy FloydATC, I don't think p6doc has caught up with the way the modules are stored
llfourn has never used p6doc
FloydATC ok, makes sense 16:03
Ulti asht: you can also --target=parse and --target=ast which are some of the compiler steps before producing anything executable, only really useful for slang/compiler debugging
FloydATC So, how are the modules stored? Because I've tried locating them and can't
llfourn FloydATC: somewhere in .rakudobrew if you're using it 16:04
FloydATC I am, but 'find' comes up with nothing that matches so I'm a little confused 16:05
Ulti try grep for the class name
FloydATC In fact.. s/a little//;
Well, for HTTP::Server I tried to grep for Server.pm and got nothing 16:06
Ulti grep for Server
the .pm wouldnt be in the source
FloydATC I find nothing relevant and HTTP comes up empty 16:07
ShimmerFairy try ~/.perl6
llfourn hmm so like FloydATC is right i can't find em either as .pm files 16:08
perlpilot yeah, but good luck finding something resembling the name "Server.pm"
llfourn I can find precomp files
FloydATC Nothing in ~ at all, in fact I changed to root, did 'updatedb' and then locate, still only finding perl5 stuff
llfourn so panada doesn't keep the .om around anymore?
s/om/pm/ 16:09
awwaiid perlpilot: it's rakudobew build-panda last I knew
RabidGravy it hashes the .pm file too
llfourn ahh that makes sense
16:09 vendethiel left
perlpilot awwaiid: aye, but "rakudobrew build panda" also works and seems to be less confusing 16:09
llfourn I mean that explains what I'm seeing not that I understand why
RabidGravy so "find <wherever> | xargs grep -l HTTP::Server" should find it 16:10
16:11 zakharyas joined
llfourn hmm so #inst compunit repo stores files as hashes 16:11
Skarsnik hm, How I get the 'value' of a Parameter?
RubiO masak, RabidGravy, I reduced the problem to this: I can have non-ascii chars on token names on a grammar, but I got that error if I try to refer to the declared token using <>.
For instance, this passes OK on "perl6 -c": grammar { token TOP { <numero>+ } token número {<< \d+ >>} } 16:12
But this does not: grammar { token TOP { <número>+ } token número {<< \d+ >>} }
Ulti Skarsnik a command line one? @*ARGS
Skarsnik nop the Parameter type 16:13
doc.perl6.org/type/Parameter
but come to thing of it, it's probably not "doable"
Ulti do you mean specifically from within a function getting the params of that function
RabidGravy RubiO, I was going to ask you to distl it down but you did, unless someone chimes in I'd suggest that may be worth an RT 16:14
m: grammar { token TOP { <número>+ } token número {<< \d+ >>}
camelia rakudo-moar 74ab05: OUTPUT«===SORRY!===␤Error encoding ASCII string: could not encode codepoint 250␤»
perlpilot RubiO: also, you said you don't get that error on JVM?
chansen_ lizmat: If you really want to make DateTime faster, only store absolute count of elapsed unit since epoch and lazily compute the broken down components. Current implementation makes the same mistakes as the Perl5 implementation of DateTime.pm
RubiO Here's a better example. This runs OK: perl6 -c -e 'grammar { token TOP { <numero>+ }; token número {<< \d+ >>} }'
This does not: perl6 -c -e 'grammar { token TOP { <número>+ }; token número {<< \d+ >>} }' 16:15
RabidGravy I'm curious now
RubiO perlpilot, yes. This runs OK: perl6-j -c -e 'grammar { token TOP { <número>+ }; token número {<< \d+ >>} }' 16:16
RabidGravy m: sub número() { say "ahay" }; número()
camelia rakudo-moar 74ab05: OUTPUT«ahay␤»
lizmat chansen_: is there a Perl5 implementation without those mistakes ?
RabidGravy okay, so it's "just" in there
RubiO Strangely enough, yes. 16:17
Skarsnik Ulti, I am validating the signature of a routine and I want to valid too the evenvual parameters of a callable if one is given
RubiO And I'm sure it ran before. It must have been introduced in some recent update
chansen_ lizmat: Time::Moment, but most of it's implementation is in C/XS 16:18
perlpilot that would normally make me think that it's really an NQP problem leaking through, but I'm not so sure
RabidGravy RubiO++ # top weirdness of the day :)
16:19 Arrowhead left 16:20 Arrowhead joined
[ptc] 17:20 -!- Arrowhead [~schuller@535500D8.cm-6-6a.dynamic.ziggo.nl] has joined #perl6 16:20
whoops, sorry
RabidGravy perlpilot, but you'd share my assessment it's a bug right? ;-)
RubiO m: grammar { token TOP { <número>+ }; token número {<< \d+ >>} } 16:21
camelia rakudo-moar 74ab05: OUTPUT«===SORRY!===␤Error encoding ASCII string: could not encode codepoint 250␤»
perlpilot RabidGravy: indeed :)
16:21 xinming left
RabidGravy RubiO, on the grounds no-one is going to fix it right here could you file a bug at rt.perl.org/ (against Perl 6 natch) or email the address I can't remember 16:23
16:23 vendethiel joined
llfourn [email@hidden.address] #my best frnd 16:24
RubiO RabidGravy: ok
RabidGravy [email@hidden.address]
llfourn yes
perlpilot [email@hidden.address] !
:)
RabidGravy sorry brane is a bit laggy 16:25
chansen_ lizmat: you can also look at Go's implementation, C# and C++ boost
masak tadzik: thinking about it, maybe `rakudobrew install` is the least punny, most self-explanatory subcommand 16:26
tadzik: you can always claim it's short for "install all" :P 16:27
perlpilot "rakudobrew install all the things now please"
RabidGravy but top bug, nonetheless. It's a worry when actual real bugs are more exciting than misunderstandings
16:27 yayster left
pmurias RabidGravy: --target=ast is awesome for the implementers 16:28
AFAIR niecza didn't have proper ast dumping support and it was a major barrier for getting involved with it's development
RabidGravy yeah, even I've used it it but not convinced of it's more general utility ;-)
16:29 Arrowhead left, Arrowhead joined 16:30 xpen joined
hoelzro o/ #perl6 16:30
pmurias hoelzro: hi
hoelzro o/ pmurias 16:31
16:31 kmj left 16:33 xinming joined
smls So... Have any press outlets picked up on the Perl 6 release yet? 16:34
(Not counting hackernews / sdlashdot / perl blogs)
gfldex smls: heise.de did 16:35
16:35 hankache joined, xpen left
hankache .tell supernovus can kindly check the PR on github.com/supernovus/template6 It adds "use MONKEY-SEE-NO-EVAL" in order for EVAL to work 16:37
yoleaux hankache: I'll pass your message to supernovus.
TimToady smls: infoworld did a piece 16:39
hankache hello *
TimToady link?
smls this one? www.infoworld.com/article/3017418/a...stmas.html 16:40
16:40 simcop2387 left
Skarsnik damn void method have two params when using signature.param on them? 16:41
16:42 simcop2387 joined
RubiO #127075 open for encoding error when a non-ascii token is referenced back in a grammar. 16:42
dalek pan style="color: #395be5">perl6-examples: cfc205a | paultcochrane++ | categories/euler/prob288-shlomif.p6:
Add verbose cmd line option to problem 288

This reduces the amount of output to check in the tests.
pan style="color: #395be5">perl6-examples: 4970aba | paultcochrane++ | t/categories/euler.t:
[euler] add tests for problems 288, 329 and 539
16:42 simcop2387 left, simcop2387 joined
timotimo cosimo: for jupyter/iperl6kernel you best ask arnsholt 16:43
dalek pan style="color: #395be5">perl6-examples: f3a6365 | paultcochrane++ | .gitignore:
Ignore the .precomp dir
[ptc] stmuk: what are *.un~ files? Just noticed them in perl6-examples .gitignore
chansen_ lizmat: if you want more input or work on this together, let me know 16:44
lizmat chansen_: I think there's room for such an implementation in module space
chansen_: I think the current Perl 6 implementation is now at a nice place wrt to speed, ease of use and API 16:45
hankache anyone working on the windows MSI?
chansen_ lizmat: IMHO, core DateTime should be fast and correct
lizmat chansen_: dates and times are two different things
chansen_: agree with you on the correct part: and afaik, it's now correct except for "now" being one second off when inside a leap second 16:46
but that is an underlying OS issue, really, I'm afraid
chansen_: at former $work, I used to have to deal with dates a lot 16:47
if you know the range in which you want to accept dates, things can be speeded up by again some order of magnitude
but DateTime/Date/Dateish need to be more general, so no go for that :-) 16:48
16:49 simcop2387 left
pmurias hoelzro: I'll be applying for a hague grant to work on rakudo-js: github.com/pmurias/grant_proposal/.../draft.pod 16:50
hoelzro awesome! pmurias++
pmurias hoelzro: if you have time I would love to see feedback
hoelzro sure, I'll take a look
ShimmerFairy .tell nine according to bisection, ac7b2a5a8381d5f255906437d1980c9c3b77e2a5 is the rakudo commit that breaks SUPERNOVA for me (without trying Grammar::Tracer). And I can't tell why. 16:51
yoleaux ShimmerFairy: I'll pass your message to nine.
chansen_ lizmat: I'm not talking about leap-seconds, DateTime.pm in p5 and p6 pretends to observe leap-seconds and is probably the only one that does in a "standard" library which is just silly IMHO!
perlpilot pmurias: nice 16:52
chansen_ lizmat: You cannot obtain current time from OS using time() or gettimeofday() and observe leapseconds
16:52 pdcawley joined 16:53 mohij joined
chansen_ You need to query NTP to obtain whether or not leap second is in effect 16:53
16:54 cdg joined
RabidGravy pmurias, as some of my DJ friends say "full support" :) 16:54
chansen_ .. or GPS or a Atomic clock
ChoHag There's nothing silly about being correct. 16:55
If leap seconds exist, software which deals with times should consider them. 16:56
chansen_ lizmat: Learn from others, don't learn from p5 DateTime!
16:56 simcop2387 joined
cosimo timotimo: ok 16:57
lizmat chansen_: well, I'm afraid your suggestion comes quite a few years too late :-(
chansen_: but as always, patches welcome
perlpilot chansen_: you could offer a "better" implementation. If it's truly better, it could find its way into core.
RabidGravy I'm torn. Only a canonical time source can no about leap seconds
16:57 _mg_ left 16:58 pdcawley left
RabidGravy know even 16:58
ChoHag I know about leap seconds, and there's nothing canonical about me.
lizmat chansen_: personally, I'm just about done with Dateish/Date/DateTime
autarch FWIW, I agree with chansen_ about leap seconds - totally not worth it
perlpilot RabidGravy: a priori, yes, but after the fact, anything can "know" about leap seconds. :)
RabidGravy ChoHag, but you're special :)
japhb Also, how leap seconds are handled isn't standardized even by those who care. Several cloud providers "smear" leap seconds, for example. 16:59
perlpilot autarch: do you also agree with his assessment of DateTime? :)
lizmat well, everybody: leap second support is engrained in 6.c now, so not going to go away
chansen_ perlpilot: which assessment?
autarch perlpilot: somewhat - there are things that DateTime does really well
ChoHag Since perl 6 isn't an OS or even its kernel, leap seconds only need to be counted, not lived.
lizmat you don;'t want to know how many tests we have for that :-)
perlpilot chansen_: the "mistakes" you mentioned. 17:00
17:00 pierre-vigier joined
autarch I do want to see p6 have full support for time zones as Olson zones with rules, not as offsets 17:00
japhb Ditto that ....
ChoHag What you don't want is some developer deciding that they absolutely must handle leap seconds, finding out that DateTime doesn't, and rolling their own.
autarch I will say that supporting time zones _and_ leap seconds makes life incredibly hard
and of the two, tz support is far more practically useful 17:01
japhb autarch: Why so?
ChoHag Well perl's all about making the impossible merely hard.
japhb Are there any leap seconds near rule boundaries?
autarch japhb: when constructing an object from the local time, it's really hard to figure out if it's valid
japhb Oh, hmm. 17:02
chansen_ perlpilot: As I said, look at GO, C#, C++ boost, ObjC NSDate, If you want papers (I have booksmarks, let me know=
.. GDateTime
autarch to clarify - if you specify "second = 60" then validating that requires you to know the offset from UTC, which is tricky to figure out before validating the values
TimToady translate to atomic and back, and see if it matches?
dalek kudo/nom: 461e635 | lizmat++ | src/core/Date (3 files):
Make &formatter a Dateish attribute

This effectively adds :formatter parameter to Date as well. Because? Well, why not, it would make things consistent and further simplify Date/DateTime
17:03
perlpilot or ... forego validation ;>
autarch if I were to do it all over again I'd probably look for a C library that does most of this and link against that or something
japhb autarch: Ah, I can see the chicken-and-egg problem, yes.
chansen_ perlpilot: I did my research when I implemented Time::Moment in C/XS
lizmat autarch: well, the Date/DateTime modules predate NativeCall... they were one of the first to be implemented, I think 17:04
autarch blog.urth.org/2010/11/26/cpan-api-r...eduration/ - my review of DateTime
leont agrees with Olson zones being way more useful than offsets
japhb chansen_: Note that "no one else in the language dev community decided to try" is not in itself an argument that necessarily sways the Perl community ....
17:04 pierre-vigier left
TimToady yeah, we're funny that way 17:04
ChoHag Actually doing shit?
Who *does* that?
leont In fact, I'd say offsets are so often used wrong that they can be harmful 17:05
17:05 cdg left
RabidGravy ornery mofos thelot of 'em 17:05
TimToady now, let's keep it butterfly friendly, kids
autarch yeah, offsets are basically just wrong
RabidGravy TimToady, I was ;-) 17:06
chansen_ japhb: I'm not sure I follow, care to elaborate?
autarch offsets fall under "making hard things harder, and wrong things easy"
ChoHag Do butterflies not swear?
chansen_ autarch: I agree
ChoHag autarch: That's basically programmin in a nutshell.
17:06 cdg joined
chansen_ autarch: But Time::Moment is a true implementation of ISO 8601 17:07
TimToady not when there might be larvae reading the logs
RabidGravy a kind of rooting question, how often are leap seconds issued?
17:07 asht left
perlpilot whenever needed 17:07
but no more than 2 times per year
leont Once every ±3 years on average, I think
ChoHag Languages should stop people doing stupid things when hammers can no longer hurt thumbs.
TimToady it depends on how hard the asteroid hits and at what angle
RabidGravy right
chansen_ heh 17:08
TimToady speaking of hammers
japhb chansen_: Meaning: we might get things wrong (and we have), but lots of other languages not doing something never stopped us from *trying* to get something right before. :-)
autarch the rest of the core p6 DateTime stuff looks fine, but I think it'd be good to rip out the timezone bits and replace them with something Olson-ish
Skarsnik "Let's add this to NC, it should only take an hour"... 4 hours later
japhb autarch: Sadly, we need both, in order to interop with the ISO standard. 17:09
autarch I wish there were an Olson C lib
japhb ... but I will heavily second *that*
ChoHag 400%? I'm still in the foundation stages 3 years later on something I was sure would take about 4 months. 6 tops.
autarch japhb: given the _current offset_ in seconds or formatting as "+07:00" is totally ok - calling that a _time zone_ is not
TimToady quick, write a C backend for Perl 6, and we can write the C lib for them
RabidGravy a lot of worry and sweat over a ~ 1/100000000 inaccuracy this then
autarch TimToady: back in 5 minutes
japhb autarch: Ah, then we 100% agree
autarch done - finished early 17:10
chansen_ I definitely agree with autarch, I have received countless of emails asking how to use Time::Moment with time zones.
TimToady :D
autarch it's at imaginarygithub.com
perlpilot RabidGravy: well ... we want P6 to be used for highly accurate things at some point :)
TimToady actually, you just have to unroll MoarVM, since it's in C
autarch in all seriousness, parsing the Olson files in Perl 6 should not be too hard other than the fact that there's basically zero documentation of the internal format other than some of the grottiest C code I've ever looked at ;) 17:11
17:11 pierre-vigier joined
ChoHag Perl programmers are no strangers to grotty-looking source code. 17:11
TimToady we speak Unicode, so how hard could Olson be?
japhb autarch: I would think your Perl 5 code qualifies in that regard as well ....
ChoHag TimToady: Thems sounds like famous last words.
RabidGravy I like second accuracy, I run a radio station that annoys the DJs by starting and ending their shows bang on the second they're supposed to, but what? 17:12
autarch japhb: I don't parse the binary files - just the text source - but that was a terrible idea
chansen_ autarch: how about two implementations, one that uses the tzfile(5) provided by many OS and one that uses Olsen raw data?
autarch _do not do what I did_
hoelzro pmurias: looks good to me!
autarch chansen_: I think it might be easier to just package up the Olson binary data as a Perl 6 distro for OS's that don't include it
17:12 SwellJoe joined
autarch that's basically what zefram did 17:12
dalek c: cae275b | skids++ | doc/Language/ (2 files):
Link up (hopefully, contingent on markup working) wantarray sections

Also, provide examples for alternatives to wantarray
17:13
autarch TimToady: here's you docs ;) github.com/eggert/tz/blob/master/zic.c
17:13 espadrine left
flussence the timezome-data package I've got installed provides /usr/sbin/zdump, which prints everything in a nice one-line-per-thing text format 17:13
17:14 hankache left
autarch the key bits start at github.com/eggert/tz/blob/master/zic.c#L1592 17:14
japhb autarch: Psssh, I've seen *way* grottier C code. :-)
autarch japhb: great, explain to me what the heck that does then! 17:15
japhb Though the formatting rules are ... weird.
flussence so if anyone's thinking of writing a zonefile parser, test it against that reference implementation :)
chansen_ autarch: That would also work
17:15 itaipu left
japhb autarch: I just remembered, I have something else to do ... 17:15
autarch flussence: yes, that's how I generate test for DateTime::TimeZone
japhb hums innocently
lizmat autarch: for adding Olson timezone support, you only need to augment method new() with a candidate that takes Str:D $timezone instead of Int 17:16
autarch github.com/autarch/DateTime-TimeZo...from_zdump - parsing zdump
17:16 pierre-vigier left, pierre-vigier joined
leont Who the hell assumes the compiler has 5 registers available? 17:16
autarch lizmat: well, then the internals need to do something with that, and the timezone method should not return what it returns now
leont That's just, dumb
RabidGravy I think I'm going to have to "upgrade" to some serious beer to follow this 17:17
lizmat autarch: call BUILD the same was as the current main new, and we should be in business
chansen_ leont: 5 registers, which compiler?
leont No, 8 even!
That code autarch just linked
RabidGravy leont, I'm sure there are microcontrollers that do
leont I'm sure there are, it's just but this isn't code for microcontrollers 17:18
japhb I like the bit where the comments go into great detail about the age of the big bang ... and then round to the nearest power of two.
autarch lizmat: it's a little more involved than that - you can't just turn an Olson tz into a number and then use that internally
leont (grammar!, sigh)
timotimo oh hey japhb
japhb oh hey timotimo 17:19
lizmat autarch: you can for a given YYYMMDDHHMMSS ?
ChoHag How do we specify and use class/module versions?
timotimo i feel i'm a bit reluctant to go ahead and run benchmarks with current rakudo and older rakudos because of the "tests require different code at different releases" :|
oh, and i still ought to write that weekly
autarch lizmat: yes, but things like .later and .earlier need to pass the zone name around so that you get the right local time
RabidGravy speaking of which I'm going to completely rip off the C code from Device::SMBus in a minute
timotimo i could get started on that after grocery shopping
ChoHag I recall a lot of arguments on this in perl 5. Did 6 solve the problem or do we now have n+1 standards?
autarch also, how do you handle non-existent local times, 25 hour days where there are two of the same hour, etc.
RabidGravy get beer it will help
leont Time is difficult :-( 17:20
japhb timotimo: We should fix (if needed) any tests for Perl 6 6.c and NQP 2015.12, and anything too old for that is ... too old.
nine ChoHag: we do have a Version class and version literals.
yoleaux 16:51Z <ShimmerFairy> nine: according to bisection, ac7b2a5a8381d5f255906437d1980c9c3b77e2a5 is the rakudo commit that breaks SUPERNOVA for me (without trying Grammar::Tracer). And I can't tell why.
japhb I find myself less interested in the deep past recently.
RabidGravy but we couldn't do without it
ChoHag I saw that.
nine ShimmerFairy: that...does not make any sense
ChoHag No idea how to correctly use it. For whatever value of 'correct'. 17:21
lizmat m: my Int $a = 3600 but role { method Str { "Europe/Amsterdam" } }; say $a, $a + 0 # adding timezone info
camelia rakudo-moar 461e63: OUTPUT«Europe/Amsterdam3600␤»
lizmat autarch: ^^^
perlpilot leont: I think time is fine ... it's just the human gyrations with time that are difficult.
leont What is time without human gyrations?
RabidGravy lizmat++ :)
perlpilot leont: simple!
RabidGravy leont, leave peoples gyrations outta this 17:22
leont throws relativity at perlpilot
japhb perlpilot: Do you consider "general relativity" one of those human gyrations?
ChoHag Should DateTime handle time dilation?
perlpilot catches the relativity and juggles it with classical mechanics
RabidGravy it would be so much simpler if everything happened all at once 17:23
timotimo japhb: if anything past 2015.12 is "too old", i can hardly get a good performance comparison against older versions :)
flussence goes to check up on What Would Postgres Do?™ in this situation
ChoHag RabidGravy: It does.
japhb timotimo: Well, you can, just not a *complete* one. Older compilers will handle fewer and fewer of the tests.
ChoHag With the right definition of "once".
timotimo fair enough 17:24
17:24 RubiO left
TimToady Perl 6 is designed to track atomic time. It doesn't really care *whose* atomic time it's tracking. :) 17:24
RabidGravy that's alright then. time is hitler
timotimo i suppose i'll just go do a run or two
TimToady we're done here :)
japhb timotimo: You just won't be able to use the single summary number for overall performance comparison, unless we change the way it is calculated when tests are missing.
FloydATC I thought time was money
chansen_ lizmat: there are two sides, the instant and the local date. When computing the offset from a local date there is potential result of ambiguous/non-existant time while computing the offset from instant is unambiguous.
ChoHag Did a discussion on time just get Godwinned?
Impressive. 17:25
perlpilot "Every Perl 6 compiler ships with a Cesium 133 atom to calibrate it's DateTime implementation"
ChoHag Must have been going on for a ... long time then.
perlpilot s/it's/its/
RabidGravy :)
flussence hm, pg's built in idea of a "time zone" is 4 digits too...
timotimo perlpilot: isn't a single atom a bit too sparse to get atomic time pings?
RabidGravy perlpilot, the export regs might be trickt but hey. I've been pestered by boeings lawyers for less. 17:26
japhb ChoHag: I suddenly have the urge to find some tie-in that would make the Godwin application actually relevant.
ChoHag timotimo: The idea is to get the cumulative effects of all the perl 6 users.
perlpilot ChoHag: that's also how we track them ;)
dalek c: 2c77d0f | lizmat++ | doc/Type/Date (3 files):
Document Date's :formatter named parameter

Just like DateTime's, now that it lives in the Dateish role.
17:27
japhb
.oO( Even the Perl 6 users in space? ... Oh dang, was I not supposed to talk about those? )
mst japhb: SPAAAAAAAAAAAAAAAAAAAAACE
autarch lizmat: that might work, but I'd have to think about it 17:28
17:28 _nadim left
japhb mst: "It's called that, because there's so much of it." 17:28
perlpilot japhb: "Perl 6 was so revolutionary, we had to kick some people off the planet" ?
japhb perlpilot: :-D
autarch lizmat: there are a lot of gotchas once you start handling time zones properly 17:29
lizmat well, I'm done with Dateish/Date/DateTime now
ChoHag Isn't time/date handling more gotcha than not?
lizmat scratched my itch
japhb mst: That, BTW, was pretty much the defining line in one of my all time favorite movie reviews, ranting about spaceships constantly colliding with each other.
autarch the other alternative is to have the core class not do anything with time zones at all, just treat everything as a floating time and leave this up to someone else to implement in the future
perlpilot lizmat++ 17:30
mst japhb: hah, yeah
autarch ChoHag: pretty much
perlpilot lizmat: it's good to move on before getting sucked into the mire.
ChoHag autarch: The problem with that is, they will.
mst novels where that obviously can't even happen are nice
autarch ChoHag: I meant someone like me or chansen_ 17:31
not "every person should implement their own version"
17:32 Actualeyes left, RubiO joined, mohij left 17:33 TimToady left
perlpilot autarch: that's something I was going to suggest 30 minutes ago, but then I thought about the fallout from people trying to use DateTime without realizing that timezones are separate. 17:33
RabidGravy autarch, you old stick in the mud ;-)
autarch perlpilot: again, as it stands now it's mostly going to encourage very broken code around anything tz-related, so having _no_ support might be better in the short term
ChoHag I know, but there's a difference between what's meant and what happens, and some unfortunate sucker has to deal with the latter.
17:34 lnrdo joined
leont agrees with autarch 17:34
flussence postgres' timezone handling seems less than useful: it accepts named zones for input, converts everything to utc, and drops the tz in storage
17:34 TimToady joined
autarch one of the things I realized after many years of working on DateTime was that having separate Date, DateTime (sans TZ) and DateTime::WithTZ classes would probably have been a better design 17:34
there's a _huge_ amount of stuff that people want to do that does not require TZ support at all
perlpilot autarch: if only that unevenly distributed future could be concentrated a little bit for date/time handling ... 17:35
flussence autarch: well, that's what pg's docs say it does, but see above :)
autarch yeah, Pg's support is really lame
if you need _real_ TZ handling you have to store a UTC timestamp and a separate zone name 17:36
flussence it is, but at the same time it's the best I've seen in any db :(
lizmat autarch: yes, a completely separate date handler would be handy
autarch lizmat: well, that already exists, right?
lizmat but I guess that'll have to live in module space
you mean Date? 17:37
autarch yes
RabidGravy which is a good thing
lizmat well, I don''t think using year/month/day internally for a date, is a good thing
you probably only want to use a day value (e.g. since epoch) internally 17:38
autarch I'd recommend Rata Die, actually
lizmat and only make the y/m/d happen when needed
autarch but that's really an implementation detail
lizmat intriguing 17:40
autarch I mean, as far as internals, it's almost certainly better to use "days since X + seconds since start of day" - but what really matters right now is the public API
lizmat but in my experience, at $work, one only needs to support dates of a certain range
autarch someone could rewrite the internals of the existing classes very easily
lizmat: Rata Die makes it easy to convert to other calendars too
chansen_ We need Date (without time in zone of interest, not anchored on the global timeline), DateTime (date with time in zone of interest, not anchored on the global timeline), DateTime (with zone, anchored in the global timeline), DateTime (with offset, anchored on the global timeline). 17:41
autarch chansen_: I think the last two are the same thing - you can have a zone that has a fixed offset for all UTC times
RabidGravy I think that can happen in module space fpr people who need it 17:42
dalek ast: 4f2efb6 | lizmat++ | S32-temporal/Date.t:
Add basic Date.new(:formatter) tests
chansen_ autarch: questionable, they can be comparable but not more
autarch I mean that they could use essentially the same implementation internally
lizmat is looking forward to a module space implementation
chansen_ autarch: sure
RabidGravy I'm with lizmat 17:43
autarch well, none of that addresses the issue with what's in core right now
17:43 pierre-vigier left
autarch I really do think it's likely to cause problems 17:43
lizmat autarch: specifically because ?
autarch and it's not an API that an external module that did Olson time zones could match all that easily
lizmat: because people will try to use it to deal with time zones and it won't quite do things right but they won't know that 17:44
RabidGravy isn't that solved by documentation?
autarch they'll do something like DateTime.new( ..., :timezone( determine-local-offset() ).later( :6months ) and that _will_ give a wrong answer in many many places
chansen_ It's simple, we could do this the right way (which would solve all temporal issues) or we could leave it as is, which just would confuse developers/users
leont Yeah, what autarch says 17:45
autarch RabidGravy: what would the docs say? "this sort of works, as long as you don't use certain features together, so be careful"
chansen_ autarch++
leont Reminds me of a forum I frequent, where I have to set my time-offset twice per year, because it doesn't handle DST
autarch here's another alternative - we create a global lobbying group aimed at abolishing DST worldwide - problem solved
chansen_ hehe 17:46
autarch at least for future times
chansen_ autarch: It's clear that we have spent to many hours with temporal data ;o)
RabidGravy they can't even manage it for Scotland, I think that plan is stuffed
autarch yeah, it's the worst 17:47
stmuk_ and everyone use Greenwich time :P
17:47 Arrowhead left, zhmylove_ left
chansen_ stmuk_: GMT, say what? 17:47
RabidGravy stmuk_, I can buy into that ;-)
chansen_ GMT doesn't exist any more!
17:47 zhmylove joined
autarch Hail Britannia 17:48
RabidGravy you tell that to the people of greenwich!
lizmat autarch: I just checked the implementation of DateTime.later
stmuk_ or Greenwich Meantime Time ;)
mst swatch beat time!
stmuk_ www.oldbrewerygreenwich.com/ 17:49
lizmat autarch: with minor adjustment, it should handle Olson timezones correctly if such a candidate would come to exist
RabidGravy I've actually got a bottle of Meantime London Porter in the kitchen
lizmat autarch: specifically, it should need to call .new, instead of the nqp::create.BUILD shortcut
autarch lizmat: sort of - I think you'd need to really start treating the timezone as an object, not as a number
17:50 pierre-vigier joined
lizmat autarch: everything in Perl 6 is an object 17:50
chansen_ lizmat: why can't we, you, me and autarch together implement Temporal data as it should be done?
autarch lizmat: heh, yes, I know that
lizmat m: my Int $a = 3600 but role { method Str { "Europe/Amsterdam" } }; say $a, $a + 0 # adding timezone info
camelia rakudo-moar 461e63: OUTPUT«Europe/Amsterdam3600␤»
17:50 webstrand left
chansen_ lizmat: Let's make Perl6 stand out even more! 17:50
lizmat: Java SE 8 got it right, lets Perl6 get it right! 17:51
17:51 psy_ joined
lizmat well, again, as I said, you would only need to augment DateTime with another .new candidate 17:51
so let's try to do this module space first 17:52
autarch except for what we just said about having separate classes with and without time zones
lizmat
.oO( hoping autarch will take the leas on that)
*lead
autarch lizmat: I'll let you know where to ship the tuits
RabidGravy to be honest, it's right an enormous investment in time and effort was employed to get unicode right it would be nice to get time right too
dalek kudo/nom: 532c11a | (Sylvain Colinet)++ | / (4 files):
NC: Add code to test the sanity of routine that receive the is native trait
kudo/nom: 75e33f3 | lizmat++ | / (4 files):
Merge pull request #661 from Skarsnik/nom

NC: Add code to test the sanity of routine that receive the is native trait
autarch goes afk for a bit to read and enjoy his week off from work ;) 17:55
chansen_ RabidGravy++
TimToady autarch++ for perspective :)
chansen_ definitely! 17:56
17:58 itcharlie joined
itcharlie Is there an msi windows installer for rakudo ? 17:58
17:59 xinming left
lizmat itcharlie: currently the latest one is from 2015.09 I believe, maybe 2015.10 18:00
itcharlie: we're waiting for tuits to become available to the people who can do this 18:01
18:01 xinming joined
RabidGravy I don't even have a windows computer available right now, but is it diffcult? 18:02
18:02 itaipu joined
lizmat RabidGravy: I have *no* idea 18:02
RabidGravy I guess you would need two windows computers in order to test it
stmuk_ RabidGravy: it's not too hard 18:03
you basically need visual studio, git and perl on windows 18:04
uruwi Can install perl, and already have the Windows version of git. 18:06
Do the free versions of VS work? 18:07
18:07 pierre-vigier left
stmuk_ yes .. but I couldn't get the very latest VS to work when I tried it a few months back 18:07
whereas VS2010 worked straight off 18:08
18:09 pmurias left
stmuk_ this may be fixed I think others use VS2013 and probably later versions. my problems where with VS2015 18:09
18:10 addison joined
hoelzro is there a way to access a calling module's %?RESOURCES? for example, if A calls a sub in B, can B::sub do something to get at A's %?RESOURCES? I tried CALLER::<%?RESOURCES>, but no dice =/ 18:12
RabidGravy I keep meaning to dig some stuff out and try it with openwatcom 18:13
18:14 pierre-vigier joined
dalek c: 9454b1d | skids++ | doc/Language/control.pod:
More massaging to unbreak links.
18:14
RabidGravy hoelzro, doesn't the compile time thing preclude that? but hackatista action could me made
hoelzro RabidGravy: probably =/ 18:15
I could always have the caller just pass in $?RESOURCES by hand
18:15 Arrowhead joined, pierre-vigier left 18:17 asht joined
asht rakudobrew build java Missing serialize function for REPR ContextRef 18:17
any one has any ideas why this will happen? I am using JDK 8.66 18:18
on Ubuntu
lizmat asht: alas, 6.c didn't happen for rakudo on the JVM yet 18:19
rt.perl.org/Ticket/Display.html?id=127058 18:20
asht np, i didn't relaize that.
timotimo hm. i'm not so happy that "returning an Int is not fine", Skarsnik
RabidGravy "please feel free to step up to help make it work"
18:20 Arrowhead left 18:21 Tonik left, _nadim joined 18:22 hankache joined 18:24 asht left, ZoffixW joined
FloydATC When using .recv(:bin) to fetch binary data from an IO::Socket, can I collect it safely in a Str or must I use a Buf? 18:25
ZoffixW Su-Shee, mst talk to Zoffix about what? RE: irclog.perlgeek.de/perl6/2015-12-29#i_11797322
yoleaux 28 Dec 2015 21:58Z <masak> ZoffixW: re irclog.perlgeek.de/perl6/2015-12-22#i_11758406 -- the IEEE 754 standard disagrees.
ZoffixW masak, cool. Glad it's not a bug 18:26
18:26 pierre-vigier joined
mst ZoffixW: probably "making sure that all sources of documentation give the same usage for rakudobrew" 18:27
lizmat FloydATC: the .recv returns a Buf, which you can't put into a Str without telling which encoding the binary data is
ZoffixW mst, I didn't realize I was made responsible for that ^_^ 18:28
FloydATC Right, so if I don't know the encoding (yet) then I must use Buf. That's what I figured. Is there any practical difference between the two in terms of memory efficiency? 18:29
mst generally if I poke you about it, it gets fixed
so well volunteered
ZoffixW doesn't remember ever being poked for anything
lizmat FloydATC: not really, afaik 18:30
FloydATC Having my first ever stab at p6 today and it's even stranger than I expected 18:31
ZoffixW mst, TBH, I've no idea what "perl6.org contains the README.md part but points to the rakudo.org install" means :)
README.md part of what?
Skarsnik timotimo, in practice it's buggy
mst ZoffixW: references rakudobrew's README.md but then it also points at the rakudo.org page which has its own copy of the same info 18:32
ZoffixW I'm really not the best person to fix it, as I don't know much about the install process and neither have access to rakudo.org or rakudobrew repos :)
Skarsnik timotimo, gist.github.com/Skarsnik/d4e9b31b2859114ac643
dalek c/rb-nutshell: d55ec68 | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod:
Initial rb-nutshell, WIP
18:34 pierre-vigier left
ZoffixW What we /should/ do is clear out those comments on Rakudo install page :) Even if you look past the 'wtf' comments, I see parrot install instructions mentioned and what not; those likely are to confuse people 18:34
RabidGravy FloydATC, it's not that weird if you think of something like an HTTP response where you don't know the encoding of the body until you have actually parsed the headers (which are assumed to be in something like ASCII)
18:34 protium joined
dalek blets: a785470 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
add tau constant to A
18:35
RabidGravy see for instance what LWP::Simple or HTTP::UserAgent does with the response bodies
18:35 grondilu left
Skarsnik h:u does whatever x) 18:35
anthk_ hello, yesterday I tould you about reading a file with a buffer. The problem is a have a type problem somewhere 18:36
my $buf = $fh.read($fh.IO.s);
loop (my $i = 0; $i < $fh.IO.s; $i++) {
@memory[0x200 + $i] = $buf.elems[$i];
} 18:37
FloydATC RabidGravy: No I mean the language syntax itself doesn't feel like Perl at all. Some parts almost feel like Java really.
RabidGravy anthk_, Buf.elems is just the integer number of items 18:38
awwaiid I started to write a ruby-nutshell doc, and I found s/Perl 5/Ruby/ in the introductory text to profoundly illustrate the tone of the existing docs. See first 3 paragraphs of github.com/perl6/doc/pull/288/files
anthk_ if I iterate over $buf.elems[] with say, the index is out of range, even if the condition to read the last byte is from size of the buffer :S
RabidGravy: oh :|
RabidGravy you want @memory[0x200 + $i] = $buf[$i]
FloydATC Using tilde for concatenation and dot for derefence is like having to crawl all over
having to learn to crawl all over 18:39
hankache where does panda install the modules?
anthk_ thanks :D
ZoffixW hankache, ~/.perl6/ I think 18:40
leont You get used to it pretty soon though
ZoffixW m: say $*REPO # hankache
camelia rakudo-moar 75e33f: OUTPUT«inst#/home/camelia/.perl6/2015.12-43-g75e33f3␤»
18:40 Begi2 left
hankache thanks ZoffixW 18:40
RabidGravy anthk_, @memory[0x200 + $_] = $buf[$_] for ^$buf.elems; without the loop moght be more idiomatic 18:41
18:41 moyamo joined
moyamo Hi is there a way to make perl6 regexps non-greedy 18:41
TimToady awwaiid: the third paragraph makes no sense wrt Ruby, since it's aimed at a more sisterly language :)
18:41 brrt joined
anthk_ RabidGravy: awesome :O 18:41
18:42 llfourn left
brrt good * 18:42
hankache ZoffixW it contains only the precomp folder
dalek rl6-roast-data: 5251f3c | coke++ | / (7 files):
today (automated commit)
18:43
ZoffixW hankache, isn't that the installed modules?
RabidGravy moyamo, almost cerainly but help us to help you with a shoty snippet that doesn't do what upu want
brrt RabidGravy; you can use strawberry perl since recently 18:44
RabidGravy short snippet
brrt on windows, to build MoarVM etc
anthk_ btw I have the .base (method?) two in order to print the opcodes in binary. Could be posible to print the leading zeros?
00001100 instead of 1100
hankache ZoffixW indeed
RabidGravy anthk_, sprintf?
anything is possible, just some things are easier 18:45
ZoffixW m: say ((1, 2), <a b>).flatmap(&uc).join('|')
camelia rakudo-moar 75e33f: OUTPUT«1 2|A B␤»
18:45 pdcawley joined
ZoffixW Is this the right or wrong result? I'm confused by nine's comments on rt.perl.org/Ticket/Display.html?id=127036 is there a bug or should the ticket be rejected? 18:45
18:45 lnrdo left
moyamo /".*"/ matches ___"string" code "string"___ code instead of ___"string"___ code "string" code 18:45
18:46 Begi joined
ZoffixW FWIW, the example in docs shows different result: docs.perl6.org/routine/flatmap#class_List 18:46
RabidGravy moyamo, there are several choices 18:48
skids moyamo: Using ? on quantifiers still works to make rx atoms non-greedy 18:50
RabidGravy /".*?"/ may work for you or something like /"<-["]>*"/ (which is match everything but a '"'
anthk_ ok, .fmt("%08b")
nine hankache: panda installs by default to CompUnit::RepositoryRegistry.repository-for-name('site')
RabidGravy yeah, thats good too 18:51
18:51 ellybelly left
nine hankache: that's inst#/home/nine/rakudo/install/share/perl6/site here 18:51
18:51 ellybelly joined, ellybelly_ joined
moyamo skids: Thanks RabidGravy: For the second one what if instead of quotes it was a multi-character deleminter 18:51
nine m: say $*REPO.repo-chain
camelia rakudo-moar 75e33f: OUTPUT«(inst#/home/camelia/.perl6/2015.12-43-g75e33f3 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => Comp…»
nine ZoffixW: ^^^ 18:52
hankache: ^^^
ZoffixW cool
18:52 pierrot_ joined
hankache thanks nine 18:52
18:53 pierrot left
RabidGravy moyamo, the stuff inside the [ ] is a user defined charactter class you can put anything in there 18:53
moyamo RabidGravy: But it only matches one character
RabidGravy: What if there was litrally double quotes e.g. '' instead of " as a delimeter 18:54
skids moyamo: <!before X> and <!after X> can be useful for that
RabidGravy then you'd have to make your regular expression more complicated
moyamo RabidGravy: .*? Seems to work though :) 18:55
skids m: say "aabbaa" ~~ m/aa [ <!before aa> . ]* aa/ 18:56
camelia rakudo-moar 75e33f: OUTPUT«「aabbaa」␤»
RabidGravy if doc.perl6.org/language/regexes doesn't explain enough please let us know
18:56 _wiz_ left
timotimo Skarsnik: damn. all right! 18:57
Skarsnik: i thought these things are returned in registers anyway and a 64bit register is 64bit wide anyway and would be truncated/extended as needed by the C compiler at "return time" 18:58
BBIAB
moyamo RabidGravy: I don't see it mentioning ? to make * non-greedy. That would be useful to note :-)
18:59 rjbs left 19:00 rjbs joined
hankache ughhhh @*INC 19:00
RabidGravy no
Skarsnik timotimo, well maybe one day someone will figure the internal of NC/C stuff, but for now I decided : "it could lead to an error = forbid it" 19:01
19:01 zakharyas left, pierre-vigier joined 19:03 pierre-vigier left
Skarsnik I am waiting for RabidGravy to complain that I broke his NC module x) 19:04
araujo what is the equivalent for NULL in the NativeCall? 19:05
Skarsnik Str/Any
RabidGravy Skarsnik, what did you do>
19:05 kmel joined, kmel left
nine hankache: you utter strange noises there 19:05
RabidGravy it's not modules it's like seven modules
Skarsnik I add check on routine parameter type 19:06
nine araujo: Pointer
Skarsnik like not allow Int
RabidGravy oh that's fine
:)
19:07 pierre-vigier joined
smls m: class A { has $.a }; multi sub infix:<cmp>(A $a, A $b) { $a.a cmp $b.a }; my @a = A.new(a=>42), A.new(a=>5); say @a.sort 19:07
camelia rakudo-moar 75e33f: OUTPUT«(A.new(a => 42) A.new(a => 5))␤»
smls Hmm
Skarsnik I am pretty sure there is some weird case I did not test x)
19:07 kmel joined
smls Is there some magic uppercase method that a class can implemenbt to participate in .sort? 19:07
19:08 kmel left
araujo nine, ok, let's see 19:08
ZoffixW What you guys think of this? sdtimes.com/christmas-perl-arrives/
19:09 pierre-vigier left
ZoffixW jberger linked me to it asking what release post they should link to... and reading the post, they seem to be incredibly confused about what Perl 6 is and the "final" "official" "release of Perl 6" 19:09
19:09 hankache left
perlpilot ZoffixW: aye, confused. 19:10
nine m: class A { has $.a }; multi sub infix:<cmp>(A $a, A $b) { $a.a <=> $b.a }; my @a = A.new(a=>42), A.new(a=>5); say @a.sort
camelia rakudo-moar 75e33f: OUTPUT«(A.new(a => 42) A.new(a => 5))␤»
ZoffixW perlpilot, BTW you have a PR to fix indexing issue of your module: github.com/perlpilot/p6-Test-Class/pull/1 19:11
flussence ZoffixW: I don't think we should bother trying to correct every misinformed word-count-driven blog out there :)
ZoffixW flussence, I'm with you on that :P
19:12 V_S_C joined, mojca joined, hankache joined
flussence if they can't even be bothered spending 3 minutes to ask if what they're writing is correct... why should we? 19:12
ZoffixW Almost sounds like a crawler robot wrote it by scrounging various news websites.
mojca does moarvm with jit work on 32-bit platforms at all?
perlpilot oops ... thanks
Perl has made me lazy with trailing commas 19:13
ZoffixW :)
hankache what is CURLI?
FloydATC This is the blogosphere, where the primary income is from rabid commenters pointing out their mistakes
mojca on i386 one gets src/jit/emit_x64.dasc:266:86: warning: shift count >= width of type
perlpilot hankache: Comp::Unit::Repo::Local::Installation I think
nine mojca: no jit on 32 bit
ZoffixW Oh really? 19:14
mojca shouldn't this be disabled automatically then?
ZoffixW Does it mean my perl6 will be even faster on a 64-bit box?
flussence mojca: it is...
mojca See trac.macports.org/ticket/50169
FloydATC *scratches head* how do I get the peer address for an IO::Socket::INET now?
mojca for some reason it ended up being compiled on user's machine 19:15
hankache perlpilot thanks, I just read it in a blog post, was just wandering what it is
wondering**
awwaiid TimToady: I think that Ruby is the next-most-sisterly language, and I'm hoping to illustrate that the tone of the document isn't quite right for coexistence. I'll submit a patch to the 5to6 doc (even the name of the doc implies upgrading) to smooth it out a bit more.
V_S_C I just tried building rakudo from source
nine hankache: CURLI was CompUnitRepo::Local::Installation, curli was the name of a branch in which we completely refactored the whole module management part. The successor of CURLI is CompUnit::Repository::Installation
flussence mojca: possibly nobody's tested it on amd64+OSX before
19:15 asie joined, lnrdo joined 19:16 Arrowhead joined
leont Sounds unlikely 19:16
nine lizmat++ is using OS X on a 64 bit machine
mojca flussence: how do you mean amd64+OS X? I'm not sure what processor the user has though, but it could be 32-bit
V_S_C and perl Cofigure.pl fails with unknown OS 'msys' 19:17
*Configure
ZoffixW V_S_C, what OS are you on?
leont msys is what git on windows uses
V_S_C Windows x64 19:18
perlpilot awwaiid: agreed about Ruby (maybe kind of a cousin than sister though)
V_S_C perl is available as I have git installed
mojca what's the role of D_DARWIN_USE_64_BIT_INODE=1 ?
leont It's mingw related, but I forgot the details
hankache nine perlpilot i am trying to understand what this blogpost is about shimmeryfairy.wordpress.com/2015/1...h-a-shame/ 19:19
mojca libuv unconditionally sets "if DARWIN libuv_la_CFLAGS += -D_DARWIN_USE_64_BIT_INODE=1"
ZoffixW mojca, does seem like it's a 32-bit box. In the moarvm build log I see: DEBUG: OS darwin/10.8.0 (Mac OS X 10.6) arch i386
flussence iirc building on windows has to be either completely native, or completely cygwin
19:20 lnrdo left
mst you can't build it on cygwin at all, libuv fills its diaper far too early on 19:21
V_S_C I am using the VS2015 x64 native tools command prompt
perlpilot hankache: maybe ask ShimmerFairy. She's "here".
19:22 krunen left
flussence retracts answer in favour of mst's, I'm only repeating what I've absorbed from hours of staring at makefiles and configure scripts lately :) 19:22
V_S_C only configure.pl requires perl that came with git 19:23
dalek blets: 35de945 | (Herbert Breunung)++ | docs/appendix- (2 files):
add set ops to A and link to B
flussence "perl that came with git" sounds... really really wrong.
leont git depends on perl, so git on windows ships with a perl 5.8.something
flussence don't you have Strawberry Perl or similar installed?
oh
yeah, 5.8 ain't gonna work at all here 19:24
TimToady there's nothing says we have to treat Ruby exactly like Perl 5 though, or vice versa; making them read identically would come down to a foolish consistency in my estimation
ZoffixW V_S_C, what does perl -v tell you? Which version?
nine hankache: you shouldn't have pointed out that blog post. Now I lost all motivation I've ever had for fixing the issues pointed out there.
moyamo Anyone want to play code golf?
ChoHag Where does panda look for modules? 19:25
ZoffixW moyamo, sure! :)
m: $*REPO.repo-chain
camelia ( no output )
ZoffixW m: $*REPO.repo-chain.say
camelia rakudo-moar 75e33f: OUTPUT«(inst#/home/camelia/.perl6/2015.12-43-g75e33f3 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => Comp…»
leont (maybe they upgraded, they had patches to make perl5 work with msys that they didn't send upstream and that were difficult to backport to modern perls)
ZoffixW ChoHag, I believe in there^
V_S_C This is perl 5, version 22, subversion 0 (v5.22.0) built for x86_64-msys-thread-multi
nine ChoHag: do you mean installed modules or available modules?
19:25 lucasb joined
ZoffixW m: (* * * ** *)[2, 3, 4] 19:25
camelia ( no output )
ZoffixW m: (* * * ** *)[2, 3, 4].say 19:26
camelia ( no output )
ZoffixW >_<
m: say (* * * ** *)[2, 3, 4]
camelia rakudo-moar 75e33f: OUTPUT«WhateverCode.new␤»
hankache nine i saw the link on the front page of perl6.org :(
mojca in Configure.pl I see "if ($Config{archname} =~ m/^x86_64|^amd64|^darwin(-thread)?(-multi)?-2level/) { ... then enable jit"
ZoffixW gawddammit
mojca how can this work on i*86-darwin?
ZoffixW Ah, I did it wrong.
m: (* * * ** *)(2, 3, 4).say # moyamo here's my golf :)
camelia rakudo-moar 75e33f: OUTPUT«162␤»
ZoffixW V_S_C, then your perl 5 is new enough to run Configure.pl. Not sure what the issue is. 19:27
19:27 cygx joined 19:28 kittenlips joined
kittenlips hi there 19:28
moyamo ZoffixW: I meant on a specific problem.
ChoHag Where in github
moyamo ZoffixW: Haha 19:29
nine ShimmerFairy: FWIW I remember quite well using "git merge" for merging curli. I'm sure about that, because merge is really the only way to merge a branch in git. rebase won't do it. So you displaying your ignorance of git really reflects more on you than anyone else.
kittenlips I was testing hyperoperators on Rakudo+MoarVM 2015.12 and have question are hyperoperators automatically multithreaded/parallelized?
19:29 itcharlie left
nine kittenlips: not yet 19:29
kittenlips I thought I read that they were
masak kittenlips: on paper, yes.
19:30 itcharlie joined
V_S_C @ZoffixW, It happens when updating submodules for MoaRVM 19:30
masak kittenlips: the potential is all there.
moyamo I'm new to perl and I wrote this code: sebsauvage.net/paste/?255af5070d48c...ig92Ctxv0= . I was hoping someone could make it shorter or better :), for learning purposes.
kittenlips Oh ok, yes I tested it e.g. my int @matrix[50;40;30]; @matrix >>+=>> 1; and saw that MoarVM only was executing a single thread
V_S_C Configuring native build environment............. fail
hankache nine please don't lose your motivation ;( I feel bad now asking about it.
awwaiid TimToady: Yeah true. I'm taking all the top stuff out of the Ruby-Nutshell doc, I only left it in temporarily as food for thought.
cygx V_S_C: I think moar's Configure.pl takes some values from the Perl it's run with 19:31
hankache kittenlips i think it is planned for the future
cygx you can overwrite those manually
El_Che gfldex: I am reading to open the repo of StrictNamedArguments (adding travis support now)
Skarsnik hm, I have a git/github question. I PR a fork into my fork of DBI and later PR it back on DBI, does it keep the original author/fork?
19:32 regreg left
leont cygx: it does? Why do we even need perl if we're not even doing our own config detection? 19:32
El_Che gfldex: just the README need some more info
kittenlips This automatic multithreading/parallelization of such operations will be a HUGE thing in data analysis, I think it is a killer feature of Perl 6
El_Che kittenlips++
ZoffixW kittenlips, basically the Perl 6 language spec defines them as threadable and now that it's frozen, they definitely will be, but that's not yet finished in the Rakudo compiler
nine hankache: no worry. I can hardly fault you for ShimmerFairy's talent for pushing away help.
ZoffixW m: sleep 1 for ^4 .race: :1batch; say now - INIT now
camelia rakudo-moar 75e33f: OUTPUT«1.00945432␤»
Skarsnik nine, you should write a small tibit for package maintainer about precomp file and such, reading the whole gist it's quite discouraging 19:33
ZoffixW kittenlips, ^ that works though. 4 sleeps in 1 second
cygx leont: *shrugs* it's a grown system
leont: before the jit came along, it even supported cross builds
kittenlips ZoffixW: is ^ for the range operator?
sorry I'm still trying to learn the language, it's much deeper than Perl 5
ZoffixW kittenlips, yes, ^4 is same as 0 .. 3, which is same as 0, 1, 2, 3 19:34
ChoHag Or, you could document precompilation quite thoroughly.
kittenlips ZoffixW: and you are saying ^ is parallelized?
cygx V_S_C: you probably need to set --os=win32 --toolchain=msvc
ChoHag Once the sky-is-falling release bugs are out of the way, which seems to be largely the case, perl 6 and its ecosystem needs lots and lots of documentation.
awwaiid kittenlips: naw, it is the .race that does the parallel bit
ZoffixW kittenlips, no, it's the .race/.hyper methods that return a HyperSeq
skids m: my &def = List.^find_method("sort").signature.params[1].default; &def().perl.say; &def().WHICH.say; &infix:<cmp>.WHICH.say 19:35
camelia rakudo-moar 75e33f: OUTPUT«sub infix:<cmp> (Mu $, Mu $) { #`(Sub+{<anon|63494960>}+{Precedence}|54011696) ... }␤Sub+{<anon|63494960>}+{Precedence}|54011696␤Sub+{<anon|63494960>}+{Precedence}|54011696␤»
ZoffixW kittenlips, sleep 1 for (0..4).race( batch => 1); # in a more Perl 5-eyes-friendly form
cygx V_S_C: if you're automatically building moar via rakudo's build script, wrap that in --moar-option="..."
19:35 domidumont left
ZoffixW kittenlips, err 0..3 :) 19:35
kittenlips ZoffixW: could you explain "^ that works though. 4 sleeps in 1 second" as example?
skids m: my &def = List.^find_method("sort").signature.params[1].default; &def().perl.say; &def().WHICH.say; &infix:<cmp>.WHICH.say; class A { }; multi sub infix:<cmp>(A $, A $) { Order.pick };
camelia rakudo-moar 75e33f: OUTPUT«sub infix:<cmp> (Mu $, Mu $) { #`(Sub+{<anon|63494960>}+{Precedence}|53258896) ... }␤Sub+{<anon|63494960>}+{Precedence}|53258896␤Sub+{<anon|63494960>}+{Precedence}|53268656␤»
ZoffixW kittenlips, oh. the "^" in the sentence is me pointing up at the example evaluated by the bot :) 19:36
skids smls: see my last two camelias, something is up there.
kittenlips ZoffixW: oh! sorry I missed that in the IRC list
Skarsnik skids, method has 2 extra parameters, one at the begining and one at the end
but it's probably not your issue x) 19:37
skids Skarsnik: ? 19:38
smls I guess it makes sense for sort to use the 'cmp' from its own lexical scope
19:38 kittenlips left, llfourn joined
smls Rather than the one from user scope 19:38
skids I dunno, 19:39
smls still, would have been nice if there were some way to make custom types work with the built-in ordering/sorting functionality
nine smls: sort does have a :&by argument
smls: if you really want to avoid that, you can still override your class' .Stringy method, because cmp compares on .Stringy 19:40
skids Yeah, but the point is making a type behave like base types in your lexical scope.
timotimo nine: i think leg compares by .Stringy 19:41
skids I'd say there's an argument to be made for sort taking its default cmp from its caller's scope.
nine timotimo: src/core/Order.pm:12
timotimo and cmp is "magical"?
19:42 CIAvash left
skids wonders whether that is touched on in roast at all. 19:42
19:42 ChoHag left
smls skids: Or provide an upperclass method to implement ordering for your type (like AT-KEY and friends for implementing subscripting) 19:42
timotimo ah, .Stringy is the fallback for "not numeric"
cygx timotimo: where magical means do the right thing for numbers, otherwise fall back to...
what you said ;)
19:42 llfourn left
skids sidenote -- introspection rocks, didn't have to debug to see what was up. 19:45
yurivish just thought I'd mention that I ran into this exact problem (irclog.perlgeek.de/perl6/2015-12-15#i_11719526) today, in case it happens to influence a design decision to change the behavior down the line :-)
where you can't say { *.method ~~ regex } as an argument to grep
19:45 ChoHag joined
ZoffixW has something to pitch in on the topic: 19:46
m: say ^4.grep: /2/
camelia rakudo-moar 75e33f: OUTPUT«Potential difficulties:␤ Precedence of ^ is looser than method call; please parenthesize␤ at /tmp/K5Odq80mS6:1␤ ------> 3say ^47⏏5.grep: /2/␤^0␤»
ZoffixW m: say ^4 .grep: /2/
camelia rakudo-moar 75e33f: OUTPUT«(2)␤»
ZoffixW m: say ^4 .grep: !/2/
camelia rakudo-moar 75e33f: OUTPUT«Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?␤ in block <unit> at /tmp/cqDMR2iMrN line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/cqDMR2iMrN line 1␤␤»
ZoffixW ^ that requires "not matches" to be written much more verbously than "matches" 19:47
V_S_C cygx probing whether your compiler thinks that it is gcc Can't compile simple gcc probe, so something is badly wrong at build/probe.pm line 92.
nine Skarsnik: your commit 532c11abbcc8409a03d4a585296149f94c219e08 broke Inline::Perl5: Too many positionals passed; expected 2 arguments but got 3
ZoffixW Unless I just don't know a way :D
Skarsnik oh great :(
what line trigger it?
nine Skarsnik: seems to break on sub p5_str_to_sv(Perl5Interpreter, long, Blob) 19:48
cygx V_S_C: are you manually building moarvm, or implicitly via rakudo?
Skarsnik wait Blob work?
perlpilot ZoffixW: you've just got to use {} (which may be onerous, I dunno) 19:49
(its' a good habit to get into anyway IMHO)
skids smls: OT, more thoughts on binary structured matching/unpack here: gist.github.com/skids/cfb129509b0849f50deb
ZoffixW m: say ^4 .grep: { !/2/ }
camelia rakudo-moar 75e33f: OUTPUT«(0 1 3)␤»
ZoffixW k, I see why the error happens now. perlpilot++ 19:50
Skarsnik This code is not fun to debug since it happend at compile time x)
yurivish The documentation for prefix ! says "Coerces the argument to Bool by calling the Bool method on it, and returns the negation of the result. Note that this collapses Junctions." How is it that matching on !/2/ works?
cygx yurivish: boolifying a regex matches it against $_ 19:51
yurivish oh, wow
V_S_C cygx I am following rakudo.org/how-to-get-rakudo/
As msi is older I am building from source 19:52
nine Skarsnik: It dies on $param.type.^can('gist') on a Blob parameter 19:54
cygx V_S_C: with or without rakudobrew? I've only ever build rakudo manually on windows
Skarsnik but you can gist on Blob x) 19:55
I just tried
19:55 leont left
V_S_C rakudobrew just didn't work 19:55
19:56 lichtkind joined
nine Skarsnik: it's not the gist it's the ^can that fails 19:56
V_S_C Last time I built manually, I used to try with multiple "PERL5"s for 1 of them to work 19:57
nine m: Blob.^can('gist')
camelia rakudo-moar 75e33f: OUTPUT«Too many positionals passed; expected 2 arguments but got 3␤ in block <unit> at /tmp/kJvWC2RVcy line 1␤␤»
nine m: Blob.HOW.can(Blob, 'gist'); # is the same as ^can
camelia rakudo-moar 75e33f: OUTPUT«Too many positionals passed; expected 2 arguments but got 3␤ in block <unit> at /tmp/lqbTaCnxVX line 1␤␤»
nine m: Blob.HOW.can('gist')
camelia ( no output )
Skarsnik m: Blob.^can('Str')
camelia rakudo-moar 75e33f: OUTPUT«Too many positionals passed; expected 2 arguments but got 3␤ in block <unit> at /tmp/n5ZeO0D1QN line 1␤␤»
Skarsnik m: Blob.HOW.can('Str')
camelia ( no output )
cygx V_S_C: so you have a rakudo checkout?
try this: perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix="C:/path/where/it/should/be/installed" --moar-option="--os=win32 --toolchain=msvc --compiler=cl --cc=cl --make=nmake"
it's probably a bit more superstitious than it needs to be 19:58
nine m: class Foo {}; role Bar {}; say Foo.^can('sink'); say Bar.^can('sink');
camelia rakudo-moar 75e33f: OUTPUT«(sink)␤Too many positionals passed; expected 2 arguments but got 3␤ in block <unit> at /tmp/QH7TRNYleY line 1␤␤»
Skarsnik nine, well a quick fix is to add | 'Blob' aside 'Buf'
V_S_C Now after newer windows release git installer settled the default perl for me
smls skids: That sounds really interesting, though I think I'd have to see some examples to properly understand it... :) 19:59
In any case, I agree now that a more structured OO approach is preferable to my initial free-form grammar approach for most use-cases. 20:00
20:00 darutoko left
nine Skarsnik: confirmed 20:00
Skarsnik I am not even sure how this test work
but it's a bad fix x)
I just did not know to know if a type is totaly 'defined' 20:01
El_Che I want to push a module to the ecosystem. What's the best practice for doc? Readme.md? perl5 pod in the file? something else?
Skarsnik so I assume a class will receive a gist or Str at some point
I went for the mi6 way
dalek kudo/nom: 477830a | (Stefan Seifert)++ | lib/NativeCall.pm6:
Unbust NativeCall signatures containing Blob arguments

Seems like ^can doesn't work on Roles: m: Blob.^can('gist') OUTPUT«Too many positionals passed; expected 2 arguments but got 3
ZoffixW El_Che, I use README.md for now, just so GitHub displays it when users visit the repo. And I figure I can convert it to something else programmatically if I'll ever have to 20:02
Skarsnik I put the pod in the main module and generate the .md from it
20:02 moyamo left
ZoffixW Skarsnik, with what? 20:02
Skarsnik, and is it Perl 6 pod?
Skarsnik mi6 build-readme xD
skids smls: Yeah, maybe I should figure out how to show some example use cases, but hard to avoid making any assertions about what the actual "template" contents would look like and still come up with something that looks solidish. 20:03
ZoffixW Skarsnik, what sort of pod is it?
El_Che thx
ZoffixW panda install Task::Star is failing now on Linenoise with some weird error: gist.github.com/zoffixznet/5abadb1d8d4bcccffc56 20:04
hankache i was trying to redo kittenlips example 20:05
my int @matrix[50;40;30]; map(-> $x { $x + 1},@matrix).race();
Skarsnik ZoffixW, the pod is in github.com/Skarsnik/perl6-gumbo/bl.../Gumbo.pm6 then I use mi6 that call perl6 --doc=Markdown I think
hankache but it seems it is not multithreaded. What am idoing wrong?
timotimo nine: could be that you need to pun the role to make a proper .^can call? 20:06
hankache hiya timotimo 20:07
timotimo heyo hankache
El_Che the travis integration is nice
timotimo pffbt. what do i actually put into the weekly
everything forever?
ZoffixW El_Che, stmuk++ added it :)
El_Che stmuk_++
20:08 itcharlie left
Skarsnik The issue with mi6, make test regenerate the .md and the META 20:08
Because it assume git user info = author in the META 20:09
20:09 itcharlie joined 20:10 lucasb left
ZoffixW It's a bit of a miss the homepage of perl6.org doesn't have any indication that we've just released. 20:10
hankache timotimo put the title as: Perl6...∞ 20:11
ZoffixW scrounges something up as hopes it'll be passable
smls m: my int @m[10;20]; $_ = ++$ for @m; @m.race.map({ say $_ })
camelia rakudo-moar 477830: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤…»
hankache that is supposed to be the infinity symbol ^^ 20:12
ZoffixW it is :)
Skarsnik timotimo, is there a way to know if a type is 'complete' at "compile time". I use ^can(gist) because I assume for complete type it exist at github.com/rakudo/rakudo/blob/nom/...l.pm6#L210
timotimo you can probably check its HOW against CurriedRoleHOW or what it's called?
20:13 ELBeavers is now known as ELBeavers_away
hankache smls thnaks 20:14
thanks**
20:15 kittenlips joined
timotimo it'd probably be more correct to check its primitives or what they are called 20:15
hankache ZoffixW while you're at it the Advent Calendar box is a bit out of sync
timotimo archetypes*
Skarsnik I am not really searching if how is set on it. it just if I have class B {}; class A { sub foo(B) is native} The rest of the code work because B is 'defined' intierly (this code is executed when is native is see) but in case of class A { sub foo(A) is native} perl 6 does not have the full definition of A
ZoffixW hankache, dammit :P now that you've noticed it I'll just *have* to fix it ^_^ 20:16
timotimo oh
skids smls: it looks like a case could be built from RT#125049 up to getting all such stuff to take their default comparitors from calling scope, assuming rt gets resolved in favor of that. (Fudged tests for it are in S03-sequence/nonnumeric.t)
Skarsnik and for the weekly post. I don't know, lot of change in precomp/build system to accomod distrib? 20:17
hankache ZoffixW hehe
timotimo all i can say is: look in the files in src/Perl6/Metamodel
lizmat .tell autarch thinking more about Olson, I think wrapping .later and adjusting the timezone with .in-timezone, should be enough
yoleaux lizmat: I'll pass your message to autarch.
20:17 cdg left
dalek osystem: 240ef02 | (Claudio Ramirez)++ | META.list:
Add StrictNamedArguments
20:18
osystem: 344bc49 | nxadm++ | META.list:
Merge pull request #106 from nxadm/master

Add StrictNamedArguments
smls skids: Interesting. But how would similar *custom* routines get defaults from caller scope? Not making the built-ins too "magical/different" is one of Perl 6's intentional changes compared to Perl 5, isn't it?
hankache how can you *check* the effect of multithreading ? 20:19
flussence run with ulimit -u 1?
hankache say you have apiece of code with race() and a copy of it without, how can you *see* if it's using 2 cores or it's faster? 20:20
flussense can you give me an example please
hankache is just learning about parallelism 20:21
smls hanche: Putting a «sleep rand/100» inside the map should at least show you if they're being processed sequentially or not
skids smls: I think it's as simple as sub thingy( :&by = ::CALLER::cmp ) or whatever that is after removing all my mistakes :-)
ChoHag I have 'has Bool $.noisy = True;' followed by a pair of #= lines to document that variable, perl6 --doc heads that documentation up with 'class Mu $_'.
smls *hankache
ChoHag Is that because the --doc parser is really simple or have I written the documentation incorrectly?
Skarsnik both? 20:22
I mean the first
RabidGravy doc parser is really simple
ChoHag So when the doc parser is improved, that docomment will be headed correctly? 20:23
Skarsnik Probably ^^
ChoHag Right.
hoelzro ZoffixW: I'll fix it when I get home 20:24
hoelzro wonders if he should make his automatic sanity check run *before* he goes to work as well as after 20:25
dalek c: 2de6cf2 | (Claudio Ramirez)++ | /:
Merge branch 'master' of github.com:perl6/doc
c: 74fd84f | (Claudio Ramirez)++ | / (36 files):
Merge branch 'master' of github.com:nxadm/doc
c: 37bb2e7 | (Claudio Ramirez)++ | / (12 files):
Merge branch 'master' of github.com:perl6/doc
c: 4ec0a98 | (Claudio Ramirez)++ | doc/Language/modules.pod:
Correct URL (previously 404)
c: cffdc72 | (Claudio Ramirez)++ | / (30 files):
Merge branch 'master' of github.com:perl6/doc
c: f72c7ee | (Claudio Ramirez)++ | /:
Merge branch 'master' of github.com:nxadm/doc
c: 4884eb7 | nxadm++ | doc/Language/modules.pod:
Merge pull request #289 from nxadm/master

Fix 404 URL ecosystem module import
nine timotimo: how can one bun a role manually?
Skarsnik nine, you have success with passing Blob/Buf to NC? 20:26
dalek href="https://perl6.org:">perl6.org: b4d56b1 | (Zoffix Znet)++ | source/index.html:
Add a visible release announcement message to homepage
20:27 jme` left
timotimo oof 20:27
ZoffixW giggles
timotimo well, since punning is the same as mixing it into a class, why not try it like class Bar does MyRole { }? or perhaps use the MOP way if that doesn't work
ZoffixW: thanks for the website commit 20:28
20:28 mwmarkland joined 20:29 V_S_C left, virtualsue joined
hankache smls and race() will /ME is constantly hitting [F5] to see what ZoffixW did 20:30
20:30 dotness joined
hankache is constantly hitting [F5] to see what ZoffixW did 20:30
smls will race() use 2 cores or it can use more?
ZoffixW spots a nav bug on browsers between 768-991px wide :P 20:31
hankache, I didn't fix the advent box yet.
ZoffixW is multitasking
smls hankache: I think it uses the current default scheduler
m: say $*SCHEDULER
camelia rakudo-moar 477830: OUTPUT«ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable)␤»
smls Not sure though 20:32
hankache ZoffizW can you change the color of the announcement box to the safe color as the header? 20:33
same color**
El_Che hankache: why?
nine Skarsnik: yes, looks good
El_Che hankache: it jumps out in an other colour, that"s the idea 20:34
I would make the text context more bombastic though
20:34 ELBeavers_away is now known as ELBeavers
hankache El_Che i am no color expert but it feels weird jumping from green to blue 20:35
smls thanks
dalek href="https://perl6.org:">perl6.org: ea15a58 | (Zoffix Znet)++ | source/ (3 files):
Fix box alignment on home page
20:36
[Coke] sdtimes.com/christmas-perl-arrives/ - that article seems confused.
ZoffixW Yup
smls hankache: When running perl6 -e '(1..1_000_000).race.map({ is-prime $_ })' my system monitor shows 100% of all my CPU cores.
* 100% usage
timotimo The process has paralleled the development of the Rakudo virtual machine, an all-purpose engine for running interpreted languages, known as the Moar virtual machine. - was this sentence generated with a markov chain generator? 20:37
hankache: .race can use as many cores as you want
hankache smls same here
timotimo thanks 20:38
ZoffixW m: sleep 1 for ^4 .race: :1batch; say now - INIT now # 4 cores
camelia rakudo-moar 477830: OUTPUT«1.0106884␤»
smls hankache: Looks like it can be fine-tuned like this: (1..1_000_000).race(batch => 20000, degree => 2).map({ is-prime $_ }); 20:39
timotimo "With the release of Rakudo, however, this is the first time developers can build with Perl 6, and then validate their code with the compiler." ?????
20:39 llfourn joined, TEttinger joined
masak timotimo: the first time! except for Pugs, in 2005. 20:39
kittenlips p6: my Int @matrix[5;10;15];
camelia ( no output )
kittenlips rakudo: my Int @matrix[5;10;15]; @matrix >>+=>> 1; 20:40
camelia rakudo-moar 477830: OUTPUT«Cannot call HYPER(Block, NQPMu, Int, Int, Any); none of these signatures match:␤ (&op, \left, \right, :$dwim-left, :$dwim-right)␤ (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right)␤ (&op, Associative:D \left, \right,…»
20:40 mwmarkland left
ZoffixW timotimo, rofl :) those were my same remarks: irclog.perlgeek.de/mojo/2015-12-29#i_11799060 20:40
kittenlips why does the above work if you defined the @matrix with int but not Int?
ZoffixW hankache, you mean like this? i.imgur.com/roWR136.png
timotimo ZoffixW: yeah, also calling the advent blog "the release blog" is a bit strange 20:41
and linking to the poetic 24th as the release announcement instead of the more ordinary release announcement of the next day 20:42
nine timotimo: Blob.^can hits Mu's can method. That's why it complains about the argument count.
Skarsnik: ^^^
timotimo ah, that's interesting. why would it hit a method on Mu, rather than on a meta object?
is a null getting hllized into a Mu or something?
seems strange to me
dalek blets: 3051f17 | (Herbert Breunung)++ | docs/appendix- (2 files):
added bag ops to A
20:43
blets: 1619216 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
while set ops table is now in A and linked
20:43 markusmayr joined
timotimo ZoffixW: damn it, the 6 gets wrapped to the next line on my screen 20:44
20:44 llfourn left
timotimo like, all text except the "6!" is on its own line, and then a line with only "6!" 20:44
hankache ZoffixW. no worries leave the color as is
nine timotimo: because the role does not get punned and ParametricRoleGroupHOW does not do MROBasedMethodDispatch which is the only MOP class that overrides can
timotimo always types Perl 6, i.e. with a non-breaking space 20:45
ZoffixW doesn't know how to type a non-breaking space like that :)
ChoHag How do you have text which looks like a pod directive not direct anything?
ZoffixW .u  
yoleaux U+202F NARROW NO-BREAK SPACE [Zs] ( )
timotimo ZoffixW: in that case just use the html entity?
20:45 RubiO left
ChoHag timotimo: That's not web 3.0 enough. 20:46
hankache ZoffixW++ 20:47
dalek href="https://perl6.org:">perl6.org: ecf6a3b | (Zoffix Znet)++ | source/index.html:
Fix unwanted announcement line wrap
kittenlips ?
ZoffixW night all \o time to relocate and then play Warframe :)
kittenlips, sup?
Skarsnik have fun :) 20:48
hankache night ZoffixW
kittenlips sorry
ZoffixW heh :)
\o
20:48 ZoffixW left
kittenlips rakudo: my Int @matrix[5;10;15]; @matrix >>+=>> 1; 20:48
camelia rakudo-moar 477830: OUTPUT«Cannot call HYPER(Block, NQPMu, Int, Int, Any); none of these signatures match:␤ (&op, \left, \right, :$dwim-left, :$dwim-right)␤ (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right)␤ (&op, Associative:D \left, \right,…»
20:48 cdg joined
kittenlips ^ why does this work if you define @matrix as int by not Int? 20:48
hyper doesn't like Int
timotimo nine: oh, i see. interesting, definitely
20:51 cygx left
markusmayr rakudo: "Hello World".split(" ", :all).perl.say 20:51
camelia rakudo-moar 477830: OUTPUT«("Hello", "World")␤»
markusmayr I just tried rakudo; shouldn't this give me ("Hello", " ", "World") ?
flussence m: "Hello World".split(/" "/, :all).perl.say # checking something... 20:52
camelia rakudo-moar 477830: OUTPUT«("Hello", "World")␤»
Skarsnik m: "Hello World".split(" ", :all).perl.say
camelia rakudo-moar 477830: OUTPUT«("Hello", "", "World")␤»
20:52 cdg left
jast m: "Hello World".split(" ", :w).perl.say 20:53
camelia rakudo-moar 477830: OUTPUT«("Hello", "World")␤»
kittenlips markusmayr: what does the :all adverb do
Skarsnik m: "Hello World".split(" ").perl.say
flussence that doesn't seem quite right, no
camelia rakudo-moar 477830: OUTPUT«("Hello", "", "World")␤»
jast err
Skarsnik all does not work them
jast m: "Hello World".split(" ", :v).perl.say
camelia rakudo-moar 477830: OUTPUT«("Hello", " ", "World")␤»
jast yeah, that's the one
20:53 vendethiel left, orbus joined
flussence jast++, nice catch 20:53
20:53 itcharlie1 joined
jast it just so happened I had the docs open for split ;) 20:54
RabidGravy :)
Skarsnik what does all do?
jast :all is not documented there
flussence gets swallowed by *%_
20:54 itcharlie left
timotimo i think :all was deprecated 20:54
RabidGravy isn't :all just a no-op for consistency for something else?
timotimo in favor of :k, :v, ...
i don't think so
hankache hot do you get the time it took for an expression to finish? 20:55
20:55 vendethiel joined
markusmayr Ah, I misread the documentation. Cool.split mentions :all, so I thought it would be the same for Str.split 20:55
timotimo m: sub test() { for ^1000000 { }; say now - ENTER now; }; test; test; test;
camelia rakudo-moar 477830: OUTPUT«0.253073␤0.2354314␤0.23894736␤»
Skarsnik my $t = now: foo(); say now - $t;
timotimo Skarsnik: or see my example for "how to do this without a variable" :) 20:56
jast set phasers to profile!
Skarsnik Oh interesting x=
RabidGravy pew! pew!
Skarsnik damn, I should look at your qt profiler, I always forget x)
the current html output is quite useless x)
timotimo tadzik's qt profiler* 20:57
quite?
that's a bit harsh, no?
Skarsnik oh it was tadzik?
hankache timotimo thanks
Skarsnik well it's very slow/crashy
flussence well it's useless if the browser can't render it...
20:58 espadrine joined
timotimo right. the output gets gigantic easily 20:58
jast hmm, I'm having a grammar parse input and even the action for the first conceivably matched token doesn't ever get called, instead I get the CPU spinning. is there anything I can use to figure out where it's stuck, or do I have to strip it back down into a simpler grammar?
flussence s[it][it or the browser]
timotimo mostly because of the call graph being unlimited depth
jast: we have a Grammar::Tracer module in the ecosystem 20:59
that's very nice
otherwise you can put { say "here: 1" } into your regexes as well
20:59 rindolf left
perlpilot using say like that is a very effective technique :) 21:00
jast good idea
masak note that that may screw up LTM, though
since any code ends the declarative prefix
perlpilot yeah, that's the major down side
jast and that module is even pre-installed by Task::Star apparently 21:01
perlpilot I wish there was a way to have the compiler inject {say "enter $regex"} and the equivalent exit in all of the regex for a grammar (without messing up LTM)
flussence m: gist.github.com/flussence/1f4b23284cc39160d312 21:02
camelia rakudo-moar 477830: OUTPUT«1..4␤ok 1 - okay␤ok 2 - okay2␤not ok 3 - broken␤␤# Failed test 'broken'␤# at /tmp/kMmyHrPu8H line 15␤not ok 4 - broken2␤␤# Failed test 'broken2'␤# at /tmp/kMmyHrPu8H line 15␤# Looks like you failed 2 tests of 4␤»
flussence ^LTM's already screwed up :)
timotimo perlpilot: i think grammar tracer does it kind of like that
masak perlpilot: that's basically what Grammar::T... what timotimo said.
tadzik oh
well, the Qt profiler is not as featurefull as the html one 21:03
but it doesn't crash your browser on a big program, so there's that :)
21:03 captain-adequate left
perlpilot I guess I want something in between Grammar::Tracer and manual insertion of say statements. Maybe I'll write one ... one day .... maybe :) 21:03
tadzik and to be the devil's advocate, Qt's JSON parser still can't handle CORE.setting profile iirc
jast well, the tracer (actually called Grammar::Debugger now) pointed me right at the problem.
perlpilot jast: cool. What was it? 21:04
timotimo tadzik: yes. blergh. shitty thing with its totally random size limit
21:04 lnrdo joined
flussence to be fair, it's hard for them to find testcases for gigabyte-long JSON objects :) 21:04
jast perlpilot: I had a [ foo || bar || ws? ]* type thing at TOP and after the first successful match all of the options save for ws? failed for reasons yet unknown, so endless loop 21:05
timotimo flussence: doesn't have to be a gigabyte, iirc 21:07
tadzik: do you remember what exact size it cuts off at?
tadzik nope :(
mojca: yes, probably better here :)
flussence the last successful core profile I did came out to about 890MB...
Skarsnik did you submit a repport to Qt?
tadzik your error message is quite weird indeed
mojca what exactly should be the first line of panda? 21:08
tadzik mojca: it looks a bit like it
...like it's from perl 5
mojca I replaced it with "#!/opt/local/bin/perl6"
tadzik what
ffs
what's wrong with /usr/bin/env pelr6?
no env on mac?
mojca I would like to make sure that exactly the "right" version of perl6 is used
21:08 lnrdo left
tadzik how do you define "right"? 21:09
Skarsnik I though panda was a script shell/whatever that call the a pl6 x)
hankache what is the difference between ENTER and INIT? 21:10
Skarsnik ENTER is when entering the block?
hankache what do you call them by the way?
Skarsnik INIT is at BEGIN ?
flussence m: for ^5 { ENTER say 'e'; INIT say 'i'; }
camelia rakudo-moar 477830: OUTPUT«i␤e␤e␤e␤e␤e␤»
timotimo Skarsnik: no, INIT is at run time, but ASAP
BEGIN is at compile time, ASAP
mojca tadzik, it works properly if I use env; I don't know why it doesn't work if I specify /opt/local/bin/perl6
flussence m: say 'start'; for ^5 { say 'loop'; ENTER say 'e'; INIT say 'i'; }; say 'end';
camelia rakudo-moar 477830: OUTPUT«i␤start␤e␤loop␤e␤loop␤e␤loop␤e␤loop␤e␤loop␤end␤»
timotimo CHECK is at compile time, but ALAP, i think? 21:11
Skarsnik m: say "foo"; for ^5 { ENTER say 'e'; INIT say 'i'; }
camelia rakudo-moar 477830: OUTPUT«i␤foo␤e␤e␤e␤e␤e␤»
Skarsnik fun
21:11 _nadim left
timotimo m: INIT say "init"; CHECK say "check"; BEGIN say "begin"; 21:11
camelia rakudo-moar 477830: OUTPUT«begin␤check␤init␤»
tadzik mojca: does a hello world work if you do specify it as such?
mojca but even after fixing that problem I'm left with "Found no writable directory into which panda could be installed"
so I would like to know how to fix that
tadzik ah 21:12
flussence oh ffs
everyone's hitting the curli bug
tadzik well, panda should at least be able to install itself in $HOME, if your perl6 install directory is not writable
21:12 geraud joined 21:13 itcharlie joined
timotimo tadzik: did you see the problem where rakudobrew deleted the contents of /bin ? :D 21:13
or /usr/bin or so
tadzik ermagherd
no :o
21:13 itcharlie1 left
mojca tadzik, no, hello world doesn't work 21:13
Skarsnik lol
21:13 spider-mario left
jast someone symlinked rakudobrew into /usr/bin 21:13
mojca basically /opt/local/bin/perl6 doesn't seem to work, but I'm not sure why not
tadzik mojca: then it sounds like your /opt/local/bin/perl6 is actually invalid
jast and ran everything as root :)
tadzik fak
flussence I think we really ought to do a 2015.12.1 rakudo just for the sake of getting rid of the "can't mkdir" 21:14
timotimo perl6.org/specification/ - should this excerpt from Synopsis 1 be replaced by something else? or should that part of Syn 1 be reworded now that the release has happened? TimToady?
flussence: yeah ...
tadzik I think it speaks badly about Rakudo's installation process that people are trying to use rakudobrew as a tool to have a system-wide perl 6 installation
(or about our documentation)
mojca who can help me with /opt/local/bin/perl6 then?
21:14 pierre-vigier joined
Skarsnik proabably the doc 21:14
tadzik I hope we can :)
timotimo before the star release, a little rakudo bugfix release would be nice
mojca it works if I call it directly, but not in shebang or whatever that is called
flussence tadzik: I haven't touched rakudobrew *ever* :D
tadzik mojca: what does 'file /opt/..." say?
flussence: sounds like it saved you some potential trouble :P 21:15
mojca it's #!/bin/sh
tadzik mojca: is it executable?
flussence (in fact, I'm doing as much work as I can to make sure nobody ever does...)
mojca with exec /opt/local/bin/moar --execname="$0" --libpath="/opt/local/share/nqp/lib" --libpath="/opt/local/share/perl6/lib" --libpath="/opt/local/share/perl6/runtime" /opt/local/share/perl6/runtime/perl6.moarvm "$@"
Skarsnik On my dedicated server I have a system wide perl6 installed with Configure.pl
tadzik kredit to team :)
mojca POSIX shell script, ASCII text executable
it's 755
Skarsnik I think what is not clear with that is you have to NOT put --prefix to bootstrap.pl to install Panda
tadzik how did you install it there, btw?
our entire toolchain is built around the idea of keeping things in your $HOME 21:16
mojca how did I install rakudo or panda?
21:16 spider-mario joined
tadzik seems like it backfired and we never checked how it actually works outside 21:16
mojca: both
mojca me and [Coke] cooked up a package
tadzik well, if hello world doesn't work then it seems to me like te package is broken somewhere 21:17
mojca so MoarVM, nqp, rakudo were built with the package manager
this works: /opt/local/bin/perl6 hello.pl
just "#!/opt/local/bin/perl6" doesn't and I would suspect it's because of the contents of that script 21:18
I made a package for Panda as well, but the package for panda still misbehaves because I don't know how to install it
I don't want it in $HOME
Skarsnik I think panda try to find where perl6 is located and put itself there? 21:19
mojca but I would like to convince panda to install modules somewhere under $HOME/.perl6 or something similar, like cpan puts modules under $HOME/.cpan
RabidGravy mojca, the perl6 script is a wrapper in Perl 5
well it is here 21:20
mojca is it theoretically possible that it would work as "#!/opt/local/bin/perl6"? 21:21
Skarsnik Not wanting to bash curli stuff, but it really look it never really get tested on a "real world" use case ~~
jast if I recreate a similar situation with my rakudobrew-based installed (#!/a/comparable/script), it works
nine mojca: have you tried panda --prefix $HOME/.perl6/2015.12-41-g461e635 (or whatever is current for you)?
flussence Skarsnik: hard to test it on a real world use case when there weren't any real world users...
mojca is --prefix meant for destination of modules or for location of panda itself?
RabidGravy oh wait that's the rakudobrew shim, the default one is just sh 21:22
jast I tried with both the shim and the shell script, so it's theoretically possible for it to work
mojca wait ... perl6 actually *TALKS*???? 21:23
nine Skarsnik: well it did work in all the real world use cases that I knew of. Once you're at that point, you have to merge to give it a wider audience.
mojca: --prefix=/path/to/modules Place to put modules, executable scripts, etc.
mojca ouch, I misunderstood it then
I need to fix that then
Skarsnik what --prefix does on bootstrap.pl ?
dalek kudo/from-loop: 386905f | TimToady++ | src/Perl6/ (2 files):
reimplement value loops using Seq.from-loop

This fixes the infinite loop on 'loop', as well as allowing repeat loops to return values too. This patch also removes the FAKE_MACRO hack, and gets us closer to how jnthn++ wanted it to work originally. (It does not yet fix the outer bug of #127069, but likely makes it easier to fix.)
21:24
kudo/from-loop: e651629 | TimToady++ | / (8 files):
Merge branch 'nom' into from-loop
mojca I thought --prefix was for location of panda itself
and I noticed it didn't work
hankache good night everyone
see you tomorrow
TimToady o/
nine mojca: panda itself is a dist that is installed by panda. 21:25
dalek c/rb-nutshell: 84aa6a0 | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod:
Document basic object orientation
21:25 pierre-v_ joined, hankache left
timotimo "rb"? 21:25
o/ TimToady
nine mojca: --prefix was obviously not enough during creation of the panda package, but it should be enough once panda's installed
Rotwang Hi, it appears that NativeCall doesn't try to resolve library path, so by default you need to provide library with a full path? 21:26
jdv79 not bad craft beer bars in amsterdam. im a little surprised.
Skarsnik How I mark a bug ia duplicate of another on RT?
mojca I'll try to reinstall with a different --prefix
Skarsnik Rotwang, no doc.perl6.org/language/nativecall#L..._and_Names
flussence Rotwang: if it isn't in the standard LD_LIBRARY_PATH, you'll have to give it a full one, yes 21:27
mojca but then one more thing, what should I do with the state file
Skarsnik Ah yes, I should maybe add that it search in the system linker path (or something like that)
mojca it contains lots of weird temporary paths that get deleted
nine mojca: actually, panda even tries to be smart about picking installation locations and it should fall back to $HOME/.perl6 if the site repo is not writable. Obviously this does not yet work as intended. Could be less work to actually fix that bug than to work around it. 21:28
mojca after the installation is complete
21:28 pierre-vigier left, CQ joined
nine masak: I'd be happy to see panda's state file replaced by a proper API in Perl 6 and have already begun work on the latter. 21:28
mojca falling back to $HOME/.perl would help
Skarsnik for me panda should do this: root run it -> default system prefix; user -> $HOME 21:29
mojca if you think that this could be implemented soon, I'll rather wait than try to reinvent the wheel
tadzik it can be arranged
but I'm pretty sure it does in fact fallback to $HOME/.perl6
if everything else goes t hell 21:30
nine tadzik: there's certainly code for that. It may just be some stupid bug preventing it. Or maybe it does work after all and nobody has tried it yet ;)
flussence tadzik: worked for me. I installed rakudo to system dirs, bootstrap.pl and panda install Linenoise both Just Worked 21:31
(as unprivileged user, that is)
mojca I get pastebin.com/63uMVwhB
tadzik nine: the latter is quite possible :)
Skarsnik gah RT does not have a marked as duplicate or something?
timotimo Skarsnik: you can merge tickets
mojca I need to add that I didn't install the state file though because I have no clue where it belongs and what to do with temporary path that gets removed 21:32
can someone explain what the error is trying to tell me? 21:33
Rotwang flussence: Skarsnik: thanks for the info, although there is no "standard" LD_LIBRARY_PATH (by default it is empty) and the library resolution on linux is relatively coplicated (ld cache and so on) 21:34
mojca why are all filenames "encrypted"?
from the error log it's almost impossible to tell which file is throwing the error
21:34 keix left
timotimo agreed 21:35
mojca also, when panda is done bootstrapping, it tells me "==> Please make sure that inst#/opt/local/var/macports/build/_path_to_perl_lang_panda/panda/work/.home/.perl6/2015.12/bin is in your PATH"
timotimo however, the paths still give you a file you can read
for the source
Arrowhead using NativeCall, is there a way to call through a C function pointer?
mojca which is nonsense because that temporary build dir will eventually get removed
21:35 _nadim joined
mojca tomotimo: yes, but it's useless for anyone trying to decrypt what my logs say without having access to my machine 21:36
timotimo Arrowhead: i've wished for this in the past, but we don't have support for this IIUC
Skarsnik Not sure to understand why to you mean call through a C function pointer? You mean you get a function pointer and want to call it? 21:37
Arrowhead timotimo: That's a shame. I'm doing OpenGL stuff and I can successfullly call things that are in the GL shared lib. But I understand that more modern functions are only available as pointers. Even when using GLEW it looks like the shared lib only has pointers, not actual functions. 21:38
Skarsnik: exactly
21:38 llfourn joined
Skarsnik Oh right, hm, sound tricky to do 21:39
Arrowhead Ultimately the functionality must be there, the question is: how to expose it. 21:40
brrt Arrowhead, maybe you can use csymbol?
Skarsnik I never really looked at how functor work 21:41
Arrowhead brrt: you mean symbol('foo') unfortunately no, that assumes foo is a function.
RabidGravy A work around would be to make some additional C code that does the dispatching
mojca nine: if talking about falling back to $HOME/.perl6 for panda: is there any ticket I could follow (I probably won't be on IRC like I was yesterday when you fixed the problem when that will be discussed)
skids mojca: it's not that the filenames are encrypted it's that rakudo doesn't necessarily use files to identify compunits. Theoretically it will allow installing multiple versions of the same "file" in case one app needs a newer version that another app cannot use, or other such things. 21:42
Skarsnik RabidGravy, probably yes
timotimo Arrowhead: in any case, you can use Inline::C to compile little stubs for you that call the function pointer ...
just treating the function pointer as OpaquePointer and build one C function for every different argument signature
Arrowhead ah, is that there too in perl6 land. I'll have a look.
timotimo sounds terrible. and it is. ... ... sorry :(
brrt Arrowhead: doc.perl6.org/language/nativecall#E..._variables
is what i mean
Skarsnik It does not sound that bad to add? like creating a special Callable? 21:43
timotimo yeah, should be easy. you go ahead! :)
21:43 llfourn left
Rotwang it may be a silly question, but where are the sources of NativeCall? I guess it is no longer Zavolaj 21:44
Arrowhead brrt: that's for reading/writing variables for which you know the name. I want to call the C code.
Rotwang: in rakudo
Skarsnik NC is in Rakudo/NQP/Moar
21:44 firstdayonthejob left
RabidGravy It can already marshal Callables to function pointers so I wonder if the reverse could be done 21:44
21:45 niceperl joined, firstdayonthejob joined
Skarsnik C wise how that work with using dlopen and doing it? 21:45
Rotwang Arrowhead: Skarsnik: thanks
Skarsnik but if you have issue with your libpath you can ask x) 21:46
RabidGravy well if you already have a function pointer in hand then you don't need to load it from a dll surely
brrt oh wow... 21:47
timotimo RabidGravy: well, that's not really the same thing, as it has to create a piece of code that can be used as a target for function pointers to invoke
Skarsnik yes RabidGravy but are in the case of we don't link the lib at compile time. so it's dlopened and I don't remember how function work in this case in C 21:48
RabidGravy timotimo, sure 21:49
21:49 keix joined
timotimo well. it could certainly be super crazy easy to make. maybe not. who knows. 21:49
jdv79 RabidGravy: amsterdam beats london in my book for craft beer bars i think. 21:50
21:50 yurivish_ joined, colomon left
RabidGravy jdv79, very possibly but hey 21:50
Skarsnik timotimo, I am pretty sure it's passing around the sub signature to C (Moar) and its pointer and call it 21:51
jdv79 hey!
timotimo Skarsnik: you can have a look at MoarVM to see how "nativecallbuild" and "nativecallinvoke" are implemented 21:54
autarch lizmat: it's a little more complicated than just wrapper later - with Olson time zones there are things like non-existent local times as well as local times that are ambiguous (yeah have hour 2 twice in a row)
yoleaux 20:17Z <lizmat> autarch: thinking more about Olson, I think wrapping .later and adjusting the timezone with .in-timezone, should be enough
21:54 CQ left
lizmat autarch: the non-existant local times are no issue 21:55
Skarsnik timotimo, I will have a quick look tomorrow
autarch lizmat: why?
timotimo cool.
lizmat because you can never move into them
.later is already technically correct
only the timezone of the resulting object isn't
perlpilot lizmat: users can't create localtimes that don't exist? 21:56
lizmat I'm saying you can't move into them using .later
autarch lizmat: we may be talking past each other
perlpilot oh
lizmat if you specify a non-existing time on creation, it should die
autarch lizmat: right, that's somewhat of an API change, and it constantly surprises users of p5 DateTime 21:57
this is one of the reasons I proposed have a DateTime class without timezones and another one with them
a lot of people don't actually need _any_ tz handling whatsoever and would be better off with a class that doesn't ever make them think about this
lizmat but with the current implementation, you can't go wrong with the timezone, it's basically just a view on the actual underlying atomic clock time 21:58
if you don't specify a :timezone with DateTime, you don't have to think about it
21:58 brrt left
lizmat moving from non-DST to DST with anything other than seconds, will DTRT 21:59
perlpilot In the past, I've wanted offsets from UTC without necessarily caring about timezones, but I don't know how common/useful that is
lizmat atm, you can have offset you want :-)
and there are actually tests for them 22:00
autarch perlpilot: it's not uncommon - it's easy to support along with Olson zones
lizmat: what you think is DTRT is not necessarily what others will think is DTRT - have you read p5 DateTime's docs? they go into a lot of the different cases that should be considered 22:01
lizmat ok, will do so before getting back to this :-)
perlpilot lizmat++ 22:02
22:02 markusmayr left
nine mojca: frankly I find it very tedious to try and fix those issues. I cannot reproduce them and have no idea how all this OS X packaging stuff works and where ridiculous paths like inst#/opt/local/var/macports/build/_path_to_perl_lang_panda/panda/work/.home/.perl6/2015.12/bin come from. 22:07
autarch lizmat: you might also find www.houseabsolute.com/presentations...th-perl/#1 interesting
nine mojca: do you think, you can do a little digging into panda's source code yourself? The error message comes from lib/Panda/App.pm and the interesting code starts in line 11. It should be fairly self explanatory. 22:08
Skarsnik btw Mac os X vm work with VirtualBox
nine Skarsnik: maybe, but I'm certainly not gonna buy OS X to debug other people's systems. 22:09
Skarsnik Well you need patched a version of os X ~~
nine If people want to use a non-free system, they cannot expect me to go that far.
RabidGravy are there any of the developers who use os X ?
vendethiel lizmat does, afaik 22:10
perlpilot autarch: slide 19 has a typo "inclues" (though, that should be a word!)
autarch includes?
lizmat yes, I do, but i have given up on macports: it always gave me more pain than gain
perlpilot aye
RabidGravy it is in french isn't it?
Skarsnik and virtualbox still does not see intel vx tech, so I can't boot any 64 bit vm, :( 22:11
diakopter I have 64-bit VMs in virtualbox, I thought 22:12
jast with a windows host that tends to happen if its own hypervisor (hyper-v) gets in the way, maybe something similar on osx?
Skarsnik Yes, but my virtual box version get lost sometime
I am on win7 and I don't have hyper-v 22:13
jast right, hyper-v is included starting with win8
Skarsnik it's a weird bug that does not always happened
jast I didn't ever have these types of issues with win7, but apparently I just had better luck :/ 22:14
Skarsnik I have this since the 4.x version of it
22:16 kittenlips_ joined, skyl4rk left 22:18 kittenlips left 22:20 kittenlips_ left 22:24 colomon joined
timotimo maybe we should have called it "Sixperl" instead of "Perl 6" 22:25
22:26 ELBeavers left, ELBeavers joined
jdv79 i might use six as a suffix if markov doesnt give up cpan6:( 22:27
22:27 smls left
lizmat jdv79: do I understand from this you're not trying to integrate with CPAN / PAUSE / MetaCPAN anymore ? 22:27
22:28 kittenlips joined
jdv79 no. same as usual. trying to use as much of existing as poss. just want a ns. 22:28
cpan6 or cpansix is cpan mostly but might lift off it later. that kinda thing. 22:29
22:29 pierre-v_ left 22:30 ZoffixWin joined
lizmat I will most likely see markov next week at the Amsterdam PM meeting 22:31
kittenlips hi, question about syntax highlighting, are there syntax highlighting tools that actually load and understand the full grammar for a language to produce very informative highlighting to really aid in comprehension of code?
lizmat jdv79: I'll talk with him about it...
jdv79 ah. we exchanged emails once and he was a maybe. i need to reply.
ZoffixWin nine, BTW, good job with the whole pre-compilation stuff. Before it, perl6's startup stuff was driving me nuts and now performance doesn't even come to mind when I write my stuff :) I'm glad we didn't have that slowness when we released, or I imagine lots of people would be complaining about it ^__^ 22:32
jdv79 that would be cool though. so far ill only be in amsterdam til the 2nd. when is thus pm meeting? should i go? 22:33
its not a big deal though:) 22:34
kittenlips I've always found syntax highlighters for Perl such as those in Padre or what we see in online resources such as in Github to be either plain wrong or just really lacking
lizmat the Amsterdam PM meetings are on the first Tue of the month, so on the 5th this time 22:35
jdv79 hmm...
flussence kittenlips: the highlighter in pygments is top notch. It was written specifically *for* Github even, then they threw the entire thing away for the sake of NIH/avoiding python-cooties... 22:36
ZoffixWin kittenlips, yeah, it's a tough language to highlight due to contexts and stuff. MadCapJake++ wrote a nice plugin for Atom with superb highlighting (github.com/MadcapJake/language-perl6fe)
kittenlips, I heard there's something for vim too 22:37
Skarsnik vim highlight is slow for me
kittenlips flussence: the pygments highlighter is what is being used on the Perl 6 site no?
flussence yep 22:38
Skarsnik like I thought I was using some 80 internetspeed editing a 100 lines file via ssh x)
ZoffixWin Is it?
Oh on docs
I think the examples on homepages were made with Text::VimColour
22:39 llfourn joined
flussence vim-perl works fine too, the version bundled with vim is ancient though 22:39
Skarsnik it's maybe a dumb question, but why the doc for class are not in the class itself using WHY stuff of pod? because pod parser is bad, or it was too slow? 22:40
22:40 espadrine left
kittenlips By no means to criticize as I know it's likely a difficult task, but even on Perl 6 docs the highlighting could go further 22:40
timotimo it's definitely a task ... 22:41
kittenlips For example variables within strings should be highlighted with the same color as the variable outside and different than regular string characters
perlpilot Skarsnik: too slow 22:42
Skarsnik maybe with precomp it's not true?
22:43 kaare_ left, q0tw4 joined
kittenlips that's why my question about are there syntax highlighters that can just import the grammar for a language and understand it so that it automatically creates the correct highlighting patterns without any user configuration 22:43
perlpilot kittenlips: "I want my identifiers to be green" "I want mine to be red!" (there will always be "user configuration") 22:44
ZoffixWin Skarsnik, I think it's because the docs are meant for any Perl 6 implementation, not just Rakudo. Another issue I can see the separation solves: you can give commit access to a much greater number of people to docs alone, than to docs + implementation. 22:45
Skarsnik kdevelop color each variable with a dif color for example
kittenlips perlpilot: well not the colors, but that the highlighter knows that here is an identifier <- let user decide color
22:45 llfourn left, Begi2 joined
kittenlips So that user doesn't have to configuration how the syntax highlighter understands the syntax, the grammar should tell the highlighter that without any user configuration 22:45
Skarsnik ZoffixWin, I think it make keeping the doc up to date harder ~~
22:46 yurivish_ left
ZoffixWin Skarsnik, maybe. But, to play the devil's advocate, do you want some l33t h4x0r spend their time writing docs or writing code, and leaving someone with less skill to read the completed code and write the docs? :) 22:46
Dunno, I have a strong bias against spaghetti Pod + code, :) 22:47
22:48 yqt joined
Skarsnik maybe someone should write something to compare class metod with the doc to see if some are missing x) 22:48
ZoffixWin :D 22:49
22:49 Begi left, shicheng joined, SwellJoe left, Begi2 left 22:50 zakharyas joined 22:51 kjs_ left, shicheng_ joined
flussence eventually all of docs/specs/roast will coagulate into one big Literate Programming thing... 22:52
22:53 lnrdo joined
kittenlips at least from what I understand Perl 6 will be much easier write syntax highlighting grammars for than Perl 5 was because Perl 5 is difficult to parse 22:53
timotimo well, yeah ... until you start putting in Slangs :D 22:54
Skarsnik well perl6 is parsable by.. perl 6
22:54 molaf left, shicheng left
kittenlips But this one-pass parsing right? Better than multi pass? 22:54
Skarsnik I was baffled that trait are compile time code already x)
timotimo yeah, that's right
though if you build a slang, you can parse whatever way you like 22:55
ZoffixWin m: sub term:<(╯°□°)╯︵┻━┻> { say "or this" }; (╯°□°)╯︵┻━┻; (╯°□°)╯︵┻━┻;
camelia rakudo-moar 477830: OUTPUT«or this␤or this␤»
timotimo for example by handing the code to a REST API on the web :P
Skarsnik hm
22:56 yurivish_ joined
Skarsnik Discord has a /tableflip command, it's the best invention ever x) 22:56
kittenlips remember this on Perl Monks? www.perlmonks.org/?node_id=663393 "Perl Cannot Be Parsed: A Formal Proof" 22:57
Skarsnik Well Discord web client
22:57 lnrdo left
dalek kudo-star-daily: e7083e6 | coke++ | log/ (7 files):
today (automated commit)
22:57
kittenlips Perl 6 I believe is parseable...
22:59 colomon left
Skarsnik why everything fail in github.com/coke/rakudo-star-daily/...odules.log 22:59
ZoffixWin m: sub term:<🙈> {say "Where's"}; sub postfix:<🙊> ($) {say "your"}; sub postfix:<🚾> ($) {say "highlighting"}; sub postfix:<〠> ($) {say "now"}; 🙈🙊🚾〠; 23:00
23:00 cpage left
camelia rakudo-moar 477830: OUTPUT«Where's␤your␤highlighting␤now␤» 23:00
ZoffixWin ehehe. I love Perl 6 :P
Juerd If Perl cannot be parsed, and Perl 6 can be parsed, then Perl 6 is not Perl? I'm confused. 23:01
Skarsnik Does someone try to build a perl5 interpreter with Perl 6? x)
flussence no, it just means your definition of "parsed" is wrong
23:02 cpage_ left
flussence (or "cannot") 23:02
kittenlips Juerd: sorry Perl 5 cannot be parsed without actually running the program as well
flussence (or "be"... ah, forget it)
23:03 shicheng joined
kittenlips Juerd: the Perl Monks article is about Perl 5 that it is impossible to statically parse. I believe Perl 6 can be statically parsed? 23:04
23:04 shicheng_ left
ZoffixWin Can it? 23:04
23:04 q0tw4 left, cpage_ joined
ZoffixWin Perl 6's magicness looks way more advanced than Perl 5's :o 23:04
kittenlips Can Perl 6 code be parsed without actually running the code? 23:05
Skarsnik seems unlikly x)
kittenlips hehe
lizmat think BEGIN blocks ?
think 'use something' that changes the slang 23:06
RabidGravy well in the sense that you can get an abstract syntax tree then yes
kittenlips lizmat++ yes because bluring the lines between compilation and runtime
ZoffixWin kittenlips, based on how I understand that monger's argument, my examples of custom operators above show an even more extreme example. How would such a parser know that, say /((((/egahgs/ is actually an operator that I defined in some other package?
m: sub infix:</((((/egahgs/> ($a, $b) { say "$a $b" }; 'Just' /((((/egahgs/ 'testing' 23:07
camelia rakudo-moar 477830: OUTPUT«Just testing␤»
timotimo Skarsnik: you don't know about "v5"?
Skarsnik I am not sure I want to know 23:08
ZoffixWin :D
kittenlips ZoffixWin: yes I think you are right
Skarsnik m: use v5; my $a = "hello"; print $a =~ /ll/;
camelia rakudo-moar 477830: OUTPUT«===SORRY!===␤Could not find Perl5 in:␤ /home/camelia/.perl6/2015.12-44-g477830a␤ /home/camelia/rakudo-m-inst-2/share/perl6/site␤ /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-2/share/perl6␤ CompUni…»
kittenlips to everyone sorry about going on and on about syntax highlighting etc. 23:10
23:10 cygx joined
flussence nothing wrong with genuine curiosity :) 23:10
kittenlips Just Perl (5 and 6) are languages that of any language need as good syntax highlighting as possible
cygx v5 has suffered a severe case of bitrot 23:11
kittenlips It's extremely dense code with many symbols and operators and having very detailed highlighting really helps with code comprehension
ZoffixWin glances at mst, who doesn't use any highlights and loves it :)
cygx I made it 'work' (with some issues related to the GLR), but precomp broke it again
I'm still planning to get back to it, eventually 23:12
ZoffixWin Not just loves it, but argues it makes reading the code better.
flussence p6 does a lot better than just syntax highlighting, try it with the Fira Code font sometime :)
kittenlips Personally in all my years programming Perl 5 I used NEdit as I found out of the box it had the best and most detailed syntax highlighting 23:13
virtualsue i love syntax highlighting
kittenlips I believe NEdit's syntax highlighting engine uses regex that's how it could be so good
timotimo "detailed" syntax highlighting? sounds like it highlights individual parts of letters differently, too :P
kittenlips yes, it actually individually highlighted within regexs EXACTLY how it should be 23:14
flussence timotimo: that's also called "misconfigured Cleartype" :D
virtualsue i just generally take it as i get it, and don't care about the details
Skarsnik I use a different ide/editor for the language I work with x)
kittenlips virtualsue: hehe
Skarsnik: me too
with Perl 5 -> NEdit
23:15 shicheng left
RabidGravy yeah, I only find it really really useful because sometime I can't tell the difference between quote characters 23:15
Skarsnik C => kdevelop, C++ QtCreator, Perl 6 => kate
23:15 shicheng joined
lizmat good night, #perl6! 23:16
kittenlips I find with Perl 5 my brain needed good syntax highlighting in order to comprehend code easily
With Java and Python it doesn't matter
flussence too much syntax highlighting can be a terrible thing: php.vim has an option to sub-highlight heredocs that use delimiters like "HTML" and "SQL"...
RabidGravy if the rest of the file is read after a quoted string, I typed the wrong quote character
Skarsnik Lol
RabidGravy red
ZoffixWin this is the best editor: github.com/codeinthedark/editor/pull/1 23:17
^_^
*cue heavy metal music while coding*
23:17 colomon joined
kittenlips LOL 23:18
Bang! Bang!
Skarsnik I need that!
flussence (and once upon a time, some idiot sitting in my chair thought it was a really neat idea and turned all those php.vim options on then proceeded to *make use of* them...)
ZoffixWin Oh man, it even exists for Atom :) atom.io/packages/activate-power-mode
kittenlips I tried to install Atom from source, my God it just never works I HATE node.js
ZoffixWin It's what I use for Perl 6 'cause Sublime Text 2 has bad P6 highligher :( 23:19
kittenlips The servers I have at work are not latest Linux distros, only CentOS 6.7 and Atom will not build from source anything but newer Linuxes
And they don't tell you that
deniska I need the activate power mode in my terminal 23:20
Skarsnik rakudo build need power mode 23:21
23:21 shicheng left
deniska That way pretty much every program I use can be power moded 23:21
irssi power mode :)
kittenlips Let me rephrase, I don't hate node.js but I just couldn't get everything to compile it doesn't tell you you need fairly new glibc versions
RabidGravy I've installed it on ancient versions of SLES before 23:22
for my sins
cygx github.com/rakudo/rakudo/pull/662 # RFC: make v5 pluggable
kittenlips why does power mode remind me of Street Fighter? 23:23
Hadouken!!!! Alllyouken!! www.youtube.com/watch?v=pHJKS3r_YUg 23:24
flussence cygx: er, why not make use of the multiple-versioned-same-named module support we already have? 23:25
mojca tadzik, I found this reference: www.in-ulm.de/~mascheck/various/she...ter-script claiming that nesting shebang scripts might be problematic (while working on newer linux)
but it's my fault anyway, so it's me the one who has to address the problem 23:26
cygx flussence: it's not about the version specifically, and I don't think it's a good idea to disambiguate sematically distinc modules solely by authority 23:27
23:27 virtualsue left 23:28 kid51 joined, spider-mario left
cygx flussence: a module could implement Perl5 via a proper slang, or just do some quote parsing and hand off the actual processing to Inline::Perl5, or something completely different 23:28
23:29 virtualsue joined
virtualsue i really need to sort out my wifi 23:29
dj_goku m: my $buf = Buf.new('0'); $buf.unpack('*'); 23:30
camelia rakudo-moar 477830: OUTPUT«This type cannot unbox to a native integer␤ in any at gen/moar/m-Metamodel.nqp line 1718␤ in block <unit> at /tmp/c9Y4S9pE4x line 1␤␤»
RabidGravy mojca, the thing is "perl6" with rakudo is always a script of some sort as it's something like "moar perl6.moarvm $@" with some other arguments
dj_goku m: my $buf = Buf.new(0); $buf.unpack('*');
camelia rakudo-moar 477830: OUTPUT«Use of the 'unpack' method is experimental; please 'use experimental :pack'␤ in block <unit> at /tmp/xWDLWY5G4L line 1␤␤»
dj_goku m: use experimental :pack; 23:31
camelia ( no output )
23:31 zakharyas left
flussence m: EVAL "}error{"; 23:31
camelia rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ccrPy_cPLN␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/ccrPy_cPLN:1␤------> 3EVAL "}error{";7⏏5<EOL>␤ expecting any of:␤ double quotes␤ term␤»
dj_goku m: use experimental :pack; my $buf = Buf.new(0); $buf.unpack('*');
camelia ( no output )
flussence in the repl, the filename there is odd.
ugexe m: my @x; @x>><foo>; # is this the correct error message?
camelia rakudo-moar 477830: OUTPUT«This type does not support elems␤ in block <unit> at /tmp/zgtOgODOps line 1␤␤»
ZoffixWin m: use MONKEY-SEE-NO-EVAL; EVAL <}error{>; 23:32
camelia rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Unexpected closing bracket␤at /home/camelia/EVAL_0:1␤------> 3<BOL>7⏏5}error{␤»
kittenlips BTW all I wrote in Quora a recent answer to "When is Perl 6 coming out" as the previous answers were very old, hopefully my answer is accurate enough I basically paraphrased from the annoucements
dj_goku m: use experimental :pack; my $buf = Buf.new(0); say $buf.unpack('*');
camelia rakudo-moar 477830: OUTPUT«Nil␤»
kittenlips www.quora.com/When-is-Perl-6-coming-out
flussence oh wait, it doesn't happen with that string:
m: EVAL "}" 23:33
camelia rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Unexpected closing bracket␤at /home/camelia/EVAL_0:1␤------> 3<BOL>7⏏5}␤»
kittenlips Lot's of people get Quora feeds to hopefully it gives Perl 6 additional visibility
dj_goku m: use experimental :pack; my $buf = Buf.new(0x0a); say $buf.unpack('*');
camelia rakudo-moar 477830: OUTPUT«Nil␤»
dj_goku m: use experimental :pack; my $buf = Buf.new(0x0a); say $buf.unpack('H*');
camelia rakudo-moar 477830: OUTPUT«0a␤»
ZoffixWin kittenlips++
Skarsnik quora? 23:34
23:34 firstdayonthejob left
kittenlips It's like an alternative to Stack Exchange 23:34
Hotkeys I've never actually used quora 23:35
never liked it for some reason
kittenlips I think they do a slightly different approach
23:36 xpen joined
dj_goku I keep getting locally: Error while importing from 'experimental': no such tag 'pack' 23:36
mojca tadzik, I'm looking into Panda's App.pm. The list of custom-lib locations is "/opt/local/share/perl6/site, /Users/me/.perl6/2015.12"
dj_goku but camelia is working
ZoffixWin m: use experimental :pack;
camelia ( no output )
Skarsnik dj_goku, what rakudo version? 23:37
kittenlips Actually that just reminds me the Stack Exchange answers to Perl 6 release are woefully out of date
mojca My blind guess is that this fails to work because /Users/me/.perl doesn't exist yet and recursive dir build fails
kittenlips will try to write answer
ZoffixWin dj_goku, sounds like your rakudo is old.
timotimo autarch: how did the text from the 24th advent post end up in your commit message in the ecosystem?
autarch wtf 23:38
no idea
ShimmerFairy .tell nine if you did use git merge, I don't see it. I don't see any merge commits for the curi branch in gitk, just the signs of a rebase. The only thing I can think is if you used 'git merge' and it decided on a fast-forward merge, in which case my blame should be redirected towards git :)
yoleaux ShimmerFairy: I'll pass your message to nine.
ZoffixWin When it happened autarch said "I just clicked the GitHub edit box; it was prefilled"
autarch I mean, I have some idea - I must'copied the blog post back and forth from WP to emacs when I was fixing some formatting
ZoffixWin I suspect might've been a copypasta issue :)
timotimo yeah, git merge --no-ff FTW
ugexe m: my @x = %(:a(1)); say @x>><a>; my @y; @y>><a>
camelia rakudo-moar 477830: OUTPUT«(1)␤This type does not support elems␤ in block <unit> at /tmp/JVo6qCNVMs line 1␤␤»
masak 'night, #perl6 23:39
ZoffixWin night
mojca oh, wait, $HOME/.perl6/2015.12/precomp/ actually exists, but panda still complains that it's unable to find a writable directory
timotimo gnite masak
dj_goku Skarsnik: 477830
Skarsnik the date x)
timotimo mojca: i don't think panda complains about the precomp folder missing, but about no folder for source files to be installed, eh?
dj_goku This is Rakudo version 2015.12-44-g477830a built on MoarVM version 2015.12
Skarsnik hm it's weird 23:40
pack/unpack get experimental for the release
dj_goku I think both systems are on that I just re-built them this afternoon
23:40 shicheng joined
dj_goku m: use experimental :unpack; my $buf = Buf.new(0x0a); say $buf.unpack('H*'); 23:40
camelia rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LTTNcJvsxW␤Error while importing from 'experimental': no such tag 'unpack'␤at /tmp/LTTNcJvsxW:1␤------> 3use experimental :unpack7⏏5; my $buf = Buf.new(0x0a); say $buf.unpa␤»
23:40 xpen left
mojca what does the following mean? "try mkpath $pandadir unless $pandadir ~~ :d;" 23:41
Skarsnik pack for both of them?
dj_goku Skarsnik: that is my guess.
23:41 llfourn joined
mojca what is "~~ :d"? 23:41
23:41 yurivish_ left
dj_goku mojca: smart match for a dir 23:41
geekosaur "exists and is a directory" 23:42
TimToady assuming the thing on the left is a file handle
or some such
more generally, it means LHS.d is true
dj_goku mojca: doc.perl6.org/type/IO::Path#File_Test_operators
flussence "~~ :d" is just a really long way of writing ".d"
TimToady but convenient when you want to do ~~ :d | :f 23:43
mojca ok, but I don't get it; Why would mkdir fail?
flussence m: say 'foo' ~~ :starts-with<f> :ends-with<o> 23:44
camelia rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ci3SSm95vc␤You can't adverb ␤at /tmp/ci3SSm95vc:1␤------> 3y 'foo' ~~ :starts-with<f> :ends-with<o>7⏏5<EOL>␤»
mojca mkpath, I mean
flussence m: say 'foo' ~~ :starts-with<f> | :ends-with<o>
camelia rakudo-moar 477830: OUTPUT«Cannot call starts-with(Str: ); none of these signatures match:␤ (Cool:D $: Cool $needle, *%_)␤ in block <unit> at /tmp/Y2yGpSqa2i line 1␤␤»
geekosaur mojca: permissions, because something that's supposed to be a directory is a file instead
among others
mojca I'm still confused
$pandadir is $HOME/.perl6/2015.12/panda 23:45
23:45 itaipu left, ZoffixWin left
mojca and the script fails with "Found no writable directory into which panda could be installed" 23:45
TimToady maybe it's not expanding $HOME? 23:46
Skarsnik $*HOME?
23:46 patrickz left
mojca however, once I run "mkdir $HOME/.perl6/2015.12/panda", panda starts working 23:46
HOME is expanded
timotimo why doesn't panda output the paths it's trying?
mojca I mean ... *I* wrote HOME
it probably should
I agree
geekosaur could remove the "try" and see what exception is thrown
mojca I added some debug output myself
TimToady or look at $!
geekosaur but I sus[pect wouldn't have the pat 23:47
h
23:47 llfourn left
mojca ok, let me wait until panda finishes a run, then I'll clean it and rerun 23:47
dj_goku can't get panda to build correctly.
cygx mojca: might be github.com/tadzik/panda/pull/264
23:47 ELBeavers is now known as ELBeavers_away
mojca what does the extra ~ in front of $pandadir do? 23:48
cygx make it into a string
dj_goku EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override, but only if you're VERY sure your data contains no injection attacks)
mojca I'll test it now
dj_goku is what I am getting when building panda
23:50 shicheng_ joined
mojca what determines which perl5 is being used to run moarvm? 23:50
flussence $PATH
TimToady dj_goku: you have to blow away your install 23:51
ShimmerFairy dj_goku: not sure, but at first glance it sounds like something in panda might be old
23:51 joydo joined
mojca what I meant was where this was defined; moar itself is a binary 23:51
TimToady everybody here has had to do it once :)
23:52 shicheng left, protium left
ugexe maybe because File::Temp's `provides` section is not valid 23:52
well it is in the .info, but not the .json 23:53
ShimmerFairy mojca: as far as I know, P5 is only used to configure moar, and maaaybe do some steps in the compile/install process. I don't think moar makes use of p5 in its execution. 23:54
TimToady not unless you pull in Inline::Perl5 23:55
dj_goku nuking!
TimToady dj_goku: if that doesn't fix it, we will be very surprised
dj_goku TimToady: I think this is my second or third time I don't mind, just kind sucks. 23:56
RabidGravy rakudobrew *does* use Perl 5 to create the shims
mojca when I run "panda install ..." I see perl5.22 as the process name
kittenlips I added the same Perl 6 release blurb on Stack Exchange that I put in Quora
stackoverflow.com/questions/2666428...-of-perl-6
dj_goku TimToady: I think the previous times were related to panda updates.
ShimmerFairy that must be rakudobrew, like RabidGravy says, moarvm doesn't use P5 AFAIR
RabidGravy yeah the plain perl6 is just a small shell script 23:57
cygx "Rakudo is very easy to install" ;)
kittenlips cygx: you don't think so? 23:58
it took me 5 minutes
dj_goku TimToady: ShimmerFairy thanks, losing internet hopefully I can get it building before I lose it.
23:58 niceperl left
mojca geekosaur, if I remove "try", then I get "Failed to open file /Users/me/.perl6/2015.12/panda: no such file or directory" for "mkpath $pandadir unless $pandadir ~~ :d;" 23:58
geekosaur uh 23:59
cygx mojca: that's what the pull request is about
mojca maybe "fancy way" to check whether directory exists was too fancy after all :)
geekosaur that sounds wrong
RabidGravy mojca, if you examine the "panda" and it is a Perl 5 script then that is rakudobrew's doing
cygx $pandadir is a IO::Path, it needs to be a string