»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:06 zacts left 00:27 mowcat joined 01:10 silug_ left 01:19 adu joined 01:21 silug_ joined 01:37 aborazmeh left 01:42 xiaoyafeng joined 01:43 claudio joined 01:47 qiqi joined 01:49 noisegul_ joined 01:52 noisegul left 02:03 aborazmeh joined, aborazmeh left, aborazmeh joined 02:07 kurahaupo joined 02:10 AlexDaniel joined 02:11 rindolf left, cwilson left 02:17 mowcat left, cwilson1 joined, lembark joined
lembark Q: Anyone have experience with CompUnit::Repository & friends? 02:18
I'm trying to get a BEGIN block to programatically add at list of dirs; basically a dynamic version of perl6 -I. 02:19
Or being able to load %*ENV{ PERL6LIB } w/o resorting to /usr/bin/find. 02:24
02:36 cwilson1 left 02:39 huy joined 02:41 kst` joined 02:42 kst left 02:44 huy left 02:51 claudio left 02:53 MilkmanDan left, MilkmanDan joined
lembark Good evening. 02:57
03:12 kst` left, kst joined 03:17 xiaoyafeng left 03:29 kurahaupo_ joined 03:33 kurahaupo left 03:35 kaare_ joined 03:38 kurahaupo_ left, kurahaupo joined 03:51 kaare_ left 03:52 kaare_ joined 03:53 Kaiepi left 04:02 aborazmeh left 04:20 adu left 04:21 Xliff joined
Xliff \o 04:21
m: sub aa { say "OHAI!" }; my $name = 'aa'; &( $aa )()
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$aa' is not declared. Did you mean '&aa'?
at <tmp>:1
------> 3aa { say "OHAI!" }; my $name = 'aa'; &( 7⏏5$aa )()
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; &( $name )()
camelia No such method 'CALL-ME' for invocant of type 'Str'
in block <unit> at <tmp> line 1
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; "$name"() 04:22
camelia No such method 'CALL-ME' for invocant of type 'Str'
in block <unit> at <tmp> line 1
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; &"$name"()
camelia 5===SORRY!5=== Error while compiling <tmp>
Name must begin with alphabetic character
at <tmp>:1
------> 3b aa { say "OHAI!" }; my $name = 'aa'; &7⏏5"$name"()
expecting any of:
infix
infix stopper
sta…
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; &$name()
camelia No such method 'CALL-ME' for invocant of type 'Str'
in block <unit> at <tmp> line 1
Xliff I can never remember how to do this.
m: sub aa { say "OHAI!" }; my $name = 'aa'; $name()
camelia No such method 'CALL-ME' for invocant of type 'Str'
in block <unit> at <tmp> line 1
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; ::( $name )()
camelia No such symbol 'aa'
in block <unit> at <tmp> line 1
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; ::( "&$name" )() 04:23
camelia OHAI!
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; ::( "\&$name" )()
camelia OHAI!
Xliff m: sub aa { say "OHAI!" }; my $name = 'aa'; ::( "\&$name" )
camelia ( no output )
04:35 Kaiepi joined 04:42 holyghost joined
holyghost hi, good morning 04:42
Kaiepi gm 04:43
04:46 curan joined 04:52 MasterDuke left 04:58 qiqi left 05:19 phogg left 05:20 Xliff_ joined, Xliff left 05:21 skids left
holyghost ok, docs for Bayes::Learn are about done, they're a bit knurky though 05:23
'lo Xliff, good night ! :-)
05:25 phogg joined
holyghost hello phogg 05:25
05:32 qiqi joined 05:39 kurahaupo_ joined 05:41 veesh left 05:42 kurahaupo left
holyghost And the docs of Mathx::Stat have been written too 05:48
I'll upload later on after fixing some tests 05:49
05:51 abraxxa joined 05:52 domidumont joined
Xliff_ m: my $a = 3; my $b = 0; my $c = do given $a { when 3 { Three' }; when $_ % 2.so.nod { 'Even' }; when $b.so.not { 'B'; } default { 'none' }; $c.say 05:55
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3 0; my $c = do given $a { when 3 { Three7⏏5' }; when $_ % 2.so.nod { 'Even' }; when
expecting any of:
infix
infix stopper
Xliff_ m: my $a = 3; my $b = 0; my $c = do given $a { when 3 { 'Three' }; when $_ % 2.so.nod { 'Even' }; when $b.so.not { 'B'; } default { 'none' }; $c.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3.nod { 'Even' }; when $b.so.not { 'B'; }7⏏5 default { 'none' }; $c.say
Xliff_ m: my $a = 3; my $b = 0; my $c = do given $a { when 3 { 'Three' }; when $_ % 2.so.nod { 'Even' }; when $b.so.not { 'B' }; default { 'none' }; $c.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3.not { 'B' }; default { 'none' }; $c.say7⏏5<EOL>
expecting any of:
statement end
statement modifier
statement modifier loo…
Xliff_ m: my $a = 3; my $b = 0; my $c = do given $a { when 3 { 'Three' }; when $_ % 2.so.nod { 'Even' }; when $b.so.not { 'B' }; default { 'none' }; }; $c.say
camelia Three
Xliff_ m: my $a = 5; my $b = 0; my $c = do given $a { when 3 { 'Three' }; when $_ % 2.so.nod { 'Even' }; when $b.so.not { 'B' }; default { 'none' }; }; $c.say
camelia No such method 'nod' for invocant of type 'Bool'. Did you mean 'not'?
in code at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff_ m: my $a = 5; my $b = 0; my $c = do given $a { when 3 { 'Three' }; when $_ % 2.so.not { 'Even' }; when $b.so.not { 'B' }; default { 'none' }; }; $c.say
camelia B
Xliff_ m: my $a = 5; my $b = 0; my $c = do given $a { when 3 { 'Three' }; when $_ % 2.so.not { 'Even' }; when $b.defined && $b.so.not { 'B' }; default { 'none' }; }; $c.say 05:56
camelia B
Xliff_ m: my $a = 5; my $b; my $c = do given $a { when 3 { 'Three' }; when $_ % 2.so.not { 'Even' }; when $b.defined && $b.so.not { 'B' }; default { 'none' }; }; $c.say
camelia none
05:58 abraxxa left
Xliff_ m: my $a = 5; my $b; my $c = do given $a { when > 3 { 'Three' }; when $_ % 2.so.not { 'Even' }; when $b.defined && $b.so.not { 'B' }; default { 'none' }; }; $c.say 05:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Preceding context expects a term, but found infix > instead.
at <tmp>:1
------> 3= 5; my $b; my $c = do given $a { when >7⏏5 3 { 'Three' }; when $_ % 2.so.not { 'Ev
05:59 ChoHag left
Xliff_ m: my $a = 5; my $b; my $c = do given $a { when $_ > 3 { 'Three' }; when $_ % 2.so.not { 'Even' }; when $b.defined && $b.so.not { 'B' }; default { 'none' }; }; $c.say 05:59
camelia Three
05:59 abraxxa joined 06:03 sauvin joined, abraxxa left 06:17 abraxxa joined
holyghost I've uploaded Mathx::Stat 0.2.9 to CPAN, docs are in now, enjoy! 06:18
the cpan-p6 bot is stupid with my additions, it'll show up much later 06:19
cpan-p6 New module released to CPAN! Mathx::Stat (0.2.9) by 03HOLYGHOST 06:21
06:21 xiaoyafeng joined
holyghost ^-- ah ok, nm 06:22
It seems the bot parses my additions correctly again 06:28
Geth doc: a795b55476 | (JJ Merelo)++ | doc/Type/Proc.pod6
Fixes pid definition, closes #2821
06:31
synopsebot Link: doc.perl6.org/type/Proc
holyghost *lol*, go JJ ! :-) 06:32
06:47 feldspath joined 06:52 feldspath left, feldspath joined 07:13 [Sno] left 07:18 feldspath_ joined 07:19 feldspath left 07:28 feldspath_ left, zakharyas joined 07:30 feldspath_ joined 07:32 feldspath_ left 07:33 feldspath_ joined 07:36 arkaitz joined 07:37 arkaitz left
lizmat clickbaits p6weekly.wordpress.com/2019/05/20/...tters-may/ 07:41
07:43 dakkar joined
cpan-p6 New module released to CPAN! Bayes::Learn (0.2.5) by 03HOLYGHOST 07:55
holyghost ^-- includes docs, enjoy!
^-- I just need to add some more tests
07:58 feldspath_ left 07:59 vrurg left 08:00 kurahaupo_ left
Xliff_ m: my @a = <a b c d>; .say for @a.keys; 08:10
camelia 0
1
2
3
08:12 qiqi left
Xliff_ m: sub a ($a, $b, :$c!) {}; &a.arity.say; 08:14
camelia 2
Xliff_ m: sub a ($a, $b, $c) {}; &a.arity.say;
camelia 3
Xliff_ m: sub a ($a, $b, $c?) {}; &a.arity.say;
camelia 2
08:16 qiqi joined 08:42 antoniogamiz joined
antoniogamiz o/ 08:42
08:43 veesh joined 08:50 yqt joined 09:04 kanbas joined 09:22 Ven`` joined
Ven`` o/ 09:22
09:27 rindolf joined 09:30 kanbas left 09:31 takside joined 09:33 reach_satori left 09:39 feldspath_ joined 09:52 Ven``` joined 09:54 Ven`` left 10:06 cono joined
cono hi all, does any1 know why slurp definition dissapeared from Configure.pl ? Undefined subroutine &main::slurp called at Configure.pl line 48. 10:08
timotimo huh, a version or features pragma got lost? 10:10
oh, you may have to re-run Configure.pl in moar, nqp, rakudo, and perhaps do some aggressive submodule updating or something?!
10:12 domidumont left
cono previously I was needed just do Configure.pl --gen-moar --gen-nqp --backends=moar --make-install 10:12
now it fails for me, if I put sub slurp { local $/; ...} it works 10:13
10:13 xiaoyafeng left
timotimo "git submodule status"? 10:16
cono 5f0a01ae29557c533ab39d34a8ca6bce235ec091 3rdparty/nqp-configure (remotes/origin/HEAD) 10:17
10:18 gabiruh left, reach_satori joined
timotimo that means it's checked out and at the right revision, right? 10:19
yes, indeed
cono yup
timotimo odd. why does it b0rk on your machine but not in CI? 10:20
oh, also, slurp isn't behind "use feature", it's an actual module, isn't it 10:21
cono dunno, I usually write it by my own, for 3 lines of code, no need to use module :D 10:22
I'm building rakudo on 3 different machines, and on all 3 its broken :(
2 linux boxes and 1 mac
timotimo perhaps it's just --gen-moar or --gen-nqp that's broken and nobody else uses it?!
cono could be 10:23
timotimo lib/NQP/Config/Rakudo.pm
9:use NQP::Config qw<slurp read_config cmp_rev system_or_die run_or_die>;
cono where is this lib/NQP ? 10:24
timotimo that module has slurp in its @EXPORT_OK, but i don't see a "use" corresponding to slurp
that's in build/ i think
and the one with the EXPORT_OK in it is in 3rdparty-nqp-configure/lib/NQP/Config.pm
cono grep "NQP::Config " Configure.pl : use NQP::Config qw<system_or_die>; 10:26
NQP::Config qw<system_or_die slurp>;
fixes the problem
10:28 reach_satori left
timotimo it looks like slurp is only used when a config.default exists? 10:28
cono yeah 10:29
timotimo i don't seem to have that
cono `/usr/bin/perl Configure.pl "--gen-moar" "--backends=moar" "--make-install" $*`
pretty usable
timotimo oh, you put that in there and then just running Configure.pl without arguments uses what's in there? 10:30
cono yup 10:31
github.com/rakudo/rakudo/pull/2911
timotimo merged 10:32
TYVM
cono :thumbsup:
timotimo does nqp have the same problem?
10:34 reach_satori joined 10:41 reach_satori left
cono let me re-run and check 10:41
everything works 10:43
10:54 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo ok, cool 10:56
11:14 qiqi left 11:16 noisegul_ is now known as noisegul 11:26 zakharyas left 11:27 antoniogamiz left, kensanata joined 11:29 reach_satori joined 11:38 domidumont joined 11:42 domidumont1 joined 11:45 domidumont left 11:55 MilkmanDan left 11:57 wanderer_ joined
wanderer_ Hello! 11:57
11:57 MilkmanDan joined
wanderer_ I found some time to try out Perl 6. The task I set for myself was a user-defined operator symbol for subfactorial as in en.wikipedia.org/wiki/Derangement. 11:59
AlexDaniel :) 12:00
wanderer_ Not sure I can copy-paste here.
AlexDaniel if it's not a single line of code it's better to use gist.github.com/
wanderer_ I’m unto it. 12:01
jast FWIW, gist now requires an account to post, and there are plenty of alternatives that don't 12:02
wanderer_ glot.io/snippets/fcf5jkh4nl/raw/main.pl6 12:04
That’ll do.
Take notice of the anonymous function passed into map... Ugh. 💕😭 12:08
12:19 syb joined
masak wanderer_: `is tighter(&infix:<*>)` -- that's still pretty loose for a prefix :) 12:19
12:20 syb left
masak for example, `!2 ** 3` would mean `!(2 ** 3)` 12:20
against, I think, most people's expectations
aside from that, it looks good, IMO :) 12:21
wanderer_ Thanks!
masak not sure why your prefix:<!> doesn't conflict with the built-in one... 12:22
wanderer_ Are there any published benchmarks for the MoarVM in comparison to some other JIT compiler?
As in benchmarksgame-team.pages.debian.n...-fast.html 12:23
I thought it might. I’m going by intuition. That is literally my first ever script.
cono its getting better every week. I follow it all the time and running my sandbox programs, and really like the progress1 12:26
12:27 john_parr left
wanderer_ masak_: Is it because I must declare the argument type and return type for prefix:<!>? 12:29
Would you also recommend `is tighter(&postfix:<**>`? 12:30
Or `is tighter(&infix:<**>)` or whatever... 12:33
masak I wouldn't anchor it in an infix at all; I'd probably `is equiv(&prefix:<?>)` or some such 12:34
the (tight) prefixes are all on the same precedence level, and that's likely the one you want to be on 12:35
cpan-p6 New module released to CPAN! Term::Form (1.2.4) by 03KUERBIS 12:36
wanderer_ masak_: I’m now trying to get !3**3 to return `8` under `equiv(&prefix:<?>)`. It won’t. Not even under `tighter(&infix:<**>)`. 12:50
12:54 zakharyas joined 12:57 Ven```` joined 12:59 reach_satori left, Ven``` left 13:00 pamplemousse joined 13:05 grayrider left, reach_satori joined 13:08 HarmtH left, [Sno] joined 13:10 reach_satori left 13:11 HarmtH joined 13:14 curan left
lembark I'm working to bencmark Moar now, both on memory use and performance. 13:20
Q: What is an example of what you'd like to do with Perl6?
timotimo oh hey lembark 13:22
good to see you here
wanderer_ Mostly numerical computation.' 13:23
jnthn Also object-y stuff (instantiation, accessors, method calls, etc.) 13:25
Perhaps hash/array bits too, given those are widely used 13:26
13:27 vrurg joined
Ven```` APIs, serving static content too :) 13:27
13:29 sena_kun joined 13:31 [Sno] left
timotimo lembark: have you seen perl6-bench? it has a bunch of microbenchmarks, perhaps there's a little bit of inspiration to be had here or there 13:32
also, will you present the code you're using to us to see if you're using idioms that are slower than what an experienced perl6 user would write? 13:33
lembark Trying it now... 13:35
timotimo wanderer_: did you know about this: 13:42
m: say (^9).combinations(*).elems; say (^9).permutations.elems 13:43
camelia No such method 'Int' for invocant of type 'Whatever'
in block <unit> at <tmp> line 1
timotimo m: say (^9).combinations(9).elems; say (^9).permutations.elems
camelia 1
362880
timotimo oh, haha
not the same thing
Ven```` m: say ^9 .combinations(9).elems 13:45
camelia 1
Ven```` m: say ^9 .combinations(9)
camelia ((0 1 2 3 4 5 6 7 8))
Ven```` I forgot about that. Would've been helpful for some code-golfing techniques... 13:46
wanderer_ m: say 'Is there a built-in REPL in this chat?' 13:48
camelia Is there a built-in REPL in this chat?
wanderer_ Oh, dear...
Yes, there is.
timotimo yup! :) 13:49
wanderer_ I think some of you should contribute Perl 6 programs to _The Computer Language Benchmarks Game_. The language should deserves a spot here: benchmarksgame-team.pages.debian.n...-fast.html 13:52
13:53 [Sno] joined
timotimo if the game wants the fastest version of an algo written in each language, it'd be fine to write programs with lots of nqp:: ops to get more speed but also a program that looks like nothing any regular perl6 user would prite 13:55
write*
13:57 Kaypie joined, |Sno| joined 13:58 dogbert17 joined, Some-body_ joined 13:59 kaare__ joined, feldspath joined 14:00 simcop2387_ joined, jargan joined, titsuki_ joined, nebuchad` joined, oftl_ joined 14:01 klapperl_ joined, markk joined, Woodi_ joined, cosimo_ joined, sca_ joined, MikeyG joined, syntaxma1 joined, broquain1 joined, jeek_ joined 14:02 ccntrq joined 14:03 xi- joined 14:04 andrewalker_ joined, exodist_ joined, robins joined 14:05 fvox joined 14:06 feldspath_ left, sauvin left, Kaiepi left, kaare_ left, SqrtNegI_ left, andrewalker left, dogbert11 left, Actualey` left, klapperl left, DarthGandalf left, robinsmidsrod left, TreyHarris left, llfourn left, jast left, cosimo left, APic left, xi| left, oftl left, Exodist left, go|dfish left, raydiak__ left, markk_ left, sca left, exodist_ is now known as Exodist, Some-body_ is now known as DarthGandalf, jargan is now known as jast, llfourn joined, [Sno] left, syntaxman left, Ekho left, Woodi left, nebuchadnezzar left, ccntrq- left, Mikey_ left, fvox_ left, titsuki left, broquaint left, simcop2387 left, jeek left, simcop2387_ is now known as simcop2387, cpan-p6 left 14:07 cpan-p6 joined, cpan-p6 left, cpan-p6 joined, cgfbee left
timotimo welcome to netsplit time 14:07
14:07 robins is now known as robinsmidsrod, Ekho- joined 14:08 cgfbee joined 14:09 irdr left
Ven```` weeeeeeeee 14:09
14:09 nebuchad` is now known as nebuchadnezzar 14:10 irdr joined 14:12 APic joined, go|dfish joined, TreyHarris joined, sauvin joined 14:13 raydiak__ joined 14:16 domidumont joined 14:18 domidumont1 left 14:19 wanderer_ left 14:36 mowcat joined 14:37 cwilson joined
masak timotimo: today, our guests are... hold on... no, wait... 14:41
Ven````
.oO( Join-part revolving guests )
14:52
timotimo we could brag about how many people come and go 14:57
moritz
.oO( you can /quit any time you like, but you can neeeever /leave )
14:59
15:00 domidumont left
Ven````
.oO( We're in for the long run, but we do take breaks )
15:00
15:01 kurahaupo joined 15:02 khisanth_ left 15:05 aborazmeh left 15:10 Ekho- is now known as Ekho
timotimo m: my @foo is default(1); @foo[2] = 1; my int @bar = @foo 15:13
camelia Cannot unbox a type object (VMNull) to an int.
in block <unit> at <tmp> line 1
timotimo bisect: my @foo is default(1); @foo[2] = 1; my int @bar = @foo
bisectable6 timotimo, Bisecting by exit code (old=2015.12 new=672fd6e). Old exit code: 0
timotimo, bisect log: gist.github.com/e62aa038034a25e2c6...3075fb1236
timotimo, (2018-04-08) github.com/rakudo/rakudo/commit/b5...e884b0d5f6
15:14 khisanth_ joined
timotimo anybody wants to fix this? :) 15:14
sena_kun timotimo, I don't know, but can I help? :) 15:21
6c: my @foo is default(1); @foo[2] = 1; my int @bar = @foo 15:22
committable6 sena_kun, gist.github.com/c4e46c06a5d4da89a4...a30e35cd3f 15:23
timotimo sure you can 15:24
one sec 15:25
github.com/rakudo/rakudo/blob/mast...y.pm6#L656 - this here blindly tries to nqp::unbox_i something in the $!reified of the List, but if there's holes in the list, there'll be a VMNull there 15:26
of course you need to change the code in the script that generates these files
tools/build/makeNATIVE_ARRAY.pm6
sena_kun I see, thanks
do we have a ticket for this? 15:27
timotimo not yet
well
i didn't look
a good fix would also not degrade performance for lists without a default
15:31 reach_satori joined 15:35 feldspath left 15:38 kensanata left 15:49 discord6 left, discord6 joined
sena_kun wasn't able to find such a ticket 15:50
lizmat sena_kun timotimo if you don't feel up to it, make a ticket and assign it to me 15:55
sena_kun lizmat, I am interesting in looking at the code and trying to think, but as I know almost nothing about Rakudo internals, I will be super-grateful for advices. Also, it is very likely that I will be unable to solve the issue and handle it over then. :) 15:56
lizmat sena_kun: works for me
sena_kun I am opening a ticket nonetheless...
m: my @foo; @foo[0] = 5; @foo[2] = 14; my int @bar = @foo 15:58
camelia Cannot unbox a type object (VMNull) to an int.
in block <unit> at <tmp> line 1
sena_kun it seems that `is default` is not even necessary, just a hole is enough
16:01 abraxxa left, abraxxa joined 16:02 Ven````` joined 16:03 Ven````` is now known as Ven``
lizmat sena_kun: I guess the safest would be to *not* bind if the value is nqp::isnull 16:04
sena_kun a ticket is opened at github.com/rakudo/rakudo/issues/2912
16:05 Ven```` left 16:11 yqt left
lembark Q: Is there any way to write a test to prefer ./lib without having to set PERL6LIB prior to executing the tests? 16:13
use lib requires a hard-coded value, which doesn't always work. 16:14
moritz what's wrong with "use lib 'lib';"? 16:15
it makes assumptions about the working directory, but I think that's workable
lembark e.g., ./t/x/y/01-frobnicate.t.
moritz you can use non-constant expressions with use lib, as long as they can be evaluated at compile time 16:16
lembark Rather use FindBin at which point I can use Bin.
I can have the list included via use.
Question is how to add an entry to $*Repo in BEGIN block. 16:17
I may also have multiple dir's above the current one w/in a project. Would like to find things there without having to hard-code and update them every time a new part of the project is added.
is there nothing anywhere which can manage $*REPO? 16:18
16:19 reach_satori left
timotimo lizmat: if you just don't bind anything, then that's rather strange semantics for STOREing into arrays that already have some values in them 16:19
lizmat timotimo: good point :-) 16:20
timotimo lembark: "use lib" is how you manage REPO, i think?
lizmat then we can use nqp::ifnull, we just need to tell the generator somehow what the "empty" value is
timotimo right
can the "is default" also be code that runs to generate value, or just plain values that get cloned? 16:21
lizmat plain values, at least in the current situation
if you make the default a Callable, then that Callable is what you'll get
16:21 cpan-p6 left
lizmat which may be useful for the default case in dispatch tables, specifically when based on hashes 16:22
16:22 cpan-p6 joined, cpan-p6 left, cpan-p6 joined
timotimo right 16:22
moritz lembark: I've looked through github.com/moritz/perl6-all-modules/ for mentions of $*REPO, and most only read it. github/ugexe/Perl6-CompUnit--Repository--Github and github/zostay/p6-CompUnit-DynamicLib might be more interesting to you 16:23
lizmat tries to remember the name of the load balancing algorithm that jnthn had in mind for hyper
timotimo round robin? exponential back-off? TCP slow-start? %) 16:24
none of these make too much sense
moritz winner-takes-it-all 16:25
timotimo first-come-first-worm
i wonder if we should try to re-use the batcher and combiner from HyperSeq for feeds
lembark Checking it now, thank you.
timotimo lembark: you can always "constant thing-to-use = do { #`( this code runs at compile time, because of the ‘constant’ keyword ) }; use lib thing-to-use 16:26
lizmat timotimo: re-use of something we want to re-imagine, does not look very useful 16:27
timotimo my thoughts are that the difference between hyper and feed are in the stages in between, not the beginning and end 16:28
for hyper, you batch the input up and feed them to multiple workers; each worker does the desired work from start to finish and submits to the combiner
for feed, you batch the input up and feed it to the first worker, which does the first bit of work. then the first worker passes the batch to the second worker, and at the end the combiner puts them back together 16:29
lizmat gist.github.com/lizmat/8652e4a403f...2b31cc6ad4 is an implementation of a parallel feed operator
timotimo: ^^
brb& 16:30
timotimo at first look that seems good 16:31
16:32 molaf joined
Geth ecosystem/master: 7 commits pushed by (Steven Lembark)++, (Juan Julián Merelo Guervós)++, lembark++ 16:35
lembark ignore it. simplest fix was to remove FindBin as it lacks a ::. 16:37
Sanity check: if a module is on CPAN can it be located by zef, or is zef restricted to only files in the ecosystem?
16:47 dakkar left 16:49 pamplemousse left, pamplemousse joined
lizmat lembark: zef knows about both 16:51
16:51 abraxxa left
lembark Thank you. 16:51
16:56 |oLa| left 17:10 zakharyas left 17:12 |oLa| joined
sena_kun lizmat, how to run makeNATIVE_ARRAY correctly? 17:12
lizmat perl6 tools/build/makeNATIVE_ARRAY.p6 <src/core/native_array >new && mv new src/core/native_array.pm6 17:15
oops
perl6 tools/build/makeNATIVE_ARRAY.p6 <src/core/native_array.pm6 >new && mv new src/core/native_array.pm6
sena_kun also, there is a thing I don't understand... 17:16
moritz quantum field theory? :D
sena_kun in the code that throws we are using Array(my @foo; @foo[1] = 5;), but the suggested place for a patch is for List candidate... So I was wondering about this one. 17:17
moritz, yup,this one too.
17:18 |oLa| left
lizmat sena_kun: hmmm... maybe we don't need the @values candidate then ? 17:19
worth a try :-)
lucs Can I run 'bisect' in a private channel? 17:27
timotimo you can do it in #whateverable
17:29 |oLa| joined 17:30 |oLa| left 17:31 robertle joined
lucs timotimo: What's that channel for exacty? 17:31
timotimo the whateverable bots
17:32 Ven``_ joined
lucs Sure, mais encore? (pardon my French, but it's really the best question :-) 17:32
Lets say: tell me more.
Is it just a place to poke those bots more privately than here? 17:33
17:33 vrurg left
sena_kun lucs, yes, to not spam this channel with a lot of queries 17:34
lucs Makes sense, thanks.
sena_kun lucs, it isn't too "private" as it is a public channel, but if you don't want to disturb anyone, that's the rigt channel
*right 17:35
lucs Welp, turns out my bisection turned up no problem, yet I do have a problem here (perhaps due to my 32-bit system here -- will attempt to bisect here). 17:37
timotimo it's also the channel for whateverable development
like, debugging versions of the bots will go there, but not in the other perl6 channels
17:38 coldforged joined
coldforged hello everybody.. 17:38
i just joined to check up on perl6
sena_kun coldforged, o/
17:38 nadim joined
coldforged and am wondering if there's a stable version i can use in production? 17:38
of freebsd 11 servers 17:39
/of/on/
timotimo aye, you can run the rakudo star releases, they are stable
coldforged oh great! been wanting to get started on it. been using perl since the 90's for alsorts of things, including web apps 17:40
as i understand it, 6 is something different from the previous versions 17:41
is it in the freebsd ports tree already? 17:43
timotimo i'm not sure about bsd, but we have someone working on bsd stuff
Kaypie: can you help? 17:44
coldforged oh i see it is! :) lang/rakudo
timotimo cool 17:45
coldforged then it's just a question if it's the current one
bsd ports are always behind a little
Kaypie i'm pretty sure it's in ports but it's an old version 17:46
17:46 Kaypie is now known as Kaiepi
coldforged so i'd have to get a release and compile it myself 17:46
Kaiepi on openbsd and netbsd they're at least a year old, which is before 6.d 17:47
yes
coldforged these ones will do? rakudoport.sourceforge.net/
17:48 feldspath joined
coldforged ah wait. that's the ports again. 17:48
is there a page that will tell me what to install if i go with source? as i see it, there's a couple of things i will have to compile and install 17:49
like parrot, rakudo.. 17:50
moritz parrot is dead
sena_kun parrot is no longer a thing for a while. there is an instruction at perl6.org/downloads/ <- see "installing from sources"
moritz as a rule of thumb, everthing about perl 6 that mentions parrot is sufficiently out of date to best be ignored 17:51
coldforged maybe if i understand it all better, i can make a port (or at least a tgz file) for it
moritz the build order is MoarVM -> nqp -> rakudo
coldforged so, don't bother with parrot and only go for rakudo
17:52 natrys joined
moritz and if you download rakudo from source, and run perl Makefile.pl --gen-moar, it'll download and build MoarVM and NQP for you 17:52
coldforged that's perl.. 5? (the makefile) ;)
i will go and try on a virgin freebsd vm, and see what happend! 17:53
happens..
moritz yes
coldforged thanks for the info! :)
moritz fwiw perl5 is only used at build time 17:54
coldforged i guess that's the case up to the point that perl6 is installed by default in the OS 17:55
at the moment, it's 5 allover
maybe push the fbsd guys a bit and move to 6!
i take it, not all modules of 5 are available in 6.. but is there a thing like cpan up and running for 6 already? 17:57
sena_kun coldforged, 1)Perl 6 modules can be uploaded on CPAN; 2)there is a github-based ecosystem too that is slightly easier to use, but that's preference; 3)currently most popular package manager works with both; 17:58
timotimo coldforged: if you use a --prefix that's system-wide, please be advised that --gen-moar will build *and install* moar and then nqp, which will fail if you don't have write access. yes, we are aware that doing "make install" during a Configure.pl is bad, but we haven't been able to make it much better yet. 18:01
18:05 pecastro joined 18:07 adu joined
lembark Q: Anyone know where "CompUnit::RepositoryRegistry" is documented? 18:09
18:09 feldspath left
moritz if it's not documented on docs.perl6.org, it's not documented at all 18:09
timotimo yeah, hopefully/likely there are tests 18:10
18:13 Xliff_ is now known as Xliff
Xliff \o 18:13
18:15 sena_kun left 18:16 sena_kun joined 18:27 ravenous_ joined, ravenous_ left 18:28 ravenous_ joined 18:30 sauvin left 18:31 pamplemousse_ joined, pamplemousse_ left 18:33 pamplemousse_ joined 18:34 pamplemousse left, pamplemousse_ is now known as pamplemousse 18:36 natrys left, natrys joined
nadim Evening everyone, I am a bit curious about what a Rakudo::Internals::LoweredAwayLexical is (found in a CallFrame.$.my) as well as ForeignCode (found in a Backtrace) 18:38
18:38 sena_kun left 18:39 sena_kun joined, molaf left
timotimo nadim: the "LoweredAwayLexical" is when a lexical value was decided to not need a full lexical because no inner scopes were accessing it 18:40
nadim ahhhh!
timotimo by the optimizer
nadim timotimo: why differentiate between a lexical that's used in the current scope and one that is not used in inner scopes? 18:46
timotimo locals are a whole lot cheaper 18:47
every frame has one piece of memory for locals ando ne piece of memory for lexicals
when a frame is left, the locals can be thrown away, but lexicals have to be kept around for things like closures
nadim OK 18:48
timotimo and the dynamic optimizer knows more about handling locals compared to lexicals 18:51
nadim and ForeignCode? that poped up in a BackTrace::Frame->$.code->$!do and gotmy dumper in a loop trying to dump it.
Not that I think people are going to use DDT to dump BackTraces ;) 18:52
timotimo i think ForeignCode is more or less just an object you can barely do anything at all with, except maybe invoke it 18:55
19:06 yqt joined, espadrine_ joined 19:08 SqrtNegInf joined, Ven``` joined 19:10 feldspath joined, Ven`` left 19:13 reach_satori joined 19:15 |oLa| joined 19:17 reach_satori_ joined
nadim timotimo++ 19:17
19:19 reach_satori left 19:20 DarthGandalf left 19:21 DarthGandalf joined
coldforged timotimo: ah thnx! :) but i will be installing on a local VM, which i have root privilege on. So no problem with write access :) 19:24
timotimo that will also run the compilation as root, which isn't pretty
i generally just have a --prefix that points into my home directory, in my case ~/perl6/install 19:25
19:25 kaare__ left
coldforged and why not borrow from the ports idea.. you start with perl and do the rest as 'dependencies' with their own install routine 19:25
19:25 kaare__ joined
coldforged what is the problem with running the compilation as root? 19:26
as long as the perl scripts run with the user rights.. 19:27
19:28 ravenous_ left 19:31 |oLa| left
ufobat_ BEGIN and CHECK blocks are compile time? 19:31
lizmat docs.perl6.org/syntax/%20CHECK 19:32
timotimo what the heck is the space in front of CHECK for there? 19:34
coldforged whoah.. i see i have to do some catching up on stuff in 6 alright.. 19:35
lizmat not sure
nadim m: multi sub xx(){} ; say %xx.package
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%xx' is not declared. Did you mean '&xx'?
at <tmp>:1
------> 3multi sub xx(){} ; say 7⏏5%xx.package
coldforged looking at pdf::api6... the api6.pm makes no sense to me in some things lol
nadim m: multi sub xx(){} ; say &xx.package 19:36
camelia (GLOBAL)
19:43 molaf joined
nadim m: class C{multi sub xx(){}} ; dd C ; dd C::xx 19:54
camelia C
Could not find symbol '&xx'
in block <unit> at <tmp> line 1
nadim m: class C{ multi sub xx(){} } ; dd C; dd &C:xx 19:55
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
C:xx used at line 1
nadim m: class C{ multi sub xx(){} } ; dd C; dd &C::xx
camelia C
Any element{'&xx'} = Any
19:56 robertle left
nadim can someoneenlighten me? I though &C::xx would be a sub but it say the above ^ 19:57
timotimo it has to be an "our sub" i think?
m: class C{ our multi sub xx(){} } ; dd C; dd &C::xx
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use 'our' with individual multi candidates. Please declare an our-scoped proto instead
at <tmp>:1
------> 3class C{ our multi sub xx(){}7⏏5 } ; dd C; dd &C::xx
expecting any of:…
timotimo m: class C{ our proto xx(){*}; multi sub xx(){} } ; dd C; dd &C::xx 19:58
camelia C
Sub xx = proto sub xx {*}
timotimo m: class C{ our proto xx(){*}; multi sub xx(){ say "hello"} } ; dd C; dd &C::xx; C::xx()
camelia C
hello
Sub xx = proto sub xx {*}
timotimo ^- out of order because dd goes to stderr and say goes to stdout
nadim m: class C{ sub xx(){} } ; dd C; dd &C::xx 20:00
camelia C
Any element{'&xx'} = Any
nadim m: class C{ method xx(){} } ; dd C; dd &C::xx
camelia C
Any element{'&xx'} = Any
timotimo methods are never in the package
m: class C{ our sub xx(){} } ; dd C; dd &C::xx 20:01
camelia C
Sub xx = sub xx { #`(Sub|76585552) ... }
20:01 yqt left 20:05 johnjohn101 joined 20:06 telex left 20:07 telex joined
nadim where are they then? 20:07
20:07 Kaiepi left 20:08 Kaiepi joined 20:09 ufobat__ joined 20:12 ufobat_ left 20:14 feldspath left
timotimo they are in the metaobject's method table 20:15
m: .name.say for Array.HOW.^roles 20:16
camelia Required named parameter 'local' not passed
in block <unit> at <tmp> line 1
timotimo m: .name.say for Array.HOW.^roles(:local)
camelia No such method 'name' for invocant of type '<anon>'
in block <unit> at <tmp> line 1
timotimo m: .^name.say for Array.HOW.^roles(:local)
camelia <anon>
timotimo ...
20:16 sena_kun left 20:17 xinming joined 20:20 xinming_ left 20:35 natrys left 20:40 netrino_ joined 20:45 molaf left
lucs I have some questions, but I'm not sure what they are...: gist.github.com/lucs/9bf69520a94f8...cdcb451973 20:47
It took me a while to whittle it down to that, and now I must go do a bit of shopping. 20:50
timotimo lucs: hm. spesh/jit/exprjit/something problem?
lucs timotimo: Um, not sure what you mean...
timotimo dynamic optimizer getting confused maybe? 20:51
you can turn it all off with MVM_SPESH_DISABLE=yes or the entire jit with MVM_JIT_DISABLE=1 or only the exprjit with MVM_JIT_EXPR_DISABLE=1
lucs Wow, no idea, really, I don't understand the implementation at all :/
20:51 MasterDuke joined 20:52 MasterDuke left, MasterDuke joined
lucs Okay, I'll try later and let you know -- gotta go get food! 20:52
timotimo good luck!
jnthn Well, if it's on 32-bit then it won't be JIT; the JIT only works on x64 :) 20:53
timotimo true
20:53 Ven``_ left
ugexe that might be bisectable unlike the windows failure 20:54
er, bisectable doesnt do moarvm commits though
timotimo it can give a start at least
20:54 netrino joined
ugexe well if its like the windows failure its the Int optimizations in moarvm from a few days ago 20:54
20:55 netrino left
jnthn If we can figure out one, I guess an immediate workaround will be to #ifdef it to the slower thing on Windows 20:55
*which one
20:55 netrino joined
ugexe yeah i was gonna bisect manually but i can't git clone at the hotel im staying at :/ 20:55
20:55 netrino_ left
jnthn "No noise after 10pm. No dogs. No git clone." 20:56
ugexe or they'll charge me $4 per git clone
timotimo urgh
21:04 molaf joined 21:06 sena_kun joined 21:08 netrino_ joined 21:13 netrino left, netrino_ left, netrino joined
Geth ¦ problem-solving: rba self-assigned perl6-infra: rules and guidelines github.com/perl6/problem-solving/issues/28 21:16
¦ problem-solving: rba assigned to maettu Issue perl6-infra: rules and guidelines github.com/perl6/problem-solving/issues/28 21:17
¦ problem-solving: rba self-assigned perl6-infra: group of services: DNS hosting github.com/perl6/problem-solving/issues/29
¦ problem-solving: rba assigned to maettu Issue perl6-infra: group of services: DNS hosting github.com/perl6/problem-solving/issues/29
¦ problem-solving: rba self-assigned perl6-infra: service: Password handling github.com/perl6/problem-solving/issues/30 21:18
¦ problem-solving: rba assigned to maettu Issue perl6-infra: service: Password handling github.com/perl6/problem-solving/issues/30
21:18 netrino left 21:19 netrino joined 21:20 netrino left, netrino joined 21:24 rindolf left 21:34 espadrine_ left 21:38 feldspath joined
cpan-p6 New module released to CPAN! FileSystem::Parent (0.3.0) by 03LEMBARK 21:45
21:55 pamplemousse left 22:03 stux|RC-- joined 22:05 johnjohn101 left, stux|RC left
ugexe alright im going to bisect via appveyor + rakudo PRs 22:07
noooo 22:12
Configure.pl looks broke on appveyor now 22:13
on moar master
not sure how thats possible
22:13 Ven```` joined
ugexe ah ha, i need a slightly older nqp 22:14
22:15 Ven``` left 22:26 mowcat left
MasterDuke moritz: looks like perl6-all-modules hasn't been updated since april 19th 22:28
22:36 pecastro left 22:38 feldspath left 22:55 netrino left 22:59 gabc left
Elronnd is there something like the expect lib for perl6 23:03
23:04 tobs left 23:06 sena_kun left 23:08 adu left 23:11 Kaiepi left 23:12 Kaiepi joined 23:18 tobs joined 23:28 netrino joined 23:38 aborazmeh joined, aborazmeh left, aborazmeh joined 23:40 Sgeo_ joined 23:43 Sgeo__ left 23:49 DarthGandalf left