»ö« 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 huggable joined, huggable left
RabidGravy I'm wondering whether JVM would work nicer on Raspberry Pi than Moar due to the certain java optimisation on some Arm parts 00:00
00:01 khw left, huggable joined
Skarsnik I kind of want to try on my arm chromebook 00:01
but I don't want to destroy battery consuption with a chroot x)
00:01 bpmedley left
Zoffix huggable, int 00:02
huggable Zoffix, class int [Integer (native storage; machine precision)]: doc.perl6.org/type/type/nativeInt
00:02 lostinfog left
Zoffix huggable, Zoffix :is: awesome 00:02
huggable Zoffix, Added Zoffix as awesome
Zoffix huggable, Zoffix
huggable Zoffix, awesome
Zoffix my job here is done
(anyone can add new factoids BTW)
RabidGravy crack monkey
Skarsnik huggable, Signature
huggable Skarsnik, class Signature [Parameter list pattern]: doc.perl6.org/type/type/Signature
Skarsnik huggable, @*ARGS 00:03
huggable Skarsnik, nothing found
Zoffix It only got types from here: doc.perl6.org/type/
ATM :)
Warframe time
00:04 Zoffix left
RabidGravy Zoffix++ # good work, I hope it's made in Perl 6 00:04
anyway it's bedtime
toodles people 00:05
Skarsnik Good night RabidGravy
00:06 regreg left 00:09 raoulvdberge joined 00:10 RabidGravy left 00:11 raoulvdberge left 00:12 glaukommatos joined, firstdayonthejob left, n0tjack left 00:14 khw joined
glaukommatos Soo, my understanding of the documentation for hash literals [ doc.perl6.org/language/syntax#Hash_literals ] is that I should be able to do my %hash = { three => 3 }; and end up with a hash with key 'three' and value 3 (duh!). However, I get an error from the compiler complaining about a useless use of a hash composer on the right hand side of the assignment. Replacing the curly braces with par 00:16
ens makes things work as I'd expect. However, the wording of the documentation is that the curly braces on a hash literal on the right hand of an assignment with a left side sporting a % sigil are 'optional' and I would expect that the assignment would work as I have typed it. Am I missing something, or is it possible that there is an error in the documentation?
timotimo not quite
either you have my %hash = foo => 123, bar => 999 00:17
or you do my $hash = :{ ... }
Skarsnik {} work to pass to a routine
timotimo that's right 00:18
glaukommatos Interesting. So it seems that the %lhs = ... assignment only works with the naked pairs?
timotimo the only thing you don't want is to assign a { } to a %var
Skarsnik m: sub foo($a, %b); foo(1, {a => 1});
camelia rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xr8pbuZH2w␤A unit-scoped sub definition is not allowed except on a MAIN sub;␤Please use the block form.␤at /tmp/xr8pbuZH2w:1␤------> 3sub foo($a, %b);7⏏5 foo(1, {a => 1});␤»
00:18 cfl_ joined
bzipitidoo Mouq: just trying out the grammar capabilities. Wrote a little code to substitute parentheses with square brackets. gist.github.com/anonymous/4beb237a975e65e6e775 00:18
Skarsnik m: sub foo($a, %b) {}; foo(1, {a => 1});
camelia ( no output )
00:19 cfl_ left
bzipitidoo that snippet of code adds spaces to the output, and I'd like to know how to fix it 00:19
m: gist.github.com/anonymous/4beb237a975e65e6e775 00:20
camelia rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))␤␤* * * * *␤␤[[a [b]] [c [d]]]␤»
Mouq bzipitidoo: Right, I was confused by the output, but the difference is that Perl 6 no longer "say"s lists by printing them with a space between each element; instead it now surrounds them with the bracket type of the list
m: gist.github.com/Mouq/7eb9d723d7f05a511529
camelia rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))␤␤* * * * *␤␤[a [b]][c [d]]␤»
glaukommatos Cool, thanks. I'll try to get in touch with the maintainer of the document and see if we can make that particular bit clearer. :) 00:21
timotimo this channel is the maintainer of that document :) 00:22
Skarsnik you can fill an issue on perl6/doc project on github
glaukommatos Oh, well, that was easy. ~
Mouq m: my @a = [1,2,3]; say @a.perl 00:23
camelia rakudo-moar 75c6b9: OUTPUT«[1, 2, 3]␤»
glaukommatos Skarsnik: Cool, thanks.
Skarsnik m: my @a = [1,2,3]; say @.Str;
camelia rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wbsKzCUQe5␤Variable @.Str used where no 'self' is available␤at /tmp/wbsKzCUQe5:1␤------> 3my @a = [1,2,3]; say @.Str7⏏5;␤ expecting any of:␤ argument list␤ term␤»
Skarsnik m: my @a = [1,2,3]; say @a.Str;
camelia rakudo-moar 75c6b9: OUTPUT«1 2 3␤»
Skarsnik m: my @a = [1,2,3]; say @a.gist;
camelia rakudo-moar 75c6b9: OUTPUT«[1 2 3]␤»
bzipitidoo Mouq: thx. Any idea how to stop it from adding spaces? There are 2 spaces following the 'a' and the 'c'. Should only be 1 space
Skarsnik do you have an empty element? 00:24
gfldex glaukommatos: you may be interested in perl6intro.com/#_functions_and_mutators
the order one reads the docs seams to be quite important
Mouq m: gist.github.com/Mouq/7eb9d723d7f05a511529 00:25
camelia rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))␤␤* * * * *␤␤[a [b]][c [d]]␤»
Mouq Like that?
(see "Revisions" tab for diff)
bzipitidoo Mouq: yes! thx again 00:26
glaukommatos gfldex: Oh, that's interesting. Thanks.
timotimo glaukommatos: do you have a specific suggestion for how to re-word it? 00:27
00:27 ennio left
Skarsnik m: say {a => 1}.WHAT; 00:28
camelia rakudo-moar 75c6b9: OUTPUT«(Hash)␤»
Skarsnik I don't get why you can pass this to a hash
m: say ({a => 1}).WHAT; 00:29
camelia rakudo-moar 75c6b9: OUTPUT«(Hash)␤»
Hotkeys ?
Skarsnik m: say {a => 1}.VAR.WHAT;
camelia rakudo-moar 75c6b9: OUTPUT«(Hash)␤»
glaukommatos timotimo: The current wording is "When assigning to a % sigil variable, the curly braces are optional." However, it seems that "When assigning to a % sigil variable, the curly braces are omitted or parenthesis are used." That seems to describe the behavior I've seen.
gfldex timotimo: the problem is that this part talks about hash literals, what are not hash contains. We do not talk about hash containers. At least not that I could find any. 00:30
timotimo hm
right
glaukommatos Although there's every chance there's a subtlety there that my wording misses. I'm not actually very familiar. But the current wording definitely was confusing to me. 00:31
gfldex m: my %h = {a=>1}; dd %h; 00:32
camelia rakudo-moar 75c6b9: OUTPUT«Potential difficulties:␤ Useless use of hash composer on right side of hash assignment; did you mean := instead?␤ at /tmp/fkDrGvnq_y:1␤ ------> 3my %h = {a=>1}7⏏5; dd %h;␤Hash %h = {:a(1)}␤»
gfldex m: my %h := {a=>1}; dd %h;
camelia rakudo-moar 75c6b9: OUTPUT«Hash % = {:a(1)}␤»
gfldex it's anything but optional
glaukommatos Yeah, it seemed to me that it must not be there. Otherwise the compiler is rather unhappy. :) 00:33
gfldex m: my %h := :{(now)=>1}; dd %h;
camelia rakudo-moar 75c6b9: OUTPUT«:{Instant.from-posix((<868320164499/598>, 0)) => 1}␤»
gfldex m: my %h = :{(now)=>1}; dd %h;
camelia rakudo-moar 75c6b9: OUTPUT«Potential difficulties:␤ Useless use of hash composer on right side of hash assignment; did you mean := instead?␤ at /tmp/TW60OxzoIv:1␤ ------> 3my %h = :{(now)=>1}7⏏5; dd %h;␤Hash %h = {"Instant:1452040452.176621" => 1}␤»
Skarsnik Instant.from-posix, fun 00:34
Hotkeys m: my %h = now => 1; dd %h
camelia rakudo-moar 75c6b9: OUTPUT«Hash %h = {:now(1)}␤»
Hotkeys oops
m: my %h = (now) => 1; dd %h
camelia rakudo-moar 75c6b9: OUTPUT«Hash %h = {"Instant:1452040500.893461" => 1}␤»
gfldex m: my %h{Any} = (now) => 1; dd %h 00:35
camelia rakudo-moar 75c6b9: OUTPUT«Hash[Any,Any] %h = (my Any %{Any} = Instant.from-posix((<630185577139/434>, 0)) => 1)␤»
gfldex also: doc.perl6.org/type/Hash#Hash_assignment
and that is linked from the literals section 00:36
gfldex .oO( PLEASE FOLLOW THE LINKS TO YOUR RIGHT! )
the docs are trying to be more then one thing at a time without issuing a clear warning that they do so 00:37
glaukommatos Ah, the Hash documentation is much clearer. 00:38
gfldex PR send to github.com/tony-o/perl6-http-serve...nc/pull/20 00:40
tony-o: ^^^
24h grace period started before attempt of hostile takeover YARRRR!
dalek c: 6681b73 | coke++ | htmlify.p6:
Localize EVAL scope.

Fixes #300
00:42
glaukommatos Also- should I expect the debugger to crash a lot? In code that uses a few panda modules I get a lot of "Unhandled exception: ctxlexpad needs an MVMContext" errors and I'm not really sure if its the code or the debugger being wonky. 00:44
gfldex glaukommatos: the debugger could do with fixes
glaukommatos K, I just wasn't sure. I should learn more about MoarVM and co and try to fix some stuff. But it's a bit out of my depth. 00:48
tony-o gfldex++ 00:51
thank you
00:52 itaipu left 00:54 sprocket_ left 00:56 orbus left
_nadim is it possible to define a grammar that parses bits for a 8its chars or a stream of bits? 01:01
Skarsnik Good question 01:04
_nadim I did find this for a starter gist.github.com/smls/bc5d0fb42f199574e339 01:05
Skarsnik but good night #perl6
Mouq 'night Skarsnik 01:08
timotimo hmm
m: my %foo = { a => 123, b => 456 }
camelia rakudo-moar 75c6b9: OUTPUT«Potential difficulties:␤ Useless use of hash composer on right side of hash assignment; did you mean := instead?␤ at /tmp/IB9rcCfheX:1␤ ------> 3my %foo = { a => 123, b => 456 }7⏏5<EOL>␤»
timotimo right
Mouq _nadim: There are some libraries that do it without the speculative things in smls++
*'s gist
01:09 yeahnoob joined
_nadim and which are they? 01:09
01:09 Skarsnik left
_nadim I guess you meant non perl libraries 01:09
01:10 n0tjack joined
Mouq github.com/FROGGS/p6-Archive-Tar, although it's a Perl 5 translate so may not be idiomatic 01:10
01:10 virtualsue left, sprocket_ joined 01:11 leont left
Mouq …hm, I'm not sure where others are… years ago I did work on a github.com/Mouq/Image-GIF 01:11
01:11 secwang joined, Sgeo_ joined
_nadim I will look at both, thanks. 01:13
Mouq but in general, what you're asking is NYI... partly because it's been considered low priority, and partly because it's debated
how it should be implemented
_nadim And I want to pick bits in a stream, maybe not even thought of as a usecase 01:14
01:14 Sgeo left 01:15 n0tjack left
Mouq Yeah, having Grammars work on "Cat"s, or streams, is also a long-speculated feature 01:15
_nadim and long speculated meaning, 'soon to be born' or 'forgotten forever'? 01:17
01:18 pierre-vigier joined 01:20 yeahnoob left, yeahnoob joined
Mouq _nadim: A set of goals was made for Christmas, and what wasn't on the list was meant to be more or less pushed aside entirely until then. Christmas just happened, so who knows :) 01:21
Though I'd like to think it's the former, esp. with how often they come up 01:22
01:22 pierre-vigier left
skids _nadim: There are enough people wanting binary grammars that I think it will come to be. But they will probably be byte-aligned at first -- going sub-byte and dealing with endianness at the same time would be biting off more than can be chewed. 01:22
01:22 yeahnoob left 01:23 yeahnoob joined
skids gist.github.com/skids/cfb129509b0849f50deb has some links with thoughts from various people at the end of it. 01:23
colomon oooo, binary grammars 01:43
01:44 Actualeyes joined 01:45 sprocket_ left 01:48 khw left 01:56 xpen joined
gfldex m: my $r = /abc/; (('abc' ~~ /abc/).WHAT, ('abc' ~~ $r).WHAT)>>.say; 01:58
camelia rakudo-moar 75c6b9: OUTPUT«(Match)␤(Bool)␤»
gfldex m: my $r = /abc/; (('abc' ~~ /abc/).WHAT, ('abc' ~~ / $r /).WHAT)>>.say;
camelia rakudo-moar 75c6b9: OUTPUT«(Match)␤(Match)␤»
01:59 cpage_ joined, secwang left
gfldex m: my $r = /abc/; (('abc' ~~ /abc/), ('abc' ~~ / $r /))>>.say; 02:01
camelia rakudo-moar 75c6b9: OUTPUT«「abc」␤「abc」␤»
02:01 cpage_ left 02:02 aartist left 02:05 secwang joined 02:07 molaf_ joined 02:10 molaf left 02:11 n0tjack joined, cpage_ joined 02:12 kaare_ joined 02:16 n0tjack left 02:39 uruwi left 02:42 regreg joined, lichtkind left 02:43 woodruffw left 02:45 ilbot3 left, bpmedley joined
skids gfldex: RT#127071 02:46
02:46 uruwi joined, bpmedley left, pierrot_ is now known as pierrot 02:47 ilbot3 joined, woodruffw joined, bpmedley joined 02:48 bpmedley left 02:49 shmibs left 02:53 woodruffw left 02:54 woodruffw joined, woodruffw left, woodruffw joined 02:55 glaukommatos left 02:57 glaukommatos joined 03:00 secwang left, kaare_ left 03:01 secwang joined 03:02 glaukommatos left 03:03 kid51 left 03:04 glaukommatos joined 03:05 noganex_ joined 03:08 noganex left, shmibs joined, n0tjack joined 03:09 shmibs left 03:10 shmibs joined, jme_ joined 03:13 bpmedley joined, pierrot left 03:14 n0tjack left 03:16 sprocket joined, jme_ left 03:18 psy_ left 03:19 pierrot joined 03:20 psy_ joined 03:23 secwang left 03:25 yqt left 03:28 secwang joined, dylanwh left 03:29 nbrown joined 03:31 dylanwh joined, secwang left 03:54 phyreprooph joined 04:00 _Vi left 04:04 khw joined 04:05 sprocket left
gfldex does Koalatee test for a LICENSE file? 04:05
04:06 _Vi joined 04:09 zwu joined
glaukommatos Ugh, I'm confused. I have a class like 'class Thing { has @.thingies; }', and I try to construct it with Thing.new(thingies => @thingies), but instead of getting @.thingies to be an array in my class, it's an array containing the array I passed in and I cannot for the life of me figure out why. 04:10
I made a simpler example to try to understand how it was working, where I did Thing.new(thingies => [1,2,3]) and it worked fine. :\ 04:11
gfldex m: class C { has @.l; }; my $c = C.new(l => (1,2,3)); dd $c.l; 04:12
camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]␤»
glaukommatos Although I have reproduced the behavior if I use $thingies = [1,2,3] instead of @thingies = [1,2,3]; however, in my original code, I apparently have been given a $thingies and need it to act like a @thingies. :o 04:13
gfldex m: class C { has @.l; }; my @a = 1,2,3; my $c = C.new(l => @a); dd $c.l;
camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]␤»
glaukommatos m: class C { has @.l; } my $a = [1,2,3]; my $c = C.new(l => $a); dd $c.l; 04:14
camelia rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QFQebMhzEG␤Strange text after block (missing semicolon or comma?)␤at /tmp/QFQebMhzEG:1␤------> 3class C { has @.l; }7⏏5 my $a = [1,2,3]; my $c = C.new(l => $a)␤ expecting any of:␤ infi…»
glaukommatos m: class C { has @.l; }; my $a = [1,2,3]; my $c = C.new(l => $a); dd $c.l;
camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [[1, 2, 3],]␤»
timotimo m: class C { has @.l; }; my $a = [1,2,3]; my $c = C.new(l => @$a); dd $c.l; 04:15
camelia rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]␤»
timotimo i ought to be in bed already ...
good night!
glaukommatos Thank you!
gfldex m: say so [1,2,3] eqv (1,2,3); 04:16
camelia rakudo-moar 75c6b9: OUTPUT«False␤»
04:16 SwellJoe left
glaukommatos I'm pretty sure it was actually a [...], because I did .WHAT on it and it said (Array). I need to get more accustomed to the contexts of Perl 6. 04:17
gfldex glaukommatos: if you code doesn't work provide a gist and we can have a look
code-hearsay ain 04:18
code-hearsay ain't no good
glaukommatos It's working now. I guess the @ in front of $a ensures that $a gets interpreted as an array?
timotimo i think it compiles to a call to .list
gfldex @-sigiled contains are ment to have elements of a list as their toplevel items 04:19
what is not the same then to have a List or Array as a top level item.
timotimo $-sigiled things want to be interpreted as a single thing 04:20
that's what you use $ sigils for, usually
however, in many cases, having a single $-sigiled thing as the only argument will iterate over it instead of treating it as a single item
that's the "single argument rule"
gfldex to make things more convenient and allow signature-fu @-sigiled containers spill their content into other @-sigiled containers on assingment
(this is a bit of a lie for children) 04:21
glaukommatos Ah, ok. I think I see what's going on. Thanks. 04:22
04:23 n0tjack joined 04:26 cpage_ left 04:27 phyreprooph left, BenGoldberg joined 04:28 n0tjack left
zacts what would the perl6 equivalent of perl5's Moose be? 04:30
timotimo twitter.com/js_do/status/684566935783096321 - suddenly
04:30 TimToady left
dalek kudo/nom: e353e70 | hoelzro++ | src/Perl6/Compiler.nqp:
Don't always assume there is a problem when loading Readline/Linenoise

The old behavior would warn the user that there was a problem with loading Readline or Linenoise; however, that approach has three problems:
   1) It warns if neither is installed, even if the user doesn't care
   2) It doesn't say which between them failed
   3) It doesn't explain why they failed
This change makes it so that a warning is only issued if at least one of the two modules is installed, but there is some problem in how the module is set up. The warning also now contains the error message so users have more information to go off of
04:31
kudo/nom: 29f49af | hoelzro++ | src/Perl6/Compiler.nqp:
Provide recommendations on how to get a line editor
kudo/nom: 9bf8594 | hoelzro++ | src/Perl6/Compiler.nqp:
Be more transparent about line editor status

