»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
sortiz_ Nop, but I assume that the alignment of a CStruct is MoarVM business. And I known that a 'void *' isn't 64bits long on 32 bit systems. ;-) 00:01
timotimo so, how do you think going one uint64 after the other will lead you exactly onto the pointer in all cases? 00:07
that's what i'm worried about
00:08 avenj joined
sortiz_ timotimo, don't worry, I'm now working on the details... 00:11
timotimo okei!
00:14 ZoffixLappy left
sortiz_ timotimo, If I had been sure would not have that dance in the calculation of the Offset. :-) 00:14
timotimo mhm 00:17
00:21 _nadim joined, nadim left
sortiz_ Fortunately there is still 32-bit fedora. 00:21
00:25 nadim joined, _nadim left 00:30 leont left 00:51 nadim left
sortiz_ timotimo, btw, compiling moar in 32bits a see a few "warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]" 00:55
01:23 cdg left, cdg joined 01:28 cdg left
Xliff_ Can I install dwarfdump from rakudobrew 01:30
01:31 kid51 left
Xliff_ nvm. dwarfdump was installable via apt. What do you guys need....assuming you still need it? 01:31
sortiz_ Xliff_, Now I have a 32bit aware NH::Blob, in a few minutes will be pushed... 01:36
Xliff_ Oh, cool! That was fast.
What was the problem?
sortiz_ The size of the CArray I was using to search the Offset. 01:37
timotimo Xliff_: i would have looked at the output of dwarfdump to see how the CPointer-related structs are laid out
and then compared to what i have on a 64bit system
01:42 jack_rabbit joined 01:44 kalkin- joined
MadcapJake is back from Zootopia 01:45
timotimo how'd you like it? i heard it's pretty great 01:46
MadcapJake if you like family movies, Zootopia is great. Laughs all around.
01:47 ilbot3 joined
MadcapJake even pacing, great voice acting, a tiny little bit scary at parts but my 5yo was fine 01:47
sortiz_ Xliff_, NH::Blob should be fixed, can you try install it again? 01:54
01:55 Khisanth left
timotimo sortiz_: is 10 steps still enough? 01:56
01:56 molaf_ joined
sortiz_ timotimo, Now yes, but I don't know if MVMObject can grow in the future ;-) 01:58
Xliff_ sortiz_, sure thing. One sec.
Works now. Thanks! 01:59
sortiz_ Xliff_, Thank you for the report! 02:01
Xliff_ No MySQL support for perl6 yet? 02:02
02:02 tardisx joined
timotimo of course there is mysql support 02:02
has been for years 02:03
Xliff_ "panda search mysql" didn't return anything
02:03 cpage_ left
sortiz_ Xliff_, it is installed by DBIish. 02:03
02:03 cpage_ joined
Xliff_ Ah! Thanks. 02:03
Yikes! 02:05
Got this when trying to install DateTime::Math
02:05 rigsby left
Xliff_ Ambiguous call to 'infix:«>»'; these signatures all match: 02:05
:(DateTime:D \a, DateTime:D \b)
:(DateTime $a, DateTime $b)
in block <unit> at t/math.t line 27
02:08 Ben_Goldberg joined
sortiz_ Xliff_, I can't help you with that, sorry. 02:10
02:11 Khisanth joined, BenGoldberg left
timotimo m: say DateTime.now() > DateTime.now() 02:12
camelia rakudo-moar 330f81: OUTPUT«False␤»
timotimo it's probable that this module introduced an operator like that, but in the mean time that has been added to rakudo itself
02:12 teatime joined
sortiz_ Installing panda in fedora 32 bits gives me: "Internal error: zeroed target thread ID in work pass" in t/build-hook.t 02:15
timotimo :o
sortiz_ But pass on a second try, weird. 02:18
02:27 tmch joined
ugexe Proc::Async 02:27
02:35 BenGoldberg_ joined
Xliff_ timotimo, So DateTime::Math needs to drop their infix<>>? 02:37
02:37 Ben_Goldberg left
Xliff_ (man that one is hard to read) 02:37
Ooh! Use of different delimiters for that special case! 02:38
multi sub infix:«>»
perl6++
teatime heh could it be written infix:< > >
there we go
02:38 BenGoldberg_ is now known as BenGoldberg 02:39 tardisx left 02:41 tardisx joined
BenGoldberg m: say DateTime.new() <=> DateTime.new(); 02:41
yoleaux 26 Mar 2016 13:57 EDT <MadcapJake> BenGoldberg: yeah I noticed that the docs mentioned it had a 32 bit size so I just went with int32 and it worked!
camelia rakudo-moar 330f81: OUTPUT«Cannot make a DateTime object using .new␤ in block <unit> at /tmp/EYVaRC74tv line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/EYVaRC74tv line 1␤␤»
BenGoldberg m: say DateTime.now() <=> DateTime.now();
camelia rakudo-moar 330f81: OUTPUT«Less␤»
BenGoldberg m: say DateTime.now() < DateTime.now();
camelia rakudo-moar 330f81: OUTPUT«True␤»
Hotkeys \o/ 02:42
02:47 noganex_ joined 03:03 grassass joined 03:10 Khisanth left
sortiz_ Thinking that NC needs a 'intptr_t' 03:10
teatime aren't all pointers the same size? 03:17
AlexDaniel That's an interesting idea: www.workingsoftware.com.au/page/You...de_yes_you
teatime oh, intptr_t is something I never knew existed.
AlexDaniel but it will probably have serious performance issues if implemented in Perl 6 03:19
sortiz_ teatime, Nop, for example in i686, are 32bits long and in AMD64 are 64 bits long. 03:20
konobi teatime: doesn't depend on the arch
teatime sortiz_: I didn't mean across machines 03:21
03:21 jamesalbert joined
teatime sortiz_: just that void* int* char* etch are all the same size 03:21
but my comment was based on an a misunderstanding of what intptr_t was supposed to be
(I assumed it was 'pointer to an int' but it's 'type large enough to hold either an int or a ptr')
03:21 tardisx left
jamesalbert Yo everybody, first time being here. Just wanted to ask really quick: I used to do `%{ "Loaded::Module::" } ?? 1 !! 0;` to see if I already loaded a module. How would I do that in perl 6? 03:22
used to do ... *in perl 5 03:23
03:23 Khisanth joined
timotimo coul can look into GLOBAL:: or perhaps GLOBALish:: 03:24
03:24 tardisx joined
jamesalbert @timotimo thanks man, works =] 03:25
timotimo cool
i shall head towards bed 03:26
jamesalbert stay cool...
like the other side of the pillow
03:27 jamesalbert left 03:49 molaf_ left 03:53 BenGoldberg left
MadcapJake Interesting article: codewords.recurse.com/issues/six/i...not-enough 03:54
Anyone put some thought into what effect types would be like in Perl 6? 03:56
03:57 jamesalbert joined
MadcapJake «is pure» is essentially an effect type (but it doesn't actually check for purity, right? 03:59
jamesalbert hey all, anyway to do GLOBAL::Loaded::Module but with a string? I'm trying to do: `GLOBAL::Loaded::Module:: ?? 1 !! 0` can I somehow do `GLOBAL::"Loaded::Module":: ?? 1 !! 0`? 04:00
MadcapJake I think ::("..."):: could work
Or GLOBAL::("Loaded::Module"):: 04:01
jamesalbert thanks madcapjake, that's a lot closer than what I was doing but it says "No such symbol 'GLOBAL::Loaded::Module'" 04:02
and I do `use Loaded::Module` beforehand
MadcapJake just try ::("Loaded::Module") on it's own, without GLOBAL 04:03
are you sure that module is loaded? works for me on any module, with or without the GLOBAL 04:05
jamesalbert Ah, you're a genius, but instead of ?? 1 !! 0, I had to do: ::("Loaded::Module") ~~ Nil
thanks bruh 04:06
tony-o jamesalbert: you might want ::("MODULE").so instead of ~~ Nil
m: say ::("Some::Module").so; 04:07
camelia rakudo-moar 330f81: OUTPUT«False␤»
tony-o while ~~ Nil works, it may not always work as expected
jamesalbert using .so always returns False on my end 04:08
just curious, in what context would ~~ Nil not work as expected?
MadcapJake yeah was just about to come on and say that .so is the problem xD 04:09
tony-o ahh, i guess that's changed since i last looked, i stand corrected 04:10
jamesalbert thanks to both of you, got it working =] 04:11
tony-o zef uses ~~ Failure now 04:12
m: say ::("Test") ~~ Failure;
camelia rakudo-moar 330f81: OUTPUT«True␤»
tony-o m: use Test; say ::("Test") ~~ Failure;
camelia rakudo-moar 330f81: OUTPUT«False␤»
04:15 skids left
jamesalbert Now what about this: is there a quick and painless perl6ish way of doing what Module::Runtime.use_module does in perl5? 04:15
MadcapJake tony-o is right, testing against Failure is your best bet, as that's what :: will return if it can't find the package 04:16
jamesalbert using Failure now, I'm coming to perl6 from python and all these glorious words are still new to me 04:17
MadcapJake Failures are like errors that haven't been thrown yet
They let you control flow of successful/unsuccessful code without resorting to a CATCH block 04:19
jamesalbert alright that makes sense, and a Nil doesn't necessarily mean that. And that's good I'm not a fan of try catches
necessarily mean that in this context
MadcapJake try/catch is powerful but sometimes you just want to hold on to something and then check later for failures, or perhaps you want to check when it's accessed (at which point the failure will turn into a regular thrown exception) 04:21
But you have to explicitly create them as failures via the fail sub rather than die (which automatically throws the exception) 04:22
jamesalbert good to know! thanks 04:24
and as a new comer, I'm seeing a lot of these p6 modules haven't been updated in months if not years 04:25
I'm wondering if I should just stick with p5 04:26
or keep going on with 6?
well, year*
not years
tony-o what does .use_module do in p5? 04:31
jamesalbert: a lot of the p6 modules haven't been updated and some of them don't really need to be, others were abandoned because they were replaced or <other> things happened 04:32
04:33 khw joined
jamesalbert use_module loads the module in runtime and let's you call subs like: use_module("Math::BigInt", 1.31)->new("1_234"); 04:33
MadcapJake jamesalbert: the nicest part of Perl 6 is a TON of functionality is already included out-of-the-box. 04:34
jamesalbert: that's require and it's builtin! doc.perl6.org/language/modules#require
tony-o jamesalbert: probably the closest thing is 'require' 04:35
jamesalbert that is glorious to hear! I'm trying to do `require ::("JSON::Fast").to-json` but I'm doing it wrong... 04:37
MadcapJake yes :) you need to do require ::('JSON::Fast') <&to-json>; to-json({ a => 2 });
04:38 JRaspass joined
tony-o or a much more verbose way 04:39
m: require Test; &GLOBAL::Test::EXPORT::DEFAULT::plan.say;
camelia rakudo-moar 330f81: OUTPUT«sub plan (;; Mu | is raw) { #`(Sub|84420184) ... }␤»
04:40 abaugher left
MadcapJake jamesalbert: looks like we were missing the ampersand there :) 04:40
04:41 abaugher joined
jamesalbert jesus, you're like a perl expert :O 04:44
okay really close now
can I do something like:
require ::("JSON::Fast")
tony-o i've just been hacking around in this for a long while
jamesalbert &GLOBAL::JSON::Fast::EXPORT::DEFAULT::&from-json("{}")
04:45 nemo joined, Cabanossi left, nemo is now known as Guest34821
jamesalbert or I guess it'd be `&GLOBAL::JSON::Fast::EXPORT::DEFAULT::from-json("{}")` 04:45
it's definitely somewhat working because it's giving me: "Use of Nil in string context in block <unit> at <unknown file> line 1" 04:46
04:47 Cabanossi joined
tony-o m: my $sub = 'plan'; my $mod = 'Test'; require ::($mod); &::($mod)::EXPORT::DEFAULT::($sub).say; 04:50
camelia rakudo-moar 330f81: OUTPUT«sub plan (;; Mu | is raw) { #`(Sub|92611112) ... }␤»
tony-o MadcapJake's way might be cleaner if you know the names of things before hand
jamesalbert jesus christ men 04:55
both you tony-o and madcapjake have been awesome
thanks guys
all these solutions worked 04:56
what a glorious language
now im gonna eat a pop tart and go to bed
night all!
04:56 jamesalbert left
MadcapJake lol! good plan! g'night! 04:56
tony-o that sounds good, think i'll do the same + bier and trailer park boys
MadcapJake tony-o: TPB!
tony-o MadcapJake: hells yes
MadcapJake need to catch up on that show, only seen the first 4 seasons 04:57
tony-o netflix just added season 10
MadcapJake sweet! gotta get to work! :)
05:04 bjz joined
MadcapJake it's a quite deflating feeling when you do all this work to get something setup and then realize that there's an API that will cover that case completely... 05:05
wait, I'm safe, wouldn't be able to do this with Net::Curl *phew* ;) 05:06
05:08 bjz_ joined, bjz left, tardisx left 05:10 bjz_ left 05:11 niceperl joined, tardisx joined, khw left
MadcapJake can you delete tickets that you create in RT? I want to test some things with my issue submitter but I don't want to leave a bunch of junk tickets in there 05:13
05:13 TEttinger left 05:15 TEttinger joined 05:19 raiph left
MadcapJake nope apparently you can't :( 05:20
teatime MadcapJake: oh I was gonna tell, you could have always shell'd out to the curl command, right/ 05:31
not like that's a huge dependency vs. libcurl 05:32
MadcapJake yep that is truth, just wanted to avoid using shell stuff for practice-sake :)
I was close to using ssmtp for sending email (even easier than dealing with curl to send emails) but RabidGravy++ fixed up Net::SMTP and so I went with that! 05:33
teatime ssmtp is nice in that it works for everything on your system that sends mail the unixy way 05:34
MadcapJake yeah, now i'm realizing that I might be able to just create tickets via the RT REST api xD 05:35
but I'm worried about testing it because you can't delete tickets on RT apparently :\
05:36 tardisx left 05:37 raiph joined
MadcapJake bestpractical has a demo RT though! yessss 05:38
05:38 cpage_ left
AlexDaniel MadcapJake: hmm do you have something public-ish somewhere? 05:39
MadcapJake: I can provide some feedback if required
05:46 avenj left, avenj joined 05:58 mr-foobar joined
MadcapJake AlexDaniel: gist.github.com/MadcapJake/f47f2c0...a4f62bdb9b 06:04
works on demo.bestpractical.com :) 06:05
two nice things about this way: 1) no need to send emails and 2) I get the ticket number right in the response!
AlexDaniel what's the limit? What is going to happen if you run that in a loop? :) 06:07
06:08 mr-foobar left
AlexDaniel
.oO( I should be quiet about things like this… )
06:08
06:09 mr-foobar joined
MadcapJake what do you mean limit? 06:09
like API rate limit?
AlexDaniel yea 06:10
MadcapJake i don't want to try :P 06:11
there's a reCaptcha and everyone is going to spend some time writing thoughtful issues (I can dream!) so it shouldn't be an issue and RT has a system for marking issues as spam too 06:12
06:14 cpage_ joined 06:16 bjz joined 06:20 niceperl left 06:23 bjz left 06:26 ambs joined, kanishka joined
dalek Iish: e01c873 | (Salvador Ortiz)++ | lib/DBDish/mysql/ (2 files):
mysql: Fix MYSQL_BIND struct

