»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:03 DarthGan- is now known as DarthGandalf, itaipu left, ceevusee left 00:04 itaipu joined 00:05 p6bannerbot sets mode: +v itaipu 00:08 itaipu left 00:09 itaipu joined 00:10 p6bannerbot sets mode: +v itaipu
buggable New CPAN upload: AttrX-Mooish-v0.2.1.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG 00:11
00:11 itaipu left 00:28 metelik left 00:29 aindilis left
buggable New CPAN upload: AttrX-Mooish-v0.2.2.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG 00:31
00:31 rindolf joined 00:32 p6bannerbot sets mode: +v rindolf 00:52 mst_ joined, p6bannerbot sets mode: +v mst_, samebcha1e joined, Syrup joined 00:53 p6bannerbot sets mode: +v samebcha1e, p6bannerbot sets mode: +v Syrup 00:57 |oLa| left, benjikun left, x[LGWs4x4i]uG2N0 left, robinsmidsrod left, mephinet left, cjkinni left, sacomo left, Grauwolf left, go|dfish left, samebchase left, SyrupThinker left, dotdotdot left, speedChi- left, El_Che left, pierrot left, gfldex left, a3r0 left, japhb left, mst left, [Coke] left, m0ltar left 00:59 benchable6 left, committable6 left, bisectable6 left, benchable6 joined 01:00 p6bannerbot sets mode: +v benchable6, greppable6 left, statisfiable6 left, nativecallable6 left 01:01 nativecallable6 joined, statisfiable6 joined, greppable6 joined, p6bannerbot sets mode: +v nativecallable6 01:02 p6bannerbot sets mode: +v statisfiable6, p6bannerbot sets mode: +v greppable6 01:04 |oLa| joined, benjikun joined, x[LGWs4x4i]uG2N0 joined, robinsmidsrod joined, cherryh.freenode.net sets mode: +vvvv |oLa| benjikun x[LGWs4x4i]uG2N0 robinsmidsrod, mephinet joined, cjkinni joined, sacomo joined, Grauwolf joined, cherryh.freenode.net sets mode: +vvvv mephinet cjkinni sacomo Grauwolf, go|dfish joined, dotdotdot joined, speedChi- joined, El_Che joined, cherryh.freenode.net sets mode: +vvvv go|dfish dotdotdot speedChi- El_Che, pierrot joined, [Coke] joined, gfldex joined, a3r0 joined, cherryh.freenode.net sets mode: +vvvv pierrot [Coke] gfldex a3r0, japhb joined, m0ltar joined, cherryh.freenode.net sets mode: +vv japhb m0ltar, p6bannerbot sets mode: +v mephinet, p6bannerbot sets mode: +v Grauwolf, p6bannerbot sets mode: +v go|dfish, p6bannerbot sets mode: +v pierrot, p6bannerbot sets mode: +v [Coke], lizmat left 01:05 p6bannerbot sets mode: +v |oLa|, p6bannerbot sets mode: +v benjikun, p6bannerbot sets mode: +v x[LGWs4x4i]uG2N0, p6bannerbot sets mode: +v robinsmidsrod, p6bannerbot sets mode: +v cjkinni, p6bannerbot sets mode: +v sacomo, p6bannerbot sets mode: +v dotdotdot, p6bannerbot sets mode: +v speedChi-, p6bannerbot sets mode: +v El_Che, p6bannerbot sets mode: +v gfldex, p6bannerbot sets mode: +v a3r0, p6bannerbot sets mode: +v japhb, p6bannerbot sets mode: +v m0ltar 01:06 yoleaux left 01:09 leedo joined 01:10 p6bannerbot sets mode: +v leedo 01:12 lex joined 01:13 p6bannerbot sets mode: +v lex 01:14 lex is now known as lindylex
lindylex What is back refference in Perrl 6? 01:39
WHat does the variable look like? 01:40
This is what I am trying? say "The first occurrence of a double letter ".match( / :i\w\1+ /, :global);
This returns an empty list : say "The first occurrence of a double letter ".match( / :i\w$0+ /, :global); 01:41
lookatme_q m: say "The first occurrence of a double letter ".match( m:i/ (\w) $0+ /, :global); 01:43
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
Cannot resolve caller match(Str: Nil, :global); none of these …
01:44 rwg2 joined, jeromelanteri joined, p6bannerbot sets mode: +v jeromelanteri
lookatme_q m: say "The first occurrence of a double letter ".match( m:i/ (\w) $0 /, :global); 01:44
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
Cannot resolve caller match(Str: Nil, :global); none of these …
lookatme_q m: say "The first occurrence of a double letter ".match( /:i (\w) $0 /, :global); 01:45
camelia (「cc」
0 => 「c」 「rr」
0 => 「r」 「tt」
0 => 「t」)
lookatme_q lindylex, you should capture them first
m: say "The first occurrence of a double letter ".match( /:i (\w) $0+ /, :global);
camelia (「cc」
0 => 「c」 「rr」
0 => 「r」 「tt」
0 => 「t」)
01:48 rwg2 left
lindylex lookatme_q : thanks! 01:48
lookatme_q m: say "ccc".match( /:i (\w) $0+ /, :global); 01:53
camelia (「ccc」
0 => 「c」)
lookatme_q m: say "ccc" ~~ m:ig/(\w) $0+ /;
camelia 5===SORRY!5=== Error while compiling <tmp>
Adverb ig not allowed on m
at <tmp>:1
------> 3say "ccc" ~~ m:ig/(\w) $0+ /7⏏5;
lookatme_q m: say "ccc" ~~ m:i:g/(\w) $0+ /; 01:54
camelia (「ccc」
0 => 「c」)
lookatme_q lindylex, and it's recommend to using `~~`, the smart match operator
01:56 aborazmeh joined, aborazmeh left, aborazmeh joined, p6bannerbot sets mode: +v aborazmeh
lindylex lookatme_q : is there in any advantage to it over match> 01:56
?
01:56 p6bannerbot sets mode: +v aborazmeh
lookatme_q hmm, easy to type ? 01:56
lindylex Ok
lookatme_q yeah, short than the match, and I think most of people love it 01:57
01:57 bisectable6 joined 01:58 p6bannerbot sets mode: +v bisectable6 02:20 aindilis joined 02:21 p6bannerbot sets mode: +v aindilis 02:23 lindylex left, rouking left 02:25 regreg left 02:30 aborazmeh left 02:37 sftp left, sftp joined, p6bannerbot sets mode: +v sftp 02:42 spycrab0 left 02:56 jelly9 joined 02:58 jelly9 left 03:05 yoleaux joined, ChanServ sets mode: +v yoleaux 03:06 p6bannerbot sets mode: +v yoleaux 03:21 Zen_ joined, p6bannerbot sets mode: +v Zen_ 03:32 Zen_ left 03:35 Zen_ joined 03:36 p6bannerbot sets mode: +v Zen_ 03:49 uzl joined, p6bannerbot sets mode: +v uzl
uzl GN, #perl6! 03:52
03:54 Zen_ left
benjikun night uzl 03:56
uzl Sometime ago I came across a small line of code to get a function's signatures in the REPL. That was pretty neat but I forgot all about it. Any idea of what that might look like? 03:57
03:57 Zen_ joined
uzl Hello, benjikun. 03:57
03:57 p6bannerbot sets mode: +v Zen_ 04:02 MasterDuke left
benjikun uzl: It's just &callable.signature 04:16
docs.perl6.org/type/Signature 04:17
04:22 molaf joined 04:23 p6bannerbot sets mode: +v molaf
uzl I'm pretty sure it looked quite different. For example, if called on join, it would list all join's signatures as listed here (docs.perl6.org/routine/join). 04:25
04:28 Sgeo joined, p6bannerbot sets mode: +v Sgeo 04:30 Sgeo_ left, Zen_ left 04:35 Zen_ joined, p6bannerbot sets mode: +v Zen_ 04:37 molaf left 04:38 vrurg left 04:39 Zen_ left 04:40 vrurg joined, p6bannerbot sets mode: +v vrurg 04:46 uzl left, _uzl joined 04:47 p6bannerbot sets mode: +v _uzl 04:50 _uzl left 04:58 molaf joined, p6bannerbot sets mode: +v molaf 05:02 molaf left, curan joined, p6bannerbot sets mode: +v curan 05:18 vrurg left 05:26 vrurg joined 05:27 p6bannerbot sets mode: +v vrurg 05:33 montag45116 joined 05:38 montag45116 left, jmerelo joined 05:39 stmuk joined, p6bannerbot sets mode: +v jmerelo, p6bannerbot sets mode: +v stmuk 05:40 sauvin joined, p6bannerbot sets mode: +v sauvin 05:41 stmuk_ left
Geth doc: 4db318750f | (David Warring)++ | 3 files
describe .pick(*) as shuffling
05:42
doc: dc5bd2b1bf | (David Warring)++ (committed using GitHub Web editor) | doc/Type/Setty.pod6
typo
synopsebot Link: doc.perl6.org/type/Setty
doc: ba59def9df | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 3 files
Merge pull request #2261 from dwarring/pick-star--aka-shuffle

describe .pick(*) as shuffling
05:53 jmerelo_ joined, p6bannerbot sets mode: +v jmerelo_ 05:54 hami joined, p6bannerbot sets mode: +v hami 05:58 Syrup is now known as SyrupThinker, coltkirk left 06:01 e10 joined 06:03 e10 left 06:13 jmerelo_ left
xinming timotimo: Yesterday, I tried with newest version of rakudo, And I found we that bug is fixed in newest rakudo. 06:13
I mean, I compiled newest rakudo yesterday, and test it today. :-) 06:14
06:16 hami left 06:24 jmerelo left 06:26 vrurg left, metelik joined 06:27 p6bannerbot sets mode: +v metelik 06:38 JJJ joined, p6bannerbot sets mode: +v JJJ
JJJ Hi everyone 06:39
06:39 Zen_ joined
JJJ I think this chatroom is as dead as the perl language 06:40
ouch!
06:40 p6bannerbot sets mode: +v Zen_
SHODAN cool 06:41
benjikun No 06:45
Right now is #perl6's least active time of day
On squashathons / When people need help, people chip in more 06:46
tyil .tell uzl Do you mean .candidates? docs.perl6.org/type/Routine#method_candidates
yoleaux tyil: I'll pass your message to uzl.
tyil its late in USA, but early in EU
and many people are currently moving or attending the perl conference in glasgow 06:47
benjikun ^
lookatme_q JJJ, here is Perl 6
benjikun I'm in the US, but I'm one of the few of North American perl6 users that stay up this late ... lol
JJJ Sorry guys 06:48
benjikun Is there a diagram for all Perl6 types? 06:49
That'd be nice
tyil all types, I dont think so 06:50
benjikun well
I guess we could use the one generated on the `Any` page
tyil you can get the graph for a certain type on its page in the docs
benjikun yeah, I know
It'd be nice to have a big render of all of the main core types
docs.perl6.org/images/type-graph-Any.svg 06:51
tyil yea
I think thats it
was about to post it myself :p 06:52
benjikun Mhm
tyil seems to contain pretty much everything
benjikun Not very appealing zoomed out
contains all of the meta stuff
Geth perl6-most-wanted: e80f400304 | Michael++ (committed using GitHub Web editor) | most-wanted/modules.md
Update modules.md

