»ö« 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.
brokenchicken Based on the evidence, yes 00:01
m: gist.github.com/zoffixznet/72693f8...e0dafecb45
camelia rakudo-moar 7f245f: OUTPUT«6.28574922␤»
brokenchicken a bit faster 00:02
dogbert17 and the grep I did was actually totally useless
00:02 zacts left 00:04 zacts joined 00:06 BenGoldberg left, mr_ron joined 00:08 BenGoldberg joined 00:13 BenGoldberg left 00:15 BenGoldberg joined 00:16 jjido left 00:30 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg, bjz left 00:32 lmmx left 00:33 rindolf left
agentzh hmm, found another nit. when rakudo complaints about "Attribute $!xxx not declared in class Foo", the line number reported is always the end of the file Foo.pm6. 00:40
00:40 lmmx joined
agentzh so the real offending source line is never reported. 00:41
brokenchicken huggable: rakudobug
huggable brokenchicken, [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
brokenchicken report it by emailing to ^ that email address 00:42
agentzh brokenchicken: okay, will do
brokenchicken huggable: rakudobug :is: Report bugs by emailing to [email@hidden.address]
huggable brokenchicken, Added rakudobug as Report bugs by emailing to [email@hidden.address]
agentzh brokenchicken: just sent an email to [email@hidden.address] 00:48
with a minimal example.
thanks for the pointer.
00:50 espadrine_ left 00:53 lep-delete left 00:56 lep-delete joined 00:58 pmurias left, labster left 01:02 wamba left, bjz joined 01:07 cibs_ left 01:08 cibs joined 01:19 bstamour joined 01:21 bstamour left, jdmmmmm left 01:22 cale2 left 01:23 jdmmmmm joined 01:29 jdmmmmm left 01:38 BenGoldberg left, labster joined
brokenchicken Too quiet in here.... 01:49
brokenchicken blasts www.youtube.com/watch?v=vfu9UBsPAxs
🎸🎸🎸🎸🎸🎸🎸 🤘🤘🤘🤘
MasterDuke is busily watching jonathan blow's newest video about Jai 01:50
01:50 dugword left 01:55 agentzh left 02:03 agentzh joined
TEttinger m: say "\C[SEE-NO-EVIL_MONKEY]" 02:13
camelia rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence: '\C'␤at <tmp>:1␤------> 3say "\7⏏5C[SEE-NO-EVIL_MONKEY]"␤ expecting any of:␤ argument list␤ double quotes␤ term␤»
TEttinger m: say "\c[SEE-NO-EVIL_MONKEY]"
camelia rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name SEE-NO-EVIL_MONKEY␤at <tmp>:1␤------> 3say "\c[SEE-NO-EVIL_MONKEY7⏏5]"␤»
TEttinger hm
u: monkey
unicodable6 TEttinger, U+1F412 MONKEY [So] (🐒)
TEttinger, U+1F435 MONKEY FACE [So] (🐵)
TEttinger, gist.github.com/c57e7f38637aa79560...8de2afd11f
TEttinger m: say "\c[SEE-NO-EVIL MONKEY]"
camelia rakudo-moar 7f245f: OUTPUT«🙈␤»
TEttinger yay
02:14 Ven joined 02:20 kalkin- left 02:21 kalkin- joined 02:41 agentzh left
brokenchicken
.oO( monkey face ZWS... )
02:42
WOMAN/MAN/MONKEY variants :)
m: "\c[monkey facepalming]" 02:43
camelia rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name monkey facepalming␤at <tmp>:1␤------> 3"\c[monkey facepalming7⏏5]"␤»
02:45 ilbot3 left 02:48 ilbot3 joined 02:49 cale2 joined
TEttinger \c[MONKEY DABBING] 03:03
\c[MOLOCH, DEVOURER OF FLESH, PRAISE BE UPON HIM] 03:05
cale2 D:
TEttinger just waiting for unicode on those two 03:06
samcv when did the docs highlighting break btw?
anyone know when that began and if so what caused it?
03:07 khw joined
cale2 I know I talk about elixir alllll the time, but 03:08
it has a neat feature where you can pattern match on binary data
Can you use perl6 grammars to pattern match on binary data?
Is that how you might interface with new data formats, for example?
samcv the builds are passing on TravisCI 03:09
binary data as in, non-text?
you cannot use grammars for non-text
cale2 samcv: Yeah, like destructuring a TCP header or something 03:11
www.freesoft.org/CIE/Course/Section4/8.htm 03:12
03:12 Ven left
samcv that would be. interesting i suppose. but they were not designed for that 03:12
MasterDuke samcv: i think [Coke] mentioned the highlighting broke a day or two ago 03:13
samcv yeah. the travis passes tho
maybe something with the server then 03:14
MasterDuke irclog.perlgeek.de/perl6/2017-01-21#i_13964451
03:17 eaterof left 03:18 eater joined 03:19 dugword joined 03:31 bjz left, revere left, Ven joined 03:32 revere joined, haxmeister joined 03:38 parv joined
brokenchicken isn't sure about the latest PERF tickets 03:38
What would be the criteria for closing them? I don't expect the compared results to ever have the same timings and the cases all fall under "our optimizer could optimizer more things" 03:39
03:46 parv left 03:50 noganex joined
[Coke] I believe we've been going for "down from completely unreasonable to normal slowness compred to Perl 5". which is not really quantifiable. 03:53
03:53 noganex_ left 04:01 Ven left 04:04 eater left 04:07 Ven joined 04:10 Ven left 04:14 agentzh joined 04:15 Ven joined 04:20 lmmx left 04:23 Ven left, Ven_ joined 04:30 bjz joined 04:36 mr_ron left 04:43 eater joined, mr_ron joined 05:07 Ven_ left 05:09 labster left 05:18 agentzh left 05:30 Cabanossi left 05:31 tardisx joined 05:32 Cabanossi joined 05:43 tardisx left 05:44 tardisx joined 05:51 cale2 left 05:53 CIAvash joined 05:56 kyan left 05:59 mr_ron left 06:03 khw left 06:10 Ven joined
samcv guess you can't use captures with subst 06:22
m: self.subst(/(.**4..6 $breakpoint)/,"$0\n", :global).say
camelia rakudo-moar a1c7d0: OUTPUT«5===SORRY!5===␤'self' used where no object is available␤at <tmp>:1␤------> 3<BOL>7⏏5self.subst(/(.**4..6 $breakpoint)/,"$0\n␤Variable '$breakpoint' is not declared␤at <tmp>:1␤------> 3self.subst(/(.**4..6 7⏏5$breakpoint)/,"$0\n",…»
samcv m: "string".subst(/st(..)ng/, "$0a", :g).say #this paste is what i meant to paste
camelia rakudo-moar a1c7d0: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤a␤»
CIAvash .ask agentzh Is this the issue you're experiencing? rt.perl.org/Public/Bug/Display.html?id=127309
yoleaux CIAvash: I'll pass your message to agentzh.
CIAvash m: "string".subst(/st(..)ng/, -> $/ {"$0a"}, :g).say 06:24
camelia rakudo-moar a1c7d0: OUTPUT«ria␤»
samcv kk that wasn't on the docs. thanks CIAvash 06:27
06:27 mr_ron joined
CIAvash m: say S:g/st(..)ng/"$0a"/ given "string" 06:29
camelia rakudo-moar a1c7d0: OUTPUT«"ria"␤»
CIAvash samcv: also ↑
m: say S:g/st(..)ng/$0a/ given "string" 06:30
camelia rakudo-moar a1c7d0: OUTPUT«ria␤»
06:32 bjz left 06:51 dugword left 06:53 Ven left, kaare__ joined 06:55 kaare_ left 06:57 Sgeo joined 07:00 labster joined
moritz good morning 07:01
lol I blogged: perlgeek.de/blog-en/perl-6/2017-00...eview.html
07:01 bjz joined 07:03 haxmeister left 07:13 Ven joined 07:16 wamba joined 07:18 agentzh joined 07:22 agentzh left 07:24 Ven left 07:28 shmibs joined 07:30 mr_ron left 07:37 Ven joined 07:38 AlexDaniel joined 07:49 bjz left 07:51 dugword joined 07:59 FROGGS joined 08:05 kaare__ left 08:07 kaare_ joined 08:10 Ven left 08:13 xinming_ joined 08:15 bjz joined, mr_ron joined 08:25 cibs left 08:27 cibs joined 08:35 Actualeyes left 08:52 inra joined 08:53 xinming_ left 08:55 xinming joined 08:59 xinming left 09:00 xinming joined 09:05 domidumont joined 09:09 domidumont left
Geth cosystem: 1f4a6989cb | (Ahmad M. Zawawi)++ | META.list
Switch Electron to META6.json
09:10
09:10 domidumont joined 09:20 labster left 09:24 mr_ron left 09:26 rindolf joined, domidumont left 09:27 domidumont joined 09:28 domidumont left 09:29 domidumont joined 09:31 agentzh joined 09:37 agentzh left 09:45 Actualeyes joined
El_Che ./see azawawi 09:46
09:46 RabidGravy joined
El_Che .seen azawawi 09:47
yoleaux I saw azawawi 21 Jan 2017 11:27Z in #perl6: <azawawi> Now most swift code is littered with lonely underscores
AlexDaniel hates underscores with passion 09:48
El_Che not fond of the dash perl6 convention, but c'est la vie 09:49
09:50 flexibeast joined, azawawi joined
azawawi hi #perl6 09:50
09:50 espadrine_ joined
AlexDaniel :o 09:50
how? :)
El_Che azawawi: new rakudo packages are beint built as we speak 09:51
azawawi: they shoud be up soon 09:52
azawawi We need something like github.com/CocoaPods/cocoapods-try for trying out Perl 6 modules examples. For example, `zef try Bailador` :)
I want to try but not install :)
El_Che: thx. El_Che++
El_Che azawawi: docker is a match on Linux. jjmerelo release some alpine perl6 containers 09:53
09:53 Actualeyes left
El_Che azawawi: although, you approach is more sensible 09:53
09:54 Tonik joined
RabidGravy azawawi, I don't know if zef does it but panda has "look" which means you can run the examples from the durectory 09:55
azawawi RabidGravy: What do you think we need for `zef try Bailador`. Get all dependencies into a lib folder (without installing) and git pull examples and then modify them to to use that lib folder? 09:56
RabidGravy well, I'd say you *do* install the dependencies, just into a temporary local repo 09:58
10:00 cibs left
azawawi RabidGravy: cool 10:01
RabidGravy whether that's a special type of repo or just an existing type with a different prefix I'm not sure 10:02
azawawi Damn you ImageMagick... they keep changing API :) 10:05
brew just upgraded to 7 and they seem to break a few tests... now i need a compat layer (6 & 7)
azawawi is fixing also Electron tests... electron also is an API breaker lol 10:06
10:06 Actualeyes joined 10:07 pierrot left
azawawi will a rakudo * be released for 2017.01? 10:08
10:09 cibs joined, pierrot joined
El_Che azawawi: iirc it's released every 3 months 10:13
azawawi: and last rakudo star wasn't that long ago
stmuk_ will clarify once online :)
10:18 domidumont left
azawawi El_Che: thx 10:30
ci.appveyor.com/project/azawawi/pe...eeqwj#L157 # rakudobrew build failure on windows (latest)
10:34 pierrot left 10:44 pierrot joined 10:48 TEttinger left 10:55 agentzh joined 10:59 agentzh left 11:01 azawawi left 11:05 bjz left
Geth cosystem: 396c2fed45 | (Wenzel P. P. Peppmeyer)++ | META.list
add Git::Config
11:18
11:28 bjz joined
stmuk_ azawawi: I'm working on it .. see scrollback for a Release Candidate 11:34
El_Che stmuk_++
stmuk_ I'm aiming for 3 monthly releases (the last was out of sequence since it was a bug fix for some platforms) 11:37
11:39 parv joined 11:47 skids joined 11:52 rindolf left
RabidGravy wonders if there is scope for storing arbitrary stuff from a META file in the Distribution as installed 11:55
say under a specific key
my rationale for wanting to do this is for a custom CUR that does pluggable in a sane way 11:56
grovelling around for specific patterns in the names of the installed modules upsets me 11:58
I'll just leave that there, I'm off to the supermarket 12:00
stmuk_ . o O ( off licence )
12:09 cognominal joined 12:11 pmurias joined 12:14 lukaramu joined 12:16 pmurias left 12:19 cognominal left 12:30 kyan joined
timotimo honestly i'm surprised the ticket about autoincrement doesn't also compare postincrement to preincrement 12:31
12:35 girafe2 left
AlexDaniel what's autoincrement 12:38
El_Che censors a "autoexcrement" joke 12:39
tadzik eeeeeeeey! :D
timotimo postfix ++ and prefix ++
gfldex RabidGravy: did you consider to give META6 an executable? 12:46
12:57 agentzh joined 13:01 bjz left 13:05 agentzh left 13:11 yqt joined 13:14 parv left 13:17 abruanese left, pmurias joined 13:18 rmusial left 13:22 mr_ron joined 13:24 rmusial joined, abruanese joined 13:30 BenGoldberg joined 13:36 CIAvash left
gfldex lolibloggedagain: gfldex.wordpress.com/2017/01/22/on...happy-zef/ 13:54
14:01 BuildTheRobots joined 14:06 araraloren left, araraloren joined
RabidGravy gfldex, I actually have one somewhere that I use for my own purposes, maybe I'll stick it in at some point 14:11
gfldex RabidGravy: I was thinking about useing META6 to create a skeleton for a module, run git init and talk both to github and travis. 14:13
much easier to teach beginners how to do it properly that way
RabidGravy I'd say Talking to github and travis" would be out of scope as a script to distribute with META6 but as an example or something separate yes 14:14
generating a properly formed META file with no other dependencies would be an idea though 14:15
gfldex true, in that case a separate repo with a meta6 executable makes sense
RabidGravy sure 14:16
14:17 sammers left
stmuk_ has anyone tried rakudo on a opensolaris type system recently? tempted to spin up a VM 14:18
14:23 zakharyas joined 14:29 sammers joined
El_Che stmuk_: yes 14:30
stmuk_: it does not build due the uv dependenct 14:31
y
stmuk_: it was a while though
(tried on sol10 en 11°
)
I had some progress on solaris 11 but I still had failing tests for uv 14:32
raiph .ask TimToady Would you agree that, in P6, "all object types are option types" (where option type is as per en.wikipedia.org/wiki/Option_type) 14:33
yoleaux 15 Jan 2017 13:38Z <thundergnat> raiph: Thanks for the link. Almost exactly my question.
raiph: I'll pass your message to TimToady.
MasterDuke moritz: couple typos in the blog post: "attached on object", "paramater" 14:35
moritz MasterDuke: thanks 14:36
MasterDuke np 14:37
moritz [X] fixed 14:38
14:39 geekosaur left 14:42 geekosaur joined, cale2 joined 14:43 inra left 14:51 andrzejku joined 14:53 KotH left 14:58 KotH joined 15:09 pmurias left 15:17 Actualeyes left 15:19 Actualeyes joined, khw joined 15:20 ChoHag joined 15:23 mr_ron left 15:24 mr_ron joined
RabidGravy I really, really shouldn't have varifocal lenses in my glasses 15:28
15:45 wamba left 15:50 dugword left, dugword joined
stmuk_ El_Che: ah thanks 15:52
15:56 pmurias joined 16:13 Actualeyes left 16:16 Actualeyes joined 16:18 rindolf joined
araraloren Night~~, #perl6 16:18
16:19 araraloren left 16:21 jdmmmmm joined 16:31 domidumont joined 16:38 dugword left 16:47 chinarulezzz joined 16:48 cognominal joined 16:50 xinming left, xinming joined 16:57 yqt left, yqt joined 17:01 dugword joined 17:02 agentzh joined 17:07 agentzh left, jdmmmmm left 17:16 chinarulezzz left, kyan left 17:19 espadrine_ left
moritz what's the idiomatic way to merge multiple hashes? 17:20
m: my @a = [ { a => 1 }, { b => 2 } ]; say @a>>.flat.hash 17:21
camelia rakudo-moar d71bf1: OUTPUT«{a 1 => {b => 2}}␤»
moritz m: my @a = [ { a => 1 }, { b => 2 } ]; say @a>>.flat.hash.perl
camelia rakudo-moar d71bf1: OUTPUT«{"a\t1" => ${:b(2)}}␤»
moritz m: my @a = [ { a => 1 }, { b => 2 } ]; my %r; %r.push($_) for @a; say %r.perl
camelia rakudo-moar d71bf1: OUTPUT«Trailing item in Hash.push␤ in block at <tmp> line 1␤Trailing item in Hash.push␤ in block at <tmp> line 1␤{}␤»
moritz m: my @a = [ { a => 1 }, { b => 2 } ]; my %r; %r.push(%$_) for @a; say %r.perl 17:22
camelia rakudo-moar d71bf1: OUTPUT«{:a(1), :b(2)}␤»
moritz not what I call pretty
17:23 MilkmanDan left, zacts left
brokenchicken m: my @a = [ { a => 1 }, { b => 2 } ]; say @a».pairs.flat.Hash 17:26
camelia rakudo-moar d71bf1: OUTPUT«{a => 1, b => 2}␤»
17:27 ChoHag left, MilkmanDan joined
moritz brokenchicken: thanks! 17:28
17:30 kyan joined
cale2 is there an oauth1 example in perl6 somewhere? 17:33
I have a heck of a time trying to get my company's api up and running with a new language 17:34
brokenchicken There may be a rudimentary one in Twitter.pm6
buggable: eco oauth
buggable brokenchicken, OAuth2::Client::Google 'Authenticate against Google's OAuth2 API.': github.com/bduggan/p6-oauth2-client-google
brokenchicken buggable: eco Twitter 17:35
buggable brokenchicken, Twitter 'Twitter API': github.com/zoffixznet/perl6-Twitter
brokenchicken No idea what version it is github.com/zoffixznet/perl6-Twitte.../OAuth.pm6
cale2 i'm reading it now 17:36
RabidGravy cale2 there's also arudimentary OAuth implementation in github.com/jonathanstowe/WebService-Soundcloud 17:51
I keep meaning to split it out 17:52
cale2 The part that confuses me about the protocol is how to sign requests. A lot of oauth1 libraries will generate an oauth signature, but then you have to attach that signature to a request 17:59
do you append the oauth signature to the request header? do you send in the oauth sig and the header as two separate strings?
what if you also have post data? do you concat the request header, oauth sig, AND payload data?
brokenchicken sounds like the sign() method from Twitter::OAuth answers all those ques5tions 18:03
cale2: perhaps this gives an idea? github.com/zoffixznet/perl6-Twitte...UA.pm6#L19 18:05
That's all one Authorization header that gets sent: github.com/zoffixznet/perl6-Twitte...UA.pm6#L27 18:06
cale2 brokenchicken: $ua.post(url, headers, content) <- That makes sense. But different oauth libraries (and different HTTP libraries) play together differently 18:08
18:08 BenGoldberg left, AlexDaniel left 18:11 labster joined 18:14 lukiramu joined 18:17 lukaramu left 18:19 azertus joined 18:30 agentzh joined 18:34 wamba joined 18:37 nowan_ left 18:40 agentzh left 18:43 nowan joined 18:45 ChoHag joined
japhb .tell gfldex code appears cut off by wordpress in gfldex.wordpress.com/2017/01/22/on...happy-zef/ 18:51
yoleaux japhb: I'll pass your message to gfldex.
18:53 espadrine_ joined, girafe joined
gfldex japhb: the example is actually that short 18:54
yoleaux 18:51Z <japhb> gfldex: code appears cut off by wordpress in gfldex.wordpress.com/2017/01/22/on...happy-zef/
brokenchicken huggable: FindBin 18:56
huggable brokenchicken, use lib $*PROGRAM.parent.parent.child("lib").Str; # finds lib/ for scripts in bin/ or t/
japhb gfldex: In my browser, the trailing '); appears for just a moment, then disappears 18:58
Chrome 55 18:59
gfldex japhb: same where, it's either a bug in wp or in chrome
the html looks fine 19:01
19:02 zakharyas left 19:05 BenGoldberg joined
RabidGravy brokenchicken, I use that idiom so often I'm wondering whether it should be either builtin or at least in a module 19:07
brokenchicken ... is it built in :) 19:08
configure a snippet in your editor
RabidGravy that is exactly what I was typing;-) 19:09
19:14 dugword left
mr_ron m: my @a = [ { a => 1 }, { b => 2 } ]; my %r = @a.map: { %$_ }; say %r.perl # seems to work 19:17
camelia rakudo-moar 4e49ec: OUTPUT«{:a(1), :b(2)}␤»
19:19 hartenfels joined
cale2 m: sub hi($name) { say "hi $name"; }; my &hi-cale = &hi.assuming("cale"); say &hi-cale; 19:19
camelia rakudo-moar 4e49ec: OUTPUT«sub __PRIMED_ANON () { #`(Sub+{Callable[Mu]}|71031408) ... }␤»
cale2 how do I call that function 19:20
lizmat m: sub hi($name) { say "hi $name"; }; my &hi-cale = &hi.assuming("cale"); say hi-cale();
camelia rakudo-moar 4e49ec: OUTPUT«hi cale␤True␤»
gfldex m: sub hi($name) { say "hi $name"; }; my &hi-cale = &hi.assuming("cale"); say hi-cale;
camelia rakudo-moar 4e49ec: OUTPUT«hi cale␤True␤»
cale2 ah
gfldex you callit „hi-scale“ :->
cale2 I like that assuming method 19:21
RabidGravy for reference any & sigilled thing is effectively a sub 19:23
m: my &ff = -> { say "foo" }; ff()
camelia rakudo-moar 4e49ec: OUTPUT«foo␤»
cale2 RabidGravy: why did mine end in True? 19:24
RabidGravy because you did say in the sub and said the return pof the sub 19:25
say returns True (unless it doesn't)
cale2 m: sub hi($name) { "hi $name" }; my &hi-cale = &hi.assuming("cale"); say hi-cale();
camelia rakudo-moar 4e49ec: OUTPUT«hi cale␤»
gfldex m: my &ff = -> { say "foo" }; &ff.WHAT.say
camelia rakudo-moar 4e49ec: OUTPUT«(Block)␤»
19:26 agentzh joined
RabidGravy any callable in a storm 19:26
cale2 In haskell, they have a way to do point free style, with the (.) operator. 19:27
(.) :: (b -> c) -> (a -> b) -> a -> c
I'm thinking this may be possible with perl6 19:28
If you make sure that the return type of the one function is the entry type of the second function
RabidGravy well if I knew what that did ....
samcv u: { .unival eq 1000000000000 }
unicodable6 samcv, U+5146 <CJK Ideograph> [Lo] (兆) 19:29
samcv, U+16B61 PAHAWH HMONG NUMBER TRILLIONS [No] (𖭡)
19:30 cdg joined
samcv not sure why getting sizeof(long long) in c gives me 4, but somehow can fit 1000000000000 inside a long long 19:30
19:32 itcharlie1 joined 19:33 zacts joined
lizmat hmmm.. looks like github API is down 19:33
samcv :(
lizmat hmmm... just slow 19:34
brokenchicken m: "\c[family: man, man, girl, boy]"
camelia rakudo-moar 15753f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name family: man␤at <tmp>:1␤------> 3"\c[family: man7⏏5, man, girl, boy]"␤»
brokenchicken samcv: we don't support these yet?
samcv i don't mean in perl 6, but in C
so I guess it fits in a 64-bit, unsigned. I think i see what I was doing wrong with my type generation 19:36
brokenchicken ? 19:37
gfldex cale2: in Perl 6 the return type of a function is unknown at compile time. The return type is a misnomer. It's a return type constraint. 19:40
cale2 This is a good post if you're wondering what I meant about point free: buffered.io/posts/point-free-style-...-good-for/ 19:44
lizmat m: sub a(--> 42) {}; say a 19:45
camelia rakudo-moar 15753f: OUTPUT«42␤»
lizmat gfldex: known at compile time ^^^ :-) 19:46
cale2 Honestly it's not much different from a feed operator and the like. I was just thinking I could do an infix operator that was similar
gfldex lizmat: that's a return value, not a return type
gfldex puts down the hairsplittingknife
lizmat :-) fwiw, I think it is *also* a return type, namely Int 19:47
perhaps even Int:D
gfldex m: sub a(--> 42){}; &a.signature.returns.say 19:48
camelia rakudo-moar 15753f: OUTPUT«42␤»
gfldex 42 is not a type object
lizmat pretty sure that doesn't matter for a type check ? 19:49
m: use nqp: say nqp::istype(666,42)'
camelia rakudo-moar 15753f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3use nqp7⏏5: say nqp::istype(666,42)'␤»
lizmat m: use nqp: say nqp::istype(666,42)
camelia rakudo-moar 15753f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3use nqp7⏏5: say nqp::istype(666,42)␤»
lizmat m: use nqp; say nqp::istype(666,42)
camelia rakudo-moar 15753f: OUTPUT«0␤»
lizmat hmmm
I guess it does 19:50
m: use nqp; say nqp::istype(666,42.WHAT)
camelia rakudo-moar 15753f: OUTPUT«1␤»
gfldex also, we where talking about Perl 6, not nqp
19:50 chinarulezzz joined
gfldex m: say so 123 ~~ 42; 19:51
camelia rakudo-moar 15753f: OUTPUT«False␤»
cale2 Does perl6 have generic types in the sense that it can match two generic types?
19:51 bjz_ joined
gfldex not really but you can use a subset to match against a Junction of two types 19:51
cale2 Prob not, because you'd just have something like `(Any, Any) returns Any`
gfldex please don't ask what a Junction is
cale2 A junction is a glorified enum 19:52
gfldex no
19:52 agentzh left
cale2 But in any case, if you don't know the types beforehand, you can't do it 19:52
Like you can't do `(AnyA, AnyB) returns AnyA`
CIAvash[m] m: say ((* + 5) ∘ (* × 2))(20) 19:53
camelia rakudo-moar 8a448d: OUTPUT«45␤»
19:54 cdg left
gfldex cale2: if you believe Junctions are enums you may want to read: docs.perl6.org/type/Junction 19:54
cale2 CIAvash[m]: that is insane. What the heck is this `∘` 19:55
gfldex and take the week of to contemplate
CIAvash[m] cale2: function composition operator, you can also use "o"
19:56 agentzh joined
cale2 That's exactly what I was thinking of making haha 19:56
RabidGravy I like the compose operator but can't type it ;-)
cale2 I'm guessing it doesn't rely on types, it just assumes that you know what you're doing
Yeah, it relies on arity 19:58
gfldex: junctions aren't that hard to understand. How is it not like an enum?
brokenchicken doesn't see the relation between Junctions and enums 19:59
RabidGravy yeah I'm confused
brokenchicken m: say 42 ~~ none 2, 5, 6
camelia rakudo-moar 8a448d: OUTPUT«True␤»
cale2 A junction is a list of possible objects
brokenchicken m: say 5 ~~ none 2, 5, 6
camelia rakudo-moar 8a448d: OUTPUT«False␤»
cale2 An enum is a list of possible objects 20:00
RabidGravy no
brokenchicken A Junction is a superposition of values... An enum is a glorified series of Ints
Geth cosystem: 426cc7a6b8 | (Ramiro Encinas)++ | META.list
Update META.list
RabidGravy a glorified series of values 20:01
gfldex a Junction is a list of values that form a closure with operators that is lazily evaluated and doesn't provide introspection (it also autothreads)
RabidGravy can be any Cool as far as I understand
brokenchicken Ah
m: enum Foo => "meow"; say Foo 20:02
camelia rakudo-moar 8a448d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ Foo used at line 1␤Undeclared routine:␤ enum used at line 1␤␤»
RabidGravy m: enum Foo ( Baz => "boo"); say Baz.value;
camelia rakudo-moar 8a448d: OUTPUT«boo␤»
brokenchicken m: sub foo { say $^n² }; foo 2|3|4|5|6|7|8|9
camelia rakudo-moar 8a448d: OUTPUT«4␤9␤16␤25␤36␤49␤64␤81␤»
brokenchicken m: "foobar".substr(0|3, 3).say 20:04
camelia rakudo-moar 8a448d: OUTPUT«any(foo, bar)␤»
brokenchicken hehe
m: say "foobar".substr(0|3, 3) eq "bar" 20:05
camelia rakudo-moar 8a448d: OUTPUT«any(False, True)␤»
brokenchicken m: say so "foobar".substr(0|3, 3) eq "bar"
camelia rakudo-moar 8a448d: OUTPUT«True␤»
brokenchicken m: say so "foobar".substr(0&3, 3) eq "bar"
camelia rakudo-moar 8a448d: OUTPUT«False␤»
brokenchicken m: say so "barbar".substr(0&3, 3) eq "bar"
camelia rakudo-moar 8a448d: OUTPUT«True␤»
brokenchicken neat
b2gills raiph: I edited en.wikipedia.org/wiki/Option_type to include Perl 6 20:06
RabidGravy he he 20:07
b2gills m: my $v = 2|3|4|5|6|7|8|9; say gather $v».take # you can get the values from a Junction
camelia rakudo-moar 8a448d: OUTPUT«(2 3 4 5 6 7 8 9)␤»
cale2 How is that junction example any different than mapping foo over a list of 2,3,4,5,6,7,8,9 ?
20:08 agentzh left
cale2 So a junction is a special list of objects that allow threading without using a special thread operator :) 20:08
b2gills Calling it threading leads many to make that mistake 20:09
cale2 This makes sense. So when you say 2 ~~ 3|4|2|5, it is matching 2 against all the objects at the same time
20:09 agentzh joined
b2gills effectively at the same time 20:09
RabidGravy it's either all of the values at once, any of the value or none of the values 20:10
gfldex there are different types of junctions and some will short circuit if you combine junctions with more junctions
brokenchicken m: sub foo { say $^n² }; foo 2|(3|4)|5|(6|7)|8|9 20:11
camelia rakudo-moar ce76f4: OUTPUT«4␤9␤16␤25␤36␤49␤64␤81␤»
brokenchicken m: sub foo { say $^n² }; foo 2|(3|4)|5|(6|(7|5)|5)|8|9
camelia rakudo-moar ce76f4: OUTPUT«4␤9␤16␤25␤36␤49␤25␤25␤64␤81␤»
b2gills m: sub foo { $^n² }; say foo 2|(3|4)|5|(6|(7|5)|5)|8|9
camelia rakudo-moar ce76f4: OUTPUT«any(4, any(9, 16), 25, any(36, any(49, 25), 25), 64, 81)␤»
20:11 ggoebel left
timotimo the thing is that functions/methods/operators that know nothing about junctions will automatically be spread out for you 20:12
20:12 rindolf left
brokenchicken m: sub foo { state $x = 0; say $x++ }; foo 2|(3|4)|5|(6|(7|5)|5)|8|9 20:12
camelia rakudo-moar ce76f4: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: sub foo ($) { state $x = 0; say $x++ }; foo 2|(3|4)|5|(6|(7|5)|5)|8|9
camelia rakudo-moar ce76f4: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
20:13 labster left
cale2 curious stuff 20:14
b2gills cale2: The Perl 6 translation of the first point-free example from that blog post is `my &sum = &prefix:<[+]>.assuming(0);` which is pointless because that is already basically the definition of `&sum`. 20:20
timotimo &[[+]] should work, too, right? 20:21
brokenchicken m: with "lemon cake piece" { say "It got cake in it!" if "cake" eq .substr: any(^.chars), any(^.chars+1) } 20:23
camelia rakudo-moar ce76f4: OUTPUT«It got cake in it!␤»
brokenchicken m: with "lemon pie piece" { say "It got cake in it!" if "cake" eq .substr: any(^.chars), any(^.chars+1) }
camelia ( no output )
brokenchicken But anyway...
cale2: the interesting bit about Junctions is how the objects are superimposed, not that there's a list of objects. Which is why I see little relation to enums
and most common usage is stuff like if $x eq "foo"|"bar" which really is just about saving typing 20:24
20:26 buggable left
brokenchicken hm... can't restart buggable. Getting "▬▬▶ _ ❚⚠❚ : ERROR Closing Link: gateway/web/frut.as/session (Install identd)" 20:26
cale2 m: sub my-sum() { &[[+]] }; my-sum: 1,2,3; 20:27
camelia rakudo-moar ce76f4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ infix:<[+]> used at line 1. Did you mean 'infix:<+|>', 'infix:<∖>', 'infix:<lt>'?␤␤»
moritz another neat use case for junctions is in grep, like my @even-ints = grep Int & * %% 2, @list-of-numbers;
brokenchicken neat 20:28
timotimo brokenchicken: what server does buggable run on? 20:29
brokenchicken perl6.party 20:30
20:32 bjz_ left
brokenchicken mst: did freenode change its policy or it's just a glitch? Can't connect my bot; getting "Notice -- You need to install identd to use this server Closing Link: gateway/web/frut.as/session (Install identd)" with irc.freenode.net and chat.freenode.net :/ 20:33
moritz brokenchicken: might be related to the number of connections coming from that IP 20:34
20:34 buggable joined, buggable left
brokenchicken hm, connects fine from another box 20:34
moritz probably because all the other bots run on perl6.party too
mst brokenchicken: notice you're being identified as coming from a multi-user gateway
I'm unsure wtf frut.as is 20:35
brokenchicken hmmm
Maybe too many clients....
Time to merge bots into one, I guess
mst please don't guess and listen to me
brokenchicken Listening.
ugexe gfldex: why dont you use $?FILE inside the test case instead of $*PROGRAM to determine where to find your 'data' directory?
mst explaining wtf frut.as is would be a start 20:36
is that yours? or somebody else's thing you happen to be using?
brokenchicken Never heard of it, no
mst well it was in your error message 20:37
brokenchicken Hm... frut.as/ "Scriptable and extensible group chat in your Browser, Android and iOS, for free."
wtf
mst right, so, that smells like a glitch 20:38
20:38 domidumont left
ugexe "look 20:40
moritz PSA: perl6-all-modules on github has been updated again
ugexe "panda look" doesnt really help you run the examples because it installs all the dependencies - thats sort of against the spirit of cocoapodstry
but zef also has the look command 20:41
20:41 buggable joined, ChanServ sets mode: +v buggable, bjz joined
moritz there are a few repos that couldn't be clone; need to investigate what's up with them 20:41
ugexe not all modules are git repos - some are .tar.gz archive
20:42 Tonik left
MasterDuke moritz++ 20:43
mst brokenchicken: assume glitch, don't change anything, tell me if it happens again
brokenchicken OK. Thanks
20:44 buggable_ joined, ChanServ sets mode: +v buggable_, buggable_ left 20:45 ggoebel joined
b2gills &[…] only works for infix operators 20:45
20:45 huggable left 20:46 buggable left, buggable joined, ChanServ sets mode: +v buggable, huggable joined, ChanServ sets mode: +v huggable
brokenchicken \o/ 20:46
20:48 dugword joined, kybr joined 20:49 bjz left
timotimo of course, thanks b2gills 20:52
BenGoldberg m: dd &[[+]]
camelia rakudo-moar ce76f4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ infix:<[+]> used at line 1. Did you mean 'infix:<+|>', 'infix:<∖>', 'infix:<lt>'?␤␤»
BenGoldberg m: dd &[+]
camelia rakudo-moar ce76f4: OUTPUT«Sub+{<anon|77233232>}+{Precedence} infix:<+> = sub infix:<+> (Mu $?, Mu $?) { #`(Sub+{<anon|77233232>}+{Precedence}|57532496) ... }␤»
20:52 ChoHag left
b2gills m: dd &prefix:<[+]> 20:53
camelia rakudo-moar ce76f4: OUTPUT«Sub prefix:<[+]> = sub prefix:<[+]> (| is raw) { #`(Sub|62755480) ... }␤»
timotimo moritz: thank you very much :) 20:54
20:56 FROGGS left
moritz timotimo: you're welcome 20:57
turns out there are four repos whose source-url points to non-existant repos 20:58
timotimo wow, that process took hours?!
moritz for example raw.githubusercontent.com/nbrown/p.../META.info => git://github.com/carbin/p6-fcgi.git
20:58 BenGoldberg left
timotimo ah indeed 20:59
that's not so great
moritz and the repo github.com/nbrown/p6-fcgi doesn't even support issues
timotimo modules.perl6.org/update.log - search for error, or for HTTP 406 21:00
moritz same for p6-fcgi-psgi, p6-unix-privileges, p6-jdf
MasterDuke i remember some talk about that awhile ago. i think the conclusion was that someone renamed their github acount?
moritz I consider removing those URLs from META.list
timotimo: re took hours, I suspect github rate-limits requests after first dozen accesses or so 21:01
21:01 ggoebel left
timotimo we could send a mail to [email@hidden.address] 21:01
ah, yes i believe it does
ugexe when i clone/pull the ecosystem it takes ~15min 21:02
timotimo "the ecosystem"?
moritz or maybe it's git-subrepo that's super slow
ugexe github.com/perl6/ecosystem I think most people refer to this as "the ecosystem" 21:03
21:04 cale2 left
timotimo that takes only a second for me to pull from 21:04
moritz github.com/drforr/perl6-Inline-Sch...e/issues/5 # another problem I've found 21:05
21:05 itcharlie1 left
ugexe well if you ignore the context of the current conversation then sure i guess you could assume thats what i meant 21:05
timotimo "Heavily influenced by Inline::Python. Thanks, Stefan." :D
21:05 TEttinger joined, mr_ron left 21:06 cdg joined
timotimo i expected you meant something different than that repository 21:06
RabidGravy I'm not sure that nbrown is the correct author of those modules
timotimo because 15 minutes for that seems very abnormal
you mean they perhaps forked it and since they're not the upstream they didn't turn on github issues?
RabidGravy yes
I think the upstream literally went away and we filipped to those clones 21:07
timotimo ah, interesting
moritz so now they are unmaintained
RabidGravy maybe pull them to community trust or ditch them 21:08
moritz does anybody want to take care of that?
(either by contacting nbrown or by adopting or whatever)
if not, I'll remove the URLs from META.list
RabidGravy I contacted nbrown when we did it
I didn't get a reply
so Hmm 21:09
leave them there right now
I'll clone and fix during the week
moritz ++RabidGravy 21:10
RabidGravy I don't really want them but you know, seems a shame to drop them
ugexe im still waiting for someone to create a module with a namespace already in use but with a different auth, and then insert it into META.list such that the order of a request for "Name::Only" points to the new dist
brokenchicken buggable: eco 21:11
buggable brokenchicken, Out of 773 Ecosystem dists, 124 have warnings and 6 have errors. See modules.perl6.org/update.log for details
RabidGravy and I think we sent PRs for all the errors and warnings back last year
21:12 bjz joined
brokenchicken hm, bunch of those errors are 406s from gitlab :/ 21:12
RabidGravy so that's a lot of ignoring
we need more ecosystem fairies 21:14
moritz I'd propose to require a contact email address in META6.json in future 21:15
RabidGravy what with a few modules of my own and a dozen I "co-maint" and stuff it's never ending
moritz and then we could do things like automate emails when stuff goes south
RabidGravy moritz++ # +1 on that
moritz and if the situation remains unresolved, we can at least them emails informing them that the repo has been removed from the ecosystem 21:16
21:21 bjz left
RabidGravy can I suggest then '"support" : { "email" : "whatever" } ' as per the original intent of S22 21:22
21:22 _28_ria joined 21:23 _28_ria left, ggoebel joined
brokenchicken damn, my weechat session keeps "freezing" :S It looks like no one's talking; I think close terminal reconnect to server and reopen screen and boom! People were actually talking all this time :( 21:24
21:24 _28_ria joined
geekosaur -o ServerAliveInterval=secs -o ServerAliveCount=n 21:25
(ssh)
moritz brokenchicken: you can take a look at the public logs too :-)
brokenchicken moritz: they don't let me talk easily
geekosaur great way to defeat NAT appliances with excessively short timeouts (unless they're as short as the one here, which will time out in under a second under heavy load!) 21:26
brokenchicken Hm, never needed those in the past :/
geekosaur: so what sort of values should I use? really big? 21:27
21:27 agentzh left
brokenchicken command-line: line 0: Bad configuration option: serveralivecount 21:28
geekosaur generally I use a short interval like 1 so it's always keeping the link active (which should reset the NAT timeout). count can be whatever, the shorter it is then the faster ssh will find out the NAT entry got dropped or the upstream router otherwise fell on its face
what version of ssh?
oh, sorry, it's ServerAliveCountMax 21:29
should have cut and pasted >.<
brokenchicken k... let's see how this goes :)
Geth oc: antquinonez++ created pull request #1154:
Style cleanup.
21:32
brokenchicken
.oO( tl;dr )
21:34
Too Long; Didn't Review :)
21:36 agentzh joined 21:45 andrzejku left 21:46 rumble joined 21:47 rumble is now known as grumble 21:54 Khisanth left 22:07 Khisanth joined 22:10 _28_ria left 22:12 _28_ria joined, RabidGravy left, _28_ria left 22:13 _28_ria joined 22:32 dj_goku joined, dj_goku left, dj_goku joined 22:37 dj_goku left
brokenchicken geekosaur++ those ssh opts seem to have helped! :) 22:40
22:48 wamba left 22:49 chinarulezzz left 22:51 cdg left, mr_ron joined 23:00 mr_ron left 23:04 pecastro left
agentzh sorry if it's a FAQ, but what is the equivalent of p5 regex's \G in p6? 23:04
yoleaux 06:22Z <CIAvash> agentzh: Is this the issue you're experiencing? rt.perl.org/Public/Bug/Display.html?id=127309
23:05 pecastro joined
agentzh yoleaux: i don't think so :) 23:05
brokenchicken No idea, but let me know if you find out. 23:07
23:07 _28_ria left 23:08 _28_ria joined 23:09 _28_ria left, Cabanossi left
agentzh yoleaux: my example is more like this: gist.github.com/agentzh/1e61c6267c...436865977d 23:10
23:10 _28_ria joined
agentzh but this simplified version does work in rakudo. 23:10
the real thing doesn't and i have to remove the type constraint from the hash class attribute. 23:11
brokenchicken: thanks, sure.
23:12 felher joined, jsimonet joined
agentzh brokenchicken: found the <at($oldpos)> trick in the A05 doc. and it seems to work in rakudo. yay! 23:12
but the Regexes doc on docs.perl6.org does not mention this trick. 23:13
it's not as elegant as Perl 5's \G, but i can live with it for now.
i'll add convenient construct (:l) to our own perl 6 dialect. 23:14
brokenchicken: seems like m:p($oldpos)// is a better fit for my use case :) 23:19
better than m:c($pos)/ <at($pos)> ... / 23:20
23:22 _28_ria left
brokenchicken agentzh: yoleaux is a messanger bot... 23:22
agentzh brokenchicken: okay, good to know :)
23:23 _28_ria joined 23:25 _28_ria left
brokenchicken agentzh: Feel free to file a bug report for that (for wanting a better \G stuff) 23:26
23:26 labster joined
brokenchicken huggable: rakudobug 23:26
huggable brokenchicken, Report bugs by emailing to [email@hidden.address]
23:27 _28_ria joined 23:31 jsimonet left 23:33 dj_goku joined 23:36 agentzh left 23:38 jsimonet joined 23:40 espadrine_ left
japhb Is there a portable way to tell Perl 6 to unbuffer $*IN? (I know about using e.g. Term::termios, I'm asking if there's something that will work on Windows too.) 23:42
geekosaur that question is moderately confused, as there's at least two lyers of buffering, one of which does not apply to Windows 23:43
...and you mentioned that ibe 23:44
*one
23:45 zacts left
geekosaur (windows is always in character at a time mode, at the driver level. this is distinct from the input buffering most likely provided, in the case of moarvm, by libuv --- which is also likely to default to line mode.) 23:45
japhb geekosaur: I am aware of Moar buffering to look for combining characters, and the terminal line buffering ... what others do I need to worry about if I just want 'getc' to respond immediately after a keypress?
Ah, I didn't realize a terminal app in Windows would be getting characters. Hmmm, I didn't assume libuv was doing additional buffering of its own in the middle. :-/ 23:46
*getting characters immediately 23:47
23:49 pmurias left
japhb OTOH, libuv either must do no buffering, or pays attention to the termios settings itself, or Term::termios couldn't successfully set raw input mode. 23:49
That was tortured English, sigh 23:50
geekosaur it's typical for programs to check isatty() (which uses termios) and set line vs. block buffering 23:51
I'm looking at the libuv docs and they say very little about buffering. I suspect libuv doesn't expect to be used with terminals 23:52
it's all about the sockets >.>
japhb Sigh. 23:53
But in any case, I expected the line v. block buffering. My point was that when Term::termios does .makeraw and goes to non-buffered format, libuv would have to notice that and turn off internal buffering (if it has any), or that operation wouldn't actually do anything useful. 23:54
geekosaur actually it's worse than that 23:55
japhb On the downside, I just tested it ... the MoarVM buffering looking for combining characters is problematic, because it's effectively 'unbuffered, but with a one character delay'
geekosaur if moar is using normal handles for this, libuv is not expecting it; it does not check for tty, it expects you to be using uv_tty_t in that case
geekosaur is reading code presented in github.com/libuv/libuv/issues/852 23:56
japhb looks
geekosaur and yes, if you want raw input you need to disable encoding handling. I didn;t notice a way to do that on the fly with p6 published api
basically its the node devs asking the same question you were :) 23:57
er, node.js
japhb heh
23:58 agentzh joined, cyphase left, lukiramu left, _28_ria left
japhb .ask jnthn is there a way to stop doing encoding handling on $*IN? I want to get truly raw .getc (one character at a time, as soon as the keypress happens), without the delay loop that comes from looking for combining characters .... 23:59
yoleaux japhb: I'll pass your message to jnthn.