Add a missing field, uncovered by testing in on 32bits machine.
  Xliff_++ for spot the NH::Blob problem.
06:27
Iish: 93cc0d3 | (Salvador Ortiz)++ | / (2 files):
For panda's users, now v0.5.3
06:28 CIAvash joined 06:29 AlexDaniel left, bjz joined 06:30 JRaspass left 06:37 mr-foobar left 06:38 mr-fooba_ joined 06:41 edehont joined 06:42 xinming_ joined 06:45 xinming left 06:47 wamba joined 06:51 fireartist joined 06:58 gensym joined 07:03 nadim joined 07:04 bjz left 07:09 zakharyas joined 07:12 nadim left 07:16 ely-se joined 07:20 nadim joined, mr-fooba_ left, mr-foobar joined 07:23 RabidGravy joined 07:26 Guest34821 left 07:27 araujo__ left 07:28 araujo__ joined 07:31 nemo joined
RabidGravy Rarr! 07:31
07:31 nemo is now known as Guest28857
moritz blessya RabidGravy 07:32
07:32 wamba left
DrForr o/ 07:32
Xliff_ Is there a way for panda to extract the source of a module without creating a subshell (ala "panda look ...") 07:33
moritz
.oO( panda don'tlook )
07:34
07:36 abraxxa joined, nadim left
DrForr Sounds like a honey badger meme :) 07:36
sortiz_ o/ RabidGravy 07:37
Xliff_, The easy way is use git directly. 07:40
07:46 leont joined 07:50 leont left, edehont left 07:54 nadim joined, wamba joined
RabidGravy I might do some C today 07:58
sortiz_ \o> 07:59
08:00 dakkar joined, sortiz_ joined 08:02 sortiz_ is now known as sortiz, CIAvash left 08:03 nadim left 08:06 jack_rabbit left 08:07 darutoko joined 08:09 nadim joined 08:11 zakharyas left 08:14 nadim left 08:23 bjz joined
yoleaux MadcapJake: DrForr: open port 5000 on Linode :) 08:24
DrForr Smartarse bot. 08:26
08:27 bjz left
timotimo heyo 08:29
08:30 kanishka left, leont joined 08:38 Begi joined
moritz \o timotimo/ 08:38
timotimo hehe
08:40 g4 joined 08:41 mr-foobar left 08:42 mr-foobar joined 08:45 mr-foobar left, mr-foobar joined 08:46 pmurias joined 08:49 mr-foobar left 08:50 mr-foobar joined 08:51 zakharyas joined
moritz m: say uniname(0x15) 08:59
camelia rakudo-moar 330f81: OUTPUT«NEGATIVE ACKNOWLEDGE␤»
09:07 nadim joined, leont left 09:10 rindolf joined 09:12 sue joined
nine -win 41 09:34
moritz is always amazed at how many IRC windows folks have 09:35
I work hard to keep that number below 15, because I lose overview very quickly
timotimo i have like 19 right now 09:36
five of those are perl6 related :P
09:36 sue left
moritz #perl6 #perl6-release #p6dev #moarvm #perl6-toolchain I assume? :-) 09:37
timotimo not toolchain, but gaming
moritz ah 09:38
09:39 TEttinger left
timotimo weechat has a feature where multiple buffers can be put into one, but it'll still take all the spaces in the buffer list 09:39
and #perl6-release and #perl6-gaming are both so low-traffic and rarely have concurrent discussions, so i could do that with it
09:40 sue joined
sortiz moritz, have you a little time? would appreciate your comments about my WIP on 'DataSet' for DBIish, for the general idea see github.com/perl6/DBIish/blob/data-...-DataSet.t 09:40
09:41 TEttinger joined
teatime timotimo: I think you can auto-detach idle channels from the buffer list. 09:43
timotimo: I want to hide specific ones all of the time, but I can't figure out how.
timotimo oh?
09:46 nadim left
teatime yes, but that's the extent of what I know. I haven't figured out how to use the feature. 09:46
(mainly because I'm not interested in the auto-detach idle channels part, and that seems to be the core of it.)
timotimo ah
09:49 sue left 09:50 Begi1 joined 09:51 Begi left, Begi1 is now known as Begi
Begi how can I update a module with Panda ? 09:53
09:53 sjoshi joined, nadim joined
tadzik panda --force install Module 09:53
or just install, if the module maintainer remembered to actually update the version 09:54
nadim I seem to have some wifi problems, appologies begged for If this showed up a few minutes ago 09:55
good morning, I have a: if $s1 eqv $s2 ... where I want infix:<eqv> to come from a higher scope, different people pointer at OUTER and other pseudo package but OUTER::infix:<eqv>($1, $s2) tells me that it can't find method "Nil"
09:55 sjoshi left, sjoshi joined
Begi thanks tadzik, it works 09:55
timotimo hm, is OUTER::infix:<eqv> right? probably wants to have ('&infix:<eqv>') instead 09:56
09:57 espadrine joined
nadim Malformed lookup of ::&infix; please use ::('&infix'), ::{'&infix'}, or ::<&infix> ... trying again 10:01
10:05 araujo__ left
nadim Please use '!!' rather than' :' then: This type does not support positional operations then: Bogus postfix. At least I am jogging P6 error messages! 10:05
timotimo please show me your source
10:06 domidumont joined
nadim (OUTER::<&infix>:<eqv>($1, $s2)) 10:08
moritz no, that's wrong
either &OUTER::infix:<eqv> or OUTER::{'&infix:<eqv>'}
nadim shall I have it as an infix?
ah! let's try 10:09
10:10 perlawhirl joined, domidumont left
nadim that gives: Cannot find method 'Nil' 10:10
perlawhirl hi perlers 10:11
Begi perlawhirl: hi !
timotimo is it really ::{}?
m: say OUTER::('&infix:<eqv>')
camelia rakudo-moar 330f81: OUTPUT«No such symbol 'OUTER::&infix:<eqv>'␤ in block <unit> at /tmp/zqitkmDGoT line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/zqitkmDGoT line 1␤␤»
timotimo m: say ::('&infix:<eqv>')
camelia rakudo-moar 330f81: OUTPUT«sub infix:<eqv> ($?, $?) { #`(Sub+{<anon|75747216>}+{Precedence}|43505840) ... }␤»
10:11 domidumont joined
perlawhirl can anyone (looking in nine's direction) tell me if i can pass a hash ref to a perl5 routine (in this case, a new object) 10:12
10:12 edehont joined
perlawhirl ie. Class.new($foo, { bar => 'baz' }) 10:12
p5 errors, it complains "can't use string ("bar") as a hashref" 10:13
nadim perlawhirl: this is Perl6 channel
perlawhirl yes it is :D sorry, i should have specified i was talking about Inline::Perl5 10:14
hence why i'm looking in nine's direction
DrForr nadim: he's using Inline::Perl5, that's fine :)
nadim I kinda guessed but wasn'tsure :)
perlawhirl i'll give you a bonus P6 question for free: what is .categorize? it's in Any.pm, but not in the docs. is it a pre-GLR version of .classify 10:15
it seems to do the same thing
m: say <one two three four five>.categorize(*.comb[0])
camelia rakudo-moar 330f81: OUTPUT«f => [four five], o => [one], t => [two three]␤»
perlawhirl also it's much slower than .classify :) 10:17
jnthn perlawhirl: They do different things :) 10:18
nadim timotimo: any reasons why OUTER:infix doesn't work?
10:18 Begi left, Begi joined
timotimo because the outer itself doesn't declare that infix? 10:19
you can use OUTERS, though
that'll probably give you what you want
10:19 Begi left
nadim it does run but the eqv that I defined for a specific class does not get called 10:22
perlawhirl jnthn: ok thanks... reading S32 now. 10:23
10:24 sue joined 10:27 dvinciguerra__ joined
perlawhirl i... think i found a bug 10:30
m: say <one two three four five>.classify( *.contains( any('a'..'e') ))
camelia rakudo-moar 330f81: OUTPUT«P6opaque: no such attribute '$!reified'␤ in block <unit> at /tmp/rfbjsYzsrY line 1␤␤»
perlawhirl works if i explicitly Boolify
m: say <one two three four five>.classify( ?(*.contains( any('a'..'e')) ))
camelia rakudo-moar 330f81: OUTPUT«False => [two four], True => [one three five]␤»
timotimo nadim: are you sure OUTER is what you mean? not CALLER or even CLIENT? 10:31
nadim I'll try with CALLERS although I thought that CALLERS would be part of OUTERS
timotimo no, definitely not 10:32
the two are extremely distinct
10:32 sjoshi left
timotimo the one is lexical, the other dynamic 10:32
nadim CALLERS did not help, let's try CLIENTS 10:33
timotimo i think we only have "CLIENT" without the S
10:33 sjoshi joined
timotimo but it's most likely going to behave a lot like CALLERS 10:33
nadim Yes CLIENTS was not accepted but it did not work as CALLERS, I got annot find method 'Nil'. 10:35
timotimo how exactly do you use the result of the lookup?
nadim I just call it. My theory is that DDT does not call the eqv that I declared, somewhere up the chaine before calling it, because it does not see it. 10:36
so I need DDT to use the eqv defined up th caller chain, otherwise any class with eqv defined will not work properly in DDT 10:37
10:37 labster left
timotimo it can only see operators that are lexically in scope 10:37
aye
a common difficulty
nadim not so good! I can think of the case where someone diffs two structures and decideds, at the DDT call point, that two types are equivalent if some attributes match, but that will not work! 10:39
hmm, shouldn't that be in the same scope already? since it is defined in ascope higher than the call to DDT? 10:40
timotimo in our current implementation, i think it might end up being exceedingly expensive to grab all operators from up the call stack
lexical scope!
lexical scope is exactly what's in the source code
nadim that was my theory 10:41
timotimo if it isn't between braces upwards of the "hierarchy" inside the code, it won't be found
jnthn I think the typical pattern is to have an optional parameter that you bind to something like the client or caller eqv
timotimo a call doesn't factor into this. it can't.
jnthn And then you just call that
timotimo ideally that'd happen "for you", without changing how the method itself is invoked 10:42
jnthn \&infix:<eqv> = CLIENT::{'&infix:<eqv>'} or so
(No idea if that actually works)
(Bit tied up with other things atm)
nadim jnthn: thanks anyway, I can try and get back to you when you are les busy (if ever ;) ) 10:43
10:45 sue left
nadim timotimo: thanks for balling with me. As much as I am happy that I thought right to start with, I have to find a way to make some subs visible in the lexical scope if Jnth's method doesn't work. I understand that grabbing operators is /can be expensive but it seems to me that it is the logical way; otherwise we define operators that are ignored. 10:48
is there a way to search for the operators? I'll add that in DDT to start with 10:49
timotimo m: sub foo() { say CALLERS::{'&infix:<eqv>'} }; foo() 10:50
camelia rakudo-moar 330f81: OUTPUT«sub infix:<eqv> ($?, $?) { #`(Sub+{<anon|75747216>}+{Precedence}|46332304) ... }␤»
timotimo m: sub foo() { say CALLERS::{'&infix:<eqv>'}("a", "b") }; foo()
camelia rakudo-moar 330f81: OUTPUT«False␤»
timotimo if this doesn't work, i dunno what would :\
10:50 TEttinger left 10:51 bbkr joined 10:53 sue joined 10:55 ely-se left
nadim \&infix:<eqv> = CLIENT::{'&infix:<eqv>'} didn't work, complains about modifying an immutable capture. using := to bind said: Cannot use bind operator with this left-hand side; and using ::= said that it was not implemented. 10:56
10:56 edehont left
nadim In any case, we've been displaying a pletoria of error messages, which is nice in a pervert way. 10:56
timotimo yeah, you need "my" there
nadim ah! 10:57
timotimo otherwise you'll be trying to assign to the infix:<eqv> that comes from the setting
10:57 kalkin- left
nadim my \&infix:<eqv> = CLIENT::{'&infix:<eqv>'} ; says "malformed my. 10:58
moritz either \ or & 10:59
I think & is the right onw
timotimo yes
timotimo is distracted by hacking on the optimizer
nadim and by /me spewing error message ;) 11:00
timotimo that's fine
i was like you in the beginning
11:01 kaare_ joined
nadim you wish! ;) 11:03
timotimo hum. we're only visiting the first branch of QAST::Want nodes if it's a value/'v'/value one :|
maybe we should visit only the third branch if that node is in sink context 11:04
jnthn timotimo: Yes, and we saved 20% or so on the optimize phase doing so, since the subtrees are mostly shared...plesae be careful :)
lunch time :) &
sortiz bed time for me :) & 11:05
timotimo i will be
i don't really know why we don't throw out the Want node itself when we find it in void context at the optimizer level 11:06
awwaiid ab5tract: for multi-repl stuff, I'd like to keep playing with a client-server repl like clojure's nREPL. Then you can have more than one client, different types of clients, etc. 11:13
11:14 ely-se joined, kid51 joined
awwaiid ab5tract: So I spin up this one project in clojure/clojurescript. It starts a REPL in a console and a websocket to a browser. When I enter one namespace (like setting a current package) in the REPL it actually executes the commands on the browser in clojurescript, in another namespace locally. I also have an editor connected to the same session so I can dynamically redefine functions, tab-complete based on loaded data, etc 11:17
11:18 araujo joined 11:19 araujo left 11:20 araujo joined 11:22 sue left, sue joined 11:23 azawawi joined
azawawi interesting output... 16GB eaten by zombie moar.exe(s). re github.com/azawawi/perl6-file-whic.../Win32.pm6 :) 11:24
timotimo hungry hungry heapo 11:25
azawawi gist.github.com/azawawi/517da9d9a6...b0ee6af846 # P6M Merging GLOBAL symbols failed: duplicate definition of symbol Win32
timotimo well, yeah, it uses File::Which, which uses File::Which::Win32 11:26
looks like the most obvious endlessly recursive use ever
azawawi yup 11:27
copy & paste :)
so copy&paste broke perl6 -c... cool :)
the funny thing you cannot find that problem when your machine is swapping... 11:28
win32 and linux... same behavior ofcourse
timotimo hehe.
well, it'd probably be nice if we had detection for endless recursion in there
but you should always ulimit moar anyway :P 11:29
11:29 sue left
azawawi what's your ulimit command btw? 11:30
to prevent such a behavior because it happened while i was editing using atom :)
i was thinking it maybe a linter (js) bug... linting all project 11:31
timotimo don't actually have one :) 11:32
BBL 11:33
azawawi hehe thought so 11:34
because you cant u limit moar :)
timotimo of course i can
i could put that into the shell script perl6-m or perl6 or whatever :)
azawawi i know ... you cant u limit moar (Perl 6 has no limits :) ) 11:35
ofcourse saying that you can ulimit is the right thing to do under linux/macosx but under win32 you do not have such an option as far as i know 11:36
11:38 dvinciguerra__ left
azawawi timotimo: github.com/azawawi/atom-perl6-edit.../issues/22 # added an issue to fix :) 11:40
11:40 vendethiel- left
lizmat clickbaits p6weekly.wordpress.com/2016/03/29/...heapsters/ 11:40
11:41 sue joined, vendethiel joined
sjn saw an URL in an IRC channel, and would never had expected what happened next! 11:42
DrForr www.youtube.com/watch?v=dKpzCCuHDVY # Let's see what happens! 11:44
11:44 ambs left
azawawi lizmat: 2016-13? 11:44
11:44 ambs joined
lizmat 13th week of the year ? 11:45
DrForr ISO week?
azawawi im so used to using yyyy.mm.dd... nvm. 11:46
nine 2016-W13 would be ISO 8601 conformant. But we are talking about a blog post here :) 11:47
azawawi nine: yup :) 11:48
the thing is 2016.13 and 2016.03 looked like a typo 11:49
11:51 kid51 left
azawawi lizmat++ 11:51
RabidGravy gives up on making a gdbm binding *again* 12:03
perlawhirl nine: do you know how to... irclog.perlgeek.de/perl6/2016-03-30#i_12258756 12:05
12:12 Guest28857 is now known as nemo 12:15 g4 left
pmurias RabidGravy: why? 12:18
RabidGravy because I don't want it enough to overcome the problems I am having with it 12:19
nadim there must be a better way to write this, right? title => (%options<lhs_title title>:v)[0] // '', 12:24
first defined of lhs_title and title or '' 12:25
jnthn [//] flat %options<lhs_title title>, '' # maybe 12:26
[Coke] awwaiid: ping. 12:27
12:29 sue left 12:31 domidumont left
nadim jnthn: nice but maybe not the easiest to read, I guess it's the flat that messes it up. Maybe someting with .first: defined 12:32
jnthn It's easier than the :v and then index, imo :) 12:35
azawawi File::Which now handles on win32 on %PATH and registry-only executables github.com/azawawi/perl6-file-whic...02-win32.t :)
RabidGravy wahay!
jnthn (%options<lhs_title title>, '').flat.first(*.defined) would work also
azawawi zef uninstall File::Which && zef install File::Which # way too cool :) 12:38
RabidGravy I've just astonished myself by finding a USB audio interface in the boxes o' stuff at the first attempt 12:39
arnsholt Ah yes, the infamous boxes o' stuff =D
RabidGravy I probably wouldn't be so lucky at a second attempt, there are seven boxes with various audio and musical stuffs 12:41
nadim all, I'd like some feedback on a Text::Template module I wrote. It's a very thin layer and I am not sure I should add it to the ecosystem. github.com/nkh/P6-Text-Template/bl...emplate.pm 12:42
azawawi RabidGravy: finally `perl6 -MFile::Which -e "say which('firefox')"` => C:\Program Files (x86)\Mozilla Firefox\firefox.exe :)
12:43 dvinciguerra__ joined
RabidGravy kewl 12:43
12:48 Sgeo left
MadcapJake I keep getting this strange "Too few positionals" error (non-breaking, iiuc) that shows up with this code: gist.github.com/MadcapJake/cbfd2e0...1e5fab1bed 12:49
If I comment out lines 20-24 it disappears but I can't seem to replicate it outside of this context for some reason either 12:50
with the for block's argument as «@ ($i, $s)» it also says "in 1 sub-signature" but if I change it to just «$i, $s» it just doesn't say that part o_O 12:51
now for some unknown reasons it has decided to actually break... 12:54
oh if I wrap the for's list, it breaks with the same error actually 12:55
12:55 lizmat_ joined 12:56 azawawi left
MadcapJake actually I feel like I may have worked it out, I *want* the for's list to be a list of tuples, but it isn't actually coming out as intended 12:56
perlpilot m: my @a = 'a'..'z'; for @a[1..*] -> @ ($i, $s) { } 12:57
camelia rakudo-moar 330f81: OUTPUT«Type check failed in binding <anon>; expected Positional but got Str ("b")␤ in block <unit> at /tmp/eRE0raRamo line 1␤␤»
12:57 sue joined 12:59 sufrostico joined
MadcapJake m: my @a = (1, 2) xx 5; for @a[1..*] -> @ ($i, $s) { say $i } 12:59
camelia rakudo-moar 330f81: OUTPUT«1␤1␤1␤1␤»
perlpilot MadcapJake: the "too few positionals" is because you are pulling off items 2 at a time, but you've got an odd number of them
change it to make $s optional and it'll go away 13:00
m: my @a = 'a'..'z'; for @a[1..*] -> $i, $s { }
camelia rakudo-moar 330f81: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at /tmp/HAPZ2hBJH0 line 1␤␤»
perlpilot m: my @a = 'a'..'z'; for @a[1..*] -> $i, $s? { }
camelia ( no output )
MadcapJake perlpilot: ahhh! thanks! 13:01
perlpilot That first error I got makes total sense, but since I'm not fully awake, it feels really LTA. 13:03
13:08 skids joined 13:11 sue left 13:12 lizmat_ is now known as lizmat 13:13 sue joined 13:19 d4l3k_ joined, cognominal joined, d4l3k_ is now known as dalek, ChanServ sets mode: +v dalek, cognominal_ left, [particle] joined 13:20 perlawhirl left 13:22 perlawhirl joined, abraxxa left, abraxxa1 joined
nine perlawhirl: aehm...what exactly do you mean by hashref? There are no references in Perl 6. 13:27
dalek osystem: 0a0ce4f | RabidGravy++ | META.list:
Rename META for URI::Template
13:28
ZoffixWin m: role One { method foo (){} }; role Two { method foo(){} }; class Three does One does Two {}; 13:33
camelia rakudo-moar 268e9c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6MFr6OIDRh␤Method 'foo' must be resolved by class Three because it exists in multiple roles (Two, One)␤at /tmp/6MFr6OIDRh:1␤»
ZoffixWin The error message says "resolved by class"... how would that look like? How do you resolve it?
perlawhirl nine: exactly. so i guess if a perl5 class expects a hashref (for options) there's no way to pass those options from Inline::Perl5 ?
lizmat m: role One { method foo (){} }; role Two { method foo(){} }; class Three does One does Two { method foo() { } }; 13:34
camelia ( no output )
moritz ZoffixWin: you implement the method in class Three
ZoffixWin Thanks.
jnthn wonders if the message could hint at that more clearly :)
moritz and there you can call self.One>>foo()
erm
and there you can call self.One::foo()
nine perlawhirl: oh, it's quite the opposite. When you pass an itemized hash to a Perl 5 function, it will arrive as hash ref. If you want it flattened, you have to do so on the Perl 6 side.
moritz (which is curious, considering that the methods from roles are flattened into the class)
jnthn moritz: Yeah, even more fun is that what you actually end up calling is the reified method that *would have been* composed into the class if only there wasn't a conflict 13:36
Because if we just passed the call on to the generic one it'd be missing all the type environment and so on :)
That was a little tricky to implement...
13:37 cdg joined
perlawhirl nine: that makes sense... i'll play around some more. thanks 13:39
13:42 gflohr joined 13:43 ely-se left
gflohr Why doesn't that match the content of a single or double quoted string? /^(<[ " ' ]>) 13:43
(
<-[$0]>*
)
$0
/
If I use <-["]> it works (for double quoted strings only). 13:44
nine gflohr: you want to use a proper grammar
moritz I guess you can't use $0 in a char class
teatime gflohr: you could use a parameterized multi instead of that. if $0 is valid inside a regex I doubt it is inside a char class.
gflohr but how would you write then a pattern that matches single and double quoted strings at once? 13:45
nine: what do you mean by proper grammar?
moritz m: say '"abc"' ~~ /^(<[ " ' ]>) ( [<!before $0> .]* ) $0 /
camelia rakudo-moar 268e9c: OUTPUT«「"abc"」␤ 0 => 「"」␤ 1 => 「abc」␤»
moritz m: say ''abc"' ~~ /^(<[ " ' ]>) ( [<!before $0> .]* ) $0 /
camelia rakudo-moar 268e9c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HzLV4Igu0z␤Two terms in a row␤at /tmp/HzLV4Igu0z:1␤------> 3say ''7⏏5abc"' ~~ /^(<[ " ' ]>) ( [<!before $0> .␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
nine gflohr: doc.perl6.org/language/grammars
moritz m: say q['abc"] ~~ /^(<[ " ' ]>) ( [<!before $0> .]* ) $0 / 13:46
camelia rakudo-moar 268e9c: OUTPUT«Nil␤»
moritz m: say q['abc'] ~~ /^(<[ " ' ]>) ( [<!before $0> .]* ) $0 /
camelia rakudo-moar 268e9c: OUTPUT«「'abc'」␤ 0 => 「'」␤ 1 => 「abc」␤»
moritz that seems to work
gflohr thanks, that helps me
teatime gflohr: warning: it's a lot of addictive fun. 13:47
perlpilot m: say q['abc'] ~~ /^(<[ " ' ]>) ( <-[$0]>* ) $0 /;
camelia rakudo-moar 268e9c: OUTPUT«「'abc'」␤ 0 => 「'」␤ 1 => 「abc」␤»
DrForr gflohr: Also theperlfisher.blogspot.ro/2016/02/f...rs-pt.html 13:48
gflohr thanks, I will do my homework. ;) 13:49
perlpilot gflohr: but note above that your original regex does indeed work. 13:50
gflohr perlpilot: I don't think so. I'll search an example.
moritz m: say m/^(<[ " ' ]>) ( <-[$0]>* ) $0 $/ for <'abc' "abc" 'abc" abc> 13:51
camelia rakudo-moar 268e9c: OUTPUT«「'abc'」␤ 0 => 「'」␤ 1 => 「abc」␤「"abc"」␤ 0 => 「"」␤ 1 => 「abc」␤Nil␤Nil␤»
moritz looks fine, from a quick test
gflohr perlpilot: say q["Hello, \\"world!"] ~~ /^(<[ " ' ]>) ( <-[$0]>* ) $0 / 13:52
moritz gflohr: you didn't include any logic for handling escapes 13:53
gflohr perlpilot: It should match only until the first double quote but matches until the examation mark.
perlpilot that's changing the spec
gflohr moritz: I'm not yet escaping.
moritz m: say q["Hello, \\"world!"] ~~ /^(<[ " ' ]>) ( <-[$0]>* ) $0 /
camelia rakudo-moar 268e9c: OUTPUT«「"Hello, \"world!"」␤ 0 => 「"」␤ 1 => 「Hello, \"world!」␤»
moritz indeed
perlpilot gflohr: greedy regex are still greedy.
moritz well, but that does mean the <[-$0]> matches anything 13:54
m: say q['ab'c'] ~~ /^(<[ " ' ]>) ( [<!before $0> .]* ) $0 /
camelia rakudo-moar 268e9c: OUTPUT«「'ab'c'」␤ 0 => 「'」␤ 1 => 「ab'c」␤»
gflohr perlpilot: I don't get that. The <-[$0]> should not match a quote but it does. This is what I don't understand.
moritz gflohr: it just seems that char classes aren't as dynamic as you expect them to be 13:55
perlpilot m: say q['ab0c'] ~~ /^(<[ " ' ]>) ( <-[$0]>* ) $0 /;
camelia rakudo-moar 268e9c: OUTPUT«Nil␤»
perlpilot I wish there was a Regex::Explain that would tell us exactly what Rakudo thinks the regex should do. 13:56
gflohr so did I hit a bug?
perlpilot m: say q['ab0'] ~~ /^(<[ " ' ]>) ( <-[$0]>* ) $0 /;
camelia rakudo-moar 268e9c: OUTPUT«Nil␤»
teatime gflohr: no.
jnthn <-[$0]> is the char class of everything except $ or 0
moritz gflohr: I don't think either the test suite or the design documents demands that this work 13:57
jnthn By design.
gflohr But it's somewhat confusing. 14:00
perlpilot especially if you're not quite fully awake :) 14:01
jnthn Maybe, but you'd not expect '$0' to interpolate either
DrForr gflohr: It's pretty straightforward. $0 isn't a variable inside <[]>.
perlpilot gflohr: I think the right way to look at it is that inside of a character class, you're not in Perl anymore, you're in the "character class language" which has its own rules. 14:02
jnthn Just a place you need to learn isn't an interpolating context
teatime gflohr: here's a string-matching grammar example gist.github.com/pprince/f0b0f75ead...444a6bf184
it's not as concise or elegant as I'd like but I was just playing with it and I'm still very new to perl6 syntax/features. 14:03
as an added bonus, perhaps folks will point out anything wrong or easily-simplified to me.
masak jnthn: how would you say "negative character class with all the characters from $0" ? 14:04
(or any string in a variable)
14:05 nadim left
perlpilot masak: EVAL :) 14:06
14:07 perlawhirl left, zakharyas left, zakharyas joined
gflohr My final goal is to extract a quoted string with backslash escaping. That was a relatively simple in Perl 5. And it would be a pity if it is a lot more complicated in P6. 14:10
14:11 zakharyas left
jnthn m: say '"abc"' ~~ /(<["']>) ([<!before $0>.]*)/ 14:11
camelia rakudo-moar 268e9c: OUTPUT«「"abc"」␤ 0 => 「"」␤ 1 => 「abc"」␤»
jnthn There's one way 14:12
moritz m: say '"a"bc"' ~~ /(<["']>) ([<!before $0>.]*)/
camelia rakudo-moar 268e9c: OUTPUT«「"a"bc"」␤ 0 => 「"」␤ 1 => 「a"bc"」␤»
moritz jnthn: ^^ doesn't work
14:13 sue left 14:16 nemo left
DrForr m: say '"ab\\"cd"' ~~ /(\" [ \\" | <-["]> ] ")/ 14:16
camelia rakudo-moar 268e9c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2vabHfnqyM␤Unable to parse expression in metachar:sym<( )>; couldn't find final ')' ␤at /tmp/2vabHfnqyM:1␤------> 3say '"ab\\"cd"' ~~ /(\" [ \\" | <-["]7⏏5> ] ")/␤ expecting any of:␤ d…»
14:17 _4d47 joined
DrForr m: say '"ab\\"cd"' ~~ /(\" [ \\" | <-["]> ] \")/ 14:17
camelia rakudo-moar 268e9c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6Jc4WrJrJl␤Unable to parse expression in metachar:sym<( )>; couldn't find final ')' ␤at /tmp/6Jc4WrJrJl:1␤------> 3say '"ab\\"cd"' ~~ /(\" [ \\" | <-["]7⏏5> ] \")/␤ expecting any of:␤ …»
DrForr m: say '"ab\\"cd"' ~~ /(\" [ \\" | <-[ " ]> ] \")/
camelia rakudo-moar 268e9c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5A1yr1DwZ9␤Unable to parse expression in metachar:sym<( )>; couldn't find final ')' ␤at /tmp/5A1yr1DwZ9:1␤------> 3say '"ab\\"cd"' ~~ /(\" [ \\" | <-[ " ]7⏏5> ] \")/␤ expecting any of:␤ …»
DrForr Grumble.
14:17 azawawi joined
DrForr m: say '"ab\\"cd"' ~~ /(\" [ \\\" | <-[ " ]> ]* \")/ 14:18
camelia rakudo-moar 268e9c: OUTPUT«「"ab\"cd"」␤ 0 => 「"ab\"cd"」␤»
azawawi question... shouldnt %*ENV<Path> and %*ENV<PATH> be case insensitive on windows?
DrForr gflohr: ^
nine gflohr: what exactly does your Perl 5 solution look like? Because it doesn't sound all that simple to me.
azawawi m: %*ENV<Path> eq %*ENV<PATH> 14:19
camelia rakudo-moar 268e9c: OUTPUT«WARNINGS for /tmp/QVW8kRVFQG:␤Useless use of "eq" in expression "<Path> eq %*ENV<PATH>" in sink context (line 1)␤Use of uninitialized value %ENV of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if nee…»
jnthn moritz: oh, duh, yeah, $0 will mean something else inside the before :) 14:20
azawawi on windows it is case insensitive for environment variables as far as i know 14:21
gflohr nine: for a double-quoted string it looks like this: "([^\\"]*(?:(?:\\"|\\)[^\\"]*)*)"
14:21 nemo joined, nemo is now known as Guest99636
jnthn Oh, if you want ot hardcode the terminator it's easier 14:22
gflohr nine: I don't find an example that works for both single and double quotes but I'm relatively sure it's just using backreferences with \1
nine gflohr: I wouldn't be so sure. Perl 5 doesn't allow interpolating in character classes either.
14:22 Guest99636 is now known as nemo
jnthn m: say '"abc"' ~~ /'"' ~ '"' ([ \\ . | <-["]> ]+)/ 14:23
camelia rakudo-moar 268e9c: OUTPUT«「"abc"」␤ 0 => 「abc」␤»
gflohr nine: for a single character I don't need a character class. I just use \1
nine gflohr: you do have a character class with [^\\"]*
That's the place where it becomes hard
jnthn m: say '"a\"bc"' ~~ /'"' ~ '"' ([ \\ . | <-["]> ]+)/
camelia rakudo-moar 268e9c: OUTPUT«「"a\"bc"」␤ 0 => 「a\"bc」␤»
gflohr nine: you're right
awwaiid [Coke]: pong 14:25
14:28 azawawi left
gflohr nine: (?:\"(?:\\\"|(?!\").)*\"|\'(?:\\\'|(?!\').)*\'), that is it for Perl 5, see perldoc.perl.org/Text/Balanced.html...imited_pat 14:29
14:30 sue joined
MadcapJake is there a fast way to chop off any array elems that don't have a specific number of items? 14:31
teatime gflohr: my example can be simplified to at least something like gist.github.com/pprince/f0b0f75ead...444a6bf184 if not further, given your requirements vs. mine 14:32
gflohr: and has the advantage of being far more readable/editable than your one-liner. 14:33
gflohr teatime: Thanks, I will try that. Have to get my son from kindergarten now. 14:34
14:34 gflohr left
nine teatime++ # using the right tool for this job 14:35
MadcapJake m: for [[1, 2] xx 5].push([1]).push([1, 2, 3]).append([1, 2] xx 5) -> @ ($a, $b) { say $b }
camelia rakudo-moar 268e9c: OUTPUT«2␤2␤2␤2␤2␤Too few positionals passed; expected 2 arguments but got 1 in sub-signature␤ in block <unit> at /tmp/KsdiXZBrv3 line 1␤␤»
MadcapJake I have a list like that and I need to remove anything other than tuples 14:36
teatime gflohr: if that untested code doesn't work ootb I'm willing to fix it. 14:37
MadcapJake m: for [[1, 2] xx 5].push([1]).push([1, 2, 3]).append([1, 2] xx 5) -> @l ($a, $b) where @l.elems == 2 { say $b } 14:38
camelia rakudo-moar 268e9c: OUTPUT«2␤2␤2␤2␤2␤Constraint type check failed for parameter '@l'␤ in block <unit> at /tmp/58d2__zblw line 1␤␤»
14:39 domidumont joined
gregf_ grep prolly? 14:40
jnthn m: my @a = [[1, 2] xx 5].push([1]).push([1, 2, 3]).append([1, 2] xx 5); say @a.grep(*.elems != 2)
camelia rakudo-moar 268e9c: OUTPUT«([1] [1 2 3])␤»
jnthn m: my @a = [[1, 2] xx 5].push([1]).push([1, 2, 3]).append([1, 2] xx 5); say @a.grep(*.elems == 2)
camelia rakudo-moar 268e9c: OUTPUT«([1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2])␤»
jnthn m: my @a = [[1, 2] xx 5].push([1]).push([1, 2, 3]).append([1, 2] xx 5); say @a.grep(2) # ;-)
camelia rakudo-moar 268e9c: OUTPUT«([1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2])␤»
gregf_ >> ([1,2,3], [1,2], [1,4,5,6], [6,7,8]).grep: -> $a { $a.elems == 3 }
ah - nevrmind :/
MadcapJake jnthn, gregf_: thanks :) 14:41
I really need to get more familiar with grep, I don't use it enough.
gregf_ MadcapJake: then ..... you probably havent used Perl5 much .... *ducks* 14:42
MadcapJake I was gonna say that but wasn't sure of the implications ;)
gregf_ heh
MadcapJake I've *never* used Perl 5! *runs out of the room* 14:43
But I've used TONS of PCRE xD
teatime I used Perl5 for years, and I think I would be as lost in Perl5-land as I am w/ Perl6.
gregf_ you've not shed too many tears then :))
teatime I have no memory of smart matching, I don't think it existed.
14:44 _nadim joined, fireartist left
dalek c: a256055 | (Wenzel P. P. Peppmeyer)++ | doc/Language/ (2 files):
the renderer doesn't like C<I<foo>>, trying I<C<foo>> what is righter
14:44
MadcapJake in fact I've recently been acquainted with how awesome it is to try and make a language grammar match two regex engines (oniguruma and PCRE) x_x
RabidGravy for reference I've used Perl 4, Perl 5 *and* Perl 6 14:45
sjn has suppressed his memories of smartmatch in Perl 5
teatime I might have used Perl 4 a little, not sure. 14:46
masak sjn: oh, psychoticmatch?
masak .oO( this feature is axe-perimental )
MadcapJake teatime: There's been a few things that many talk about on here that have been jarring for an outsider like myself: grep, moose/mop stuff, sigils/context
gregf_ i've started off with OO Perl with Moose.....
MadcapJake but for the most part, I think being an outsider helps a bit because as I've said earlier, familiarity can be a double-edged sword, coming from Perl 5 you may have certain expectations for how things work (though I know there's a series of errors just for this particular problem space) 14:48
gregf_ MadcapJake: well its called 'filter' or 'select' or 'reject' or array_filter or whatever in python/ruby/scala/php/whatever ;). in java <=7 i guess a for loop with a break *hides* 14:50
sjn masak: traumatch :)
it was a traumaching experience 14:51
traumatching*
masak :P
masak .oO( "What did you do at work today?" -- "I got traumatchized." )
sjn let's not be stigmatchizing here, now. :) 14:52
MadcapJake oh another jarring thing for an outsider: elems/chars :) 14:53
sjn also, it's time to teach everyone that a char isn't a byte any more :) 14:54
MadcapJake gregf_: yes I guess it's partly just the name that makes it tough for me to remember to use it, I look at the problem and say "I want to filter this" not "I want to grep this" but again that's something to do with where you've come from / what you're used to
sjn: i was wondering this when working with some native calls, how would I get the byte size of a string? 14:55
masak MadcapJake: what would you like elems/chars to be? ..."length"? o.O
MadcapJake masak: I'm just saying, it's what I'm used to! I actually like the justification for the split, but it's still "jarring" so-to-speak
masak MadcapJake: fwiw, in 007, I started out calling it `grep`. then I did a double-take on the word, and went with Python's `filter` :)
007 ends up grinding tiny axes now and then 14:56
MadcapJake masak: nice!
masak .oO( "see this? it's the world's tiniest axe, being ground" )
MadcapJake lol
14:57 tmch left
jnthn is glad we got something a bit shorter than filter, without having to abbreviate :) 14:57
masak "grep" is the perfect word for this, since it's actually an abbreviation of "global", uh, "regex", er, "print" :( 14:58
moritz m: say 'filter'.chars - 'grep'.chars
camelia rakudo-moar 268e9c: OUTPUT«2␤»
14:59 frew joined, khw joined
MadcapJake this is one thing that programming languages share with natural languages: the lexicon of words used is often the greatest impedance to learning. Each natural language has various folklore/history that ends up getting mapped into words and you find this same thing in programming languages. 15:00
masak .oO( that ends up getting grepped into words ) :P 15:01
MadcapJake so coming from another language, our brains have to remap the connect from filter to grep, from length to elems, etc.
masak I actually don't mind translating like that. it's a matter of habit. 15:02
and I feel like doing that now again between languages makes me "resilient", somehow
jnthn masak: I've never actually thought about where the name "grep" came from... :) 15:03
masak I don't get stuck in the habits and the language of one culture
jnthn: it's an old *ed* command, I think
jnthn wonders if it's in muggle dictionaries... :)
masak not vim. not vi. ed.
MadcapJake masak: just as a polyglot has an easier time learning languages (their mapping machinery gets exercised more often) so to do polyglot programmers have an easier time learning new languages
masak MadcapJake: aye.
sjn m: say "𝔽".succ; # maybe 𝔾 ? 15:04
camelia rakudo-moar 268e9c: OUTPUT«𝔽␤»
teatime jnthn: g/re/p
masak MadcapJake: the sacrifice you make forever though, is a certain type of speed/certainty that you can only have if you only know one language.
teatime: that's the one.
so the "re" part is actually metasyntactic.
MadcapJake masak: well science into natural polyglots would say that their brains are actually more powerful, whether that translates is perhaps up to debate 15:05
masak meh
[Coke] awwaiid: am I on the schedule-ish?
teatime .grep in perl is kindof a misnomer; natural for unix folks, but if you want to get technical it does something a bit different :)
masak but I wouldn't give up my polyglottery for anything
teatime .filter would have probably been my choice, and I *am* a unix nerd.
sjn "natural plotglots"?
15:05 sufrostico left
MadcapJake as in natural language polyglots 15:06
15:06 molaf joined
sjn ah 15:06
masak sjn: "plotglots" as in "I speak fluent graph!" :P
sjn :)
masak .oO( just look at my graphemes! )
MadcapJake maybe a programming polyglot should be called a "polygrok" :P 15:07
[Coke] poly grotty
skids The first time I saw "grep" ISTR I just thought "looks like grope" and then figured out its general meaning from context. Never threw me for a loop. Adding some SEO to docs for "filter" might be helpful in the other direction.
15:07 zakharyas joined
sjn agrees 15:07
MadcapJake skids: I'm not speaking of reading though, because context will always assist there. but when it comes to writing code, that's where knowing the proper words/terms becomes important 15:08
skids Like I said, SEO the docs. Or Xto6 pages. 15:09
15:09 sjoshi left
teatime I would just have chosen .filter as a favor to people w/ experience in functional programming but not in unix. map() has a standard meaning, grep() not as much. 15:09
MadcapJake skids: agreed, I've been thinking of writing up something of a NotPerl5 to Perl 6 because I think that most of the non-perl5 stuff could be bundled together 15:10
teatime not that I care much. grep fits in fine w/ the perl community/philosophy, which I also enjoy.
ehh.. also apply magic regex that translates that bit about 'standard meaning' into what I actually meant. 15:11
skids .o(personally don't like "filter" as it can get too overloaded. e.g. in a module dealing with packet filters. Never like "map" for the same reason.)
15:12 sue left
geekosaur the problem I have with filter is that different languages flip the meaning 15:12
I always have to look up whether it means throwing matched things out or only keeping matched things 15:13
teatime I suppose grep does at least make that clear.
MadcapJake see instead of grep, I find myself most often using gather/take but that can seem overkill when it's just a simple thing 15:14
m: say +^5 15:15
camelia rakudo-moar 268e9c: OUTPUT«-6␤»
jnthn MadcapJake: grep likely performs a good bit better
15:15 tmch joined
kmwallio on Mac OS X, some of the libs don't have a .dynlib extension (or an extension at all), is it possible to get NativeCall not to add it? 15:16
MadcapJake jnthn: oh that's good to know! I just think gather and take is very clear what's going on, but I'll definitely exercise my grepping muscles :P
15:16 sue joined
skids MadCapJake: learn to love "grep" It only made it into the Oxford English Dictionary like 13 years ago :-) 15:17
teatime skids: lol, I did not know that. does it have "grok" too and other stuff from the jargon file?
jnthn skids: Oh, I was wondering but guessing "no" :)
Cool
teatime Perl has always made some brilliant design decisions, though. 15:18
MadcapJake skids: lol I'm sorry!
teatime like, chars/codes/elems, such a simple thing, and I love it so so much.
skids Though, I don't know what a "draft definition" means. Yes "grok" is in there and I'm sure we'd use it in computing if computers could :-) 15:19
MadcapJake goes to write a grok sub ;)
teatime LOL.
you'd be a rich man, MadcapJake.
although, there are more relevant libraries for that project in Python. 15:20
teatime runs.
MadcapJake hehe, you just supply anything and when you execute the sub, close your eyes and think about how you want the result to look, and BOOM! there it is
pmurias MadcapJake: seems risky
MadcapJake it requires a webcam though, for reading your mind
if you don't have a webcam, you can just jam a USB (type B only) into the back of your neck, that should do it ;) 15:21
teatime I was thinking it would be like, grok("geopolitics")
and BOOM you have a Sec. of State bot
MadcapJake lol
grok("mob-mentality") == DonaldTrump 15:22
teatime lol.
MadcapJake or is that a triple-equal? ;)
15:22 zakharyas left, tmch left
MadcapJake is off to a friends for some CODBLOPS! :P 15:23
huf triple = is some kind of identity thing, isnt it? 15:24
trump aint the only one who groks the mob mentality... 15:25
ugexe yes, and you can write your own method `WHICH` for controlling what === compares against 15:27
democracy
huf compadres against democracy? 15:28
15:29 tokomer joined
dalek osystem: 136547a | titsuki++ | META.list:
Add Algorithm::Manacher to ecosystem

See github.com/titsuki/p6-Algorithm-Manacher
15:33
osystem: 44e7b07 | jnthn++ | META.list:
Merge pull request #181 from titsuki/add-manacher

Add Algorithm::Manacher to ecosystem
15:36 frithnanth joined 15:38 kurahaupo joined 15:40 Xliff_ joined 15:42 sue_ joined, sue left, sue_ is now known as sue 15:43 autarch left, nemo left 15:44 nemo joined, autarch joined 15:54 tokomer left 15:59 _4d47 left
awwaiid [Coke]: I just made a timeline on the site, dcbpw.org/dcbpw2016/#talks 16:07
[Coke] yay, I get the coveted post lunch slot! 16:13
j/k I have no idea if that's good. :) 16:14
awwaiid hahah
jnthn Worst csae, lunch causes carb crash ;) 16:15
[Coke] jnthn: that'll make the crowd pliable!
16:20 sufrostico joined 16:24 rudi_s joined, dfcarpenterak joined
dalek osystem: cc7942d | (Nadim Khemir)++ | META.list:
ADDED: Text-Template
16:26
osystem: 68d97d0 | RabidGravy++ | META.list:
Merge pull request #182 from nkh/master

ADDED: Text-Template
16:32 nemo left, zakharyas joined 16:36 frithnanth left 16:38 Ven joined 16:39 nemo joined, nemo is now known as Guest28890 16:40 andreoss joined
btyler [Coke]: the post-lunch slot at YAPC::EU last year was brought some smiles: tired conference people + 1-2-3 drinks with lunch (tapas) --> naptime in the lecture hall :D 16:40
16:40 dakkar left 16:41 Guest28890 is now known as nemo
btyler s/was// 16:41
16:41 Ven left 16:43 M-matthew joined 16:44 zakharyas left 16:56 abraxxa1 left 16:57 Ven joined 16:59 Ven left 17:05 pmurias left 17:06 ab6tract joined 17:07 buharin joined 17:08 dupa joined
ab6tract jnthn: since TimToady seems to be AFK (writing a butterfly book?? a dev can dream...), I'll point you towards a useless use in sink warning 17:09
17:09 Ven joined 17:10 _nadim left, nadim joined
ab6tract m: my $f = '25 25 25'; $f ~~ s:nth(*-1)[\d+] = 42; say $f 17:10
camelia rakudo-moar 268e9c: OUTPUT«WARNINGS for /tmp/2ImctGm_oI:␤Useless use of "-" in expression "*-1" in sink context (line 1)␤25 42 25␤»
17:10 Ven left
ab6tract funny that it warns, since it still dwims. looks like that warning gets thrown before we compile the whatevercode ? 17:10
17:11 espadrine left
ab6tract .tell awwaiid this nREPL sounds very interesting indeed. i'm really thinking of a simply example for the Terminal::Print distribution that involves the repl somehow, rather than anything complex. but you are describing something quite inspirational. thanks again to hoelzro++ for making it extensible in p6! 17:14
yoleaux ab6tract: I'll pass your message to awwaiid.
17:16 Ven joined 17:17 spider-mario joined, Ven left 17:20 Vlavv_ joined
awwaiid ab6tract: I have an earlier experiment, github.com/awwaiid/p6-lrep, which uses the nREPL middleware-model for plugins. I will be refreshing it based on some of hoelzro work (and I keep staring at their branch to see if I can contribute directly) 17:21
yoleaux 17:14Z <ab6tract> awwaiid: this nREPL sounds very interesting indeed. i'm really thinking of a simply example for the Terminal::Print distribution that involves the repl somehow, rather than anything complex. but you are describing something quite inspirational. thanks again to hoelzro++ for making it extensible in p6!
17:23 Ven joined, Ven left
ab6tract awesome :D 17:26
17:29 edehont joined, leont joined 17:33 Ven joined 17:34 Ven left, edehont left 17:42 dupa left, buharin left 17:46 Ven joined
[Coke] damn. every C library I think of writing a wrapper for seems like it's already got a nativecall wrapper somewhere. :) 17:48
17:50 ab6tract left
mst [Coke]: easy to fix. first, write a C library :) 17:51
17:57 FROGGS joined, dupa joined, buharin joined
[Coke] ah, found one that I thought was a wrapper but was pure perl. whee, I'll take that one. 18:02
ZoffixWin m: say sin 0/0; 18:06
camelia rakudo-moar 268e9c: OUTPUT«NaN␤»
RabidGravy :)
ZoffixWin :)
andreoss m: say sqrt 0/0 18:07
camelia rakudo-moar 268e9c: OUTPUT«Inf␤»
andreoss m: say 0**-1 18:08
camelia rakudo-moar 268e9c: OUTPUT«Attempt to divide 1 by zero using div␤ in block <unit> at /tmp/ZyEhY8GRFK line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/ZyEhY8GRFK line 1␤␤»
18:09 leont left
andreoss in which cases it does not fail? 18:09
18:09 Ven left 18:10 andreoss left 18:11 itaipu joined
ZoffixWin When it can check whether the argument is a NaN, I guess. 18:11
m: say (0/0).isNaN
camelia rakudo-moar 268e9c: OUTPUT«False␤»
18:12 labster joined
masak m: say (0e0/0e0).isNaN 18:14
camelia rakudo-moar 268e9c: OUTPUT«Attempt to divide by zero using /␤ in block <unit> at /tmp/lUDFio8eA2 line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp line 3050␤ in block <unit> at /tmp/lUDFio8eA2 line 1␤␤»
masak oh, for...
m: say NaN.isNaN
camelia rakudo-moar 268e9c: OUTPUT«True␤»
18:15 andreoss joined
ZoffixWin m: say sin NaN 18:15
camelia rakudo-moar 268e9c: OUTPUT«NaN␤»
ZoffixWin m: my $x = 0/0;␤␤␤␤; say $x 18:16
camelia rakudo-moar 268e9c: OUTPUT«Attempt to divide by zero using div␤ in block <unit> at /tmp/wpMzzyfEIQ line 5␤␤Actually thrown at:␤ in block <unit> at /tmp/wpMzzyfEIQ line 5␤␤»
ZoffixWin Kinda sucks that the "actually thrown at" line number is still the one where I attempted to use $x, not where the division is in the code.
andreoss m: my $x := 0/0 ; say $x; 18:17
camelia rakudo-moar 268e9c: OUTPUT«Attempt to divide by zero using div␤ in block <unit> at /tmp/SRCANMel39 line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/SRCANMel39 line 1␤␤»
andreoss m: my $x := 0/0 ; say sin $x;
camelia rakudo-moar 268e9c: OUTPUT«NaN␤»
masak ZoffixWin: agreed. that feels wrong.
*sigh*
I like Java's compromise: division of 0/0 (integers) is an error. division of 0.0/0.0 (doubles) is NaN. 18:18
andreoss m: my $x := fail ; say 'hi'
camelia rakudo-moar 268e9c: OUTPUT«Failed␤ in block <unit> at /tmp/_6uKsaK3nc line 1␤␤»
andreoss does 0/0 fail with sin(0/0), and this failure somehow wrapped? 18:20
or it's just totally secial cased
*special
ZoffixWin andreoss, it tests for NaN
andreoss, you may have missed part of this conversation: irclog.perlgeek.de/perl6/2016-03-30#i_12260943 18:21
I don't know what sqrt does, but I imagine something similar.
18:22 perlpilot joined 18:23 Ven joined
andreoss m: multi foo($a where $a ~~ NaN) { "hi" } ; say foo(0/0) 18:25
camelia rakudo-moar 268e9c: OUTPUT«Cannot call foo(<0/0>); none of these signatures match:␤ ($a where { ... })␤ in block <unit> at /tmp/tVqfJRlBDw line 1␤␤»
andreoss m: multi foo($a where $a ~~ NaN) { "hi" } ; say foo(0.0/0.0)
camelia rakudo-moar 268e9c: OUTPUT«Cannot call foo(<0/0>); none of these signatures match:␤ ($a where { ... })␤ in block <unit> at /tmp/fGXLldfulA line 1␤␤»
andreoss m: multi foo(NaN) { "hi" } ; say foo(NaN) 18:26
camelia rakudo-moar 268e9c: OUTPUT«hi␤»
andreoss m: multi foo(NaN) { "hi" } ; say foo(0/0)
camelia rakudo-moar 268e9c: OUTPUT«Cannot call foo(<0/0>); none of these signatures match:␤ (Num $ where { ... })␤ in block <unit> at /tmp/yGR3s1AAfo line 1␤␤»
arnsholt m: say (0.0).WHAT
camelia rakudo-moar 268e9c: OUTPUT«(Rat)␤»
arnsholt m: say (0/0).WHAT
camelia rakudo-moar 268e9c: OUTPUT«(Rat)␤»
arnsholt Huh. I thought that'd be a Failure 18:27
ZoffixWin Was say changed? I recall it was printing at most 200 or 400 elements, now it prints 100000+
andreoss m: multi foo(Rat $a) { $a == (0/0) ?? "hi" !! "bye" } ; say foo(0/0)
camelia rakudo-moar 268e9c: OUTPUT«hi␤»
andreoss m: multi foo(Rat $a) { $a ~~ NaN ?? "hi" !! "bye" } ; say foo(0/0) 18:28
camelia rakudo-moar 268e9c: OUTPUT«bye␤»
andreoss it all seems very vague 18:29
arnsholt Oh, it might be that the Rat where both numerator and denominator is 0 is fine, but it crashes when you try to stringify/gistify it
ZoffixWin m: say NaN == NaN 18:30
camelia rakudo-moar 268e9c: OUTPUT«False␤»
andreoss m: say NaN ~~ NaN
camelia rakudo-moar 268e9c: OUTPUT«True␤»
nadim what's the minimum run time requirements for rakudo? is it possible to define what subset one wants to run? and finally can one also define a small P6 subset?
18:31 nemo left
ZoffixWin nm, nothing was changed, I was just `say`ing the wrong thing 18:33
18:33 Ven left 18:38 Ven joined, nemo joined, Ven left, nemo is now known as Guest86512, Guest86512 is now known as nemo
masak m: say NaN === NaN 18:38
camelia rakudo-moar 268e9c: OUTPUT«True␤»
18:43 cdg left
[Coke] do we have a nativecall example for varargs functions? 18:43
18:45 andreoss left
grondilu m: role Vector does Positional[Real] {}; my @v does Vector = "foo"; # not sure if this should fail or not 18:46
camelia ( no output )
[Coke] yay, segv while nativecalling. :)
18:50 leont joined
lizmat masak: are you implying that NaN === NaN should be False ? 18:52
m: say NaN == NaN # seems correct, and === as well
camelia rakudo-moar 268e9c: OUTPUT«False␤»
[Coke] the nan stuff was settled some time ago, the current way seems right, yes 18:54
ZoffixWin I think it was just a response as another alternative to testing for NaN with a === rather than ~~ 18:55
lizmat m: say NaN ~~ NaN # just curious
camelia rakudo-moar 268e9c: OUTPUT«True␤»
[Coke] nadim: no, you can't pick and choose which parts you run, unless you use the restricted setting that camelia uses. 18:56
figuring out what depends on what and what you can selectively load is painful.
stmuk_ petitions.whitehouse.gov//petition...r-way-life
18:56 nightfrog joined
[Coke] jnthn et al. are working on reducing the memory & cpu usage of perl 6. if you find a particularly egregious usage problem, open a rakudobug with details. 18:57
ZoffixWin stmuk_, that's one silly way to [ab]use a government website :P 18:58
stmuk_ I'll do a UK version if you do .ca ;)
[Coke] m: say 799.is-prime 18:59
camelia rakudo-moar 268e9c: OUTPUT«False␤»
19:02 labster left
ZoffixWin m: say 31337.is-prime 19:02
camelia rakudo-moar 268e9c: OUTPUT«True␤»
ZoffixWin :)
19:04 Ven joined
dalek Iish: 666635d | (Alexander Hartmaier)++ | t/36-pg-array.t:
fix mode of t/36-pg-array.t
19:07
19:21 labster joined
nadim [Coke]: That is a pity, the possibility to create a very small P6 that looks like P6 and that has limited functionality would have allowed for usage in more embedded systems. 19:26
P6 is not Lua, I know, but it would have been nice to have some Micro-P6 19:27
masak you mean like nqp? 19:28
19:29 Ven left
leont I don't think nqp would be an attractive subset 19:29
nadim I guess, although I know very little about NQP so I don't know if it is layered so you can use as much as you want/can
Where is the restricted set, camilia uses, defined? 19:30
19:32 domidumont left
MadcapJake I don't understand what I'm supposed to do with this error: "This Seq has already been iterated, and its values consumed" 19:32
timotimo the restricted setting will not reduce memory footprint
lizmat nadim: src/RESTRICTED.setting
MadcapJake I tried both the suggestions (assigning to array and .cache method), still the same error 19:34
timotimo you might be looking at the wrong place 19:35
teatime MadcapJake: probably need to assign to an array *earlier* 19:36
MadcapJake Here's the snippet: « my @raw-tickets = ($body.lines[1..*]».split(': ', 2)).grep(*.elems == 2) » 19:37
so I tried a .cache before the .grep
and placing an @ before the first parenthesis 19:38
timotimo try after the subscript
nadim lizmat: thanks
lizmat MadcapJake: could you try * == 2 or { +$_ == 2 } ? 19:39
teatime or cut off the end and make the 2nd line @raw-tickets.=grep(*.elems == 2) ? 19:40
19:40 labster left
MadcapJake lizmat: that former worked, why is that though? xP 19:40
19:40 labster joined
lizmat m: say (42,666,1024) == 3 # MadcapJake 19:41
camelia rakudo-moar 5bd1e9: OUTPUT«True␤»
teatime ah, I think it's not actually the raw-tickets list that got consumed, but the .elems of each element of it
lizmat and .elems has an optimization that will not cache the list
MadcapJake lizmat: wow never knew that :) cool!
interesting 19:42
teatime it will only come up when it's a generator/lazy-list
or, well, generator anyway. I dunno the technical definition of lazy-list in perl6, so that may or may not be accurate.
timotimo just call it "Seq" or "iterator" :) 19:43
gtodd element.elems
MadcapJake Now I can't seem to get my list of tuples to work in a for loop :( 19:44
timotimo do you "-> ($a, $b) { ... }"? 19:48
19:49 molaf left, ab6tract joined
hoelzro .oO( bro, do you even unpack? ) 19:51
MadcapJake timotimo: I did « -> @ ($a, $b) { ... } » and it worked, thanks! 19:52
19:53 FROGGS left
ab6tract o/ lizmat :) 19:56
lizmat ab6tract o/
ab6tract so, braindead as I expected :)
lizmat I'm not sure iterating over the nodes wouldn't make this terribly expensive
Xliff_ Who do I need to talk to about the error in DateTime::Math?
==> Testing DateTime::Math
Ambiguous call to 'infix:«>»'; these signatures all match:
:(DateTime:D \a, DateTime:D \b)
:(DateTime $a, DateTime $b)
in block <unit> at t/math.t line 27
ab6tract yeah that's what i was thinking :S
Xliff_ Since it seems that rakudo has an internal infix:«>» 19:57
ab6tract the other means of distinguishing is if the '*' is at the 0th or the last index
timotimo Xliff_: supernovus doesn't hang out here much any more, but i'd think he'd respond to issues submitten via github
ab6tract is computing the length of the $expr string a reasonably cheap operation?
Xliff_ .seen supernovus 19:58
yoleaux I saw supernovus 28 Dec 2015 18:21Z in #perl6: <supernovus> At some point I should look at rakudobrew to replace my moon script that I've been using for the last 4 years.
lizmat or perhaps checking for "*" is a good middle ground between accuracy and efficieny
ab6tract
Xliff_ I could have sworn I've seen him here and I haven't been around longer than 2 weeks.
OK. Github it is.
lizmat ab6tract: yes, nqp::chars is cheap
Xliff_ Thanks, timo x 2
ab6tract ok
Xliff_ Ah. Looks like the bug was already reported by ZoffixWin 19:59
Lessee if I have levelled up enough to suggest a fix.
timotimo yeah, long ago 20:00
lizmat Xliff_ do you have a ticket number?
Xliff_ Yah 20:01
timo added a comment recently.
github.com/supernovus/perl6-dateti...h/issues/4
timotimo "recently" :) 20:02
Xliff_ For various values of "recently" yes
timo commented 2 minutes ago
It says that on the page. 20:03
timotimo yeah 20:04
20:04 perigrin joined
Xliff_ *snarl* 20:05
Github Desktop is not seeing my recent fork of p6-datetime-math
And these funky Metro-based apps are a BITCH to figure out.
20:05 frew left
Xliff_ Where is mah "refresh" control?!?! >_< 20:06
20:06 zostay joined 20:08 perlawhirl joined
ab6tract actually, it appears that the multiplication doesn't hit that rule anyway 20:10
m: my $f = <25 25 25>; $f ~~ s:nth(1 * 3)[\d+] = 42; say $f
camelia rakudo-moar 5bd1e9: OUTPUT«25 25 42␤»
20:10 cdg joined, abraxxa joined
ab6tract whereas with my patch this still warns: 20:10
Xliff_ m: say DateTime.now() - 1
camelia rakudo-moar 5bd1e9: OUTPUT«Cannot call Numeric(DateTime: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/QZ0lWGoU5T line 1␤␤»
ab6tract m: my $f = <25 25 25>; $f ~~ s:nth(1 * 3)[\d+] = 42; say $f
camelia rakudo-moar 5bd1e9: OUTPUT«25 25 42␤»
ab6tract m: my $f = <25 25 25>; $f ~~ s:nth(1 * *)[\d+] = 42; say $f
camelia rakudo-moar 5bd1e9: OUTPUT«WARNINGS for /tmp/1bL2r76S8J:␤Useless use of "*" in expression "1 * *" in sink context (line 1)␤25 25 42␤»
Xliff_ m: say DateTime.now() - DateTime.now().later(:1day) 20:11
camelia rakudo-moar 5bd1e9: OUTPUT«Cannot call Numeric(DateTime: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/yNb_WmWJ1_ line 1␤␤»
Xliff_ m: say DateTime.now() < DateTime.now().later(:1day)
camelia rakudo-moar 5bd1e9: OUTPUT«True␤»
Xliff_ m: say DateTime.now() > DateTime.now().later(:1day)
camelia rakudo-moar 5bd1e9: OUTPUT«False␤»
Xliff_ m: say DateTime.now() = DateTime.now().later(:1day) 20:12
camelia rakudo-moar 5bd1e9: OUTPUT«Cannot modify an immutable DateTime␤ in block <unit> at /tmp/w1LW4w7rUR line 1␤␤»
Xliff_ m: say DateTime.now() == DateTime.now().later(:1day)
camelia rakudo-moar 5bd1e9: OUTPUT«False␤»
Xliff_ m: say DateTime.now() + DateTime.now().later(:1day)
camelia rakudo-moar 5bd1e9: OUTPUT«Cannot call Numeric(DateTime: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/C03J07E4tB line 1␤␤»
Xliff_ OK, so the comparison operators exist, but not the arithmetic ones
m: say DateTime.now() cmp DateTime.now().later(:1day) 20:13
camelia rakudo-moar 5bd1e9: OUTPUT«Less␤»
20:14 darutoko left
masak m: say Less cmp More 20:16
camelia rakudo-moar 5bd1e9: OUTPUT«Less␤»
masak figures.
m: say More cmp More
camelia rakudo-moar 5bd1e9: OUTPUT«Same␤»
masak well, yeah.
m: say Same cmp More
camelia rakudo-moar 5bd1e9: OUTPUT«Less␤»
masak I, uh.
geekosaur ? 20:17
20:18 edehont joined
masak ¿ 20:19
Xliff_ Strikethrough is ___x___ for .md files, right?
masak Xliff_: I don't think strikethrough has dedicated syntax
Xliff_: but <s>...</s> works: gist.github.com/masak/cf081910908c...7ab4aa598e 20:20
(usual caveats about inline HTML in Markdown apply)
20:20 kaare_ left
Xliff_ masak: Markdown says ~~xxx~~ 20:21
github.com/adam-p/markdown-here/wi...Cheatsheet
ab6tract lizmat: left another note on the github. tl;dr -- the case of multiple '*' in an expression make the check probably more expensive than its worth
20:22 nadim left, nadim joined
lizmat ab6tract: so maybe the simple does it have "*" is the right tradeoff after all 20:22
I mean, it's just a warning that may be too persistent
masak Xliff_: yeah, seems to work in gists too. 20:23
20:23 abraxxa left 20:25 abraxxa joined, cpage_ left, abraxxa left
Xliff_ OK. Next annoying question. How do I run .t files? 20:27
20:27 dfcarpenterak left
tony-o perl6 -Ilib t/* 20:27
20:27 abraxxa joined
Xliff_ Thanks. 20:27
20:27 Skarsnik joined, sue left
tony-o if you want to run it as a test suite, you can use p5's prove: prove -e 'perl6 -Ilib' t/ 20:28
or, you can use 'flow' which is pp6 and i'm shamelessly plugging rn
abraxxa sortiz: ping
20:29 dfcarpenterak joined
masak the `perl6 -Ilib t/*` line doesn't do what you think it does 20:29
20:29 sue joined
timotimo that's right 20:29
Xliff_ Sweet! DateTime::Math tests pass if I remove the comparator operators, since rakudo has them internally.
ab6tract m: my $f = <25 25 25>; $f ~~ s:nth(1 ** 1)[\d+] = 42; say $f
camelia rakudo-moar 5bd1e9: OUTPUT«42 25 25␤»
masak it takes the n .t files in your t/ directory, and passes the last n-1 to the first
as command-line arguments
ab6tract lizmat: if you can think of another corner case, I think we are good :)
20:30 edehont left
tony-o masak: thanks for the correction, i made the assumption he'd substitute * with an actual file name 20:30
which is a stretch -
masak again, blame shell interpolation, which couldn't care less about whether something is a script to run or an argument to that script
ab6tract it seems that the optimizer has already chewed through the infix ops by this point
Xliff_ tony-o, don't assume I'm as smart as you, dude. ^_^
Although the output is the same with "*" and with filename. 20:31
ab6tract masak: I will take that as a call for a p6sh
:D
Xliff_ ab6tract, I would love a p6sh
tony-o p6vim 20:32
:w
ab6tract Xliff_: its an idea that has been calling from the depths for a long time
20:33 pierrot joined
ab6tract not something to run as a login shell, though. I've learned via fish that the trade off just isn't worth it. You can configure tmux to launch with the shell of your choosing anyway 20:35
dalek Iish: 8133448 | (Alexander Hartmaier)++ | lib/DBDish/Connection.pm6:
fix wording
20:36
ab6tract also I'm lazy and making it a proper login shell sounds boring as all get out
Xliff_ .LOL
20:37 sufrostico left
Xliff_ Maybe I will do it as a PR. 20:37
I am a ways from that level, tho.
timotimo ipython is a good thing to look at with regards to making a language shell-usable
20:37 espadrine joined
ab6tract Xliff_: so is p6sh ;) 20:38
20:38 sufrostico joined
ZoffixWin Hm, just done a trial run for my 1-hour long talk and it took me 1h40m to do it, without taking any questions :o tpm2016.zoffix.com/ 20:42
Xliff_ github.com/supernovus/perl6-dateti...ath/pull/5 20:43
20:43 yqt joined
ZoffixWin Xliff_, unless someone here has perms to merge that, I suggest you try to contact supernovus, as in the past they said they don't check GitHub notifications too often. 20:44
Xliff_ Now. Next annoying question: How do I get perl6 to use my DateTime::Math instead of the on in git?
ZoffixWin Xliff_, if it's implemented, you could try the :auth<blah> adverb 20:45
Xliff_ ZoffixWin, if I find his email, I will do so. Thanks.
20:45 sufrostico left
ZoffixWin I guess you can just run panda --force install . in the local copy directory 20:45
[Coke] Who were the folks here that were working on music-related p6 projects (other than colomon?) 20:46
ZoffixWin RabidGravy with the radio stuff? 20:47
timotimo ohmygosh, we know your realname now 20:49
ZoffixWin :P
ingy seen moritz
[Coke] .seen moritz 20:50
yoleaux I saw moritz 14:58Z in #perl6: <moritz> m: say 'filter'.chars - 'grep'.chars
[Coke] hio, ingy
ingy hi
tony-o ih
Xliff_ ZoffixWin, aaaand all of the DateTime::* modules I was planning to use are in. Thank you, sir. 20:51
timotimo, whose real name?
timotimo doesn't matter :) 20:52
Xliff_ Seriously... you couldn't guess mine from the nick?
:P
timotimo your name is clearly Axel Ifoley
Xliff_ LOL
timotimo++
ZoffixWin Xliff_, awhile back I was screaming in here to use 'Zoffix Znet' for my name in some of blogs... But timotimo spotted that on the talk I linked to, I actually use something else and indicate Zoffix Znet is just a pseudonym :) 20:53
RabidGravy Actually, all but one of the Audio::* modules on the ecosystem I wrote
Xliff_ ZoffixWin, oooo I c
timotimo ZoffixWin: in your big prime/small prime/$num, the parameter name $num is a bit of a lie, because it isn't necessarily a num :)
but i suppose that's fine 20:54
ZoffixWin timotimo, is it a Str?
20:54 perlawhirl left
ZoffixWin Ah, IntStr 20:55
timotimo well, if you pass "blah", it won't be an IntStr 20:56
it could also be a RatStr or a ComplexStr maybe?
ZoffixWin Yeah.
nadim Match don't have a real identity, is tat by design?
ZoffixWin And NumStr
Xliff_ Hrm. 20:57
timotimo you're showing .hyper and .race even though those are currently extremely buggy?
Xliff_ I still need to submit my Match infix:<eqv> suggestion as a PR. 20:58
jnthn ZoffixWin: `Trangle Reduce` => Triangle
timotimo: Hey, if they work for his example ;)
timotimo well ... :)
jnthn Talks hang around online for quite a while, though, and those are really high on my list of things to fix. :)
timotimo also, are we figthing the interpretation that junction "autothreading" means "automatically execute on multiple threads"?
ZoffixWin timotimo, I advertise them as "**a hint** to use multi threads" 21:00
timotimo, and yeah, I'm gonna show them and just mention that they're buggy
timotimo ok
ZoffixWin Or that the hints to use multi threads currently won't ever get taken
timotimo ugh, one of those code thingies has a scrollbar even though there's lots of space above and below where it could expand :( 21:01
the Channels slide
jnthn ZoffixWin: I glanced through it quickly; nice work! 21:03
timotimo "Model6"?
ZoffixWin Great. Thanks :) And thanks for spotting the typo 21:04
timotimo it's called 6model :P
ZoffixWin Ah lol
jnthn Yeah, and I'd just talk about it as the Perl 6 Object Model
6model is kinda an implementation detail
ZoffixWin Alright.
tony-o leont: i'm in here too re:github issue on TAP::Harness
timotimo jnthn can probably tell us why the A.^compose can be left out without running into trouble immediately 21:05
leont tony-o: more information is welcome :-) 21:06
tony-o leont: i'm running into that issue mentioned only when I attempt to run prove6 to test a module
leont With all modules?
tony-o yes sir
21:08 sufrostico joined
leont You're up-to-date I assume? 21:08
tony-o yes
timotimo ZoffixWin: i do believe you can also subclass perl6 classes from perl5, but that might be wrong
21:09 JRaspass joined
leont tries to reproduce from an installed prove6 (couldn't reproduce from an uninstalled one) 21:11
JRaspass hey all, quick q, can you do non destructive substitution in p6?
MadcapJake how would i split a string into 80 char lines?
timotimo ZoffixWin: good slides!
leont That is, if panda ever finishes installing…
MadcapJake $s.split(/. ** ^80/) doesn't seem to work
leont (installing TAP::Harness)
timotimo JRaspass: yeah, there's the S/../../ and s/.../.../ variants, one of them destroys, the other doesn't :) 21:12
JRaspass ah
i just tried r, then quickly scanned the docs
thanks
leont I think it hangs, WTF
21:13 skids left
ZoffixWin thanks 21:13
sortiz \o #perl6 21:14
masak JRaspass: also, .subst(/.../, "...") is non-destructive by default
leont Been using a full CPU for several minutes now, killed it in the end, WTF
JRaspass ta
so should this not work? i dont really grok the error 21:15
p6: say "foo" ~~ S:g/foo/bar/
camelia rakudo-moar 5bd1e9: OUTPUT«Potential difficulties:␤ Smartmatch with S/// can never succeed because the string it returns will fail to match. You can use given instead of ~~.␤ at /tmp/tmpfile:1␤ ------> 3say "foo" ~~ 7⏏5S:g/foo/bar/␤False␤»
JRaspass obv global isnt needed
geekosaur JRaspass, the point is that S: does the substitution and then ~~ matches against the *result* 21:16
it's not like perl 5 where ~~ just specifies an alternative to $_
er S///
JRaspass i think i see, ill do more playing, but thanks. im too used to p5 21:17
geekosaur that behavior is what "given" does, which is why the warning message suggests it
JRaspass i shall read those docs then 21:18
leont tony-o: can't reproduce…
geekosaur (The error message is admittedly a bit confusing, but I don't think it's possible to make it much better without making it longer than your program probably is :) 21:19
leont Do you have a specific dist that fails (preferably without deps) for me to try? 21:20
21:25 znpy joined 21:26 rindolf left
tony-o leont: Bailador fails consistently for me 21:27
MadcapJake why does this: « my @text = gather { loop (my $i = 0; $i < $body.elems; $i += 80) { take $body[$i..$i+79].join('') } } » give me a ton of "Use of Nil in string context"
ZoffixWin MadcapJake, you're looping past what's available in body 21:28
MadcapJake ohh
ZoffixWin $i -= 80
MadcapJake -=? why 21:29
21:29 perlawhirl joined
ZoffixWin
.oO( maybe .rotor: -79 would do the trick? )
21:29
masak 'night, #perl6
perlpilot MadcapJake: that looks like you really want to use rotor()
tony-o or *-1
geekosaur I don't think -= is the answer there. the problem is that the last chunk can have up to 79 nonexistent elements?
ZoffixWin MadcapJake, oh, wait, nevermind. I misread that loop. But the point still stands :) it should be $body.elems - 79 21:30
perlpilot MadcapJake: also, you could change your loop to be ... what ZoffixWin said
leont tony-o: does it install prove6 correctly? For me it seems it doesn't :-s
ZoffixWin (or .rotor)
perlpilot either needs to read faster, type faster, or think faster
maybe all three
leont No wait, I was looking in the wrong place (forgot site), it really should be in .rakudobrew/bin though 21:31
ZoffixWin m: ^10 .rotor( 4 => -3).>>.join.say
camelia rakudo-moar 5bd1e9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PN44eVpKyR␤Malformed postfix call␤at /tmp/PN44eVpKyR:1␤------> 3^10 .rotor( 4 => -3).7⏏5>>.join.say␤»
ZoffixWin wat
perlpilot MadcapJake: any kind of sliding window thing will make me reach for rotor in P6
timotimo rotor is one of the best things ever
ZoffixWin m: ^10 .rotor( 4 => -3).map(*.join).say
camelia rakudo-moar 5bd1e9: OUTPUT«(0123 1234 2345 3456 4567 5678 6789)␤»
ZoffixWin MadcapJake, ^ somethign like that maybe. Not sure why the hypered version isn't working. 21:32
21:32 spintronic joined
ZoffixWin & 21:32
21:32 sufrostico left
MadcapJake I actually went and used grep :D 21:32
perlawhirl MadcapJake: i saw your discussion about grep earlier 21:33
MadcapJake hehe
perlawhirl even as someone who is familiar with grep, i have been thinking about the same thin
MadcapJake: see gist.github.com/0racle/ea0523759e2da15758d4
it's a language design proposal/pipe dream :D
leont This thing is getting weirder and weirder :-s 21:34
perlpilot would add filter as an alias for grep. 21:35
MadcapJake perlawhirl++ I think that's a great proposal!
perlpilot (filter is what many other languages use for the same concept)
teatime mreah... it'd be the very first thing I've seen in p6 w/ an alias identical to another feature/method.
not sure it's worth it.
geekosaur my problem with filter remains the same: some languages mean filter-and-select, others mean filter-out
21:36 AlexDaniel joined
geekosaur so I always have to look up which one it is in the language I'm working with 21:36
teatime heh, grep could have been called .where :)
perlpilot geekosaur: that's a very good point.
MadcapJake perlawhirl: I agree with geekosaur on this, filter has some baggage :P
ugexe they are there. .abspath/.absolute
21:36 TEttinger joined
perlawhirl MadcapJake: thanks, you're the first one to tell me it's a good idea. i really like it, but people are resistant to change :D 21:36
MadcapJake teatime: but as perlawhirl points out, it's quite similar in use
awwaiid I love that the proposal comes with a module to use it 21:37
teatime hmm?
21:37 buharin left, dupa left
perlpilot perlawhirl: people *here* are resistant to change? Surely you jest! ;) 21:37
perlawhirl i literally wrote the module only a couple days ago. i learned how to augment classes along the way... yay!
awwaiid nice!
geekosaur I am not sure how confusing the multiple uses of "where" would be, but I think we already have a few things like that? 21:38
lizmat wonders whether "proto method where(|c) { self.grep(|c) }" wouldn't be enough ?
tony-o leont: yea prove6 gets installed correctly but i have experienced it hanging
perlawhirl lizmat: I am new to this augmenting thing, so any improvements/suggesstions are welcome
awwaiid One of the things I've always loved about Perl5 has been this sort of mallability, so that even if it isn't accepted into the core it can be used.
tony-o leont: i'm also using zef to install
awwaiid (and other dynamic langs) 21:39
MadcapJake where would a submission like perlawhirl's go to be considered for core? 21:40
awwaiid perlawhirl: the |c is the magic lizmat is highlighting, it slurps all the arguments. maybe you wouldn't have to special-case the different types of args
MadcapJake I really think that's great and as outlined, it's not as if there isn't a precedent of multiple names (heck even the unicode/texas-style is a similar principle)
perlpilot perlawhirl++ btw. Short of getting concensus among the Perl 6 devs that it just be added to the language, having a module make it easier for it to be used and proofed in the wild. 21:41
perlawhirl lizmat: awwaiid: the additional multi is mainly so failures report it came from '.where' instead of '.grep'
lizmat fwiw, I like the idea of "where" instead of "grep" 21:43
perlawhirl lizmat++ thanks =)
as far as i'm aware, 'where' is not used anywhere else other than defining subsets, so i don't think there should be any clash 21:44
geekosaur in terms of the language there isn't. in terms of cognitive load I'm a little worried 21:45
hoelzro perlawhirl: signatures, but that could be considered a...umm, subset...of subsets
lizmat I hope TimToady will also shine his light on this
geekosaur but the more I think about it, the more I think "grep" is a downright lousy name and should go away
tony-o leont: getting dinner and going back to the hotel, bbiab 21:46
RabidGravy please all feel free to build a time machine and alter the software that uses .grep 21:47
Xliff_ grep() is here to stay. It has too much history and there is too much baggage to get rid of it entirely. 21:48
I love perlawhirl's where.
geekosaur well. not really saying it should be removed. flagged as deprecated for new code
Xliff_ perlawhirl++
perlawhirl, you should probably put this into the ecosystem.
hoelzro I am used to grep from Perl 5, and I really like the idea of .wehre
*where
geekosaur I know just removing it outright is not viable, but it should not be recommended practice
Xliff_ geekosaur, you would get significant feedback for even suggesting deprecation. 21:49
RabidGravy it's used 36 times in 14 of my modules fwiw
Xliff_ s/feedback/negative feedback/
lizmat fwiw, I think .grep should be a synonnym for .where, not the other way around :-)
geekosaur ^ yes
lizmat but for now, I'll sleep on it a bit more...
Xliff_ lizmat: split hairs much?! ^_^
ugexe i needs to be 3 letters long so it aligns better with map when you chain them on multiple lines >:(
lizmat so good night, #perl6! 21:50
Xliff_ ugexe++ LOL
lizmat ugexe: .whr :-)
Xliff_ I am so for pretty code.
lizmat &
timotimo grp
well, that could also be for "group"
21:50 sue left
Xliff_ lizmat, so does that mean that "perlawhirl" becomes "prl a wrl"? 21:51
21:51 perlawhirl left
Xliff_ timotimo, no... everyone knoes that "group" would become "gro" 21:51
We are no longer bound by our unix roots.
21:55 itaipu left 21:56 perlawhirl joined
perlawhirl lost signal for a bit there (i'm on a train) 21:56
MadcapJake hmm this line splitter doesn't work very well...cuts words and seems to gobble up any existing newlines
perlawhirl Xliff: i will start looking into adding it to the ecosystem today
teatime MadcapJake: there is zero reason to use a regex to split on 80-char boundaries. 21:57
Xliff_ forks nom
MadcapJake teatime: I'm not, I'm turning to array and splitting with an ugly old loop :P
Xliff_ lizmat, so does that mean that "perlawhirl" becomes "prl a wrl"?
geekosaur we don't use KSR33s any more, no need to stick to short names
Xliff_ s/lizmat/perlawhirl/
perlawhirl tbh, it's really one of those ideas i WISHED i'd thought of before xmas :( 21:58
teatime proposes renaming unshift to ushift
Xliff_ doesn't see what losing the "n" gains.
teatime, did "n" beat you as a child? ^_^
teatime Xliff_: conceptual consistency w/ things people are already familiar with (umount)
teatime goes off to write a proposal. 21:59
perlawhirl teatime is probably a unix guy, eg umount
ahh, he just said it
teatime perlawhirl++
Xliff_ I'm a unix guy and I still grok "unshift"
teatime Xliff_: it's a joke, son.
Xliff_ teatime, I know. And I am joking right back in the same vein.
teatime about how ridiculous umount is (and yes, I know how the name originated)
Xliff_ teatime, O! Then we are in agreement. 22:00
MadcapJake so wrapping text is hard, I think I'm just gonna require users to do is by hand if they want :P
22:00 Peter_R joined
teatime MadcapJake: lol. launch $EDITOR :) 22:00
Xliff_ teatime, Seriously! In my mind I am always saying "unmount" but the fingers have adjusted to removing the "n".
It only happens at the command prompt, thougn.
saaki perlawhirl++ 22:01
Xliff_ My mind has trained itself to do a magical "import unixisms" if it sees "#"
teatime I say "you mount" but I never enjoy having to tell someone the command out-loud.
MadcapJake teatime: it's not CLI it's a webapp :)
Xliff_ teatime, LOL
teatime MadcapJake: ahh, that could be hard tehn, I suppose :)
22:01 frew joined
Xliff_ So, does anyone want to comment on gist.github.com/Xliff/2907106c84e9eb14d4c0 before I start the PR process? 22:02
22:03 plk joined, sufrostico joined
hoelzro Xliff_: you could do ?all($a.to eqv $b.to, $a.from eqv $b.from, ... etc) instead of the ands, but seems legit 22:04
22:04 plk left 22:08 autarch left, wamba left 22:10 Sgeo joined 22:11 autarch joined 22:12 kid51 joined 22:13 sufrostico left 22:14 RabidGravy left 22:16 jamesalbert joined
Xliff_ hoelzro, is there a performance improvement using that method? 22:16
hoelzro Xliff_: it's just a personal preference of mine for readability 22:17
Xliff_ I think it's already fairly readable.
The ?all() syntax is a little new to me.
hoelzro I'm not saying it's not readable, I just prefer all() =) 22:18
22:18 itaipu joined
jamesalbert yo I'm writing tests for a module I wrote. In each test, I want to import from a common Util.pm6 file. In Util.pm6 I want to import from my module. However, I can't do that because I `use lib '.'` to import t::Util, but I can't `use lib 'lib'` inside my Util package (it gives an error saying so). Can I do what I'm trying to do or is there a perl6ish way of doing this? 22:19
22:20 JRaspass left
timotimo hoelzro: using ?all is probably super slow. i'd suggest [&&] instead 22:21
hoelzro ah, good idea
22:21 skids joined
Skarsnik jamesalbert, just pass -I lib to perl6 when running a test 22:22
Xliff_ timotimo, Isn't that what I'm doing?
jamesalbert thanks Skarsnik! 22:23
hoelzro Xliff_: timotimo means [&&] ($a, $b, $c, $d) instead of $a && $b && $c && $d
Xliff_ Yikes! 22:24
I didn't know that.
Xliff_ tests
22:27 znpy left
Xliff_ Nice! Thanks. 22:27
22:28 znpy joined
Xliff_ OK. Implementation now uses [&&]. Thanks for the suggestion 22:28
22:29 spider-mario left
Xliff_ OK. gist updated. 22:32
I will probably create the PR sometime tonight.
22:33 perlawhirl left 22:46 teatime left, dvinciguerra__ left 22:51 jamesalbert left 22:52 ab6tract left 22:57 tardisx joined 22:58 perlawhirl joined 23:02 BenGoldberg joined 23:04 DarthGandalf joined, abraxxa left 23:07 kurahaupo left 23:15 espadrine left
Xliff_ \o/ 23:25
www.theverge.com/2016/3/30/11331014...h#comments
Microsoft is adding Ubuntu to Windows
WTF?
23:26 BenGoldberg left 23:27 BenGoldberg joined, sufrostico joined 23:30 Skarsnik left 23:32 itaipu left
Hotkeys Xliff_: whaaaat 23:34
I might actually have to upgrade to W10
23:41 jack_rabbit joined 23:45 cdg left, cdg joined
kmwallio I think it's shipping in the next Windows Insider builds 23:46
insider.windows.com/
23:48 jack_rabbit left 23:50 cdg left
sortiz .tell abraxxa Changes that only touch DBDish/Oracle* can be pushed directly to master 23:52
yoleaux sortiz: I'll pass your message to abraxxa.
23:54 leont left, emdashcomma joined 23:57 znpy left