»ö« 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 |