Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-06-30

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 labster joined #perl6
00:14 jjido joined #perl6
00:29 AlexDaniel joined #perl6
00:30 AlexDaniel oh geez, 3 days of configuring a new system from scratch. At least I have something usable today
00:33 jjido joined #perl6
00:48 Zoffix http://irclog.perlgeek.de/perl6/2016-05-06#i_12445014 :)
00:50 AlexDaniel Zoffix: it was a conscious move :)
00:51 Zoffix :)
00:55 Zoffix AlexDaniel, you remind me of my boss :)
00:56 Zoffix He doesn't see the problem with default typography either :P
00:56 Zoffix I'm not married to that commit. There's always Stylish plugin ;)
00:57 AlexDaniel yeah, stylish! I use it to make things dark… :)
00:58 tomboy64 joined #perl6
01:01 * Zoffix reads more comments on that topic
01:05 khw joined #perl6
01:05 Zoffix Well, I picked literally the most loved, highest rated font on Google Fonts and I thought that was a safe bet. The old typography used browser/OS defaults and looked like shit. Feel free to amend any of my changes. It was my best work and I've got nothing better to offer :)
01:06 * Zoffix steps away from potential Font Wombles before it's too late :P
01:06 dj_goku Zoffix: oh you were breaking docs.perl6.org today?
01:09 addison joined #perl6
01:13 mohae joined #perl6
01:16 kalkin- joined #perl6
01:21 Zoffix dj_goku, breaking how?
01:23 dj_goku the links of the top of a few pages were switching from show/hide it was really weird.
01:24 dj_goku it was probably probably around 1-2PM CST
01:24 Zoffix It was by design.. I was doing.. ahem... research. To see how often userts
01:24 Zoffix use stuff
01:24 * Zoffix coughs
01:24 dj_goku lol
01:27 AlexDaniel Zoffix: div.highlight does not use monospace font
01:27 Actualeyes joined #perl6
01:27 AlexDaniel Zoffix: not sure if this is associated with your changes or not
01:28 Zoffix ¯\_(ツ)_/¯
01:30 Zoffix AlexDaniel, the pre and code does :/
01:30 Zoffix And the code samples are monospaced :/
01:31 Zoffix AlexDaniel, What's not using monospace?
01:31 AlexDaniel Zoffix: https://docs.perl6.org/type/Str#routine_tclc
01:32 sammers hello from Japan
01:32 Zoffix AlexDaniel, looks monospaced to me. Do you have a screenshot?
01:32 Zoffix sammers,
01:32 Zoffix こんにちは
01:33 sammers こんにちは
01:33 Zoffix m: sub こんにちは { 'こんにちは'.say }; こんにちは
01:33 camelia rakudo-moar 75b37e: OUTPUT«こんにちは␤»
01:33 Zoffix ♥ Perl 6
01:33 sammers ha
01:33 AlexDaniel Zoffix: not sure if I can conveniently take screenshots yet…
01:34 AlexDaniel ok
01:34 AlexDaniel Zoffix: https://files.progarm.org/2016-06-30-043425_377x118_scrot.png
01:34 sammers m: sub 信じられない { '信じられない'.say }; 信じられない;
01:34 camelia rakudo-moar 75b37e: OUTPUT«信じられない␤»
01:36 Zoffix AlexDaniel, this is what I see: http://i.imgur.com/cnza6qc.png
01:36 sammers ok, quick question, what is the best type / value to represent nothing? Nil?
01:36 Zoffix Try pressing Ctrl+F5, if that doesn't help, ¯\_(ツ)_/¯
01:37 Zoffix sammers, best type to represent nothing is nothing :)
01:37 Zoffix sammers, why do you need to represent it?
01:37 sammers very zen
01:37 Zoffix huggable, Mu name
01:37 huggable Zoffix, "M"ost "u"ndefined. Or philosophical: "The nothing from which everything proceeds"
01:38 ssotka joined #perl6
01:38 sammers actually, no need at the moment. Just curious how to represent it in p6.
01:38 sammers so Mu
01:38 sammers hmm
01:38 Zoffix I wouldn't say so.
01:38 AlexDaniel Zoffix: ctrl+f5 does not help. Here Roboto Mono is crossed out and Open Sans is used instead
01:39 Zoffix Perl 6 has an infinite number of undefined values.
01:39 Zoffix So use the most appropriate one if you have to
01:39 sammers ok...
01:42 Zoffix left #perl6
01:46 Bodger1234 left #perl6
01:48 grassass joined #perl6
01:52 dj_goku Segmentation fault: 11 isn't really helpful when trying to debug NativeCall. I know it isn't Perl6 or NativeCall though. just sucks.
01:57 timotimo dj_goku: you do know about moarvm's --debug=3 and going "up" into a frame (inside perl6-gdb-m) that has a tc in it, then using "call MVM_dump_backtrace(tc)"?
01:57 timotimo to figure out where in the perl6 code the seg fault flies?
01:58 dj_goku nope. :D
01:59 dj_goku timotimo: didn't see debugging in https://docs.perl6.org/language/nativecall hehe
02:03 dj_goku timotimo: so I have to rebuild moar?
02:07 molaf joined #perl6
02:10 dalek doc: 0890707 | coke++ | / (574 files):
02:10 dalek doc: Rename .pod files to .pod6
02:10 dalek doc: review: https://github.com/perl6/doc/commit/0890707148
02:10 dalek doc: 2055163 | (Aleks-Daniel Jakimenko-Aleksejev)++ | / (574 files):
02:10 dalek doc: Merge branch 'coke/pod6'
02:10 dalek doc: review: https://github.com/perl6/doc/commit/205516381c
02:10 noganex joined #perl6
02:12 AlexDaniel either I am completely blind or github is stupid or something…
02:12 AlexDaniel there were no conflicts :/
02:15 timotimo dj_goku: yeah, only moar, though. and make sure the --debug=3 lands in moarvm's Configure.pl, not in rakudo's or nqp's
02:18 dj_goku timotimo: rakudobrew build moar --configure-opts=debug=3 worked I think.
02:31 timotimo i'm not sure
02:31 timotimo i think there's no good reason to have the default for --debug be 0 in moarvm, tbh
02:38 jjido joined #perl6
02:49 bjz joined #perl6
03:12 japhb sammers: Note that there is a difference between representing truly *nothing*, as in the absence of any value (Nil or Empty), and a value that is undefined, uninstantiated, or not part of the set of valid values of a type (represented in Perl 6 by the type object of a given type).
03:13 TEttinger nothin ain't nothin
03:13 japhb sammers: And note that Any is the type object used to represent undefinedness when the actual type doesn't matter much, but is a "normal" type, or Mu when you specifically want to say that the entire type universe is possible (so including special types such as Junction)
03:13 sammers ok, so for nothing, Nil or Empty. How would I check for a non-declared variable?
03:14 japhb If you try to use a non-declared lexical value, the compiler will complain.
03:14 sammers not undefined, but not declared
03:14 sammers yeah, to avoid complaining
03:14 japhb m: say $foo;  # sammers
03:14 camelia rakudo-moar 75b37e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$foo' is not declared␤at <tmp>:1␤------> 3say 7⏏5$foo;  # sammers␤»
03:14 sammers like a catch
03:15 sammers is that possible in p6?
03:15 sammers or will the compiler always complain?
03:15 japhb You want to prevent the compiler from noticing variables aren't declared, or you want to declared them with use a la Python?
03:16 japhb m: say $Unknown::foo;
03:16 camelia rakudo-moar 75b37e: OUTPUT«(Any)␤»
03:16 sammers well, this is just hypothetical at this point.
03:16 japhb If you explicitly use a namespaced variable name, the compiler will assume you know what you are doing, and allow you to load the footgun.
03:16 sammers thanks compiler
03:16 sammers ok
03:17 japhb (as in the $Unknown::foo example above)
03:17 sammers yeah
03:17 sammers I am just trying to think a scenario where I would want to reference an undefined variable without the compiler complaining.
03:17 sammers I guess if I was dynamically creating the variable name
03:17 sammers and testing for it later
03:19 sammers regarding the Nothingness, I was thinkinb about "bottom type" and how it typically is handled in p6. But I guess (Any), (Str), etc. would be the most common
03:19 japhb Any is the default type for scalar containers if you don't specify something else, so you'll see that a LOT
03:20 sammers ok
03:20 japhb *type for the contents of a scalar container   # to be more precise
03:20 sammers right
03:27 ssotka joined #perl6
03:37 canopus joined #perl6
03:39 huggable joined #perl6
04:16 kurahaupo joined #perl6
04:22 adu joined #perl6
04:34 addison joined #perl6
04:44 xinming_ joined #perl6
04:50 addison joined #perl6
05:00 Cabanossi joined #perl6
05:04 cooper_ joined #perl6
05:37 sortiz joined #perl6
05:42 jjido joined #perl6
05:57 cyphase joined #perl6
06:05 dalek doc/rb-nutshell-reorg: 94dcdf0 | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod:
06:05 dalek doc/rb-nutshell-reorg: Re-arrange the sections in RB-Nutshell
06:05 dalek doc/rb-nutshell-reorg:
06:05 dalek doc/rb-nutshell-reorg: Plus some misc edits
06:05 dalek doc/rb-nutshell-reorg: review: https://github.com/perl6/doc/commit/94dcdf000c
06:06 dalek Heuristic branch merge: pushed 53 commits to doc/rb-nutshell-reorg by awwaiid
06:08 dalek doc/rb-nutshell-reorg: 9326a3a | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod6:
06:08 dalek doc/rb-nutshell-reorg: Remove WIP internal TOC comment
06:08 dalek doc/rb-nutshell-reorg: review: https://github.com/perl6/doc/commit/9326a3a8d4
06:10 cyphase joined #perl6
06:17 travis-ci joined #perl6
06:17 travis-ci Doc build passed. Brock Wilcox 'Merge pull request #288 from perl6/rb-nutshell
06:17 travis-ci https://travis-ci.org/perl6/doc/builds/141259000 https://github.com/perl6/doc/compare/rb-nutshell-reorg
06:17 travis-ci left #perl6
06:20 travis-ci joined #perl6
06:20 travis-ci Doc build passed. Brock Wilcox 'Re-arrange the sections in RB-Nutshell
06:20 travis-ci https://travis-ci.org/perl6/doc/builds/141259254 https://github.com/perl6/doc/compare/4d9482969af1...94dcdf000c15
06:20 travis-ci left #perl6
06:21 jack_rabbit joined #perl6
06:22 travis-ci joined #perl6
06:22 travis-ci Doc build passed. Brock Wilcox 'Merge remote-tracking branch 'origin/master' into rb-nutshell-reorg'
06:22 travis-ci https://travis-ci.org/perl6/doc/builds/141259434 https://github.com/perl6/doc/compare/94dcdf000c15...95a1ea542c29
06:22 travis-ci left #perl6
06:23 travis-ci joined #perl6
06:23 travis-ci Doc build passed. Brock Wilcox 'Remove WIP internal TOC comment'
06:23 travis-ci https://travis-ci.org/perl6/doc/builds/141259796 https://github.com/perl6/doc/compare/95a1ea542c29...9326a3a8d4b0
06:23 travis-ci left #perl6
06:23 abraxxa joined #perl6
06:27 jjido joined #perl6
06:32 firstdayonthejob joined #perl6
06:39 labster joined #perl6
06:52 inokenty joined #perl6
06:57 jjido joined #perl6
07:00 domidumont joined #perl6
07:01 darutoko joined #perl6
07:05 domidumont joined #perl6
07:09 jack_rabbit joined #perl6
07:11 CIAvash joined #perl6
07:14 zakharyas joined #perl6
07:18 roxma joined #perl6
07:23 roxma left #perl6
07:35 rindolf joined #perl6
07:39 bjz joined #perl6
07:39 huggable joined #perl6
07:41 wamba joined #perl6
07:46 sno joined #perl6
07:53 araujo__ joined #perl6
07:56 k-man joined #perl6
07:57 g4 joined #perl6
07:57 g4 joined #perl6
07:58 dakkar joined #perl6
08:00 araujo joined #perl6
08:00 araujo joined #perl6
08:16 RabidGravy joined #perl6
08:18 eyck joined #perl6
08:20 ocbtec joined #perl6
08:22 tienlucc joined #perl6
08:23 tienlucc left #perl6
08:28 tienlucc joined #perl6
08:42 mr-foobar joined #perl6
08:55 ocbtec joined #perl6
08:59 ocbtec joined #perl6
09:01 Bucciarati_ joined #perl6
09:01 gensym_ joined #perl6
09:01 klapperl_ joined #perl6
09:02 jcallen_ joined #perl6
09:02 ranguard_ joined #perl6
09:03 Amnez777- joined #perl6
09:04 cosimo_ joined #perl6
09:04 DrForr joined #perl6
09:04 jnap__ joined #perl6
09:05 zhmylove joined #perl6
09:05 freeze_ joined #perl6
09:06 leedo_ joined #perl6
09:07 M-Illandan1 joined #perl6
09:10 lucs joined #perl6
09:10 simcop2387 joined #perl6
09:11 tlvb| joined #perl6
09:12 cognominal joined #perl6
09:13 diegok joined #perl6
09:15 Khisanth joined #perl6
09:15 bartolin joined #perl6
09:23 iH2O joined #perl6
09:26 cpage_ joined #perl6
09:35 araujo_ joined #perl6
09:37 araujo__ joined #perl6
10:01 gregf_ m: my @arr is Array of Int = 1,2,3;my $ind = -1; say @arr[*$ind] # is there a way to get the last element?
10:01 camelia rakudo-moar 088835: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3 of Int = 1,2,3;my $ind = -1; say @arr[*7⏏5$ind] # is there a way to get the last e␤    expecting any of:␤        infix␤        infix stopper␤        …»
10:02 gregf_ sorry and Hello!
10:02 jnthn @arr[*-1]
10:02 gregf_ er, well -1 is dynamic :|
10:03 jnthn *-$ind or I guess if $ind is already negative then *+$ind :)
10:03 gregf_ oh
10:04 gregf_ my
10:04 gregf_ jnthn++
10:09 tbrowder jnthn: people were excited about functional prog after damian's several presentos at yapc, but then heard tail call opt is not in p6 yet. any kind of forecast?
10:09 jnthn tbrowder: No.
10:10 jnthn tbrowder: There's also a "tail call as a language feature" vs. "tail call as an optimization" thing in there also.
10:10 jnthn And those are different, and the first one is probably what you want when doing FP
10:10 jnthn Because "this might or might not introduce a callframe depending on the optimizer" isn't quite so useful :)
10:11 tbrowder i guess on concern was stack usage
10:11 jnthn Right, that's what you're trying to avoid.
10:12 gregf_ m: my @maps = <zero +ve -ve>;my @arr is Array of Int = -1,0,3; @arr.map: { my $ind = $_ <=> 0; say $_ ~ " is " ~ ( @maps[$ind < 0 ?? *+$ind !! $ind]) } # jnthn, was trying this
10:12 camelia rakudo-moar 088835: OUTPUT«-1 is -ve␤0 is zero␤3 is +ve␤»
10:13 jnthn tbrowder: I think if we end up with something there, it'll be an alternate form of "return" that replaces the current callframe
10:14 tbrowder damian was also asked about any public doc on planned p6 features, todo lists, etc., and he said not to his knowledge, but mayby larry has alist written down somewhere
10:15 jnthn Well, also the design docs (synopses) are a good place to look in that they contain plenty of ideas that didn't make 6.c, but that are considered reasonable for the future.
10:16 tbrowder okay, i keep seeing reference to outdated docs there and wasn't sure about taking deep dives
10:17 tbrowder thank you, jnthn
10:20 abraxxa1 joined #perl6
10:21 jnthn tbrowder: Well, yes, they're not a good place to look for documentation of what works and how things are today largely because they also contain an amount of speculation. :-)
10:24 abruanese joined #perl6
10:26 Xliff jnthn: How much improvement (speedwise) is slated for the precompiler by 6.d?
10:27 Xliff Maybe s/slated/expected/
10:28 jnthn Xliff: Those are unrelated. 6.d is a language version; it only implies things about features/conformance.
10:28 Xliff Ah. So precompiling is more Moar?
10:28 jnthn Xliff: Naturally, by the time 6.d lands I'd expect there to have been plenty of performance work in Rakudo.
10:28 jnthn And Moar
10:28 Xliff (pun intended)
10:29 Xliff jnthn: Fair enough. Thanks!
10:29 jnthn Well, actually the improvements will come at all levels of the stack (Rakudo, NQP, MoarVM)
10:29 abraxxa joined #perl6
10:29 Xliff Ah! Good to know.
10:29 psch Xliff: syntax is a Perl 6 thing.  performance is a Rakudo thing
10:29 jnthn I suspect when we do reach the 6.d point then we'll as part of marketting allow ourselves to blur the lines a bit.
10:30 Xliff psch++ # That actually helped!
10:30 Xliff jnthn++ # Always
10:31 Xliff Well, reason I was curious was because on current project, scripts take ~90 seconds before execution starts.
10:32 psch Xliff: put it in a module, export the MAIN sub :)
10:32 Xliff psch: Already in modules. :)
10:32 Xliff LOTS of modules, actually.
10:32 jnthn Yowser, that's ages
10:32 psch ...remove 'no precompilation'? :S
10:32 Xliff Hence earlier conversations on the subject. Particularly when you change the one module the others depend on.
10:33 Xliff And what 'no precompilation' :P
10:33 psch right... :)
10:35 kaare_ joined #perl6
10:35 Xliff Also, there is some pesky endless loop bug related to type checking that I cannot nail down for the life of me.
10:38 lizmat Xliff: could it be there is an error, and the reporting of the error creates another (or same error) it tries to report ?
10:38 lizmat and from there ad infinitum ?
10:38 nine Xliff: or could it by chance be this bug? https://rt.perl.org/Ticket/Display.html?id=123989
10:38 Xliff lizmat: That could be.
10:39 Xliff nine: Nope. Not that one.
10:39 canopus joined #perl6
10:39 Xliff All I know is that whenever I run into it, I try to gdb it to find out where it occurs, and all backtraces are deep into a repetitive gc cycle.
10:40 Xliff I tracked it back to the method signature, removed the type checking, and it went away.
10:41 Xliff I will git-bisect. I'm sure I have a recent commit where it is demonstratable.
10:41 Xliff However, it's the end of a long night for me and I need some rest.
10:43 araujo_ joined #perl6
10:44 Xliff LOL! Nevermind. Here you go: https://github.com/Xliff/p6-XML-LibXML/commit/2ff9468253b54986df535b357e925782d0d82b5d
10:45 jast joined #perl6
10:45 literal_ joined #perl6
10:45 Xliff If you pull that commit in branch 08elements and run t/06elements.t, you will run into the endless loop.
10:45 esh joined #perl6
10:46 musca joined #perl6
10:46 Bucciarati joined #perl6
10:52 brrt joined #perl6
10:58 rindolf joined #perl6
11:00 sammers hi all
11:01 eyck joined #perl6
11:01 sammers Is there a way to create a namespace / package for a non class module? For example, using Class we can do something like: use Thing; my $thing = Thing.new(); say $thing.something();
11:02 psch m: module Foo { our sub bar { "bar" } }; say Foo::bar
11:02 camelia rakudo-moar 50740b: OUTPUT«bar␤»
11:03 sammers ok, is there a way to use sub bar without ::? and not naked?
11:03 psch m: module Foo {  sub bar is export { "bar" } }; import Foo; say bar
11:03 camelia rakudo-moar 50740b: OUTPUT«bar␤»
11:04 sammers we can do: use Foo; bar();
11:04 sammers but I want to give it a prefix
11:04 sammers like a Class does
11:04 psch why doesn't Foo::bar do that?
11:04 sammers like Foo::bar(), but... is there any other way to handle it?
11:04 sammers yeah it does
11:05 sammers but I was wondering what options are available to us
11:05 psch alternatively, you could use a class that you don't have to (or even forbid to) instantiate
11:05 sammers also, even with Foo::bar, simple bar is still available.
11:05 psch m: class Foo { method new { die "no" }; method bar { "bar" } }; say Foo.bar;
11:05 camelia rakudo-moar 50740b: OUTPUT«bar␤»
11:05 psch not if you don't export
11:05 psch m: module Foo { our sub bar { "bar" } }; import Foo; bar
11:05 camelia rakudo-moar 50740b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    bar used at line 1. Did you mean 'VAR', 'bag'?␤␤»
11:06 sammers ok, so Foo::bar would work, but not bar without is export...
11:06 sammers ok
11:06 sammers what about using another prefix, instead of Foo;;
11:06 sammers Foo::
11:06 psch that would be maliciously confusing in my opinion
11:06 sammers yeah, good point
11:06 Xliff m: class A { method a(A:U:) { say "aay" }; } A.a;
11:06 camelia rakudo-moar 50740b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3lass A { method a(A:U:) { say "aay" }; }7⏏5 A.a;␤    expecting any of:␤        infix␤        infix stopper␤       …»
11:06 psch i don't know if we would still do it, though :)
11:06 Xliff m: class A { method a(A:U:) { say "aay" }; }; A.a;
11:06 camelia rakudo-moar 50740b: OUTPUT«aay␤»
11:07 Xliff m: class A { method new { die "Instantiation not allowed" }; method a(A:U:) { say "aay" }; }; A.a; A.new.a;
11:07 camelia rakudo-moar 50740b: OUTPUT«aay␤Instantiation not allowed␤  in method new at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
11:07 Xliff Sammers: ^^ As psch++ mentioned earlier, this could be another option.
11:08 Xliff And you save one keystroke! :D
11:08 sammers yeah, that is interesting..
11:08 sammers just trying to simplify as much as possible
11:09 Xliff You can even shorten it since I've added the die method.
11:09 eyck joined #perl6
11:09 sammers I like the interface, Foo.bar
11:09 Xliff m: class A { method new { die "Instantiation not allowed" }; method a() { say "aay" }; }; A.a; A.new.a; # Signature not necessary since you can't instantiate
11:09 camelia rakudo-moar 50740b: OUTPUT«aay␤Instantiation not allowed␤  in method new at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
11:10 sammers is there a way to use shortnames with Modules like that Class example in the Modules doc?
11:10 Xliff ??
11:10 Xliff Link, please?
11:11 sammers in this section https://docs.perl6.org/language/modules#EXPORT but a scroll down a bit
11:11 psch m: module Foo { module Bar is export { our sub baz { "quux" } } }; import Foo; say Bar::baz
11:11 camelia rakudo-moar 50740b: OUTPUT«quux␤»
11:12 sammers sub EXPORT($short_name?) {...
11:12 sammers use Foo 'foo'; say foo.bar();
11:14 Xliff Do you want shortname to keep the prefix?
11:15 eyck joined #perl6
11:15 sammers I just want to write a non-class module, but have interface with the Module subs like foo.bar();
11:16 psch why?  that'd just convince people that your not-a-class module *is* a class module?
11:16 sammers yeah, good point. I guess to see if it is possible.
11:18 Xliff I'm sure it's possible. It's just how much effort are you willing to put into making it happen.
11:20 Xliff If you want complete control over how this looked I suspect a Slang could do it. I haven't written one, though so I don't know how much work that would be.
11:21 psch eh, you could probably hack together a ModuleHOW child that delegated methods calls to subs in its Stash, but that's kind of like reinventing pieces of a ClassHOW anyway...
11:21 psch *delegates
11:22 psch and, well, a big difference between a Module and a Class *is* that the latter can already contain methods and dispatch to them successfully... vOv
11:23 sammers hmm, yeah, no need for that. I just was kicking the tires a bit. Does anyone know of a good non-class p6 Module I can take a look at? I just want to see what a good implementation looks like.
11:23 kid51 joined #perl6
11:23 psch m: module Foo { our sub bar { "baz" } }; constant f = Foo::; say f<&bar>() # another weird thing you could do if you like... vOv
11:23 camelia rakudo-moar 50740b: OUTPUT«baz␤»
11:24 psch sammers: i think most contributors actually like the OO we provide, sorry :)
11:24 sammers yeah, I do too...
11:24 Xliff Sammers: Do you have a p5 example?
11:24 sammers I have nothing against OO and I have been enjoying p6, but I like to see what options are available.
11:25 Xliff I'm beginning to suffer from non-caffeine and non-sleep so my answers will start to get less useful! =)
11:26 sammers no p5 example that I can think of
11:28 eyck joined #perl6
11:31 sammers so as a rule should all of our modules stick to the p6 OO concepts as much as possible? it looks like that has become the norm.
11:33 gregf_ m: class Foo { method bar(){ say "Bar"; } };Foo.bar; Foo.new.bar # works either way :|
11:33 camelia rakudo-moar 2f0026: OUTPUT«Bar␤Bar␤»
11:34 gregf_ sammers: are you trying to create a static class which cannot be instantiated?
11:35 grondilu joined #perl6
11:36 dalek doc: 584c7b9 | ianmcb++ | doc/Language/typesystem.pod6:
11:36 dalek doc: fix typo (#654)
11:36 dalek doc:
11:36 dalek doc: `built-in' seems more prevalent than `built in' so I added a hyphen as
11:36 dalek doc: well.
11:36 dalek doc: review: https://github.com/perl6/doc/commit/584c7b90e0
11:36 Xliff sammers: You just want to see how many ways you can call a subroutine with a prefix, correct?
11:36 sammers gregf_: not really trying to accomplish anything. I am just trying to figure out how fully non-OO paradigms can be implemented. and what options are available.
11:36 sammers right
11:38 sammers like are there any examples of a fully fp module with usage?
11:39 sammers or something completely procedural?
11:39 sammers but somehow providing a namespace, which I guess Module does just fine with ::
11:39 huggable joined #perl6
11:40 sammers and how would we go about using an OO module with one of these other paradigms?
11:41 psch however you like..?
11:41 psch i mean, 5 is an object already
11:41 Xliff sammers: I will say again, with Grammars (Slangs) you can redefine how the parser works. You could add a prefixing method of your choice.
11:42 psch m: say 5.HOW.HOW.name(5.HOW)
11:42 camelia rakudo-moar 2f0026: OUTPUT«Perl6::Metamodel::ClassHOW␤»
11:42 Xliff However, this is rabbit hole! Be careful!
11:43 sammers ha, Xliff, yeah, I am just asking to learn how much we can implement any single paradigm divorced from any other paradigm.
11:43 sammers without too many hoops
11:43 psch you can't really, you can just ignore that the other paradigms exist
11:43 psch which is mostly a style choice
11:43 sammers ok, that is a pretty good answer
11:45 Xliff sammers: Right now you can use modules (::) or classes (.)
11:45 Xliff If you want something more esoteric, you will have to get creative.
11:45 Xliff And I mean creative.
11:45 sammers Xliff, ok, thanks. That answers my question.
11:46 Xliff sammers: yw
11:46 psch classes also can do indirect object notation
11:46 Xliff psch: ?
11:46 Xliff (I probably know of this by another name)
11:47 Xliff ::('A').method?
11:47 sammers hmm
11:47 Xliff ::('B')."$method"() ?
11:47 psch m: class A { method foo { "bar" } }; say foo A:
11:47 camelia rakudo-moar 2f0026: OUTPUT«bar␤»
11:47 Xliff O_O
11:47 sammers magic
11:48 Xliff Learn something new every day!
11:48 yqt joined #perl6
11:48 sammers what is the reasoning behind that? say foo A:
11:49 Xliff m: Class A { method foo { say "foo"; } }; class B { method foo { say "bar"; } }; foo A; foo B;
11:49 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5===␤Undeclared names:␤    A used at line 1␤    Class used at line 1␤Undeclared routine:␤    foo used at line 1␤␤Other potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method…»
11:49 psch Xliff: no semi there :)
11:49 psch (as in, just a normal colon :P )
11:49 Xliff m: Class A { method foo { say "foo"; } }; class B { method foo { say "bar"; } }; foo A:; foo B:;
11:49 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5===␤Undeclared names:␤    A used at line 1␤    Class used at line 1␤␤Other potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method foo'?)␤    at <tmp>:1␤    ------> 3Class …»
11:49 psch sammers: someone thought it was a cool idea..?  i'm not sure, it got in before i was around
11:49 Xliff m: Class A { method foo { say "foo"; } }; class B { method foo { say "bar"; } }; foo A: Nil; foo B: Nil;
11:49 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5===␤Undeclared names:␤    A used at line 1␤    Class used at line 1␤␤Other potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method foo'?)␤    at <tmp>:1␤    ------> 3Class …»
11:49 psch Xliff: Class
11:50 Xliff See!! I said less useful!
11:50 Xliff m: class A { method foo { say "foo"; } }; class B { method foo { say "bar"; } }; foo A: Nil; foo B: Nil;
11:50 camelia rakudo-moar 2f0026: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in method foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
11:50 sammers ha
11:50 sammers yeah
11:50 Xliff m: class A { method foo { say "foo"; } }; class B { method foo { say "bar"; } }; foo A:; foo B:;
11:50 camelia rakudo-moar 2f0026: OUTPUT«foo␤bar␤»
11:50 Xliff \o/
11:50 Xliff Don't like that syntax for non-arg methods, though
11:51 Xliff The : and the ; will run together and getcha.... see above.
11:51 psch m: my $a = ^5; say map grep $a: * > 2: * * 2
11:51 camelia rakudo-moar 2f0026: OUTPUT«(6 8)␤»
11:51 gregf_ sammers: https://gist.github.com/anonymous/5f1113eaf2d26f1af9ca767dbdee6af3 <= i just thought of trying this
11:52 Xliff gregf_, but that's just substituting the :: for the .
11:53 psch m: class C { method m { "foo" } }; say m A: # great WAT, btw
11:53 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Alphanumeric character is not allowed as a delimiter␤at <tmp>:1␤------> 3class C { method m { "foo" } }; say m7⏏5 A: # great WAT, btw␤»
11:54 gregf_ Xliff: yeah, true
11:56 xinming joined #perl6
11:56 sammers thanks gregf_, that brings up another question, is there a simple way to wrap a Module in a Class like your example? So for example, writing an OO app, looking to keep things consistent, importing a non-class module but want to use it like a Class... is there a simpler technique to accomplish that?
11:56 psch m: sub f($x) { say "doing things with $x" }; "foo".&f
11:56 camelia rakudo-moar 2f0026: OUTPUT«doing things with foo␤»
11:56 psch just pretend the subs are methods \o/
11:57 sammers yeah, but it brings all the subs in without a Method:: if they are exported for example.
11:57 sammers sorry
11:58 psch there's a ticket about namespace pollution from export-happy modules somewhere...
11:58 sammers Module:::
11:58 sammers ok, so that is what they are called.
11:59 sammers EHMs
11:59 psch ...i literally just made that up?
11:59 psch i mean, the X-happy Y is a pretty normal english idiom, isn't it?
11:59 sammers yeah
11:59 sammers trigger happy
12:00 sammers I guess the only thing someone needs to define is the export to private ratio.
12:01 psch well, the ticket proposed an explicit way of limiting what you do import, no matter if there's a tag defined that covers exactly what you need
12:01 sftf joined #perl6
12:01 psch as in, even if there's no tags defined and DEFAULT exports literally everything, there would be a way to say "i only want those symbols, tyvm"
12:01 psch which i think sounds pretty reasonable, but i don't think anyone has started working on it
12:01 sammers ok
12:03 Xliff use Module only<foo bar baz>; # ???
12:03 xnrand joined #perl6
12:03 psch RT #128090
12:04 psch grr
12:04 psch https://rt.perl.org/Ticket/Display.html?id=128090
12:04 psch Xliff: without a colonpair it probably can't ever parse
12:04 psch ...i think
12:04 psch although i'm probably wrong..? :/
12:06 Xliff use Module :ONLY<foo bar baz>; # ???
12:06 Xliff Of course, that would mean that the :ONLY tag then becomes unavailable for module writers.
12:06 tbrowder need help with: rakudo/nqp
12:06 Xliff Which is why I did it without the colon at first.
12:06 psch Xliff: did you look at the ticket? :)
12:06 psch tbrowder: what's up?
12:06 Xliff Yes.
12:07 Xliff I am saying the same thing. The only difference is minor hairs.
12:07 psch right, i like :SYM fwiw
12:07 Xliff LOL! Traitor! =)
12:07 tbrowder I'm trying an nqp script in the rakudo repo where rakudo was built and locally installed
12:07 Xliff :ONLY reads better, but I care not about the details of the mechanism... only that it exists.
12:07 sftf Hi! Got different {c,m,a}time under win2012 with perl5 and perl6. Why? Please look at the code http://pastebin.com/e3Jy97im
12:08 Xliff tbrowder: Can you gist the script?
12:08 tbrowder when trying to execute the script I get: While looking for 'lib.moarvm': no such file or directory
12:09 tbrowder it's nowhere on my system, even for the rakudobrew version
12:09 psch tbrowder: you're running from the root of the repo and not install/bin/?
12:09 tbrowder yes
12:09 psch tbrowder: don't do that :)
12:09 psch it's really unreliable, for reasons beyond my understanding
12:09 Xliff lol
12:09 pRiVi joined #perl6
12:09 tbrowder okay, so i should put the script there
12:10 psch it's really mostly that being in $RAKUDO_GIT_REPO while running nqp-m is broken somehow
12:10 psch as i said, i don't get vOv
12:10 BrokenRobot Xliff: I like :ONLY more than :SYM :)
12:10 Xliff BrokenRobot++
12:10 Xliff I was about to comment on that RT, but I don't have an account.
12:10 BrokenRobot Register :)
12:11 Xliff Feel free to steal the idea =)
12:11 psch sftf: can you open a ticket on http://rt.perl.org ?
12:11 psch huggable: RT
12:11 huggable psch, nothing found
12:11 pdcawley_ joined #perl6
12:11 psch huggable: bug report
12:11 huggable psch, nothing found
12:11 psch huggable: >:(
12:11 pmurias joined #perl6
12:11 huggable psch, nothing found
12:12 pmurias hi
12:12 psch we have that somewhere there i'm sure :|
12:12 psch o/ pmurias
12:12 BrokenRobot Xliff: https://rt.perl.org/Ticket/Display.html?id=128090#txn-1406770
12:12 BrokenRobot huggable: rakudobug
12:12 huggable BrokenRobot, To report a bug, email detailed description and any test cases to rakudobug@perl.org or use perl6 query on http://rt.perl.org ; see https://github.com/rakudo/rakudo/#reporting-bugs
12:12 Bodger1234 joined #perl6
12:12 Xliff Oh! I do have a Bitcard account. :/
12:14 Xliff BrokenRobot: Are capitalized tags reserved? I can't specify "is export(:ONLY)" in a module and screw things up, can I?
12:14 heatsink joined #perl6
12:15 BrokenRobot Xliff: no they're not reserved
12:15 BrokenRobot m: module Foo { our $x is export(:ONLY) = 42  }; import Foo :ONLY; say $x
12:15 camelia rakudo-moar 2f0026: OUTPUT«42␤»
12:16 BrokenRobot m: module Foo { our $x is export(:BLARG) = 42  }; import Foo :ONLY; say $x
12:16 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Error while importing from 'Foo': no such tag 'ONLY'␤at <tmp>:1␤------> 3export(:BLARG) = 42  }; import Foo :ONLY7⏏5; say $x␤»
12:16 BrokenRobot m: module Foo { our $x is export(:BLARG) = 42  }; import Foo :DEFAULT; say $x
12:16 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Error while importing from 'Foo': no such tag 'DEFAULT'␤at <tmp>:1␤------> 3ort(:BLARG) = 42  }; import Foo :DEFAULT7⏏5; say $x␤»
12:16 Xliff Ah! So an exeption would need to be added to the "is export" trait
12:16 Xliff IF the option were to be added to the language.
12:20 rgrinberg joined #perl6
12:23 tbrowder psch: thanks, the environment there (rakudo/install/bin) seems to work fine with the script there...nqping onward...incrementally...
12:24 Xliff BrokenRobot: Would you expect :ONLY to export symbols not marked as "is export", too?
12:24 Xliff Coz I'm looking at World.nqp... and I'm tempted... :p
12:24 psch pls no
12:24 psch if it's not exportable, nothing can export it
12:24 Xliff No no.
12:24 Xliff I was just asking.
12:25 Xliff Makes things easier.
12:26 Xliff Problem is, the way I see it, I would be special casing :ONLY in both "use" and "is export"
12:26 Xliff s/I would/someone would/ # Let's not get funny ideas, Xliff.
12:28 brrt joined #perl6
12:28 BrokenRobot Xliff: I'd expect the :ONLY to function as the way to create an export tag from the module *user's* rather than module author's side. I don't care if John McAuthor thinks &foo, &bar, and $meow must be exported by default. I only need &foo and I don't want my code to break if they decide to add new functions down the road
12:29 Xliff BrokenRobot, kk.
12:29 BrokenRobot m: module Foo { sub say ($) is export { put "suck it" }  }; import Foo; say 42
12:29 camelia rakudo-moar 2f0026: OUTPUT«suck it␤»
12:29 BrokenRobot ^ that would be impossible if I specified import Foo :ONLY<&bar>;
12:31 skids joined #perl6
12:31 BrokenRobot m: module Bar { sub do-things is export { say "did good" }; module Foo { sub do-things is export { "did bad" }  }; import Bar; import Foo; do-things
12:31 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤A symbol '&do-things' has already been exported␤at <tmp>:1␤»
12:32 BrokenRobot Or that ^. At least it cries about it.
12:33 Xliff BrokenRobot: Well I found do_import in World.nqp and no... it is not as simple as I thought it would be.
12:33 Xliff the import() method works based on tags, not symbols.
12:33 Xliff And my nqp-foo is non-existant so....
12:34 sjn joined #perl6
12:35 BrokenRobot Xliff: the issue here is human element to make the decision, not technological one.
12:35 dalek doc: 94dcdf0 | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod:
12:35 dalek doc: Re-arrange the sections in RB-Nutshell
12:35 dalek doc:
12:35 dalek doc: Plus some misc edits
12:35 dalek doc: review: https://github.com/perl6/doc/commit/94dcdf000c
12:35 dalek doc: 95a1ea5 | (Brock Wilcox)++ | / (588 files):
12:35 dalek doc: Merge remote-tracking branch 'origin/master' into rb-nutshell-reorg
12:35 dalek doc: review: https://github.com/perl6/doc/commit/95a1ea542c
12:35 dalek doc: 9326a3a | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod6:
12:35 dalek doc: Remove WIP internal TOC comment
12:35 dalek doc: review: https://github.com/perl6/doc/commit/9326a3a8d4
12:35 dalek doc: 8c8a24f | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod6:
12:35 dalek doc: Merge pull request #653 from perl6/rb-nutshell-reorg
12:35 dalek doc:
12:35 dalek doc: Rb nutshell reorg
12:35 dalek doc: review: https://github.com/perl6/doc/commit/8c8a24f982
12:37 Xliff BrokenRobot: Yes, but a PR implementing it would almost be fait-accompli.
12:40 BrokenRobot Xliff: but we don't know what we're implementing yet :|
12:40 BrokenRobot Xliff: specifically see comments on the ticket about the exportation way described in S11 that currently is NIY: https://rt.perl.org/Ticket/Display.html?id=128090#txn-1398925
12:41 BrokenRobot Xliff: rushing off with a PR before any solid idea of what is needed is a good way to get your feelings hurt when the PR gets rejected :P
12:42 psch solution: get a commit bit and just push things without asking :P
12:42 BrokenRobot :D
12:42 psch obviously not really
12:42 * psch probably should go do something else
12:42 BrokenRobot ditto...
12:43 psch i'm getting a bit too grumpy at this annoying jvm breakage :|
12:51 sufrostico joined #perl6
12:56 BrokenRobot Swarm of Camelias: https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-xpa1/v/t1.0-9/13537713_1141652422569273_2955016606599534712_n.jpg?oh=c1526d32e8af530f5f94704a71e69306&amp;oe=57F294D3&amp;__gda__=1476807353_4d6dd658708132375ff92dbd37665514
13:00 ufobat joined #perl6
13:00 Xliff BrokenRobot: You have a point, but submitting a PR like that, without discussion would be asking for a rejection. No feelings would be hurt, here.
13:01 Xliff However, based on llfourn's comment (which I needed to read again), the changes to World.nqp would not be trivial
13:01 Xliff Still... I would just wanna try to see if I could.
13:01 ufobat ola :)
13:01 Xliff \o ufobat
13:04 ufobat :-)
13:07 BrokenRobot Xliff: you'd just have to check here if the $tag.key is "ONLY" and then look through tags in $EXPORT and pick out the wanted symbols to import. https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L841
13:07 BrokenRobot Xliff: the only thing is here it calls the EXPORT sub, which still leaves module authors free to crap into others' namespaces :S https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L863
13:08 * pmurias has accidently made a commit with a WIP commit message :/
13:09 jnthn pmurias: But did you push it? :)
13:09 moritz psch: if you haven't pushed it yet, git commit --amend
13:09 jnthn ooh yes, you did :)
13:09 moritz ah well, happens
13:09 pmurias moritz: ammending it was the plan ;
13:10 BrokenRobot m: module Foo { sub EXPORT { {"&lulz" => sub {"YOLO"} } }; sub foo is export { say "meow" } }; import Foo; say lulz
13:10 camelia rakudo-moar 2f0026: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    lulz used at line 1␤␤»
13:10 BrokenRobot Oh, never mind.
13:10 girafe joined #perl6
13:10 jnthn Well, it was in a branch, not in master, so unless you expect lots of people have checked out your branch to hack along you can still rewirte history and force push :)
13:11 jnthn *rewrite
13:11 nine pmurias: just force push :)
13:13 * BrokenRobot notices MONKEY-BRAINS as a reserved pragma...
13:13 BrokenRobot Can't wait for that to be in use :)
13:14 mcmillhj joined #perl6
13:18 Xliff Does that mean that MONKEY-ZOMBIES is soon to be a thing?
13:18 Xliff BrokenRobot: I thought the same thing, but I think $EXPORT is just a list of tags, not symbols.
13:18 Xliff That would have to be added to World.nqp
13:19 BrokenRobot Xliff: this doesn't look like a list to me: https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L581
13:20 Xliff Sorry. HASH of tags, not list.
13:21 Xliff And I'm talking $EXPORT, not &EXPORT
13:21 BrokenRobot I'm also talking $EXPORT.
13:21 Xliff LOL! I didn't get this far.
13:22 jkramer left #perl6
13:22 BrokenRobot Xliff: based on what I see in the sauce, it's a hash with tag keys and symbol stashes as values. You need to go through the values and pick the symbols to import, presumably creating a new stash to pass to self.import in the process
13:22 * BrokenRobot points out it doesn't have any clue what it's talking about.
13:22 BrokenRobot I didn't get "Broken" in the name for no reason ;)
13:23 Xliff ROFLMAO
13:24 Xliff BrokenRobot: Who cares? Brainstorming is fun.
13:24 kurahaupo joined #perl6
13:25 donaldh joined #perl6
13:27 Xliff BrokenRobot: I assume you noticed that $EXPORT is basically $Module.WHO?
13:58 dj_goku joined #perl6
14:03 BrokenRobot Xliff: oh, that's 'cause I linked to the wrong thing in my last link.
14:03 BrokenRobot Xliff: it's a FLATTENABLE_HASH in do_import() sub... I'm assuming that's a.. .hash :) https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L834
14:05 adu joined #perl6
14:05 nine Should be an nqp::hash
14:07 grassass joined #perl6
14:16 Xliff Near as I can tell, it's an nqp::hash that's eqivalent to $Module.WHO;
14:16 Xliff Which I can't really inspect at the perl6 level. I guess I need nqp.
14:17 psch m: say CORE.WHO.keys
14:17 camelia rakudo-moar 04f0b2: OUTPUT«(SIGSEGV WhateverCode Slip &callframe Pair SIGHUP &flat &RETURN-LIST utf8 &infix:<∖> CurrentThreadScheduler PromiseStatus StringyEnumeration Distribution &splice &postcircumfix:<{ }> &callsame &GATHER Backtrace PF_INET6 &sinh &infix:<lt> &print &asech NF…»
14:18 psch m: say CORE.WHO.^methods
14:18 camelia rakudo-moar 04f0b2: OUTPUT«(new BIND-KEY EXISTS-KEY Method+{<anon|48737040>}.new elems iterator STORE STORE_AT_KEY Method+{<anon|48737040>}.new Method+{<anon|48737040>}.new list fmt item perl of ACCEPTS Method+{<anon|48737040>}.new FLATTENABLE_LIST FLATTENABLE_HASH hash Method+{<ano…»
14:18 Xliff Ahh.
14:18 psch m: say CORE.WHO.perl # that's a bit eh, yeah
14:18 camelia rakudo-moar 04f0b2: OUTPUT«Method 'WHICH' not found for invocant of class 'Perl6::Metamodel::ContainerDescriptor'␤  in method push-all at /home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.setting.moarvm line 1␤  in block <unit> at <tmp> line 1␤␤»
14:25 freezerburnV joined #perl6
14:30 cognominal joined #perl6
14:31 ptolemarch joined #perl6
14:40 BrokenRobot Stage parse      :  46.564 :P
14:40 BrokenRobot (24-core box)
14:41 pmurias joined #perl6
14:44 moritz parsing isn't nicely parallelizable
14:44 BrokenRobot t/spec/S11-repository/curli-install.t fails BTW
14:46 BrokenRobot time TEST_JOBS=70 make spectest:    real1m21.471s
14:46 BrokenRobot :D
14:47 BrokenRobot That's about what it takes to do just stage parse on my Linode VM :)
14:49 * BrokenRobot is about to run the fastest make spectest ever run :)
14:49 BrokenRobot 32-core box
14:50 nine sweet
14:55 ssotka joined #perl6
14:57 BrokenRobot Strangely, Stage parse      :  67.336
14:57 BrokenRobot I wonder why such a huge difference :/
14:58 psch what's the bogomips relatively between the two boxes?
14:58 psch cause that's probably more informative than number of cores for a single threaded program
14:59 BrokenRobot ¯\_(ツ)_/¯ I already deleted the 24-core one
15:01 skids joined #perl6
15:03 BrokenRobot 4600.00 on this box
15:03 moritz bogomips sound bogus :-)
15:04 psch yeah, most definitely not useful enough
15:04 psch hack has just short of 4.8k and stage parse was at 56s a few hours ago
15:05 ponbiki left #perl6
15:06 BrokenRobot I'm getting marginally better spectest runs too. Considering this box is like $540/month more expensive, this is just money down the drain
15:06 nine Machines with lots of cores rarely have good single core performance
15:06 BrokenRobot time TEST_JOBS=70 make spectest:    real1m10.300s
15:06 BrokenRobot Too bad
15:07 lizmat I wonder what the longest running test script is: wouldn't be surprised it is about 1:10  :-)
15:08 BrokenRobot oh, heh :)
15:12 BrokenRobot psch: bogomips are the same on the 24-core box
15:13 kurahaupo joined #perl6
15:13 psch i guess that's another notch in the "bogomips are really not useful" column :)
15:14 nine BrokenRobot: bogomips are the worst way possible to compare performance :) They do not have any value at all. None.
15:14 BrokenRobot Ahh :)
15:16 nemo nine: huh. what's the alternative then?
15:17 nine nemo: any benchmark you can put together in five minutes will be more useful. Bogomips stopped being comparable in the middle of the 90s
15:17 nemo nine: I was having fun comparing my RPI3 bogomips to the very first x86 I'd ever owned (one powerable by a modest solar panel, the other needing the power of a small village to match the bogomips)
15:17 psch well, the wikipedia article reads like it's somewhat (but limitedly) useful to compare cpus of a given architecture
15:17 nemo nine: m'k - so if I wanted to compare 2 totally different processors I don't have access to, what metric would I use?
15:18 psch that is, actual core architecture, not instruction set
15:18 nemo nine: i.e. - I can't run code on them.  I just want to get a rough comparison
15:18 nemo either for purchasing decision or just curiosity
15:18 geekosaur there is no such thing as a simple benchmark for such. you test your actual workload, or as close as you can get to it
15:19 nemo geekosaur: welp. given that's impossible, guess I'm stuck w/ bogomips in a situation like that then
15:19 geekosaur because even if the cpu speed is the same, you have cache, memory bandwidth, etc. to deal with
15:19 nemo and any reviews I can find
15:20 geekosaur and bogomips don't even try to deal with those, and moreover can't even be relied on for purely cpu loads (especially if you have hyperthreading enabled)
15:21 geekosaur and if you can't test your actual workload then you're rolling the dice
15:25 nemo sure. but there's a difference between just blindly clicking "buy" on a random CPU and trying to get *some* information about it first
15:26 nemo eh. dunno. seems dubious to me that bogomips have absolutely 0 value
15:27 tomboy65 joined #perl6
15:27 stmuk its well known in the linux community read the wikipedia page
15:27 stmuk the clue is in the name "bogus mips"
15:27 nemo ...
15:27 nemo duh?
15:28 BrokenRobot .oO( bogus imps )
15:28 nine nemo: there's websites publishing benchmark results for CPUs. Just google for the exact two models you'd like to compare and you will find them
15:30 geekosaur the original intended use for bogomips was to calibrate spin locks. even that minimal usage turned out to be unsafe and a source of kernel bugs on multiple processor systems. so at this point bogomips are computed and printed for no reason but to placate people who want to see the bogompis printed
15:30 nemo so. here's my only point... https://en.wikipedia.org/wiki/BogoMips#Proper_BogoMips_ratings  if you look at this list.  the bogomips goes up over time. no shock. it's a measure of execution speed
15:30 richi235 joined #perl6
15:30 nemo so clearly it's measuring something...
15:30 dogbert17 o/ #perl6
15:30 nemo specifically "the number of million times per second a processor can do absolutely nothing"
15:31 geekosaur it's measuring one out of many things that impact actual execution speed
15:31 BrokenRobot dogbert17: \o
15:31 dogbert17 Hello Zoffix :)
15:31 nemo geekosaur: sure. so it has some informational value. that's all I was focused on...
15:31 dogbert17 have a small mystery
15:31 geekosaur and on a multiprocessor system it becomes meaningless as soon as you start another core
15:31 dogbert17 m: say Q:q#Just a literal "\n" here#  # should this work?
15:31 camelia rakudo-moar 04f0b2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤    Q:q used at line 1␤␤»
15:32 BrokenRobot I don't think # can be used as delimiteress, though the error is LTA
15:32 BrokenRobot m: qw#foo bar#
15:32 camelia rakudo-moar 04f0b2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤# not allowed as delimiter␤at <tmp>:1␤------> 3qw#7⏏5foo bar#␤»
15:32 geekosaur on single processor systems it still has some slight meaning
15:32 nemo geekosaur: multicore is a really easy thing to take into account, come on now
15:33 BrokenRobot God.. what have I started... BogoimpGate
15:33 dogbert17 I wonder if it used to work though, it's in the doc https://docs.perl6.org/language/quoting#Escaping%3A_q
15:33 * BrokenRobot shrugs
15:34 nine nemo: "goes up over time" where do you see this? I see a Raspberry Pi in the same category as an Intel Itanium in that list
15:34 dogbert17 I'll fix it just wanted to be sure that it is, in fact, not supposed to work :)
15:35 khw joined #perl6
15:35 nemo nine: heh. overall. yes obv you can still buy chips being produced today w/ incredibly low clock speeds
15:36 nine On ARM systems the BogoMIPS printed are not even the result of measuring anything on the CPU. They are determined by a timer frequency
15:36 nemo yes. mentioned on that page ☺
15:36 nemo nine: which brings up another useful thing w/ bogomips. can be interesting to get a feel for how your phone's processor is dynamically scaling
15:37 dalek doc: b673cc9 | (Jan-Olof Hendig)++ | doc/Language/quoting.pod6:
15:37 dalek doc: Fixed typo and broken quoting example. Zoffix++
15:37 dalek doc: review: https://github.com/perl6/doc/commit/b673cc9b34
15:39 nine BrokenRobot: curli-install.t fixed
15:40 BrokenRobot nine++
15:44 sftp joined #perl6
15:47 gregf_ oh - BrokenRobot is an alias for Zoffix
15:48 dogbert17 gregf_: among others :)
15:49 timotimo he also sometimes goes by sexy-coder-girl
15:51 gregf_ heh
15:51 gregf_ *faints*
15:58 Bodger1234 joined #perl6
16:01 stmuk .tell tadzik I'm getting test fails with Getopt::Type
16:01 yoleaux stmuk: I'll pass your message to tadzik.
16:03 mcsnolte joined #perl6
16:06 tadzik oh noes
16:06 yoleaux 16:01Z <stmuk> tadzik: I'm getting test fails with Getopt::Type
16:07 tadzik works on p6c, so I assume the bless() changes broke it
16:10 araujo joined #perl6
16:11 dalek doc: 0ba7d40 | (Jan-Olof Hendig)++ | doc/Language/quoting.pod6:
16:11 dalek doc: Fixed missing semicolons and another broken example
16:11 dalek doc: review: https://github.com/perl6/doc/commit/0ba7d405f4
16:13 stmuk I tried with 2016.01 and the latest rakudobrew version and get
16:13 stmuk # Failed test at t/01-basic.t line 9
16:13 stmuk # Too many positionals passed; expected 1 argument but got 2
16:22 ponbiki joined #perl6
16:29 araujo joined #perl6
16:32 Xliff Zoffix/Broken/sexy: So how is that keyboard! ;)
16:32 Xliff I may have some disposable income... however I just bought nice, wireless and cheap keyoard.
16:32 Xliff s/keyoard/keyboard/
16:33 * Xliff started to answer dogbert, but calculated lag and realized he's probably been answered already.
16:34 Bodger1234 joined #perl6
16:34 Xliff So when I try to inspect $Package.WHO, I get pretty much nothing.
16:34 Xliff "{:EXPORT(EXPORT)}" to be exact
16:34 BrokenRobot m: class Foo { method new { self.bless: *, :foo<bar> } }.new
16:34 camelia rakudo-moar b93043: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in method new at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
16:35 BrokenRobot bisect: class Foo { method new { self.bless: *, :foo<bar> } }.new
16:35 Xliff So how do I see what is actually going on?
16:35 bisectable BrokenRobot: (2016-06-12) https://github.com/rakudo/rakudo/commit/4179bdc
16:35 Bodger1234 left #perl6
16:35 Xliff Are there docs for the PackageHOW class?
16:36 Xliff Coz that was my next stop.
16:36 BrokenRobot stmuk: weird that it fails with 2016.01... Bisectable points to a June commit
16:36 BrokenRobot Xliff: that's all I know of: https://docs.perl6.org/language/mop
16:36 stmuk BrokenRobot: I'll recheck maybe my paths are confused
16:38 Xliff BrokenSexyCoderRobot: Thanks! =)
16:38 BrokenRobot Xliff: the keyboard...  Well, it works and is good to type on, but I haven't had a chance to make the extra keys work. They work -almost- fine on Windows; the copy/paste mode fails half the time, pasting the wrong thing. On Linux, the unofficial driver doesn't support those keys ATM and I didn't bother trying to hack them in, and worst of all, the keys don't work in a Linux running in a VM inside the Windows
16:38 BrokenRobot host, despite them working in Windows host.
16:38 BrokenRobot So, in summation, I haven't had the time to fix the extra keys, even though I like the keyboard without them anyway :)
16:38 Xliff D'oh!
16:39 Xliff Dammit, you spent enough on that keyboard it should be making you coffee in the morning with limited work.
16:39 Xliff I'd ask for my money back! 8-)
16:39 BrokenRobot heh.
16:40 BrokenRobot I'd have to return two keyboard to two different companies in two different countries :)
16:40 Xliff BrokenCoderGirl: For one great price!
16:40 Xliff Rut roh... I've had my caffeine and I appear to be getting punchy. :/
16:40 stmuk BrokenRobot: my error .. I get passes at 2016.04 and didn't check further
16:41 mr-foobar joined #perl6
16:41 BrokenRobot stmuk: sweet. At least we know what broke it :)
16:42 gregf_ Br0kenSexyCoderGirlRobot looks fine as well.. *a bit too much to type*
16:44 setty1 joined #perl6
16:44 BrokenRobot Cool, Rakudo has 777 stars :)
16:44 * BrokenRobot collects the winnings
16:46 BrokenRobot Ah, OK, it's intended "breakage"
16:48 canopus_ joined #perl6
16:49 BrokenRobot tadzik: stmuk: I've sent a PR to fix breakage. .bless() was made not to take positionals because it wasn't doing anything with them anyway, and we got a 180% speed increase. Positionals aren't in the roast, so it's OK that it was changed that way: https://github.com/tadzik/Getopt-Type/pull/1
16:51 yqt joined #perl6
16:52 Xliff Rakudo::Internals.EXPORT_SYMBOL <- Is this nqp or Moar?
16:54 BrokenRobot Xliff: it has .pm extension, so I'd assume it's perl 6: https://github.com/rakudo/rakudo/blob/nom/src/core/Rakudo/Internals.pm
16:54 Xliff Huh! Why didn't my find... find that file?
16:54 rindolf joined #perl6
16:55 stmuk BrokenRobot++
16:56 BrokenRobot That's most hilarious code I've seen all day: https://github.com/perl6/nqp/blob/master/t/qast/01-qast.t#L1072
16:58 Xliff BrokenRobot++: It is 'hilarious' isn't it?
16:59 Actualeyes joined #perl6
17:04 wisti joined #perl6
17:05 Xliff Hrm. I can see my constants via WHO, but not my exports.
17:07 addison joined #perl6
17:10 andreoss joined #perl6
17:12 andreoss what is the name of .? ?
17:12 andreoss safe call?
17:13 BrokenRobot .oO( So, call me maybe... )
17:18 BrokenRobot andreoss: I see no names neither in the docs nor in the specs.
17:18 BrokenRobot can-call is what I'd call it
17:19 andreoss https://en.wikipedia.org/wiki/Safe_navigation_operator
17:19 andreoss i guess it's a canonical name
17:19 BrokenRobot Cool
17:20 andreoss i thought maybe there would be a perl way to call it
17:22 dalek doc: ccdf7c7 | (Zoffix Znet)++ | doc/Language/operators.pod6:
17:22 dalek doc: .? is called safe call operator
17:22 dalek doc:
17:22 dalek doc: As per https://en.wikipedia.org/wiki/Safe_navigation_operator
17:22 dalek doc: review: https://github.com/perl6/doc/commit/ccdf7c783b
17:23 Xliff Well... I'm too brain fried to dig anymore.
17:24 Xliff I will find it eventually.
17:28 BrokenRobot m: class InfiniteLoop { has &.code; method sink { &.code()(); self.new: :&.code; Nil } }.new: code => { say "egads!"; }
17:28 BrokenRobot \o/
17:29 camelia rakudo-moar b93043: OUTPUT«(timeout)egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egads!␤egad…»
17:39 rahogaboom joined #perl6
17:43 mr-foobar joined #perl6
17:45 andreoss m: class InfiniteLoop { method new(:&code) { code(); self.new(:&code) } }.new: code => sub { say "hi! "}
17:45 camelia rakudo-moar b93043: OUTPUT«(timeout)hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi! ␤hi…»
17:46 andreoss what sink does?
17:49 andreoss m: class { method sink { say "sink" } }.new ; Nil
17:49 camelia rakudo-moar b93043: OUTPUT«sink␤»
17:52 andreoss m: say class { method Numeric { 1 } }.new  + 1;
17:52 camelia rakudo-moar b93043: OUTPUT«2␤»
17:52 domidumont joined #perl6
17:53 andreoss Contextual::Return
17:54 fhorck joined #perl6
17:59 rurban_ joined #perl6
18:01 spider-mario joined #perl6
18:02 gfldex joined #perl6
18:02 spider-mario joined #perl6
18:20 dalek doc: 22c1f65 | (Zoffix Znet)++ | doc/Language/grammars.pod6:
18:20 dalek doc: Index TOP and ws tokens
18:20 dalek doc: review: https://github.com/perl6/doc/commit/22c1f6501c
18:25 cpage_ joined #perl6
18:25 araujo joined #perl6
18:26 buharin joined #perl6
18:32 setty1 joined #perl6
18:43 Von_Cheam joined #perl6
18:46 sufrostico joined #perl6
18:51 kerframil joined #perl6
18:54 Von_Cheam Hi, I'm having trouble installing the GD module via Panda; it appears as though it's failing testing because liblibgd.so can't be found. I have libgd-dev and libgd3 packages on my ststem (Ubuntu 16.04). I've posted the panda output to pastebin: http://pastebin.com/0LFkQE7r
18:54 Von_Cheam Any help or suggestions appreciated!
18:55 timotimo seems like the gd module has "libgd" in its "is native" where it should be "gd" instead
18:57 Von_Cheam okay, I'm not super experienced with github or panda (or indeed programming..); is there a way I can maybe pull it from github, rename all the "libgd"s to "gd"s, and then have panda build from my modified version?
18:57 timotimo working on a fix
18:57 Von_Cheam Oh, awesome, thanks!
18:58 timotimo but you can just tell panda to "panda install ." or "panda install folder/" in the future
18:58 Von_Cheam Okay, cheers.
18:58 cshelton joined #perl6
18:59 timotimo i pushed the changes, you should be able to "panda install GD" now
19:00 vendethiel joined #perl6
19:01 Von_Cheam Okay, trying now..
19:02 Von_Cheam Yeah, that's worked. Thanks loads!
19:02 domidumont joined #perl6
19:03 timotimo hooray
19:03 timotimo i'll probably be AFK for a while for dinner & TV, but you can open issues on github if you'd like: https://github.com/perl6-community-modules/perl6-GD/issues
19:04 timotimo in general, http://modules.perl6.org/repo/GD is how you'd get to the repository website knowing only the name of the module
19:04 Von_Cheam Okay, thanks and stuff. Have a good one!
19:05 dalek doc: 9e305f3 | (Zoffix Znet)++ | doc/Language/grammars.pod:
19:05 dalek doc: Document protoregexes
19:05 dalek doc: review: https://github.com/perl6/doc/commit/9e305f3f71
19:05 itaipu joined #perl6
19:05 DrForr m: class X { method f { my $x; $x ~~ Y }; class Y { } }
19:05 camelia rakudo-moar b93043: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Illegally post-declared type:␤    Y used at line 1␤␤»
19:06 DrForr Classes need to be declared before methods that use them?...
19:06 BrokenRobot Yeah
19:06 BrokenRobot m: class X { class Y { ... }; method f { my $x; $x ~~ Y }; class Y { } }
19:06 camelia rakudo-moar b93043: ( no output )
19:06 DrForr (if they do, that's fine, but it seemed to be odd behavior to me.)
19:07 lizmat you can stub a class though
19:07 lizmat m: class A { ... }
19:07 camelia rakudo-moar b93043: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤The following packages were stubbed but not defined:␤    A␤at <tmp>:1␤------> 3class A { ... }7⏏5<EOL>␤    expecting any of:␤        postfix␤        statement end␤»
19:07 timotimo Von_Cheam: i must warn you, though: the readme says "this moudle is work in progress", but it hadn't been touched since december 2015
19:07 lizmat m: class A { ... }; class A { has $.a }
19:07 camelia rakudo-moar b93043: ( no output )
19:07 DrForr It's not worth the effort, I'l just reshuffle the method.
19:09 BrokenRobot huh... my commit looks weird :S why is everything an addition :/
19:09 BrokenRobot Ooohhh
19:09 BrokenRobot The pod6 rename and I had the file open in my editor from before the rename
19:12 dalek doc: 1e5989d | (Zoffix Znet)++ | doc/Language/grammars.pod (2 files):
19:12 dalek doc: Merge grammars.pod and grammars.pod6
19:12 dalek doc:
19:12 dalek doc: Commit https://github.com/perl6/doc/commit/9e305f3f71 accidentally
19:12 dalek doc: duped the old copy of the file.
19:12 dalek doc: review: https://github.com/perl6/doc/commit/1e5989d9f3
19:15 Von_Cheam left #perl6
19:21 itaipu joined #perl6
19:21 zakharyas joined #perl6
19:23 addison joined #perl6
19:24 brrt joined #perl6
19:30 itaipu joined #perl6
19:35 TEttinger joined #perl6
19:35 _dolmen_ joined #perl6
19:37 kid51 joined #perl6
19:40 huggable joined #perl6
19:41 _mg_ joined #perl6
19:43 Xliff What's the best way to determine parse times in a P6 script?
19:43 labster joined #perl6
19:44 lizmat m: say INIT now - BEGIN now
19:44 camelia rakudo-moar b7c852: OUTPUT«0.01175478␤»
19:44 wisti joined #perl6
19:44 dalek doc: 540a340 | (Zoffix Znet)++ | / (2 files):
19:44 dalek doc: Reduce line-height in code samples
19:44 dalek doc: review: https://github.com/perl6/doc/commit/540a3403c6
19:44 lizmat Xliff: ^^^
19:47 BrokenRobot lizmat: would that include the time it took to parse the stuff before the BEGIN?
19:48 BrokenRobot I gess that
19:48 BrokenRobot 's a stupid question :) You have to put the stuff you're measure after that line
19:48 lizmat no, this would exclude any parse time of code before the BEGIN and the time it took to parse the BEGIN thunk itself
19:48 BrokenRobot neat
19:49 Xliff perl6 --stagestats # irclog++ -- http://irclog.perlgeek.de/perl6/2016-03-01#i_12124459
20:00 Xliff Stage parse      :  59.581 # !! o_0
20:00 Xliff That's almost as long as it takes to parse Perl6 itself!
20:04 lizmat Xliff: anything special about your code?  size ??   unicode characters used ?
20:14 moritz the AppVeyor rakudo builds seem to flap several times a day
20:14 moritz does anybody know what's going on there and maybe even have some ideas on how to stop it?
20:15 Xliff lizmat: Prolly size and number of classes.... not sure.
20:15 lizmat settings now clock just under 40K lines: is your source anywhere near that ?
20:17 Xliff No.
20:17 Xliff Number of classes is just over 60.
20:18 lizmat hmmm...
20:19 Xliff About 3500 loc
20:20 Xliff That's modules only... not scripts.
20:20 lizmat perhaps jnthn has more ideas about that
20:20 Xliff I'll ask him when I see him then. Thanks, lizmat++
20:22 mr-foobar joined #perl6
20:22 Xliff Now can someone tell me why this: "sub parse-string($s, :$flags) is export {"
20:22 Xliff is throwing a number of positionals error when invoked like this:
20:23 Xliff parse-string(
20:23 Xliff $dtd ~ $xml,
20:23 Xliff XML_PARSE_DTDATTR | XML_PARSE_NOENT | XML_PARSE_DTDLOAD
20:23 Xliff );
20:23 Xliff Says "expecting 1 but got 2"
20:24 Xliff Oh. DUH! Nevermind.
20:34 sno joined #perl6
20:41 kanishka joined #perl6
20:42 mr-foobar joined #perl6
20:53 Xliff Stage parse      :  74.522 # /o\
20:53 Xliff Same script, different changes.
20:54 Xliff Minor changes, but...
20:55 nine That really sounds unreasonably slow. Does this code do anything special or is it really just 3KLOC of mundane code?
20:57 timotimo Xliff: you can --profile-compile, btw
20:57 timotimo also, do you "use" a bunch of things?
20:57 timotimo or use many "is" traits?
20:58 ocbtec joined #perl6
21:02 Xliff Yes. A few is traits for aliasing.
21:02 Xliff And a moderate number of "use" statements, but nothing that I would call excessive.
21:03 Xliff There is one thing. We have one module that exports an is trait, but that export doesn't seem to take so we have to redefine it in modules that need to use it.
21:03 Xliff There is one is trait, redefined across a few files.
21:03 Xliff nine: 3kloc of nativecall bindings.
21:04 nine Inline::Perl5 is 1 KLOC and uses 60 is traits, yet compiles in < 5 seconds
21:04 Xliff So many "nativecast"s and "is native"S
21:04 nine Xliff: have you tried running with RAKUDO_MODULE_DEBUG=1 ?
21:05 Xliff OK. I will start nixing is traits and see if that speeds things up.
21:05 Xliff nine: No. Not yet.
21:05 Xliff When I do that, I expect I will need to dump to a file.
21:05 nine Might shine some light on whether it's module loading that's so slow or really the parsing
21:08 Xliff Looks like its precomp
21:09 Xliff precomp/parsing
21:09 nine Can you paste the output somewhere?
21:09 Xliff Yeah. One sec. Waiting for it to complete.
21:10 Xliff Still hasn't finished yet. That's odd.
21:12 Xliff I'm going to give it some time coz ... DEBUGE
21:12 Xliff s/E$//
21:17 shadowpaste "xliff" at 217.168.150.38 pasted "Module Debug of code" (179 lines) at http://fpaste.scsys.co.uk/525084
21:17 sufrostico joined #perl6
21:17 Xliff nine: ^^
21:24 Xliff Script never finished with RAKUDO_MODULE_DEBUG=1
21:26 Xliff And now I'm getting a Junction where I'm not supposed to.
21:30 yx_ joined #perl6
21:32 Amnez777 joined #perl6
21:32 _mg_ joined #perl6
21:34 Zoffix joined #perl6
21:35 Zoffix nqp-m: my %h := <foo bar ber bor>; say(%h<foo>);
21:35 camelia nqp-moarvm: OUTPUT«This representation (VMArray) does not support associative access (for type NQPArray)␤   at <tmp>:1  (<ephemeral file>:<mainline>)␤ from gen/moar/stage2/NQPHLL.nqp:1505  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:eval)␤ from gen/moar/stage2/N…»
21:36 Zoffix Is there a way to create a hash from a bunch of things?
21:36 moritz nqp-m: my %h = hash(<foo bar ber bor>); say(%h<foo>)
21:36 camelia nqp-moarvm: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " hash(<foo"␤   at gen/moar/stage2/NQPHLL.nqp:706  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic)␤ from <unknown>:1  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moa…»
21:36 dalek ecosystem: 1ba6aef | (Sterling Hanenkamp)++ | META.list:
21:36 dalek ecosystem: Add DateTime::DST to the ecosystem
21:36 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/1ba6aef013
21:36 moritz nqp-m: my %h := hash(<foo bar ber bor>); say(%h<foo>)
21:36 camelia nqp-moarvm: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤   at gen/moar/stage2/NQPCORE.setting:780  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPCORE.setting.moarvm:hash)␤ from <tmp>:1  (<ephemeral file>:<mainline>)␤ from gen/moar/stage2/NQPHLL.nqp:150…»
21:36 moritz nqp-m: my %h := nqp::hash(<foo bar ber bor>); say(%h<foo>)
21:36 camelia nqp-moarvm: OUTPUT«Iteration past end of iterator␤   at gen/moar/stage2/QAST.nqp:2108  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/QAST.moarvm:)␤ from gen/moar/stage2/QAST.nqp:2106  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/QAST.moarvm:)␤ from gen/moar/stage2/QAST.nqp:1584…»
21:36 moritz grrr
21:37 Some-body_ joined #perl6
21:37 firstdayonthejob joined #perl6
21:37 psch_ joined #perl6
21:38 spidermario joined #perl6
21:38 zzzzzzzz1 joined #perl6
21:39 plushkava joined #perl6
21:40 Zoffix m: use nqp; my %h = nqp::hash('foo', 'bar', 'ber', 'bor'); say %h
21:40 camelia rakudo-moar 042e6c: OUTPUT«{ber => bor, foo => bar}␤»
21:40 Zoffix nqp-m: my %h := hash('foo', 'bar', 'ber', 'bor'); say(%h)
21:40 camelia nqp-moarvm: OUTPUT«Too many positionals passed; expected 0 arguments but got 4␤   at gen/moar/stage2/NQPCORE.setting:780  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPCORE.setting.moarvm:hash)␤ from <tmp>:1  (<ephemeral file>:<mainline>)␤ from gen/moar/stage2/NQPHLL.nqp:150…»
21:40 Zoffix ¯\_(ツ)_/¯
21:42 kerframil joined #perl6
21:43 moritz nqp-m: my %h; %h.STORE(<a b c d>); say(%h<a>)
21:43 camelia nqp-moarvm: OUTPUT«Cannot find method 'STORE': no method cache and no .^find_method␤   at <tmp>:1  (<ephemeral file>:<mainline>)␤ from gen/moar/stage2/NQPHLL.nqp:1505  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:eval)␤ from gen/moar/stage2/NQPHLL.nqp:1708  (/hom…»
21:43 timotimo you have to nqp::hash(|@the_list)
21:43 timotimo if that even works at all
21:43 moritz nqp-m: my %h := hash(); %h.STORE(<a b c d>); say(%h<a>)
21:43 camelia nqp-moarvm: OUTPUT«Cannot find method 'STORE': no method cache and no .^find_method␤   at <tmp>:1  (<ephemeral file>:<mainline>)␤ from gen/moar/stage2/NQPHLL.nqp:1505  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:eval)␤ from gen/moar/stage2/NQPHLL.nqp:1708  (/hom…»
21:43 timotimo otherwise, you'll likely have to push over and over again
21:44 timotimo i expect the code gen currently does it the same way, i.e. turn a nqp::hash(...) into a series of bindkey operations
21:44 Zoffix :/
21:44 Zoffix Thanks.
21:44 yqt joined #perl6
21:46 tbrowder BrokenRobot: I am having some success, finally, in getting to the root of the pod table parse problem...hope to have some good results tomorrow some time
21:46 Zoffix Sweet. tbrowder++
21:47 labster joined #perl6
21:49 tbrowder one thing I've learned is NOT to add a comment at the end of a table row!
21:50 lizmat ++tbrowder
22:00 Actualeyes joined #perl6
22:01 nine Xliff: that's very odd. What rakudo version are you on?
22:02 nine Time for sleep
22:03 lizmat gnight nine!
22:03 Xliff nine: This is Rakudo version 2016.06-15-gd9956e5 built on MoarVM version 2016.06
22:03 Xliff nite nite, nine
22:04 Xliff Thanks for looking into this.
22:05 Zoffix tbrowder, BTW you were asking earlier about running NQP subs.... If it's just NQP without rakudo bits, you can run NQP by itself by cloning https://github.com/perl6/nqp; then perl Configure.pl --gen-moar --backends=moar; make; and you can run ./nqp-m -e 'some code'. There's may be a built nqp when you build rakudo too.
22:05 Xliff OMG! camelia supports nqp?
22:06 * Xliff twists mustache.....
22:06 lizmat m: use nqp; nqp::say("yes")
22:06 camelia rakudo-moar 9be48e: OUTPUT«yes␤»
22:06 dalek doc: 7b9aa3f | (Jan-Olof Hendig)++ | doc/Type/Date.pod6:
22:06 dalek doc: Added docs for Date.clone
22:06 dalek doc: review: https://github.com/perl6/doc/commit/7b9aa3f91c
22:06 Zoffix Xliff, just don't run    nqp: test
22:07 lizmat ah, like that, ok, yes  :-)
22:18 richi235 joined #perl6
22:19 timotimo http://hack.p6c.org/~timo/mini_crashes.tar.xz  -  about a thousand .moarvm files that can segfault or otherwise crash moarvm (when run out of the input_files/ folder); if someone wants to go through them all and categorize the failures into "caused because arg_* was passed a vastly out-of-range index" and "anything else", that'd be pretty rad
22:21 timotimo moritz: can you check out what these recent messages in hack's dmesg are about? it seems like vda2 caused some confusion?
22:22 timotimo is vda2 supposed to be mounted?
22:22 timotimo because it isn't
22:23 timotimo and why the F is disk usage on / still rising steadily :(
22:23 timotimo it's mostly in /var/log/atop
22:24 timotimo today's log is still 280 megabytes big :\
22:35 canopus joined #perl6
22:43 tbrowder basically what i've been doing is using a p6 script with the pod table of concern on it and inserting lots of debug print statements in rakudo/src/Perl6/Pod.nqp to see what's happening at each processing step. i now know where the problem is happening and believe i can fix it. most of today was finding out how to stringify stuff in nqp. and instrumenting
22:43 tbrowder Pod.nqp. The repeated build install cycle slowed me down a bunch--there's probably a better way to do it but at least i'm getting comfy with pod guts..
22:44 tbrowder i didn't make much progress with running nqp alone, so i took the higher road as a driver
22:45 timotimo i don't have a better way for you than the rebuild cycle, but i can tell you this much: when i last worked on the pod code, rakudo took at least two times as long to build the core setting :)
22:45 Sgeo_ joined #perl6
22:47 Woodi joined #perl6
22:48 tbrowder on my laptop the build/install cycle was taking a bit under 3 minutes with bleed (from early this AM US CDT)
22:51 Amnez777 joined #perl6
22:55 timotimo 3 minutes? that's rough
22:57 tbrowder well, i could fire up my big server but it heats up my study a lot; can i use 'make -j N
22:57 tbrowder (oops) 'make -j N' for multiple cores?
22:59 timotimo that part of the build doesn't parallelize :(
22:59 timotimo if you're running spec tests, though, you can use the TEST_JOBS environment variable
22:59 AlexDaniel joined #perl6
23:00 tbrowder i mean i know i can but i think i saw some comment that "the build doesn't parallelize"
23:00 AlexDaniel .u ∿
23:00 yoleaux U+223F SINE WAVE [Sm] (∿)
23:01 tbrowder thanks for tip on test env var
23:02 timotimo you know you can get an account on hack.p6c.org if you want to?
23:02 kurahaupo joined #perl6
23:11 kurahaupo joined #perl6
23:12 ssotka left #perl6
23:14 tbrowder how fast is the build/install cycle on hack.p6c.org?
23:15 timotimo i can have a look
23:15 Zoffix Stage parse      :  61.660
23:15 Zoffix mas+opt is another 17
23:16 timotimo i need to clone all that stuff
23:16 timotimo Zoffix: how about actions, grammar, world, and pod modules?
23:17 tbrowder well my laptop does that, the time i quoted was the whole process (make; make install)
23:18 Zoffix tbrowder, today I ran the build on 24- and 32-core boxes. The best time I got was ~42s for Stage Parse and a few secs for the rest of the stuff
23:19 Zoffix Sadly, it's not that easy to make it run faster :(
23:19 timotimo i shouldn't compile moarvm with unlimited processes at the same time you're doing a measurement, i guess
23:19 Zoffix XD
23:19 Zoffix zoffix@hack:~/rakudo$ time $(perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make install)
23:19 Zoffix Stage start      :   0.000
23:19 Zoffix Stage parse      :  64.377
23:19 Zoffix Stage syntaxcheck:   0.000
23:19 Zoffix Stage ast        :   0.000
23:19 Zoffix Stage optimize   :   6.721
23:20 Zoffix Stage mast       :  11.956
23:20 Zoffix Stage mbc        :   0.201
23:20 Zoffix installed!
23:20 Zoffix -bash: ATTENTION:: command not found
23:20 Zoffix real    2m1.467s
23:20 tbrowder um, my actual last run stage parse was 73 sec and total of 2m17s, not too bad all in all
23:20 Zoffix user    1m57.812s
23:20 Zoffix sys     0m1.404s
23:20 Zoffix zoffix@hack:~/rakudo$
23:20 Zoffix ooops
23:20 Zoffix Sorry
23:21 timotimo also, hack is under a *bit* of load from my fuzzing stuff :S
23:21 timotimo http://collect.p6c.org/  <- click on hack.p6c.org, then on cpu, to see it
23:22 timotimo on the bottom there's buttons for hour, day, week, month, year
23:27 * timotimo commutes
23:30 Zoffix Takes 1m28.933s on 24-core/90GB RAM box: https://gist.github.com/zoffixznet/2def454c26ceac25c3c002821c79bd44
23:32 Zoffix m: my $fast  = 1 + 28.933/60; my $slow = 2 + 1.467/60; say "{($fast-$slow)/$fast*100}% faster"
23:32 camelia rakudo-moar e9019e: OUTPUT«-36.582596% faster␤»
23:32 canopus joined #perl6
23:32 Zoffix m: my $fast  = 1 + 28.933/60; my $slow = 2 + 1.467/60; say "{($slow-$fast)/$slow*100}% faster"
23:32 camelia rakudo-moar e9019e: OUTPUT«26.7842295% faster␤»
23:38 kurahaupo Zoffix: 26% less time is ~34% faster. perhaps some reciprocals are needed
23:39 huggable joined #perl6
23:42 kurahaupo m: my $fast = 88.933/60; my $slow = 121.467/60; say "{($slow/$fast - 1)*100}% faster"
23:42 camelia rakudo-moar e9019e: OUTPUT«36.582596% faster␤»
23:45 canopus joined #perl6
23:45 Zoffix Aren't "less time" and "faster" synonyms?
23:57 sortiz joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo