Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-04-14

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:00 MadcapJake teatime: I really do think that there should be an agreed upon standard for how to write docs inside code
00:00 timotimo that must be why perl5 users usually put the pod at the far end of the file
00:00 MadcapJake that'
00:00 Juerd teatime: I find pod in code absolutely terrible and find it hard to read code that uses it, because POD has its own, wildly different, block syntax. It has its own ideas on indentation and vertical whitespace.
00:00 MadcapJake that's one thing that's nice about doxygen and it's ilk, the documentation is uniformly laid out
00:01 teatime MadcapJake: Literate _______ is fun, where you have a doc that includes code blocks and the interpreter strips out the code blocks and concats them together to get the source code.
00:01 Juerd timotimo: This is indeed why I put my POD at the end of the code.
00:01 ZoffixWin teatime, as for relatedness. Well, docs not matching code is a "bug" in my mind.
00:01 teatime ZoffixWin: naturally.  and one of the goals when you author is to minimize the chance of future bugs :)
00:01 timotimo so you minimize the amount of docs? :D
00:02 teatime lol
00:02 ZoffixWin doxygen.... there are many libs that have nothing but doxygen-generated docs--and I'm no C guru--they suck
00:02 teatime not that I'm saying always put the docs in the code, but as Juerd for documenting APIs and such I feel like it's the best place.
00:02 MadcapJake ZoffixWin: they're the only way I can ever navigate a C codebase
00:02 ZoffixWin Interesting.
00:02 teatime ZoffixWin: that's a combination of doxygen sucks and/or people suck by being too lazy to make decent docs / additional non-code docs / doxygen configuration
00:03 teatime but I agree, auto-gen'd docs usually sucks for various reasons
00:03 timotimo some of these reasons being obvious
00:04 Juerd One issue I have with a docstring-like approach is that not everything that I'd want to document, is a block that can contain a string literal. For example, with "has $.foo is rw;" I want to document .foo
00:04 teatime MadcapJake: I actually think having a (subset of) doc layout that mirrors the code is generally a fail
00:04 Juerd At one point I suggested "is explained("...")" or "is documented("...")" as a tongue-in-cheek suggestion. I haven't been able to come up with something better.
00:04 MadcapJake teatime: like where the pod is laid out in a similar fashion to the codebase?
00:04 teatime might work well for a few codebases, but most would benefit from some human intervention in where to make section/chapter breaks
00:05 teatime MadcapJake: no, as in, the "docs" show you a file/class hierarchy from the code
00:05 ZoffixWin The best docs I've seen to date are that of P5's Mojolicious (https://metacpan.org/pod/Mojolicious). They're concise enough to get the gist and if you can look at the source to get the details.
00:05 ZoffixWin There *is* such a thing as too many docs.
00:05 Juerd Many things that I like to see in documentation, can now be put in signatures.
00:05 MadcapJake https://github.com/jashkenas/journo/blob/master/journo.litcoffee
00:06 timotimo that's literally coffee
00:06 MadcapJake literARy you mean :P
00:07 Juerd Can you *name* your return value, with -->?
00:08 Juerd i.e. if you indicate --> Bool, can you hint that this boolean indicates success?
00:08 MadcapJake no, you can make it a constant though
00:08 Juerd That's another thing that would make documentation more consistent if automated.
00:08 teatime in past projects I have used a specialish block comment syntax (e.g. /** */ to indicate embedded markdown, and then had a file that manually included every file that contained docs (although sometimes with globbing) so that I could have control over sections etc. and ordering.  and also I would be aware of where in the hierarchy I was when writing the markdown, so that I could do whatever was appropriate (have
00:08 teatime a section header, or not, etc.)
00:08 teatime it worked pretty well, but it worried me because it felt like it would be fragile.
00:09 timotimo putting a variable name after the --> is planned, but NYI
00:09 teatime heh, you could:  name the return value, and then assign to it in the block to override implicit return value!
00:10 Juerd Hm, a variable name. How would that work? Would it declare the variable, and would you do "--> Bool $success;" and then "$success = True;" instead of "return True;"?
00:10 ZoffixWin m: subset Meows of Any where /foo/; sub foo ( --> Meows ) { "bart" }; foo
00:10 camelia rakudo-moar 4f3f1c: OUTPUT«Type check failed for return value; expected Meows but got Str ("bart")␤  in sub foo at /tmp/uzkir6Aef9 line 1␤  in block <unit> at /tmp/uzkir6Aef9 line 1␤␤»
00:11 timotimo %)
00:11 timotimo brilliant
00:11 teatime timotimo: which?
00:11 timotimo the subset one
00:11 timotimo Juerd: i expect it to work like that
00:12 MadcapJake m: subset IsSmall of Bool; sub foo($i --> IsSmall) { $i < 100 }; foo(10).say
00:12 camelia rakudo-moar 4f3f1c: OUTPUT«True␤»
00:12 timotimo in that example i don't see a reason to not call the sub is-small instead
00:15 MadcapJake timotimo: sure, trivial example I suppose
00:15 timotimo hm. i wonder how efficient subset types are where we don't have a refinement
00:17 MadcapJake m: subset SmallStr of Str where *.chars < 10; sub foo($s --> SmallStr) { $s x $s.chars }; foo('two').say; foo('four').say;
00:17 camelia rakudo-moar 4f3f1c: OUTPUT«twotwotwo␤Type check failed for return value; expected SmallStr but got Str ("fourfourfourfour")␤  in sub foo at /tmp/WprFseLKgP line 1␤  in block <unit> at /tmp/WprFseLKgP line 1␤␤»
00:44 El_Che joined #perl6
00:49 Sgeo_ joined #perl6
00:52 cdg joined #perl6
01:00 lizmat joined #perl6
01:11 wamba joined #perl6
01:14 MadcapJake ZoffixWin++ # subtest pair form
01:15 teatime MadcapJake: got a link?
01:15 timotimo it's on the users mailing list, i think
01:16 timotimo https://rt.perl.org/Public/Bug/Display.html?id=127890
01:16 timotimo i was wrong
01:17 teatime thx
01:18 MadcapJake Also: https://github.com/rakudo/rakudo/pull/743
01:26 awwaiid joined #perl6
01:26 Actualeyes joined #perl6
01:31 vendethiel- joined #perl6
01:35 MadcapJake how much of S26 is implemented?
01:35 MadcapJake syn: 26
01:35 MadcapJake syn: #26
01:35 MadcapJake i don't remember how to do that
01:36 timotimo S26
01:36 timotimo S26:01
01:36 synopsebot6 Link: http://design.perl6.org/S26.html#line_01
01:36 MadcapJake ahh
01:36 MadcapJake S26:
01:36 MadcapJake S26:00
01:36 synopsebot6 Link: http://design.perl6.org/S26.html#line_00
01:37 molaf joined #perl6
01:37 jolts joined #perl6
01:38 Sqirrel joined #perl6
01:39 BenGoldberg joined #perl6
01:41 jolts joined #perl6
01:46 jolts joined #perl6
01:48 jolts joined #perl6
01:51 hoelzro MadcapJake: declarative docs don't handle B<> and friends correctly
01:52 hoelzro and I think there's a handful of other NYI stuff
01:52 jolts joined #perl6
01:53 MadcapJake I know that $=NAME doesn't work, the only access point is $=pod
01:54 gfldex joined #perl6
01:55 hoelzro oh yeah =/
01:55 hoelzro I remember I was going to take a crack at doing B<> sequences in declarative POD, along with $=NAME
01:56 jolts joined #perl6
01:56 hoelzro but then I decided that the entire POD system should probably be ripped out into a language living on the braid, and then I got discouraged =(
01:58 MadcapJake hoelzro: why do you think it should be ripped out?
01:58 hoelzro MadcapJake: the way it works is LTA, and would be better suited living in its own grammar
01:59 jolts joined #perl6
02:02 jolts joined #perl6
02:04 aindilis joined #perl6
02:06 jolts joined #perl6
02:09 jolts joined #perl6
02:13 jolts joined #perl6
02:16 jolts joined #perl6
02:19 Khisanth joined #perl6
02:20 jolts joined #perl6
02:21 cdg joined #perl6
02:24 jolts joined #perl6
02:27 jolts joined #perl6
02:31 jolts joined #perl6
02:35 jolts joined #perl6
02:37 _28_ria joined #perl6
02:37 sue_ joined #perl6
02:39 jolts joined #perl6
02:41 noganex_ joined #perl6
02:43 jolts joined #perl6
02:46 dalek DBIish: ee76c70 | (Salvador Ortiz)++ | lib/ (3 files):
02:46 dalek DBIish: SQLite: Use NativeLibs pre-load services.
02:46 dalek DBIish:
02:46 dalek DBIish: This avoid the NC::guest_library_name dance at every 'is native',
02:46 dalek DBIish: so Native!setup work is reduced.
02:46 dalek DBIish: As this depends on platform-specific semantics on MoarVM's dyncall, any
02:46 dalek DBIish: success/failure report on OS X or Windows is appreciated.
02:46 dalek DBIish: review: https://github.com/perl6/DBIish/commit/ee76c70de7
02:47 jolts joined #perl6
02:47 sortiz Ups s/guest/guess/
02:51 jolts joined #perl6
02:55 jolts joined #perl6
02:58 BenGoldberg joined #perl6
02:58 jolts joined #perl6
03:02 jolts joined #perl6
03:04 vike joined #perl6
03:06 jolts joined #perl6
03:08 Celelibi_ joined #perl6
03:09 jolts joined #perl6
03:13 jolts joined #perl6
03:16 jolts joined #perl6
03:20 jolts joined #perl6
03:20 tony-o MadcapJake: I wouldn't mind having a health rating here, merging koaltee and this
03:24 jolts joined #perl6
03:27 jolts joined #perl6
03:31 jolts joined #perl6
03:35 jolts joined #perl6
03:39 jolts joined #perl6
03:42 jolts joined #perl6
03:43 zdm joined #perl6
03:46 jolts joined #perl6
03:50 jolts joined #perl6
03:54 jolts joined #perl6
03:58 jolts joined #perl6
04:02 jolts joined #perl6
04:06 jolts joined #perl6
04:10 jolts joined #perl6
04:12 Sqirrel joined #perl6
04:14 jolts joined #perl6
04:18 jolts joined #perl6
04:19 Cabanossi joined #perl6
04:22 jolts joined #perl6
04:23 sue_ joined #perl6
04:28 dsp-_ joined #perl6
04:29 nebuchad` joined #perl6
04:29 aindilis` joined #perl6
04:30 cognominal_ joined #perl6
04:30 jolts joined #perl6
04:31 apejens joined #perl6
04:31 arnsholt joined #perl6
04:31 nine joined #perl6
04:31 Ulti joined #perl6
04:31 krakan joined #perl6
04:31 jolts joined #perl6
04:31 mprelude joined #perl6
04:32 Actualeyes joined #perl6
04:32 khagan joined #perl6
04:32 infina joined #perl6
04:32 Possum joined #perl6
04:32 xiaomiao joined #perl6
04:32 awwaiid joined #perl6
04:32 a3r0 joined #perl6
04:32 jolts joined #perl6
04:34 cyberviking joined #perl6
04:35 k-man joined #perl6
04:35 baest joined #perl6
04:35 M-matthew joined #perl6
04:49 cgfbee joined #perl6
04:58 telex joined #perl6
05:04 sno joined #perl6
05:08 sno joined #perl6
05:33 cyberviking_ joined #perl6
05:56 CIAvash joined #perl6
05:56 Khisanth joined #perl6
05:59 nienacko__ joined #perl6
05:59 notostraca joined #perl6
05:59 maddingu1 joined #perl6
06:01 gtodd1 joined #perl6
06:01 zostay_ joined #perl6
06:02 mephinet joined #perl6
06:02 kent\n joined #perl6
06:02 kent\n joined #perl6
06:03 autarch1 joined #perl6
06:03 ilmari_ joined #perl6
06:03 avuserow1 joined #perl6
06:04 telex joined #perl6
06:04 m0ltar_ joined #perl6
06:04 krunen_ joined #perl6
06:05 frederico joined #perl6
06:05 riatre_ joined #perl6
06:05 Woodi_ joined #perl6
06:05 noganex joined #perl6
06:05 [Coke]_ joined #perl6
06:05 jjido joined #perl6
06:06 nightfro` joined #perl6
06:06 eyck_ joined #perl6
06:07 diakopte1 joined #perl6
06:07 lnr joined #perl6
06:09 hobbified joined #perl6
06:12 dg joined #perl6
06:12 nine joined #perl6
06:12 psch joined #perl6
06:14 _mg_ joined #perl6
06:14 chris2 joined #perl6
06:15 go|dfish joined #perl6
06:15 Gothmog_ joined #perl6
06:16 cyberviking_ joined #perl6
06:18 retupmoc_ joined #perl6
06:19 khagan joined #perl6
06:21 orbus_ joined #perl6
06:21 jsimonet joined #perl6
06:25 pierrot joined #perl6
06:27 BuildTheRobots joined #perl6
06:27 tim__ joined #perl6
06:31 firstdayonthejob joined #perl6
06:31 nakiro joined #perl6
06:41 ugexe joined #perl6
06:43 Xliff_ joined #perl6
06:45 TreyHarris joined #perl6
06:47 abraxxa joined #perl6
06:49 Woodi_ hi today :)
06:49 wamba joined #perl6
06:50 SmokeMachine____ joined #perl6
06:50 chansen_ joined #perl6
06:56 Woodi_ sortiz: NativeLibs concept looks nice and general ? can it be moved out of DBlish ?  but so fur using it in method new() looks a bit complicated...
06:57 teatime how come people seem to prefer 'returns ___' over '--> ___' ?
06:59 Woodi_ teatime: becouse ppls didn't hear about --> ? :)
06:59 boegel joined #perl6
07:00 teatime in fact I haven't seen anything use --> (not that I've looked hard), even though it makes much more sense to me to, forced to choose, group the return type inside the parens w/ the arguments and arg types, rather than grouping it w/ the roles and traits and stuff.
07:01 teatime although I suppose in p6 there are other things that makeup part of the signature outside of the parens
07:04 jnap joined #perl6
07:11 teatime OH, ACCEPTS is how you say whether __ ~~ YourObj smart-match passes/fails!
07:16 cyberviking joined #perl6
07:20 zakharyas joined #perl6
07:22 ufobat what if a role uses a class, whereas this class also does the role.. it seems for me it gives a infinite loop.
07:22 skarn joined #perl6
07:22 ufobat as an example: class Human does CanHaveHumenChildren and role CanHaveHumenChildren { has @.children; method make_children() {return Human.new() } }... class Wolf does CanHaveHumenChildren { .. like in romulus and remus..  }
07:24 moritz you need to predeclare Human before you can declare CanHaveHumenChildren like that
07:25 moritz (though I would separate the functions of *having* and *producing* children into separate roles :-)
07:26 moritz or even better, make a role ProducesOffsprint[::T] { method make_children($count) { T.new() xx $count } }
07:26 Woodi_ ufobat: I think roles are simpler things then classes (like interfaces in Java) and should be used as auxiliary behaviour blending method...
07:26 trnh joined #perl6
07:27 moritz and then class Human does ProducesOffsprint[Human] { ... }
07:33 ufobat my RealWorld example is, i have a object that is root of tree; this root and the nodes should get "tree-code" via the role. so the classes "Tree" and "Node" have only the code according to their use case
07:34 ufobat thanks for your suggestions :-)
07:36 darutoko joined #perl6
07:37 aindilis joined #perl6
07:37 moritz also it might be worth considering whether the tree should be a separate object
07:38 moritz really depends on the use case
07:38 moritz ufobat: also for a Tree role, you can just use self.new, because the role is going to be applied to the type that is the tree
07:39 ufobat ah!
07:39 ufobat so instead of Node.new i do self.. interesting, then i can leave out the use Node
07:41 moritz m: role Tree { has @.children; method alloc() { @!children = self.new() xx 2 } }; class DOM does Tree { }; my $d = DOM.new; $d.alloc; say $d.perl
07:41 camelia rakudo-moar 4f3f1c: OUTPUT«DOM.new(children => [DOM.new(children => []), DOM.new(children => [])])␤»
07:41 Woodi_ ufobat: I think roles should not try to replace OO programming. roles seems to take less keystrokes but OO is more general thing...
07:41 moritz Woodi_: huh?
07:42 ufobat otherwise i would have asked how i "predeclare Human"? would it be a class Node; role Tree { method make_node() }..
07:42 moritz Woodi_: roles are an aspect of OO
07:42 moritz or a part of it
07:42 ufobat according to your suggesten i think my role is, as you required, a behavoir of a thing.. that it can have several children
07:42 moritz a part can't repalce the whole
07:42 Woodi_ moritz: ufobat++ example above :)  typical classess like nodes are simulated via roles...
07:43 ufobat i've got a Node class as well. i just have the aspect of having nodes in the role
07:43 moritz ufobat: predclaration: class Human { ... }; role Foo { uses Human here }; class Human { actual implemenation }
07:43 moritz ufobat: but that requires the predeclaration and the implementation to be int he same compunit (so, same file, usually)
07:43 ufobat because the node is a thing of its own, and the Root is a different thing of its own, with a own usecase or reason to live
07:44 ufobat moritz:  which is not a great coding style to have it in the same file
07:45 Woodi_ root node isn't very different thing, IMO...
07:47 djbkd_ joined #perl6
07:48 ufobat ell. that depends on the use-case. assuming that the root of all is god and you say that the "root" is not really something special you probably are disliked by plenty of people ;)
07:49 ufobat anyway! i will reconsidder how i implement this, my idea just was to split the use-case-code from the tree-structure-code
07:49 parisba_ joined #perl6
07:50 peteretep joined #perl6
07:54 ufobat maybe i just do class Tree is Node ... ;)
07:55 ufobat anyway...
07:57 Woodi_ ufobat: :)
07:58 ely-se joined #perl6
08:00 Woodi_ m: class Tree { has $.name; has Node $!root }; my $t = Tree.new();
08:00 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5===␤Type 'Node' is not declared. Did you mean 'Code'?␤at /tmp/qFR8qKhD5r:1␤------> 3class Tree { has $.name; has Node7⏏5 $!root }; my $t = Tree.new();␤Malformed has␤at /tmp/qFR8qKhD5r:1␤------> 3class Tree { has $.name; ha…»
08:01 jack_rabbit joined #perl6
08:02 dakkar joined #perl6
08:05 Begi joined #perl6
08:06 Begi joined #perl6
08:06 cibs joined #perl6
08:07 Emeric joined #perl6
08:11 ufobat :( my "Node" has some attributes that should not be in the Tree....
08:14 trnh joined #perl6
08:14 trnh joined #perl6
08:14 rindolf joined #perl6
08:15 dalek joined #perl6
08:16 Emeric hey, #perl6
08:16 Emeric I'm playing with Perl6, and I'm wondering why :
08:16 Emeric m: my Duration $x .= new(12); say ($x + 6).WHAT; say ($x * 2).WHAT; say ($x - 6).WHAT; say ($x / 2).WHAT;
08:16 camelia rakudo-moar 4f3f1c: OUTPUT«(Duration)␤(Num)␤(Duration)␤(Num)␤»
08:17 Emeric Why does ($x * 2) is a Num, not a Duration ?
08:23 smls joined #perl6
08:24 rodarmor joined #perl6
08:27 smls jnthn: Are you here right now?
08:28 Woodi joined #perl6
08:29 smls .tell jnthn With yet another input data-set, my script segfaults even in its single-threaded version (i.e. without the .race), and this time valgrind has lots to say about it: https://gist.github.com/smls/a97fdb40c0b874d8403955b5b789bf92
08:29 yoleaux smls: I'll pass your message to jnthn.
08:31 brrt joined #perl6
08:41 RabidGravy joined #perl6
08:45 RabidGravy Boom!
08:46 Emeric RabidGravy: Bam !
08:49 _nadim joined #perl6
09:00 Xliff joined #perl6
09:04 teatime Emeric: Hi.  hehe, I put in a PR yesterday to fix that.  There's an existing RT bug for it also.
09:04 masak m: my $x = Duraction.new(12); my $y = Duration.new(4); say ($x / $y).^name
09:04 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SO66F11HRg␤Undeclared name:␤    Duraction used at line 1. Did you mean 'Duration', 'Junction'?␤␤»
09:04 masak m: my $x = Duration.new(12); my $y = Duration.new(4); say ($x / $y).^name
09:04 camelia rakudo-moar 4f3f1c: OUTPUT«Num␤»
09:05 masak that one should be a Num (or an Int), IMO
09:05 teatime masak: see PR
09:05 masak ok, nice :0
09:05 masak :)
09:06 Emeric teatime: oh, nice ! thanks
09:06 teatime I had it return proper units, except wherever they were meaningless (Dur * Dur) or of a unit we don't have a type for (num / Dur, unit Hz), it just treats all args as seconds, and returns a Duration.
09:07 teatime ^^ there's only a couple of cases where that happens, so it seems like a reasonable way to DWIM?  alternately, it could return a unitless num ('cause S02 says Dur's should happily become Rat in numeric context), or could die?
09:08 teatime I plan to add either a warning for those cases, or return of a fail (not sure which?), and clean up the code / comments/units-documentation and clean up the test cases
09:08 teatime so there'll be a revised PR.
09:10 teatime masak / Emeric:  Suggestions on above ^^ issues are more than welcome.  and also Emeric you can read the comments beginning at https://github.com/rakudo/rakudo/pull/742/files#diff-bd28cb057c484675b0599c90406c4013R20 and tell me if it all makes sense to you.
09:11 teatime (comment blocks beginning at line 20 & 78)
09:11 Emeric teatime: I'm just a beginner with Perl 6 :) but i'll take a look at it$
09:12 RabidGravy speaking of which there hasn't been someone come in here and made a righteous furore about some highly complex and technical detail of how rakudo does DateTimes for ages
09:12 masak teatime: I don't think either warning or fail is appropriate when the units aren't enough.
09:12 RabidGravy has the world ended and we didn't notice?
09:13 masak teatime: my standard use case for that is computing the standard deviation on Durations. for a while there, you legitimately have the unit Duration ** 2, but all you care about are Nums
09:14 teatime RabidGravy: lol.
09:15 teatime RabidGravy: it doesn't seem very bad to me.
09:15 teatime RabidGravy: it's simple, but at the same time someone clearly put thought into how to make it consistent and unambiguous.
09:16 teatime masak: so you say -1 on warn'ing upon  Dur * Dur  and  num / Dur  ?
09:17 RabidGravy oh the way some people would have it, rakudo is strangling kittens in a darkened cellar every time someone uses a DateTime
09:17 teatime masak: you can always silence warnings or explicitly cast to a num type like Rat (which is what my warning would likely suggest.)
09:17 RabidGravy I'd also go for no warnings, those kind of things are quite common in the kinds of things I'm interested in
09:18 teatime RabidGravy: What's their objection?  Admittedly, time/dates is notoriously hard to get correct so I may have overlooked some obvious flaw and been falsely impressed.
09:18 teatime Emeric/ masak / RabidGravy:  Are we all in agreement that Dur / Dur should return a unitless number?
09:19 RabidGravy teatime, I couldn't possibly begin to explain the perceived issues, I'm all like *yawn" and pretending I'm blonde when it comes up
09:19 ribasushi joined #perl6
09:20 teatime and masak / RabidGravy:  since you guys seem to actually use Dur*Dur and num/Dur, what should those operations return... Dur, or unitless num ?
09:20 RabidGravy Num
09:20 RabidGravy or Rat
09:21 RabidGravy they can be coerced back if necessary
09:22 teatime ok; that's consistent w/ S02 (which I realized during this convo, my way isn't.)
09:22 teatime thanks much!
09:24 teatime psch: /whois Emeric
09:25 psch ...i don't know? :)
09:25 Emeric Hmm ?
09:25 teatime lol… I *wondered* why there were no /whois results on my core buffer.
09:27 RabidGravy don't you just hate that
09:27 RabidGravy chortle
09:29 teatime Would it be appropriate to submit patches against S32 (which barely mentions Dur) and perhaps a small one against S02 (to clear up minor contradictions), or are those docs final/end-of-life ?
09:30 RabidGravy people still do change them if things are unclear or just plain not going to happen
09:31 teatime cool.
09:32 ocbtec joined #perl6
09:33 Sgeo__ joined #perl6
09:33 RabidGravy which reminds me
09:33 RabidGravy I was going to check something
09:33 [Coke] joined #perl6
09:33 krunen joined #perl6
09:34 azawawi joined #perl6
09:34 azawawi hi
09:34 vike joined #perl6
09:35 Gothmog_ joined #perl6
09:35 RabidGravy yo! azawawi!
09:35 g4 joined #perl6
09:36 azawawi https://gist.github.com/azawawi/9be2369cc40010a57a65697c411e570a  # interesting infinite recursion :)
09:36 peteretep joined #perl6
09:36 azawawi RabidGravy: ping :)
09:37 RabidGravy I see your GH streak is coming along nicely ;-)
09:37 jolts joined #perl6
09:38 Sgeo_ joined #perl6
09:38 psch m: https://gist.github.com/azawawi/9be2369cc40010a57a65697c411e570a
09:38 jolts joined #perl6
09:38 m0ltar joined #perl6
09:38 jnap joined #perl6
09:39 camelia rakudo-moar 4f3f1c: OUTPUT«(timeout)Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar␤Foo.bar…»
09:39 psch oh duh, the class implements the method
09:39 psch i had thought it should complain about the stub, but of course it shouldn't...
09:40 azawawi psch: it does when you add something before !!!
09:40 Celelibi joined #perl6
09:41 psch m: https://gist.github.com/peschwa/372ef1685d25b1b3ce1b967262d59330
09:41 camelia rakudo-moar 4f3f1c: OUTPUT«Foo.bar␤stub soon␤Stub code executed␤  in method bar at /tmp/nDVWW524nn line 8␤  in method bar at /tmp/nDVWW524nn line 19␤  in block <unit> at /tmp/nDVWW524nn line 23␤␤»
09:41 psch huh
09:41 azawawi bug? :)
09:41 azawawi or by design
09:41 psch i'm not sure either way :)
09:43 azawawi or by design bug? :)
09:43 psch m: https://gist.github.com/peschwa/372ef1685d25b1b3ce1b967262d59330
09:43 camelia rakudo-moar 4f3f1c: OUTPUT«(method bar (Foo $: *%_) { #`(Method|72551824) ... },)␤»
09:44 jolts joined #perl6
09:44 psch m: https://gist.github.com/peschwa/372ef1685d25b1b3ce1b967262d59330
09:44 camelia rakudo-moar 4f3f1c: OUTPUT«(method bar (Foo $: *%_) { #`(Method|52461152) ... },)␤(method bar (Foo+{FooeyRole} $: *%_) { #`(Method|52461304) ... }, method bar (Foo $: *%_) { #`(Method|52461152) ... })␤»
09:45 jolts joined #perl6
09:45 psch i guess if there's only the stub it marks it as only-stub somehow..?
09:45 psch and thus the narrower invocant type doesn't get picked, because there is an alternative
09:45 psch but if it has more than the stub it gets picked because it's narrower and then dies
09:46 parisba_ joined #perl6
09:46 psch which does seem largely consistent with the design as i understand it vOv
09:46 tailgate joined #perl6
09:47 felher joined #perl6
09:48 orbus_ joined #perl6
09:49 jolts joined #perl6
09:50 jolts joined #perl6
09:50 * RabidGravy looks at Net::OSC again, finds it still to be a bit stubby, puts implementing the Ardour control thingy for another month
09:50 RabidGravy I must not "adopt" any more modules
09:51 psch hah
09:52 psch i'm avoiding reading more midi spec :)
09:53 psch there's also a bunch of papers i kinda want to read, but somehow not really...
09:53 psch the EuclidRhythm one for example heh
09:54 DrForr I'd love to play with generating Lilypond code...
09:55 jolts joined #perl6
09:56 jolts joined #perl6
09:59 RabidGravy DrForr, go for it, it's complex but regular
10:00 DrForr Well, the fun bit is that it's got Guile Scheme underneath it, which I've bound to Lisp.
10:01 jolts joined #perl6
10:02 jolts joined #perl6
10:04 RabidGravy I'll resurrect the standard midi file thing at some point, but I really, really must finish some of the other things I have started first
10:08 jolts joined #perl6
10:09 jolts joined #perl6
10:12 brrt joined #perl6
10:14 cibs_ joined #perl6
10:14 jolts joined #perl6
10:15 RabidGravy though it does seem I have made a rod for my own back by getting round to the authentication part in Sofa last
10:15 jolts joined #perl6
10:20 jolts joined #perl6
10:21 jolts joined #perl6
10:23 psch m: enum Foo <A>; sub prefix:<A>($x?) { $x }; say A; say A1
10:23 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lBXj5azl1o␤Prefix A requires an argument, but no valid term found␤at /tmp/lBXj5azl1o:1␤------> 3o <A>; sub prefix:<A>($x?) { $x }; say A7⏏5; say A1␤    expecting any of:␤        prefix␤»
10:24 psch right, i had that already i think...
10:24 * psch ponders convenient Note creation syntax
10:27 jolts joined #perl6
10:28 jolts joined #perl6
10:29 jolts joined #perl6
10:30 MilkmanDan joined #perl6
10:36 vendethiel joined #perl6
10:36 avenj joined #perl6
10:38 agentzh joined #perl6
10:41 ufobat Woodi, moritz: this is my pain: https://github.com/ufobat/Bailador/blob/broken_route/lib/Bailador/Routing.pm#L38  with https://github.com/ufobat/Bailador/blob/broken_route/lib/Bailador/App.pm and https://github.com/ufobat/Bailador/blob/broken_route/lib/Bailador/Route.pm
10:43 grondilu how can I pass a Pair as parameter without it being considered as a named parameter?
10:43 grondilu I could itemize it I guess but what else?
10:43 jnthn Extra parens around it
10:43 yoleaux 08:29Z <smls> jnthn: With yet another input data-set, my script segfaults even in its single-threaded version (i.e. without the .race), and this time valgrind has lots to say about it: https://gist.github.com/smls/a97fdb40c0b874d8403955b5b789bf92
10:44 gregf_ my @lists = map { chomp; $_ } qx(find ./FILES_rptw -type f);my ($count, $id, $dir) = (0,1);
10:44 gregf_ bah :/
10:45 gregf_ of all the terminals i;ve got :|
10:45 gregf_ sorry indeed
10:45 gregf_ fortunately, the rest of the code was still at the prompt :)
10:46 gregf_ i was going to checkout what Bailador was, but ended up right clicking :|
10:46 ZoffixWin m: sub foo (Pair $bar) { say $bar.key}; foo 'foo' => 'bar';
10:46 camelia rakudo-moar 4f3f1c: OUTPUT«foo␤»
10:47 ZoffixWin grondilu, when is it considered a named param?
10:47 jnthn Or that :)
10:47 ZoffixWin Ah, with :foo<bar>
10:47 jnthn All the cases with a naked name are considered named args
10:47 psch m: sub foo (Pair $bar) { say $bar.key}; foo foo => 'bar'; # this too
10:47 camelia rakudo-moar 4f3f1c: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in sub foo at /tmp/y6uQwe9NJI line 1␤  in block <unit> at /tmp/y6uQwe9NJI line 1␤␤»
10:47 ZoffixWin I see
10:48 psch that's the "naked name" case i suppose
10:48 jnthn Right, no quotes around the foo
10:48 psch m: sub foo (Pair $bar) { say $bar.key}; foo :"foo"<bar>
10:48 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XoJVAuboYA␤Confused␤at /tmp/XoJVAuboYA:1␤------> 3b foo (Pair $bar) { say $bar.key}; foo :7⏏5"foo"<bar>␤    expecting any of:␤        colon pair␤»
10:48 psch i suppose that would just be crazy vOv
10:48 kaare_ joined #perl6
10:49 jnthn Not sure it'd win any beauty contests... :) Technically we could probably make it parse/work. :)
10:49 jnthn But when there's other ways to do it... :)
10:55 psch m: sub prefix:<:>($x) { sub ($y) { Pair.new($x, $y) } }; say (:"foo")("bar")
10:55 camelia rakudo-moar 4f3f1c: OUTPUT«foo => bar␤»
10:55 psch ...almost :P
10:57 geekosaur joined #perl6
10:57 psch m: sub prefix:<:>($x) is assoc('left') { sub ($y) { Pair.new($x, $y) } }; say (:"foo")("bar") # huh
10:57 camelia rakudo-moar 4f3f1c: OUTPUT«===SORRY!===␤MVMArray: Can't pop from an empty array␤»
10:57 psch ...i'm not saying that what i'm doing is sensible, but the error still seems a tad LTA
10:58 jnthn No, I don't think assoc('left') on a unary makes any sense :P
10:58 cibs joined #perl6
10:58 jnthn You've no doubt confused the heck out of the operator precedence parser
10:59 jnthn Maybe something the assoc trait can catch
10:59 jnthn Shouldn't slow down parsing itself.
10:59 kaare_ joined #perl6
11:00 psch i was actually looking for something like "is tighter(&postcircumfix<( )>)", but we don't do invocation that way i think
11:00 masak assoc("left") on a unary does make sense. see S03.
11:01 masak prefixes and postfixes of equal precedence can form differently-shaped AST fragments.
11:01 masak the associativity of that precedence level governs which of the two possible shapes gets created.
11:01 cdg joined #perl6
11:02 * masak implemented this last year in 007 :)
11:04 arnsholt Do you have an example?
11:06 masak there's no actual case in the core Perl 6 grammar, because all postfixes are tighter than all prefixes
11:07 zakharyas joined #perl6
11:07 arnsholt I meant in general, actually. I don't quite see what you mean
11:07 masak but let's say you defined both a prefix:<!> and a postfix:<!> locally, and gave them the same precedence
11:08 moritz !a! could be (!a)! or !(a!)
11:08 masak then `!$x!` could mean either `!($x!)` or `(!$x)!`
11:08 masak I said "see S03", because it's explained there
11:08 arnsholt Sure, sure
11:08 arnsholt Oh, you did indeed. Should've checked that first, true
11:08 masak the former would be "associating to the left", the latter "associating to the right"
11:09 masak note that it's not *operators* that have associativity, but precedence levels
11:09 kid51 joined #perl6
11:09 masak unfortunately Perl 6 does not reflect that very well
11:11 arnsholt Ah, right
11:12 arnsholt When thinking about the prec level being associative rather than the individual operators, it does make a lot more sense
11:12 arnsholt Thanks!
11:14 masak pleasure.
11:15 ufobat http://classicprogrammerpaintings.tumblr.com/post/142548884409/larry-wall-presents-perl-6-1632-rembrandt-van
11:18 masak ufobat: that one has already been done (no pun intended) to death
11:19 ufobat i must say the perl6 is by far not one of the good ones on http://classicprogrammerpaintings.tumblr.com/
11:19 masak also "Perl 6 is dead" is just so 2006
11:19 ufobat i like the git rebase --interactive one
11:23 au joined #perl6
11:24 brrt joined #perl6
11:25 Xliff joined #perl6
11:26 * masak enjoyed "java.util.Date" by Salvador Dalí
11:29 ruoso joined #perl6
11:29 japhb joined #perl6
11:30 ufobat https://docs.oracle.com/javase/6/docs/api/java/util/Date.html dosn't look so bad
11:31 leedo joined #perl6
11:36 [Tux] joined #perl6
11:37 jamesneko joined #perl6
11:37 masak ufobat: well, you should probably start over at https://docs.oracle.com/javase/6/docs/api/java/util/GregorianCalendar.html
11:39 btyler joined #perl6
11:39 masak also, for fun, try to guess the value of Calendar.JANUARY
11:40 * psch guesses 11
11:41 pmurias joined #perl6
11:41 masak and if you're not disgusted yet, try guessing what .toString on a Calendar object will return
11:42 silug joined #perl6
11:43 luis joined #perl6
11:43 ufobat january is the 0th month of course ;D
11:43 _nadim joined #perl6
11:44 jnthn masak: Well volunteered to patch EXPR, then :)
11:45 ufobat :(
11:45 masak jnthn: ...to bring EXPR to spec? :)
11:45 masak jnthn: anyway, it wouldn't be a big fix, so I don't mind being accidentally volunteered to it.
11:46 masak EXPR doesn't scare me much anymore.
11:46 jnthn masak: Well, since you understand it already... :-)
11:46 masak right.
11:47 masak here's the (passing) test for it in 007: https://github.com/masak/007/blob/7c51a89c1d82cf116b93c11592f7156d7ef06a02/t/features/custom-ops.t#L425-L449 :)
11:48 masak and here's the code that handles it: https://github.com/masak/007/blob/7c51a89c1d82cf116b93c11592f7156d7ef06a02/lib/_007/Parser/Actions.pm#L389-L396
11:48 masak so, not much.
11:49 sue joined #perl6
11:50 nadim joined #perl6
11:51 rindolf joined #perl6
12:05 felher joined #perl6
12:05 kent\n joined #perl6
12:05 kent\n joined #perl6
12:06 ChoHag joined #perl6
12:07 aindilis joined #perl6
12:08 awwaiid joined #perl6
12:09 RabidGravy joined #perl6
12:09 RabidGravy eugh
12:10 leedo_ joined #perl6
12:13 psch ...listening to what the example for Music::Helpers produces is much more fun than writing tests /o\
12:16 diegok joined #perl6
12:17 maddingue joined #perl6
12:23 [Tux] joined #perl6
12:23 RabidGravy psch, yeah I've found that
12:25 gtodd joined #perl6
12:25 ufobat i know i've asked this question already today.. but after thinking about it a while i still dont see how to get this working: http://pastebin.com/yEq4pF1w
12:25 zakharyas joined #perl6
12:25 sue joined #perl6
12:26 ufobat how to arange the use / modules, or what's a better design?
12:26 ufobat this gives a infinite loop
12:26 ufobat OH! my god is not a creatorofhuman!
12:26 ufobat but that doesnt matter..(much)
12:28 dakkar joined #perl6
12:29 RabidGravy well, for a small, well defined case I would put them in the same file and predeclare some stub as necessary
12:31 domidumont joined #perl6
12:31 ufobat and without putting them in a single file :(
12:32 ufobat i dont want the same code twice, just because i couldn't put it in a role :(
12:32 masak ufobat: I think you have to come to terms in some way that you're at odds here with a pretty fundamental requirement in Perl 6 parsing.
12:32 masak ufobat: right now it looks like you're beating your head against the limitation, instead of looking to work within its bounds
12:33 RabidGravy there are plenty of options, some less attractive than others, ranging from another role, through a parameterised role to run-time require and type lookup
12:34 ufobat masak, right, but go ahead.
12:34 masak ufobat: I once wrote a p6l email about this. let me try to find it for you.
12:34 ufobat i didnt get it working with a parameterised role either :/
12:34 ufobat thank you
12:34 pmurias rakudo-js mini-blog-post: http://blogs.perl.org/users/pawel_murias/2016/04/optimizing-nqp-js-on-js-to-make-it-fast-enough-to-compile-rakudo.html
12:35 sufrostico joined #perl6
12:35 RabidGravy but if the things are so tightly coupled as your code shows then the single file option is probably the best
12:35 ufobat RabidGravy, me runtime require didnt work either.. :( and the worst of all options, i think, is code duplication.. which i don't like to try
12:36 RabidGravy I'm not describing anything which would require duplication
12:38 ufobat i just dont see the way out, yet :-(
12:38 jnthn pmurias: You did try to build up an array of strings a join them, rather than actually doing lots of concats, yes?
12:39 ufobat i guess my problem is more the design then the limitations of perl6, but as masak said, i am beating my head against it right now
12:39 ufobat RabidGravy, my RL example is https://github.com/ufobat/Bailador/blob/broken_route/lib/Bailador/Routing.pm#L38
12:40 * ufobat feels stupid right now
12:40 masak ufobat: http://www.nntp.perl.org/group/perl.perl6.language/2010/01/msg33141.html
12:41 masak ufobat: please read my OP and TimToady's reply
12:41 ufobat masak, thank you very much :)
12:43 jnthn ufobat: Bailador::Routing is a role composed by Bailador::Route. Presumably since it's a role it's intended to be composed in to other things. Is hard-coding a .new call to Bailador::Route therefore the right thing, or should it be self.new so to the role creates the appropriate instance of whatever it's composed in to?
12:43 awwaiid ufobat: I'm not sure if your circular dependency is the same as one I ran into in Inline::Ruby, but I had an RbObject that has-a RbValue, but sometimes RbValue needs to generate an RbObject. So in RbValue I had to use ::('Inline::Ruby::RbObject').new
12:43 RabidGravy jnthn, that is almost exactly what I would going to say
12:43 jnthn A role that explicitly names a class that's composing it is usually a design smell.
12:46 masak guess TimToady means `CHECK time` in his answer, not `CATCH time`...
12:46 ufobat aye! bailador::App uses the role as well, and never the less, if i parameterisize the role, its the same. what i wanted to do is acutally putting the "tree-code" out of the 2 classes that then just contain "use case code".
12:47 ufobat self.new isn't doing the job in my case, since Bailador::App is also doing the role. App is the root-node whereas all B::Route are regular nodes
12:48 ufobat awwaiid, ::('Inline::Ruby::RbObject').new <- :-) looks ugly but i think it might do the thing
12:48 domidumont joined #perl6
12:51 mls joined #perl6
12:53 jnthn OK, then role Bailador::Routing[::RouteType] { ... RouteType.new } would probably do it then
12:54 ufobat i tried that, but i think it broke at class ailador::Route is Bailador::Routing[Bailador::Route]
12:54 ufobat not 100% sure right now :(
12:58 ufobat right: at /home/martin/.workspace/p6/Bailador/lib/Bailador/Route.pm:5
12:58 ufobat Exception details:
12:58 ufobat Could not find symbol '&Route'
12:59 masak m: my &say-uc = method (Str $self:) { say $self.uc }; "oh hai".&say-uc; 42.&say-uc # methodicals!
12:59 camelia rakudo-moar 4f3f1c: OUTPUT«OH HAI␤Type check failed in binding $self; expected Str but got Int (42)␤  in method <anon> at /tmp/OVyIgxEWWV line 1␤  in block <unit> at /tmp/OVyIgxEWWV line 1␤␤»
12:59 cdg joined #perl6
13:00 ufobat https://github.com/ufobat/Bailador/blob/boken_route2/lib/Bailador/Route.pm
13:00 Ulti whoa 1.96s for my tests was 2.5s for a while during the optimisation push :3 so >300x speed up since rakudo on moarvm
13:00 cdg joined #perl6
13:02 jnthn I'm not quite sure how to get 300x out of 1.96s vs 2.5s ;)
13:02 Ulti 1.96s vs 10m
13:02 RabidGravy "special maths"
13:02 Ulti there was a jump of 10m down to 30s quite quickly after moarvm
13:02 Ulti was at 10s for ages
13:03 Ulti I should really work out what the improvements are that made my use case
13:03 Ulti could probably git bisect in some way
13:03 Ulti go far enough back though and the profiler doesnt exist :3
13:04 pmurias jnthn: haven't tried using join
13:04 jnthn pmurias: Ah. That'd probably win.
13:04 jnthn pmurias: Strings are immutable, so naively repeated concatenation is quadratic.
13:05 Ulti 2014-08-22 was 35s
13:05 Ulti thats the oldest profile I have also
13:06 Ulti 2015-04-14 11s
13:08 geekosaur joined #perl6
13:09 nakiro joined #perl6
13:10 Sgeo_ joined #perl6
13:10 pmurias jnthn: I'll try that after I finish up my freshly discovered pile of things that need to be implemented for BOOTSTRAP
13:11 pmurias jnthn: the write to disk works suprisingly well on moarvm
13:12 jnthn pmurias: Yeah, which is nice, though I'd be a tiny bit surprised if it beat a join :)
13:14 psch m: sub trait_mod:<is>(Mu \r, :$it!) { r does { method foo { "bar" } } }; role R is it { }; class C does R { }; say C.new.foo
13:14 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bCvzbnhOQg␤Cannot use 'does' operator with a type object.␤at /tmp/bCvzbnhOQg:1␤»
13:14 psch m: sub trait_mod:<is>(Mu \r, :$it!) { r does { method foo { "bar" } } }; role R is it { }; class C is R { }; say C.new.foo
13:14 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/V8CbFpITME␤Cannot use 'does' operator with a type object.␤at /tmp/V8CbFpITME:1␤»
13:14 psch m: sub trait_mod:<is>(Mu \r, :$it!) { r but { method foo { "bar" } } }; role R is it { }; class C does R { }; say C.new.foo
13:14 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MXAJ1Vgte7␤Could not instantiate role 'R':␤Cannot invoke this object␤at /tmp/MXAJ1Vgte7:1␤»
13:15 psch ...well, at least it's a different failure mode than the un-golfed, local one hah
13:17 sufrostico joined #perl6
13:17 infina_ joined #perl6
13:17 domidumont joined #perl6
13:17 infina joined #perl6
13:17 nchambers joined #perl6
13:18 Woodi joined #perl6
13:18 brabo joined #perl6
13:18 ssm joined #perl6
13:18 frederico joined #perl6
13:18 BooK joined #perl6
13:18 ashleydev joined #perl6
13:19 raydiak_ joined #perl6
13:20 autarch joined #perl6
13:21 [ptc] joined #perl6
13:22 b2gills joined #perl6
13:23 gregf_ m: my Int $foo = 100; say $foo.id
13:23 camelia rakudo-moar 4f3f1c: OUTPUT«Method 'id' not found for invocant of class 'Int'␤  in block <unit> at /tmp/bDVdu8dtoA line 1␤␤»
13:23 gregf_ is there a way to get a unique id for a variable?
13:24 gregf_ like so, in Ruby one can do: foo = "bar"; p foo.__id__ #strings only
13:24 psch .WHICH is unique i think, but i don't think it's guaranteeed not to change..?
13:24 teatime you can do .WHICH, but for 'value types' these won't be unique.
13:25 teatime but that shouldn't matter precisely because of the semantics.
13:25 psch oh, right, value types aren't unique under WHICH
13:25 teatime there's also .WHERE
13:25 psch yeah, that's what i was thinking of
13:26 edjsu joined #perl6
13:26 gregf_ hmm
13:26 gregf_ m: my Str $a = "foo"; say $a.WHICH; $a ~= "bar"; say $a.WHICH;
13:26 camelia rakudo-moar 4f3f1c: OUTPUT«Str|foo␤Str|foobar␤»
13:26 psch m: role R { method f { self.^shortname } }; role R1 is R { }; class C does R1 { }; say C.new.f
13:26 camelia rakudo-moar 4f3f1c: OUTPUT«C␤»
13:27 psch m: role R { method f { self.^shortname } }; role R1 is R { }; class C { submethod BUILD { self does R1 } }; say C.new.f
13:27 camelia rakudo-moar 4f3f1c: OUTPUT«C+{R1}␤»
13:27 Woodi pmurias: in blog, looks you could turn every sentence into separate paragraph, if you want...  anyway, post is packed with informative and happy news :)
13:27 sftp joined #perl6
13:27 jnthn .WHERE can change over an object's lifetime
13:28 jnthn .WHICH will not for non-value types
13:28 masak pmurias made a blog post? where? :)
13:29 jnthn m: class A { }; my $x = A.new; say $a.WHERE; say $a.WHICH; A.new xx 50000; say $a.WHERE; say $a.WHICH
13:29 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lay38XVPme␤Variable '$a' is not declared␤at /tmp/lay38XVPme:1␤------> 3class A { }; my $x = A.new; say 7⏏5$a.WHERE; say $a.WHICH; A.new xx 50000; ␤»
13:29 teatime gregf_: if you say what you want it for, could probably tell you which thing to use.  there are several different things you could mean.
13:29 jnthn m: class A { }; my $a = A.new; say $a.WHERE; say $a.WHICH; A.new xx 50000; say $a.WHERE; say $a.WHICH
13:29 camelia rakudo-moar 4f3f1c: OUTPUT«139742684822992␤A|84851648␤84851648␤A|84851648␤»
13:29 jnthn The .WHERE changed over time, but the .WHICH did not
13:30 masak the .WHERE changed due to GC generational things?
13:30 woodruffw joined #perl6
13:30 woodruffw joined #perl6
13:30 gregf_ teatime: i'm just checking for string immutability :)
13:31 masak compared to the 50_000 doomed kids, the A.new in $a is now considered a geezer?
13:31 g4 joined #perl6
13:31 g4 joined #perl6
13:31 jnthn masak: Well, mostly that we have a copying GC more than the generational bits
13:32 psch m: role R { method f { self.^shortname } }; role R1 does R is export { }; class C is export { submethod BUILD { self does R1 } }; say C.new.f
13:32 camelia rakudo-moar 4f3f1c: OUTPUT«C+{R1}␤»
13:32 psch i *think* that's the gist of what i'm trying to do with role sus2 does for-naming is export { }
13:32 jnthn masak: But yeah, if you .WHICH something that it moves to the old generation on the next GC run in the current implementation
13:32 psch role sus4 does for-naming is export { }
13:32 psch argh
13:32 psch with https://github.com/peschwa/p6-Music-Helpers/blob/master/lib/Music/Helpers.pm#L162
13:32 jnthn s/that/then/
13:32 masak jnthn: oh, interesting
13:32 psch but the code in the repo gives e.g.:
13:32 psch $ perl6 -Ilib -MMusic::Helpers -e'my @n = do [ Note.new(midi => $_ + 4 * 12) for C,E,G ]; my $c = Chord.new(notes => @n);say $c.Str'
13:32 jnthn masak: Basically because we get a stable object ID by predestining it to end up in a certain place inside of gen2 when its' promoted there :)
13:32 psch C4 E4 G4 ==> C4 maj} (inversion: 0)
13:32 psch and i have no clue where that one stray } comes from...
13:33 psch (not to mention that according to the camelia snippet it should print something else entirely
13:33 psch )
13:33 psch the Str method is in line 285, fwiw
13:34 jnthn masak: Other objects generally have to survive 2 collections before promotion, but .WHICH at present gets you an express trip to the old generation if you're still alive at the next collect.
13:35 pmurias masak: http://blogs.perl.org/users/pawel_murias/2016/04/optimizing-nqp-js-on-js-to-make-it-fast-enough-to-compile-rakudo.html
13:35 pmurias Woodi: future posts will contain more paragraphs
13:36 masak pmurias++
13:37 masak pmurias: great to read about your progress!
13:40 gregf_
13:40 gregf_ bah :/
13:40 psch m: role Foo::Bar::ThisMightBeLong { method f { self.^shortname } }; class Foo::Bar::MoreLongStuffHere { submethod BUILD { self does Foo::Bar::ThisMightBeLong } }; say Foo::Bar::MoreLongStuffHere.new.f
13:40 camelia rakudo-moar 4f3f1c: OUTPUT«ThisMightBeLong}␤»
13:40 psch aha!
13:41 psch m: role Foo::Bar::ThisMightBeLong { method f { self.^shortname } }; class Foo::Bar::MoreLongStuffHere { submethod BUILD { self does Foo::Bar::ThisMightBeLong } }; say Foo::Bar::MoreLongStuffHere.WHAT # even more so
13:41 camelia rakudo-moar 4f3f1c: OUTPUT«(MoreLongStuffHere)␤»
13:41 psch m: role Foo::Bar::ThisMightBeLong { method f { self.^shortname } }; class Foo::Bar::MoreLongStuffHere { submethod BUILD { self does Foo::Bar::ThisMightBeLong } }; say Foo::Bar::MoreLongStuffHere.new.WHAT # even more so
13:41 camelia rakudo-moar 4f3f1c: OUTPUT«(ThisMightBeLong})␤»
13:41 psch i'm not actually sure the length plays in there, though
13:42 psch m: role R { method f { self.^shortname } }; class C { submethod BUILD { self does R } }; say C.new.WHAT # well, it is involved, apparently...
13:42 camelia rakudo-moar 4f3f1c: OUTPUT«(C+{R})␤»
13:43 * psch guesses "shortname strips from ^ to last ::"
13:43 psch except if it knows there'll be a role
13:43 psch which it doesn't when BUILD does the does
13:46 darutoko- joined #perl6
13:46 dsp- joined #perl6
13:47 pierrot_ joined #perl6
13:47 molaf joined #perl6
13:48 sufrostico joined #perl6
13:48 autarch joined #perl6
13:48 Actualeyes joined #perl6
13:48 peteretep joined #perl6
13:48 krunen joined #perl6
13:48 kaare_ joined #perl6
13:49 nebuchad` joined #perl6
13:49 TreyHarr1 joined #perl6
13:49 psch joined #perl6
13:49 awwaiid joined #perl6
13:50 nine joined #perl6
13:50 apejens joined #perl6
13:50 gfldex joined #perl6
13:52 Cabanossi joined #perl6
13:55 skids joined #perl6
13:55 Amnez777 joined #perl6
13:57 a3r0 joined #perl6
13:57 ocbtec joined #perl6
13:58 ryand joined #perl6
13:59 BuildTheRobots joined #perl6
14:01 k-man joined #perl6
14:04 RabidGravy oof
14:04 avenj joined #perl6
14:04 avenj joined #perl6
14:06 psch anyway, what this comes from is that i have a bunch of roles that should help identify objects.  the roles get applied during BUILD, and in .Str i want to use the name of a subset of those roles
14:06 psch i'm guessing (even ignoring the WAT above) that i'm not quite on the right track in the first place, because of all the name mangling i'd have to do anyway
14:07 gregf_ psch: are you applying that role to an instance?
14:07 psch gregf_: i am applying the roles to self at the end of BUILD, so "almost"..?
14:10 psch well, to make this more specific, i have a class Chord, for Music.  during BUILD a Chord figures out if it's major, minor, etc. and applies the corresponding role.  but a Chord can also be "sus-able", i.e. suspendable
14:10 psch which means it can have its 3rd diminished or augmented, which results in a new Chord without the min or maj role, but with the sus2 or sus4 role
14:11 psch and of course i'd like to not have to have a ' method chord-type { $chord-type } ' in every of those roles
14:11 psch where $chord-type is "min" for role min, "maj" for role maj, etc...
14:11 psch s/for Music/as in 'triad'/ # maybe... vOv
14:12 [Coke] what's in a minor or major role?
14:12 [Coke] Is this something better modeled as an attribute?
14:12 psch maj has a method dom7, which returns a dominant 7th Chord
14:13 psch i'm not sure it works as attribute, but i am thinking what i'm doing here is kind of spaghetti design...
14:13 psch (min doesn't have that method, 'cause it wouldn't be a dom7 but a min7)
14:15 nd3i joined #perl6
14:15 khw joined #perl6
14:15 psch also, there's a finite set of possible chords, and different order of the same notes does (mostly...) still mean the same chord, albeit inverted
14:16 RabidGravy I think the Str thing might might be doable by getting the roles at run time
14:17 ugexe joined #perl6
14:17 psch right, but a Chord+{maj,sus-able} shouldn't report itself as e.g. C maj sus-able
14:17 mcsnolte joined #perl6
14:17 tharkun joined #perl6
14:17 psch that's what i'm struggling with to figure out
14:18 psch the fact that i have multiple roles applied to a class and one of them matters for stringification, but the other doesn't
14:18 psch and i don't think relying on ordering or so is reliable enough... vOv
14:20 RabidGravy does the role itself "know" whether it matters from stringification? Given the context?
14:21 cpage_ joined #perl6
14:22 [Coke] I wouldn't rely on the stringification of a thing to see what roles it has
14:22 psch well, i've tried that with a new role, that those that matter does
14:22 [Coke] I would ask it if it has a role I cared about.
14:23 RabidGravy so you get .^roles at run-time, then ask the role which has $?CLASS so it knows what context and returns the right thing
14:23 pmurias vendethiel: you commented ? on my nqp-js commit
14:23 * psch .oO( sometimes Perl 6 keywords make for weird grammar... )
14:24 torbjorn joined #perl6
14:26 tokomer joined #perl6
14:26 kaare__ joined #perl6
14:31 psch method chord-type { self.HOW.roles(self).grep({ $_ ~~ for-naming && $_ !=== for-naming })[0].^shortname }
14:31 psch that seems to do what i want
14:31 psch but it's kinda horrible
14:31 * pmurias fixed a bug in MoarVM and made a pull request
14:33 nd3i given @a = [1 2 3 3 1 2], @a.grep(2) #=> [2 2] BUT I want the index for each match: [1 5] suggestions?
14:33 psch where for-naming is the role that gets applied to the roles that matter for the stringification of a Chord
14:33 nd3i I have this:  gather for ^@a { take $_ if @a[$_] == 2 } but it seems there should be something shorter
14:33 psch m: say .grep: 2, :kv given [1, 2, 3, 3, 1, 2]
14:33 camelia rakudo-moar 4f3f1c: OUTPUT«(1 2 5 2)␤»
14:33 trnh joined #perl6
14:34 psch m: say [1, 2, 3, 3, 1, 2].grep(2, :kv) # probably more comprehensible
14:34 camelia rakudo-moar 4f3f1c: OUTPUT«(1 2 5 2)␤»
14:35 nd3i Thanks! I was thinking along those lines but couldn't figure where .kv would go. I'll play with those.
14:36 psch m: say [1, 2, 3, 3, 1, 2].grep(2, :p) # might be useful as well
14:36 camelia rakudo-moar 4f3f1c: OUTPUT«(1 => 2 5 => 2)␤»
14:37 psch m: say [1, 2, 3, 3, 1, 2].pairs.grep(*.value == 2) # alternatively...
14:37 camelia rakudo-moar 4f3f1c: OUTPUT«(1 => 2 5 => 2)␤»
14:38 djbkd joined #perl6
14:38 nd3i Oops. ":kv" is new for me. That's an adverb, right?
14:39 sue joined #perl6
14:39 nd3i I have to read up on how that works at that spot.
14:39 moritz nd3i: it's a named argument to the method here
14:39 moritz nd3i: same as kv => True
14:39 * psch never was quite sure when we call named arguments adverbs
14:39 jnthn Because a sub/method call is a verb :)
14:40 moritz psch: maybe when they're boolean?
14:40 pmurias vendethiel: that commit will be useful for http://paste.debian.net/432747/
14:40 nd3i OIC, so grep is taking it as an option
14:40 moritz right
14:40 nd3i got it--thanks.
14:41 psch moritz: that does seem to make more sense than "when the sub call looks operator-ish", which was my best guess
14:41 psch like @a[1]:exists
14:41 moritz well, in those cases, the grammar actually parses it as an adverb
14:41 moritz there are special rules for that
14:41 psch ...that actually just makes me more confused again :)
14:41 dbohdan left #perl6
14:42 psch because if adverbs are specially parsed as such - and named arguments never are - then we should never call named arguments adverbs
14:42 psch but then, subs and method calls are verbs, as jnthn says
14:42 moritz psch: I kinda agree
14:42 moritz semantics!
14:42 moritz linguistics!
14:43 jnthn But pragmatics lets us have different semantics when we feel like it :P
14:44 psch language is hard, let's listen to instrumental music :P
14:44 trnh joined #perl6
14:45 nd3i would it be perl without "we have special rules for that"? /s
14:45 mohae joined #perl6
14:45 gtodd hmm if there was a super trivial way to publish "Top 40 perl6 REPL Hits!" to https://asciinema.org/ what would they be ?  :-)
14:46 perlpilot nd3i: Perl 6 has made an effort to reduce the number of special rules.
14:46 RabidGravy psch, I mostly do :)
14:46 gtodd I like how the screen can be cut and pasted :-P
14:47 RabidGravy right now for instance https://soundcloud.com/mixmag-1/premiere-henning-baer-pan2945-blawan-remix
14:47 pmurias nd3i: Perl 6 tries to replace the special rules with general ones ;)
14:47 RabidGravy which is good as my memory can't deal with *more* special rules
14:48 perlpilot RabidGravy: you just think that's true.  Really you just need to train your brain.
14:48 nd3i so values from b based on indexes from a: @b[@a.grep(3,:k)] #=> (100 11)
14:48 nd3i works great! Thanks again.
14:51 jnthn gtodd: yowser, I read that as ASCII enema at first :P
14:51 psch RabidGravy: well, i'm obviously still listening to the same piano improv... vOv
14:51 psch i do occassionally change the root or mode, though :P
14:52 pmurias jnthn: sounds painful
14:53 RabidGravy but look on the bright side you can't get a thorn in ASCII
14:55 moritz .oO( Hackathorn )
14:55 moritz .u thorn
14:55 yoleaux U+00DE LATIN CAPITAL LETTER THORN [Lu] (Þ)
14:55 yoleaux U+00FE LATIN SMALL LETTER THORN [Ll] (þ)
14:55 yoleaux U+16A6 RUNIC LETTER THURISAZ THURS THORN [Lo] (ᚦ)
14:55 jnthn Out of ASCII range :)
14:55 moritz Hackaþ
14:55 jnthn :D
14:56 RabidGravy psch, I wanted sliders in Gtk::Simple the other day to be able to change things on the fly
14:57 gtodd heheh
14:57 tharkun joined #perl6
14:59 domidumont joined #perl6
15:00 timotimo sorry about gtk::simple not having sliders yet
15:01 RabidGravy the moment passed, no-one got hurt :)
15:02 psch RabidGravy: yeah, i think i saw that.  i've more though that i'd like to have something like a alcd - as in, a algorithmic live composition daemon - that i can nudge with tempo and all those kinda things...
15:02 psch but that's probably more of a topic for current research than something that i can hack together in a few weeks :P
15:03 RabidGravy sounds like you want to make a supercollider client
15:04 psch maybe
15:04 psch i think i'll stick with throwing stuff through Audio::PortMIDI for now though
15:04 psch maybe even actually implement proper SysEx support eventually :P
15:04 timotimo what is SysEx?
15:05 psch timotimo: system exclusive messages
15:05 psch timotimo: for stuff like "hey, tb-808, you have to the secret roland cowbell now"
15:05 psch via MIDI, of course
15:05 timotimo ah
15:05 psch +do
15:08 psch seriously though, music
15:08 psch 3rd inversion of a maj6 chord is a dom7 chord
15:08 psch /o\
15:09 cdg_ joined #perl6
15:10 psch oh, it actually isn't, i misspoke.  it's a minmaj7 vOv
15:12 sufrostico joined #perl6
15:12 nine 20 years of listening to this Babylon 5 soundtrack and I still get goosebumps. Amazing.
15:17 psch (i was still wrong, C E G A is a maj6, and thrice inverted it's A C E G, which is a min7...)
15:35 mst joined #perl6
15:36 RabidGravy I hate it when you look at your own code and think "ooOOooooh that should just work" only to find it doesn't
15:50 trnh joined #perl6
15:50 trnh joined #perl6
15:51 domidumont joined #perl6
15:52 mst joined #perl6
15:52 domidumont1 joined #perl6
15:56 trnh joined #perl6
16:00 ptolemarch joined #perl6
16:05 Philj joined #perl6
16:05 Philj Hello :)
16:07 nine Hi Philj
16:09 Philj Just tried reqwriting an old script of mine perl6, and found a few performance issues.  I did some benchmarks and perl6/rakudo seems to really struggle with long lines of text (in this case lines are about 16mb) A simple while loop through a 4 line file saying "line" at each line takes ~1 minute.
16:09 Philj Is this normal?
16:09 nine This has been fixed very recently
16:10 jnthn Yeah, was within the last couple of weeks
16:10 Philj Ah ok, I am running on rakudo-star-2016.01
16:12 Philj Will I have to have to pull from github for this - I can only see rakudo-star-2016.01 on perl6.org/downloads/ ?
16:14 nine Philj: git clone https://github.com/rakudo/rakudo && cd rakudo && perl Configure.PL --gen-nqp --gen-moar --backends=moar --make-install
16:15 Philj Thanks <nine>
16:17 gfldex joined #perl6
16:20 [Coke] I thought we had star releases since 2016.01
16:20 [Coke] why are they not on http://rakudo.org/downloads/star/ ?
16:21 [Coke] am I misremembering?
16:30 vendethiel joined #perl6
16:34 Actualeyes left #perl6
16:34 cyberviking joined #perl6
16:38 timotimo [Coke]: i started work on a star for .03
16:38 timotimo but i didn't finish it yet
16:38 sortiz joined #perl6
16:40 cyberviking joined #perl6
16:43 nige1 joined #perl6
16:49 [Coke] http://www.independent.co.uk/life-style/gadgets-and-tech/news/man-accidentally-deletes-his-entire-company-with-one-line-of-bad-code-a6984256.html
16:49 sortiz \o #perl6
16:51 nine [Coke]: staggering display of incompetence
16:52 mst nine: on the part of the independent for doing exactly zero fact checking
16:52 * mst read the original SO post, smells of /r/thathappened
16:54 lizmat joined #perl6
16:58 ZoffixW joined #perl6
16:58 timotimo heh.
16:58 ZoffixW That post is utter bollocks. If your read OP's comments on the answers, they apparently also ran `dd` to mess up all of the proposed suggestions to recover. Total troll.
16:59 ZoffixW on SO answers that is
17:00 ZoffixW Are advanced wrap tests supposed to be failing? I get 3 failures WITHOUT my patch: https://gist.github.com/zoffixznet/3df481ea398ccde52a88639fdbdde0c0
17:01 ZoffixW And when I add my seemingly unrelated patch, I get one more failure:  https://gist.github.com/zoffixznet/2c1e8175dd9922e206f4e9465f622a73
17:01 ZoffixW (the patch being the #743 PR)
17:03 sortiz From my backlog: I found that as soon as NativeCall::cglobal returns, the loaded native library is unloaded, so cglobal("somelib", "somesym", Pointer) returns a Pointer pointing to limbo, see: https://github.com/MoarVM/MoarVM/blo​b/master/src/core/nativecall.c#L622, comments?
17:05 El_Che "The problem command was "rm -rf": a basic piece of code that will delete everything it is told to."
17:05 El_Che the wording is priceless
17:05 El_Che "the r deletes everything within a given directory" (and wrong)
17:05 ZoffixW heh
17:06 El_Che after the that I gave up and stopped reading :)
17:06 sufrostico joined #perl6
17:06 ZoffixW Hey. Reporting isn't about correctness. It's about writing clickbait articles and salting them with many ads
17:06 _mg_ joined #perl6
17:08 ZoffixW Yesterday, I've read an "article" literally about someone posting "Going to bed" on Twitter and 7 years later also tweeting "Crap, I overslept." There must've been at least 30 ads on it.
17:08 xinming joined #perl6
17:08 ZoffixW And the title was something along the lines of "This dedicated dude waits 7 years before just to tweet AN AWESOME JOKE!!"
17:09 ZoffixW m: "blo​b".uninames.say
17:09 camelia rakudo-moar 4f3f1c: OUTPUT«(LATIN SMALL LETTER B LATIN SMALL LETTER L LATIN SMALL LETTER O ZERO WIDTH SPACE LATIN SMALL LETTER B)␤»
17:09 ZoffixW Here's fixed URL for sortiz's issue: https://github.com/MoarVM/MoarVM/blob/master/src/core/nativecall.c#L622
17:12 sortiz ZoffixW++ # Thanks.
17:13 gtodd neat SO article .... I want a small company with 1500 customers
17:14 firstdayonthejob joined #perl6
17:14 gtodd my CV:  - familiar with "rm -rf"
17:15 gtodd ZoffixW that joke drops jaws
17:16 ZoffixW I gotta go... But if anyone knows the answer to my question above, I'll read the backlog.
17:17 gtodd wait a sec ... is ZoffixW coming back in 7 years?  .... omg that would drop jaws
17:17 TreyHarris joined #perl6
17:20 ruoso joined #perl6
17:22 b2gills joined #perl6
17:23 jolts joined #perl6
17:24 jolts joined #perl6
17:25 woodruffw joined #perl6
17:26 woodruffw joined #perl6
17:26 woodruffw joined #perl6
17:26 leedo joined #perl6
17:27 frederico joined #perl6
17:27 woodruffw joined #perl6
17:28 sufrostico joined #perl6
17:28 gfldex joined #perl6
17:29 jolts joined #perl6
17:30 jolts joined #perl6
17:30 apejens joined #perl6
17:31 Timbus joined #perl6
17:34 felher joined #perl6
17:35 jolts joined #perl6
17:36 jolts joined #perl6
17:40 trnh joined #perl6
17:40 jolts joined #perl6
17:42 jolts joined #perl6
17:48 hanekomu joined #perl6
17:48 vendethiel- joined #perl6
17:50 infina_ joined #perl6
17:50 infina joined #perl6
17:51 [ptc] joined #perl6
17:51 mre joined #perl6
17:51 krunen joined #perl6
17:51 trnh joined #perl6
17:52 ashleydev joined #perl6
17:56 RabidGravy Is there any example in the core or otherwise of applying a role to a multi which implements the CALL-ME?
17:56 teatime joined #perl6
17:59 M-tadzik joined #perl6
18:00 M-matthew joined #perl6
18:07 nige1 joined #perl6
18:08 jolts joined #perl6
18:12 ugexe m: role Bar { multi method CALL-ME(Int $int) { say "Int"; }; }; class Foo does Bar { proto method CALL-ME(|) {*}; multi method CALL-ME(Str:D $str) { say "Str:D"; }; multi method CALL-ME(Str:U $str) { say "Str:U"; }; }; Foo(1);
18:12 camelia rakudo-moar 4f3f1c: OUTPUT«Int␤»
18:13 ugexe i imagine it might get messy if you apply roles with `but RoleName($attr)` syntax though
18:15 gmeniel joined #perl6
18:16 vendethiel joined #perl6
18:17 MilkmanDan joined #perl6
18:18 raoulvdberge joined #perl6
18:21 cyberviking joined #perl6
18:22 RabidGravy nah, what I'm trying to do is
18:22 RabidGravy m: role Zub { method CALL-ME(Mu:D $self) { } }; multi sub trait_mod:<is> (Method $m, :$foo!) { $m does Zub; }; class Foo { multi method bar() is foo { }; multi method bar(Int $o) is foo { }; }; Foo.new.bar(1);
18:22 camelia rakudo-moar 4f3f1c: OUTPUT«Cannot invoke object with invocation handler in this context␤  in block <unit> at /tmp/Q8V90bmzZj line 1␤␤»
18:22 RabidGravy to provide the implementation of the method
18:24 RabidGravy which er fails like that
18:24 vendethiel pmurias: okay, thanks. was pretty surprised still, looks like an infinite loop
18:26 agentzh joined #perl6
18:26 erdic joined #perl6
18:57 cale2 joined #perl6
19:18 RabidGravy m: https://gist.github.com/jonathanstowe/8642d30f2dab6527b5c4c65d4420aebb
19:18 camelia rakudo-moar 4f3f1c: OUTPUT«Cannot invoke object with invocation handler in this context␤  in method bar at /tmp/jePB4SIzaK line 14␤  in block <unit> at /tmp/jePB4SIzaK line 22␤␤»
19:19 RabidGravy I'm going to RT that unless someone says not to
19:21 * mst bites tongue to avoid being difficult for comedy value
19:24 geekosaur joined #perl6
19:25 jnthn RabidGravy: It's probably already in there... iirc it's the same reason you can't "is native" a multi
19:26 spider-mario joined #perl6
19:26 RabidGravy it would be yeah
19:27 jnthn I think the history of it was something like "Shall I CPS-transform-by-hand more C code or hope this never happens? Screw it, let's try the easy approach first..."
19:28 RabidGravy yeah I looked at frame.c where it is actually going wrong and looks hairy
19:35 sufrostico joined #perl6
19:41 nine I don't know why, but I'm kinda scared that sharing mast frames with the outer compiler actually works.
19:42 RabidGravy the problem with RT is it doesn't search the bodies
19:42 [Coke] pretty sure you can search the ticket bodies.
19:42 nine RabidGravy: it could actually but that has to be enabled on the server as full text indexing is very SQL server specific
19:42 [Coke] checking...
19:44 RabidGravy stick elastic search in and you're good to go
19:45 [Coke] nine++
19:46 [Coke] sorry, I misremembered. ETOOMANYticket systems.
19:46 [Coke] I think https://rt.perl.org/Search/Simple.html?q=fulltext%3Aslurp is suggested to work, but doesn't.
19:47 MilkmanDan joined #perl6
19:48 nine Enabling full text search should be easy: https://docs.bestpractical.com/rt/4.2.12/full_text_indexing.html
19:49 RabidGravy only one ticket with the same approximate cause
19:49 RabidGravy https://rt.perl.org/Ticket/Display.html?id=122899
19:50 [Coke] nine: note that we're on 4.0.18
19:51 [Coke] I'll ask them if we can turn it on.
19:51 nine [Coke]: seems to be just the same: 4.0.18/full_text_indexing.html
19:51 nine https://docs.bestpractical.com/rt/4.0.24/full_text_indexing.html
19:51 nine Oh I just hate that chromium pretends to select the full URL on click to the URL bar while the primary selction actually stays unchanged
19:52 nowan joined #perl6
19:54 geekosaur um, it uses a modern gui toolkit. it doesn't *do* PRIMARY
19:54 agentzh joined #perl6
19:54 agentzh joined #perl6
19:54 geekosaur just like every other program based on gtk or qt
19:54 geekosaur or fltk or ...
19:55 grondilu m: constant ∞ = Inf
19:55 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7unsDG_zYE␤Missing initializer on constant declaration␤at /tmp/7unsDG_zYE:1␤------> 3constant7⏏5 ∞ = Inf␤»
19:55 nine geekosaur: qt does primary just fine
19:56 geekosaur have not actually checked but that surprises me a bit. gtk certainly ignores the existence of PRIMARY completely, using only CLIPBOARD which wants a control-c (cmd-c on mac) to actually set the selection
19:56 [Coke] nine, RabidGravy: request sent.
19:56 RabidGravy cool
19:58 RabidGravy I think I'll RT this with a link to the other one (is cached could be implemented differently I guess) then if it is a dupe someone can merge later
19:59 jnthn RabidGravy: +1
20:00 RabidGravy then I'll work out how to do what I'm trying to do another way
20:05 ufobat where is CALL-ME documented? its not in https://doc.perl6.org/type/Callable
20:11 kerframil joined #perl6
20:13 RabidGravy I'm not sure it is documented
20:16 ufobat then there is no magic around it :-) thanks
20:18 kerframil joined #perl6
20:19 ufobat masak, i just read your mail and the replies.. i will do this again tomorrow on saturday and on sunday. It helped me to write a solution that works.. though i still don't like the code/design
20:20 ufobat masak, thanks again for showing it to me :)
20:21 cdg joined #perl6
20:21 RabidGravy ufobat, http://doc.perl6.org/language/operators#postcircumfix_%28_%29 may be the only place in the documentation it is mentioned
20:22 ufobat oh! thanks :) i guess only the signatures must match and off we go!
20:23 ufobat goodnight perl6 :-) perry rhodan is waiting for me!
20:23 RabidGravy yeah, typically you'd also make the type do Callable so it appears to be the right sort of thing
20:28 masak ufobat: you're welcome. I just thought it might be nice to know someone else has been asking the same questions.
20:32 MadcapJake quoting constructs are really hard to support syntax highlighting for
20:33 MadcapJake m: qw|! @ # $ % ^ & * \| < > | eqv '! @ # $ % ^ & * | < >'.words
20:33 camelia rakudo-moar 4f3f1c: OUTPUT«WARNINGS for /tmp/9mwonIeoPe:␤Useless use of "eqv" in expression "qw|! @ # $ % ^ & * \\| < > | eqv '! @ # $ % ^ & * | < >'.words" in sink context (line 1)␤»
20:33 MadcapJake m: say qw|! @ # $ % ^ & * \| < > | eqv '! @ # $ % ^ & * | < >'.words
20:33 camelia rakudo-moar 4f3f1c: OUTPUT«True␤»
20:33 MadcapJake I cannot, for the life of me come up with a regex that properly ends before the eqv
20:33 MadcapJake well I *can* but not with one requirement
20:34 MadcapJake «Delimiters can be nested»
20:35 MadcapJake If I just scrap that rule, everything's dandy, but if I try to capture nested, it thinks that the third and fourth | are internal to a Quote that hasn't finished yet :P
20:40 Ven_ joined #perl6
20:44 masak I don't think non-paired delimiters like | can nest
20:47 masak if they could, then what would be the difference between a nested, opening `|` and a closing `|`? :)
20:48 masak (and remember, you're not allowed to say "if there's a matching closer further on", because you're not allowed that kind of lookahead)
20:50 MadcapJake m: say q< <p>this works</p> > # works as long as you don't place it right next to the delimiter
20:50 camelia rakudo-moar 4f3f1c: OUTPUT« <p>this works</p> ␤»
20:50 MadcapJake masak: ^^
20:51 geekosaur those are paired
20:51 geekosaur < > is a paired set
20:51 geekosaur | | is not
20:51 MadcapJake oh, I see you mean characters that are equivalent
20:52 MadcapJake ohh! I could probably make it work off that knowledge, thanks masak/geekosaur!
20:52 geekosaur yeh, there's just no way to disambiguate nesting of the open and close delimiters are the same
20:53 masak there's a real term, not "paired", that I forget
20:53 masak but yeah, it's about matching openers and closers
20:53 pmurias joined #perl6
20:54 pmurias vendethiel: maybe I should comment that line
20:54 Ven_ please do :)
20:56 MadcapJake masak, geekosaur: that was such a headache relieved!
20:56 MadcapJake one little line and it works
20:57 * MadcapJake is close to finishing a highlight.js PR for a Perl 6 mode
21:06 sortiz RabidGravy, my approach to your problem: https://gist.github.com/salortiz/0f869e25934d1457ff05ac2d0ba41e25
21:06 dalek joined #perl6
21:10 Azry joined #perl6
21:12 RabidGravy hah, neat but what I'm actually trying to do is make https://github.com/jonathanstowe/Sofa/blob/master/lib/Sofa/Method.pm be able to have candidates with args
21:13 grondilu how can a module override and export a symbol like ∞?  I tried and failed :/
21:15 Xliff rm -rf {foo}/{bar}
21:15 mst joined #perl6
21:16 itaipu joined #perl6
21:16 MilkmanDan joined #perl6
21:16 TEttinger joined #perl6
21:17 RabidGravy grondilu, you mean like
21:17 RabidGravy m: sub term:<∞> is export { Inf }; say  ∞
21:17 camelia rakudo-moar 4f3f1c: OUTPUT«Inf␤»
21:18 yurivish_ joined #perl6
21:19 RabidGravy (I assume the symbol is infinity, this font is quite small)
21:21 mst it looks like it
21:21 mst actually it looks like a really weird set of googly eyes in a tiny face
21:21 mst but maybe that's just me
21:23 Xliff ∞)
21:23 Xliff Hmmm....
21:23 Xliff (∞)
21:24 Xliff m: sub term:<™> is export { "Trademark" }; say ™
21:24 camelia rakudo-moar 4f3f1c: OUTPUT«Trademark␤»
21:24 Xliff Oooh....
21:27 agentzh joined #perl6
21:41 ZoffixWin m: sub term:<(╯°□°)╯┻━┻> { say "aaarrrggg" };  (╯°□°)╯┻━┻
21:41 camelia rakudo-moar 4f3f1c: OUTPUT«aaarrrggg␤»
21:44 grondilu m: constant ∞ is export = *
21:44 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/R9b2T1em0B␤Missing initializer on constant declaration␤at /tmp/R9b2T1em0B:1␤------> 3constant7⏏5 ∞ is export = *␤»
21:44 grondilu m: constant ∞ is export = Inf
21:44 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Hcu3OpN5M_␤Missing initializer on constant declaration␤at /tmp/Hcu3OpN5M_:1␤------> 3constant7⏏5 ∞ is export = Inf␤»
21:44 grondilu ^ that was my try
21:46 itaipu joined #perl6
21:46 teatime I hope rakudo/perl6 resists the urge to define too many more unicode operators in core grammar
21:48 teatime so that we can be free to use them in our own code, and you can always just use a module that imports a bunch of ops into your scope, if you want things like $perfect-squares = 1, 2², 3², …;
21:49 pyrimidi_ joined #perl6
21:50 ZoffixWin teatime, can't you do that now?
21:50 ZoffixWin m: say 2²; sub postfix:<²> { $^a**4 }; say 2²
21:50 camelia rakudo-moar 4f3f1c: OUTPUT«4␤16␤»
21:51 teatime oh that wasn't the on I was thinking of, sorry
21:51 teatime I was thinking of the proposal of subscript numbers meaning positional index
21:52 perigrin joined #perl6
21:52 sortiz m: say 3¹⁰⁰ # even
21:52 camelia rakudo-moar 4f3f1c: OUTPUT«515377520732011331036461129765621272702107522001␤»
21:52 teatime I would rather keep that open for subscripts that are merely part of the var name, and you can use a package if you want them to be array indexes instead.
21:53 mohae_ joined #perl6
21:53 AlexDaniel joined #perl6
21:54 ocbtec joined #perl6
21:54 AlexDaniel teatime: https://gist.github.com/AlexDaniel/c89bd2786f9b63f31e4c
21:54 DrForr joined #perl6
21:54 awwaiid joined #perl6
21:54 teatime m: my (\A, \A₀) = 10e0, 100e0; say A / A₀
21:54 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SVDh4EAzyK␤Redeclaration of symbol A␤at /tmp/SVDh4EAzyK:1␤------> 3my (\A, \A7⏏5₀) = 10e0, 100e0; say A / A₀␤    expecting any of:␤        constraint␤»
21:55 teatime m: my ($A, $A₀) = 10e0, 100e0;
21:55 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0h_FtBVT6j␤Redeclaration of symbol $A␤at /tmp/0h_FtBVT6j:1␤------> 3my ($A, $A7⏏5₀) = 10e0, 100e0;␤    expecting any of:␤        shape declaration␤»
21:55 jercos joined #perl6
21:55 teatime m: my @A = (2, 4); say @A, @A₀
21:55 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FcXKDYuRYU␤Bogus postfix␤at /tmp/FcXKDYuRYU:1␤------> 3my @A = (2, 4); say @A, @A7⏏5₀␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤  …»
21:56 BooK joined #perl6
21:56 teatime seems like you can't do either by default.  I guess subscript numbers aren't valid identifier characters.
21:56 khagan joined #perl6
21:59 ZoffixWin m: '₀'.uniprop.say
21:59 camelia rakudo-moar 4f3f1c: OUTPUT«No␤»
21:59 woodruffw joined #perl6
21:59 timotimo No.
21:59 ZoffixWin heh
22:00 vendethiel joined #perl6
22:00 ZoffixWin I think subscript x and y work, except for q or some one letter
22:00 woodruffw joined #perl6
22:01 ZoffixWin Ah, one subscript letter doesn't exist
22:01 AlexDaniel ZoffixWin: Yeah… because… yeah…
22:02 Xliff m: my $aₓ = 100; say $aₓ;
22:02 camelia rakudo-moar 4f3f1c: OUTPUT«100␤»
22:02 Xliff m: my @aₓ = (1, 10, 100); say @aₓ;
22:02 camelia rakudo-moar 4f3f1c: OUTPUT«[1 10 100]␤»
22:03 Xliff https://www.youtube.com/watch?v=gsOtVb10QzI&amp;ab_channel=FredericRobinson-Topic <-- I can't stop listening to this!
22:04 Xliff m: 'ₓ'.uniprop.say
22:04 camelia rakudo-moar 4f3f1c: OUTPUT«Lm␤»
22:04 AlexDaniel м
22:04 AlexDaniel oops
22:04 Xliff m: 'ₘ'.uniprop.say
22:04 camelia rakudo-moar 4f3f1c: OUTPUT«Lm␤»
22:04 Xliff m: '₁'.uniprop.say
22:04 camelia rakudo-moar 4f3f1c: OUTPUT«No␤»
22:05 Xliff So why do subscript letters work but numbers don't?
22:05 AlexDaniel teatime: well, another way to do it is to allow subscripts in the names of $-sigilled variables, but for @ they could actually work like array subscripts
22:06 teatime actually it's latin lower-case super-scripts that have everything but q.  the subscripts have quite a bit fewer.
22:06 AlexDaniel teatime: not sure if it makes sense. It's a bit weird
22:06 timotimo you can actually bind variables to individual slots inside an array :)
22:06 xinming joined #perl6
22:07 timotimo m: my @foo = 1, 2, 3; my $foo₀ := @foo[0]; my $foo₁ := @foo[1]; $foo₀ = 99; say @foo
22:07 camelia rakudo-moar 4f3f1c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DV4ROKZtTn␤Bogus postfix␤at /tmp/DV4ROKZtTn:1␤------> 3my @foo = 1, 2, 3; my $foo7⏏5₀ := @foo[0]; my $foo₁ := @foo[1]; $foo₀␤    expecting any of:␤        constraint␤        infix␤    …»
22:07 timotimo oh, huh?
22:07 timotimo is that so
22:07 teatime AlexDaniel: hrm, that's a thought.  but yeah, I think it still overlaps with people wanting to use (the absolutely delightful and largely unavailable) math notation
22:08 xiaomiao joined #perl6
22:08 teatime I think the problem is just that currently, subscript-numbers are neither 1) defined as an operator that does index lookups, nor 2) in the set of characters specified as legal in an identifier name.
22:08 itaipu joined #perl6
22:11 arlenik joined #perl6
22:12 xiaomiao joined #perl6
22:12 Xliff m: sub postfix:<₀> (Array $a) { return $a[0] }; my @a = <1 2 3>; say @a₀;
22:12 camelia rakudo-moar 4f3f1c: OUTPUT«1␤»
22:12 teatime yes,  realize you can define it.
22:12 Xliff I love perl6
22:13 Xliff teatime: I didn't. Hence the test. Your #2 implied that it might not work.
22:13 timotimo you may want to "is rw" that
22:13 AlexDaniel teatime: well, not really. What about ₅₆₉ ?
22:13 timotimo are there subscript roman numerals, too?
22:13 ZoffixWin Well, that's kinda useless, because you have to either have define a ton of operators (horribly slow) or restrict to a very small subset
22:14 teatime heh, you could also do postcircumfix<₍₎> for indexing.
22:14 timotimo they'd be totally useful for array subscripts
22:14 teatime you guys have totally missed my point.
22:14 ZoffixWin Same problem I had with superscript powers module
22:14 ZoffixWin teatime, what was your point?
22:15 teatime 1) for a lot of unicode characters that you might be tempted to add to core perl grammar, there are actually several different useful things they could be used for, so probably better to not define them in core, and let people use a module to import whichever semantics they want for things like e.g. subscripts
22:16 teatime core could add subscript numbers to legal identifier characters, and then they could be used in variable names (which is useful), but it wouldn't stop people from defining them to be array indexes if they wanted to
22:16 ZoffixWin But that's why I showed you the example with ². It's in the grammar, but you can override what it does
22:17 teatime (however, point conceeded about not being able to recognize <sub>1243</sub> as an operator)
22:18 teatime ZoffixWin: no?
22:18 teatime ZoffixWin: your example doesn't use ² as part of the variable name.
22:19 ZoffixWin m: say 2²; sub term:<2²> { 2**4 }; say 2²
22:19 camelia rakudo-moar 4f3f1c: OUTPUT«4␤16␤»
22:20 Xliff Is it possible to make superscript or subscript characters useful (aside from in a small subset) with the current p6 grammar?
22:20 b2gills joined #perl6
22:20 Xliff Based on ZoffixWin's comment, I'm guessing "No."
22:20 ZoffixWin huh?
22:20 teatime Xliff: you can do this:
22:20 Xliff <ZoffixWin> Well, that's kinda useless, because you have to either have define a ton of operators (horribly slow) or restrict to a very small subset
22:20 teatime m: 2¹¹¹
22:20 camelia rakudo-moar 4f3f1c: ( no output )
22:20 teatime m: 2¹¹¹
22:20 camelia rakudo-moar 4f3f1c: ( no output )
22:20 ZoffixWin Xliff, that's if you're doing it with a module
22:20 teatime maybe.
22:21 ZoffixWin You can do a slang or have it in core.
22:21 ZoffixWin m: 2¹¹¹.say
22:21 camelia rakudo-moar 4f3f1c: OUTPUT«2596148429267413814265248164610048␤»
22:21 teatime Xliff: if it's in core, it can just match an arbitrary string of sub/super digits
22:21 ZoffixWin Xliff, sorry, that's if you're doing it **by defining operators**
22:21 teatime Xliff: it's only... yeah ZoffixWin is saying the same thing
22:21 ZoffixWin It doesn't have to be in core because there are slangs
22:21 Xliff Yes, but I thought teatime's point was to not  have it in core.
22:21 Xliff Now I haven't yet gotten around to slangs.
22:21 ZoffixWin (currently, without user-approved interface)
22:22 teatime it was; but my point was not really about any specific syntax.
22:22 Xliff Can someone linky?
22:22 ZoffixWin And my point was that there's no issue with having it in core
22:22 ZoffixWin Xliff, AFAIK there aren't any docs. Slangs aren't yet ready to be used by users and may change. That's my understanding
22:23 teatime it was just a general caution, that once you put something in core you can never easily decide it should be something else, AND it will make it more difficult for people to use it for something different:  even if they can easily re-define the meaning, they may no longer want to because of readability / confusion issues
22:23 ZoffixWin I've seen some examples with SQL code being directly in Perl 6 code
22:23 ZoffixWin Xliff, oh, there's also DrForr's module in the ecosystem that lets you use roman numerals. That's done with slangs
22:24 ZoffixWin teatime, I think Perl 5 is a good example of what happens when you do that. You end up importing a gazillion modules.
22:24 teatime there's a big diff. between choosing to implement   $a ⋄ $b  vs.  $a × $b
22:25 teatime the former is obviously something special, if you don't know what it does you'll have to look it up
22:25 ZoffixWin m: '⋄'.uniname.say
22:25 camelia rakudo-moar 4f3f1c: OUTPUT«DIAMOND OPERATOR␤»
22:25 teatime the later looks like a multiplication; if you don't know what it does, you'll naturally assume it's multiplication (incorrectly)
22:25 AlexDaniel “but it wouldn't stop people from defining them to be array indexes if they wanted to” – I don't buy it at all
22:25 teatime omfg, I quit.
22:26 teatime bbl.
22:26 AlexDaniel because it will create too much confusion for people who read the code
22:26 ZoffixWin teatime, but you're just making an argument against your position. If most people assume × does multiplication, then it should do it, not whatever module author decided it should do
22:26 ZoffixWin m: say 2 × 2; sub infix:<×> { $^a - $^b }; say 2 × 2;
22:26 camelia rakudo-moar 4f3f1c: OUTPUT«0␤0␤»
22:27 ZoffixWin dafuq
22:27 teatime ZoffixWin: My position is that perl should avoid putting lots of unicode into core, because anything in core is no longer (reasonably) available for use as something else.
22:27 teatime that's exactly my entire and original point.
22:27 xinming joined #perl6
22:27 ZoffixWin But it *is* available!
22:28 teatime it's not reasonable to re-define core operators to do something totally different.  doing that is just a clever joke, not something you would want to actually use.
22:28 teatime hence any symbols perl uses as core operators are no longer reasonably available for other purposes.
22:29 ZoffixWin m: say 2²; sub postfix:<²> { $^a**4 }; say 2²
22:29 camelia rakudo-moar 4f3f1c: OUTPUT«4␤16␤»
22:29 teatime anyway, srsly I'll brb, I appreciate the spirited debate, but I am not expressing myself well atm and it's frustrating me.
22:29 ZoffixWin m: say 2 + 2; sub infix:<+> { $^a - $^b }; say 2 + 2;
22:29 camelia rakudo-moar 4f3f1c: OUTPUT«0␤0␤»
22:29 ZoffixWin Why is postfix gets applied after I define my sub, but infix gets applied even before I define it?
22:29 Sgeo_ joined #perl6
22:32 AlexDaniel ZoffixWin: ✬✭✮✯✰✴✵✶✷✸ BUG! ✸✷✶✵✴✰✯✮✭✬
22:33 AlexDaniel m: say [~] (0..0x1FFFF ==> grep { .uniname ~~ /STAR/ })».chr
22:33 AlexDaniel I've noticed that this ↑ now works much faster
22:33 AlexDaniel m: my $x = [~] (0..0x1FFFF ==> grep { .uniname ~~ /STAR/ })».chr; say now - BEGIN now
22:33 camelia rakudo-moar 4f3f1c: OUTPUT«2.00645850␤»
22:33 AlexDaniel star: my $x = [~] (0..0x1FFFF ==> grep { .uniname ~~ /STAR/ })».chr; say now - BEGIN now
22:33 camelia star-m 2016.01: OUTPUT«1.67602312␤»
22:33 teatime ooo, I remember the day we decided your 0x1FFFF was the perfect upper bound, but since this used to be slow:
22:33 AlexDaniel or does it
22:33 teatime m: say [~] (0..0x10FFFF ==> grep { .uniname ~~ /STAR/ })».chr
22:34 teatime heh ok, it still takes a moment.
22:40 ZoffixWin :/
22:41 yoleaux U+0001 START OF HEADING [Cc] (␁)
22:41 ZoffixWin Intersting
22:43 Xliff m: say [~] (0..0x10FFFF ==> grep { .uniname ~~ /ARROW/ })».chr
22:43 camelia rakudo-moar 4f3f1c: OUTPUT«˂˃˄˅˯˰˱˲˿͍͎͔͕͖ࣹࣺ᷿͐ࣷࣸࣻࣼࣽ᪳᷾͢ ⃪⃮⃯⃔⃕⃖⃗⃡←↑→↓↔↕↖↗↘↙↚↛↜↝↞↟↠↡↢↣↤↥↦↧↨↩↪↫↬↭↮↯↰↱↲↳↴↵↶↷↸↹↺↻⇄⇅⇆⇇⇈⇉⇊⇍⇎⇏⇐…»
22:44 AlexDaniel m: ‘↯’.uniname.say
22:44 camelia rakudo-moar 4f3f1c: OUTPUT«DOWNWARDS ZIGZAG ARROW␤»
22:44 Xliff :-o
22:44 Xliff m: say [~] (0..0x10FFFF ==> grep { .uniname ~~ /APL/ })».chr
22:44 camelia rakudo-moar 4f3f1c: OUTPUT«⌶⌷⌸⌹⌺⌻⌼⌽⌾⌿⍀⍁⍂⍃⍄⍅⍆⍇⍈⍉⍊⍋⍌⍍⍎⍏⍐⍑⍒⍓⍔⍕⍖⍗⍘⍙⍚⍛⍜⍝⍞⍟⍠⍡⍢⍣⍤⍥⍦⍧⍨⍩⍪⍫⍬⍭⍮⍯⍰⍱⍲⍳⍴⍵⍶⍷⍸⍹⍺⎕𝁸𝂅𝂈𝂴𝃐𝃔𝃚𝃛🍁␤»
22:45 Xliff Oh, man! It's been decades since I've touched APL!
22:45 * Xliff rubs his hands and cackles gleefully!
22:46 Xliff AlexDaniel, ‘↯’ should be called SHAZAAM! Just sayin'.
22:57 skids joined #perl6
23:00 kid51 joined #perl6
23:07 vendethiel joined #perl6
23:13 TimToady grondilu: you can't define ∞ directly as a constant because it's not alphabetic; you have to use the term:<∞> form there
23:16 TimToady ZoffixWin: you're probably running into the fact that a sub can be post-defined, along with differences in the exact timing of constant folding
23:19 ZoffixLappy joined #perl6
23:20 TEttinger Xliff: that also has the mAPLe leaf , that I can't copy. the last char
23:21 ZoffixLappy Gotcha. Thanks.
23:23 TimToady it should probably find some way of warning that you've completely replaced a dispatcher binding
23:23 timotimo APL has an emoji?
23:24 teatime the unicode definition of emoji is kinda weird... lots of random chars here and there are marked as emoji
23:30 teatime Xliff: you really don't need to search through 0x10FFFF, 0x1FFFF will cover pretty much all meaningful characters
23:30 teatime it only excludes 2 planes of private use symbols, variation selectors, etc.
23:30 teatime 1FFFF is the BMP + the first supplemental plane
23:31 AlexDaniel teatime: and it gets even weirder when you find this: http://unicode.org/reports/tr51/#Emoji_ZWJ_Sequences
23:32 TimToady they're obviously prejudiced against martians
23:33 TimToady groceries &
23:48 stanrifkin_ joined #perl6
23:48 Xliff 👨‍
23:48 Xliff Oh lordy.
23:49 Herby_ joined #perl6
23:49 ZoffixLappy It's a box with hex digits!
23:49 Herby_ Evening, everyone!
23:49 ZoffixLappy :)
23:49 ZoffixLappy evening
23:49 Herby_ \o
23:49 ZoffixLappy m: '👨‍'.uninames.say
23:49 camelia rakudo-moar 4f3f1c: OUTPUT«(MAN ZERO WIDTH JOINER)␤»
23:49 ZoffixLappy wat.... a man joiner
23:49 Xliff I can actually see that.
23:49 * ZoffixLappy can't
23:50 ZoffixLappy Ah. It's the ZWJ sequences. Seen 'em
23:50 sortiz timotimo, A quick question, hope you know: In which cases $*VM.config<nativecall_backend> can be ne 'dyncall' ?
23:54 timotimo when you've compiled your moarvm with --has-ffi
23:54 timotimo or --has-libffi?
23:54 timotimo https://travis-ci.org/MoarVM/MoarVM - check the options, sortiz
23:54 timotimo it's --has-libffi indeed
23:55 sortiz Ok, thank you.
23:56 timotimo YW
23:56 stanrifkin_ is "rakudobrew build moar" just enough to get always the latest rakudo compiler?
23:57 cdg joined #perl6
23:57 ZoffixLappy stanrifkin_, yes
23:58 stanrifkin_ ZoffixLappy: there is 2016.03 listed - but i only got 6.c 2015.12 - what do i wrong?
23:58 timotimo there's a mechanism that we use to determine what revision of nqp and moarvm you'll have to get, and rakudobrew build moar will get you something that'll definitely work
23:58 timotimo you can get the "absolutely newest" you can "rakudobrew triple nom master master" if i recall correctly

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

Perl 6 | Reference Documentation | Rakudo