This should help users understand what's going on, as well as help the developers diagnose issues with line editors in the REPL
04:35 Tonik joined 04:38 SwellJoe joined 04:42 psy_ left
ugexe the perl6 equivilent of moose is perl6 04:44
you might be interested in reading up on how moose came to be 04:45
gfldex zacts: guess where the moose folk got their ideas from :)
perigrin to be fair Perl6 as it is _now_ got some of the ideas from Moose. 04:46
it's ... ironically ... a meta-circular relationship.
geekosaur "got their ideas from" 04:50
moose was written as a testbed for the perl 6 MOP
and prototype 04:51
and even as slow as it was trying to do MOP stuff in perl 5, it was so much better than anything else for perl 5 that it took on a life of its own
and yes, since then perl 6's MOP has evolved, and Moose's MOP has evolved somewhat differently, and each has taken ideas from the other 04:55
zacts gfldex: heh 04:58
I see
04:59 zwu left 05:01 molaf_ left 05:02 cpage_ joined 05:04 skids left 05:08 nige1 joined 05:17 BenGoldberg left 05:19 pierre-vigier joined
glaukommatos When I use a panda package, is there some really good reason why the installed modules all end up looking like /Users/kyle/.rakudobrew/moar-nom/install/share/perl6/site/sources/D2D23EC3AF921633F7A9E6C0EDC4FC29D8D3D388 ? Or can I make it call it something sensible like GET.pm6 (which is what that file ought to be called). I'm confused. :) 05:21
Also, is there some vm cache or something I can clear out? I had a package insist a moment ago that it couldn't require a module until I edited the file to add a 'say' for debugging purposes, and then it suddenly started working. ~ 05:22
05:23 _mg_ joined 05:24 pierre-vigier left 05:25 n0tjack joined
perlawhirl zacts: here's a paste comparing simple object creation in Moose and Perl 6 pastebin.com/cy4Qh7BE 05:25
It also uses Perl 6's funky unicode operators =D 05:26
glaukommatos Oh, maybe this is a rakudobrew thing. :o 05:27
geekosaur glaukommatos, there is no reliable mapping between a perl 6 module name and the file it is in, because different modules with the "same" name may in fact have different sources (see the auth and ver modifiers, among others).
05:27 _Vi left
geekosaur I believe there is some work ongoing to make the file names reported back look more like what you would expect, but the names in the CompUnitRepo are necessarily mangled to avoid collisions 05:28
and no, rakudobrew has no say in it
05:29 _Vi joined, n0tjack left
glaukommatos Ah, ok. I must have been mistaken when I thought earlier that I was seeing more reasonable file names for stuff I installed with panda. 05:29
05:29 uvtc joined 05:32 vendethiel joined
uvtc glaukommatos, I think panda installs and precompiles modules. I don't know how to tell it, "say, leave me the module's source files so I can nose around in them later". 05:32
05:38 Cabanossi left 05:40 Cabanossi joined
dalek href="https://perl6.org:">perl6.org: ceea8f9 | (John Gabriele)++ | source/downloads/index.html:
de-hyphenize instruction for build panda
05:40
05:48 jme` left 05:52 jme` joined, jme` left 05:55 vendethiel left 05:58 bzipitidoo left 05:59 bpmedley left 06:00 khw left 06:04 geraud left
ugexe rakudo precompiles modules. and the sources are available under their sha1 names at the installation location 06:04
m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('sources').dir[0].slurp 06:08
camelia rakudo-moar 9bf859: OUTPUT«unit class Pod::To::Text;␤␤method render($pod) {␤ pod2text($pod)␤}␤␤my &colored;␤if %*ENV<POD_TO_TEXT_ANSI> {␤ &colored = try {␤ use MONKEY-SEE-NO-EVAL; # safe, not using EVAL for interpolation␤ EVAL q{ use Terminal::ANSIC…»
ugexe m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('dist').dir[0].slurp; # mappings 06:09
camelia rakudo-moar 9bf859: OUTPUT«{␤ "files" : { },␤ "name" : "CORE",␤ "source-url" : null,␤ "provides" : {␤ "NativeCall::Compiler::MSVC" : {␤ "pm" : {␤ "cver" : "2015.11-750-ga860e8f",␤ "file" : "66E443C9581F0554873812D9BB6C914C6498FC81",␤ …»
uvtc Thanks, ugexe, though, I just did `panda install Acme::Meow`, and it installed, but I don't see a Meow.pm anywhere under my ~/.rakudobrew or ~/.perl6. 06:16
06:17 yeahnoob left
ugexe ~/.rakudobrew/moar-nom/install/share/perl6/site/sources 06:17
06:18 glaukommatos left
uvtc Ah, I see. Those files with names like sha sums are the source code files. 06:18
ugexe its a sha1 of Module::Name:ver<xxx>:auth<xxx>:api<xxx> 06:19
06:20 pjscott joined
ugexe github.com/rakudo/rakudo/blob/nom/...ion.pm#L32 06:20
so if you have a module name like Test::(poop emoji) your file system will still be able to save it 06:21
er thats the sha1 of the dist (in the /dist folder, not sources) 06:22
then you look in that file and it will list the sha1 of all the modules it contains and map them to their real names
06:23 CIAvash joined 06:26 n0tjack joined
uvtc Thanks, ugexe. I see the sha1sum in the site/dist/F15BE... file that refers to the site/sources/E307DC... file. 06:26
ugexe m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('dist').dir[0].slurp.&from-json.<provides><Test>; # so Test is in the /perl/sources/<sha1 shown here file>
camelia rakudo-moar 9bf859: OUTPUT«pm => cver => 2015.11-750-ga860e8f, file => 6E6816E2739B8D226785223F56FACCCC5FDCB1F7, time => 1450651719␤»
06:26 TimToady joined
TimToady back after a power failure... 06:26
ugexe for your installed modules change 'perl' to 'site' or 'home'
06:27 yeahnoob joined
uvtc In Perl 6, it seems like variables have an extra level of indirection --- that is, $x points to / refers to a container, which actually contains the value. Is that indeed the case? It reminds me of how Clojure handles mutation: having a name point to, say, an atom, which then contains a value. 06:30
06:31 n0tjack left
uvtc But, unlike Clojure, in Perl 6 you don't need to explicity "decontainerize". In Clojure you have to explicitly deref the container. 06:32
06:33 yeahnoob left 06:36 sjoshi joined 06:37 pjscott left
uvtc Ah. Binding seems to bypass the container. `my @a := <foo bar baz>;` gets me a List rather than an Array, and that list is immutable... 06:40
06:42 perlawhirl left 06:44 CIAvash left 06:45 pjscott joined 06:48 CIAvash joined 06:50 n0tjack joined 06:51 Kcop joined 06:54 Xor_ left, aindilis joined 06:55 n0tjack left
uvtc Though I see there is a [Containers](doc.perl6.org/language/containers) doc, I think it would be a big help if there were an "Arrays and Lists" document as well (or maybe if the Containers doc were just extended to contain a section on Arrays vs Lists). 06:55
07:00 uvtc left, SwellJoe left, pjscott left 07:03 CIAvash left 07:09 domidumont joined 07:13 domidumont left 07:14 domidumont joined, glaukommatos joined
[Tux] g'morning #perl6 07:15
csv-ip5xs 50000 18.357 18.237
test 50000 23.823 23.703
test-t 50000 13.000 12.880
csv-parser 50000 50.138 50.018
07:18 n0tjack joined, pierre-vigier joined 07:21 glaukommatos left
grondilu you can view lists as Perl 6 tuples. 07:25
.tell uvtc also notice there is a whole synopsis about lists: S07 07:27
yoleaux grondilu: I'll pass your message to uvtc.
07:28 FROGGS joined, n0tjack left 07:33 CIAvash joined, yeahnoob joined 07:37 firstdayonthejob joined 07:38 yeahnoob left
FROGGS o7 07:39
07:47 Guest7256 left 07:50 yeahnoob joined 07:52 yeahnoob_ joined 07:53 yeahnoob left, sno left 07:54 nige1 left 07:55 virtualsue joined, asie left 07:59 pierre-vigier left 08:04 pierre-vigier joined 08:14 darutoko joined, Actualeyes left, Actualeyes joined 08:17 glaukommatos joined 08:19 pierre-vigier left 08:22 pierre-vigier joined, glaukommatos left 08:24 RabidGravy joined 08:26 zakharyas joined 08:27 wamba joined 08:32 itaipu joined
RabidGravy erp 08:37
08:39 firstdayonthejob left 08:55 pierre-vigier left, sno joined 08:56 pierre-vigier joined 08:59 aenaxi left 09:00 regreg left 09:03 nige1 joined 09:07 yurivish joined 09:09 TEttinger left
nine .tell orbus The NativeCall test failures are because of issues with passing int8 and uint8 to C and back and because of nativesizeof(SomeStructOrClass) doesn't seem to work correctly. Neither have a high probability of affecting Inline::Perl5, but there may be other issues. 09:10
yoleaux nine: I'll pass your message to orbus.
09:19 glaukommatos joined 09:23 glaukommatos left 09:24 Herby__ joined
Herby__ Hello, everyone! 09:24
FROGGS nine: what failures ooc? 09:25
09:26 zakharyas left
nine FROGGS: apparently we almost support ARM 09:26
paste.scsys.co.uk/503880
Hi Herby__! 09:27
FROGGS nine: I remember nwc10++ mentioning that there were smaller issues on his raspberry I think
Herby__ o/
09:28 n0tjack joined
FROGGS .tell orbus can I get detailed output of the failing tests? like if you'd run perl6 t/04-nativecall/02-simple-args.t etc 09:28
yoleaux FROGGS: I'll pass your message to orbus.
09:32 pierre-vigier left 09:33 rindolf joined 09:35 dakkar joined
masak antenoon, #perl6 09:39
RabidGravy erp
09:41 regreg joined, jme_ joined
Herby__ Hello, masak! 09:42
09:46 AlexDaniel joined
RabidGravy FROGGS, yeah that change to the t/04-nativecall/13-cpp-mangling.cpp is fine for Linux too, I'm just a lazy typist 09:49
:)
nine Oh, jnthn++ blogged twice this week already 09:56
09:57 virtualsue left, pierre-vigier joined 09:58 cognominal left, leont joined
moritz heh, I blogged four times (if you include the Sunday in this week), but not about Perl 6 :-) 09:58
moritz liked jnthn++'s posts 09:59
10:01 n0tjack left
leont Yeah, it seems I'll subtly modify some of my code because of tricks I've seen in his that makes otherwise working code that little bit cleaner 10:05
AlexDaniel POD question! Is there any dedicated syntax to specify the license? Or I should just keep it as a regular comment like in any other language? 10:06
RabidGravy compiles rakudo on the Pi to see what the failing tests are all about 10:08
moritz AlexDaniel: nothing special iirc
10:08 espadrine joined
nine Actually I was looking for jnthn's proposal for how we handle post 6.c. Does anyone have a link handy? 10:08
stmuk_ gist.github.com/jnthn/f3a691016c20f0cc4cfa 10:09
?
nine stmuk_: thanks! I wonder why this isn't listed in gist.github.com/jnthn
stmuk_ its private I think
masak because it's a secret gist
nine: this is not the first time people ask for that gist URL. should we just add it to Rakudo's docs/ ? 10:10
nine masak: on it
masak nine++
dalek kudo/nom: 0a9c3b7 | (Stefan Seifert)++ | docs/language_versions.md:
Add jnthn++'s proposal for handling language versions to docs/
10:11
nine I'm currently investigating how to implement the nested CORE.d setting 10:12
10:12 jme_ left 10:13 espadrine_ joined, espadrine left
masak nice 10:13
I'm currently musing about unquotes and recursion :) 10:14
10:15 espadrine_ is now known as espadrine
AlexDaniel .u 👡 10:21
yoleaux U+1F461 WOMANS SANDAL [So] (👡)
AlexDaniel .u SANDAL
yoleaux U+1F461 WOMANS SANDAL [So] (👡)
AlexDaniel >:(
.u ampersand 10:23
yoleaux U+0026 AMPERSAND [Po] (&)
AlexDaniel .u 🙴
yoleaux No characters found
masak .oO( WOMANS AMPERSANDAL ) 10:24
AlexDaniel m: say join ‘’, (0..0x1FFFF ==> grep { .uniname ~~ m/‘AMPERSAND’/ })».chr
camelia rakudo-moar 9bf859: OUTPUT«&۽⅋﹠&🙴🙵␤»
dalek kudo/nom: 57deadf | RabidGravy++ | / (3 files):
Add name mangling for unsigned types
kudo/nom: 27ac304 | RabidGravy++ | lib/NativeCall/Compiler/MSVC.pm6:
Add mangling for unsigned types (not tested.)
kudo/nom: 70686f9 | RabidGravy++ | t/04-nativecall/13-cpp-mangling.cpp:
Fixes for Windows suggested by FROGGS++
kudo/nom: 95b9163 | FROGGS++ | / (4 files):
Merge pull request #675 from jonathanstowe/cpp-mangle

C++mangling additions
AlexDaniel .u 🔂 10:25
yoleaux U+1F502 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY [So] (🔂)
AlexDaniel .u ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
yoleaux U+1F504 ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS [So] (🔄)
10:26 lnrdo joined
AlexDaniel .u 🔃🗘 10:26
yoleaux U+1F503 CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS [So] (🔃)
10:26 Herby__ left
AlexDaniel come on, what's the difference between the two? 10:26
oh, it is SEMIcircle!
RabidGravy FROGGS++ now I can carry on with the SoundTouch thing :) 10:27
dalek kudo/nom: 505dc4f | FROGGS++ | t/04-nativecall/CompileTestLib.pm:
replace GNU make directive in VM config

I dunno how we got away with this when running the NativeCall tests on Windows using GCC, maybe we did not.
10:29
FROGGS RabidGravy: gcc/windows is also happy
RabidGravy just testing on a raspberry PI :-\ this might take some time 10:30
FROGGS yeah
10:33 skids joined 10:37 yeahnoob_ left
nine Step 1 complete: slaying the build monster. 10:47
Although to do that I had to create another monster: building everything twice :/
stmuk_ jnthn++ # the "bread & butter" type programming is v interesting as well 10:49
masak yes, I am liking the series so far :) 10:52
hadn't thought about overriding .parse and .subparse like that
10:54 lnrdo left, lnrdo joined 10:55 betsyy3 joined, regreg left
ilmari .u U+FBF9 10:56
yoleaux U+FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM [Lo] (ﯹ)
ilmari the longest unicode character name
10:56 pierre-vigier left 11:00 abraxxa joined 11:01 betsyy3 left, pierre-vigier joined 11:02 uhuihuibu joined, n0tjack joined 11:04 abraxxa left 11:06 zakharyas joined, jkramer joined
jkramer Hello 11:06
11:06 uhuihuibu left 11:08 leont left 11:09 ZoffixWin joined
DrForr Afternoon there. 11:09
ZoffixWin RabidGravy, yes, huggable is written entirely in Perl 6. It's essentially my soon-to-be-released IRC::Client::Plugin::Factoid: github.com/zoffixznet/perl6-IRC-Cl.../DESIGN.md 11:11
RabidGravy FROGGS, yeah, the name mangling is fine on a Raspberry Pi too, just going to look at the other NC related fails
ZoffixWin, cool 11:15
ZoffixWin LTA Error:
m: Date.new: "2015-01-01" .. Date.new: "2015-02-02"
camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤ in block <unit> at /tmp/rGcITLj8xY line 1␤␤»
ZoffixWin m: Date.new("2015-01-01") .. Date.new("2015-02-02") # it DOES take positionals
camelia rakudo-moar 505dc4: OUTPUT«WARNINGS for /tmp/7lhcO6wNJR:␤Useless use of ".." in expression ".new(\"2015-01-01\") .. Date.new(\"2015-02-02\")" in sink context (line 1)␤»
11:17 abraxxa joined 11:21 glaukommatos joined
El_Che is a regular Proc (without the Proc::Async.new invocation) run async? I have a weird race condition on serial code 11:22
moritz El_Che: if you open it as a pipe, it's async 11:23
El_Che I do a run, @a_ssh_commands_with_&&_inside
gist.github.com/nxadm/6ef0b373297f6d7531e2 The first call to the method creates a file, a second call checksums it 11:26
11:26 glaukommatos left
El_Che if a call the method serially, to have a 100% success test rate I need to had a sleep in the second ssh command (or before the method call) 11:26
most of the time it works fine without 11:27
11:29 _Vi left
AlexDaniel m: say Date.new("2015-01-01") .. Date.new: "2015-02-02" 11:29
camelia rakudo-moar 505dc4: OUTPUT«Date.new(2015,1,1)..Date.new(2015,2,2)␤»
AlexDaniel ZoffixWin: Somehow I think that the error message in this case should not be better if you have precendence problems 11:30
you are basically trying to do this 11:31
m: say Date.new("2015-01-01" .. Date.new: "2015-02-02")
camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤ in block <unit> at /tmp/DY5fyldNt5 line 1␤␤»
AlexDaniel aaaaaaah wait
m: say Date.new("2015-01-01")
camelia rakudo-moar 505dc4: OUTPUT«2015-01-01␤»
AlexDaniel ZoffixWin: right, indeed, the error message is wrong
El_Che it's probably filesystem related 11:32
AlexDaniel “Default constructor only takes named arguments” I'm not even sure how to interpret this. What is a “default constructor”? 11:33
like… then use non-default consructor please? :) 11:34
11:35 RabidGravy left
ZoffixWin Yes, my qualm is it saying "only takes named arguments," when clearly it does take positionals too 11:36
m: say Date.new("2015-01-01-blarg") 11:37
camelia rakudo-moar 505dc4: OUTPUT«Invalid Date string '2015-01-01-blarg'; use yyyy-mm-dd instead␤ in block <unit> at /tmp/J1mwVBXtBN line 1␤␤»
AlexDaniel m: say Date.new("2015-01-aa")
camelia rakudo-moar 505dc4: OUTPUT«Invalid Date string '2015-01-aa'; use yyyy-mm-dd instead␤ in block <unit> at /tmp/HFyAY4wUKB line 1␤␤»
AlexDaniel m: say Date.new("2015-01-99")
camelia rakudo-moar 505dc4: OUTPUT«Day out of range. Is: 99, should be in 1..31␤ in block <unit> at /tmp/aFfu51hZcc line 1␤␤»
ZoffixWin m: say Date.new(42)
camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤ in block <unit> at /tmp/FSlXiPHUJb line 1␤␤»
AlexDaniel m: say Date.new("2015-02-99")
camelia rakudo-moar 505dc4: OUTPUT«Day out of range. Is: 99, should be in 1..28␤ in block <unit> at /tmp/p48uhoOqId line 1␤␤»
AlexDaniel fine!
ZoffixWin: well, will you submit a ticket? The error message could be better 11:38
ZoffixWin In fact, this is another thing: inconsistency
m: say Date.new(now.Int)
camelia rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments␤ in block <unit> at /tmp/c12NFHqs4v line 1␤␤»
ZoffixWin m: say DateTime.new(now.Int)
camelia rakudo-moar 505dc4: OUTPUT«2016-01-06T11:39:03Z␤»
ZoffixWin Hm. K, I can see why it wouldn't like an epoch. Never mind
AlexDaniel, yeah, I'll submit it in an hour or so
FROGGS ZoffixWin: does it perhaps miss a proto method new? 11:39
11:41 kaare_ joined 11:42 n0tjack left 11:44 nige1 left 11:47 lizmat joined
nine El_Che: yes, I think that run call is async. You need to close .out before you can read the exitcode. 11:47
11:49 abraxxa left, joydo left 11:50 abraxxa joined 11:51 pierre-vigier left
El_Che nine: it was a remote-VM-on-NFS-slow-FS issue 11:51
11:51 jkramer left
nine ah ok 11:53
11:53 bpmedley joined
nine El_Che: But what I said is still true. Have a look at src/core/IO/Pipe.pm method close. It's what sets the Proc object's status (exitcode) 11:55
El_Che nine: thx. I will do that
mm 11:57
reading the exit_code before .out.slurp-rest seems to work 11:58
nine Maybe the command does not actually output anything? 11:59
Then I guess the file handle would be closed automatically.
El_Che it does (a checksum)
11:59 bpmedley left 12:01 _mg_ left
El_Che anyway, I went with your suggestion and added a explicit out.close 12:01
however, I still read the exit status *before* reading and closing the out
12:02 xpen left, Skarsnik joined 12:04 guest1_ joined, guest1_ left
Skarsnik Hello 12:07
nine Good morning Mr. Skarsnik. I wish you a very safe and productive day. 12:10
Skarsnik Hey nine, is there a way to unregister a module at run time, to reload it again with require? Like the delete in @INC entry in p5 to reload module file 12:14
12:15 kid51 joined
nine I seem to remember from tha backlog that you already found the %!loaded hash that prevents this. Thing is, I don't know what else might be in the way. I don't know how the compiler would react seeing symbols go away or worse: symbols staying but the code behind them being replaced. 12:16
Anyway what's your use case? 12:17
Skarsnik plugins
like for an irc bot
typicaly you don't want to disconnect/Reconnect a irc bot to change stuff 12:18
12:18 regreg joined
pdcawley Gah! I so want to do: "> my $foo = 20\n > my $f<TAB>" in the REPL and have '$foo' as one of the expansion options. Is enough of the runtime/parse state available anywhere to be able to do that?" 12:19
I realise that "my $foo;\\nsay $f<TAB>" isn't going to work for a while, but still... this would be nice. 12:21
(And similarly nice for editors)
12:23 glaukommatos joined 12:26 pierre-vigier joined 12:27 glaukommatos left 12:29 sftf joined, pierre-vigier left 12:30 kid51 left 12:32 lnrdo left 12:33 lnrdo joined 12:38 lnrdo left 12:41 SwellJoe joined, ZoffixMobile joined 12:42 bpmedley joined
ZoffixMobile nine, well, there's a wider usecase: developing a module for an application that takes a long time to load. For example, every change I make for an IRC bot plugin, I have to reconnect to the server. This is exacerbated by every error in the code that requires restarts. 12:43
12:43 n0tjack joined
ZoffixMobile Being able to reaload a piece of code without bringing down the whole application would significantly speed up development. 12:43
12:44 pjscott joined, pjscott left
lizmat ZoffixMobile Skarsnik : could you perhaps try with EVALFILE and see how that works out ? 12:45
nine Ok, the naive approach of just including the CORE.setting code in CORE.d.setting doesn't work out that well. I'm almost glad ;) 12:46
12:46 ZoffixMobile left 12:49 hankache joined
nine But that leaves the question of if I can actually stack those outer_ctx 12:49
hankache m: cmp-ok 3, '<', 4, '3 is less than 4';
camelia rakudo-moar 505dc4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q7D1yMDC1n␤Undeclared routine:␤ cmp-ok used at line 1␤␤»
hankache what am i doing wrong ? ^^
nine m: use Test; cmp-ok 3, '<', 4, '3 is less than 4'; 12:50
camelia rakudo-moar 505dc4: OUTPUT«not ok 1 - 3 is less than 4␤␤# Failed test '3 is less than 4'␤# at /tmp/mfSHeViAQK line 1␤# Could not use '<' as a comparator␤»
FROGGS m: use Test; cmp-ok 3, &[<], 4, '3 is less than 4';
hankache nine++
camelia rakudo-moar 505dc4: OUTPUT«ok 1 - 3 is less than 4␤»
FROGGS m: say &[<]
camelia rakudo-moar 505dc4: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|47415424>}|75017024) ... }␤»
hankache FROGGS++ in the docs it says that i can enclose them in quotes 12:51
12:51 nige1 joined
hankache doc.perl6.org/language/testing#By_...comparison 12:51
FROGGS hmmm, I hope the docs are wrong here
unless...
nine try EVAL "&infix:<$op>" 12:52
hankache m: use Test; cmp-ok 3, '==', 3, '3 is less than 4';
camelia rakudo-moar 505dc4: OUTPUT«ok 1 - 3 is less than 4␤»
12:52 sftp left
FROGGS m: use Test; cmp-ok 3, &infix:("<"), 4, '3 is less than 4'; 12:52
camelia rakudo-moar 505dc4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6mzD1DIHXC␤You can't adverb ␤at /tmp/6mzD1DIHXC:1␤------> 3use Test; cmp-ok 3, &infix:("<")7⏏5, 4, '3 is less than 4';␤»
hankache == works in quotes
FROGGS ewww
of course
hankache m: use Test; cmp-ok 3, '==', 3;
camelia rakudo-moar 505dc4: OUTPUT«ok 1 - ␤»
FROGGS EVAL "&infix:<$op>" does not work well for "<" 12:53
12:53 abraxxa left
nine That option should never have been included 12:53
FROGGS m: my $inf = '<'; say &infix:«$inf»
camelia rakudo-moar 505dc4: OUTPUT«Use of uninitialized value $inf of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in code at /tmp/dRHiaJCijD line 1␤5===SORRY!5=== Error while compiling /tmp/dRHiaJCijD␤Undeclared rout…»
12:53 Guest64716 left
FROGGS m: BEGIN my $inf = '<'; say &infix:«$inf» 12:53
camelia rakudo-moar 505dc4: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|47415424>}|70642896) ... }␤»
hankache nine what option. cmp-ok ? 12:54
12:54 Guest64716 joined
FROGGS hankache: to be able to pass a string 12:54
12:54 _Vi joined
llfourn does anyone else get the SORRY! printed out three times when you have a compilation error? 12:55
hankache FROGGS nine so should i always use &[operator] ? 12:56
lizmat llfourn: I don't see it generally
FROGGS llfourn: rt.perl.org/Public/Bug/Display.html?id=127176
hankache: yes
hankache FROGGS nine thanks
FROGGS hankache: because then you resolve the op at compile time
which is safer and faster
llfourn FROGGS: cheers 12:57
hankache Danke :)
FROGGS :o)
hankache did i say it right?
FROGGS yes
lizmat hankache: think so
hankache hiya lizmat
lizmat hankache o/
FROGGS lizmat: what do you say? 12:58
lizmat Dank je
Dank je wel
FROGGS ahh, k :o)
12:58 _nadim left
lizmat Danke 12:58
hankache opening google translate
lizmat Danke schön
12:58 _nadim joined
lizmat the local dialect where we live, is more like the German "Danke" 12:59
FROGGS languages are awesome
hankache how many languages do you speek? 13:00
13:00 lnrdo joined
hankache speak* 13:01
lizmat speaks Dutch, English, German and French (sort of) 13:02
13:03 xpen joined
hankache speaks Arabic, French and English 13:03
ilmari speaks Norwegian, Finnish and English
FROGGS well... German and English mostly... had Russian at school and can still say what my name and age is :D 13:04
hankache hehe
ilmari aurum pointed out at yapc::eu last year that whenever she hangs out with perl geeks, the conversation at some point turns to languages or linguistics
13:04 Ch0c0late left
FROGGS but besides that I like the fact that German (Latin / Central European) words, you can understand much of other languages 13:04
(besides French)
hankache oh lol 13:05
FROGGS err, my sentence was rubbish actually
but I really enjoy these intersections between languages 13:06
stuff like Kindergarden or Doppelgängers just to name some
hankache do they feel more like dialects of the same language?
FROGGS the languages itself not, just the words 13:07
ilmari english doesn't just borrow words from other languages. it knocks them out, drags them into an alleyway and goes through their pockets for loose vocabulary and grammar.
lizmat well, you could certainly argue that for Dutch/German, I feel
FROGGS like numbers etc
ilmari: *g*
13:08 xpen left
lizmat Well, German's "handy" would be another example of confusion :-) 13:09
FROGGS true
just explained that yesterday to my 6 year old
lizmat wonders why that never took off in the english speaking world
seems so logical :-)
hankache what is handy?
FROGGS also how the German seems to be called by the Polish 13:10
lizmat hankache: the question is really "what is a handy" :-)
FROGGS hankache: mobile phones are handy :o)
ilmari hankache: in german: a mobile phone. in english: a handjob
FROGGS O.o
hankache oh!
well in my country we use that word, it means cordless phones 13:11
13:12 ZoffixW joined, lnrdo left
ZoffixW lizmat, no love with EVALFILE. Redeclaration error: gist.github.com/zoffixznet/3185815f60f72eaf34e4 13:12
13:12 lnrdo joined
lizmat well, then we will first have to fix that, I think :-) 13:12
hankache ok back to work. Nice chatting with you guys & gals 13:13
Skarsnik ZoffixW, try delete GLOBAL::Foo:delete ?
13:14 pierre-vigier joined
FROGGS m: use MONKEY-SEE-NO-EVAL; my $str = 'class Foo { }'; say EVAL $str; GLOBAL::<Foo>:delete; say EVAL $str 13:15
camelia rakudo-moar 505dc4: OUTPUT«(Foo)␤(Foo)␤»
hankache ah another question.
how come use-ok work even without loading the module ?
doesn't it only looked if it is installed? 13:16
FROGGS m: use MONKEY-SEE-NO-EVAL; my $str = 'my $x = rand; class Foo { method bar { $x } }'; say (EVAL $str).bar; GLOBAL::<Foo>:delete; say (EVAL $str).bar
camelia rakudo-moar 505dc4: OUTPUT«0.944414178283907␤0.0629416904039236␤»
ZoffixW Skarsnik, nah. No error, but changing the Foo.pm6 doesn't change the output of the program
hankache **does it it only look if it is installed?
FROGGS hankache: no, it does an EVAL "use $thing" 13:17
13:17 pierre-vigier left
ZoffixW hankache, in P5, it actually loads the module for you. I don't see that part of the behaviour in P6, but I don't see why you need to `use` a module just to check whether it's `use`able :) 13:17
(loads the module so you can use its functions in the scope of your test)
FROGGS nods 13:18
hankache thanks :)
ZoffixW I am not saying it should. Just asking
13:19 CIAvash left
ZoffixW FROGGS, seems your code is cheating somehow 13:20
hankache see ya later #perl6
13:20 hankache left
ZoffixW If I put that class in a file and eval it with EVALFILE or EVAL 'Foo.pm6'.IO.slurp; I don't get the changed value 13:20
As in this: gist.github.com/zoffixznet/d8ed10c0be4dd19bfe8e 13:22
FROGGS ZoffixW: drop that -MFoo ? 13:23
and then access Foo as ::('Foo') after the EVALFILE 13:24
ZoffixW OMG! It works!
FROGGS++
FROGGS \o/ 13:25
13:26 virtualsue joined
FROGGS though I bet you cannot precomp the module that does the EVALFILE... at least not today 13:26
ZoffixW Sweet. I've successfully reloaded a module in a testcase :) Gonna see how well the method applies in real world code. This is what worked BTW: gist.github.com/zoffixznet/47f908a2cc42681472df
FROGGS, that's a minor issue, considering it takes me ~10 seconds to reconnect to the server every time there's a syntax error in my module :P 13:27
FROGGS yeah
ZoffixW heh, I see someone fixed DateTime.new not taking an Instant. That was fast :D 13:28
m: say DateTime.new: now
camelia rakudo-moar 505dc4: OUTPUT«2016-01-06T13:28:50.290566Z␤»
El_Che nine: the out.close and exit status weirdness comes down to this bug: rt.perl.org/Public/Bug/Display.html?id=125757 13:29
13:29 FROGGS left
ZoffixW RT for the LTA error discussed this morning has been created: rt.perl.org/Ticket/Display.html?id=127186 13:32
Affects DateTime too
El_Che so if $proc has a non zero exit status, $proc.out.close will die by design. At the same time you should call $proc.exitcode only after closing out, so you can not make the $proc.close conditional. Head explodes
13:32 ZoffixW left 13:35 n0tjack left
El_Che I suppose I can try-catch the exception, but it feels wrong (I will never get the real exitcode by example) 13:35
13:35 lnrdo left 13:36 lnrdo joined 13:38 lnrdo left, lnrdo joined
mort96 Hey, what exactly is the difference in perl between self and $ in methods? 13:39
lizmat self and $ ? 13:41
what's $ ?
llfourn lizmat: $.method
El_Che does my rambling make sense, if so, you I provide sample code?
lizmat ah, you can interpolate $.method in a string, you cannot do that with self.method unless you use curlies
13:41 Tonik left
llfourn learns something new lizmat++ 13:42
mort96 are they otherwise the same?
lizmat personally, I hate using $.method when it is actually just a method
because it gives you the idea it's an attrbute
llfourn mmm I think self.method and $.attr is a good convention 13:43
mort96 doc.perl6.org/language/classtut#Private_Methods that uses $!myproperty and self!mymethod
lizmat m: class A { method foo { $.say } }; A.foo # yuck
camelia rakudo-moar 505dc4: OUTPUT«(A)␤»
lizmat mort96: $!foo does *not* call a method, it's a direct access to the attribute 13:44
llfourn correction: self.method for methods, $.attr for superclass attr and $!attr for private attrs
(is my convention)
$!attr for local class attributes rahter :) 13:45
lizmat llfourn: sounds very sane :-)
mort96 so, in a class, I have `my Str $!host`, and in the new method, `return self.bless(host => $host)` (where $host is a local variable), and in another method, `say $!host`. That prints "(Str)" to the console, which doesn't seem right 13:51
13:51 n0tjack joined
lizmat mort96: don't you mean "has Str $!host" ? 13:51
El_Che ok,about my rambling: it's a regression (close did not use to throw an exception). I'll append it to the ticket
moritz mort96: you've declared a private attribute, which means it's not settable through .new and .bless 13:52
mort96 right, yes, it's has, not my
arnsholt Also, a custom new() method has to call BUILD on its own
moritz mort96: you can add submethod BUILD(:$!host) { } to make it settable
arnsholt: no
arnsholt: .bless does that
arnsholt Oh!
mort96 ugh, constructors in perl 6 are really weird.
arnsholt I thought it didn't! 13:53
moritz doc.perl6.org/language/objects#Obj...nstruction
llfourn protip: don't use private attributes unless you really want them to be private 13:54
mort96 well, it's properties nobody really has any business knowing 13:55
13:55 n0tjack left
llfourn mort96: I p6 doesn't have a good way of dealing with attributes that in one context are "public" ie you can set them in constructor, but in other contexts they are private. 13:56
s/I //
so I feel your frustration :) 13:57
lizmat feels to me that if you can set an attribute through the constructor, they ate by definition public
mort96 moritz: to have .new take a positional argument, must I then implement it and make it call BUILD and bless manually, or does some magic happen and do things?
El_Che rt.perl.org/Public/Bug/Display.html?id=125757 <- Exception cause chicken-and-egg problem with proc.close and proc.exitstatus
exitcode
moritz mort96: method new($host) { self.bless(:$host) }; submethod BUILD(:$!host) { }
mort96: should be enough
mort96 alright 13:58
llfourn lizmat: you may want to have routines that create the objects to be able to set the attributes but routines that get passed them as an argument nnot be be able to see them IMO
moritz mort96: though it makes your constructors much more composable if you stick to named arguments
llfourn or at least when I program in other languages I use patterns like that 13:59
once I got used to p6 I don't find myself reaching for them
mort96 alright, I'll use named arguments, seems like that's the easiest 14:00
14:02 SwellJoe left
dalek ast: 5e7d2ad | lizmat++ | S32-temporal/Date (2 files):
Add tests for RT #127170
14:03
Skarsnik rip bot that give rt link :(
dalek kudo/nom: fec0619 | lizmat++ | src/core/Date (2 files):
Fix for RT #127170
14:04
moritz RT#127170 14:08
nope, it wasn't the space
Skarsnik Could be cool to have a something to tell that all the class in an unit share the same traits
lizmat moritz: ?? 14:09
Skarsnik module BunchOfClass { class are rw are export; class A {}; class B {}}
lizmat ah, the RT bot... carry on :-) 14:10
afk for a bit &
14:11 jkramer joined
jkramer Ahoy again. 14:11
14:11 glaukommatos joined
Skarsnik could that be done with macro actually? 14:11
jkramer I just started learning about parallelism in P6, and I'm wondern if @array.race(or hyper).grep is supposed to work or not (and why). race/hyper.map works just fine as in the example. 14:12
grep returns an empty list though. 14:13
AlexDaniel Skarsnik: I wonder if anybody ever used macros in Perl 6 successfully…
14:13 virtualsue left
jkramer Also .grep without race/hyper works as well 14:13
Skarsnik AlexDaniel, hi. You did not repport your pg issue!
AlexDaniel Skarsnik: yes, I know. Thanks for reminding 14:14
Skarsnik: I have to research it a little bit before reporting
Skarsnik: I have it written down, so I don't think that I'll forget about it :)
right now I wonder how can I serve binary files with Bailador? 14:15
Skarsnik Still no sessin with Bailador?
AlexDaniel “Type check failed in assignment to $output; expected Str but got Buf”
Skarsnik good question
14:16 glaukommatos left
Skarsnik Probably need to create the http::message yourself? 14:16
AlexDaniel whoooaaa…
14:17 loren joined
Skarsnik Does it take HTTP::Message object in some way? 14:17
loren Hi, #Perl 6~
AlexDaniel Skarsnik: honestly, I have no idea 14:18
Skarsnik: but I feel like it doesn't… 14:19
Skarsnik My feeling with bailaidor that it does not do much aside if you want write json output xD 14:20
loren m: my %hash = a => 1, b => 2; "1" ~~ /^ %hash{'b'} $/; 14:21
camelia rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mFkUzsvMW7␤Missing quantifier on the left argument of %␤at /tmp/mFkUzsvMW7:1␤------> 3my %hash = a => 1, b => 2; "1" ~~ /^ %7⏏5hash{'b'} $/;␤»
loren Does anyone know how to interpolate Hash value to regex match ? 14:22
14:22 pierre-vigier joined
Skarsnik no empty method on Array/List? 14:22
m: my %hash = a => 1, b => 2; "1" ~~ /^ "%hash{'b'}" $/; 14:23
camelia ( no output )
Skarsnik m: my %hash = a => 1, b => 2; "1" ~~ /^ "%hash{'a'}" $/;
camelia ( no output )
Skarsnik m: my %hash = a => 1, b => 2; say "1" ~~ /^ "%hash{'a'}" $/;
camelia rakudo-moar fec061: OUTPUT«「1」␤»
Skarsnik m: my %hash = a => 1, b => 2; say "1" ~~ /^ "%hash{'b'}" $/;
camelia rakudo-moar fec061: OUTPUT«Nil␤»
14:24 donaldh joined
loren m: say ((1, 2, 3)); say ((1, 2, 3),); # and and this little problem 14:24
camelia rakudo-moar fec061: OUTPUT«(1 2 3)␤((1 2 3))␤»
jkramer m: (0..10).grep({ $_.is-prime })
camelia ( no output )
jkramer m: say (0..10).grep({ $_.is-prime }) 14:25
camelia rakudo-moar fec061: OUTPUT«(2 3 5 7)␤»
AlexDaniel Well, at some point I started to realize that if the repo is owned by tadzik then it is potentially dead or just unusable… nvm, don't mind this cryout, I just want to serve a goddamn binary file…
loren Skarsnik, good!
jkramer m: say (0..10).hyper.grep({ $_.is-prime })
camelia rakudo-moar fec061: OUTPUT« it has 0 elements.␤()␤»
loren Skarsnik, thanks
AlexDaniel m: ^10 .grep: *.is-prime
camelia ( no output )
AlexDaniel m: say ^10 .grep: *.is-prime
camelia rakudo-moar fec061: OUTPUT«(2 3 5 7)␤»
jkramer But how do I get hyper/race to work with grep? 14:26
AlexDaniel jkramer: I'm not sure if it works correctly right now, there was a bug report recently
jkramer Hmm ok, I googled this a lot but can't find anything
AlexDaniel ah, actually maybe it works 14:27
jkramer: the bug report I'm referencing to is rt.perl.org/Public/Bug/Display.html?id=127099
say ^10 .grep: *.is-prime
m: say ^10 .grep: *.is-prime
camelia rakudo-moar fec061: OUTPUT«(2 3 5 7)␤»
AlexDaniel m: say ^10 .hyper.grep: *.is-prime 14:28
camelia rakudo-moar fec061: OUTPUT« it has 0 elements.␤()␤»
AlexDaniel m: say ^10 .race.grep: *.is-prime
camelia rakudo-moar fec061: OUTPUT« it has 0 elements.␤()␤»
AlexDaniel what has 0 elements? What's that?
jkramer Yeah that's my problem :) With hyper/race the result is an empty list
AlexDaniel m: say ^1000 .hyper.map: * + 10 14:29
camelia rakudo-moar fec061: OUTPUT«HyperSeq.new␤»
14:29 RabidGravy joined
AlexDaniel m: my @a = ^1000 .hyper.map: * + 10; say @a 14:29
camelia rakudo-moar fec061: OUTPUT«[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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …»
AlexDaniel m: my @a = ^1000 .hyper.map(* + 10).grep(* > 5); say @a 14:30
camelia rakudo-moar fec061: OUTPUT«[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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …»
14:30 pierre-vigier left
jkramer map works just fine, just grep doesn' 14:30
AlexDaniel m: my @a = ^1000 .hyper.grep(* > 5); say @a
camelia rakudo-moar fec061: OUTPUT« it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elem…»
14:31 wamba left 14:32 pierre-vigier joined
AlexDaniel jkramer: rt.perl.org/Public/Bug/Display.html?id=127190 14:35
jkramer Thanks, I'll follow there :) 14:36
AlexDaniel jkramer: you can probably work around it for now 14:37
PerlJam It's not really grep is it?
AlexDaniel m: my @a = ^1000 .hyper.map(*).grep(* > 5); say @a
camelia rakudo-moar fec061: OUTPUT«Cannot call map(HyperSeq: Whatever); none of these signatures match:␤ ($: Hash \h, *%_)␤ (\SELF: &block;; :$label, :$item, *%_)␤ (HyperIterable:D $: &block;; :$label, *%_)␤ in block <unit> at /tmp/stcUrxYN55 line 1␤␤»
AlexDaniel m: my @a = ^1000 .hyper.map({$_}).grep(* > 5); say @a
camelia rakudo-moar fec061: OUTPUT«[]␤»
PerlJam m: say my @a = ^1000 .hyper;
camelia rakudo-moar fec061: OUTPUT« it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elem…»
AlexDaniel hmmm
PerlJam It's hyper/race
AlexDaniel PerlJam: oh!
jkramer AlexDaniel: Don't really need it, I was just playing around with parallelism for learning
I mean, I don't need it right now :)
AlexDaniel m: my @a = ^1000 .hyper.map(* + 10); say @a 14:38
camelia rakudo-moar fec061: OUTPUT«[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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …»
AlexDaniel PerlJam: I'm not sure that I understand. How would you explain this ↑ then? :)
m: my @a = ^1000 .hyper.grep(* > 10); say @a
camelia rakudo-moar fec061: OUTPUT« it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elements.␤ it has 0 elem…»
AlexDaniel just changing map to grep makes the difference
ilmari the "it has 0 elements" comes from a note() in HyperSeq.iterator!block-for-result 14:39
mspo how many threads will hyper create by default? 14:40
14:41 tipdbmp left
jkramer Hahaha, .hyper(degree => 0) just does nothing and never finishes :D 14:42
AlexDaniel mspo: how can you know? :) Ideally it should probably check for various things… Like, it depends on the machine
14:42 pierre-vigier left
mspo also is that the equivilent of a coroutine/goroutine/erlang process/whatever haskell thinggy is called 14:42
jkramer Probably should have a check for that and throw an error :)
AlexDaniel mspo: according to docs it is :batch(64) and :degree(4)
mspo is there a doc on the scheduler for all of this stuff? 14:43
AlexDaniel jkramer: what about negative values? What about Inf? What about NaN?
ah, it is Int, so no Inf and no NaN 14:44
jkramer I think a simple sanity check like > 0 should do :) 14:45
AlexDaniel jkramer: consider submitting a pull request or at least a bug report :)
jkramer Yep, will do :) 14:46
AlexDaniel jkramer++ # thanks! 14:47
14:50 Sm4rkey joined 14:51 Casan joined
RabidGravy surely *threads* it's: 14:51
m: say $*SCHEDULER.perl
camelia rakudo-moar fec061: OUTPUT«ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable)␤»
RabidGravy 16 max
14:53 Sm4rkey left, _nadim left, _nadim joined 14:56 FROGGS joined 14:59 _Vi left
Skarsnik is there an easy way display stuff aligned? like I want to write "int a;" "int b;" "unsigned long int c;" but with a/b/c at the same column 15:01
PerlJam Skarsnik: hit your space bar the appropriate number of times? :) 15:02
15:03 wamba joined
RabidGravy sprintf ? 15:03
mspo RabidGravy: nice
AlexDaniel Skarsnik: perhaps vim/emacs macros can do that? If not, just a little bit of scripting will do :) 15:04
15:04 zakharyas left
Skarsnik In perl6 code xD 15:04
15:04 xpen joined
nine ZoffixWin: just came to me: maybe those plugins for your IRC client shouldn't actually be running in the same process. Imaging having a process per plugin that could be restarted independently. Could also be running in a sandbox for security. 15:05
AlexDaniel Skarsnik: you are generating code with Perl 6 code?
Skarsnik Yes
AlexDaniel oh
RabidGravy wonderful :)
Skarsnik printf could work
AlexDaniel yes, printf should work if you know some stuff ahead 15:06
though I'm interested to see some automated solution that would work for any code, hm
PerlJam It would be nice to have some Text::Autoformat goodness for P6 though. (with plugins to align specific types of text)
AlexDaniel like that ↑, yes
15:06 jme` joined
mspo does perl6 detail any of the perl5 perlform stuff? 15:06
s/detail/retain 15:07
Skarsnik there is the Form module
15:07 cognominal joined
RabidGravy well it's like Perl 3 form stuff that just stuck around through 5 ;-) 15:08
mspo sure
Practical Extraction & Reporting Language 15:09
15:09 _nadim left
RabidGravy I think I've used forms exactly once in Perl 5 15:09
15:09 n0tjack joined 15:10 hankache joined, xpen left
mspo I never did, just read the docs and thought it looked cool 15:10
masak mspo: no, "forms are relegated to a module, not core" seems to have been a decision that was taken on Day 1 for Perl 6, and then not changed :)
hankache hiya #perl6
masak mspo: there's a Form module in the ecosystem, but it's incomplete
mspo but I don't print dot matrix reports :)
masak mathw_: want to work on Form sometime? :) 15:11
mathw_: (together, I mean)
rindolf hankache: hi! Sup?
15:11 glaukommatos joined
hankache hi rindolf, all is well. You? 15:11
rindolf hankache: I was irritated earlier. 15:12
AlexDaniel I've always wondered how did this feature made it through so many versions
rindolf hankache: but now I'm feeling better.
Skarsnik printf does not work, or could you have a right padding?
hankache rindolf oh! I hope all is well now
rindolf hankache: it mostly is.
hankache rindolf Great 15:13
Skarsnik oh %-30s 15:14
hankache rindolf btw great job on www.shlomifish.org/
rindolf hankache: thanks! 15:15
hankache: I still need to properly adapt it to those pesky mobile devices.
15:15 molaf joined 15:16 glaukommatos left
hankache rindolf I think bootstrap is what most people are using these days. Though I am no expert. 15:16
getbootstrap.com/
masak .oO( <mumble>Bootstrap's bootstraps</mumble> ) 15:17
rindolf hankache: Bootstrap makes most sites I browse look the same . :-(.
masak that's because people don't tailor it enough 15:18
rindolf Or at least I think that is what it is.
masak yes, very likely
hankache what are the alternatives by the way? 15:19
15:20 _nadim joined
Skarsnik that look better :) gist.github.com/Skarsnik/003b499ec8a0ad20193d 15:20
hankache wordpress?
i hear they will be dumping PHP for javascript
mspo github.com/mourner/dead-simple-grid
that would be nice (re wordpress)
RabidGravy polymer 15:21
15:21 _mg_ joined
timotimo o/ 15:21
RabidGravy harr!
hankache yo
dalek href="https://modules.perl6.org:">modules.perl6.org: 49b29cc | (Zoffix Znet)++ | modules.perl6.org-init.d:
Explicitly specify PID file

If we don"t, Toadfarm creates it in /tmp and when the build script tries to restart the app, hypnotoad--not finding the pid file in bin/--attempts to cold-start the app and fails due to the port being already taken. Placing the PID file into bin/ makes it find it and do the hot-restart correctly
15:22
15:28 ZoffixW joined
ZoffixW nine, unless there's some IPC super magic in Perl 6 I don't know about, a separate process won't work. My plugins receive the IRC::Client object that has a connected socket as one of its attributes. 15:29
I'd need some abstraction and I don't see the benefit in creating it (well, other than the whole "takes 10seconds to see the change because I have to reconnect to the server") 15:30
jkramer AlexDaniel: rt.perl.org/Ticket/Display.html?id...d776353d3c
15:30 nige1 left
jkramer Took a while because I had to recover my bitcard account :) 15:30
AlexDaniel jkramer: you can just write an email :) 15:31
timotimo a pidfile insied bin/??
that's *weird*
15:31 muraiki joined
ZoffixW timotimo, bin/ not /bin mind you :) 15:31
Skarsnik m: info "Hello"; 15:32
camelia rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kNu9_24r2x␤Undeclared routine:␤ info used at line 1␤␤»
timotimo still weird :)
ZoffixW heh
Skarsnik oh it's note
hoelzro o/ #perl6
ZoffixW \o 15:33
hankache o/
nine True or false? The setting is the outer lexical scope of the compilation unit. 15:34
15:35 sftp joined
dj_goku hi 15:36
ZoffixW \o
hankache o/
\oo/ 15:37
hankache is playing
DrForr Is that you, Zaphod?
llfourn nine: not if your inside an EVAL but I don't know enough to comment on the general idea
timotimo nine: true afaik 15:38
nine So having the CORE setting be the outer lexical scope for the CORE.d setting and this then be the outer lexical scope for the compilation unit should be quite possible, als lexical scopes are very stackable indeed 15:39
timotimo CORE.d? 15:40
nine From docs/language_versions.md: "Additions to the setting will be made in a "nested" setting. That is, a "use v6.d" will load CORE.d.setting or so. It can use augment and supercede in order to effect changes."
I'm trying to figure out how to actually implement that
timotimo ah 15:41
yeah, should be quite doable
nine It's just the "how" that I don't know yet :)
timotimo *cough cough* i'll let someone with more of a clue about the internals handle this question ... %) 15:42
jkramer Is there some sweet syntactic sugar for creating an array of repeating elements? Like x for strings? I.e. [0] x 3 => [0,0,0] or even [1,2,3] x 2 => [1,2,3,1,2,3]
15:43 pierre-vigier joined
timotimo yeah, xx 15:43
15:43 yurivish_ joined
nine timotimo: oh come on. I don't have a clue either :) Yet it's still possible that we can figure this out 15:43
llfourn m: [ 0 xx 3 ].note
camelia rakudo-moar fec061: OUTPUT«[0 0 0]␤»
llfourn m: [ flat 1..3 xx 2 ].note 15:44
camelia rakudo-moar fec061: OUTPUT«[1 2]␤»
nine Most of what I've done since summer is poking at it with a stick and watching how it reacts ;)
llfourn m: [ flat (1..3 xx 2) ].note
15:44 ZoffixW left
camelia rakudo-moar fec061: OUTPUT«[1 2]␤» 15:44
15:44 yurivish left
timotimo :) 15:44
llfourn m: [ flat (1,2,3 xx 2) ].note
camelia rakudo-moar fec061: OUTPUT«[1 2 3 3]␤»
llfourn m: [ flat (1..3) xx 2) ].note 15:45
camelia rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_tkOaoluRP␤Unable to parse expression in array composer; couldn't find final ']' ␤at /tmp/_tkOaoluRP:1␤------> 3[ flat (1..3) xx 27⏏5) ].note␤ expecting any of:␤ postfix␤ stat…»
llfourn m: [ flat (1..3) xx 2 ].note
camelia rakudo-moar fec061: OUTPUT«[1 2 3 1 2 3]␤»
llfourn will stop now
15:46 khisanth_ joined 15:47 pierre-vigier left, sjoshi left
loren m: say ((1, 2, 3)); say ((1, 2, 3),); # why parser treat them difference 15:48
camelia rakudo-moar fec061: OUTPUT«(1 2 3)␤((1 2 3))␤»
timotimo because of the single-argument-rule 15:49
the trailing comma is a way to get "the other" meaning
15:49 Khisanth left 15:50 _nadim left 15:51 khisanth_ left
loren But there is nothing after.. 15:51
RabidGravy nine, y'know that ARM thing this morning, the test is actually mislabeled it's uint16 -> unsigned short that is the problem
nine RabidGravy: are you sure? There were a couple of int8 tests that failed 15:52
unit8 from Perl6 -> C and int8 from C -> Perl6
Wait... uint16 -> unsigned short? That cannot possibly work? 15:53
15:53 psy_ joined
moritz off-topic question: I have a loand EEE PC with Windows XP (yuck, I know), and want to run some linux environment 15:53
what's the best way to do it?
RabidGravy in the t/04-nativecall/02-simple-args.t it say "is TakeUint16(0xFFFE), 11, 'passed uint8 0xFFFE';"
Skarsnik nine, pls can you fix this github.com/rakudo/rakudo/blob/nom/...ll.pm6#L89 it should be char not int x)
moritz I've looked at user-mode linux and colinux, but they both seem to be pretty dormant/old projects, with no new-ish distros supported
any other ideas?
loren maybe msys or cygwin 15:54
or virtual machine
gfldex moritz: does it boot form USB-Sticks?
timotimo loren: if there was something after the , it wouldn't be a trailing comma
moritz gfldex: no; that's the first thing I tried
loren: it doesn't have hardware support for virtualization, and it's rather slow :( 15:55
RabidGravy on ARM it gets, -2 not 65534 (which is weird)
gfldex moritz: as long as it got sufficient ramz you could also use a livecd
moritz I guess I'll take a look at msys
loren moritz, oh, that may be troublesome 15:56
RabidGravy I've got an EEE with ubuntu on somewhere
nine Skarsnik: can do
Skarsnik: why on earth has this been no problem till now?
Skarsnik I think FROGGS add this in rush to have bool/size_t not provocing an error in a part of Moar that does not have definition for it 15:57
nine It works!
nine@sphinx:~/rakudo/src/core_d (language_versions *)> perl6 -e 'use v6.c; CompUnit.test'
Skarsnik try a blame on the file:line?
nine Method 'test' not found for invocant of class 'CompUnit'
nine@sphinx:~/rakudo/src/core_d (language_versions *)> perl6 -e 'use v6.d; CompUnit.test'
it works!
Skarsnik Ohhh
nine It's as straight forward as one can imagine :) 15:58
loren timotimo, what parser do with the first one
jkramer literal: Thanks! 15:59
Skarsnik nine, it probably work because it's only used when bool is in a routine not a struct. and int32 containt enought space for char... 16:00
16:01 donaldh left
jkramer Is there by any chance a p6lint already that looks at my code and tells me what I can do better/shorter/sweeter? 16:01
16:01 CIAvash joined
timotimo loren: the first what? 16:01
Skarsnik nine, I think it's int8 even, not char x) 16:02
loren timotimo, forget it. Thanks for your explanation. Night ..
nine Skarsnik: have you tested the fix?
loren I have to go to sleep now ^_^…………...
Skarsnik I have no idea what kind of bug it provoq
timotimo gnite loren :) 16:03
nine 'char' should be the right answer, as it's on the right hand side of the => and it's the same answer for int8
Skarsnik Oh yeah, it's definitly char
16:04 loren left, khisanth_ joined
dalek kudo/language_versions: 08571f9 | (Stefan Seifert)++ | / (5 files):
First attempt at adding a CORE.d setting
16:08
nine lizmat: ^^^
ilmari .tell DrForr Readline has a bunch of native functions with Int parameter/return types, which NativeCall now complains about 16:09
yoleaux ilmari: I'll pass your message to DrForr.
awwaiid I created a separate Inline::Ruby::Sweet so that Inline::Ruby can avoid magic. Here is a sample session in which I load a ruby JSON file and traverse down to some values via p6 [] calls gist.github.com/awwaiid/a0bbb20c88b3c7f52c2d
16:09 lnrdo left 16:10 lnrdo joined
literal jkramer: hm? 16:10
16:10 khisanth_ is now known as Khisanth
jkramer literal: Something like hlint for haskell or clint for C, but for perl6 16:12
literal not sure I follow
jkramer Something that looks at the source and tells me (for example) that (0..9) can be written as ^10 instead. Or that [0,0,0,0,0] could be written as 0 xx 5. 16:13
literal <jkramer> literal: Thanks! <-- I was just wondering what that was about :) 16:14
jkramer Ohh :D
completion fail, I mean llfourn
Sorry
literal I see
llfourn jkramer: sorry what's up? 16:15
16:15 nige1 joined
llfourn jkramer: hmm we don't have p6lint yet I don't think :) 16:16
though since p6 can parse itself one day we should be able to do it!
16:16 marshyon joined
jkramer Nothing, said thanks for the xx hint earlier and accidentally hit literal instead, lots of confusion 16:17
Alright, then I guess I have to actually learn the idoms myself :D
awwaiid jkramer: also ... idioms are still being invented :) 16:18
gfldex my $method = $!uri.substr(1,$!uri.index('/', 1) // Inf); <-- first time i found good use of Int 16:22
s/Int/Inf/
Juerd I've found several good uses of Inf already. Especially lists that go up to Inf are nice.
16:23 uvtc joined
Skarsnik m: my int32 $a = Inf; say $a; 16:24
camelia rakudo-moar fec061: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/izbEM5ZCzp line 1␤␤»
hankache if i have 2 files in the same directory and one "require" the other how do i do? 16:25
awwaiid hankache: I've been doing: use lib '.'
for modules
uvtc m: my @a = <a b>; my @b = <x y>; @a.push(@b); say @a; 16:26
yoleaux 07:27Z <grondilu> uvtc: also notice there is a whole synopsis about lists: S07
camelia rakudo-moar fec061: OUTPUT«[a b [x y]]␤»
hankache awaiid++
awwaiid++
uvtc Is rakudo behaving as expected there? It seems to disagree with S07.
Juerd Is there a nicer way to write "flat @foo Z ^Inf"?
hankache uvtc yes it is
awwaiid m: my @a = <a b>; my @b = <x y>; @a.push(|@b); say @a; 16:27
camelia rakudo-moar fec061: OUTPUT«[a b x y]␤»
hankache uvtc unless what you want is this ^^
Juerd m: my @a = <a b>; my @b = <x y>; @a.append(@b); say @a;
camelia rakudo-moar fec061: OUTPUT«[a b x y]␤»
awwaiid oh right, I keep forgetting about .append
hankache oh append!!
uvtc hankache: S07 says that it should push @b.elems values onto @a, but what I'm seeing here is that it pushes one value onto @a. 16:28
hankache Juerd++
Juerd I still haven't decided whether I like push(|@b) or append(@b) most.
I really hate having two methods that do almost the same thing
hankache uvtc use append as Juerd did above
awwaiid uvtc: that is a bug in S07; can you point me to the specific section?
Skarsnik append put at the begining and push at the end?
Juerd Imagine every API having two methods, with wildly different names, for every method that takes a list.
alpha123 isnt append just implemented as push(|@b) 16:29
Juerd Skarsnik: No, both at the end. .unshift and .prepend work at the beginning.
uvtc awwaiid: thanks. I filed a bug report github.com/perl6/specs/issues/104 .
Skarsnik oh append flat?
awwaiid uvtc: perfect, thanks!
uvtc awwaiid: my pleasure 16:30
dalek kudo/nom: 2363f35 | (Stefan Seifert)++ | lib/NativeCall.pm6:
Fix possible bool and size_t type mismatch in NativeCall

Spotted by Skarsnik++
nine Skarsnik: ^^^
alpha123 Juerd: I don't think there's anything weird about this. JavaScript for example has push() and concat(), as does Python (append() and +)
(why python uses append for push is beyond me) 16:31
Juerd alpha123: Not weird, just incredibly annoying.
alpha123 Juerd: they do very different things, it just so happens you can get push() to work like append by using list flatten operator
Juerd alpha123: They do the same thing, only interpreting their arguments slightly differently. 16:32
Skarsnik assuming longlong are 8 bits is really weird for me x)
alpha123 mm... technically correct I suppose, but that leads to very different results
Skarsnik *8 bytes I am not even sure if it's true for every arch
Juerd alpha123: But the discussion is useless. The decision has been made and it's not going to be changed.
alpha123 fair
Skarsnik: when is long long not 8 bytes? 16:33
16:33 hanekomu_ left
alpha123 (AArch64, x86_64, and IA64 all have 8 byte long longs) 16:33
16:34 co-gnome joined
Skarsnik long long must contain at least 64 bits. 16:35
uvtc hankache: thanks. 16:36
grondilu : thanks for the pointer to S07. It's nicely written and short. :)
16:36 khw joined
hankache uvtc welcome dear 16:36
timotimo i wonder if buildall has some opportunities for optimization 16:41
16:41 co-gnome left, uvtc left
timotimo i think i'll start by outputting all buildallplans and then time every execution 16:42
like, how many buildallplans are just a single item? how many are empty? how costly are those?
hankache how would you store a txt file in an array, each line being stored as an element ? 16:44
IO.lines ?
timotimo yeah, that's how i'd do it
you may be interested in the chomp named parameter, too 16:45
hankache thanks 16:46
16:46 virtualsue joined 16:47 brrt joined 16:48 bpetering joined
bpetering o/ 16:48
yoleaux 5 Jan 2016 18:46Z <timotimo> bpetering: great to hear we're getting libsodium bindings :)
bpetering regarding libsodium bindings, I have another point of confusion with NativeCall
what's the correct type and signature to get a C library to write back into a string?
brrt \o #perl6 16:49
timotimo bpetering: sounds like you want to have a CArray of int8 or char or something and pass that so it gets passed to the C function as a pointer to the storage area 16:50
bpetering o/ brrt
dalek kudo/language_versions: de5628d | (Stefan Seifert)++ | / (5 files):
First attempt at adding a CORE.d setting
kudo/language_versions: c528f0e | (Stefan Seifert)++ | / (4 files):
Bring back IO::ArgFiles in 6.c and remove it only in 6.d

