»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
dalek kudo-star-daily: 7cfed4d | coke++ | log/ (13 files):
today (automated commit)
00:10
rl6-roast-data: de52682 | coke++ | / (6 files):
today (automated commit)
vendethiel m: for <a b c d e f> { .say if 'a' ff 'e'; }; # shouldn't work, right ? 00:12
camelia rakudo-moar 847bd5: OUTPUT«a␤b␤c␤d␤e␤f␤»
vendethiel m: for <a b c d e f> { .say when 'a' ff 'e'; }; # but does this ... ?
camelia rakudo-moar 847bd5: OUTPUT«===SORRY!===␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤»
vendethiel m: for <a b c d e f> { .say with 'a' ff 'e'; }; # but does this ... ? 00:13
camelia rakudo-moar 847bd5: OUTPUT«===SORRY!=== Error while compiling /tmp/6lLaj0fqyR␤Two terms in a row␤at /tmp/6lLaj0fqyR:1␤------> for <a b c d e f> { .say ⏏with 'a' ff 'e'; }; # but does this ... ␤ expecting any of:␤ method argu…»
masak having `.say when 'a' ff 'e'` work would solve oodles of use cases. 00:18
vendethiel I think so.
But break sooo much consistency :D
masak ...but I can't see how it would, because the things in the 'a' and 'e' positions still don't smartmatch. 00:19
vendethiel masak: mmh ?
well, sleep&. 00:22
masak m: macro infix:<smff>($l, $r) { quasi { $_ ~~ {{{$l}}} ff $_ ~~ {{{$r}}} } }; for 'a'..'f' { .say if 'b' smff 'e' }
camelia ( no output )
masak ...I guess $_ doesn't bind right in that one. 00:23
m: macro infix:<smff>($l, $r) { quasi { $COMPILING::_ ~~ {{{$l}}} ff $COMPILING::_ ~~ {{{$r}}} } }; for 'a'..'f' { .say if 'b' smff 'e' }
camelia rakudo-moar 847bd5: OUTPUT«use of uninitialized value of type Any in string context␤use of uninitialized value of type Any in string context␤use of uninitialized value of type Any in string context␤use of uninitialized value of type Any in string context␤use of uninitialized…»
masak ah, well.
BenGoldberg What's ff?
timotimo flip flop op
BenGoldberg Ok. 00:24
timotimo it carries internal state
masak BenGoldberg: it turns true when the lhs is true, then stays true until the rhs is true.
BenGoldberg Like perl5's scalar .. operator.
Which always confuses me and hurts my brain, 100% of the time I see it. 00:25
masak yes, that one. 00:26
and fff is like the scalar ... operator.
BenGoldberg All I can say is that I'm glad perl6 writes flipflop differently from .. and ... 00:28
masak we believe firmly in not making ops context-dependent along that particular dimension (item/list context). 00:30
or subs/methods, for that matter.
BenGoldberg I once spent a couple of frustrated hours on some perl5 code, where I had written $foo[ $x .. $#foo ], where I should have had @foo[ $x .. $#foo ] 00:31
masak heh :)
'night, #perl6
BenGoldberg 'night masak. 00:32
00:32 Akagi201 joined 00:37 Akagi201 left 00:40 raiph left
[Coke] waves from Ohio. 00:43
00:47 btyler joined 00:57 hoverboard left
geekosaur waves at [Coke] en passant 01:02
[Coke] ~~ 01:04
01:05 hoverboard joined 01:14 Su-Shee_ joined 01:17 Su-Shee left 01:18 klapperl_ joined 01:21 grondilu joined
grondilu about prefix:<+>, in S03: « For values that do not already do the "Numeric" role, the narrowest appropriate type of "Int", "Rat", "Num", or "Complex" will be returned; 01:22
»
So for instance:
r: say (+"3.0").WHAT
camelia rakudo-{parrot,jvm,moar} 847bd5: OUTPUT«(Rat)␤»
01:22 klapperl left
grondilu but for constistency shouldn't prefix:<+> also returned a narrow value when called with a Numeric argument? 01:23
hang on
shouldn't +"3.0" be an Int according to spec? 01:24
01:24 hoverboard is now known as moistcherry
grondilu basically thinks prefix:<+> should always narrow 01:25
grondilu thought of that while thinking of rosettacode.org/wiki/Test_integerness 01:27
grondilu would have liked to test integerness with +$x ~~ Int
01:31 FROGGS__ joined
grondilu well on second thought that's probably not a good idea. If someone writes a literal value as 3.0, he *wants* a Num an not an Int, and prefix:<+> should not change that I guess. 01:31
01:33 Sqirrel left, Akagi201 joined 01:34 Sqirrel joined, FROGGS_ left 01:38 Akagi201 left 01:43 Akagi201 joined, Akagi201 left 01:51 Akagi201 joined, moistcherry is now known as siriustar 01:53 telex left 01:54 telex joined 02:15 skids joined 02:34 noganex joined 02:37 noganex_ left 03:03 benabik joined 03:04 yogan_ left, Juerd left 03:05 yogan joined 03:06 Juerd joined 03:45 rindolf joined 03:46 cognominal joined 03:47 siriustar is now known as hoverboard 03:49 benabik left
Mouq grondilu: Isn't that why .narrow exists? 03:53
moritz: That looks.. like exactly what I want to write but better :) I'll be happy to steal from it :) though maybe not tonight 04:01
(RE:: irclog.perlgeek.de/perl6/2014-06-21#i_8908219) 04:02
04:04 lizmat_ joined 04:07 lizmat left
dalek rl6-bench: 390b19d | (Geoffrey Broadwell)++ | bench:
Show tag dates in `bench list-tags`
04:16
rl6-bench: 3d4ae2a | (Geoffrey Broadwell)++ | timeall:
Much less broken commit time detection in timeall

After this commit, you should rerun timings so that upcoming history comparison functionality will work properly.
rl6-bench: e6f852b | (Geoffrey Broadwell)++ | / (2 files):
First (text format) support for history comparison
japhb .tell timotimo New perl6-bench command `bench history` ought to interest you. Ping me if you need help. :-) 04:20
yoleaux japhb: I'll pass your message to timotimo.
japhb .tell timotimo html and html_plot versions coming when I get another good hack session.
yoleaux japhb: I'll pass your message to timotimo.
04:36 virtualsue joined 04:54 atroxaper joined, atroxaper left 04:58 virtualsue left 05:02 kaare_ joined 05:05 rurban_ left 05:06 rurban_ joined 05:08 araujo left 05:17 Khisanth left 05:37 BenGoldberg left 05:38 Khisanth joined
dalek ast: b3fdfeb | (David Warring [email@hidden.address] | integration/advent2011-day20.t:
adding advent 2011 day 20
05:38
05:39 btyler_ joined 05:42 btyler left 05:43 Khisanth left 05:47 REPLeffect left 05:53 darutoko joined 06:06 gfldex joined 06:08 Khisanth joined 06:11 dalek left, [particle]1 joined, dalek joined, ChanServ sets mode: +v dalek 06:12 [particle] left 06:14 SevenWolf left, SevenWolf joined 06:35 silug left 06:50 silug joined 06:51 Sqirrel left 06:52 btyler_ left 07:02 lizmat_ left 07:03 lizmat joined 07:07 woolfy left 07:11 mr-foobar joined
FROGGS__ m: "foo".encode ~ 42 # why does that what it does? 07:14
camelia rakudo-moar 847bd5: OUTPUT«(signal )»
07:14 nnunley left 07:21 woolfy joined 07:22 FROGGS__ left
dalek kudo/nom: 25c1e5d | (Tobias Leich)++ | src/core/Buf.pm:
add subbuf-rw, an lvalue subbuf like we have a substr-rw for strings

The replacement must be a Blob and this sub needs to be specced.
07:25
07:27 FROGGS__ joined, virtualsue joined 07:30 itz joined 07:57 felher left 07:58 felher joined 08:02 dayangkun joined 08:04 erkan joined, erkan left, erkan joined, hoverboard left 08:15 kivutar joined 08:17 kurahaupo joined 08:25 virtualsue left
masak antenoon, #perl6 08:29
moritz \o masak 08:33
08:34 itz left
masak so quiet -- guess people are at YAPC::NA and stuff. 08:35
moritz it's Sunday :-) 08:40
vendethiel wrt "writing ff" : it's better than `..`, but it's harder to read because it doesn't stand out 08:44
08:45 nnunley joined
moritz rename it infix:<FLIPFLOP> 08:45
FROGGS__ my expectation when seeing ff is that is a sub and not an infix 08:47
08:49 nnunley left 08:54 SevenWolf left
vendethiel moritz: well, I could. But I don't think it helps that much 08:55
moritz vendethiel: then it would stand out
vendethiel ... unless something else than "FLIPFLOP3 is in caps 08:56
08:57 virtualsue joined 09:02 virtualsue left 09:03 virtualsue joined
moritz well, Perl 6 takes care to only upper-case things that should stand out 09:06
if your own code use lots of all-caps, you're screwed
but of course you can write code to defeat any technique to make things stand out :-) 09:07
vendethiel moritz: YES INDEED DOT GOOD POINT COLON CLOSING PAREN 09:10
.oO( we've already gone back to CL-style naming ? )
09:19 virtualsue_ joined, virtualsue left, virtualsue_ is now known as virtualsue 09:23 dmol joined 09:35 itz joined, virtualsue_ joined 09:36 virtualsue left, virtualsue_ is now known as virtualsue 09:38 psch joined
psch hi #perl6 09:38
masak hi psch!
psch masak o/ 09:39
gist.github.com/peschwa/cb2a142e49afce7a260c
there's a few spots im not clear on the spec though
for example, tr/// returning False seems weird, but happens in nom for s/// as well 09:40
on moar and parrot that is
at least locally 09:41
maybe that's a platform thing again? :/
also i think 'whitespace characters are taken literally' and 'The .. range sequence is the only metasyntax' clash for ranges that start or end on a whitespace 09:42
this is all related to RT #62064, fyi 09:43
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=62064
09:45 virtualsue left
psch oh, and tr[][] (and tr{}{}, and i guess other paired delims) also work 09:46
09:47 virtualsue joined, Psyche^_ joined
masak I have no idea why that `False` would be useful. 09:47
the action method seems to generate the moral equivalent of `$_ = .trans($from, $to);` 09:49
which... shouldn't be False. 09:50
09:51 Psyche^ left
psch masak: i updated the gist; i'm seeing the same behavior for s/// in the repl; my tr/// implementation still gives False when called from -e though 09:54
where the repl for s/// is "upstream" nom 09:55
github.com/peschwa/rakudo/compare/implement_tr # this is my branch, for reference 10:06
mostly oriented myself on how s/// works... :) 10:07
wrt spec: the delimiter for tr shouldn't change behavior i assume? i.e. tr[][] still only accepts exactly one string for search and replacement each 10:11
masak sure. 10:15
10:16 virtualsue_ joined, virtualsue left 10:17 virtualsue_ is now known as virtualsue 10:18 breinbaas left 10:24 virtualsue left 10:29 punter joined
punter I want to make a Jabber server (for my site). I'm a Perl 5 programmer. Do you think it's possible to make it in Perl 6? Does Perl 6 have the networking features needed? 10:30
I can do it in AnyEvent of Perl5. Does Perl 6 have something similar?
10:33 nnunley joined
psch punter: perl6 does have working sockets and you i think you can write event-based programms with supplies 10:36
but i'm no expert and there might be a better answer
10:37 itz left, nnunley left 10:43 dayangkun left
moritz punter: rakudo's async and socket support might be a bit too unstable atm 10:43
punter ok
moritz punter: if you want something production ready quickly, p5 is still the safer better
punter thanks
10:45 Su-Shee_ is now known as Su-Shee 10:48 ivanshmakov left 10:51 dayangkun joined 10:55 atroxaper joined 11:01 kaare__ joined
atroxaper Hello, #perl6 ! 11:01
use Test; role Role { multi method gist() {return 'GIST';}}; class Class does Role {}; say Role.new; is Role.new, 'GIST', 'works well'
m: use Test; role Role { multi method gist() {return 'GIST';}}; class Class does Role {}; say Role.new; is Role.new, 'GIST', 'works well'
camelia rakudo-moar 25c1e5: OUTPUT«GIST␤not ok 1 - works well␤# got: 'Role<140591977373584>'␤# expected: 'GIST'␤»
atroxaper Why 'is' doesn't call gist? 11:02
moritz because .gist is only the default stringification for say() 11:04
the rest uses .Str
11:04 kaare_ left
atroxaper Can I override Str? 11:04
Yes. Thanks. 11:07
vendethiel no problem :) 11:09
11:13 itz joined, virtualsue joined 11:19 virtualsue left, virtualsue joined 11:20 punter left 11:27 virtualsue left 11:43 Alina-malina left 11:44 Alina-malina joined 12:04 lucas joined 12:05 virtualsue joined 12:08 atroxaper left, atroxaper joined 12:15 BenGoldberg joined 12:21 nnunley joined 12:25 punter joined, punter left 12:26 dayangkun left, nnunley left
masak wonders what the biggest obstacle would be for unifying .gist and .Str 12:34
12:35 virtualsue left
masak hello from a train, by the way :) 12:35
vendethiel whispers "I like trains"
12:40 spider-mario joined 12:47 kaare__ left
tadzik WZOOM 13:00
dalek ecs: 03a91ba | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
Spec Buffer.subbuf-rw
13:01
Su-Shee *hihi* you're all going to love the ypac staff t-shirts: pbs.twimg.com/media/BqsH2TcCYAEHHlQ.jpg :)
tadzik :D 13:02
Su-Shee love it. want one of those :) 13:03
13:05 Alina-malina left 13:06 Alina-malina joined
dalek kudo/nom: 49ab1d8 | (Elizabeth Mattijsen)++ | t/spectest.data:
Add advent2011/day20 tests
13:07
lizmat masak: simple: make say use .gist, run the spectest, see what breaks
*.Str :-) 13:09
13:14 atroxaper left, atroxaper joined 13:16 ivanshmakov joined
masak lizmat: worth a shot. 13:17
13:18 rindolf left 13:19 atroxaper left
lizmat already running spectest 13:20
13:21 Rotwang left
TimToady the intent of gist is to be a tl;dr 13:22
the intent of .Str is to be completist
this is a pragmatic distinction, not driven by the fact that there's a large overlap for short values
nor by the fact that the spec tests aren't good at testing pragmatics 13:23
13:23 ivanshmakov left, ivanshmakov joined
TimToady so I don't see that it'll prove much 13:23
TimToady heads back to his talk-writing corner 13:24
lizmat masak: gist.github.com/lizmat/23162d0031578a2eeb56
lizmat does a git reset --hard 13:25
13:25 SamuraiJack joined 13:27 SamuraiJack_ joined 13:30 ivanshmakov left 13:31 SamuraiJack left 13:33 ivanshmakov joined 13:35 BenGoldberg left 13:42 kurahaupo left 13:45 virtualsue joined 13:49 kaare__ joined 13:51 kaare__ is now known as kaare_ 13:54 SamuraiJack_ left
dalek ast: fedf27b | (Elizabeth Mattijsen)++ | S22-package-format/local (2 files):
Initial testing on CompUnitRepo::Local::File
13:54
13:58 grondilu left 14:01 virtualsue left 14:02 virtualsue joined
amirite @mxit 14:03
14:03 amirite left 14:08 virtualsue left 14:11 virtualsue joined 14:12 zakharyas joined 14:14 guru joined, guru is now known as Guest24311, Guest24311 is now known as ajr_
dalek kudo/nom: 9017529 | (Elizabeth Mattijsen)++ | / (4 files):
Add skeleton CompUnit class
14:20
14:26 woolfy left 14:32 lizmat left 14:33 virtualsue left, virtualsue_ joined 14:34 virtualsue_ is now known as virtualsue
hoelzro I'm writing a module that allows users to declare methods as commands for a CLI, so I don't want the user to be able to declare duplicates 14:36
is there something I can hook into when the class is "closed" so I can detect this situation? 14:37
14:40 itz_ joined
masak m: say Int.HOW.^methods 14:40
camelia rakudo-moar 49ab1d: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at src/gen/m-CORE.setting:7190␤ in sub say at src/gen/m-CORE.setting:13769␤ in block at /tmp/SRwb3KffnC:1␤␤»
masak grrbl. 14:41
anyway, it seems to me you should be able to override .add_method or something in a custom ClassHOW.
hoelzro hmm 14:47
well, that would require the user to be aware of this, right?
this is what I'm going for: gist.github.com/hoelzro/d552753137568ac5285c
I was thinking I could monkey with the HOW of App::Subcommand to achieve my goal
masak yes, something like that was what I had in mind. 14:49
14:50 darutoko left
psch well, i got a tr/// that always returns True, instead of the previous False. it's spec'd - by omission - to return the number of replaced or deleted characters though 14:56
i can't seem to keep the original lhs for smart match calls for any comparison 14:57
14:59 lizmat joined 15:03 atroxaper joined
atroxaper haw can I continue search in string by regex? Something like qq{ while 'abcd 15:12
15:12 xfix_ joined, xfix left
atroxaper haw can I continue search in string by regex? Something like qq[ while 'abcd' ~~ m/ (.) {say $0;} ] 15:12
15:13 xfix_ is now known as xfix
psch m: 'foo' ~~ m/ (.)+ { say $0 } / # this at least does your example 15:14
camelia rakudo-moar 49ab1d: OUTPUT«「f」␤ 「o」␤ 「o」␤␤»
psch although i'm pretty sure there's an XY-problem here somewhere
atroxaper psch: I think it's good enought :-) 15:15
psch glad to help :) 15:23
15:25 vendethiel left 15:34 uniejo joined, denis_boyun joined 15:38 mr-foobar left 15:39 uniejo left
dalek ecs: 2d0d5ac | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Some more elaboration about CompUnit class
15:40
15:47 uniejo joined 15:51 uniejo left, uniejo joined 15:55 darutoko joined, xinming joined 15:58 xinming_ left 16:00 colomon left 16:03 itz_ left 16:07 colomon joined 16:21 dayangkun joined 16:28 molaf_ joined 16:30 uniejo left, uniejo joined 16:31 molaf__ left 16:42 thou joined
japhb .ask timotimo Did you write nqp/richards yourself, or does it come from somewhere else? (And if so, where? I want to make sure I have a proper copyright note for it.) 16:44
yoleaux japhb: I'll pass your message to timotimo.
16:46 zakharyas left 16:48 xinming left, xinming joined 16:56 xinming_ joined 16:58 atroxaper left 16:59 xinming left 17:01 toddr_ joined 17:08 user3 joined, Akagi201 left
japhb .ask timotimo Wait, did nqp/richards in perl6-bench ever actually work? I get some strange error messages from it on nqp-m .... 17:11
yoleaux japhb: I'll pass your message to timotimo.
17:12 ajr_ left
masak atroxaper: I would just do `for $str.comb(/pattern/) -> $match { ... }` 17:24
17:24 user3 left 17:27 toddr_ left
lizmat lunch& 17:28
17:28 lizmat left, Sqirrel joined 17:41 dayangkun left
timotimo japhb: i ported it from the pypy benchmark suite 17:52
yoleaux 04:20Z <japhb> timotimo: New perl6-bench command `bench history` ought to interest you. Ping me if you need help. :-)
04:20Z <japhb> timotimo: html and html_plot versions coming when I get another good hack session. 17:53
16:44Z <japhb> timotimo: Did you write nqp/richards yourself, or does it come from somewhere else? (And if so, where? I want to make sure I have a proper copyright note for it.)
17:11Z <japhb> timotimo: Wait, did nqp/richards in perl6-bench ever actually work? I get some strange error messages from it on nqp-m ....
timotimo i think it worked at at least one point
but i didn't have the patience to port it
17:56 virtualsue left
timotimo media.ccc.de/browse/conferences/gpn..._timo.html - this is my perl6 talk, in german and quite chaotic 17:57
dalek kudo/nom: 4459c54 | (Tobias Leich)++ | src/core/Buf.pm:
add unpack directives "a" and "Z"
17:58 virtualsue joined 18:01 malkaroee joined 18:02 Akagi201 joined, malkaroee left 18:03 guru joined 18:04 guru is now known as Guest28395, Guest28395 is now known as ajr_ 18:07 Akagi201 left 18:13 nnunley joined 18:14 mr-foobar joined
japhb timotimo: Do you remember which nqp backend you used when you got it to work the first time? I'm trying to determine if it's just nqp-m that doesn't like it .... 18:14
18:15 zakharyas joined
timotimo hmm, depends on when i did it, maybe parrot, but possibly moar. 18:17
wait, do we even have mutable bufs? 18:21
colomon shift_pmc() not implemented in class 'Continuation' 18:23
in block at bin/panda:21
in sub MAIN at bin/panda:19
colomon has been having major problems smoking parrakudo the last few days.
timotimo o_O
colomon Tuesday the 17th was the last time I did a successful full smoke run. Took me a few days to notice because my laptop was at Apple for repairs. 18:26
[Coke] waves from I94. 18:32
18:32 xdoctor joined
[Coke] II actually have pretty decent internet, considering I'm on the highway. 18:35
dalek kudo-star-daily: b06f95b | coke++ | log/ (13 files):
today (automated commit)
18:36
rl6-roast-data: 39dffd3 | coke++ | / (6 files):
today (automated commit)
colomon [Coke]: I94! That's like home!
colomon lives a couple hours away from it now, but grew up 30 minutes' drive from the east end of I94, and then lived only a mile from I94 for most of the Naughts. 18:37
[Coke] colomon: heading SW now, ooping around the lake. 18:38
colomon [Coke]: Lake Michigan, I presume?
[Coke] colomon: we were at lake erie earlier today.
and now we're at that one, yes.
colomon Great Lakes++ 18:39
afk # quick run into town, back very shortly
18:43 kivutar left 18:45 darutoko left 18:47 vendethiel joined 18:54 amkrankruleuen left 18:55 kill joined, kill is now known as amkrankruleuen, hoverboard joined
FROGGS__ .tell lizmat subbuf-rw is just a sub like substr-rw is only a sub, not a method 18:58
yoleaux FROGGS__: I'll pass your message to lizmat.
18:58 virtualsue left 18:59 virtualsue joined
masak colomon: didn't nqp upgrade its Parrot dep just a few days ago? 19:00
colomon: ah, yes nqp's adf65bfd24f70a05459478397e5f54eb754bbfd1. 19:01
19:01 xfix left
masak colomon: would be interesting to see if the problems go away if you build before that commit. 19:01
19:02 xfix joined 19:03 Akagi201 joined
[Coke] no rakudo's testing clean today 19:05
*rakudos
19:07 Akagi201 left 19:08 xfix left 19:09 xfix joined, xfix left, xfix joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 1076951 | (Tim Smith)++ | web/ (9 files):
Clearer badge icons
19:10
19:13 zakharyas left
colomon [Coke]: was that, "No, the rakudos are testing clean today," or "No rakudos are testing clean today"? 19:14
19:16 itz left
colomon masak: I'm trying to build bcd1861857db94a74afbd7ff6e43d87cc6878fe7 now (June 18th, before NQP bumps, I think) 19:16
masak just got another spesh fail, this time when running from -e 19:23
building latest and trying again.
colomon okay, bcd1861857db94a74afbd7ff6e43d87cc6878fe7 installs panda correctly. 19:29
19:31 vendethiel left, vendethiel- joined, vendethiel- is now known as vendethiel
vendethiel nice new badges :) 19:32
19:33 mr-foobar left 19:34 mr-foobar joined
cognominal indeed 19:36
thou Good, I'm glad they are well-received 19:40
I am *not* a graphic designer, so I won't be offended if the community wants them reverted or tweaked. 19:41
19:43 lizmat joined
cognominal thou, is there a pointer back from modules.perl6.org/ to the program that generated it? 19:45
thou cognominal: Yes, there's a pointer to github.com/perl6/modules.perl6.org repo 19:47
19:48 kaare_ left
thou … at the bottom of the page 19:48
cognominal ho, I did not notice that contained the program as well as the data. 19:49
thou++
thou hey, ho! let's go!
19:50 labster joined 19:51 mr-foobar left, xfix_ joined, xfix left
colomon hmm, panda build works on parrot-d45fccdbaf74f13207bf9118a6dfd9d158108a3f too 19:52
19:52 mr-foobar joined 19:53 lizmat left
lucas Hello. Is "my Dog $spot = $spot.new;" right or wrong? S02 says ".=" is rewritten into this but S03 say it's an invalid self-reference. 19:58
19:59 ivanshmakov left
vendethiel p6: class A {}; my A $a = $a.new; 19:59
camelia rakudo-jvm 4459c5: OUTPUT«(timeout)»
( no output )
20:00 lizmat_ joined 20:01 ivanshmakov joined 20:04 Akagi201 joined, labster left 20:05 labster joined
moritz lucas: looks correct to me 20:06
lucas: the variable is declared as soon as it's parsed
vendethiel lucas: where does S03 say it's an invalid ref ? 20:07
20:07 xfix_ is now known as xfix 20:08 Akagi201 left
lucas S03-operators.pod: 5072: my Dog $fido = $fido.new; # wrong: invalid self-reference 20:09
20:10 lizmat_ is now known as lizmat
lucas should it be changed? s/wrong: invalid/okay/ ? 20:10
colomon hmmm 20:11
psch makes sense to me, fwiw; as moritz says variables are declared when parsed, and typed variables get instantiated with the type object 20:12
moritz though caution is required
it might be that the variable on RHS is actually the one from the proto lexpad, not from the runtime lexpad
I'm not sure here
jnthn Good evening from the north o/ 20:13
moritz m: my Int $x = do { say $x; 42 }
camelia rakudo-moar 4459c5: OUTPUT«(Int)␤»
moritz \o jnthn
psch hi jnthn
colomon \o
moritz m: my Int $x = do { BEGIN { $x = 23 }; say $x; 42 }
camelia rakudo-moar 4459c5: OUTPUT«23␤»
20:14 breinbaas joined
moritz isn't sure whether that tells us anything 20:14
lizmat jnthn o/
yoleaux 18:58Z <FROGGS__> lizmat: subbuf-rw is just a sub like substr-rw is only a sub, not a method
lizmat and good * from the south
moritz guesses he is south from the north, but no idea how he compares to lizmat's south 20:15
lizmat moritz: as in Orlando, FL
moritz lizmat: oh. I'm guess I'm noth, then :-)
jnthn is almost in the arctic 20:16
It's still rather light outside. :)
TimToady last week at Key West the sun was pretty much straight up
lizmat TimToady: is there a reason we don't have substr-rw and/or subbuf-rw as a method ? 20:17
moritz lizmat: I think it's because sub{str,buf}-rw are mostly p5isms, and p5 doesn't do methods on value "types" 20:18
lizmat subbuf most definitely is new 20:19
but join is a p5ism, and we have a .join method
TimToady lizmat: the only reason is a foolish inconsistency :)
lizmat ok, so you won't mind if I make it consistent ?
masak jnthn \o
TimToady nope 20:20
vendethiel just learned he wouldn't be in france when YAPC::EU happens
jnthn Well, there is the thing that method calls on a scalar are normally seen as being on the value, not on the container...
lizmat vendethiel: that's because YAPC::EU is in Sofia?
vendethiel lizmat: haha, no, not in sofia either
I'm not here in august
TimToady jnthn: true
lizmat so you mean you can't make it to YAPC::EU :-(
vendethiel (my only holidays in 2 years :(.) 20:21
yea :(
lizmat jnthn, TimToady: $ ack '.substr' src/core | wc -l
103
actually:
$ ack '\.substr' src/core | wc -l
50
TimToady jnthn's point is that it would have to be a VAR-like macro in order to make it an lvalue 20:22
lizmat so substr is being used as a method in the core settings
TimToady .substr can just deal with the value rather than the container
20:23 uniejo left
TimToady strings being immutable, we emulate mutation in the container 20:23
lizmat right, so using it as a method, gives the wrong idea
20:23 woolfy joined
TimToady (buffers are supposed to be mutable, of course) 20:23
so it actually more sense for bufs than for strs
moritz but, we should totally have the 4-arg substr as a method
$str.substr($from, $to, $replacment) 20:24
which just returns the new string
TimToady and you use .= to mutate
20:24 mathw left
colomon is starting to suspect his parrakudo problems have something to do with a borked install 20:25
lucas p6: class A {}; my A $a .= new; say 'alive';
20:25 mathw joined
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/tmpfile line 1:␤------> class A {}; my A ⏏$a .= new; say 'alive';␤␤alive␤» 20:25
..rakudo-{parrot,jvm,moar} 4459c5: OUTPUT«alive␤»
lucas p6: class A {}; my A $a = $a.new; say 'alive';
camelia rakudo-{parrot,jvm,moar} 4459c5, niecza v24-109-g48a8de3: OUTPUT«alive␤» 20:26
20:26 uniejo joined
lizmat TimToady: so yes to .subbuf-rw, but no to .substr-rw ? 20:30
20:36 uniejo left, denis_boyun left, denis_boyun joined 20:38 silug left
dalek href="https://modules.perl6.org:">modules.perl6.org: 7f0ccaa | (Tim Smith)++ | web/readme.png:
Fix blurry readme.png icon
20:39
href="https://modules.perl6.org:">modules.perl6.org: 40f0e18 | (Tim Smith)++ | web/ (4 files):
Give badge icons a bit more breathing room
20:41 uniejo joined
dalek rl6-bench: e99a064 | (Geoffrey Broadwell)++ | / (4 files):
Add rc-self-describing-numbers minibenchmark
20:48
20:49 silug joined
masak $ perl6 -e 'for ^13 { for ^0 {}; (my $)++ }' 20:51
Spesh: failed to fix up handlers (134, -1, 156)
(locally, on a fresh build)
This is perl6 version 2014.06-11-g4459c54 built on MoarVM version 2014.05-2-gb1add28
nwc10 was about to go to bed so can't add anything to 20:52
20:52 ajr_ left
nwc10 "doesn't (not) work on my machine" 20:52
This is perl6 version 2014.06-11-g4459c54 built on MoarVM version 2014.06-6-gd2e0732 20:53
./perl6-m -e 'for ^13 { for ^0 {}; (my $)++ }'
nwc10 see no output
vendethiel m: for ^13 { for ^0 {}; (my $)++ } 20:54
camelia ( no output )
jnthn masak: 2014.05-2? That's...strangely old, no?
Also, I'm sure I already fixed bugs giving that error... 20:55
nwc10 masak: my MoarVM seems to be 4 commits newer than yors
jnthn 4 commit *and a month* 20:56
nwc10 oh yes. oops
I am clearly not very useful and shall go to bed.
jnthn :)
nwc10 Good night world.
jnthn should do similar soon
lizmat goodnight nwc10, jnthn 20:58
21:04 Akagi201 joined 21:05 labster left 21:09 Akagi201 left 21:12 Mouq left
lucas I'm still a little lost on the specs; can someone tell me where does it says that an our-scoped variable cannot have a type constraint? Example: "our Foo $foo;". Does this makes sense? 21:15
FROGGS__ lucas: I don't see why type constraints on our scoped vars should be forbidden... 21:21
lizmat I'm not sure, but maybe because 'our' variables are more like dynamic variables, and thus basically runtime determined?
FROGGS__ and... I can't find anything about that in the spec
lizmat FROGGS__: good to see you awake: 21:22
FROGGS__ hi lizmat
timotimo lizmat: er, what?
lizmat do we support use Foo:from<nqp> already?
and if so, where in the code is that handled?
FROGGS__ m: use QAST:from<NQP>; my Mu $q := QAST::Op.new(); say $q.HOW.name($q) 21:23
camelia rakudo-moar 4459c5: OUTPUT«QAST::Op␤»
FROGGS__ in src/Perl6/ModuleLoader, at the top of load_module
dalek kudo/nom: a7b4cba | (Elizabeth Mattijsen)++ | src/core/CompUnit.pm:
Some more work on CompUnit, not yet functional
21:24
lizmat okidoki
21:24 HaraldJoerg joined
lucas FROGGS__: I don't see why also. I don't know if it is specced or not. Rakudo died with a message "Cannot put a type constraint on an 'our'-scoped variable" 21:25
FROGGS__ lucas: right, but std does not
our Foo $foo; # niecza 21:26
n: our Foo $foo; # niecza
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Malformed our at /tmp/SU6kFuPnSj line 1:␤------> our⏏ Foo $foo; # niecza␤␤Parse failed␤␤»
FROGGS__ n: our Int $foo; # niecza
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Common variables are not unique definitions and may not have types at /tmp/Qyac0fM8y4 line 1:␤------> our Int $foo⏏; # niecza␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niec…»
lucas p6: class A {}; our A $a;
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Common variables are not unique definitions and may not have types at /tmp/tmpfile line 1:␤------> class A {}; our A $a⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/b…»
..rakudo-{parrot,jvm,moar} 4459c5: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Cannot put a type constraint on an 'our'-scoped variable␤at /tmp/tmpfile:1␤------> class A {}; our A $a⏏;␤ expecting any of:␤ scoped dec…»
FROGGS__ either niecza explains it better or both are wrong :o) 21:27
masak agreed; though I don't believe "Common variables" is common terminology :) 21:28
lizmat std: our Int $a = 42
camelia std 0f2049c: OUTPUT«ok 00:01 123m␤»
lizmat std thinks it's ok
also, seems like bfd8508f5ceee565380da201ef25bdfb6feb2b3d was the commit, by FROGGS__ in May last year
timotimo lizmat: i'm pretty sure we know all our-scoped stuff at compile-time, don't we? 21:29
lizmat well, I was clutching at straws, really
as I couldn't think of a reason
jnthn Not sure what's unclear about Rakudo's error. It tells you what you tried to do, and says it's not allowed. 21:30
masak std: sub foo { our Int $x }; sub bar { our Str $x }
camelia std 0f2049c: OUTPUT«ok 00:01 124m␤»
masak the above is the problematic bit.
FROGGS__ O.o
jnthn Also, STD is mostly about syntax, not about semantics. 21:31
So I'd not especially expect it to complain about this one.
masak *nod*
though it certainly could.