Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-12-20

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:16 pyrimidine joined #perl6
00:18 BenGoldberg joined #perl6
00:18 japhb .tell [Coke] IIRC there were two reasons for PNG versions of the type graphs: 1) Browsers that did not support SVG inline, and 2) Browsers with NoScript or similar security technology enabled (which often disables SVG).
00:18 yoleaux japhb: I'll pass your message to [Coke].
00:31 cibs joined #perl6
00:39 pyrimidine joined #perl6
00:44 pierre_ joined #perl6
00:51 lizmat joined #perl6
00:51 AlexDaniel what's [big] about it
00:55 aborazmeh joined #perl6
00:55 aborazmeh joined #perl6
01:07 j joined #perl6
01:14 pyrimidine joined #perl6
01:16 mr_ron left #perl6
01:16 mr_ron joined #perl6
01:26 pyrimidine joined #perl6
01:36 itcharlie joined #perl6
01:39 pyrimidine joined #perl6
01:42 itcharlie left #perl6
01:49 bitmap joined #perl6
01:55 pyrimidine joined #perl6
02:00 cpage_ joined #perl6
02:16 jargan joined #perl6
02:16 baest joined #perl6
02:17 cgfbee joined #perl6
02:22 pyrimidine joined #perl6
02:23 [Coke] samcv: looks like it's more than twice as slow here: https://gist.github.com/coke/1fb4a80aa833945632b7c1cc1a0a2981
02:23 yoleaux 00:18Z <japhb> [Coke]: IIRC there were two reasons for PNG versions of the type graphs: 1) Browsers that did not support SVG inline, and 2) Browsers with NoScript or similar security technology enabled (which often disables SVG).
02:24 [Coke] samcv: got a TON of duplicate messages during the final stages with the highlights version, not sure if that contributed.
02:24 samcv hmm
02:24 samcv from travis's build it seems to be like 10% slower
02:24 samcv but i'm working atm on being able to make it async
02:24 samcv well the node side
02:25 samcv and output json which contains the filename it read from and the html (newline delimited)
02:28 [Coke] samcv: note that parallel=2 SEGVS or worse with the current version.
02:28 [Coke] (on master)
02:28 samcv yeah
02:30 [Coke] .tell japhb - yah, I'm suggesting that we have enough SVG support now we can drop that requirement.
02:30 yoleaux [Coke]: I'll pass your message to japhb.
02:30 [Coke] (I am also generally OK with the site not being 100% without javascript)
02:32 pyrimidine joined #perl6
02:33 samcv you mean client side?
02:37 colomon joined #perl6
02:37 samcv also i'm going to try calling stdout write directly instead of console.log
02:41 dalek doc/highlights: 6180396 | samcv++ | highlights/highlight-filename-from-stdin.coffee:
02:41 dalek doc/highlights: Make highlights async, use process.stdout.write not console.log
02:41 dalek doc/highlights:
02:41 dalek doc/highlights: console.log can do formatting of javascript data structures
02:41 dalek doc/highlights: Hopefully will be faster printing that way.
02:41 dalek doc/highlights:
02:41 dalek doc/highlights: Not sure if making it async will make it faster, the same,
02:41 dalek doc/highlights: or slowing though.
02:41 dalek doc/highlights: review: https://github.com/perl6/doc/commit/61803968af
02:41 samcv well let's see what this does
02:46 samcv really curious.
02:46 quicoju joined #perl6
02:46 [Coke] I can try again.
02:46 samcv also what node version do you have?
02:48 ilbot3 joined #perl6
02:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:48 [Coke] v6.3.0
02:48 [Coke] I see 6.9.2 is current, checking macports.
02:48 samcv that's probably fine i guess. i don't know much about node
02:49 samcv i have v7.2.1 atm
02:49 [Coke] er, I guess current means something and I meant LTS.
02:52 kalkin-_ joined #perl6
02:56 xtreak joined #perl6
02:56 * [Coke] upgrades to 7.2.1
02:57 pyrimidine joined #perl6
02:58 samcv also i made it async so. it's maybe possible that now the wrong text will be in different places
02:58 samcv but i think most likely not, since it waits for a response (perl6)
02:58 samcv before sending the next request. so i'm 95% sure that won't happen
02:59 [Coke] died with Cannot receive a message on a closed channel
02:59 samcv at the end?
02:59 [Coke] your parallel isn't tied to --parallel?
02:59 samcv it doesn't do it parallel. i just made the node part asynchronous
03:00 samcv idk coke maybe it sent a nonreal filename? though then i think it should print out an error
03:00 samcv i'm building right now
03:02 noganex_ joined #perl6
03:02 samcv err or wait maybe i didn't make it async. hold on
03:14 dalek doc/highlights: cbaca0a | samcv++ | / (2 files):
03:14 dalek doc/highlights: Actually make the coffeescript asynchronous
03:14 dalek doc/highlights:
03:14 dalek doc/highlights: Also remove an unneeded repo from the Makefile.
03:14 dalek doc/highlights: `highlights` is already in our node package file,
03:15 dalek doc/highlights: so it automatically downloads.
03:15 dalek doc/highlights: review: https://github.com/perl6/doc/commit/cbaca0aad4
03:21 cpage_ joined #perl6
03:37 colomon joined #perl6
03:37 labster https://news.ycombinator.com/item?id=13216924 Upvotes would be nice for today's advent calendar entry.  People need to learn about P5 interop.  Also good job tadzik++
03:38 samcv the post title is not very informative :\
03:38 kurahaupo joined #perl6
03:43 labster it has a link right next to it with "perl6advent"
03:44 labster samcv: Should I edit the title?
03:45 samcv yes
03:45 samcv very much so
03:45 samcv Bridging the gap between Perl 5 and Perl 6
03:49 wentam joined #perl6
04:00 noganex joined #perl6
04:06 BenGoldberg joined #perl6
04:08 japhb .
04:08 yoleaux 02:30Z <[Coke]> japhb: - yah, I'm suggesting that we have enough SVG support now we can drop that requirement.
04:09 japhb [Coke]: Understood, just passing on the history.  OOC, why do you want to get rid of the PNGs?
04:22 teksteiner joined #perl6
04:29 teksteiner Hey everyone, new to Perl6, when I use `say` with a variable in the following string, like `say "time: $seconds"`, how do I put a character behind seconds without a space? I know that I could do `say "time: $seconds" ~ "s"`.
04:32 MasterDuke m: my $second = now; say "time: {$second}s"
04:32 camelia rakudo-moar a96292: OUTPUT«time: Instant:1482208366.513932s␤»
04:33 teksteiner Ah I see, didnt know it was possible to use {} inside strings either, thank you :)
04:34 xtreak joined #perl6
04:36 MasterDuke np. fyi, {} inside a string allows you to perform arbitrary computation
04:37 MasterDuke and on that bombshell, i'm out of here
04:37 teksteiner Alright, have a nice day.
04:43 mr-foobar joined #perl6
04:47 pierre_ joined #perl6
05:05 baest_ joined #perl6
05:08 Ben_Goldberg joined #perl6
05:12 teksteiner joined #perl6
05:17 djbkd joined #perl6
05:23 teksteiner joined #perl6
05:27 samcv welcome to perl 6 teksteiner :)
05:32 teksteiner joined #perl6
05:41 teksteiner joined #perl6
05:42 Cabanossi joined #perl6
05:51 Sgeo_ joined #perl6
06:07 samcv hmm roast is the current status of the Perl 6 standard right? so we can change things that may be different in 6.c?
06:07 * samcv _really_ wants to remove the ornate parenthesis ;)
06:14 TEttinger samcv: I agree, very confusing
06:14 samcv i mean it can stay in the 6.c branch of roast, but i just want to remove it. that's what i want for christmas ;)
06:16 samcv and then when Bidi_Mirroring_Glyph works properly in Moar, then can easily automate the testing of all things in unicode
06:16 samcv m: say '('uniprop('bmg')
06:16 camelia rakudo-moar a96292: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say '('7⏏5uniprop('bmg')␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifie…»
06:16 samcv m: say '('.uniprop('bmg')
06:16 camelia rakudo-moar a96292: OUTPUT«0029␤»
06:16 samcv m: say '('.uniprop('bmg').WHAT
06:16 camelia rakudo-moar a96292: OUTPUT«(Str)␤»
06:17 holli joined #perl6
06:18 holli good localtime good sirs and ladies. may i kindly draw your attention to this perlmonks post of mine which describes a Perl6/Inline::Perl5 problem.
06:18 holli http://www.perlmonks.org/?node_id=1178000
06:18 bjz joined #perl6
06:19 samcv reading
06:20 xtreak joined #perl6
06:21 samcv why did you make class YTDL::App is Wx::App?
06:22 samcv in perl 5 do you have to use base or you don't get the routine's imported?
06:23 holli the Perl5 code is right there. yes because it's supposed to ISA Wx::App
06:23 samcv i see the perl 5 code. but the question was just, if that sub is automatically exported or not
06:24 samcv hold on i have Wx installed. let me see
06:24 holli i don't know
06:25 Tonik joined #perl6
06:28 cyphase joined #perl6
06:28 raiph joined #perl6
06:28 bjz joined #perl6
06:29 raiph holli: what happened when you tried 'sub'?
06:29 yoleaux 19 Dec 2016 22:08Z <nine> raiph: your suggestion to use "method" instead of "sub" sounds entirely sane. Wonder if it helped.
06:29 raiph er, tried 'method'
06:29 samcv that doesn't work. i tried a sub
06:29 samcv for me at least
06:30 bjz_ joined #perl6
06:31 nige1 joined #perl6
06:32 holli neither "method" nor "sub" do work
06:34 samcv i don't think you can inherit from perl 5 programs. you can use perl 5 objects and stuff though
06:34 samcv and routines
06:34 samcv inheriting from it seems like it wouldn't work...
06:35 nige1 .tell zoffix thanks for the tip to turn on JSON output for perl6 -> RAKUDO_EXCEPTION_HANDLER=JSON
06:35 yoleaux nige1: I'll pass your message to zoffix.
06:35 samcv but i could be wrong
06:36 nige1 .tell zoffix I've update the code to use JSON instead https://github.com/nige123/perl6fix/blob/master/perl6fix
06:36 yoleaux nige1: I'll pass your message to zoffix.
06:37 samcv oh holli
06:37 samcv what you are looking for is not `is` but the `does` keyword
06:37 nige1 next time I'll show advent drafts to the channel first
06:37 samcv does inherits the way you want it to
06:38 samcv class YTDL::App does Wx::App will inherit variables and all other stuff. does inherits mostly everything
06:38 samcv but i get this error: Wx::App is not composable, so YTDL::App cannot compose it
06:39 samcv idk somebody else here might know more about using Inline::Perl5 :\
06:39 samcv at least that's how objects inherit in perl 6, not sure about the magic that happens in inline
06:40 holli bummer
06:40 samcv well let me keep trying actually...
06:42 * holli ponders writing a Perl6 to C wrapper for Wx
06:42 samcv have you ever used NativeCall before?
06:42 samcv i've used it before, it's pretty good
06:42 holli nope. not a clue about c
06:42 samcv do you know C?
06:42 holli that's the adventure :)
06:42 samcv NativeCall is the perl 6 thingy that hooks up to NativeCall
06:42 samcv err.
06:42 samcv i mean hooks up to C libraries
06:43 holli i know. looks easy. emphasize on "looks"
06:44 samcv well i can help you a lot more with that than with inline perl 5 hah
06:44 samcv i mean i'm not a pro, but i have used it some
06:44 raiph IP5 just uses NativeCall
06:44 samcv yeah
06:44 raiph you can create a P6 class that's a subclass of a P5 class
06:46 raiph do we have a P6 bot that has IP5 and some P5 modules installed?
06:46 bjz joined #perl6
06:47 pierre_ joined #perl6
06:48 darutoko joined #perl6
06:51 RabidGravy joined #perl6
06:52 holli apparently not
06:54 holli i fucked up the link btw
06:54 holli http://www.perlmonks.org/?node_id=1177946 this is the OP
06:54 nige1 .tell zoffix also fixed the advent entry on fixing flow https://perl6advent.wordpress.com/2016/12/19/fixing-flow/ to use JSON instead
06:54 yoleaux nige1: I'll pass your message to zoffix.
06:55 cyphase joined #perl6
06:59 raiph .tell nine https://irclog.perlgeek.de/perl6/2016-12-20#i_13770361
06:59 yoleaux raiph: I'll pass your message to nine.
07:01 raiph holli: I plan to take another look at what you're trying later this week
07:01 raiph goodnight #perl6
07:02 geekosaur joined #perl6
07:02 holli gn
07:08 ufobat joined #perl6
07:13 pierre_ joined #perl6
07:13 wamba joined #perl6
07:16 pyrimidine joined #perl6
07:17 holli off to work
07:17 holli cya
07:20 CIAvash joined #perl6
07:26 pyrimidine joined #perl6
07:31 nine samcv: you _can_ inherit from Perl 5 classes
07:31 yoleaux 06:59Z <raiph> nine: https://irclog.perlgeek.de/perl6/2016-12-20#i_13770361
07:32 samcv that's pretty neat nine
07:32 samcv how is that feat accomplished?
07:33 nine When you "use Wx::App" a wrapper class called Wx::App is created in Perl 6 which forwards method calls to Perl 5. You can inherit from this wrapper.
07:34 samcv can using Wx::App work though, because it tries to call a perl 5 sub?
07:34 nine Like in: http://niner.name/talks/Perl%205%20and%20Perl%206%20-%20a%20great%20team/examples/html-parser.pl
07:35 samcv sweet!
07:35 nine I don't know Wx::App, but I assume it should work just like HTML::Parser.
07:37 Ben_Goldberg joined #perl6
07:38 nine .tell holli cases like "use Wx::App:from<Perl5>; my $app = Wx::SimpleApp.new;" are exactly why I worked on lexical module loading mentioned in http://rakudo.org/2016/12/17/lexical-module-loading/ Now that that's out of the way I can improve Inline::Perl5
07:38 yoleaux nine: I'll pass your message to holli.
07:39 samcv nine++
07:41 samcv when is this landing in nom?
07:41 nine It did yesterday
07:42 * samcv pulls
07:42 * masak .oO( "I need this on my master branch yesterday!" )
07:42 masak mornin', #perl6
07:43 samcv morning
07:44 pierre_ joined #perl6
07:44 teksteiner good morning
07:46 BenGoldberg joined #perl6
07:46 dayangkun joined #perl6
07:48 domidumont joined #perl6
07:53 dayangkun joined #perl6
07:53 domidumont joined #perl6
08:05 nige1 joined #perl6
08:05 andrzeju_ hello PERL!:)
08:09 nine andrzeju_: good morning
08:09 CIAvash joined #perl6
08:16 pyrimidi_ joined #perl6
08:23 Ben_Goldberg joined #perl6
08:25 zakharyas joined #perl6
08:29 nine .tell holli I now understand the bug in Inline::Perl5 which causes your Wx app to fail. The subclass doesn't exist in Perl 5 and the Perl 5 constructor is called with "Wx::App" as package so $this->can( 'OnInit' ) will return the OnInit of the base class. Fixable but a bit involved.
08:29 yoleaux nine: I'll pass your message to holli.
08:42 dakkar joined #perl6
08:45 nige1 left #perl6
08:45 DrForr .tell mr_ron I'm back from vacation, ping me re: roman numerals.
08:45 yoleaux DrForr: I'll pass your message to mr_ron.
08:50 xtreak joined #perl6
08:51 g4 joined #perl6
08:51 g4 joined #perl6
08:52 ufobat is this a bad idea:  token FilterExpr { <PrimaryExpr> | <FilterExpr> <Predicate> } because of the recursion in this token? and is this a bad idea esp because of backtracking? (just by having this in my grammar, not even matching against it, increases the execution time of .parse() from 7 to 19sec)
08:54 xtreak joined #perl6
08:58 DrForr ufobat - Probably, yes. What language is this for, if I may be so bold?
08:58 DrForr I.E. there may well be a better way to do this.
08:59 lizmat https://news.ycombinator.com/item?id=13216924  # labster's advent post on HN
08:59 labster Hi lizmat
09:00 * lizmat also clickbaits https://p6weekly.wordpress.com/2016/12/19/2016-51-flowing-towards-christmas/
09:00 lizmat labster o/
09:00 labster Happy Advent
09:00 labster \o
09:01 ufobat DrForr, i am playing around with xpath
09:02 DrForr Oh, cool. I was just wondering because that expression just might allow more than you intended.
09:02 ufobat DrForr, i am trying to figure out why a) its so slow b) my grammar ony matches when i use Grammar::Debugger https://github.com/ufobat/p6-XML-XPath
09:03 ufobat i just wrote down the spec in a perl grammar, not much thinking about it first and just give it a try..
09:05 DrForr The first thing I see is that everything's written as a token. That's a bit odd to me, because tokens are usually single blocks of text. If you're in an XPath construct it's possible, but I'm not sure.
09:06 tadzik oh, someone did find that My Little Pony module, now I have to think of a prize :o
09:07 DrForr Sparkle glue?
09:08 arnsholt ufobat: It's a bad idea because it'll recurse infinitely if PrimaryExpr doesn't match
09:09 ufobat i tought so, so if there is recursion it must like token A { <B> | <C> <A> }
09:11 ufobat DrForr, what is the way to decide when a token is not sufficient?
09:11 jast only in a recursive descent / LL parser
09:11 DrForr Well, the thing is that's really just a way to generate arbitrary sequences of <B>|<C>, I *think*.
09:12 arnsholt Anyways, you can just expand it into FilterExpr { <PrimaryExpr> <Predicate>* }
09:12 DrForr And yea, BNF and LALR(n) aren't the same as PEGs.
09:12 arnsholt ufobat: More or less. You need to consume at least one more character before recursing back into A
09:12 jast that's a different expression, actually
09:12 arnsholt So it'd fail if <C> can match the empty string
09:13 ufobat AH!
09:13 DrForr arnsholt: I thought that was the case to, but <primary><Predicate><Primary> is allowed because of the recursion, and I didn't think he wanted that. That's why I was curious about the language.
09:14 DrForr ufobat: I generally follow the rule that a token is meant to be a single term like 123 or -23.7 or "foo bar", and anything else is a rule connecting tokens.
09:14 arnsholt A primary after the predicate isn't licenced by that FilterExpr rule
09:14 jast wouldn't it be: FilterExpr { <PrimaryExpr>* <Predicate> }
09:14 arnsholt jast: That's what I thought initially too
09:15 DrForr Oh, I ws reading backwards. My bad.
09:15 arnsholt But if you sketch the parse tree top-down, you'll see it
09:15 ufobat jast, probably, yeah :)
09:15 jast oh, yeah
09:15 arnsholt FE => FE Pred => FE Pred Pred => ...
09:15 jast man, reading grammars is hard :)
09:15 arnsholt Yeah, it's really hard to develop good intuitions about them
09:16 jast I actually think ordered choice instead of | makes it easier to understand them
09:16 jast not "easy", though
09:16 ufobat DrForr, but rules are "tokens with whitespaces" right? if so why is a rule "probably" better?
09:17 ufobat i thought my probelm is to identify when backtracking is required and when it isnt
09:18 jast because of the PEG-like capability's of P6 grammars you can often avoid left recursion a lot more easily than with traditional grammar definitions
09:18 jast dang, I did just put that apostroph there, didn't I? bad day, apparently...
09:18 thayne joined #perl6
09:18 arnsholt Where PEG-like is quantification of subrule matches?
09:18 DrForr It makes your intentions clearer, to start.
09:19 jast in this case, yeah
09:19 arnsholt That's easily expressible in both top-down and bottom-up CFG parsing though
09:19 jast it is, but with traditional definitions you have to split up your productions further, with this you can avoid that
09:19 arnsholt There's a PEG component in HLL::Grammar in NQP, but that's not directly available to Perl 6 grammars
09:20 jast (when using top-down parsing, at least. LR-type parsers don't care about left recursion, of course.)
09:20 ocbtec joined #perl6
09:20 DrForr BNF and other grammars go through hell to represent <X><Y>* and <X>+<Y> because of {reduce,shift}-reduce conflicts; PEGs don't have that problem.
09:21 jast neither do the other bottom-up techniques I can think of
09:21 ufobat let me refere to one of my first questions again. the speed issue. Grammar::Debugger tells me that i am not using the mentioned token, still the .parse() is much! slower with that token in it. is that "okay" or a bug?
09:21 arnsholt The thing some bottom-up algorithms doesn't like is empty productions
09:21 jast without knowing anything about the internals, I'd say it's something that could probably be improved on :)
09:21 ufobat having all my "wrong" tokens in my grammar without Grammar::Debugger it doesn't parse at all, but with G::D it does
09:22 arnsholt But the details of that escape me. It's been ages since I learned about that stuff
09:22 DrForr I'd say it was Grammar::Debugger interfering with your grammar. It modifies the grammar internally to inject debugging code, but that can change the grammar itself as well.
09:22 jast I don't know about all of the details either
09:22 arnsholt And I haven't had occasion to use them since, these alagorithms being pretty useless for natural languague =)
09:23 jast do you do other kinds of NLP, then?
09:24 jast I mean there are algorithms that can deal with ambiguities in a grammar... not that that makes your statement any less true :}
09:24 ufobat are there other ways of debugging a grammar without modifing it.. maybe an action class with a good sub FALLBACK?
09:25 arnsholt jast: I didn't do much parsing (recently left academia and became a developer =), but yeah for grammar-driven parsing you'd use other algorithms
09:25 DrForr ufobat: FWIW I've seen several cases of G::D interfering with existing grammars just as you're describing. I didn't hae the knowledge at the time to try to debug the problem so I stopped using the module and relied on a better test suite.
09:25 arnsholt Most notably CKY
09:26 jast I haven't done a lot of exotic parsing myself, but for a while I had these crazy ideas about creating a language with syntax that is fully mutable at runtime...
09:26 jast so I read a lot of papers about... things.
09:27 jast ufobat: if all else fails, you could try and involve a few extra pairs of eyes
09:27 DrForr jast: I have a module that does that on a drive somewhere, though it never got around to being completed.
09:28 arnsholt jast: "syntax ... fully mutable at runtime" Perl 6 you mean? =D
09:28 jast for extra difficulty my ideas involved static typing
09:28 jast with optional type inference
09:29 jast and I don't really have the patience to actually sit down and implement that with all of the crazy implications, when there are "close enough" languages that already exist
09:29 DrForr ufobat: I understand the idea of just doing black-box testing, but I think you'd be happier with a larger test suite probing just the .parse method - you can add a dynamic variable to dump the test output without having to test the entire find* layer.
09:29 jast one example being Perl 6, yes
09:30 ufobat okay :-) thanks for all the help and ideas, i am trying to avoid the left recursion first
09:30 DrForr jast: Apple Dylan tried something like that a *long* time ago, albeit not to much success.
09:30 lizmat https://news.ycombinator.com/item?id=13216924  # correction: tadzik's advent post
09:31 ufobat DrForr, absolutly!
09:32 jast I gave up on the idea of "fully" mutable after a while, anyway, because if syntax can be freely mutated by any module you use, you can run into nasty conflicts very quickly
09:33 ufobat is there a Test::* module that provides timeouts for methods? because its not fun testing something that goes into a infinite recusion till everything blowes up
09:33 DrForr ufobat: Also, check out https://github.com/drforr/perl6-ANTLR4/blob/master/t/03-ast.t for some other ideas. I need to finish rewriting it due to the fact that the code predates the GLR, so please don't take the general case seriously.
09:33 ufobat ty!
09:34 DrForr ufobat: Oo, good idea. I'm not aware of one, though usually when I'm dealing with a spin-lock like that it's inside the actual parser and not a set of mutually-recursing terms.
09:35 rindolf joined #perl6
09:36 DrForr ufobat: Also the grammar itself may be of interest, as it's parsing an XML-like grammar then *generating* a Perl6-like grammar :)
09:37 El_Che you lost me at xml
09:37 El_Che goodmorning
09:38 xtreak joined #perl6
09:38 ufobat morning
09:39 ufobat well i need to go back to p5 for work before i cna play around more :-) i am *really* thankful for all the comments on that :)
09:40 DrForr ufobat: Really I don't find that 1;1 translation of grammars works all that well from BNF-PEG, which is one of the deeper reasons why I decided to focus on other parsing tools.
09:44 espadrine joined #perl6
09:49 DrForr .tell ufobat PathExpr should probably be reordered as well or rewritten to { <FilterExpr> [ [ '//' | '/' ] <RelativeLocationPath> ]? | <LocationPath> }
09:49 yoleaux DrForr: I'll pass your message to ufobat.
09:50 drrho just to test my understanding of TIE/UNTIE in Perl6:
09:51 drrho is it correct that this functionality is covered by subclassing Array, List, Hash, etc. ?
09:51 AlexDaniel joined #perl6
09:52 moritz or implementing the Positional / Associative roles, yes
09:53 DrForr .tell ufobat '<MultipyOperator> on term 32 is a tyop for 'MultiplyOperator'.
09:53 yoleaux DrForr: I'll pass your message to ufobat.
09:55 drrho moritz: thx, this is actually REALLY nifty.
09:56 chris2_ joined #perl6
10:01 moritz drrho: https://docs.perl6.org/language/subscripts#Custom_types
10:02 DrForr .tell ufobat { <Step> %% [ '//' | '/' ] } # may improve clarity as well.
10:02 yoleaux DrForr: I'll pass your message to ufobat.
10:03 jonas1 joined #perl6
10:10 Praise joined #perl6
10:10 Praise joined #perl6
10:15 bjz_ joined #perl6
10:16 Vynce joined #perl6
10:20 mr-foobar joined #perl6
10:20 domidumont joined #perl6
10:28 aries_liuxueyang joined #perl6
10:39 wamba joined #perl6
10:40 ufobat DrForr, your changes makes the grammar work, within 120sec and 50% memory of my laptop :p
10:40 yoleaux 09:49Z <DrForr> ufobat: PathExpr should probably be reordered as well or rewritten to { <FilterExpr> [ [ '//' | '/' ] <RelativeLocationPath> ]? | <LocationPath> }
10:40 yoleaux 09:53Z <DrForr> ufobat: '<MultipyOperator> on term 32 is a tyop for 'MultiplyOperator'.
10:40 yoleaux 10:02Z <DrForr> ufobat: { <Step> %% [ '//' | '/' ] } # may improve clarity as well.
10:44 DrForr Yay!
10:49 ufobat down to 10sec
10:49 DrForr Wow.
10:51 mst MULTIPY # map Inline::Python->new, 1..10;
10:54 ufobat 0,8sec
10:54 jast that's a difference
10:56 rindolf joined #perl6
10:58 ChoHag joined #perl6
11:00 dayangkun joined #perl6
11:04 ufobat DrForr, you were to fast on FB , i'm down to 0.3
11:05 ufobat this sounds like a perfect moment for lunch break
11:05 DrForr [Citation added]
11:12 ChoHag joined #perl6
11:14 perlawhirl joined #perl6
11:14 timotimo mst: doesn't python have some global state that'd mess up your multipys?
11:15 mst timotimo: DrForr's the one with the MultipyOperator, presumable he's got an overload that fixes that :D
11:15 DrForr Aroo?
11:15 timotimo oh, i get it :)
11:17 samcv mmm eggnog. tastes like Perl 6 :)
11:18 mst DrForr: <+yoleaux> 09:53Z <DrForr> ufobat: '<MultipyOperator> on term 32
11:19 DrForr Oh. That was ufobat's grammar. Phew, thought I was shanghaid into working on yet another project :)
11:21 ChoHag joined #perl6
11:21 wamba joined #perl6
11:23 dayangkun joined #perl6
11:28 titsuki_ bisect: my $a = Pointer[int32].new(10); $a.deref.say;
11:28 bisectable6 titsuki_, On both starting points (old=2015.12 new=a962928) the exit code is 1 and the output is identical as well
11:28 bisectable6 titsuki_, Output on both points: ===SORRY!=== Error while compiling /tmp/dX05SIba0f␤Undeclared name:␤    Pointer used at line 1␤
11:29 geekosaur joined #perl6
11:30 jnthn Needs a `use NativeCall`
11:31 titsuki_ jnthn: thx!
11:31 jnthn m: use NativeCall; my $a = Pointer[int32].new(10); $a.deref.say;
11:31 camelia rakudo-moar a96292: OUTPUT«Internal error: unhandled target type␤  in sub nativecast at /home/camelia/rakudo-m-inst-1/share/perl6/sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 5␤  in method deref at /home/camelia/rakudo-m-inst-1/share/perl6/sources/51…»
11:31 jnthn And that I've no idea about. :)
11:32 titsuki_ jnthn: I see thx.
11:33 titsuki_ bisect: use NativeCall; my $a = Pointer[int32].new(10); $a.deref.say;
11:33 bisectable6 titsuki_, Bisecting by output (old=2015.12 new=a962928) because on both starting points the exit code is 1
11:34 bisectable6 titsuki_, bisect log: https://gist.github.com/d12ef28d4f5cd036053866d11a788565
11:34 bisectable6 titsuki_, (2015-12-25) https://github.com/rakudo/rakudo/commit/07fecb52eb1fd07397659f19a5cf36dc61f84053
11:38 pyrimidine joined #perl6
11:45 Actualeyes joined #perl6
11:52 notviki To those not subbed to Freenode's notices: read info https://freenode.net/news/PSA-brief-update-infra
11:52 notviki DrForr: so I take it we shall be expecting you to optimize src/Perl6/Grammar.nqp next? :)
11:53 aries_liuxueyang joined #perl6
11:55 DrForr And have to rewrite Perl6::Parser? Fat chance :)
11:56 pyrimidine joined #perl6
11:58 notviki hm... http://perl6.wtf update failed...
11:58 notviki + ./perl6 nqp/MoarVM/tools/parse_coverage_report.p6 --annotations=setting coverage/full-cover gen/moar/m-CORE.setting
11:58 notviki Usage:
11:58 notviki nqp/MoarVM/tools/parse_coverage_report.p6 [--annotations=<Str>] <file> <source> [<filename>]
11:59 notviki m: setting.say
11:59 camelia rakudo-moar a96292: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    setting used at line 1␤␤»
11:59 notviki weird
11:59 notviki oh
11:59 notviki m-CORE.setting is probably CORE.setting now
12:03 lizmat notviki: yeah, someone normalized the naming scheme
12:03 notviki MasterDuke did :)
12:03 * notviki restarts the script
12:06 pyrimidine joined #perl6
12:08 domidumont joined #perl6
12:13 lukaramu joined #perl6
12:15 bjz joined #perl6
12:18 domidumont joined #perl6
12:24 pyrimidine joined #perl6
12:24 mr-foobar joined #perl6
12:28 Actualeyes joined #perl6
12:34 pyrimidine joined #perl6
12:43 pyrimidine joined #perl6
12:49 mscha joined #perl6
12:50 mscha m: my $r = ^42; .say for $r.min, $r.max, $r.minmax; # I know this works as documented, but it's not very dwimmy.
12:50 camelia rakudo-moar 99e33f: OUTPUT«0␤42␤(0 41)␤»
12:52 pyrimidine joined #perl6
12:52 mscha Wouldn't it be better if ($r.min, $r.max) would be the same as $r.minmax, and have something like $r.lower and $r.upper that do what $r.min and $r.max do now?
12:53 lizmat mscha: please rakudobug this, so it will not fall through the cracks
13:02 espadrine joined #perl6
13:02 jnthn It may well be more useful that way it is.
13:02 pyrimidine joined #perl6
13:02 jnthn m: (1, 5, 3).minmax
13:02 camelia rakudo-moar ece2c6: ( no output )
13:02 jnthn m: say (1, 5, 3).minmax
13:02 camelia rakudo-moar ece2c6: OUTPUT«1..5␤»
13:03 jnthn Consistent with "what are the min and max within the list this expands to"
13:03 jnthn Though...
13:04 jnthn m: say ^42 .minmax.WHAT
13:04 camelia rakudo-moar ece2c6: OUTPUT«===SORRY!===␤Method call must either supply a name or have a child node that evaluates to the name␤»
13:04 jnthn m: say (^42).minmax.WHAT
13:04 camelia rakudo-moar ece2c6: OUTPUT«(List)␤»
13:04 jnthn m: say (1, 3, 5).minmax.WHAT
13:04 camelia rakudo-moar ece2c6: OUTPUT«(Range)␤»
13:04 jnthn That's odd.
13:05 mscha Yes, I like minmax the way it is; I just think that (^42).max == 42 is wrong.  (Should be 41, and something like .upper should be 42.)
13:20 notviki s: ^42, 'max', \()
13:20 SourceBaby notviki, Something's wrong: ␤ERR: Unhandled exception: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' (from 'gen/moar/main.nqp')␤   at <unknown>:1  (/home/zoffix/services/sourceable/building-perl6/perl6.moarvm:<dependencies+deserialize>)␤
13:20 pyrimidine joined #perl6
13:20 notviki s: ^42, 'max', \()
13:20 SourceBaby notviki, Something's wrong: ␤ERR: Unhandled exception: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' (from 'gen/moar/main.nqp')␤   at <unknown>:1  (/home/zoffix/services/sourceable/building-perl6/perl6.moarvm:<dependencies+deserialize>)␤
13:21 notviki -_-
13:21 andrzeju_ joined #perl6
13:21 notviki stupid robot
13:22 notviki It probabably just fails to check $!exclude-max thing
13:22 notviki m: say (1..5).max
13:22 camelia rakudo-moar ece2c6: OUTPUT«5␤»
13:22 notviki m: say (1..^5).max
13:22 camelia rakudo-moar ece2c6: OUTPUT«5␤»
13:22 notviki m: say (1^..5).min
13:22 camelia rakudo-moar ece2c6: OUTPUT«1␤»
13:22 mr_ron joined #perl6
13:22 notviki s: ^42, 'max', \()
13:22 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob/5d084a7/tting.moarvm#L1
13:22 notviki 0.o
13:23 notviki that's... weird
13:24 notviki m: (^42).^lookup('max'
13:24 camelia rakudo-moar ece2c6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3(^42).^lookup('max'7⏏5<EOL>␤»
13:24 notviki m: (^42).^lookup('max').file
13:24 camelia rakudo-moar ece2c6: ( no output )
13:24 notviki m: (^42).^lookup('max').file.say
13:24 camelia rakudo-moar ece2c6: OUTPUT«/home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm␤»
13:24 notviki bisect: (^42).^lookup('max').file.say
13:24 bisectable6 notviki, Bisecting by output (old=2015.12 new=5d084a7) because on both starting points the exit code is 0
13:24 bisectable6 notviki, bisect log: https://gist.github.com/f576db123a34f3c07fa6018a621ae1b5
13:24 bisectable6 notviki, (2016-03-02) https://github.com/rakudo/rakudo/commit/fdd37a9e0bef16eb3e4bb24ddd59247e379b5038
13:25 notviki oohhhhh
13:25 notviki There's no bug.
13:26 notviki mscha: .min/.max on ranges indicate their min/max points. The whether or not the end points are excluded is a separate (and surprisingly private) attribute
13:26 notviki Ah, there are methods for them excludes-min
13:27 notviki m: my $r = ^42; dd [ $r.max, $r.excludes-max ]
13:27 camelia rakudo-moar ece2c6: OUTPUT«[42, Bool::True]␤»
13:27 mscha I know, but it's very undwimmy that minmax gives different values than min and max.
13:27 notviki umm.... but you just said you liked minmax :P
13:27 [Coke] japhb: less code, less time building docs.
13:28 notviki s: ^42, 'minmax', \()
13:28 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob/5d084a7/src/core/Range.pm#L638
13:28 notviki 0.o
13:28 notviki m: sink ^42 .minmax
13:28 camelia rakudo-moar ece2c6: ( no output )
13:28 mscha Yes, I think the dwimmy thing would be: (^42).minmax == (0,41), (^42).max == 41, (^42).upper == 42.
13:29 notviki huh
13:29 notviki mscha: but 41 isn't max
13:29 notviki m: say 41.5 ~~ ^42
13:29 camelia rakudo-moar ece2c6: OUTPUT«True␤»
13:29 mscha notviki: it is according to minmax.
13:29 notviki mscha: well, it's broken, I see in the code it's supposed to return a Failure
13:30 pyrimidine joined #perl6
13:30 mscha m: say (^42).is-int;
13:30 camelia rakudo-moar ece2c6: OUTPUT«True␤»
13:31 mscha “If the Range is an integer range (as indicated by is-int), then this method returns a list with the first and last value it will iterate over (taking into account excludes-min and excludes-max). If the range is not an integer range, the method will return a two element list containing the start and end point of the range unless either of excludes-min or excludes-max are True in which case a Failure is returned.”
13:31 Praise joined #perl6
13:31 Praise joined #perl6
13:32 notviki OK, so nothing's broken then
13:33 mscha It behaves as documented, so in that respect nothing is broken, no.
13:33 mscha It's just not very  dwimmy.
13:33 notviki Well, what's the point of having a third method that does the same thing as the other two?
13:34 perlpilot joined #perl6
13:34 lizmat notviki: a point could be self-documenting code
13:35 mscha notviki: there already is a third method. ;-)
13:35 mscha m: say (^42).int-bounds;
13:35 camelia rakudo-moar 5d084a: OUTPUT«(0 41)␤»
13:35 notviki heh
13:36 notviki 4th method then :P
13:36 marchelzo joined #perl6
13:36 notviki m: (^42.2).int-bounds.say
13:36 camelia rakudo-moar 5d084a: OUTPUT«(0 42)␤»
13:37 notviki m: (^42.2).minmax.say
13:37 camelia rakudo-moar 5d084a: OUTPUT«Cannot return minmax on Range with excluded ends␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
13:37 notviki m: (^42.2).max.say
13:37 camelia rakudo-moar 5d084a: OUTPUT«42.2␤»
13:37 marchelzo what's the best way to learn perl6
13:37 marchelzo fast
13:37 * notviki jumps into TARDIS and burns .minmax with fire
13:37 marchelzo i want the fast track
13:37 mscha m: say (^42).is-int;
13:37 camelia rakudo-moar 5d084a: OUTPUT«True␤»
13:37 mscha m: say (^42.2).is-int;
13:37 camelia rakudo-moar 5d084a: OUTPUT«False␤»
13:38 notviki marchelzo: http://learnxinyminutes.com/docs/perl6/
13:38 marchelzo why is (^42) an int?
13:38 mscha method int-bounds: “Returns a Failure if it is not an integer range.”
13:38 [Coke] m: say (^42).WHAT
13:38 camelia rakudo-moar 5d084a: OUTPUT«(Range)␤»
13:38 notviki marchelzo: it's not
13:38 [Coke] ^^
13:38 mscha is-int: “Returns True if both end points are Int values.”
13:38 notviki marchelzo: is-int is a method on a Range object
13:38 marchelzo that is a misleading nme
13:39 marchelzo name
13:39 notviki marchelzo: what would you have called it?
13:39 marchelzo is-int-range
13:39 notviki >_<
13:39 marchelzo endpoints-are-ints
13:39 mr_ron m: my \x = 11; say ⅹ; say x; my $Gordian = 1; my $Gordian-I = 2; say $Gordian-I -2; say $Gordian-Ⅰ -2; # confusion between letter x and I and roman numerals for some fonts
13:39 yoleaux 15 Dec 2016 20:17Z <nine> mr_ron: Your gist matches what I have lying around here locally
13:39 yoleaux 08:45Z <DrForr> mr_ron: I'm back from vacation, ping me re: roman numerals.
13:39 camelia rakudo-moar 5d084a: OUTPUT«10␤11␤0␤-2␤»
13:39 * lizmat remembers an attempt to create a intrange class
13:39 pyrimidine joined #perl6
13:39 notviki no-thanks-we-like-short-names-I-mean-you're-already-calling-it-on-a-Range-object
13:39 marchelzo so what
13:40 marchelzo there's so much polymorphism in perl6 that doesn't help you much
13:40 marchelzo for all i know is-int is a method on Mu or Any
13:40 mr_ron see http://www.software-path.com/roman-unicode-p6-obfuscation.html for rendering in more fonts ...
13:40 mscha m: my $r = ^42; say $r.minmax; say $r.is-int; say 41.5 ~~ $r; # inconsistent
13:40 camelia rakudo-moar 5d084a: OUTPUT«(0 41)␤True␤True␤»
13:40 notviki marchelzo: it may help to know Perl 6 before arguing whether we have shitty method names...
13:41 mr_ron I think this is really a font issue but wanted some other eyes to take a look.
13:41 marchelzo notviki: why?
13:42 marchelzo i have an even shorter name that would be better
13:42 marchelzo in-Z
13:42 notviki marchelzo: because you'd know we don't have methods for checking whether something is an int so assuming .is-int is a method on a Mu or Any for checking whether something is an Int object (or is it the native int?)
13:43 mscha marchelzo: .ℤ
13:44 marchelzo ok, but still, it reads as though you're asking whether the Range is an int.
13:44 marchelzo not its endpoints
13:44 marchelzo mscha: yeah but that's hard to type
13:45 notviki And asking whether Range is an int is SA?D>KJ< LSAHR: BRVEAUOWAIKg:%n &;2S#:qwl
13:45 DrForr mr_ron: Yes, 1 and I can be hard to distinguish, and there are a bunch of different X-looking characters in Unicode. I'm not sure what you're asking or suggesting though.
13:45 marchelzo notviki: exactly. so why are you doing it?
13:46 marchelzo having is-int on string that checked /\d+/ would make sense for example, because then the string would literally represent a valid integer. but a range is never an integer. unless maybe the endpoints are both the /same/ integer.
13:47 notviki marchelzo: so you could come here every December and argue about our method names, of course.
13:47 marchelzo ?
13:47 notviki I see in 2015 you were arguing about .roll on a Bag being a poor name.
13:47 marchelzo haha really?
13:48 marchelzo i don't remember that
13:50 marchelzo why doesn't perl6 allow ? in method names? allowing - seems like it would pose even more challenges for the parser
13:50 awwaiid '-' has some limited placement rules that help, but it is hard on the parser for sure
13:51 mr_ron DrForr: the example tries to show code that looks very similar but gives different numerical results.  It seems that nobody is very concerned though.  Don't quite understand the use case for Unicode Nl numerals when you have a module that does that.
13:51 mr_ron I guess it looks neat ...
13:51 mr_ron s/Nl numerals/Nl numbers/
13:51 moritz marchelzo: it does, as long as you quote them
13:52 jnthn Allowing - in names isn't particularly hard on the parser - at least, it ain't provided you're parsing with a Perl 6 grammar :)
13:52 notviki m: say now - 1
13:52 camelia rakudo-moar af1501: OUTPUT«Instant:1482241981.597594␤»
13:52 notviki m: say now-1
13:52 camelia rakudo-moar af1501: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    now used at line 1. Did you mean 'not', 'HOW'?␤␤»
13:52 notviki :}
13:52 moritz marchelzo: but the question could be extend to any number of characters, and the answer is that you get more corner cases the more characters you allow
13:53 moritz marchelzo: and - seems to be pretty common as a word separator
13:53 marchelzo ? would save you from the is- prefix
13:53 notviki marchelzo: we have .? safe-call operator
13:53 jnthn Would also be formally ambiguous with .?foo
13:53 awwaiid marchelzo: a prefix '?' does bool coercerion. Yeah, in rubyland they love the '?' ending on method names to eliminate the is- prefixes
13:53 moritz and if you try to read the code, your voice goes up to formulate a question after reading the method name, even if the sentence isn't finished
13:54 mst awwaiid: I kinda like it from lisps
13:55 awwaiid marchelzo: many of these broad language questions can be summarized as: it was certainly considered and this is what we ended up with so far
13:55 marchelzo jnthn: it wouldn't be ambiguous with .?foo if you only allowed trailing question marks
13:55 lizmat marchelzo: https://github.com/FROGGS/p6-Slang-Piersing
13:55 jnthn marchelzo: True. But we aren't going to, at least, not unless you quote it. :)
13:56 jnthn Or you write a slang, like lizmat linked, to tweak the language to enable it. :)
13:56 marchelzo how do you quote an identifier?
13:56 awwaiid lizmat++ # good language tweak link
13:56 jnthn With quotes
13:56 jnthn ."foo"()
13:56 marchelzo why is that a thing?
13:56 * notviki doesn't see lizmat linking anything :/
13:57 * notviki now does
13:57 jnthn m: class C { method ::('m?') { say 42 } }; C.'m?'()
13:57 camelia rakudo-moar af1501: OUTPUT«42␤»
13:57 jnthn marchelzo: Primarily used to interpolate into the string
13:57 awwaiid marchelzo: ."dynamic-$method"()
13:57 jnthn For calls with late-bound names
13:57 marchelzo i see
13:57 pyrimidine joined #perl6
13:58 marchelzo but could you do simply .$some-string
13:59 marchelzo m: class C { method ::('m?') { say 42 } }; my $s = 'm?'; C.$s()
13:59 camelia rakudo-moar af1501: OUTPUT«No such method 'CALL-ME' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
13:59 awwaiid m: class C { method ::('m?') { say 42 } }; my $m = 'm?'; C.$m()
13:59 camelia rakudo-moar af1501: OUTPUT«No such method 'CALL-ME' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
13:59 jnthn marchelzo: That mans something different.
14:00 jnthn .$code-object()
14:00 awwaiid m: class C { method ::('m?') { say 42 } }; my $m = 'm?'; $real-m = C.^methods.first; C.$real-m()
14:00 camelia rakudo-moar af1501: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$real-m' is not declared␤at <tmp>:1␤------> 3od ::('m?') { say 42 } }; my $m = 'm?'; 7⏏5$real-m = C.^methods.first; C.$real-m()␤»
14:00 awwaiid m: class C { method ::('m?') { say 42 } }; my $m = 'm?'; my $real-m = C.^methods.first; C.$real-m()
14:00 camelia rakudo-moar af1501: OUTPUT«42␤»
14:03 lucasb joined #perl6
14:03 DrForr mr_ron: Looking closer I can see that there's some confusion, but having spent time tracking down the creative ways students abuse Unicode I can assure you those are minor :) H*ll, U+10916 PHOENICIAN NUMBER ONE looks like a slash.
14:04 DrForr m: say 1????3
14:04 camelia rakudo-moar af1501: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Bogus postfix␤at <tmp>:1␤------> 3say 17⏏5????3␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤        stat…»
14:04 pmurias joined #perl6
14:04 DrForr Hurr, r-to-l lossage?
14:05 notviki It's a No char, it can't be combined with other digits
14:05 DrForr Yeah, just saw that in proprties.
14:06 notviki m: say keys <a b c> ∖ <b c>
14:06 camelia rakudo-moar af1501: OUTPUT«(a)␤»
14:06 notviki Now THAT looks like slash
14:07 mr_ron m: say 3 - Ⅰ;
14:07 camelia rakudo-moar af1501: OUTPUT«2␤»
14:07 mr_ron m: say 3Ⅰ;
14:07 camelia rakudo-moar af1501: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Bogus postfix␤at <tmp>:1␤------> 3say 37⏏5Ⅰ;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤        state…»
14:08 mr_ron Nl works like No ... planning to document later today I hope
14:08 DrForr But see what notviki just pointed out re: combining.
14:09 mr_ron Nd can be combined.  No and Nl can't.  If there is more to it please explain ...
14:10 pyrimidine joined #perl6
14:10 notviki m: (^0x110000).grep(*.uniprop eq "Nl")».chr.say
14:11 camelia rakudo-moar af1501: OUTPUT«(ᛮ ᛯ ᛰ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ Ⅼ Ⅽ Ⅾ Ⅿ ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ ⅼ ⅽ ⅾ ⅿ ↀ ↁ ↂ ↅ ↆ ↇ ↈ 〇 〡 〢 〣 〤 〥 〦 〧 〨 〩 〸 〹 〺 ꛦ ꛧ ꛨ ꛩ ꛪ ꛫ ꛬ ꛭ ꛮ…»
14:11 DrForr Probably mentioned in UTR25 re: how numbers combine?
14:11 notviki 0.o
14:11 mr_ron http://www.fileformat.info/info/unicode/category/Nl/list.htm
14:11 notviki m: say ↀ + ↁ + ↂ  + ↅ + ↆ + ↇ + ↈ  + 〇 + 〡+ 〢+ 〣+ 〤 +〥 +〦 +〧 +〨 +〩
14:11 camelia rakudo-moar af1501: OUTPUT«166101␤»
14:12 notviki that's just sick
14:12 notviki u: ↈ
14:12 unicodable6 notviki, U+2188 ROMAN NUMERAL ONE HUNDRED THOUSAND [Nl] (ↈ)
14:12 unicodable6 notviki, U+0020 SPACE [Zs] ( )
14:12 notviki u: ↂ
14:12 unicodable6 notviki, U+2182 ROMAN NUMERAL TEN THOUSAND [Nl] (ↂ)
14:12 * notviki didn't even know about these
14:13 notviki u: 〢
14:13 unicodable6 notviki, U+3022 HANGZHOU NUMERAL TWO [Nl] (〢)
14:13 mr_ron https://github.com/perl6/roast/blob/da6fde44ab97cdcbb50bf181528f55671914612c/S15-literals/numbers.t
14:15 dalek doc: 6524f06 | (Zoffix Znet)++ | doc/Language/unicode_texas.pod6:
14:15 dalek doc: Document Nl digits can be used just like No ones
14:15 dalek doc: review: https://github.com/perl6/doc/commit/6524f06183
14:15 synopsebot6 Link: http://doc.perl6.org/language/unicode_texas
14:16 pyrimidine joined #perl6
14:17 DrForr m: multi infix:<⁢>($x,$y) {{$x * $y };} say 2⁢3;
14:17 camelia rakudo-moar af1501: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3multi infix:<⁢>($x,$y) {{$x * $y };}7⏏5 say 2⁢3;␤    expecting any of:␤        infix␤        infix stopper␤   …»
14:17 DrForr Wow. Paste buffer screws *that* up royally.
14:18 notviki http://perl6.party/post/Anguish--Invisible-Programming-Language-and-Invisible-Data-Theft
14:18 notviki m: sub prefix:<⁣> is tighter(&infix:<or>) { say $^a }; ⁣my $x = 42;
14:18 camelia rakudo-moar af1501: OUTPUT«42␤»
14:19 notviki m: sub infix:<⁣> { $^a + $^b }; say 2⁣2;
14:19 camelia rakudo-moar af1501: OUTPUT«4␤»
14:19 DrForr It looks like this though: multi infix:<>($x,$y){$x*$y); say 23; # returns 6.
14:20 notviki m: sub infix:<⁣> { $^a + $^b }; say 1⁣2⁣3⁣4⁣5⁣6⁣7⁣8⁣9⁣0;
14:20 DrForr (if you fill in the right character between <> and '2' and '3'.)
14:20 camelia rakudo-moar af1501: OUTPUT«45␤»
14:21 notviki m: sub infix:<⁣> { $^a * $^b }; say 1⁣2⁣3⁣4⁣5⁣6⁣7⁣8⁣9⁣ == [*] ^9+1;
14:21 camelia rakudo-moar af1501: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix == instead␤at <tmp>:1␤------> 3{ $^a * $^b }; say 1⁣2⁣3⁣4⁣5⁣6⁣7⁣8⁣9⁣ ==7⏏5 [*] ^9+1;␤»
14:21 notviki m: sub infix:<⁣> { $^a * $^b }; say 1⁣2⁣3⁣4⁣5⁣6⁣7⁣8⁣9 == [*] ^9+1;
14:21 camelia rakudo-moar af1501: OUTPUT«True␤»
14:21 notviki \o/
14:21 marchelzo what is $^a
14:22 notviki marchelzo: https://docs.perl6.org/language/variables#index-entry-%24^
14:22 [Coke] any feedback on https://github.com/perl6/doc/pull/1059? do we need to push it to prod to get feedback? (I'd rather not do that.)
14:23 notviki [Coke]: well, that's the only sane way to play with it, isn't it? I'm not waiting an hour to build my own copy of docs
14:23 [Coke] I can build the docs in 5m here (assuming I've done it once before)
14:23 [Coke] so, yikes.
14:23 [Coke] I mean, if you're availble for testing right now, go ahead and pull the trigger? :)
14:24 notviki ehehe
14:24 [Coke] I can guarantee it sucks less than the last version, which says not much.
14:24 notviki [Coke]: does the browser freeze up when you type "me" into the search box?.
14:24 [Coke] notviki: let me double check.
14:24 pyrimidine joined #perl6
14:25 [Coke] notviki: when building docs locally, turn off syntax highlighting and call htmlify directly (don't need to build bigpage for docs)
14:30 notviki Are you still double checking or.... ?
14:31 [Coke] notviki: "perl6 htmlify --no-highlight" here takes 5m18s
14:31 [Coke] Just finished.
14:31 notviki [Coke]: if you built it before, you said?
14:32 notviki I don't have anything built
14:32 [Coke] no; 'me' is super fast here.
14:32 notviki OK. Well....
14:32 [Coke] notviki: the first time it has to build the type graphs. (another reason I want to kill the hard work there.)
14:32 dalek doc: b8bd868 | coke++ | / (3 files):
14:32 dalek doc: Switch to sift4 for fuzzy searching
14:32 dalek doc:
14:32 dalek doc: Try to avoid some degenerate cases, don't use fuzzy search on
14:32 dalek doc: small search terms, don't search too deep on fuzzy checks.
14:32 dalek doc: review: https://github.com/perl6/doc/commit/b8bd8685fb
14:32 dalek doc: c8ec3c7 | coke++ | / (16 files):
14:32 dalek doc: Merge branch 'master' into coke/levenshtein
14:32 dalek doc: review: https://github.com/perl6/doc/commit/c8ec3c72ca
14:32 dalek doc: dd0aa1d | coke++ | xt/trailing-whitespace.t:
14:32 dalek doc: This file no longer exists
14:32 dalek doc: review: https://github.com/perl6/doc/commit/dd0aa1d13f
14:32 dalek doc: ed11e4a | (Zoffix Znet)++ | / (4 files):
14:32 dalek doc: Merge pull request #1059 from perl6/coke/levenshtein
14:32 dalek doc:
14:32 dalek doc: Coke/levenshtein
14:32 dalek doc: review: https://github.com/perl6/doc/commit/ed11e4a64b
14:36 marchelzo what is the difference between my $a = ... and my @a = ...
14:36 marchelzo is it just a hint for the parser
14:36 marchelzo to allow things like my @a = 1, 2, 3
14:36 * [Coke] wonders the easiest way to discover when the latest doc build is done.
14:36 [Coke] m: my $a = 1,2,3;
14:36 camelia rakudo-moar 899864: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 2 in sink context (lines 1, 1)␤Useless use of constant integer 3 in sink context (lines 1, 1)␤»
14:36 [Coke] m: my $a = (1,2,3);
14:36 camelia rakudo-moar 899864: ( no output )
14:36 marchelzo right, is that all it does?
14:37 marchelzo its only significance is in changing the way the expression to the right of the = is parsed?
14:38 notviki star: use LWP::Simple; LWP::Simple.get("http://doc.perl6.org").contains("ed11e4a") and say "It's done!"
14:38 camelia star-m 2016.10: OUTPUT«501 Protocol scheme 'https' is only supported if IO::Socket::SSL is installed <URL:https://doc.perl6.org/>␤␤  in method request_shell at /home/camelia/star-2016.10/share/perl6/site/sources/2A99795C71C31D3D9A9D39DCFC0379F0F4CDEDC5 (LWP::Simple) line 54␤  …»
14:38 notviki >:(
14:38 DrForr "it" being the change between $a and @a? I think you've got the wrong end of the stick here. @a and $a is the important bit here, the RHS can have the same text no matter what the LHS is.
14:39 [Coke] m: my @a = 1,2,3; # for parity
14:39 camelia rakudo-moar 899864: ( no output )
14:39 marchelzo my @a = 1, 2, 3; is parsed differently than my $a = 1, 2, 3;
14:39 [Coke] I am surprised those act differently, actually. :)
14:39 marchelzo but is that the only difference
14:39 notviki m: my @a = 1; @a.^name.say; my $a = 1; $a.^name.say
14:39 camelia rakudo-moar 899864: OUTPUT«Array␤Int␤»
14:39 marchelzo yes
14:40 marchelzo but after initialization, they are the same, right?
14:40 marchelzo my @a = 1, 2, 3; is the same as my $a = [1, 2, 3];
14:41 DrForr marchelzo: @a and $a are different variables. They're not "the same" in any sense of the word.
14:41 marchelzo right but apart from the names
14:41 [Coke] DrForr: well, they're more the same than they are in p5. :)
14:41 marchelzo the fact that it was declared with @ doesn't change its behavior
14:41 marchelzo right?
14:42 DrForr One assigns to an array, the other assigns to an array *reference*.
14:42 [Coke] DrForr: um.
14:42 marchelzo so in 'my $a = [1, 2, 3];', $a is not an array?
14:42 [Coke] m: my @a = 1, 2, 3; my $a = [1, 2, 3]; say @a.WHAT; say $a.WHAT;
14:42 camelia rakudo-moar 899864: OUTPUT«(Array)␤(Array)␤»
14:42 notviki marchelzo: no, not right.
14:42 dalek doc: 608dd5c | MasterDuke17++ | doc/Language/performance.pod6:
14:42 dalek doc: Fix typo in SQL profile output demo
14:42 dalek doc: review: https://github.com/perl6/doc/commit/608dd5c63d
14:42 synopsebot6 Link: http://doc.perl6.org/language/performance
14:42 notviki m: my @a = 1, 2, 3; my $a = [1, 2, 3]; for @a { .say }; for $a { .say }
14:42 camelia rakudo-moar 899864: OUTPUT«1␤2␤3␤[1 2 3]␤»
14:43 marchelzo notviki: then what is an array reference?
14:43 mscha m: my @a = 1,2,3; my $a = [1,2,3]; say @a.perl; say $a.perl;
14:43 camelia rakudo-moar 899864: OUTPUT«[1, 2, 3]␤$[1, 2, 3]␤»
14:43 DrForr Sigh.
14:43 notviki marchelzo: I don't know. Perl 6 doesn't have references.
14:44 notviki m: my @a = 1, 2, 3; my $a = [1, 2, 3]; sub foo (+@a) { dd @a }; foo @a
14:44 camelia rakudo-moar 899864: OUTPUT«[1, 2, 3]␤»
14:44 marchelzo so $a and @a differ only in name and how the RHS of their initialization will be interpreted?
14:44 notviki m: my @a = 1, 2, 3; my $a = [1, 2, 3]; sub foo (+@a) { dd @a }; foo $a
14:44 camelia rakudo-moar 899864: OUTPUT«[[1, 2, 3],]␤»
14:45 DrForr "only"... That seems to be pretty darn important to me.
14:45 marchelzo ok but that's wrong apparently
14:45 marchelzo why does $a become [[1, 2, 3],] in that example
14:46 notviki Because the array is itemized
14:46 marchelzo itemized
14:46 mst m: my $a = [1, 2, 3]; sub foo (+@a) { dd @a }; foo $a
14:46 camelia rakudo-moar 899864: OUTPUT«[[1, 2, 3],]␤»
14:46 mst m: my $a = [1, 2, 3]; sub foo (+@a) { dd @a }; foo |$a
14:46 camelia rakudo-moar 899864: OUTPUT«[1, 2, 3]␤»
14:46 DrForr marchelzo: $a doesn't "become" in that example, it's just one of the arguments in the list.
14:46 marchelzo yes
14:47 DrForr $a is still [1,2,3] in the example, it doesn't turn into [[1,2,3],]. The [..,] is added because $a is one of the arguments in the list.
14:47 dalek doc: 6fdea58 | coke++ | html/js/sift4-common.js:
14:47 dalek doc: add missing file
14:47 dalek doc: review: https://github.com/perl6/doc/commit/6fdea588b7
14:48 [Coke] ^^ that needs to percolate before search will work. :|
14:48 marchelzo what does the + mean in the parameter @a?
14:50 notviki [Coke]: I did magic...
14:50 notviki [Coke]: now it tells me https://docs.perl6.org/js/levenshtein.js?v=1 is not found
14:50 notviki oh nm
14:50 [Coke] yes, I removed that.
14:50 [Coke] whew.
14:50 [Coke] got half of it right. thanks for the magic.
14:51 notviki oh heh
14:51 notviki Masterduke's commit undid my magic :)
14:51 * notviki magiks again
14:52 notviki Works fine for me (performance-wise)
14:52 mr_ron left #perl6
14:52 [Coke] so, short stuff uses the same old mechanism. longer things use sift4, falling back to the old 'contains' logic. so now 'me' and 'starts_with' both work.
14:53 notviki marchelzo: https://docs.perl6.org/type/Signature#Single_Argument_Rule_Slurpy
14:54 notviki And I think this is a more detailed explanation https://docs.perl6.org/language/functions#Slurpy_Conventions
14:57 AlexDaniel joined #perl6
15:02 koma joined #perl6
15:04 pmurias marchelzo: re $foo."method_name" it's also useful for calling method on objects from other languages
15:04 marchelzo other languages?
15:06 pmurias for example Ruby or Perl 5
15:07 pmurias marchelzo: we have modules like Inline::Perl5 and Inline::Ruby
15:07 marchelzo i see
15:09 colomon joined #perl6
15:12 dalek doc: f140dd4 | coke++ | doc/Language/5to6-perlfunc.pod6:
15:12 dalek doc: split up 'sem*' header.
15:12 dalek doc:
15:12 dalek doc: resolves #1058
15:12 dalek doc: review: https://github.com/perl6/doc/commit/f140dd486c
15:12 synopsebot6 Link: http://doc.perl6.org/language/5to6-perlfunc
15:13 Khisanth joined #perl6
15:14 wamba joined #perl6
15:14 koma left #perl6
15:24 kalkin-_ left #perl6
15:25 kalkin- joined #perl6
15:43 skids joined #perl6
15:48 troys joined #perl6
15:52 thayne joined #perl6
15:56 thayne joined #perl6
15:57 tadzik ahhah
15:57 tadzik I had a custom-drawn My Little Pony for the advent post contest winner
15:58 notviki ... advent post contest?
15:58 tadzik https://perl6advent.wordpress.com/2016/12/20/day-20-bridging-the-gap/ look for [1]
15:59 notviki I guess this is where I show that I don't have the stamina to read an advent post daily :)
16:00 tadzik I don't blame you :)
16:00 tadzik there's too many cool calendars to keep track sometimes
16:01 notviki tadzik: so who drew that, you?
16:02 tadzik nah, a friend who actually can draw :)
16:03 notviki hehe :)
16:03 perlpilot tadzik++ nice voice in that article.
16:04 cognominal joined #perl6
16:05 notviki I actually wrote some Perl 6 code last night. First time since end of July :)
16:06 notviki Alerter IRC bot for when a timed mission for a rare resource in a game I play shows up: https://github.com/zoffixznet/warframe-alerts/blob/master/alert.p6
16:07 tadzik perlpilot: hehe, thanks :) I first intended it as one little flavour line and then just couldn't contain myself :P
16:07 cdg joined #perl6
16:21 notviki .oO( Santa Claus Magical factory has redshift... is it because it's moving away from us at very fast speed? )
16:25 notviki Nice article, but IME that P5-P6 compat isn't all that nice and shiny.
16:26 notviki For starters, I had to recompile my perl5 with fPIC; I dunno if stock perl5 dists have installed comes with that.
16:26 notviki But also I had some hairpulling when working with Mojolicious's templates where you get Perl 6 objects in Perl 5 land, basically
16:27 notviki and, I forget who it was (lead dev of Catalyst?), who had trouble getting his apps to work
16:28 notviki John Napiorkowski.
16:28 notviki jnap_
16:31 perlpilot -fPIC should be fairly common IMHO.
16:31 notviki good
16:32 timotimo what about -fPIE? :)
16:33 notviki All I know is I run "perlbrew install perl-stable -Duseshrplib" and stuff works. I've no idea what it enables where
16:33 notviki I mean "perlbrew install perl-stable -Duseshrplib -Dusemultiplicity"
16:35 * notviki looks at timestamp on perl6.wtf
16:35 notviki Seems like the script still didn't make it :(
16:36 nine notviki IME distros usually compile with -fPIC. Actually they should compile everything that way, since it's a precondition for ASLR which should be turned on universally but sadly isn't.
16:36 tadzik my system perl has shrplib enabled, and usemultiplicity=define, whatever that means
16:37 notviki nine: cool
16:38 cdg_ joined #perl6
16:43 jnap_ notviki: I think nine  has done a lot of work around Catalyst / Perl6 integration
16:44 jnap_ I really don't consider myself dev lead on that, I just fix problems when I spot them, and hopefully without adding new ones :)
16:44 perlpilot jnap_: cat wrangler?
16:44 jnap_ I think the biggest issue is the intellectual different between subroutine attributes in Perl5 and Perl6
16:45 * perlpilot has no idea who contributes to Catalyst anymore
16:46 jnap_ pretty much nobody, I can't seem to find stuff people besides myself are excited about, or make excitement.  Help /suggestions welcomed
16:47 nine Well Catalyst usually just works. Last time it's caused me issues was years ago.
16:48 notviki perlpilot: did you enjoy the economy lesson on that grant proposal? :)
16:48 perlpilot more like annoyed by it, but whatever.  I said what I wanted to say
16:49 jnap_ nine: it definitely works, just I have OCD over a few things :)
16:49 notviki I don't get what the person's point was in that lesson. "The benefits derived from the existence of this book are additive".. well, OK, so what are these supposed benefits?
16:50 notviki considering the grant doesn't contribute to book's existence.
16:50 nine jnap_: well, same here. It's just that don't have time to give in to it all that often ;)
16:51 khw joined #perl6
16:52 acrussell joined #perl6
16:52 holli joined #perl6
16:53 holli sometimes i put a slice of cheese on my head and pretend i'd be a sandwich
16:53 yoleaux 07:38Z <nine> holli: cases like "use Wx::App:from<Perl5>; my $app = Wx::SimpleApp.new;" are exactly why I worked on lexical module loading mentioned in http://rakudo.org/2016/12/17/lexical-module-loading/ Now that that's out of the way I can improve Inline::Perl5
16:53 yoleaux 08:29Z <nine> holli: I now understand the bug in Inline::Perl5 which causes your Wx app to fail. The subclass doesn't exist in Perl 5 and the Perl 5 constructor is called with "Wx::App" as package so $this->can( 'OnInit' ) will return the OnInit of the base class. Fixable but a bit involved.
16:55 notviki holli: but sandwiches have cheese in the middle, not top!
16:55 xiaomiao joined #perl6
16:55 xiaomiao joined #perl6
16:56 holli there can never be enough cheese and i am totally cheesy
16:57 notviki Sounds like you're better off to put bread on your head then...
17:01 notviki Why do you want to pretend to be a sandwich?
17:03 xiaomiao joined #perl6
17:07 japhb notviki: https://github.com/jonathanstowe/META6
17:07 japhb GAH
17:07 japhb notviki: http://www.foodnetwork.com/recipes/food-network-kitchens/tuna-melt-recipe.html
17:07 japhb Sandwich classically made with the cheese on top.
17:07 Praise joined #perl6
17:07 Praise joined #perl6
17:09 notviki But that page calls it "tuna melt", not "tuna sandwich"
17:09 notviki And even the dictionary defined 'sandwich' verb as "to insert between two other things"
17:10 japhb notviki: https://en.wikipedia.org/wiki/Open_sandwich
17:11 japhb It's possible this is a regional way of using the name, but note that the example on that last wiki page is Norwegian.
17:16 notviki But that wiki page is for "OPEN sandwich"
17:16 notviki https://en.wikipedia.org/wiki/Sandwich
17:25 notviki :/
17:26 notviki The email from Kickstarter asking how I want to receive drafts of the book saying "comment here" next to a link that leads to a Kickstarter page, but if I visit it, it says "for backers only [for $50 etc etc tiers]", even though I'm a backer at $50 tier
17:26 * japhb does his best imitation of Kang and/or Kodos: "I SAY IF A HUMAN WANTS TO PUT CHEESE ON TOP OF A SINGLE SLICE OF BREAD AND CALL IT A SANDWICH, IT IS A SANDWICH!  ALSO, VOTE FOR SENATOR KA ... BOB DOLE!"
17:27 * notviki has no idea who either Kang or Kodos is
17:28 japhb Recurring characters on The Simpsons -- an alien couple that takes over the US election in a "Treehouse of Horror" episode, among other things.
17:29 wamba joined #perl6
17:30 notviki and the "survey" link just lands me on the kickstarter home page
17:31 notviki Fucking scam this shit is.
17:32 notviki Ah. I was logged in under a wrong account.
17:35 colomon Probably the only Simpsons episode I quote more often that the Kang / Kodos election is the Cromulent one.
17:36 * jonadab has actually never watched an entire Simpsons episode but is familiar with the word "cromulent" from other contexts.
17:38 notviki It's a cromulent word...
17:40 jonadab Yes.
17:40 colomon perfectly cromulent, even
17:40 Actualeyes left #perl6
17:40 jonadab And even if it's not listed in many dictionaries, the reader can generally glork the general piggandisp.
17:55 pierre_ joined #perl6
18:01 domidumont joined #perl6
18:08 notviki Is there a way to give a sub instead of a block to whatever?
18:08 notviki I mean whenever
18:09 notviki m: class { method foo { start react { whenever Supply.interval(.1) sub { rand < .5 and return; say "hi"; } } } }.foo; sleep 1;
18:09 camelia rakudo-moar 0745ae: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3art react { whenever Supply.interval(.1)7⏏5 sub { rand < .5 and return; say "hi"; }␤    expecting any of:␤        block or pointy block␤        infix␤     …»
18:09 * notviki just spotted a bug in code that avoided requirement of the `sub` with `when`, but left the `return` in :o
18:09 notviki m: class { method foo { start react { whenever Supply.interval(.1) { when rand < .5 { say "fail"; return; }; say "hi"; } } } }.foo; sleep 1;
18:10 camelia rakudo-moar 0745ae: OUTPUT«hi␤hi␤fail␤»
18:10 notviki ^ with the fail condition being network failure :) so instead of sleeping for 5 minutes and retrying my app would just... stop doing stuff
18:11 notviki m: class { method foo { start Supply.interval(.1).tap: sub ($) { if rand < .5 { say "fail"; return; }; say "hi"; } } }.foo; sleep 1;
18:11 camelia rakudo-moar 0745ae: OUTPUT«hi␤hi␤hi␤hi␤fail␤hi␤fail␤fail␤fail␤fail␤»
18:12 notviki There's more than one way to skin a class, I s'pose
18:15 rindolf joined #perl6
18:21 notviki m: start react whenever Supply.interval(.1) {sub { rand < .5 and say "fail" and return; say "hi" }()}; sleep 1
18:21 camelia rakudo-moar 0745ae: OUTPUT«fail␤hi␤fail␤fail␤fail␤hi␤hi␤fail␤fail␤hi␤»
18:21 notviki :)
18:29 dalek joined #perl6
18:29 jnthn Since whenever is a loop we should really be able to say `next` in it
18:29 jnthn And `last` to unsubscribe to further events
18:29 notviki :o
18:29 jnthn I can't remember if I actually got around to that
18:30 jnthn If not, file me an RT :)
18:30 notviki m: start react whenever Supply.interval(.1) { rand < .5 and say "fail $_" and next; say "hi $_" }; sleep 1
18:30 camelia rakudo-moar 0745ae: OUTPUT«hi 0␤fail 1␤»
18:30 notviki m: start react whenever Supply.interval(.1) { rand < .5 and say "fail $_" and next; say "hi $_" }; sleep 1
18:30 camelia rakudo-moar 0745ae: OUTPUT«fail 0␤»
18:30 notviki m: start react whenever Supply.interval(.1) { rand < .5 and say "fail $_" and next; say "hi $_" }; sleep 1
18:30 camelia rakudo-moar 0745ae: OUTPUT«fail 0␤»
18:30 notviki interesting
18:31 notviki jnthn: BTW, someone asked a few days back and I wasn't 100% sure... It is OK to have ^ start blocks like that one? The ones that aren't awaited by anything or ones that can be still running when program exits
18:31 notviki 'cause in Perl 5 forking willi-nilly leads to zombies and the question was whether that aflicted the start blocks
18:32 jnthn It's not forking, it's just scheduling work on the thread pool :)
18:32 notviki OK :)
18:32 jnthn The main reason it's not "OK" is that start returns a Promise
18:32 jnthn And any errors will break that Promise
18:32 jnthn But if nothing cares...you'll silently ignore errors
18:33 jnthn (Unless you've a CATCH)
18:33 jnthn But in terms of leaks, no, there's not an issue
18:33 japhb .oO( If a Promise errors in sink context and there's no block there to CATCH it .... )
18:34 jnthn :)
18:34 Xliff Vat is "sink context"?
18:34 notviki m: 42
18:34 camelia rakudo-moar e8573e: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤»
18:34 Xliff Is that something like "$a + 2"
18:34 FROGGS joined #perl6
18:34 notviki Xliff: do you know Perl 5? It's like void context in there
18:35 Xliff OK, so the output of an expression that goes nowhere?
18:35 notviki yeah
18:35 Xliff kk
18:35 geekosaur sink context means you used an expression in a context where it will be ignored
18:35 Xliff notvikiZoffixBot++
18:35 geekosaur ...where its value/result will be ignored
18:35 jnthn We have pondered whether sinking a Promise should do something like .then({ .status == Broken && .cause.rethrow })
18:35 japhb Was that the royal we?
18:36 jnthn Pretty sure TimToady has suggested it at some point as well as me. :-)
18:36 jnthn So, only if you think we're royalty :P
18:36 notviki :)
18:36 japhb And yeah, I'd like that, as long as there's a decent way to silence it on purpose (quietly?)
18:37 jnthn m: class C { method sink() { say 'here' } }; C.new;
18:37 camelia rakudo-moar e8573e: OUTPUT«here␤»
18:37 jnthn m: class C { method sink() { say 'here' } }; quietly C.new;
18:37 camelia rakudo-moar e8573e: OUTPUT«here␤»
18:37 jnthn Alas no :)
18:37 japhb I find that in my concurrent code, the biggest problem I have during development is figuring out what exactly happened in some dead subtask.
18:38 notviki m: class C { method sink() { say 'here' } }; $ = C.new;
18:38 camelia rakudo-moar e8573e: ( no output )
18:39 jnthn japhb: Did the recentish improvements that made an unhandled broken Promise display both the stack trace of the point of the cause *and* the point the result was obtained help at all?
18:40 notviki I notice the location is missing in those.
18:40 notviki m: await start { die "what went wrong" }
18:40 camelia rakudo-moar e8573e: OUTPUT«===SORRY!===␤what went wrong␤»
18:40 jnthn o.O
18:41 jnthn m: await start { die "what went wrong" }; CATCH { default { say .WHAT } }
18:41 camelia rakudo-moar e8573e: OUTPUT«(AdHoc+{Broken})␤»
18:41 jnthn wat, it even went and attached the correct info do it
18:41 japhb jnthn: Yes, although I would sometimes see the same backtrace in both cases.  I don't offhand recall what mode those cases special.
18:41 jnthn m: await start { die "what went wrong" }; CATCH { default { .say } }
18:41 camelia rakudo-moar e8573e: OUTPUT«Tried to get the result of a broken Promise␤  in block <unit> at <tmp> line 1␤␤Original exception:␤    what went wrong␤      in block  at <tmp> line 1␤␤»
18:41 jnthn Why on earth does it say SORRY rather than showing that? :/
18:42 jnthn The .gist is even correct
18:42 japhb Actually, I've seen that a lot
18:42 jnthn I'm sure it didn't do that when I originally added it :(
18:42 japhb Nodnod
18:43 * jnthn wonders where it's deciding it's compile time...
18:43 notviki m: await start { die "what went wrong" }; CATCH { default { say .backtrace && .backtrace.is-runtime  } }
18:43 camelia rakudo-moar e8573e: OUTPUT«False␤»
18:43 * japhb puts a bet on "It actually decides it's not not compile time"
18:43 notviki m: await start { die "what went wrong" }; CATCH { default { say .backtrace  } }
18:43 camelia rakudo-moar e8573e: OUTPUT«Backtrace.new␤»
18:43 notviki m: await start { die "what went wrong" }; CATCH { default { say so .backtrace  } }
18:43 camelia rakudo-moar e8573e: OUTPUT«True␤»
18:44 jnthn m: await start { die "what went wrong" }; CATCH { default { say .backtrace.is-runtime } }
18:44 camelia rakudo-moar e8573e: OUTPUT«False␤»
18:44 notviki Looks like it's just looks that it's not is-runtime backtrace here: https://github.com/rakudo/rakudo/blob/nom/src/core/Exception.pm#L345
18:44 jnthn Odd
18:45 notviki m: BEGIN %*ENV<RAKUDO_EXCEPTIONS_HANDLER>='JSON'; await start { die "what went wrong" };
18:45 camelia rakudo-moar e8573e: OUTPUT«{␤  "X::AdHoc+{X::Promise::Broken}" : {␤    "payload" : "what went wrong",␤    "message" : "what went wrong",␤    "result-backtrace" : "  in block <unit> at <tmp> line 1\n"␤  }␤}»
18:45 notviki neat
18:47 jnthn m: await start { die "what went wrong" }; CATCH { default { say .backtrace.full } }
18:47 camelia rakudo-moar e8573e: OUTPUT«  in method throw at SETTING::src/core/Exception.pm line 63␤  in sub die at SETTING::src/core/control.pm line 179␤  in block  at <tmp> line 1␤  in block  at SETTING::src/core/Promise.pm line 175␤  in block  at SETTING::src/core/ThreadPoolScheduler.…»
18:47 jnthn m: await start { die "what went wrong" }; CATCH { default { say .backtrace.full ~~ /THREAD-ENTRY/ } }
18:47 camelia rakudo-moar e8573e: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at <tmp>:1␤------> 3default { say .backtrace.full ~~ /THREAD7⏏5-ENTRY/ } }␤Unable to parse regex; couldn't find final '/'␤at <tmp>:1␤------> 3efaul…»
18:47 jnthn m: await start { die "what went wrong" }; CATCH { default { say .backtrace.full ~~ /THREAD\-ENTRY/ } }
18:47 camelia rakudo-moar e8573e: OUTPUT«Nil␤»
18:51 notviki jnthn: maybe this Backtrace.new needs the runtime attr set? https://github.com/rakudo/rakudo/commit/abf6caf06eb7e48674d4e22a4ad6b580e5efecbf#diff-51a7658d454064d552adc83fe99dcb11R129
18:51 notviki or "something" set
18:51 notviki m: Backtrace.new.is-runtime.say
18:51 camelia rakudo-moar e8573e: OUTPUT«True␤»
18:51 notviki oh :| never mind
18:52 jnthn It's pretty odd
18:52 jnthn The nqp::backtrace output is actually missing things I'd expect to see
18:52 jnthn oh wait, no it's not
18:52 jnthn I misread
18:52 jnthn m: say (anon sub foo()).name
18:52 camelia rakudo-moar e8573e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3say (anon sub foo()7⏏5).name␤    expecting any of:␤        new name to be defined␤»
18:52 jnthn m: say (anon sub foo() { }).name
18:52 camelia rakudo-moar e8573e: OUTPUT«foo␤»
18:53 * notviki bets $5 it's the `but` operator
18:53 notviki s: &infix:<but>
18:53 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob/e8573e7/src/core/operators.pm#L47
18:54 notviki s: Mu, 'clone'
18:54 SourceBaby notviki, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Mu, Str); none of these signatures match:␤    ($thing, Str:D $method, Capture $c)␤    ($thing, Str:D $method)␤    (&code)␤    (&code, Capture $c)␤  in block <unit> at -e line 6␤␤
18:54 notviki dammit
18:54 notviki s: 1, 'clone'
18:54 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob/e8573e7/src/core/Mu.pm#L625
18:54 jnthn Yeah, the last frame nqp::backtrace returns is the THREAD-ENTRY that we're looking for
18:54 jnthn But somehow it ends up not getting into the post-processed set of Backtrace::Frames
18:55 japhb notviki: Need a Mu or \ on that 'thing'?
18:55 notviki committable6: 0c75e5d m: await start { die "what went wrong" }
18:55 committable6 notviki, ¦«0c75e5d»: ===SORRY!===␤what went wrong «exit code = 1»
18:56 notviki OK, so it wasn't me messing up when I modified .clone :}
18:56 notviki committable6: abf6caf06eb7 m: await start { die "what went wrong" }
18:56 committable6 notviki, ¦«2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10»: what went wrong␤  in block <unit> at /tmp/wHdDa0A1PC line 1␤ «exit code = 1»␤¦«2016.11,2016.12,HEAD»: ===SORRY!===␤what went wrong «exit code = 1»
18:56 notviki wat
18:57 notviki AlexDaniel, your robot is strange
18:57 notviki committable6: abf6caf m: await start { die "what went wrong" }
18:57 committable6 notviki, ¦«2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10»: what went wrong␤  in block <unit> at /tmp/wi98JHSSpx line 1␤ «exit code = 1»␤¦«2016.11,2016.12,HEAD»: ===SORRY!===␤what went wrong «exit code = 1»
18:57 lucasb committable6: abf6caf06eb7 await start { die "what went wrong" }
18:57 committable6 lucasb, ¦«2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10»: what went wrong␤  in block <unit> at /tmp/FeJTyfHcXJ line 1␤ «exit code = 1»␤¦«2016.11,2016.12,HEAD»: ===SORRY!===␤what went wrong «exit code = 1»
18:57 jnthn Since we're losing the last frame it smells a tad off-by-one-ish
18:59 lucasb jnthn: https://github.com/rakudo/rakudo/commit/abf6caf06eb7e48674d4e22a4ad6b580e5efecbf
19:00 notviki lucasb: that's teh commit that added better error messages :)
19:00 lucasb bisectable6 pointed to it
19:00 lucasb ahh :)
19:01 notviki m: sub (\a) {}(Mu)
19:01 camelia rakudo-moar e8573e: OUTPUT«Type check failed in binding to a; expected Any but got Mu (Mu)␤  in sub  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:01 notviki japhb: what do you mean by "\"?
19:04 notviki ohhh. heh, I see the glitch in bot
19:04 notviki It's spots "6c" in the commit SHA and thinks that's all I gave it
19:04 japhb notviki: Sorry, braino on my part.
19:07 dalek whateverable/zoffixznet-patch-1: fd56f80 | (Zoffix Znet)++ | Whateverable.pm6:
19:07 dalek whateverable/zoffixznet-patch-1: Prevent erroneous identification of a commit SHA as 6.c
19:07 dalek whateverable/zoffixznet-patch-1:
19:07 dalek whateverable/zoffixznet-patch-1: To prevent glitches like this: https://irclog.perlgeek.de/perl6/2016-12-20#i_13774319
19:07 dalek whateverable/zoffixznet-patch-1: review: https://github.com/perl6/whateverable/commit/fd56f80bec
19:09 jnthn Ah, I mighta found it.
19:10 notviki \o/
19:12 notviki 0.o
19:12 notviki buggable seems to have dropped off, but I still see it's able to see this channel's log in its terminal output
19:13 notviki oh
19:13 notviki Oooohh
19:13 notviki I turned on nickname enforser in nickserv that's why
19:13 jnthn Yay, got a fix
19:13 notviki \o/
19:13 jnthn spectesting
19:14 jnthn I guess it could use a test, but I need to cook noms
19:14 jnthn Anyone want to task-steal the test writing? :)
19:15 notviki Yes, I can.
19:15 dalek whateverable: 57c735d | (Zoffix Znet)++ | Whateverable.pm6:
19:15 dalek whateverable: Prevent erroneous identification of a commit SHA as 6.c (#84)
19:15 dalek whateverable:
19:15 dalek whateverable: To prevent glitches like this: https://irclog.perlgeek.de/perl6/2016-12-20#i_13774319
19:15 dalek whateverable: review: https://github.com/perl6/whateverable/commit/57c735d5cf
19:19 buggable joined #perl6
19:19 huggable joined #perl6
19:20 SourceBaby joined #perl6
19:20 Undercover joined #perl6
19:20 jnthn notviki: Thanks! :-)
19:20 jnthn Fix pushed
19:21 rindolf joined #perl6
19:25 pierre_ joined #perl6
19:26 notviki buggable: speed
19:26 buggable notviki, ▃▄▃▃▃▃▄▅▄▄▄▅▃▄▄▃▄▃▅▄▄▄▄▂▂▃▃▂▃▃▃▃▃█▁▁▂▂▁▁▂▁▂▁▂▂▁▁▁▂ data for 2016-11-30–2016-12-20; variance: 6.053s–7.592s
19:26 notviki buggable: eco
19:26 buggable notviki, Out of 760 Ecosystem dists, 126 have warnings and 0 have errors. See https://modules.perl6.org/update.log for details
19:27 sena_kun joined #perl6
19:28 dataf3l joined #perl6
19:36 RabidGravy has is-deeply changed with regard to hashes in the last few weeks?
19:37 RabidGravy I had a dumb test that has just started failing
19:41 lucasb Test.pm6 history doesn't show any recent change. do you have an example?
19:41 dataf3l joined #perl6
19:41 lucasb ah, there's a5073f9615 "Add Seq candidates to is-deeply to .cache them"
19:42 lucasb idk if it's related
19:45 notviki Nope
19:45 notviki And that was awhile back IIRC
19:46 notviki RabidGravy: we fixed autovivication bug in hash arrays....
19:47 RabidGravy it was a stupid test anyway
19:47 lizmat star-m: my $a; $a[*-0] = 42; dd $a
19:47 camelia star-m 2016.10: OUTPUT«Array $a = $[Any, 42]␤»
19:47 lizmat m: my $a; $a[*-0] = 42; dd $a
19:47 camelia rakudo-moar b8df3a: OUTPUT«Array $a = $[42]␤»
19:48 notviki I guess in anything :)
19:48 lizmat yup
19:50 labster joined #perl6
19:53 dataf3l joined #perl6
19:55 loveperl joined #perl6
19:56 loveperl How to know if a variable is not empty?
19:56 moritz define "not empty" please
19:56 notviki loveperl: what do you mean by empty?
19:57 gfldex m: my $a = 1; say so $a ~~ Empty;
19:57 camelia rakudo-moar b8df3a: OUTPUT«False␤»
19:57 loveperl That is not null
19:57 notviki loveperl: well, what's full :)
19:57 notviki gfldex: that's very confusing :/
19:58 gfldex deconfusing link: https://docs.perl6.org/language/typesystem#Undefinedness
19:58 RabidGravy m: my $a; say $a.defined
19:58 camelia rakudo-moar b8df3a: OUTPUT«False␤»
19:58 moritz loveperl: it might be 'with $x { ... }' or 'if $x { ... }' depending on your use case
19:59 moritz loveperl: mostly if you want to consider 0 and '' "empty" or not
19:59 notviki m: my $a = Failure.new; say $a.defined
19:59 camelia rakudo-moar b8df3a: OUTPUT«False␤»
19:59 moritz is 0 null?
19:59 gfldex we don't got null
20:00 gfldex the whole point of the typesystem of Perl 6 is that we don't got a untyped undefined value
20:00 gfldex (unless something leaks, what it shouldn't)
20:01 gfldex loveperl: don't worry. It took me about a year to understand how definedness and containers work.
20:01 gfldex That's why I wrote that section of the docs. :)
20:02 notviki m: my $a = [1, 2, 3] but class { method ^name ($) { "elems" }; method Real { 0 } }.new; say so $a ~~ Empty;
20:02 camelia rakudo-moar b8df3a: OUTPUT«True␤»
20:02 notviki ehehe
20:03 gfldex Sir, please put that keyboard down!
20:03 gfldex also, that's a ENODOC
20:04 notviki Which part? I'm pretty sure it is doc
20:04 gfldex method ^method-name
20:04 notviki ah
20:04 * notviki shrugs
20:04 gfldex i will fulltext search
20:04 notviki Well, IIRC I added such an example for `but` operator, but I've no idea if it's documented elsewhere
20:05 drrho joined #perl6
20:06 notviki m: use nqp; class Foo { method ^mro($) { nqp::list } }; Foo.new.^methods(:all).say
20:06 camelia rakudo-moar b8df3a: OUTPUT«()␤»
20:06 notviki ehehehe
20:07 notviki m: use nqp; class Foo { method ^mro($) { nqp::list } }; Foo.new.^can("elems").say
20:07 camelia rakudo-moar b8df3a: OUTPUT«()␤»
20:07 notviki Hm, I wonder if that can be used as a fix for grammar's defauylt Actions class being an Any
20:08 gfldex roast seams not to know about `method ^`
20:08 notviki :(
20:08 gfldex OMGWTFNOSPEC!!111
20:09 notviki It'd need to be checked with jnthn then. Maybe the fact that you can override it like that is a Rakudo-specific thing
20:09 gfldex what means you will have to find a better example
20:09 gfldex or we need more spec
20:09 notviki Yeah, I'll change it
20:12 pierre__ joined #perl6
20:13 notviki m: my $s = 12 but class Warbles { method hi { 'hello' } }.new; $s.Warbles.hi.say
20:13 camelia rakudo-moar b8df3a: OUTPUT«hello␤»
20:14 dalek doc: b5ccb5c | (Zoffix Znet)++ | doc/Language/operators.pod6:
20:14 dalek doc: Change example with method ^name in it
20:14 dalek doc:
20:14 dalek doc: 'cause it's not specced ATM https://irclog.perlgeek.de/perl6/2016-12-20#i_13774824
20:14 dalek doc: review: https://github.com/perl6/doc/commit/b5ccb5ce34
20:14 synopsebot6 Link: http://doc.perl6.org/language/operators
20:15 notviki m: use nqp; class Foo { method ^mro($) { nqp::list } }; grammar { token TOP { <clone> }; token clone { "meow" } }.parse("meow", :actions(Foo)).say
20:15 camelia rakudo-moar b8df3a: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in any !reduce at /home/camelia/rakudo-m-inst-1/share/nqp/lib/QRegex.moarvm line 1␤  in regex clone at <tmp> line 1␤  in regex TOP at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
20:15 notviki nope
20:15 notviki that was RE "notviki │ Hm, I wonder if that can be used as a fix "
20:16 RabidGravy Oooh, the lexical use really messed Sofa up though
20:16 notviki Really? 0.o
20:16 RabidGravy all the rest were stupid tests things
20:17 RabidGravy there's quite a bit of MOP hackery going on in Sofa
20:19 japhb I'm just wondering how to refer to another package's our variables in the lexical import world.  (In particular, if A uses B, how does B refer to A's our variables?)
20:20 japhb This comes up with modules like Terminal-Print in which the "main" module uses various submodules to implement pieces of its API, but those submodules need to refer to things defined in the main/parent module.
20:25 pmurias joined #perl6
20:28 cdg joined #perl6
20:30 pmurias joined #perl6
20:30 gfldex m: my $zen = True but False; say $zen;
20:30 camelia rakudo-moar b8df3a: OUTPUT«False␤»
20:31 Tonik joined #perl6
20:32 labster joined #perl6
20:34 zakharyas joined #perl6
20:40 * arnsholt just tried to write a Perl 5 conditional without braces around the condition
20:40 arnsholt That's a first =D
20:40 arnsholt Usually it's the other way around
20:42 * colomon has been doing that routinely for a couple of years now
20:44 RabidGravy yeah I really struggle with it
20:45 colomon I occasionally do it in C++ too
20:46 samcv morning perl 6
20:46 colomon \o
20:46 notviki morning?! But I thought it was quitting time already :o
20:47 AlexDaniel joined #perl6
20:47 colomon notviki: you have quitting time?  ;)
20:48 notviki Sure. It's in 2 minutes :)
20:50 * notviki relocates
20:53 japhb samcv: Still looking for a job?
20:53 samcv yes
20:54 japhb I ask because you mentioned being interested in something DevOps-ish, and I was going to try to convince you to apply for Google SRE. :-)
20:54 * japhb is an SRE Manager (SRM) at Google in Mountain View
20:54 samcv oh cool :)
20:56 japhb careers.google.com, just search for SRE
20:56 samcv reading the page now
20:56 japhb (y)
20:56 moritz uhm, how well does that work, applying through the website without an introduction/reference?
20:56 RabidGravy mind this morning I nearly walked out of my job,
20:57 japhb moritz: Better if you mention that you know someone on the inside.  :-)
20:58 japhb Also, SRE is a rarer skill set and interest pool than general SWE, so probably a somewhat smaller pool of applicants (I wouldn't actually know, since I'm not in sourcing or recruiting, that's just a guess.)
20:59 japhb RabidGravy: That sounds like a pretty sucky morning.  :-(
21:00 stmuk_ It's worth doing the SRE interviews just to see how interviews should be done
21:00 pyrimidine joined #perl6
21:00 japhb Yeah, that was the first time I can recall *enjoying* my interviews.
21:01 stmuk_ I enjoyed them but fell down at the whiteboard stage
21:03 japhb stmuk_: White board programming is definitely a non-trivial skill.
21:03 RabidGravy a very poor and shallow high level architectural decision had percolated down to me as an article of faith
21:03 japhb RabidGravy: *sigh*
21:03 stmuk_ they also had a production outage during my interview ;)
21:04 japhb stmuk_: Dang.  Interviewer was oncall?
21:04 dataf3l joined #perl6
21:04 stmuk_ this was a few years back .. several interviewers had to go off
21:05 japhb Yikes, that must have been quite a day.
21:05 stmuk_ they didnt look happy
21:05 loveperl joined #perl6
21:09 pyrimidine joined #perl6
21:10 labster joined #perl6
21:10 labster joined #perl6
21:12 AlexDaniel jnthn: hello. “In the meantime, I suggest creating a second scheduler to use for timer (or Proc::Async) events.” – what does it mean exactly? How? Is there any example somewhere?
21:15 RabidGravy you can create a new ThreadPoolScheduler and use .schedule-on on the Supplies to use that one
21:17 RabidGravy or say, Supply.interval can take a scheduler argument
21:19 RabidGravy a few of the supply, methods aren't documented as taking a scheduler but do
21:21 AlexDaniel committable6: abf6caf06eb7 m: await start { die "what went wrong" }
21:21 committable6 AlexDaniel, https://gist.github.com/b602d88634a37bcc35091ba2af342c32
21:22 jnthn AlexDaniel: You create another one with ThreadPoolScheduler.new
21:22 jnthn AlexDaniel: And I think you can pass it to Proc::Async's constructor (or to start, I forget)
21:22 jnthn So create one of those somewhere to use for Proc::Async
21:24 stmuk joined #perl6
21:25 committable6 joined #perl6
21:25 bjz joined #perl6
21:25 AlexDaniel committable6: abf6caf06eb7 m: await start { die "what went wrong" }
21:25 committable6 AlexDaniel, ¦«abf6caf»: ===SORRY!===␤what went wrong «exit code = 1»
21:25 AlexDaniel notviki: thanks
21:26 pyrimidine joined #perl6
21:26 dataf3l joined #perl6
21:36 RabidGravy start takes a scheduler
21:37 pyrimidine joined #perl6
21:42 loveperl joined #perl6
21:43 loveperl How to destroy a variable?
21:43 dataf3l joined #perl6
21:44 japhb loveperl: "destroy" in what sense?
21:45 loveperl https://translate.google.es/#en/es/Something%20like%20unset%20in%20php%3F
21:45 loveperl Something like unset in php?
21:48 japhb loveperl: Perhaps you are looking for `temp $foo = Any;` or somesuch?
21:48 japhb https://docs.perl6.org/routine/temp
21:48 AlexDaniel loveperl: or maybe just $x = Nil ?
21:49 japhb AlexDaniel: I suggested temp because http://php.net/manual/en/function.unset.php indicates it doesn't change the variable in outside scopes, only the current one.
21:49 AlexDaniel japhb: right
21:50 loveperl Something like this but with perl unset($ f ["repeat"]);
21:51 * japhb doesn't know what that code would do in PHP
21:54 moritz temp $x = Nil ?
21:55 loveperl What I want is to remove an index from a hash
21:55 RabidGravy :delete
21:55 pyrimidine joined #perl6
21:56 RabidGravy m: my %f = foo => 1;  say %f; %f<foo>:delete; say %f;
21:56 camelia rakudo-moar b8df3a: OUTPUT«{foo => 1}␤{}␤»
21:56 thalunil joined #perl6
21:59 bwisti joined #perl6
22:04 pyrimidine joined #perl6
22:18 AlexDaniel huggable: xy
22:18 huggable AlexDaniel, nothing found
22:18 AlexDaniel huggable: XY
22:18 huggable AlexDaniel, nothing found
22:18 AlexDaniel :-/
22:18 AlexDaniel huggable: xy problem
22:18 huggable AlexDaniel, You want to do X, but don't know how. You think you can solve it using Y, but don't know how to do that, either. So, you ask about Y in order to solve X, which doesn't make sense. You should ask about X.
22:18 AlexDaniel there you go
22:22 RabidGravy boom!
22:22 pyrimidine joined #perl6
22:25 TEttinger joined #perl6
22:41 pyrimidine joined #perl6
22:43 colomon_ joined #perl6
22:47 rindolf joined #perl6
22:50 samcv AlexDaniel, i ended up making to-json in JSON::Fast 2.8x faster
22:50 samcv so hope my pull gets through
22:50 AlexDaniel hmmmmm
22:50 samcv by using strings with subst instead of regex
22:50 pyrimidine joined #perl6
22:50 AlexDaniel samcv: do you think it will make Pastebin::Gist faster?
22:50 samcv maybe
22:51 samcv depending on how long it spends in to-json
22:51 samcv but it was 2.9x faster on a 50mb random string
22:52 marchelzo samcv: can i see
22:52 samcv yea
22:53 samcv https://github.com/timo/json_fast/pull/17/files#diff-17c3a0dc72fc99b019d31f3511cdd94eR6
22:55 colomon joined #perl6
22:56 cognominal joined #perl6
22:56 AlexDaniel samcv: hey
22:56 AlexDaniel samcv: what about trans?
22:57 AlexDaniel samcv: isn't it going to be even faster?
22:58 japhb samcv: That first commit (https://github.com/timo/json_fast/pull/17/commits/6e4f5e4fd311d02f9515b595e773a43c21161e58) includes a lot of changes to unrelated test files.  Would be better with a separate commit for the general cleanups that aren't part of the actual fix.
23:01 samcv japhb, indeed
23:01 cpage_ joined #perl6
23:01 samcv AlexDaniel, what going to be faster
23:02 samcv but yeah it is?
23:02 samcv didn't i say that
23:02 AlexDaniel samcv: .trans instead of sequential .subst
23:02 AlexDaniel maybe, maybe not. Try it?
23:02 samcv it can only replace with single characters AlexDaniel
23:03 AlexDaniel m: say ‘hello’.trans(‘e’ => ‘really?’)
23:03 camelia rakudo-moar b8df3a: OUTPUT«hrllo␤»
23:03 samcv m: 'abc'.trans('a' => 'zzz')
23:03 camelia rakudo-moar b8df3a: ( no output )
23:03 samcv yep
23:03 AlexDaniel wait… um…
23:03 AlexDaniel commit: all say ‘hello’.trans(‘e’ => ‘really?’)
23:03 committable6 AlexDaniel, https://gist.github.com/69f98c65b146f4f4d9c444535fdc301c
23:03 marchelzo m: say 'abc'.trasn('a' => 'zzz')
23:03 camelia rakudo-moar b8df3a: OUTPUT«No such method 'trasn' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
23:03 marchelzo T_T
23:04 AlexDaniel did you mean trans? :)
23:04 marchelzo m: say 'abc'.trans('a' => 'zzz')
23:04 camelia rakudo-moar b8df3a: OUTPUT«zbc␤»
23:04 samcv commit: say ‘hello’.trans(‘e’ => ‘really?’)
23:04 committable6 samcv, ¦«say»: Cannot find this revision
23:04 samcv commit: all ‘hello’.trans(‘e’ => ‘really?’).say
23:04 committable6 samcv, https://gist.github.com/c502932247c44d8053c6ae871e3a4815
23:04 samcv bisectable6 ‘hello’.trans(‘e’ => ‘really?’).say
23:05 MasterDuke m: say 'abc'.trans(['a'] => ['zzz'])
23:05 camelia rakudo-moar b8df3a: OUTPUT«zzzbc␤»
23:05 samcv bisectable6, say 'test'
23:05 bisectable6 samcv, On both starting points (old=2015.12 new=b8df3a6) the exit code is 0 and the output is identical as well
23:05 bisectable6 samcv, Output on both points: test
23:05 samcv chmm MasterDuke so that one worked?
23:05 AlexDaniel Yea!!! Yay!
23:05 AlexDaniel I remember it was working!
23:06 marchelzo samcv: which one didn't work?
23:06 samcv m: 'abc'.trans('a' => 'zzz').say
23:06 camelia rakudo-moar b8df3a: OUTPUT«zbc␤»
23:06 AlexDaniel right, because a pair works differently
23:06 AlexDaniel m: 'abc'.trans('aby' => 'zzz').say
23:06 camelia rakudo-moar b8df3a: OUTPUT«zzc␤»
23:06 MasterDuke the docs show examples https://docs.perl6.org/routine/trans
23:06 AlexDaniel MasterDuke++
23:06 samcv don't confuse me with the facts MasterDuke
23:06 samcv ;)
23:07 MasterDuke but the docs for trans could use some more explaining
23:07 samcv ^
23:07 AlexDaniel MasterDuke: file an issue
23:07 samcv also uhm i guess we could just use trans to do every single control character?
23:07 AlexDaniel samcv: yes! That's what I was saying :)
23:07 MasterDuke samcv: i made the exact same error the first time i tried to use trans
23:07 marchelzo write the json parser in C
23:07 samcv longgg list
23:07 dataf3l joined #perl6
23:09 samcv ahh wtf gives. moar is freezing my computer
23:09 samcv last time running the same program the computer hard froze
23:09 samcv and i had to force it off
23:09 notviki prolly nommed all the RAM and started swapping...
23:10 dataf3l joined #perl6
23:10 notviki You need... moar... RAM
23:10 notviki :}
23:10 samcv unlimited?
23:17 AlexDaniel .tell jnthn 「$proc.start(scheduler => ThreadPoolScheduler.new);」 seems to work. What's going to happen if I create a new scheduler for every Proc::Async (just like in the example)?
23:17 yoleaux AlexDaniel: I'll pass your message to jnthn.
23:18 wamba joined #perl6
23:19 dataf3l joined #perl6
23:24 colomon joined #perl6
23:24 Actualeyes joined #perl6
23:26 colomon joined #perl6
23:28 pyrimidine joined #perl6
23:32 samcv i'm working on getting the docs with highlights things being possible from multiple threads using json. just have to get the perl 6 part to work
23:33 samcv though i think it crashes if using multiple threads far before it gets to the highlighting part
23:36 samcv nice it works now :)
23:37 pyrimidine joined #perl6
23:41 dalek doc/highlights: 7ab0b2a | samcv++ | / (4 files):
23:41 dalek doc/highlights: Use a new CSS file name so we don't have to deal with caching
23:41 dalek doc/highlights:
23:41 dalek doc/highlights: Also is renamed to be accurate about which highlighter it is
23:41 dalek doc/highlights: designed for.
23:41 dalek doc/highlights: review: https://github.com/perl6/doc/commit/7ab0b2abf7
23:41 dalek doc/highlights: 58770cc | samcv++ | h (2 files):
23:41 dalek doc/highlights: Use JSON to communicate with highlights
23:41 dalek doc/highlights:
23:41 dalek doc/highlights: This will allow us to use multiple threads by waiting for the results
23:41 dalek doc/highlights: from the correct file to be returned, and not just using the result
23:41 dalek doc/highlights: returned most recently.
23:41 dalek doc/highlights: review: https://github.com/perl6/doc/commit/58770cc78a
23:43 rburkholder joined #perl6
23:45 colomon joined #perl6
23:52 Actualeyes joined #perl6
23:53 samcv be back later
23:54 dudz soon as i get paid i'm going to honor my bounced payment for kickstart of the perl6 oreilly book: www.learningperl6.com
23:54 dudz should be later today ^
23:55 pyrimidine joined #perl6
23:57 notviki dudz: it's author rarelly visits here. You may wish to tweet him instead: https://twitter.com/briandfoy
23:57 AlexDaniel Hm, I wonder what people think about reversing the arrow direction in our type graphs. If it's not UML anyway, why make it point to the parent?
23:57 dudz arh yes
23:59 dudz a tweet isn't a pm right, its a public message?
23:59 dataf3l joined #perl6
23:59 AlexDaniel notviki: what do you think?

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

Perl 6 | Reference Documentation | Rakudo