nine@sphinx:~> perl6 -e 'IO::ArgFiles.new;' nine@sphinx:~> perl6 -e 'use v6.d; IO::ArgFiles.new;' Could not find symbol '&ArgFiles'
nine lizmat: ^^^
bpetering timotimo: I'm trying with a Str (since that's what NativeCall docs say to use for char*)
gist: gist.github.com/bpetering/d30f940f5c3b3369a23e
(also, to my mind it seems like a Buf is the more appropriate type, but I'm just going along with the docs) 16:51
Skarsnik This should work
timotimo Buf works well, too.
really anything with VMArray repr should do the trick
Skarsnik what does it do bpetering ? 16:52
timotimo Str only works well when passed as a const char* (or whatever spelling means "can't change it") or returned from a native routine
since Str will always be encoded for you when passing to a C function 16:53
bpetering $out is empty
timotimo and that means you get a different memory area every time
passing a Str that's supposed to be changed from the C code will not work for that reason
bpetering timotimo: ah. makes sense
16:54 domidumont left
bpetering that clears up one confusion 16:54
Skarsnik hm nc give a copy?
timotimo don't forget Str is actually an opaque array of NFG codepoints 16:55
bpetering yeah, that's why I think Buf makes more sense
timotimo aye
bpetering C doesn't know about NFG codepoints
timotimo right, and exposing NFG codepoints should always be considered a bug in moarvm
16:55 ZoffixW joined
bpetering anyway, changing to "Buf is rw" just segfaults 16:55
timotimo you don't need "is rw" there 16:56
16:56 brrt left
Skarsnik You need to alloc/size the buf correctly 16:56
timotimo "is rw" would give you an extra * for the signature
that, too
bpetering timotimo: thanks, good catch
Skarsnik: give a copy?
ZoffixW Fun example from our Facebook page. Without running the code, predict the output of the program: my $x = time; is-prime(2016 ** 2016 - 15175) and say $x - time;
Skarsnik You can try explicitly-managed on the Str, it change some thing on the string 16:57
timotimo ZoffixW: hm. 0?
ZoffixW timotimo, yeah :)
timotimo our is-prime is very fast due to being the stochastic method
also ... that's not a prime, eh?
ZoffixW timotimo, oh, that's what I first thought too, but nope, that's NOT the answer. The code takes forever to run due to raising to 2016 power and it *is* a prime 16:58
timotimo oh, eh?
ZoffixW timotimo, it's 0 because the expression inside .is-prime() is optimized at compile time to a proper number :)
timotimo m)
excellent
i forgot about compile-time-evaluation 16:59
Skarsnik lol
timotimo yeah, if you have that in a module, the compilation will be slow, but running it will be very fast every time
bpetering Skarsnik: no segfault, but no output either
timotimo: is there a way to size/alloc a Buf without passing a nonsense list (of the appropriate size) to .new? 17:00
timotimo should be able to just set the nth element
Skarsnik yes, like with CArray
NC need a realy CStr type
an unencoded Str type with the nice method of Str but more craw 17:01
17:01 _Vi joined, pierre-vigier joined
bpetering Skarsnik: i suspect so, since perl 6 Strs are not C strings 17:01
my first inclination was to use a Buf though 17:02
timotimo bpetering: i see you didn't revise your gist yet
17:02 lnrdo left, lnrdo joined
dalek osystem: d21b0bc | (Zoffix Znet)++ | META.list:
Add IRC::Client::Plugin::Factoid to ecosystem

IRC::Client plugin providing capabilities of a factoid bot: github.com/zoffixznet/perl6-IRC-Cl...in-Factoid
17:03
bpetering timotimo: updated
17:03 ELBeavers joined
mspo C strings? 17:03
bpetering That works now, since $out[0] == 104
I'm assuming the rest is correct 17:04
Skarsnik Where is my feature to add even ZoffixW!
timotimo bpetering: i didn't know you could write the signature without variables like that ...
bpetering but Buf doesn't do Stringy, is there a clever way to get back to something sayable?
timotimo you'd decode it
ZoffixW Skarsnik, which one?
17:04 Ch0c0late joined
bpetering timotimo: NativeCall seems to have gained a lot of flexibility in the last few months 17:05
someone++ (jnthn?)
ZoffixW Skarsnik, what do you mean?
timotimo bpetering: on the other hand, maybe it just compiles by accident and doesn't work for that reason?
Skarsnik m: sub foo(Str) {say $}; foo("Hello");
camelia rakudo-moar 2363f3: OUTPUT«(Any)␤»
Skarsnik m: sub foo(Str) {say "plop"}; foo("Hello"); 17:06
camelia rakudo-moar 2363f3: OUTPUT«plop␤»
Skarsnik timotimo, NC only care about the type of the param
timotimo hm, OK
Skarsnik Why would the name matter?
bpetering timotimo: nah, language/nativecall explicitly has examples of nameless arguments
ilmari m: sub foo(Str) { say $^a }; foo "Hello"
camelia rakudo-moar 2363f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jIBYm1Cpux␤Placeholder variable '$^a' cannot override existing signature␤at /tmp/jIBYm1Cpux:1␤------> 3sub7⏏5 foo(Str) { say $^a }; foo "Hello"␤»
timotimo i thought perhaps it's syntax for "if the Str type object is passed, invoke this candidate"
bpetering sub RenderBarChart(Str, int, ...
timotimo just like multi sub foo(1) etc
bpetering timotimo: I didn't consider that 17:07
Skarsnik ZoffixW, having pluging in irc::client that add new event
timotimo but it seems to be all right
17:07 lsm-desktop left
bpetering timotimo: I was assuming (unconsciously) that it was similar to old-style C arguments, where the signature doesn't include argument names 17:07
timotimo mhm 17:08
ZoffixW Skarsnik, that's still on the TODO list :)
Skarsnik, the plugins I'm writing ATM let me see what sucks in IRC::Client. And I'm fixing those things
bpetering timotimo: anyway, success! updated gist that works: gist.github.com/bpetering/d30f940f5c3b3369a23e 17:09
Skarsnik Should I only convert const char* in routine call to Str and let the char * as Buf or Array with gptrixie?
bpetering timotimo: setting the Buf length did the trick (though I think there should be a less hacky way to do this)
timotimo: and basically the entirety of libsodium is taking two buffers and writing back into one of them, so I'm happy now :) 17:10
Skarsnik bpetering, new on Buf as nothing to set the size?
bpetering timotimo++ Skarsnik++
Skarsnik *has
bpetering umm, I think it only takes a list of contents
Skarsnik maybe Blob has it? these two class are confusing x) 17:11
bpetering unless there's some undocumented stuff
Blob seems not to have it either 17:12
Skarsnik m: for Buf.^attributes -> $a { say $a.name};
camelia ( no output )
ZoffixW How can I execute a bit of code when my module is `use`ed. Similar to how Perl 5 has sub import { ... }
Skarsnik BEGIN?
timotimo bpetering: you can also just assign 0 xx $len 17:13
Skarsnik: no.
Skarsnik m: for @(Buf.^attributes) -> $a { say $a.name};
timotimo ZoffixW: just put code into the mainline of the modules
camelia ( no output )
ZoffixW Oh, goodie "Constraint type check failed for parameter '$precomp-id'"
bpetering timotimo: that was my other thought
m: my $b = Buf.new(0 xx 12); say $b[11] 17:14
camelia rakudo-moar 2363f3: OUTPUT«0␤»
bpetering timotimo: it works, but seems less than ideal
ZoffixW timotimo, hm. I guess my further question is: is it possible to provide arguments to the `use`? use Foo::Bar 'gibblets';
Skarsnik bpetering, did you try github.com/Skarsnik/gptrixie on your lib? x)
bpetering oooohhhhhhh
writing something like that was in the back of my mind this week, nice 17:15
17:15 lsm-desktop joined
Skarsnik Probably need to figure how to work this Str vs Buf issue 17:15
timotimo ZoffixW: yes, you write an EXPORT sub for that
17:15 pierre-vigier left
bpetering Skarsnik: i'm strongly against strings, since Perl 6 has deliberately moved away from byte semantics 17:15
*strongly against Str
Skarsnik: I suggest using Buf, but figure out some way to set the size more elegantly 17:16
Skarsnik: (I'm surprised that's not there already)
Skarsnik There is an is encoded trait in NC to handle the encode of Str 17:18
but I could probably generate Str in case of const char* and Buf in case of char * only 17:19
in C routine
bpetering Skarsnik: that ought to work, but I think it's confusing (maybe I wouldn't complain, but NativeCall is meant to be... seamless, or something) 17:20
17:21 RabidGravy left
bpetering Skarsnik: but I can't think of anything better off the top of my head, either :o) 17:21
Skarsnik I should maybe output each arg with his full C type definition in comment 17:22
ZoffixW Reported the precomp bug mentioned above: rt.perl.org/Ticket/Display.html?id=127192
bpetering Skarsnik: yes, definitely... I think that should be a best practice for NativeCall code
Skarsnik sadly I can't pick up in the header file. I only get the starting line of the sub defintion xD
17:22 nige1 left
bpetering Skarsnik: otherwise you waste heaps of time looking up definitions when debugging 17:22
Skarsnik bpetering, gist.github.com/Skarsnik/003b499ec8a0ad20193d the output for C struct 17:24
bpetering Skarsnik: is XML the easiest way to get at the AST or whatever? 17:25
17:25 pierre-vigier joined
Skarsnik gccxml is the only tool I manage to have working to ouput the ast 17:25
I tried some stuff based around CLang but nothing work for me x) 17:26
I mean if I had time I should write something based on clang/llvm c++ libs... 17:27
bpetering Skarsnik: that's probably a more reliable way to do it, but takes tuits :) 17:28
Skarsnik anyways. afk for a while :)
bpetering Skarsnik: thanks for your help, and nice work
Skarsnik well compared to nothing, it's better xD
bpetering very much so 17:29
17:30 pierre-vigier left
ZoffixW timotimo, I'm failing to find EXPORT on docs or in the spec. Do you where there are any? Says "&EXPORT sub did not return an Map" and I don't know what it wants me to return 17:30
17:30 hankache left
timotimo a hash-like of symbols the user of the module wants to have in their lexical environment 17:31
17:34 RabidGravy joined
ZoffixW I'm guessing this is it. Gonna document it, if I figure it out: github.com/rakudo/rakudo/blob/0f26...d.nqp#L310 17:36
17:36 abraxxa joined
dalek kudo/nom: c19142c | moritz++ | src/core/Date (2 files):
RT#127186: Improve error message for Dat and DateTime constructor