Removed API::USNavalObservatory from list of Most Wanted Modules, as it is now in the ecosystem.
07:09
07:32 abraxxa joined 07:33 p6bannerbot sets mode: +v abraxxa 07:37 JJJ left
tyil looking through that list of most-wanted, I see File::pushd, and I already have IO::Path::Dirstack, implementing popd/pushd. Perl 5's File::pushd seems to keep a stack for each scope, and resets the stack once the scope is exited 08:04
if anyone can give me pointers how I could do the latter part in Perl 6, I'd gladly implement it in IO::Path::Dirstack 08:05
08:14 Ven` joined 08:15 p6bannerbot sets mode: +v Ven`
benjikun I think you'd have to do some weird wrapping stuff, considering P6 doesn't have a destructor method 08:16
hmm
08:20 stevoo3 joined 08:21 stevoo3 left 08:22 lookatme_q left
tyil I'd probably need something that gets called when a new block is entered, and exited 08:23
08:25 lookatme_q joined 08:26 p6bannerbot sets mode: +v lookatme_q 08:30 xtreak joined 08:31 p6bannerbot sets mode: +v xtreak
benjikun tyil: Yeah :/ 08:31
There's ought to be some way to do it, I'm sure
not coming to my mind though 08:32
tyil same
but if anyone reads this and knows an answer, do let me know :>
or poke me at the perl conf tomorrow
I'll afk for a bit 08:33
08:39 tyil[m] joined, p6bannerbot sets mode: +v tyil[m] 08:55 xtreak left 09:07 metelik left 09:13 robertle joined 09:14 p6bannerbot sets mode: +v robertle 09:19 xtreak joined 09:20 p6bannerbot sets mode: +v xtreak 09:24 stmuk_ joined 09:25 p6bannerbot sets mode: +v stmuk_ 09:26 stmuk left 09:27 pmurias joined 09:28 p6bannerbot sets mode: +v pmurias 09:35 Theking^4 joined 09:36 lizmat joined, Theking^4 left, p6bannerbot sets mode: +v lizmat 09:39 Ven` left 09:48 spycrab0 joined, p6bannerbot sets mode: +v spycrab0 09:53 zakharyas joined 09:54 Kaypie joined, p6bannerbot sets mode: +v zakharyas, p6bannerbot sets mode: +v Kaypie 09:55 xtreak_ joined 09:56 Kaiepi left, p6bannerbot sets mode: +v xtreak_ 09:58 xtreak left 10:00 pmurias left 10:01 pmurias joined, p6bannerbot sets mode: +v pmurias 10:08 Ven` joined 10:09 p6bannerbot sets mode: +v Ven` 10:13 diogenese2 joined 10:17 diogenese2 left 10:21 astj joined, astj left 10:27 lizmat_ joined 10:28 p6bannerbot sets mode: +v lizmat_
lizmat_ and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/08/14/...m-glasgow/ 10:29
10:30 lizmat left, lizmat_ is now known as lizmat 10:37 pmurias left, araraloren joined 10:38 p6bannerbot sets mode: +v araraloren
araraloren so the spam robots will try to send message when they join the channel ? 10:39
10:40 pmurias joined 10:41 p6bannerbot sets mode: +v pmurias
Altreus lizmat: is there inherent value in linking to a reddit link to medium? 10:45
I don't know how to make that question not sound snarky
sorry -_-
lizmat Altreus: not sure what you're referring to
10:45 pmurias left
lizmat don't know how not to sound dumb :-) 10:45
10:46 pmurias joined
Altreus the link Small stuff #5: Gather around, it’s time to get lazy (…but why?) by Jo Christian Oterhals links to reddit 10:46
but that just links to medium
lizmat ah... copy_pasto
Altreus it's medium.com/@jcoterhals/perl-6-smal...20fdb18a3b
lizmat will fix
Altreus :)
I wondered if maybe you meant to link to the comments thread
10:46 p6bannerbot sets mode: +v pmurias
Altreus the web is way more confusing than it once was 10:47
10:49 coltkirk joined 10:50 p6bannerbot sets mode: +v coltkirk
lizmat yeah... and I'm suffering from an oncoming flu as well.. so I'll be going back to bed for some more rest shortly 10:50
Altreus oh no 10:52
get well soon!
or else :P
lizmat :-)
aye aye!
afk& 10:54
11:03 pmurias left 11:05 pmurias joined 11:06 p6bannerbot sets mode: +v pmurias
Altreus we're making a discord bot framework called Yxmi and I can't decide whether it should be Discord::Yxmi, Bot::Discord::Yxmi, Framework::Discord::Yxmi, or other 11:10
Bot:: has perl5 precedence but it's not a runnable bot
well I guess it could be
I think I answered my own question 11:11
;d
:D
xq Discord::Bot::Yxmi
11:12 itaipu joined 11:13 p6bannerbot sets mode: +v itaipu 11:19 itaipu left 11:20 itaipu joined, p6bannerbot sets mode: +v itaipu 11:23 pmurias left 11:24 shareable6 joined 11:25 p6bannerbot sets mode: +v shareable6 11:26 itaipu left
Altreus really? :x 11:27
11:27 itaipu joined
Altreus is there prior art for Tech::Wossname::Name as opposed to Wossname::Tech::Name? 11:27
11:27 p6bannerbot sets mode: +v itaipu
tadzik hmm 11:28
github.com/tadzik/Geo-Coder-OpenCage is the opposite prior art by yours truly :)
11:28 regreg joined, pmurias joined
tadzik then again, it's not uncommon for "named" frameworks to just have their own namespace 11:29
you don't have WWW::Framework::Catalyst
11:29 p6bannerbot sets mode: +v regreg, p6bannerbot sets mode: +v pmurias
pmurias with frameworks having cute names instead of sensible hierarchical ones kind of makes sense because a whole lot of them are contending for the same spot 11:31
11:32 lizmat left 11:35 itaipu left 11:36 itaipu joined, p6bannerbot sets mode: +v itaipu 11:39 itaipu left 11:40 itaipu joined 11:41 titsuki joined, itaipu_ joined, p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v titsuki, p6bannerbot sets mode: +v itaipu_ 11:43 itaipu left, itaipu_ left 11:46 itaipu joined, itaipu_ joined, itaipu left 11:47 p6bannerbot sets mode: +v itaipu_, itaipu_ left 11:48 Zen_ left, Zen joined 11:49 Zen is now known as Guest32749, p6bannerbot sets mode: +v Guest32749 11:51 itaipu joined
sjn 11:51
11:51 itaipu_ joined
sjn is looking forward to the Perl Conference in Glasgow :) 11:51
11:51 p6bannerbot sets mode: +v itaipu 11:52 p6bannerbot sets mode: +v itaipu_, itaipu_ left, Guest32749 left 11:53 itaipu left 11:55 itaipu joined 11:56 itaipu_ joined, p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_, itaipu left 11:57 itaipu_ left 12:01 itaipu joined, itaipu_ joined, p6bannerbot sets mode: +v itaipu 12:02 p6bannerbot sets mode: +v itaipu_ 12:03 itaipu left, itaipu_ left, xtreak joined 12:04 xtreak left 12:06 itaipu joined, itaipu_ joined, p6bannerbot sets mode: +v itaipu, xtreak_ left 12:07 p6bannerbot sets mode: +v itaipu_, itaipu left, itaipu_ left 12:11 itaipu joined, itaipu_ joined, p6bannerbot sets mode: +v itaipu 12:12 p6bannerbot sets mode: +v itaipu_ 12:14 itaipu left 12:15 pmurias left, itaipu_ left 12:16 itaipu joined, itaipu_ joined 12:17 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_, itaipu_ left 12:18 itaipu left 12:19 pmurias joined 12:20 p6bannerbot sets mode: +v pmurias 12:21 itaipu joined, itaipu_ joined 12:22 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_ 12:23 lizmat joined, itaipu left, itaipu_ left, p6bannerbot sets mode: +v lizmat 12:26 itaipu joined, itaipu_ joined 12:27 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_, itaipu_ left, itaipu left 12:29 Kaypie left 12:31 itaipu joined, itaipu_ joined 12:32 p6bannerbot sets mode: +v itaipu, regreg left, p6bannerbot sets mode: +v itaipu_, itaipu_ left, itaipu left, Ven` left 12:36 itaipu joined, itaipu_ joined, p6bannerbot sets mode: +v itaipu 12:37 p6bannerbot sets mode: +v itaipu_ 12:38 itaipu left, itaipu_ left 12:41 itaipu joined, regreg joined, itaipu_ joined, p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v regreg 12:42 p6bannerbot sets mode: +v itaipu_, itaipu left 12:43 itaipu_ left 12:46 itaipu joined, itaipu_ joined, araraloren_ joined, p6bannerbot sets mode: +v itaipu 12:47 p6bannerbot sets mode: +v itaipu_, p6bannerbot sets mode: +v araraloren_, pmurias left, itaipu_ left, itaipu left 12:48 pmurias joined 12:49 araraloren left, p6bannerbot sets mode: +v pmurias 12:51 w_richard_w joined, itaipu joined, itaipu_ joined
Altreus tadzik: right, but this is a new ecosystem so we can start doing it right 12:51
12:51 jeromelanteri left 12:52 p6bannerbot sets mode: +v w_richard_w, p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_, itaipu_ left, itaipu left 12:56 itaipu joined, itaipu_ joined 12:57 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_, Kaiepi joined 12:58 itaipu_ left 12:59 diakopter left, itaipu left 13:00 Ven` joined 13:01 p6bannerbot sets mode: +v Ven`, itaipu joined, araraloren_ left
pmurias Altreus: Geo::Coder::OpenCage seems to make more sense then OpenCage::Geo::Coder 13:01
13:01 itaipu_ joined 13:02 araraloren_ joined, p6bannerbot sets mode: +v itaipu
pmurias Altreus: especially if all the Geo::Coder::* modules have compatible API 13:02
13:02 p6bannerbot sets mode: +v itaipu_, itaipu_ left, p6bannerbot sets mode: +v araraloren_, itaipu left 13:06 itaipu joined, itaipu_ joined 13:07 p6bannerbot sets mode: +v itaipu
tadzik Altreus: true 13:07
13:07 itaipu left, p6bannerbot sets mode: +v itaipu_, itaipu_ left 13:11 itaipu joined, itaipu_ joined 13:12 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_, itaipu left 13:13 itaipu_ left, diakopter joined, p6bannerbot sets mode: +v diakopter 13:16 itaipu joined, itaipu_ joined 13:17 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_ 13:19 itaipu_ left, itaipu left 13:21 itaipu joined, itaipu_ joined 13:22 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_ 13:23 vrurg joined, p6bannerbot sets mode: +v vrurg, itaipu left 13:24 itaipu_ left 13:26 itaipu joined, itaipu_ joined 13:27 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_ 13:28 alexghacker left, skids joined, itaipu left, itaipu_ left 13:29 p6bannerbot sets mode: +v skids 13:31 itaipu joined, itaipu_ joined 13:32 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_ 13:33 itaipu left, itaipu_ left 13:36 itaipu joined, itaipu_ joined 13:37 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_ 13:38 regreg left, itaipu left 13:41 itaipu joined 13:42 Zen_ joined, p6bannerbot sets mode: +v itaipu, itaipu_ left 13:43 p6bannerbot sets mode: +v Zen_, itaipu_ joined, alexghacker joined 13:44 p6bannerbot sets mode: +v itaipu_, itaipu left, regreg joined, p6bannerbot sets mode: +v alexghacker, itaipu_ left 13:45 p6bannerbot sets mode: +v regreg 13:46 itaipu joined 13:47 p6bannerbot sets mode: +v itaipu 13:48 itaipu_ joined, itaipu left 13:49 p6bannerbot sets mode: +v itaipu_ 13:51 itaipu joined 13:52 itaipu_ left, p6bannerbot sets mode: +v itaipu 13:53 itaipu left, itaipu joined 13:54 p6bannerbot sets mode: +v itaipu 13:55 curan left, itaipu left 13:56 itaipu joined 13:57 p6bannerbot sets mode: +v itaipu 13:58 itaipu_ joined 13:59 p6bannerbot sets mode: +v itaipu_, Zen_ left, itaipu_ left, lizmat left, Zen_ joined 14:00 p6bannerbot sets mode: +v Zen_ 14:01 zakharyas left, zakharyas joined 14:02 itaipu left, p6bannerbot sets mode: +v zakharyas, itaipu joined 14:03 itaipu_ joined, p6bannerbot sets mode: +v itaipu, itaipu left 14:04 p6bannerbot sets mode: +v itaipu_ 14:05 itaipu_ left 14:06 zakharyas left 14:07 itaipu joined 14:08 p6bannerbot sets mode: +v itaipu, itaipu_ joined 14:09 p6bannerbot sets mode: +v itaipu_, itaipu left 14:10 itaipu_ left 14:11 C0c0dril011 joined 14:12 C0c0dril011 left, itaipu joined 14:13 p6bannerbot sets mode: +v itaipu, itaipu_ joined 14:14 p6bannerbot sets mode: +v itaipu_, itaipu left 14:15 itaipu_ left 14:17 itaipu joined 14:18 p6bannerbot sets mode: +v itaipu, itaipu left, itaipu joined, w_richard_w left 14:19 p6bannerbot sets mode: +v itaipu 14:20 itaipu left 14:22 itaipu joined 14:23 p6bannerbot sets mode: +v itaipu, itaipu_ joined 14:24 p6bannerbot sets mode: +v itaipu_, itaipu left, Ven` left 14:25 itaipu_ left 14:27 vrurg left, itaipu joined 14:28 p6bannerbot sets mode: +v itaipu, vrurg joined, itaipu_ joined 14:29 p6bannerbot sets mode: +v vrurg, itaipu left, p6bannerbot sets mode: +v itaipu_ 14:30 itaipu_ left 14:32 itaipu joined 14:33 p6bannerbot sets mode: +v itaipu, itaipu_ joined 14:34 itaipu left, p6bannerbot sets mode: +v itaipu_ 14:37 itaipu joined 14:38 p6bannerbot sets mode: +v itaipu 14:39 itaipu_ left, itaipu_ joined, Zen_ left 14:40 Zen_ joined, itaipu left, p6bannerbot sets mode: +v itaipu_ 14:41 p6bannerbot sets mode: +v Zen_, itaipu_ left, Khisanth left 14:42 theWhisper_26 joined, itaipu joined 14:43 theWhisper_26 left, p6bannerbot sets mode: +v itaipu 14:44 itaipu left, itaipu joined 14:45 p6bannerbot sets mode: +v itaipu 14:46 itaipu left 14:47 itaipu joined 14:48 p6bannerbot sets mode: +v itaipu 14:49 itaipu_ joined 14:50 p6bannerbot sets mode: +v itaipu_ 14:51 itaipu_ left 14:54 Khisanth joined 14:55 itaipu_ joined, p6bannerbot sets mode: +v Khisanth, p6bannerbot sets mode: +v itaipu_
itaipu p6: say 3; 14:57
camelia 3
14:59 itaipu_ left, itaipu left, itaipu joined 15:00 itaipu_ joined, p6bannerbot sets mode: +v itaipu 15:01 p6bannerbot sets mode: +v itaipu_
araraloren_ How can I call a method in a base role ? 15:04
jnthn self.RoleName::method() 15:05
moritz self.method or self.Role::method
araraloren_ m: role B { method f() { "called".say; }; }; class C does B { method f() { "IN C".say; self.B::f(); }; }; C.new.f
camelia IN C
called
araraloren_ I mean this
m: role B { method f() { "called".say; }; }; class C does B { method f() { "IN C".say; self.f(); }; }; C.new.f
camelia (timeout)IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C
IN C…
15:06
araraloren_ I implement a new version in C, but I want call the f in B
Is this the only way ?
why nextsame is not working
m: role B[::T] { method f() { "called".say; }; }; class C does B[Int] { method f() { "IN C".say; self.B[Int]::f(); }; }; C.new.f 15:07
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3 { method f() { "IN C".say; self.B[Int]:7⏏5:f(); }; }; C.new.f
expecting any of:
colon pair
araraloren_ And Is there a way call the method of a paramterized role
15:07 MilkmanDan left
araraloren_ m: role B[::T] { method f() { "called".say; }; }; class C does B[Int] { method f() { "IN C".say; self.^roles[0].f(); }; }; C.new.f 15:08
camelia IN C
called
araraloren_ m: role B[::T] { method f() { dd self; "called".say; }; }; class C does B[Int] { method f() { "IN C".say; self.^roles[0].f(); }; }; C.new.f
camelia IN C
B[Int]
called
15:08 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan
araraloren_ m: role B { method f() { dd self; "called".say; }; }; class C does B { method f() { "IN C".say; self.B::f(); }; }; C.new.f 15:08
camelia IN C
C.new
called
araraloren_ seems like not working 15:09
15:09 itaipu left, itaipu joined 15:10 p6bannerbot sets mode: +v itaipu
jnthn m: role B[::T] { method f() { "called".say; }; }; my constant \BInt = B[Int]; class C does BInt { method f() { "IN C".say; self.BInt::f(); }; }; C.new.f 15:10
camelia IN C
called
15:10 Zen__ joined
jnthn You just need to arrange of a syntactically valid name to use in the qualified call 15:11
*for a
15:11 itaipu_ left
araraloren_ oh, great 15:11
thanks jnthn
15:11 p6bannerbot sets mode: +v Zen__, itaipu_ joined
jnthn And nextsame won't do it because roles do flattening composition, not inheritance 15:12
15:12 p6bannerbot sets mode: +v itaipu_
jnthn So from a dispatch point of view it's as if the role method never existed if it's replaced. 15:12
araraloren_ so, where the method f in the role ?
we have a f in C, where the method f in B ?
jnthn In what sense? For introspection? 15:13
15:13 Zen_ left
jnthn Roles are generic, and are made concrete per composition 15:13
The concretizations are stored in the meta-object for the class 15:14
That's how they are resolved to the self.Foo::bar calling form
araraloren_ I just curious :)
jnthn We can't actually call the method declared in the role directly because it's generic
15:14 itaipu left
araraloren_ oh 15:14
jnthn So there's quite a bit going on behind the scenes to make self.SomeRole::foo work 15:15
araraloren_ sounds cool
jnthn (Though thankfully since I stuck a spesh plugin there to optimize it, the calls are actually fast, whereas a few months ago they were 12x slower than normal method calls :))
15:15 itaipu joined 15:16 p6bannerbot sets mode: +v itaipu
araraloren_ yeah, I have seen the post long time ago :) 15:17
great job, jnthn ++
15:17 itaipu_ left 15:18 itaipu left, itaipu_ joined 15:19 AlexDaniel` left, AlexDaniel` joined, moon.freenode.net sets mode: +v AlexDaniel`, p6bannerbot sets mode: +v AlexDaniel`, p6bannerbot sets mode: +v itaipu_ 15:20 itaipu joined 15:21 p6bannerbot sets mode: +v itaipu 15:22 itaipu_ left 15:23 araraloren_ left, itaipu_ joined 15:24 p6bannerbot sets mode: +v itaipu_ 15:26 itaipu_ left
El_Che spam seems to be gone for now 15:28
15:28 itaipu_ joined 15:29 p6bannerbot sets mode: +v itaipu_, itaipu left 15:30 itaipu_ left, itaipu joined, mcmillhj joined, robertle left 15:31 strengthen joined, mcmillhj left, p6bannerbot sets mode: +v itaipu 15:32 itaipu left 15:33 itaipu joined 15:34 p6bannerbot sets mode: +v itaipu 15:35 itaipu left, strengthen left, itaipu joined 15:36 p6bannerbot sets mode: +v itaipu, Zen__ left 15:37 itaipu left 15:38 itaipu joined 15:39 itaipu left 15:40 itaipu joined 15:41 p6bannerbot sets mode: +v itaipu, mst_ is now known as mst, Guest19967 joined 15:42 kloeri23 joined 15:43 itaipu_ joined, itaipu left 15:44 p6bannerbot sets mode: +v itaipu_ 15:45 itaipu_ left, Guest19967 left, itaipu joined 15:46 p6bannerbot sets mode: +v itaipu 15:47 kloeri23 left, zakharyas joined 15:48 p6bannerbot sets mode: +v zakharyas, itaipu_ joined 15:49 p6bannerbot sets mode: +v itaipu_, itaipu left 15:54 MilkmanDan left 15:56 Ven` joined, p6bannerbot sets mode: +v Ven` 15:59 abraxxa left 16:00 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan 16:05 regreg left 16:06 zakharyas left
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Cordova-0.0.6.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK 16:11
16:13 caa51h joined 16:14 ensyde joined, p6bannerbot sets mode: +v caa51h, ensyde left 16:24 lucasb joined 16:25 p6bannerbot sets mode: +v lucasb 16:26 leah2 left 16:29 leah2 joined, p6bannerbot sets mode: +v leah2 16:30 Xliff left 16:46 Xliff joined 16:47 p6bannerbot sets mode: +v Xliff
Xliff \o 16:48
Does anyone know how a NativeCall binding to a va_list parameter would work? 16:49
16:49 robertle joined 16:50 p6bannerbot sets mode: +v robertle
Juerd Whoa :) 16:51
Xliff Juerd: ? 16:53
Juerd Xliff: Ambitious :)
Xliff Oh. va_list?
Juerd Yea
Xliff I don't think I can do it natively.
It would have to be a NativeCall mechanism.
mainly because everything I've seen says that va_list needs macros va_start and va_end and so on. 16:54
So after thunking on it (LOL) this might need to be a MoarVM thing.
Juerd: Can't write bindings for some of the features in GTK without it. GTKListStore for example. 16:55
Juerd I understand 16:56
Xliff So, I take it no one has tackled this? 16:57
Geth ecosystem: 190a8350f0 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Move Toaster to p6cm
tobs Xliff: fwiw I remember it being discussed recently colabti.org/irclogger/irclogger_log...06-17#l683 16:58
Xliff tobs++
LOL! I was actually online and idle at that point. 17:03
Why can't MoarVM wrap va_start and va_end? 17:04
va_list, va_start and va_end are defines, and couldn't a function match those? 17:05
Might be interesting to try and compile an .so and see if that works.
17:06 w_richard_w joined
timotimo difficult to use a function for that because you call a function, and that gives you a call frame for that rather than the callframe for the function you're using the va_ functions from 17:07
17:07 p6bannerbot sets mode: +v w_richard_w 17:10 w_richard_w left, w_richard_w joined
Xliff OK. I will have to look around and see if there are alternatives in the GTK spec. 17:10
Thanks.
17:11 w_richard_w left 17:12 itaipu_ left, AlexDaniel left
b2gills m: use NativeCall; sub c-printf-II (Str,int32,int32 --> int32) is native is symbol<printf> {}; c-printf-II('%d/%d',1,3) 17:13
camelia 1/3
17:17 itaipu joined 17:18 cjkinni left, p6bannerbot sets mode: +v itaipu, cjkinni joined 17:19 p6bannerbot sets mode: +v cjkinni, itaipu_ joined 17:20 p6bannerbot sets mode: +v itaipu_, cjkinni left 17:23 telnet left 17:26 lizmat joined 17:27 p6bannerbot sets mode: +v lizmat 17:34 Maven_ joined, Maven_ left, inbioz joined 17:35 p6bannerbot sets mode: +v inbioz 17:39 thomasb9511 joined 17:41 ZLSA19 joined 17:42 thomasb9511 left, p6bannerbot sets mode: +v ZLSA19 17:43 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 17:44 sumandoc joined, p6bannerbot sets mode: +v sumandoc 17:45 lucasb left 17:46 ZLSA19 left
sumandoc Here is gist with C file containing 3 functions. When I write functions with nativecall in perl 6, for each function I am doing "is native(shared_library)". Is there any way to avoid doing this duplication 17:46
gist.github.com/sumandoc/8b20c1b0e...671833974f
17:47 lizmat left
sumandoc Everytime for each function I have to write "is native trait" for each function. 17:47
jnthn Declare a constant to hold shared_library and use the constant
17:48 MilkmanDan left
sumandoc jnthn Still after declaring constant, is native trait will be in each function. 17:50
17:50 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan
sumandoc jnthn Any link I can look for this? 17:50
xinming m: my $x; $x ~~ 20|rx/3\d/ 17:51
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
xinming m: (20 ~~ 20|rx/3\d/).say; 17:52
camelia True
xinming m: (30 ~~ 20|rx/3\d/).say;
camelia True
xinming m: (40 ~~ 20|rx/3\d/).say;
camelia False
17:57 molaf joined, p6bannerbot sets mode: +v molaf 18:04 Kaiepi left, sumandoc left 18:11 jcline2 joined 18:15 inbioz left, inbioz joined 18:16 p6bannerbot sets mode: +v inbioz 18:17 benoliver99923 joined, jcline2 left 18:18 benoliver99923 left 18:20 inbioz left 18:27 sauvin left 19:04 xinming_ joined 19:05 p6bannerbot sets mode: +v xinming_ 19:07 xinming left
SmokeMachine m: say False ?? "foi!!" # is this a LTA error? 19:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Your !! was gobbled by the expression in the middle; please parenthesize
at <tmp>:1
------> 3 False ?? "foi!!" # is this a LTA error?7⏏5<EOL>
19:19 committable6 joined, p6bannerbot sets mode: +v committable6 19:25 zakharyas joined, |oLa| left, p6bannerbot sets mode: +v zakharyas
geekosaur yes, its guessing wrongly as to the cause of the syntax error 19:39
buggable New CPAN upload: Test-HTTP-Server-0.3.0.tar.gz by SCIMON modules.perl6.org/dist/Test::HTTP::...pan:SCIMON 19:41
19:45 colomon left 19:57 coltkirk left 20:05 Kaiepi joined 20:06 p6bannerbot sets mode: +v Kaiepi 20:08 dct joined, p6bannerbot sets mode: +v dct 20:25 Ven` left 20:31 zakharyas left 20:36 acerbic0 joined 20:37 lizmat joined, acerbic0 left 20:38 p6bannerbot sets mode: +v lizmat
Geth doc: 81678327ad | (JJ Merelo)++ | doc/Type/Iterable.pod6
Reflows, add markup
20:41
synopsebot Link: doc.perl6.org/type/Iterable
doc: 5a3133bc02 | (JJ Merelo)++ | 3 files
Minor changes and reflow
xinming_ What are the differences between callwith and samewith?
20:42 Ven` joined
timotimo one calls, the other more or less "gotos"s 20:42
so a "callwith" will return 20:43
20:43 p6bannerbot sets mode: +v Ven` 20:47 Ven` left
Altreus I seem to have come a cropper of the fact that two enums in the same scope have to have unique member names 20:49
I sort of assumed the symbols defined by the enum would be sort of namespaced to the enum
so enum Foo ( <quux quack> ) would be referred to as Foo::quux 20:50
timotimo i think it's magical; if you use them without their namespace they get exported if there's no conflict? or something?
m: enum Foo <quux quack>; say MY::.keys
camelia (quack $?PACKAGE $=pod $=finish $/ ::?PACKAGE !UNIT_MARKER Foo quux $¢ $! $_ EXPORT GLOBALish)
timotimo m: enum Foo <quux quack>; enum Bar <quux qook>; say MY::.keys
camelia Potential difficulties:
Redeclaration of symbol 'quux'
at <tmp>:1
------> 3m Foo <quux quack>; enum Bar <quux qook>7⏏5; say MY::.keys
($/ quack quux qook Foo $=finish $=pod !UNIT_MARKER $¢ Bar $! $_ EXPORT ::?PACKAGE GLOBALi…
timotimo oh, ok
xinming_ Is it possible to manually get the nextsame code? 20:57
20:57 Coffee-N-Donuts joined, p6bannerbot sets mode: +v Coffee-N-Donuts
xinming_ I mean, get the ref to it, then, later, we call it by hand. 20:57
timotimo hm, i don't think so. what happens if you just return a block that does "nextsame"? 20:58
xinming_ I'll try. 20:59
Because I found, that when we use next same, it seems, rakudo get mixed with next method where I take the snapshot. 21:00
I mean, where I do the next same, It just get skipped
Altreus I suppose I just ... add a prefix to all the names :s 21:01
I don't want weird, inconsistent ones
xinming_ timotimo: I can now get the ideas of callwith nextwith callsame samewith 21:02
callsame/nextsame callwith/nextwith But still in confusion about the samewith
21:03 Ven` joined, skids left, p6bannerbot sets mode: +v Ven`
xinming_ It's the bug in newest rakudo. 21:05
after downgrade, It worked fine.
Hope to see 2018.08 to be released soon 21:06
21:07 Ven` left
timotimo Altreus: you can put them in a package of your own 21:09
hm, do anonymous enums exist 21:10
Altreus they're "my" enums in a class
timotimo m: enum :: <foo bar>;
camelia ( no output )
timotimo cool.
m: package Foo { enum :: <foo bar> }; package Bar { enum :: <foo boo> }; say Foo::foo; say Bar::foo
camelia foo
foo
timotimo m: package Foo { enum :: <foo bar> }; package Bar { enum :: <foo boo> }; say Foo::foo.^longname; say Bar::foo.^longname 21:11
camelia No such method 'longname' for invocant of type 'Perl6::Metamodel::EnumHOW'
in block <unit> at <tmp> line 1
timotimo m: package Foo { enum :: <foo bar> }; package Bar { enum :: <foo boo> }; say Foo::foo.^long_name; say Bar::foo.^long_name
camelia No such method 'long_name' for invocant of type 'Perl6::Metamodel::EnumHOW'
in block <unit> at <tmp> line 1
timotimo i thought this was a thing that exists
anyway, Altreus, this ought to help
xinming_: i'm not sure what bug you mean, can you show a short piece of code for the bug? 21:12
21:14 dct left
Altreus oh I see 21:17
can I have 'my package' or is 'package X {...}' sufficient?
21:18 itaipu_ left, regreg joined
jnthn xinming_: there's nextcallee if you want to get the thing nextsame would go to 21:18
21:18 itaipu left
timotimo ooooh 21:19
21:19 p6bannerbot sets mode: +v regreg
timotimo i thought i remembered something like that, but then i assumed i was just thinking of "lastcall" 21:19
21:20 itaipu joined, itaipu_ joined, itaipu left 21:21 p6bannerbot sets mode: +v itaipu_
Altreus Why doesn't this DWIM? Type check failed in assignment to $!id; expected Int but got Str ("269438629775015936") 21:21
Didn't think perl6 suffered from too-big ints so it won't be that surely
21:22 itaipu_ left
jnthn Int is a types are constraints, not a coercion 21:23
Altreus sure but since there exists a coercion I anticipated that it would use it 21:24
Can I get it to use it by magic? :)
b2gills m: constant Foo := do { enum Foo < quux quack >; Foo }; constant Bar := do { enum Bar ( quux => 2, quack => 3 ); Bar }; say Foo::quux ~~ Foo 21:25
camelia True
21:25 ChoHag_ joined, itaipu joined, itaipu_ joined, p6bannerbot sets mode: +v ChoHag_ 21:26 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_
Altreus cos I'm just trying to inflate from JSON and it would be handy if it tried to coerce the stuff I pass to the constructor before it complains about the structure 21:26
Otherwise I have to manually convert all the types
21:26 itaipu left
Altreus :s 21:26
jnthn You can write something like submethod TWEAK(Int() :$!foo) { } or some such 21:27
Which asks for it and does it fairly declaratively
21:27 ChoHag left
Altreus hmm, that's almost worse, given how many properties the class has 21:27
What's the difference between Int and Int() there? 21:28
21:29 itaipu_ left
b2gills Int() is short for Int(Any), it coerces an Any to an Int 21:29
Altreus o
21:30 itaipu joined, itaipu_ joined 21:31 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_
b2gills m: my Any $Any = '123'; dd Int( $Any ); # it resembles this 21:32
camelia 123
21:33 itaipu left, itaipu_ left 21:35 itaipu joined, itaipu_ joined 21:36 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v itaipu_, itaipu left 21:39 itaipu_ left 21:40 itaipu joined
Altreus is there a rationale behind these being constraints but not coercions? 21:40
21:40 itaipu_ joined
Altreus It seems to make everything super verbose by not coercing things before complaining about them 21:40
Especially trivial conversions we're used to from perl5 21:41
21:41 p6bannerbot sets mode: +v itaipu, itaipu left, p6bannerbot sets mode: +v itaipu_, itaipu_ left
jnthn Isn't it more that you're choosing to make things more verbose by putting in type constraints, while if you left them out then things would just coerce on demand when you do math on them anyway? 21:43
Altreus not every type constraint is a primitive type 21:44
Some of them are enums
kinda the point of them is to make sure the object is sane before you even try to use it
but if you happen to pass a string where an int was wanted, languages called perl oughtn't complain :P
AlexDaniel xinming_: “It's the bug in newest rakudo” – what's the bug? 21:45
xinming_: is it fixed on HEAD?
jnthn sighs
Altreus I suppose I don't have any type constraints that are particularly needed but that I don't coerce manually anyway 21:46
hmm
fine you win xD
jnthn is always right
when will I learn
hmm although "0" is true huh 21:48
21:48 diakopter left
Altreus ah but the JSON might be a boolean anyway 21:48
hope so or else
jnthn I'm curious, are the integers actually stored as strings in the json?
Altreus yes, because some languages might trip up over them
jnthn Ah
Altreus the doc explicitly says that's the reason
jnthn Due to size?
Altreus indeed
AlexDaniel interesting :) 21:49
timotimo oh, big ints
jnthn In the future we'd like to make it so you can write has Int() $.x; fwiw 21:50
Which'd make things rather less verbose
AlexDaniel … I write that every now and then somehow expecting it to work :)
timotimo it might not be a very hard implementation
jnthn It's a bit tricky, but worse, it's right on a really hot path 21:51
Oh!
timotimo but we code-gen buildplans :)
jnthn But actually...I re-did assignment recently :D
Altreus that would be fairly grand
timotimo :D
jnthn No, it's actually part of assignment
timotimo ah
yeah, right, that makes sense
Altreus but for now the constraints aren't too important indeed
jnthn But because I re-did assignemnt with a spesh plugin of late...we actually get a way to implement it *without* hosing performance :D
AlexDaniel btw it doesn't say that it is NYI
jnthn So yeah, we can probably have that soon :) 21:52
AlexDaniel: that's a bit LTA
AlexDaniel m: class Foo { has Int() $x }
camelia 5===SORRY!5=== Error while compiling <tmp>
Coercion Int(Any) is insufficiently type-like to qualify a variable
at <tmp>:1
------> 3class Foo { has Int() $x 7⏏5}
expecting any of:
constraint
AlexDaniel “is insufficiently type-like to qualify a variable” yeah thanks that's extremely clear :)
jnthn Oh, I thought you meant it's not an error 21:53
OK, now I'm less worried :)
21:54 molaf left 21:58 rindolf left
buggable New CPAN upload: Sparrowdo-0.0.40.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo:cpan:MELEZHIK 22:01
mempko what's the best way to assign a default to a variable if a key does not exist, otherwise assign the value of the key? 22:14
or even more general would be, assign value of variable if it is defined, otherwise assign a default 22:15
my $var = $some-undefined-var ?? $some-undefined-var !! 0;
AlexDaniel my $var = $some-undefined-var // 0; 22:16
m: my $some-undefined-var; my $var = $some-undefined-var // 0; say $var
camelia 0
AlexDaniel m: my $some-undefined-var = 42; my $var = $some-undefined-var // 0; say $var
camelia 42
AlexDaniel if a key does not exist? So it's a hash? 22:17
m: my %h = b => 50; %h<a> //= 42; %h<b> //= 42; say %h 22:18
camelia {a => 42, b => 50}
mempko nice! thanks Alex! exactly what I was looking for 22:19
Juerd my $some-undefined-var = 42; # Not a very good example of an undefined var :D
mempko I love this language. It has replaced my day to day perl5, python, and other scripting needs. 22:20
Juerd mempko: Before this, how did you decide between perl5 and python?
mempko in reality I rarely used python. Usually only when someone else used python and I needed to use it. 22:22
I'm mostly working in C++ day to day, and perl6 has quickly become #2 for me. #3 is javascript. 22:23
22:23 Kaiepi left
mempko The most interesting thing I use perl6 for is writing simulations. It's parallel compute primitives are so nice, so my cores get a good work out. 22:24
Juerd Do you find switching between languages easy to do? For me, such context switches can really throw me off.
mempko I've been programming for 22+ years so a lot of stuff is muscle memory really. Perl6 has not infested enough of my brain that it's become natural. But I still have to do a lot of doc lookups for it. 22:26
now*
Juerd Same here, but my muscle memory always seems to tuned to the language I'm not currently using :)
mempko what pulled me in was Grammars, and what kept me was the insanely awesome type system and multi-proc model. 22:27
22:27 Kaiepi joined
mempko I'm starting to get offended that other languages don't care about being as fun and usable as perl6 seems to be. 22:27
22:28 p6bannerbot sets mode: +v Kaiepi
Juerd Finally there's a language for non-masochists :D 22:29
lizmat m: my %h is default 42; say %h<a> # mempko 22:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my %h is default7⏏5 42; say %h<a> # mempko
expecting any of:
constraint
infix
infix stopper
postfix
lizmat m: my %h is default(42); say %h<a> # mempko
camelia 42
lizmat m: my %h is default(42); say %h<a>:exists; say %h<a> 22:31
camelia False
42
jnthn Juerd: Only if you're not one of the folks implementing it ;) 22:35
Juerd jnthn: Aww 22:36
jnthn: I had no idea it'd hurt. Thanks for the sacrifice, though :D 22:37
mempko I always found there is a direct correlation between ease of use and difficulty implementing the software. 22:41
timotimo i think there's an inflection point towards one end where the easiest to implement are also the easiest to use 22:42
mempko If it's insane to implmenent, that's a good sign it might be user friendly.
22:43 regreg left
timotimo like, implementing cat for example 22:55
i would have said "true", but i hear it's a hundred line file
23:09 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 23:10 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 23:31 regreg joined 23:32 p6bannerbot sets mode: +v regreg
Kaiepi net::icmp is nuts to implement 23:33
i have to do it mostly in c since io::socket::inet doesn't really support IPPROTO_ICMP and i have to write 3 different implementations for bsd, linux, and windows 23:34
no clue what i'm gonna do for windows since it handles it entirely different from bsd and linux
i can definitely implement ping for windows but idk how i'll be able to implement the rest of the icmp messages 23:37
timotimo .o( does SDL_Net support ICMP? )
23:37 DarthGandalf left 23:38 DarthGandalf joined, p6bannerbot sets mode: +v DarthGandalf, pmurias left
benjikun Kaiepi: hmm 23:46
maybe ping by itself would be okay, on the wanted list it just specifies "ping" i think
Kaiepi it doesn't look like SDL_Net supports ICMP timotimo 23:48
timotimo i feared as much 23:49
Kaiepi then that's doable benjikun 23:50
benjikun thanks for still working on this :) 23:53