by adding a proto we can get rid of the Mu.new fallback which produces a misleading error message on dispatch failure
17:37
timotimo thank you, ZoffixW 17:40
ZoffixW I don't know *where* to document though. 17:41
Oh, ffs.. It *is* documented lol :) docs.perl6.org/language/modules#EXPORT
Our search just sucks
17:42 salv0 joined
bpetering ZoffixW: I've found the same thing... maybe for now check out the source files and find | xargs grep? 17:42
moritz git grep is faster :-) 17:43
bpetering moritz: yeah, or that :)
moritz or a google search on site:doc.perl6.org
bpetering that makes me wonder, do we have sensible anchors and so on so Google can link straight to particular sections of the docs? 17:44
that's frequently quite useful
(I'm happy to work on that, how is the build for docs.perl6.org currently set up?) 17:45
17:45 dakkar left
dalek c: d930521 | (Zoffix Znet)++ | doc/Language/modules.pod:
Add index flag for EXPORT
17:45
gfldex m: sub f( &c:(Int) ){}; sub a(Int){}; sub b(){}; f(&a); f(&b);
camelia rakudo-moar 2363f3: OUTPUT«Cannot call 'shift' on an immutable 'List'␤ in sub f at /tmp/8kwRlXv_YW line 1␤ in block <unit> at /tmp/8kwRlXv_YW line 1␤␤»
gfldex LTA error i assume 17:46
ZoffixW I'd say so, considering there's no `shift` in sight :P
gfldex m: sub f( &c:(Int) ){}; sub a(Int){}; sub b(){}; f(&a); # f(&b);
camelia ( no output ) 17:47
gfldex it's a failed type check against the given signature
ZoffixW What's "&c:(Int)"?
gfldex :(Int) is the signature of that callback
or better the "type check" thereof
i shall doc
17:48 nige1 joined
ZoffixW I see. But there's no sub c {}. Shouldn't it cry? 17:48
moritz ZoffixW: &c is the parameter
ZoffixW Oh, it's in the sig
I'm blind :P
17:53 kaare_ left, kaare_ joined
ZoffixW huggable, export 17:55
huggable ZoffixW, nothing found
ZoffixW huggable, EXPORT
huggable ZoffixW, Perform custom logic, take parameters, or generate custom symbols to export on module's `use`: docs.perl6.org/language/modules#EXPORT
ZoffixW \o/
huf, I foresee myself often giving you bot commands in the future... 'huTAB' 17:56
timotimo neato 17:58
bpetering huggable: Buf
huggable bpetering, role Buf [Mutable buffer for binary data]: doc.perl6.org/type/type/Buf
timotimo huggable: NativeCall 17:59
huggable timotimo, nothing found
huf ZoffixW: write an irssi script that recognises bot commands and re-sends them to the bot
and i'll run it
timotimo haha
bpetering "doc.perl6.org/type/type/Buf" has an extra /type I think
huggable: nativecall 18:00
huggable bpetering, nothing found
ZoffixW bpetering, it only knows the Types and the couple of commands I manually told it to remember
18:01 domidumont joined
bpetering ah. it's quite cool regardless 18:01
18:01 xxpor_lap joined 18:02 sftf left
ZoffixW huggable, Buf 18:03
huggable ZoffixW, role Buf [Mutable buffer for binary data]: doc.perl6.org/type/Buf
ZoffixW bpetering++ thanks fixed.
gfldex m: class Foo { has &.callback:(Int) }; 18:04
camelia rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dWnFbmBEuT␤You can't adverb has &.callback␤at /tmp/dWnFbmBEuT:1␤------> 3class Foo { has &.callback:(Int)7⏏5 };␤»
gfldex how do i do that? 18:05
ilmari gfldex: what are you trying to do? specify the signature of the callback?
timotimo i think it only works in function signatures?
ZoffixW m: class Foo { has (&.callback:(Int)) }; sub f(Int){}; my $f = Foo.new; $f.callback = &f; 18:06
camelia rakudo-moar c19142: OUTPUT«Method 'callback' not found for invocant of class 'Foo'␤ in block <unit> at /tmp/G3kPb0YcJn line 1␤␤»
ZoffixW :/
m: class Foo { has ($.bars) }; Foo.new.bars = 42; 18:07
camelia rakudo-moar c19142: OUTPUT«Cannot modify an immutable Any␤ in block <unit> at /tmp/5sqd1TGmjJ line 1␤␤»
ZoffixW What is has ($.bars)?
Oh nm
There's not writable by default
ugexe is there a way other than a black/white list of characters so either the file creation fails, or the check of existence fails? 18:08
Windows: `perl6 -e "'foo:bar'.IO.spurt('test')" # empty file "foo" created` -- `perl6 -e "'foo:bar'.IO.e.say" # True`
18:08 vytas left
ZoffixW :o 18:08
Both of those are bugs 18:09
18:09 bpmedley left 18:10 espadrine left
ugexe .abspath shows C:\blah\blah\foo:bar 18:10
i wondered if the check for existence could somehow compare that against what is actually there
18:12 leont joined
ZoffixW I think it'd need to be more comprehensive thatn black/white list characters only. A filename with just spaces in it is not valid, for example. 18:13
And what's shocking is it works on Linux... and ls -alF fails to show it :o
geekosaur whispers "-b" 18:14
or -1, which at least would clue you in a bit
ZoffixW That works -b
geekosaur oh, -l would imply that anyway 18:15
ZoffixW Oh, it does show up with -alF. It's just not very obvious when it's a single file :P
geekosaur on posix systems any character except / and \0 can be a filename component. but tools like ls will not always do something sensible
18:16 lichtkind joined
geekosaur (interestingly I note gnu ls seems to handle another screw case there: the filename $'\n\n\n' (in bash syntax) shows as '???') 18:17
lichtkind why want to create a directory? 18:20
ugexe the fact the spurt returns True although it does not write anything to it is strange
you dont want to, its to prevent injection attacks
if you use $some-url.basename.spurt(get($some-url)) and it returns true even though it does not create the correct path or write anything to that file it can also lead to problems/confusion 18:22
so even if you think you sanitized the path, how do you actually check 18:23
lichtkind i get
Failed to create directory '/home/lichtkind/.perl6/2015.11-522-g82f273b/dist' with mode '0o777': Failed to mkdir: 13
ugexe my statement was prefixed with "Windows:" 18:24
lichtkind for doing perl6 -I lib c.pl
ZoffixW Where's nqp::open() defined? I see sub open in nqp repo, but it just calls nqp::open :S github.com/perl6/nqp/blob/master/s...IO.nqp#L13
lichtkind i dont get it
18:24 llfourn left
ugexe -Ilib not -I lib 18:24
lichtkind same thing
dalek c: a281cb8 | (Wenzel P. P. Peppmeyer)++ | doc/ (3 files):
doc signature constraints
c: d4cf940 | (Wenzel P. P. Peppmeyer)++ | doc/ (3 files):
Merge pull request #320 from gfldex/master

doc signature constraints
ZoffixW lichtkind, what's c.pl?
lichtkind ugexe i tried many permutations
its a simple print 18:25
jsut testing how it winds modules
ZoffixW gfldex++ # docs
nine lichtkind: that looks like a seriously outdated rakudo version
lichtkind i will recompile but i thought it was fresh 18:26
maybe i always refreshed only on one mashine 18:27
18:29 abraxxa left 18:31 aenaxi joined, abraxxa joined, cygx joined 18:33 SwellJoe joined
cygx ZoffixW: for moarvm, open is defined in github.com/perl6/nqp/blob/master/s....nqp#L2023 and implemented in github.com/MoarVM/MoarVM/blob/mast...rp.c#L3173 calling github.com/MoarVM/MoarVM/blob/mast...ile.c#L457 18:33
18:33 leont left
gfldex m: sub f(Int --> Str){ 'foo' }; say so &f ~~ :(Int --> Str); 18:34
camelia rakudo-moar c19142: OUTPUT«False␤»
ZoffixW Ah, I get how it works now. Thanks, cygx++
I guess I finally have a useful need to learn C heh
ZoffixW tried multiple times in the past, but got bored due to having nothing to code 18:35
lichtkind nine++ shameful i have to admit 18:36
it was old
18:36 pierre-vigier joined
lichtkind it works now 18:36
this version had bug with -T.
this version had bug with -I.
18:37 abraxxa left
ugexe a rigged solution i suppose would be to grep the contents of $dir.IO.dir 18:37
18:39 abraxxa joined 18:40 zakharyas joined
gfldex m: sub f(Int --> Str){ 'foo' }; say so &f.signature ~~ :(Int --> Str); 18:40
camelia rakudo-moar c19142: OUTPUT«True␤»
gfldex slaps gfldex
18:41 abraxxa left 18:42 pierre-vigier left
japhb .tell lizmat Thanks for fixing my Date + role bug! Nice not to have to work around that one. :-) 18:42
yoleaux japhb: I'll pass your message to lizmat.
[Coke] nine++ # use v6.d 18:46
japhb nine: Now that the precomp stuff has settled a bit, what's the recommended way to have a library of local modules to be used for personal scripts, but that doesn't make those scripts really slow to load. Should I be making a library project tree, and 'panda install .' every time I edit one of the libs? If so, is ufo still the right tool for making that project tree locally installable? 18:47
ZoffixW japhb, the first time you use those modules, they'll precompile in the .precomp folder
(i.e. you don't need to install anything)
japhb ZoffixW: So even stuff that's just referred to via -Ilib or RAKUDOLIB or 'use lib "lib"' or so will all precompile properly? 18:48
ZoffixW Yeah
japhb \o/
Oh that makes things way easier.
It does mean that my "rebuild the world" script should probably end by running a child script that 'use's all my local modules, just so I can make sure they are precomped even after a total rebuild (which I do nearly daily) 18:50
18:50 cdg joined 18:51 araujo left
japhb ZoffixW: Er, where does the .precomp folder end up? 18:52
Wait, it ends up in .../rakudo/lib instead of .../rakudo/install/lib ? That seems ... odd. 18:53
Also, how can you tell which modules are loaded from already-precompiled forms, and which had to be compiled on the fly? 18:54
18:54 araujo joined, araujo left, araujo joined
ugexe at the moment, probably have to capture output from RAKUDO_PRECOMP_DEBUG or whatever or check if the sha1 of the source exists as a file at some location 18:55
ZoffixW jdv79, my wild guess is it ends up in the /lib path under which the module was found: gist.github.com/zoffixznet/7678f694d110ad8fd479
nine [Coke]: I'd hoped this would make you happy :) 18:56
cygx if you pass a -I manually, it apparently ends up in the first of those
cygx still hasn't read up on it precompilation :(
s/it// 18:57
ZoffixW A better example: gist.github.com/zoffixznet/2ff5b21a26db9c6453a8
Ah
nine japhb: the major difference between an installation repo and a plain -I is that the former supports versioning, auths and apis. If you use lib or -I or PERL6LIB to load from a plain directory, those modules will always be loaded regardless of requested version or auth. 18:58
ZoffixW I don't really care where it ends up, as long as it works ^_^
nine japhb: other than that, both do precompilation on first load
japhb: when you run with -Ifoo/lib we store precompiled files in foo/lib/.precomp 18:59
japhb: without any PERL6LIB or -I or use lib we store in ~/.perl6
japhb nine: Ah, OK, thank you 19:00
nine japhb: RAKUDO_MODULE_DEBUG=1 or RAKUDO_PRECOMP_LOG=1 may answer questions about which modules had to be precompiled
[Coke] hopes someone takes that ^^ and adds it to a precompilation doc page.
japhb [Coke]: Agreed.
19:01 lnrdo_ joined 19:02 firstdayonthejob joined
ugexe i imagine that will change though to not require storing in a user specific path for every CU::R so it might not be worth documenting yet 19:02
a system wide install for instance 19:03
japhb Woah, RAKUDO_MODULE_DEBUG gives a lot of interesting output, not all of it obvious. Is it documented somewhere, or "use the source, luke"?
RabidGravy my working hypothesis for the t/04-nativecall/13-union.t failing on RPi is that nativesizeof isn't taking the arm's eight byte alignment for eight byte types into account 19:04
19:04 lnrdo left
hoelzro japhb: it probably should be doc'd 19:05
19:05 lnrdo_ left
hoelzro yikes, are any of the RAKUDO_* env vars doc'd? 19:05
I know in MoarVM we're pretty good about it
19:06 nige1 left
hoelzro I wonder if we should have a "VM tuning" doc page that covers RAKUDO_*, MVM_*, and links to some JVM tuning stuff 19:06
19:06 cdg left
timotimo there's not terribly much "tuning" the env vars allow you 19:06
ugexe rakudo jvm on windows fails to install at tools/build/install-core-dist.pl with
japhb is particularly interested whether checking every module 'use' as a pragma first has non-negligable cost, and what "Late loading" and "3766 SET RMD" actually mean
ugexe Missing serialize function for REPR ContextRef D57DE2EF74B56D825F14A3B5B0E6402D49B53D5B C:\Users\Nick\Documents\GitHub\rakudobrew\jvm-nom\install\share\nqp\sources\D57 DE2EF74B56D825F14A3B5B0E6402D49B53D5B Return status 256
japhb hoelzro: +1 19:07
hoelzro ugexe: that happens on *nix too =(
19:07 spider-mario joined
ugexe ah, the travis shows it as passing but thats incorrect i see 19:08
19:11 telex left 19:12 telex joined
b2gills m: #`( reliably backwards, may be useful for testing hyper/race ) my @a; ++@a[5]; say eager (^5).race(:1batch,:5degree).map: {until @a[$_+1] {sleep .001}; sleep .01; ++@a[$_]; $_} # designed so that exact timing doesn't matter, and it runs decently fast 19:13
camelia rakudo-moar c19142: OUTPUT«(4 3 2 1 0)␤»
19:13 pi4 left, pi4 joined
hoelzro ugexe: yeah, travis a liar 19:14
ugexe i think the tap harness is a liar
hoelzro as far as the exit code goes? 19:16
ugexe yeah
nine ugexe: yes, I think we will store all precomp files in ~/.perl6 in the future.
japhb: checking for pragmas is just a hash lookup 19:17
"3766 SET RMD" is $*PID, "CORE setting" and "RakudoModuleDebug" 19:18
ugexe thats a shame
19:18 zakharyas left
diego_k o/ is there any "recommended" module for http client?. I'm using HTTP::UserAgent and it mostly works ok but it always fails when requesting on localhost (but works using 127.0.0.1) :-) 19:19
19:20 llfourn joined
gfldex m: my role Foo { has $.a = 42; }; my $a = sub () {} does Foo; say $a.a; 19:21
camelia rakudo-moar c19142: OUTPUT«42␤»
japhb nine: Ah, OK. What is the "Late loading" thing about. All my modules seem to have that.
japhb keeps ending his questions with a period for some reason .... 19:22
RabidGravy diego_k, remove the ipv6 address from your /etc/hosts for localhost
japhb RabidGravy: It doesn't speak IPv6?
RabidGravy er 19:23
it does, but I bet the http server on localhost doesn't
japhb Ah! I see.
RabidGravy there's an RT on rakudo, it will try to use v6 if it get's a v6 address and fails if it can't connect 19:24
19:25 llfourn left
diego_k RabidGravy: oh!, now it works... I guess I should document it if I release this till that RT is solved, right? 19:25
RabidGravy: thank you! 19:26
japhb nine: Oh wait, "Late loading" just means "Not during bootstrap"? 19:27
RabidGravy I guess so, occassionally the tests for H::UA fail when the DNS returns a v6 address for one of the test hosts
19:29 nige1 joined 19:31 bpmedley joined, pierre-vigier joined
hoelzro I think that problem goes as low as IO::Socket, because I remember panda having that problem when it implemented its own little HTTP client 19:31
nine japhb: exactly
19:33 pierre-vigier left
tony-o suwhy would we store all the precomp files in ~/.perl6 ? 19:33
lichtkind -> is way to high in precedence table
nine tony-o: because precompilation on installation doesn't work anyway, or at least not usefully. And people don't like those .precomp directories. 19:34
RabidGravy hoelzro, yeah, I think it's infact a libuv thing. If it does gethostbyname it just uses the first adress it gets and if that's a v6 address where the socket isn't listening it fails
lichtkind for ^($.row-count - 1) -> $r {
without these braces it does not work
moritz lichtkind: but that's because of relative precendence of prefix:<^> and infix:<-> 19:35
nine lichtkind: after 15 years of adjusting and optimizing those things, I tend to assume that all other options would be worse in other use cases
moritz lichtkind: not because of ->
FROGGS I agree with moritz 19:36
it is not about -> at all
m: say ^10 - 1
camelia rakudo-moar c19142: OUTPUT«-1..^9␤»
FROGGS m: say ^(10 - 1)
camelia rakudo-moar c19142: OUTPUT«^9␤»
ZoffixW wat
m: say 5 - 1
camelia rakudo-moar c19142: OUTPUT«4␤»
RabidGravy it seems the io::socket::inet ignores the AF_ family
ZoffixW m: my @a = ^10 - 1; say @a 19:37
camelia rakudo-moar c19142: OUTPUT«[-1 0 1 2 3 4 5 6 7 8]␤»
ZoffixW *mind blown* Perl 6++
lichtkind but minus is way higher in the table than ^
FROGGS that's a recent addition by TimToady++ btw
AlexDaniel ZoffixW: yeah, that's actually pretty recent
m: my @a = ^10 * 5; say @a
camelia rakudo-moar c19142: OUTPUT«[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]␤»
ugexe why not fix precompilation on install if thats the actual problem?
AlexDaniel m: my @a = 3..5 * 5; say @a 19:38
camelia rakudo-moar c19142: OUTPUT«[3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25]␤»
FROGGS lichtkind: you wanna tell me that an infix is tighter than a prefix?
AlexDaniel m: my @a = (3..5) * 5; say @a
camelia rakudo-moar c19142: OUTPUT«[15 16 17 18 19 20 21 22 23 24 25]␤»
AlexDaniel ok
hmm
m: say (3..5) * 5
camelia rakudo-moar c19142: OUTPUT«15..25␤»
AlexDaniel m: say (3..5)² 19:39
camelia rakudo-moar c19142: OUTPUT«9␤»
AlexDaniel m: say (3..5) % 2
camelia rakudo-moar c19142: OUTPUT«1␤»
19:39 Upasaka left
FROGGS lichtkind: do you mix the prefix - and the infix minus by any chance? 19:40
19:40 renatolrr joined
lichtkind FROGGS no my error was rather seen any other ^ in the table as the one i used 19:40
ZoffixW m: say (3..5) * (3..5)
camelia rakudo-moar c19142: OUTPUT«9␤»
lichtkind I actually dont see that in the table 19:41
ugexe its kind of a step backwards from where we were a year ago
FROGGS lichtkind: but as a rule of thumb: postfix, prefix, infix (from tighter to looser) 19:42
ZoffixW lichtkind, what's the error>?
m: my $row-count = 5; for ^$row-count - 1 -> $r { say $r }
camelia rakudo-moar c19142: OUTPUT«-1␤0␤1␤2␤3␤»
ZoffixW m: my $row-count = 5; for (^$row-count - 1) -> $r { say $r }
camelia rakudo-moar c19142: OUTPUT«-1␤0␤1␤2␤3␤»
FROGGS m: my $row-count = 5; for ^($row-count - 1) -> $r { say $r }
camelia rakudo-moar c19142: OUTPUT«0␤1␤2␤3␤»
lichtkind ZoffixW its fixed by now
FROGGS that's his thinko
ZoffixW What's "thinko"? :) 19:43
dalek osystem: 6345e77 | jnthn++ | META.list:
Add Test::IO::Socket::Async.
masak ZoffixW: a thinking error
ZoffixW: like a typo, but for thoughts
19:43 renatolrr left
ZoffixW ahhh 19:43
masak++
masak I sure hope "thinko" is in S99 ;)
ZoffixW heh yeah: design.perl6.org/S99.html#thinko 19:44
lichtkind FROGGS but ^ is not in the table?
FROGGS lichtkind: show me that table please 19:45
masak I don't know if I agree with "improperly expecting code to DWIM" -- a thinko could be basically anything
FROGGS aye
lichtkind design.perl6.org/S03.html#Operator_precedence
ZoffixW ehe.. Linode got hax0red: blog.linode.com/2016/01/05/securit...ord-reset/
19:46 leont joined
FROGGS m: say &prefix:<^>.prec, &prefix:<->.prec 19:47
camelia rakudo-moar c19142: OUTPUT«prec => v=prec => v=␤»
masak kind of enjoys that the explanation of "ufo" is "see here", with a link that takes you to a README that goes on and on about an alien abduction :P
FROGGS lichtkind: L Symbolic unary ! + - ~ ? | || +^ ~^ ?^ ^
ZoffixW lichtkind, isn't it in the "L Symbolic unary ! + - ~ ? | || +^ ~^ ?^ ^" row?
FROGGS I think the same
ZoffixW lichtkind, which is higher than "L Additive + - +| +^ ~| ~^ ?| ?^"
19:47 Upasaka joined
FROGGS these are our prefixes 19:47
ZoffixW Or wait 19:48
masak prefixes are pretty tight, yes
you wouldn't expect -9 + 1 to come out as -10
lichtkind additive is higher than Structural infix
this it at lease where i thought a single ^ is too
ZoffixW lichtkind, but you're not using a structural infix
PerlJam lichtkind: so ... all the ^ in that bit of the table really just distracted you from the Symbolic Unary line? :) 19:49
ZoffixW m: my $row-count = 5; for 0..^$row-count - 1 -> $r { say $r }
camelia rakudo-moar c19142: OUTPUT«0␤1␤2␤3␤»
ZoffixW lichtkind, ^ that's what that row shows
FROGGS and that minus is looser than the range 19:50
lichtkind it was in one row with | so i thought it was a xor
ZoffixW Is | a xor?
FROGGS lichtkind: that | is for flattening, so it is also a prefix
ZoffixW: no, he thought the ^ is the xor 19:51
lichtkind yes the junctive is lower
ZoffixW Ah
FROGGS lichtkind: your xor is +^ though
or ?^
19:51 ZoffixW left
FROGGS m: say 1 ?^ 0 19:51
camelia rakudo-moar c19142: OUTPUT«True␤»
FROGGS m: say 1 ?^ 1
camelia rakudo-moar c19142: OUTPUT«False␤»
lichtkind sure but there is a junctive xor too
FROGGS you mean the word "xor"? 19:52
lichtkind but when | is junctive or
did they change that?
masak m: class A::B {}; class C { has A::B $.ab .= new } # [RT #126975]
camelia rakudo-moar c19142: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol A::B␤»
lichtkind m: say 1 | 2 19:53
FROGGS lichtkind: | can be either a prefix or infix
camelia rakudo-moar c19142: OUTPUT«any(1, 2)␤»
FROGGS lichtkind: like + can be
lichtkind m: say 1 ^ 2
camelia rakudo-moar c19142: OUTPUT«one(1, 2)␤»
lichtkind sure
19:53 TEttinger joined
lichtkind i just wanted explain my reasoning 19:53
FROGGS yeah, I see now
lichtkind at least i got it now 19:54
thanks for the patience
FROGGS :o)
19:55 ZoffixW joined
n0tjack m: say [\?^] 5..35; 19:56
camelia rakudo-moar c19142: OUTPUT«(5 False True False True False True False True False True False True False True False True False True False True False True False True False True False True False True)␤»
n0tjack m: say [\^] 5..35;
camelia rakudo-moar c19142: OUTPUT«(one(5) one(5, 6) one(5, 6, 7) one(5, 6, 7, 8) one(5, 6, 7, 8, 9) one(5, 6, 7, 8, 9, 10) one(5, 6, 7, 8, 9, 10, 11) one(5, 6, 7, 8, 9, 10, 11, 12) one(5, 6, 7, 8, 9, 10, 11, 12, 13) one(5, 6, 7, 8, 9, 10, 11, 12, 13, 14) one(5, 6, 7, 8, 9, 10, 11, 12, 13, …»
masak ZoffixW++ # rt.perl.org/Public/Bug/Display.html?id=127176 19:59
ZoffixW: I experience that one too sometimes
[Coke] BTW, I wouldn't expect the SYN to be up to date going forward; roast/6.c took over part of it, and the docs site should be taking over the rest. 20:00
dalek c: c3bd982 | (Siavash Askari Nasr)++ | doc/Language/unicode_entry.pod:
Add another way of entering unicode chars in Emacs
c: eb3ba23 | moritz++ | doc/Language/unicode_entry.pod:
Merge pull request #321 from CIAvash/unicode_entry_emacs_rfc1345_input_method

Add another way of entering unicode characters in Emacs
[Coke] is it a sign of precompilation done twice, or of failing during precomp and then failure during execution?
(RT #127176) 20:01
ZoffixW [Coke], would it even get to any execution if compilation failed?
[Coke] not compilation, pre-compilation. :| 20:03
maybe precomp is failing, then comp is failing, is what I'm saying.
n0tjack m: say 4 = one(6,22,07+8i,4,0,-1); 20:04
camelia rakudo-moar c19142: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6.␤ Please use 0o7 if you mean that.␤ at /tmp/j9WMEcfv17:1␤ ------> 3say 4 = one(6,22,077⏏5+8i,4,0,-1);␤Cannot modify an immutable Int␤ in block <unit> at /tm…»
n0tjack m: say 4 = one(6, 22, -7+8i, 4, 0, -1);
camelia rakudo-moar c19142: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/XuFUhZbamb line 1␤␤»
20:04 iml_ joined
n0tjack m: say 4 ~~ one(6, 22, -7+8i, 4, 0, -1); 20:04
camelia rakudo-moar c19142: OUTPUT«True␤»
ZoffixW m: say $x = one(6,22,07+8i,4,0,-1);
camelia rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nhzziI2ZtX␤Variable '$x' is not declared␤at /tmp/nhzziI2ZtX:1␤------> 3say 7⏏5$x = one(6,22,07+8i,4,0,-1);␤»
ZoffixW (still the 0o7 error if you fix the compile error) 20:05
n0tjack I meant comparison, not assigment
ugexe [Coke]: probably github.com/rakudo/rakudo/blob/f3e5...tem.pm#L79
n0tjack just have too many notations in my head right now
ZoffixW Oh, I thought the 4,0,-1 part was the one with error. Missed the 07 bit 20:06
20:07 ZoffixW left
n0tjack that was just a typo; finger hit 0 instead of adjacent - 20:07
20:09 brrt joined
dalek c: fc0732b | moritz++ | / (2 files):
Mention graphviz dependency in README.md and CONTRIBUTING.md

Closes #322
20:12
c: 915df9d | (John Gabriele)++ | CONTRIBUTING.md:
de-hyphenize rakudobrew build-panda
20:13
20:15 domidumont left
ugexe the hyphen was there to differentiate it visually from a perl6 backend, mimicking perlbrew's options 20:15
perlbrew install-cpanm 20:16
20:19 nige1 left, darutoko left 20:21 llfourn joined 20:23 nige1 joined
muraiki users found it confusing 20:26
and "build panda" also worked anyways but was undocumented
20:26 llfourn left
moritz let's hope rakudo never gets a VM backend called "panda" :-) 20:27
20:28 cygx left
masak moritz: don't give people ideas! :P 20:28
20:28 itaipu left
ugexe right, hence visually. so those instructions dont match the usage from rakudobrew (not saying anything about if it works) 20:29
20:32 gugod left, deniska left 20:33 deniska joined, deniska left, deniska joined
ugexe i argued to have build-panda change to build panda in usage long ago when these points were made to me. also it was stated it was confusing to users. so no matter what its going to be confusing to some users 20:33
20:33 nowan_ joined
ugexe so now i think consistency is the least confusing option 20:34
RabidGravy I've just put rt.perl.org/Ticket/Display.html?id=127194 regarding NC test failures on RPi, I had a bit of a dig but couldn't find anything obvious in the code.
20:35 nowan left 20:37 nowan_ left
Juerd What's the nicest way of iterating over two lists? I find "for flat ^Inf Z @things -> $i, $thing { ... }" rather ugly. 20:38
RabidGravy but now the C++ mangling is right for SoundTouch :) 20:39
20:41 nowan joined
Juerd Also, why does @foo Z @bar create lots of 2-element lists, while @foo X @bar creates one big flattened list? 20:41
m: say <1 2> Z <a b>
camelia rakudo-moar c19142: OUTPUT«((1 a) (2 b))␤»
moritz Juerd: instead of ^Inf Z @things you can iterate over @thinks.kv
Juerd m: say <1 2> X <a b>
camelia rakudo-moar c19142: OUTPUT«((1 a) (1 b) (2 a) (2 b))␤»
20:42 vendethiel joined
Juerd moritz: That's great in this specific case, thanks :) 20:42
moritz: But I do think that eventually I'll want to iterate over two named arrays
moritz Juerd: and in general, Z is the right answer
I don't find it particularly ugly either
20:43 uvtc joined
Juerd Ignore my question about Z and X. I wasn't thinking straight. 20:43
moritz: Well, what I find ugly is having to use "flat" and "Z" together.
20:43 _nadim joined
Juerd I find the resulting code hard to read: for flat @foos Z @bars -> $foo, $bar { ... } 20:44
moritz m: my @a = < a b>; my @x = <x y>; for @a Z @x -> ($a, $b) { say "$a $b" }
camelia rakudo-moar c19142: OUTPUT«a x␤b y␤»
moritz Juerd: ^^ a way to avoid the "flat"
uvtc Personally, what makes the most sense to me would be `rakudobrew build --backend=moar` and `rakudobrew install-panda`, but I saw here that the decision was made to remove the hyphen, and it was removed in the rakudobrew readme, so I then went and removed it elsewhere (perl6.org, perl6/doc).
20:45 itaipu joined
Juerd moritz: Oh, that's great! I'd add () around (@a Z @x) for symmetry, but this is a good example. 20:45
Also, I'll update the rosettacode example, because it seems out of date (pre-GLR?)
rosettacode.org/wiki/Loop_over_mult...sly#Perl_6 20:46
ugexe i agree install makes more sense
moritz Juerd: yes, very much pre-GLR :-)
it's from 2011
20:47 SwellJoe left 20:48 nowan left, CIAvash left 20:50 jnap joined
jnap on the download page (perl6.org/downloads/) the git clone command given is "git clone github.com/tadzik/rakudobrew ~/.rakudobrew". 20:51
gfldex m: my @a; with "abc".split('/') { @a.append: |.item; }; dd @a; 20:52
camelia rakudo-moar c19142: OUTPUT«Array @a = ["abc"]␤»
gfldex where does .item come from?
jnap but that downloads a lot of stuff, for those of us on limited bandwidth, or paying by the byte. If you are not actually hacking on it, can't do a shallow clone ( --depth 1)?
masak jnap: probably can, yes
jnap just thinking if so, maybe could be a documentation patch 20:53
masak jnap: it might even be a good default!
given that it'd go faster for everyone
jnap if we agree I'm happy to give a patch, if I can find the docs somewhere
ugexe it makes it a pain to upgrade
masak now that Git has no trouble deepening a shallow clone, I think it's a good default
ugexe: how do you mean?
tony-o i think separate the precom stuff from the source
nine: ^ 20:54
ugexe i've tried a bunch of iterations of --depth=1 shallow-clone, and whatever other options i can find and eventually it will fail to update because of a deleted or added file
jnap I only mention because I'm on today my cellular data, since my DSL is flaky :)
hmmm 20:55
tony-o i don't think anyone really cares if it's in a .precomp folder, arguably it's better since you can remove .precomp stuff more easily and find it more easily. it also makes upgrades easier, it makes version control a lot easier, there are a lot of benefits to doing it that way and the only real downside is having two folder trees with files of similar name in them
nine: ^
jnap I can play with it, but need to wait till my DSL comes back!
gfldex m: Mu.item; <-- not doced
camelia rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_BbLDm4xEC␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at /tmp/_BbLDm4xEC:1␤------> 3Mu.item; <-- not doced7⏏5<EOL>␤ expecting any of:␤ quote words␤…»
20:55 iml_ left 20:56 nowan joined
jnap ugexe: but are you just compiling to use perl6, or you are actually hacking on Perl6? I probably won't hack on Perl6 20:56
ugexe i tried to do --depth=1 + friends stuff for cloning/updating all modules in the ecosystem and it would hit failures rather quickly
tony-o nine: the other thing is that *not* doing something because something else is broken is how we end up with a 'wtf' scenario a year from now, if precomp is broken then just don't load precomp files currently. it was working a year ago, is there some reason we cannot revert?
ugexe i could have been doing it wrong, but i did try lots of combinations of commands
20:57 uvtc left, nowan left, nige1 left
jnap I see it does ton of stuff, lots of submodules. maybe I should play with it more before saying something.... 20:58
ugexe it would work, probably for awhile. however i think eventually rakudobrew self-upgrade would fail and would need to be reinstalled if files change in a certain way 20:59
20:59 MadcapJake left
jnap ah. 20:59
21:00 nowan joined 21:01 cooper_ joined, cooper_ left, cooper_ joined
Juerd Damn. Wrote something for rosettacode, website borks. CloudFlare provides a cached version, but that's read only of course. 21:01
PerlJam ugexe: we could still have a patch that enables --depth 1 (or whatever) and let people (jnap :) try it to see what happens.
(I'd probably use it too btw)
Hotkeys does anyone have a good example of an unusual helpful perl 6 error message 21:02
weird request I know
Trying to explain how nice the errors typically are in perl 6 to someone
Juerd There it is :)
PerlJam Hotkeys: unusual and helpful or unusually helpful?
Hotkeys but I can't think of a good example
Juerd Still borken, appears not to serve its CSS
ugexe it doesnt need to be enabled in any way. you use the command itself to install rakudobrew
Hotkeys that isn't really simple
Juerd rosettacode.org/wiki/Loop_over_mult...sly#Perl_6 # updated 21:03
Hotkeys PerlJam: probably the first but either one is good
21:03 SwellJoe joined
PerlJam ugexe: aye, that's true. 21:03
PerlJam considers doing it.
21:04 nige1 joined
ugexe just self-upgrade could have a notice that it will have to download the rest of the history, or to reclone rakudobrew manually otherwise 21:04
PerlJam it would be nice if it could determine if if *needed* to do that
21:04 cooper left 21:05 cognominal left
ugexe yea, it just gets messy because after you *do* have the full history there isnt a point anymore in a shallow clone because updating could take more bandwidth with a new shallow clone than a pull 21:06
21:06 xfix joined 21:07 iml_ joined, molaf left, ab6tract joined
ab6tract o/ #perl6 21:08
21:10 iml_ left, iml_ joined 21:11 xpen joined
ab6tract is it possible to get a 'late-binding' reference to self in submethod BUILD ? nothing happens if i pass 'self' to the constructor of another object 21:11
but i not that self appears to be available in 'new' 21:12
leont The self of BUILD is the type-object, I think
Juerd m: 'a' xx 5
camelia ( no output )
Juerd m: say 'a' xx 5
camelia rakudo-moar c19142: OUTPUT«(a a a a a)␤»
Juerd m: say 'a' xx 5, 'b' xx 3 21:13
camelia rakudo-moar c19142: OUTPUT«(a a a a a)(b b b)␤»
ab6tract leont: appears to be, yes
but we cascade-call BUILD when new calls self.build
ugexe is BUILDALL the same? 21:14
ab6tract but the object variables will not be available in new
PerlJam leont: if the self of BUILD is the type-object, how do you initialize instance attributes in BUILD? 21:15
ab6tract ugexe: iirc, that's the spot in core setting which does the cascade call
21:15 colomon left
masak m: class C { submethod BUILD { say self === C } }; C.new 21:15
camelia rakudo-moar c19142: OUTPUT«False␤»
21:15 xpen left
leont PerlJam: good question. I may be mistaken 21:15
masak you know you can just run code to test stuff instead of asserting a lot of things, right? :P
leont: yes, you are. see above. 21:16
PerlJam masak: my query was supposed to illicit some self-discovery :)
masak PerlJam: "elicit". it didn't ;)
PerlJam (multi-pun there!)
which ever
ab6tract strange.. 21:18
my minimal example has me confused about why my code isn't working 21:19
masak in BUILD, `self` refers to the new object (which has already been created at that point by `.bless`)
but since we're not out of construction yet, you're not meant to call instance methods on `self`, only set bang attributes 21:20
trying to call instance methods at that stage, besides being disallowed, is just asking for inheritance-based dependency trouble
21:20 llfourn joined
ab6tract indeed. i should have gotten this minimal case together first 21:23
m: class X { has $.x }; class Y { has $.x; submethod BUILD { $!x := X.new(:x(self)) } }; my $y = Y.new; say $y === $y.x.x
camelia rakudo-moar c19142: OUTPUT«True␤»
lizmat good *, #pelrl6!
yoleaux 18:42Z <japhb> lizmat: Thanks for fixing my Date + role bug! Nice not to have to work around that one. :-)
Mouq masak: That's why I don't make my BUILDs submethods! /s
ab6tract since that is failing in my larger code.. it seems i have a bug :)
lizmat admits to not having the energy to backlog anymore 21:24
so please, if anybody wants me to look at something, please .tell me
ab6tract o/ lizmat
21:24 llfourn left
timotimo i find it hard to backlog, to ... 21:25
too*
21:25 itaipu left
masak I gave up backlogging sometime in the mists of becoming a father 21:31
moritz same here too 21:32
I guess that was redundant :-)
_nadim where things like 0x< af bo > described, spefically what "adjective" can be but in front of < .. >. i could not find it in "quoting constructs".
brrt \o lizmat
lizmat brrt o/ 21:33
brrt well, it's kind of getting busy in this channel :-)
moritz _nadim: S02/Literals
_nadim: might be missing from doc.perl6.org
21:35 itaipu joined
_nadim thanks. i am stuck in moving from my apparment and starting the fundations of my summer house on another continent, but when things cool dow, I'll help with the docs, it's a good way to learn. 21:36
moritz ++_nadim 21:37
_nadim: sounds like a fun and stressful time for you :-)
_nadim I don't do stress, I am old enough to not stress anymore but moving is like having to program in java, all my body urts afterwards ;) 21:38
21:38 sno left 21:40 SwellJoe left 21:42 n0tjack left
dalek kudo/nom: e32910b | lizmat++ | src/core/Exception.pm:
Add X::Invalid::Value error class
21:42
kudo/nom: 70640bf | lizmat++ | src/core/Iterable.pm:
Fix for RT #127191
masak (no stress)++ 21:44
is the "old enough to not stress anymore" a limit you reach where you might die at any moment, so the normal deadlines don't have any power over you anymore? :P
21:46 xfix left
Juerd m: get 21:48
camelia ( no output )
21:48 yqt joined 21:49 kaare_ left 21:50 colomon joined, Actualeyes left
tony-o masak: i've been pretty stress since the marine corps. i think you just hit a point where you stop caring about things that aren't going to kill you 21:50
dalek ast: 4a59ba3 | lizmat++ | S0 (3 files):
Add tests for RT #127191
_nadim Masak, you'll understand when you become an adult ;) 21:51
diakopter
.oO( will my daughter kill me? )
perigrin diakopter: if the answer isn't "probably" then whatever it is isn't worth doing :) 21:52
Juerd rosettacode.org/wiki/A%2BB#Perl_6 # provided a new simple solution: "get.words.sum.say"
perigrin this may explain my relationship with my daughter
tony-o are you worried? if so, then possibly :-p 21:53
Juerd A lot of the rosettacode examples are broken :(
Anyone else who wants to spend some time on checking them? I'm doing /^A/ :)
(I'm skipping anything that says it works with 2015.09 or more recent) 21:54
21:54 espadrine joined
bpetering Juerd: will do /^B/ 21:55
Juerd If something is broken and you can't or don't want to fix it, add {{broken|Perl 6}}
21:55 itaipu left
bpetering cool cool 21:55
lizmat Juerd: tat
Juerd: that won't work with 2015.12 21:56
Juerd If it works, {{works in|Rakudo|2015.12}} or something similar.
lizmat: Is it more recent?
Maybe I should use 2016.01 instead :)
lizmat the support for .words on get is from the IO::CatHandle
yes, that should probably be more correct
21:57 _mg_ left
Juerd Huh, .words is Str.words 21:57
Maybe Cool.words by the way
nine lizmat: github.com/rakudo/rakudo/commit/de...dddb8a07ab github.com/rakudo/rakudo/commit/c5...2612f83ee5
lizmat looks good, I guess ? 21:58
dalek kudo/nom: 0fa13c0 | (Geoffrey Broadwell)++ | src/ (3 files):
Add timestamps to RAKUDO_MODULE_DEBUG output
lizmat japhb++
japhb: what would maybe even be more useful, is that it would show the difference between that and the previous RAKUDO_MODULE_DEBUG output ? 22:00
and perhaps convert to milliseconds ? :-) please ? :-) 22:01
japhb lizmat: I thought about that, but there seems to be a few different places that produce that debug output, some in NQP land, and some in Perl 6 land. I decided to go with "simple and working"
AFK for a bit
lizmat japhb: ok
nine lizmat: it still needs a bit of work, but I think, we can soon work on 6.d and stop breaking 6.c :) 22:02
lizmat nine: I'm not sure if there is something that you would like me to do ?
masak _nadim: what if I don't want to become an adult? :) it sounds both hard and boring at the same time.
22:02 vendethiel- joined 22:03 geraud joined
nine lizmat: no, I'm just happy to report that there's progress on the backwards compat front :) 22:03
lizmat ok, but to be really backcompat, we would need to remove IO::CatHandle and friends as well
22:03 yurivish joined
lizmat e.g., Juerd's example of summing 2 values from an input stream, only works because of IO::CatHandle 22:03
nine lizmat: rather move them to core.d/ 22:04
22:04 virtualsue_ joined
lizmat so what's the state of nom in all this ? 22:04
22:04 virtualsue left, avenj left, vendethiel left, Amnez777 left, mephinet- left
lizmat I'm starting to get really confused now 22:04
22:04 pnu left, ilbelkyr left, virtualsue_ is now known as virtualsue, d4l3k_ joined, jsimonet left, solarbunny left 22:05 nbrown left, zengargoyle left, dalek left, DrParis_ left, skarn left, Amnez777 joined, Amnez777 left, yurivish_ left, [Tux] left, wamba left
nine lizmat: all changes that would break the 6.c test suite go to files in core.d/ and need a use 6.d; to become active. Bugfixes can still go to core/. 22:05
22:05 colomon left 22:06 Amnez777 joined
nine lizmat: that can and should happen on nom 22:06
22:06 Amnez777 left, ilbelkyr joined, d4l3k_ is now known as dalek, ChanServ sets mode: +v dalek, ilbelkyr is now known as Guest45455, mephinet joined
lizmat what if the test-suite was wrong ? 22:06
22:06 Amnez777 joined, Amnez777 left
nine tony-o: I may have missed some discussion. Why do you think precomp is so broken that we have to revert to the state of a year ago? 22:07
22:07 Amnez777 joined
masak lizmat: maybe mark the new (correct but failing) test as TODO? 22:07
22:07 colomon joined
nine lizmat: I guess that will be case by case decisions. We can probably still affort a bit of leniency there, but not too much. 22:07
22:08 jnap left, pnu joined, alber joined, Actualeyes joined
lizmat masak: so, that would require creating a 6.c branch in roast, in which the original test would be corrected and todoed ? 22:08
nine What is now in the 6.c branch of roast should be moved into a 6.c directory, so it can be tested alongside the 6.d tests. The latter need a use 6.d; to be able to test the new features.
diakopter that's a lot of file; why not check out the branch into a subdir when that's needed 22:09
alber Hello, When I tried to install Rakudo for MoarVM and JVM I got the following error: ./perl6-j tools/build/install-core-dist.pl /mnt/lib/perl6/rakudo/install/share/nqp Unhandled exception: java.lang.StackOverflowError <<<<... 400 lines of stack dump skipped...>>>> Return status 256 in block <unit> at tools/build/install-core-dist.pl line 13 Actually thrown at: in block <unit> at tools/build/install-core-dist.pl line 13 Makefile:4
22:10 Guest45455 left
nine diakopter: how often do you think people will run tests on that branch? 22:10
22:10 ilbelkyr_ joined 22:11 ilbelkyr_ is now known as ilbelkyr
diakopter nine: I suppose I should backlog a lifetime or two if I want to contribute :p never mind 22:11
22:11 xpen joined
nine I can run make spectest and wait. Having to do make spectest && git stash && git checkout 6.c && make spectest && git checkout master will become tedious. Most of all because those commands do not even work, because they're missing the cd t/spec 22:11
So I probably won't run 6.c all that often and others won't, too ;) 22:12
22:12 zengargoyle joined
diakopter make spectest already runs cd & git commands for you 22:12
alber The error happened at 'make 'install' after Configure.pl and make finished successfully.
tony-o nine: i don't think we have to, i think it was more stable and much less finicky than a year ago. it also wasn't designed to have to do precomp for every user that might use a module 22:13
nine diakopter: but the git checkout will fail if there's local changes. So we need git stash in between. And make sure to only git stash pop if we actually stashed anything, and...
tony-o s/than//
22:13 colomon left
nine tony-o: it also did precompile a lot less and startup times were a lot worse 22:14
alber The error happened on Archlinux
22:14 zengargoylew left
tony-o what did it not precomp a year ago? 22:14
nine -Ilib for example 22:15
22:15 _nadim left
tony-o why would i want that to precomp ? 22:15
nine also after a change to an installed source file, you did have to remember to delete the precomp file and very few users would now how to recreate them
Because it loads so much faster? For example the test suits?
tony-o it doesn't load faster if you have to modify the source 22:16
alber Could someone advise please why this error could happen?
nine Precomp makes a factor 5 difference for Inline::Perl5's test suite
You only pay the compilation cost for a single test file, not for all of them.
22:16 xpen left
nine That's 29 test files for Inline::Perl5 and that number is growing. 22:16
tony-o there are very few people that care about how fast Inline::Perl5's test suite runs 22:17
dalek c: 2f52904 | lizmat++ | doc/Language/unicode_texas.pod:
Add 𝑒 , and document value also for π and τ
22:17 ab6tract left
tony-o including me 22:17
in fact, if i'm running a test suite, i don't care about precomp at all in case i need to fix a bug 22:18
nine tony-o: there are lots of people developing modules with more code than Inline::Perl5 and who write more tests than me so they will wait even longer
tony-o in fact, if i'm running a test suite, i don't care about precomp at all in case i need to fix a bug
lizmat tony-o: the old precomp system was untenable, as it would add to bare startup time, like 30 *econds* if you have like 100 modules installed
*seconds
nine Oh yes, there was that, too. 22:19
22:19 jsimonet joined
tony-o that's a problem that is worth fixing but doing a fix that has such a huge scope to correct a minor issue doesn't seem like a great plan 22:19
lizmat to give you an idea of the speed increase: settings take about 60 seconds to compile on my machine, it takes .1 second to load precompiled
that's 600x faster
nine tony-o: and you really don't care if your test suite runs in 20 seconds or 3 minutes?
22:20 DrParis_ joined, skarn joined, [Tux] joined
tony-o that's not any faster if you have to re-precomp every time you want to run a test suite 22:20
lizmat most importantly, if I recompile the settngs now, I don't need to reinstall all modules with panda all over again
tony-o i mean, yea if you ignore the process as a whole, that makes sense
lizmat which means, there's a much lower threshold to find out about ecosystem fallout
moritz tony-o: if you have 10 test files, you'll precompile every module only once
tony-o but stealing from one hand to give to the other isn't an accurate comparison 22:21
diakopter ^_^ it runs in 2 minutes with the deserialization fix [still in a moarvm branch]
oh, 20 seconds, should be even faster
22:21 llfourn joined
tony-o moritz: i understand that, but if i go change a source file then it needs to be re-precomp'd .. i get it for installed modules which is a whole other issue (precomp per user, why?).. for module development it doesn't make sense to have jump through that hoop until you think your source is solid 22:22
and yes, i'd rather wait an extra minute for my module to test than have to deal with a finicky precomp system
Juerd Lots of rosettacode examples "say" a list, which then gets ( ). One solution is to prefix the list with "|" but then the whitespace in between the elements is also gone
alber Could someone advise please the appropriate place where Rakudo installation problems should be reported? 22:23
ZoffixWin tony-o, just yesterday, I was working on a lib with ~8 files loaded with -Ilib. The start up without precomp was about 9 seconds, while nearly instant with it *even if I modified one of the files*.
Juerd Is there an aesthetically pleasing way of saying a list, whitespace separated, without parens?
hoelzro alber: the JVM build is currently broken =(
22:23 nige1 left
moritz Juerd: say join ' ', @list; 22:23
ZoffixWin alber, github.com/rakudo/rakudo/#reporting-bugs you can also discuss it here first
moritz Juerd: say ~@list
Juerd ~ does the trick! Thanks :) 22:24
ZoffixWin huggable, rakudobug :is: [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
huggable ZoffixWin, Added rakudobug as [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
moritz huggable: alber was interested; ZoffixWin knows that already :-)
huggable moritz, nothing found
moritz oh
diakopter *giggle
ZoffixWin snorts 22:25
alber Thanks! Will use MoarVM till JVM is fixed.
moritz you see, I don't backlog comprehensivly either :-)
ZoffixWin :)
nine tony-o: please try to listen
tony-o i am listening. 22:26
i'm waiting for you to say something other than 'its faster'
i care more about reliability than speed
nine So what reliability problems are there?
tony-o and having it sometimes work and sometimes not seems like a bigger issue than loading modules a little more quickly
22:26 brrt left 22:27 llfourn left
diakopter imho, the precomp system should be totally seamless and behind-the-scenes (invisible)... if it isn't, or someone writing/installing a script or module has to worry at all about precomp or not, then it's done wrong and needs fixing 22:27
tony-o aside from the ones you're not listening to? read the logs.
nine diakopter: so we fix it
tony-o this is broken, it's built on a boiler plate that was meant for a discussion - not an implementation
nine tony-o: no, I'm going to bed rather than have this pointless discussion. I will not do your work for you. You want a change? At least have the decency to argue for it.
stmuk_ I do find the SHA hash filenames make debugging harder but guess that can be fixed in time 22:28
nine stmuk_: it can, and it will.
moritz tony-o: I think it's best if you file rakudobugs for each issue, and point nine++ to them
tony-o nine: lol. okay. ignore the evidence and claim victory. that's a wonderful way to live life.
stmuk_ nine++
moritz tony-o: that path worked very well for me in the past
masak finds it weird that people are rude to nine++ who did actual work
lizmat nine++ indeed
alpha123 tony-o: wat
masak in general, we should be kind to the people who do actual work 22:29
ZoffixWin nine++ # indeed, as mentioned before, the speed boost is very noticable
diakopter tony-o: nine is obviously stressed out and burnt out; give some patience and let him recover emotionally from the pressure he's let himself be put under :)
22:29 alber left
tony-o diakopter++ 22:29
that's reasonable. telling me i haven't done any work after rejecting code i submitted that was built to spec, isn't
lizmat tony-o: a ticket is worth a thousand words
diakopter yes, stressed people can be unreasonable
<- especially 22:30
tony-o no worries, i'm not trying to be critical of nine specifically, it's just been a thorn in my side for a long time
masak reasoning and stress aren't very compatible, no
diakopter this conversation mirrors quite similarly to one here with ShimmerFiery the night before the blogpost-that-shall-not-be-named 22:31
tony-o lol
lizmat tony-o: please realiize that most of Perl 6 is currently built on -Ofun 22:32
masak diakopter: shimmeryfairy.wordpress.com/2015/1...-go-at-it/ -- that one? or the one that was removed?
tony-o i do, i'm not being critical of *anyone*
lizmat if you take that away, especially from the people that actually put in long hours to get the core further developerd
diakopter yes
(masak)
lizmat you wind up having to do it yourself
dalek kudo-star-daily: 55a0fdf | coke++ | log/ (5 files):
today (automated commit)
22:33
lizmat which may be a good idea to begin with :-)
masak I wonder if we can do something structural/systematic to help people not fall off the -Ofun (that is, not become stressed or burn out or stuff)
lizmat that's at least how *I* got more involved with Perl 6
funkiller huggable: hug?
masak the sad thing is that this seems to be connected with doing significant/unappreciated work in core
huggable funkiller, nothing found
funkiller huggable: ? 22:34
huggable funkiller, nothing found
funkiller huggable: nothing
huggable funkiller, nothing found
masak huggable: nothing found?
huggable masak, nothing found
masak huggable: how much was found, you say?
huggable masak, nothing found
stmuk_ it's almost as if developing a powerful computer lang is hard :)
masak huggable: please enumerate the things that were found
funkiller huggable: did you find nothing or anything?
huggable masak, nothing found
funkiller, nothing found
ZoffixWin Huggable only has the Types and a couple of commands I manually added 22:35
ATM
masak huggable: have you found yourself yet?
ZoffixWin huggable, source
huggable masak, nothing found
ZoffixWin, I'm a factoid bot. See me in the nude at github.com/zoffixznet/perl6-IRC-Cl...in-Factoid
funkiller huggable: FaRtat
huggable funkiller, nothing found
masak huggable: what did the philosopher say to the P-zombie?
funkiller huggable: FatRat
huggable masak, nothing found
funkiller, class FatRat [Rational number (arbitrary-precision)]: doc.perl6.org/type/FatRat
ZoffixWin Eventually there'll be search and possibly "dump all things" (see DESIGN.md)
masak huggable: how many angels can dance on the tip of a pin? 22:36
huggable masak, nothing found
funkiller huggable: three blind FatRat
huggable funkiller, nothing found
masak huggable: which parts of the Perl 6 spec do you think are stable?
huggable masak, nothing found
ZoffixWin poor bot
masak huggable: how much money you got? 22:37
funkiller huggable: how long until a memory leak bites you
huggable masak, nothing found
funkiller, nothing found
masak indeed poor
ZoffixWin hah
Things will come. I have the "ignore abuser" plugin still on the TODO list
masak huggable: remind me again -- was something found or what?
mst masak: now you're just being cruel 22:38
huggable masak, nothing found
abuser huggable: tell me "nothing found" if masak is a troll
huggable abuser, nothing found
masak gosh
stmuk_ huggable, Zoffix
huggable stmuk_, nothing found
diakopter huggable:
huggable diakopter, nothing found
masak .oO( 2016 directive: don't taunt the non-sentient beings on channel )
huggable: 0 <-- LOOK 22:39
huggable masak, nothing found
ZoffixWin huggable, 42
diakopter masak: around here we call those "doings". as in, beings vs doings
22:39 hankache joined
masak diakopter: oh, cute 22:39
hankache o/ *
diakopter pronounced DOYNGS, of course
ZoffixWin so. you broke it, eh? :) 22:40
diakopter comma->colon
ZoffixWin It should handle commas too
diakopter
.oO( but it replies with a comma... )
ZoffixWin huggable, 42
oh, those are \o aren't they? 22:41
stmuk_ huggable, Tap
ZoffixWin \0
huggable stmuk_, class Tap [Subscription to a]: doc.perl6.org/type/Tap
ZoffixWin m: say "" ~~ /\0/
camelia rakudo-moar 0fa13c: OUTPUT«Nil␤»
ZoffixWin to me, that char looks as a box with 4 zeros inside 22:42
22:42 muraiki left
diakopter looks to me like black K with white background 22:42
stmuk_ huggable, Any 22:43
huggable stmuk_, class Any [Thing/object]: doc.perl6.org/type/Any
AlexDaniel huggable: please find some good unicode character for Whatever
huggable AlexDaniel, nothing found
AlexDaniel 👌 22:44
diakopter .u 01F44C
yoleaux U+1F44C OK HAND SIGN [So] (👌)
bpetering .tell Skarsnik I've added a whole bunch of features to gptrixie function stuff, including putting the C definition above the generated subs github.com/bpetering/gptrixie 22:45
yoleaux bpetering: I'll pass your message to Skarsnik.
stmuk_ huggable, div by zero :is: {1/0}
huggable stmuk_, Added div by zero as {1/0}
stmuk_ huggable, div by zero 22:46
huggable stmuk_, {1/0}
ZoffixWin stmuk_, were you hoping it evaled the response? :) 22:47
stmuk_ O:-)
22:47 inokenty left
ZoffixWin BTW, it handles /notice and /msg too 22:47
AlexDaniel well, perhaps it should be possible to make it say something without prefixing it with a nick :)
so that you can make it trigger m: 22:48
ZoffixWin :o
AlexDaniel e.g. div by zero :is: m: 1/0 22:49
ZoffixWin Opened an issue: github.com/zoffixznet/perl6-IRC-Cl...d/issues/2
Gonna take a look in the next 4 days
AlexDaniel ZoffixWin: I haven't tried it yet, by the way
ZoffixWin: your awesome module I mean 22:50
ZoffixWin: what's the right place to submit plugins, by the way?
ZoffixWin AlexDaniel, heh, it's fine. I see some Annoying Things with it anyway and will change them. So far, just using listening to irc-to-me event and responding with $irc.respond: |%res, :what('blah blah'); is non annoying. The rest is stupid :) 22:51
AlexDaniel ZoffixWin: aww!
ZoffixWin As for nickless thing, it'll likely it'd be triggered with "div by zero @", because I'm adding a feature where you can make the bot tell the thing to someone by doing "foo @ Zoffix", so by omiting the nick, you can make it say "m: blah"
AlexDaniel, submitting plugins? Well, first and obvious, you can just release them as normal modules. If you think they should be in the core distro, submit an Issue/PR on github.com/zoffixznet/perl6-IRC-Client/ 22:52
AlexDaniel ZoffixWin: oh, looking at modules directory it seems like you expect every plugin to be a separate module. Ok
gfldex picking up a loose and I dropped yesterday, here is my attempt of a 6ish webframework. Your kind comments are very welcome. github.com/gfldex/perl6-ballet/blo...s/basic.p6
s/loose/loose end/
AlexDaniel gfldex: awesome! Amazing! Great! 22:53
gfldex: I'll take a look shortly
ZoffixWin AlexDaniel, yeah, pretty much. I do have some P5 plugins that I grouped by topic, so a single dist installs multiple plugins, like metacpan.org/release/POE-Component...evelopment and metacpan.org/release/POE-Component...undle-Toys and
flussence I like the use of traits for basic http stuff there 22:54
22:54 hankache left
flussence managing headers inline with the code is as bad as mixing code and HTML, IME 22:54
ZoffixWin doesn't TBH 22:55
Looks like spaghetti to me.
RabidGravy :)
gfldex next experiment is type safety to prevent missing quotes
AlexDaniel Actually, I just use 「Tag」 module for html stuff
tony-o lizmat: that's fine if doing it yourself is an option. having a hissy fit about trying to talk about design problems is something else. 22:56
flussence ZoffixWin: I guess you could argue the thing that makes a sub a route is too much typing here...
ZoffixWin Well, I was mostly complaining, but what really stands out to me is the inline HTML stuff 22:57
That's like CGI.pm era
flussence oh that, I wasn't even talking about that...
lizmat tony-o: why is doing it yourself not an option for you ?
flussence it's alright for a one-screen demo, but I'd never do that in real life
Juerd b2gills: I've removed most of the code you wrote for
masak 'night, #perl6 22:58
lizmat gnight masak
RabidGravy you could do some EXPORTHOW::DECLARE thing to make like "ballerina { ....... }"
tony-o because i don't have access to merge PRs on the repo and if they go ignore/rejected then there isn't much else i can do about it then try to discuss it with the person doing the work
awwaiid nine (or others): are there any examples of hooking in to "use Foo:from<bleh>" yet?
Juerd b2gills: I've removed most of the code you wrote for rosettacode.org/mw/index.php?title=...did=213215 -- Maybe start a blog, or submit documentation to doc.perl.org? :)
tony-o i wrote a precomp to the docs over a year ago and it was rejected
AlexDaniel ZoffixWin: there's no problem with that, in fact it is pretty convenient if your page has lots of autogenerated stuff
flussence RabidGravy: I was *just* looking at OO::Monitors to see how it does that :)
Juerd b2gills: I think the huge amount of code for a very simple operation is a good way to scare beginners away. 22:59
tony-o there isn't much else that's more 'do it yourself'
AlexDaniel ZoffixWin: but sure there's no one thing that would fit all
lizmat tony-o: maybe you need to work on accepting rejection ?
ZoffixWin gfldex, well, I'd like to see more :) We really do need a decent web framework.
tony-o i've accepted it and am trying another method, thanks for your input though
lizmat reminds tony-o she has the most reverted commits in core
tony-o i'm not arguing because my stuff was rejected, i'm arguing because i want something to work
if you want to live in a hug bubble then the real world may not be for you 23:00
lizmat well, then I suggest we argue less and do more
diakopter pushed quite a few hundred-thousand line commits to moarvm before jnthn helped me rewrite history (this was when generating unicodedb.c or whatever)
tony-o avoiding the argument gets you in a position where every user has to have their own precomp for a module that is installed system wide 23:01
very nearly identical to the current trajectory of precomp
lizmat tony-o: I prefer a hug bubble to the cut-throat flame wars on p5p of log forgotten times
*long
ZoffixWin tony-o, does it? I think only -Ilib has .precomp in the lib. The rest are precomped in the installation dir
diakopter to be fair, this is a very-much unsolved problem in computing (repeated code, in every sort of form) 23:02
tony-o i don't think anyone has forgotten the cut-throat'edness of p5. p5 is actually productive, though.
gfldex the advantage of traits is that they are called pretty early. If return types are to be enfoced, it can bail as soon as it spots the first faulty one.
23:02 inokenty joined
tony-o ZoffixWin: this is in reference to saying that the precomp direction is to to put al precomp modules into ~/.precomp 23:02
diakopter god knows how many variously-hand-optimized implementations of common datastructures there are in a 8.5GB installation of Windows 10 23:03
tony-o so, yes, that is the current direction. it's in ref to a discussion between ugexe and nine had yesterday. which is part of the reason he doesn't want to read the logs
ZoffixWin gfldex, neat. And you know what's even more awesome. You can do parameter validation with custom types! use My::Fancy::Types; sub social-security (ValidSIN $sin) { ... }
ZoffixWin is now excited
lizmat tony-o: fwiw, I don't want to read the logs either anymore.... there are just too many of them 23:04
stmuk_ putting into ~/.precomp sounds ok to me
lizmat you could help by pointing us to a specific discussion
hoelzro awwaiid: apparently there's a Perl6::ModuleLoader.register_language_module_loader method, but I don't think that's accessible in "userspace"
Hotkeys ?p6> say pi; say pi.Rat 23:05
oops
wrong syntax for this chan
m: say pi; say pi.Rat
camelia rakudo-moar 0fa13c: OUTPUT«3.14159265358979␤3.141593␤»
lizmat saying "a discussion that ugexe and nine had yesterday" is just costing me too much time to figure out whether that is actually what you are taliking about
Hotkeys why is so much less precise
the second*
gfldex ZoffixWin: as long as you put it behind where, that's enfoced already. Right now I cast from Str (that dropps out of the request URL) to the type give in the signature of the sub. Next on my list are copy constructors to support custom types.
awwaiid thanks hoelzro , good place for me to start
lizmat tony-o: so please provide a link, if you want to refer to a discussion
stmuk_ I assume ~/.precomp only is to solve the binary packaging for distros problem? 23:06
lizmat which, I think, is a general courtesy to anybody on this channel nowadays when referring to previous discussions
RabidGravy HotKeys, the printed version is less precise 23:07
diakopter tony-o: irc log is at irc.perl6.org (sorry if you already knew this!)
RabidGravy m: say pi.Rat.perl
Hotkeys m: say pi.Rat.nude
camelia rakudo-moar 0fa13c: OUTPUT«(355 113)␤»
rakudo-moar 0fa13c: OUTPUT«<355/113>␤»
mst stmuk_: nine and I have been discussing approaches that might make it still workable, ish
ZoffixWin gfldex, is there a repo I could star so I'd get notifications of updates to it?
mst I -think- it's possible
Hotkeys RabidGravy: that isn't any more precise though
mst I suspect the spec may be at least 50% bollocks though
gfldex ZoffixWin: github.com/gfldex/perl6-ballet 23:08
mst but I've mostly been reading the CUR sources in the pub through a stinking head cold
ZoffixWin cheers
lizmat tony-o: irclog.perlgeek.de/perl6/2016-01-06#i_11841766 # example of a link
mst so, uh, please nobody assume I'm making sense -yet-
AlexDaniel m: say pi.perl; say pi.Rat.Num.perl
camelia rakudo-moar 0fa13c: OUTPUT«3.14159265358979e0␤3.14159292035398e0␤»
AlexDaniel laughs
lizmat needs to get up early tomorrow, so goes to bed now 23:09
diakopter the Rats of Num...
ZoffixWin night
lizmat good night, #perl6!
flussence would prefer one of {$XDG_CACHE_DIR/,~/.}perl6/precomp, if anything
mst diakopter: ... I wonder how few people got that.
23:09 mr_micawber joined
diakopter too 23:09
flussence didn't
mst flussence: my thought is that basically we go to just that first
stmuk_ got it
mst then try and get more clever later once that becomes a reasonable to priority 23:10
*top
23:10 espadrine left
diakopter flussence: en.wikipedia.org/wiki/Mrs._Frisby_...ts_of_NIMH 23:10
stmuk_ diakopter: I recall it was quite good 23:11
flussence I'm an uncultured swine but the name does ring a bell now :)
perigrin THe movie wasn't bad, I've heard the book was much better but I never managed to read it.
23:11 rindolf left
diakopter mst is our Jeremy 23:12
23:12 sno joined, xpen joined
AlexDaniel soo… Do I get it right that Num → Rat conversion attempts to get a beautiful approximate values for rat? 23:13
b2gills m: say pi.Rat(0.0000001).nude.join('/')
camelia rakudo-moar 0fa13c: OUTPUT«103993/33102␤»
AlexDaniel instead of doing it as precisely as possible?
b2gills m: say pi.Rat.nude.join('/')
camelia rakudo-moar 0fa13c: OUTPUT«355/113␤»
AlexDaniel b2gills: am I the only one who goes “WTF????” when sees that?
b2gills NUmerator DEnominator 23:14
AlexDaniel b2gills: I mean, the fact that by default it does something… weird?
diakopter well it does approximate 23:16
AlexDaniel diakopter: hey, but isn't it a bit too much?
23:17 xpen left
diakopter dunno 23:19
Hotkeys I just realized
that the default epsilon is 1.0e-6
diakopter m: say pi.is-transcendental
camelia rakudo-moar 0fa13c: OUTPUT«Method 'is-transcendental' not found for invocant of class 'Num'␤ in block <unit> at /tmp/B9qmOVxcox line 1␤␤»
Hotkeys that's why it was imprecise 23:20
23:20 alber joined
Hotkeys ?p6> pi.Rat(1.0e-14).Num.perl 23:20
shoot
m: pi.Rat(1.0e-14).Num.perl
camelia ( no output )
Hotkeys m: say pi.Rat(1.0e-14).Num.perl
AlexDaniel no sink warning
camelia rakudo-moar 0fa13c: OUTPUT«3.14159265358979e0␤»
diakopter "I demand that pi be its unexpanded taylor series, and the necessary precision computed on-demand!" 23:21
<- being silly
stmuk_ m: say pi.fmt("%.14f").Rat.nude.join("/")
camelia rakudo-moar 0fa13c: OUTPUT«314159265358979/100000000000000␤»
stmuk_ m: pi.fmt("%.0f").Rat.nude.join("/") 23:22
camelia ( no output )
stmuk_ m: say pi.fmt("%.0f").Rat.nude.join("/")
camelia rakudo-moar 0fa13c: OUTPUT«3/1␤»
stmuk_ thats good enough!
23:22 llfourn joined
diakopter heh 23:23
Juerd Rosseta /^A/ verified. Lots of broken examples.
rosettacode.org/wiki/Category:Perl_..._attention 23:24
alber Hi, after installing Rakudo, I tried to install Panda, but on 'perl6 bootstrap.pl' command got the error: Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so' at <unknown>:1 (/mnt/lib/perl6/rakudo/perl6.moarvm:<dependencies+deserialize>:81)
What can cause the problem?
Juerd Fixed a few simple ones, added the {{broken}} tag to the ones I couldn't immediately fix
23:25 vendethiel- left, zwu joined
lichtkind hai 23:25
perigrin has images of a large number of rats embarassed by a lack of clothing.
lichtkind FROGGS, its for a good cause anyway :)
diakopter alber: I don't know; which platform/toolchain did you use
alber Archlinux 23:26
MoarvM
diakopter would you mind trying rakudobrew?
Juerd So, I've done /^A/, bpetering is doing (or has done?) /^B/. Anyone up for checking the /^C/ Perl 6 articles on Rosetta Code? 23:27
bpetering doing
alber diakopter, thanks, will try.
23:28 llfourn left 23:29 solarbunny joined
Hotkeys How does .WHY work 23:29
Skarsnik hello 23:30
yoleaux 22:45Z <bpetering> Skarsnik: I've added a whole bunch of features to gptrixie function stuff, including putting the C definition above the generated subs github.com/bpetering/gptrixie
Skarsnik oh nice
bpetering Skarsnik: (I also broke void* pointers, but everything else works, and speeds up libsodium binding work by about 10x, so thanks :) 23:31
23:31 inokenty left
bpetering Skarsnik: let me know if you want a pull request at any point 23:32
Skarsnik I need to rewrite the part that get the data form xml to do it in 1-2 pass x)
zwu I don't understand the code line my (*@x) := foo(); # signature binding in the design doc. I tried to run, not sure what should the variable @x be.
23:32 felher left
Skarsnik and use Gumbo to parse the xml 23:32
XML is slow
bpetering Skarsnik: tell me about it :P
23:33 RabidGravy left
Skarsnik Well I will look at getting Gumbo parsing XML file tomorrow. Gumbo is a C html5 parser, but it can parse everything that look like xml x) 23:33
23:33 spider-mario left
bpetering sounds good :) 23:34
mr_micawber I just posted a short question on reddit.com/r/perl6 as infoaddicted if anyone would care to check it out. It's about flattening. 23:36
ZoffixWin mr_micawber, flatten into what? 23:37
You could slip it
Skarsnik bpetering, let the void* be Pointer. you can always nativecast them later 23:38
zwu what is signature binding? Can you please show example code? Thanks!
bpetering Skarsnik: ok
23:39 brabo left
ZoffixWin m: my @a = ^3; my @b = 4..6; my @c = (@a Z @b).map: *.Slip; say @c 23:39
camelia rakudo-moar 0fa13c: OUTPUT«[0 4 1 5 2 6]␤»
mr_micawber 'p6;[('a1', 'b1') ('a2', 'b2')].flat' 23:40
ZoffixWin mr_micawber, what's the result you expect from what?
mr_micawber not sure how to use the chatbox right :-/
ZoffixWin Type "m: " followed by the code you want to execute 23:41
Skarsnik ZoffixWin, I was wondering what to you use to parse the doc?
ZoffixWin m: [('a1', 'b1') ('a2', 'b2')]>>.flat
camelia rakudo-moar 0fa13c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Kcb2cjbFst␤Two terms in a row␤at /tmp/Kcb2cjbFst:1␤------> 3[('a1', 'b1')7⏏5 ('a2', 'b2')]>>.flat␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ st…»
ZoffixWin m: say [('a1', 'b1'), ('a2', 'b2')]>>.flat
camelia rakudo-moar 0fa13c: OUTPUT«[((a1) (b1)) ((a2) (b2))]␤»
ZoffixWin :(
23:41 zhmylove left
ZoffixWin Skarsnik, parse which doc? 23:41
Skarsnik p6 doc
ZoffixWin Skarsnik, never used p6 doc in my life :)_ 23:42
Skarsnik Your bot!
23:42 zhmylove joined
mr_micawber thanks, gotta go for now 23:42
23:42 mr_micawber left, wamba joined
Skarsnik Or you use some toc in p6/doc? 23:42
ZoffixWin m: say [('a1', 'b1'), ('a2', 'b2')].Slip>>.Slip
camelia rakudo-moar 0fa13c: OUTPUT«((a1 b1) (a2 b2))␤»
ZoffixWin How to get this to end up as <a1 b1 a2 b2> ? 23:43
23:43 zhmylove left
ZoffixWin Skarsnik, what do you mean "parse the doc"? 23:43
Skarsnik To get the doc link
23:44 zhmylove joined
Skarsnik bpetering, I would like a pr (but remove the precomp file x)) 23:44
ZoffixWin Skarsnik, ah, I just used a P5 script: github.com/zoffixznet/perl6-IRC-Cl...load-db.pl
(it has a bug that doubles /type/type in the URL ATM)
bpetering Skarsnik: sure :o) 23:45
ZoffixWin Skarsnik, which just parses this page: docs.perl6.org/type.html
(as I've said, the bot ATM only knows the types)
23:46 virtualsue left
Skarsnik huggable, IRC::Art 23:46
huggable Skarsnik, nothing found
Skarsnik it should link modules :)
23:47 inokenty joined
ZoffixWin I can code that in right now :) 23:47
23:49 huggable left
diakopter aw you have to reset the process ;) 23:49
ZoffixWin So far yeah :) 23:50
And read the docs to fix compile errors apparently :P 23:51
23:51 zwu left 23:52 inokenty left
ZoffixWin Ah, right. 23:52
23:52 huggable joined, firstdayonthejob left
ZoffixWin huggable, module IRC::Client 23:52
huggable ZoffixWin, Link to module: modules.perl6.org/repo/IRC::Client
ZoffixWin \o/
huggable, module NotReallyAModuleButWhoCares :D 23:53
huggable ZoffixWin, Link to module: modules.perl6.org/repo/NotReallyAMo...utWhoCares :D
diakopter huggable module '
ZoffixWin Small addition too: gist.github.com/zoffixznet/ad206482a952cbdd5b09
diakopter huggable, module '
huggable diakopter, Link to module: modules.perl6.org/repo/'
diakopter huggable, module
ZoffixWin :/
huggable diakopter, Link to module: modules.perl6.org/repo/
diakopter just being fuzzilicious 23:54
ZoffixWin I thought I taught it to handle addressing without , or . :(
ugexe huggable, module 1'); DROP TABLE fart;--
huggable ugexe, Link to module: modules.perl6.org/repo/1'); DROP TABLE fart;--
ZoffixWin Ah, forgot to make optional.
ugexe, pfft
23:56 brabo joined
AlexDaniel ZoffixWin: would be more useful if it was just .module 23:57
ZoffixWin yeah
AlexDaniel huggable: hugg 23:58
huggable AlexDaniel, nothing found
ZoffixWin Eventually I'll add that :)
ugexe those links point at distro names as well, not neccesarily modules
23:58 mr_micawber joined
ugexe search `provides` to find the true distro name 23:59