»ö« 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.
00:03 colomon left
timotimo what's the standard answer to someone saying "perl6 destroyed perl5 because people started saying 'i'll wait for perl6 before i continue doing stuff'"? 00:03
00:04 colomon joined
TimToady "no, perl6 resurrected interest in perl5" 00:04
the reason perl6 was started in the first place is that people *already* recognized that perl5 was stagnating 00:05
that was precisely Jon Orwant's point with the mugs 00:06
lizmat read the backlog
TimToady and that's the nice answer :)
00:07 dhaivat left
lizmat will see if there is a solution for %<a><b>:exists that would not need Any.exists, and which would not slow down all {} accesses 00:08
00:08 dhaivat joined
lizmat but not today 00:08
gnigt #perl6!
jnthn lizmat: For now we could constraint it to :U on the invocant
jnthn gets some rest also
'night o/
TimToady nighty
lizmat no, that doesn't work, because the U: is exactly what we need for %h<a><b> 00:09
ah, me is sleepy
yes, you're right: U: should do it, but then the error message gets confusing
"Invocant requires a type object, but an object instance was passed" for 42.delete(42) 00:10
LTA error message
and oddly enough, if I add the U:, I get spectest errors with exactly that error
not sure what is going on there, will check after some sleep 00:11
eyes closing&
00:12 Psyche^_ joined
raiph TimToady: Do you still have the slides that went with Camelot #6? (p6 announcement talk in 2000) 00:14
TimToady there were no slides, it was, as I recall, a demonstration of many different musical instruments
00:16 Psyche^ left 00:17 Rotwang left
raiph oh. heh. maybe this is a later talk then. I'm reading www.mail-archive.com/perl6-meta@per...00409.html 00:20
er, s/Camelot/Camel Lot/ 00:21
TimToady: I mean whatever went with the talk I linked 00:23
00:26 jaldhar joined 00:28 btyler joined, colomon left 00:36 daniel-s_ left 00:38 btyler left 00:39 daniel-s_ joined
TimToady if I have it, it's probably on an old SCSI drive sitting out in my garage :) 00:51
01:05 dhaivat left 01:08 FROGGS_ joined 01:12 dhaivat joined, FROGGS left 01:13 abnorman left, abnorman joined
Mouq files Rakudo PR #204 01:27
Mouq always does stuff after all the perl6ers are offline :p 01:32
01:33 btyler joined 01:42 garfieldnate left
[Coke] not all of us. 01:46
yoleaux 31 Aug 2013 08:56Z <lizmat> [Coke]: I have no idea: 114 is *all* tests. on parakudo it says: Files=1, Tests=114, 3 wallclock secs ( 0.03 usr 0.00 sys + 2.75 cusr 0.17 csys = 2.95 CPU)
[Coke] ... but that's outside of my comfort zone at the moment, sorry. 01:49
Mouq It's np. I'm happy enough you looked at it 01:50
01:52 lichtkind left 01:55 silug_ left 02:03 dhaivat left 02:04 btyler left 02:05 PacoAir left
TimToady Mouq: yes, some of us are even further west than you are...how was your first week of school? 02:07
Mouq Excellent, thank you. Being a senior kinda rocks. I woulda' gotten this PR in sooner but I've spent most of my time not in school recovering from cross country practice 02:10
TimToady remembers his senior year fondly 02:11
any idea what you're doing next year yet?
Mouq …not particularly. ATM I'm wishfully thinking something in Engineering at UPenn 02:13
diakopter that's, like, ivy league and stuff 02:14
TimToady I'm sure there'd be plenty of worse choices
though you get more personal attention at a smaller school--it's all tradeoffs
Mouq Really? I don't think of UPenn as ivy league. 02:15
TimToady yes, well, diakopter is from Texas, so you have to cut him some slack :P
diakopter heh.
ivy league is well-defined... 02:16
Mouq I'm a PA resident, so it's a little different
TimToady schools with ivy on them, I know...
yeah, I figured you was in PA from the traceroute that stopped somewhere in the middle of PA
but I didn't want you to think I was stalking you, so forget I mentioned that :)
Mouq heh, nah, traceroute's fun 02:18
TimToady mostly I just wanted to know which timezone you're in
so's I could properly claim to be west of you 02:19
geekosaur you're west of them, of course. just possibly less far east of them....
TimToady well, even if PA is a country code, it's only Panama... 02:22
diakopter Mouq: my point was, upenn is one of the hardest to get into that exists, so, "impressive.."
02:23 colomon joined
Mouq Oh, yeah, we'll see about that whole "actually getting in" thing 02:23
02:31 dhaivat joined 02:44 raiph left
Mouq TimToady: is $var.:<∃> always a call to prefix ∃? 03:13
err, &prefix:<∃>($var) 03:14
TimToady supposed to be; don't need it for postfixes, which already know how to attach after 03:17
03:17 dhaivat left 03:18 dhaivat joined
Mouq Okay. The spec implies as much, but I wasn't sure if it had wider applications 03:18
colomon TimToady: what is bless supposed to look like now? instead of self.bless(*, coefficients => @x); it's self.bless(coefficients => @x); ? 03:22
TimToady yes, just drop the * 03:23
colomon I have to make that work in niecza, and then change a lot of modules… :) 03:24
03:25 BenGoldberg left
TimToady HTAAOF 03:25
colomon ?
TimToady have the appropriate amount of fun 03:26
colomon btw, here's a quick one for you:
use Math::Polynomial;
constant x = Math::Polynomial.new(0, 1);
my @pf := 0, 1, -> $a, $b { $a + x * $b } ... *;
lazy sequence of Fibonacci polynomials. :)
TimToady kewl 03:27
03:27 skids joined
diakopter TimToady: heh, add a RosettaCode entry... that's how you'll surpass the others... 03:28
Teratogen I still have my decoder ring 03:29
03:32 mauke left, mauke joined 03:34 preflex_ joined, ChanServ sets mode: +v preflex_ 03:35 preflex left, preflex_ is now known as preflex 03:40 daniel-s_ left, daniel-s_ joined 03:44 daniel-s_ left 03:45 daniel-s_ joined 03:51 ml joined
ml Do junctive operators work with types? Like: sub f ( Int | Rat $a) {...} 03:52
TimToady nope
hafta do that with a subset type now
subset IR where Int | Rat; sub f (IR $a) {...} 03:53
ml Hmmm...mislead by Wikipedia again. Thanks!
TimToady was an old idea that didn't work out
in particular, it'd be terribly ambiguous now that we have |c to bind captures 03:54
likewise we have &foo to bind routines, so & doesn't work either
alternately, you want sub f (Real $a) {...} there
since Int and Rat share that role 03:55
(I believe)
r: say Int ~~ Real; say Rat ~~ Real;
camelia rakudo 1fca64: OUTPUT«True␤True␤»
ml But Real would allow inexact numbers as the argument? 03:56
TimToady well, most numbers are 03:57
ml That's true :-)
TimToady and even Rats won't maintain their exactness if you overflow their denominator 03:59
and FatRats that do keep precision have performance issues when they keep precision
(unless you keep them on a diet) 04:00
ml Life is good as long as we have choices.
TimToady I choose to believe that. :)
04:02 ml left 04:10 dhaivat_ joined 04:13 dhaivat left, dhaivat_ is now known as dhaivat 04:14 fridim_ left 04:27 Mouq left, xenoterracide_ joined 04:29 lue left 04:31 btyler joined 04:32 xenoterracide_ left 04:38 agre joined 04:41 xenoterracide joined 04:42 lue joined 05:01 btyler left 05:09 dhaivat left 05:36 EvanTeitelman left 05:42 kaare_ joined 06:26 FROGGS_ left
moritz masak: got an example where my t3 solution behaves suboptimal? 06:28
sorear o/ moritz 06:35
06:41 agre left
moritz \o sorear 06:43
www.techempower.com/blog/2013/03/26...ut-java-8/ java 8 allows default implementations in interfaces 06:52
which means you can now use interfaces for code reuse too 06:53
which makes them kinda similar to Perl 6 roles :-)
07:03 cognominal left, cognominal joined, FROGGS[mobile] joined 07:09 agre joined 07:43 agre left 07:50 itz_ left 07:53 itz joined 07:56 domidumont joined 08:01 domidumont left, domidumont joined 08:02 agre joined 08:03 agre left 08:06 berekuk joined
dalek kudo/nom: ce3ea39 | Mouq++ | src/Perl6/ (2 files):
Get $var.++ and $var.() working.

  $var.:<++> etc is also parsed now, but is not functional.
08:07
08:07 berekuk left 08:25 agre joined 08:37 agre left 08:38 spider-mario joined 08:42 Rotwang joined 08:47 ssutch left 08:49 Rotwang left 08:55 dmol joined 08:56 Teratogen left
dalek ast: 4318de8 | moritz++ | S02-lexical-conventions/unspace.t:
Rakudo unfudges, Mouq++
08:59
09:05 Rotwang joined
dalek kudo/nom: a0d7cec | moritz++ | tools/autounfudge.pl:
[autounfudge] do not unfudge rakudo.parrot fudges on JVM, or vice versa
09:06
09:18 domidumont left
jnthn morning o/ 09:22
yoleaux 02:26Z <JimmyZ> jnthn: if you get segfault with `../moarvm nqp.moarvm t/nqp/57-construction.t`, hope this will help you gist.github.com/zhuomingliang/6401...tfile1.txt
02:41Z <JimmyZ> jnthn: and gist.github.com/zhuomingliang/6401...tfile1.txt
03:14Z <JimmyZ> jnthn: ignore 666e0d27126409f55489b98bb7fdd04942b28a05 one
03:29Z <JimmyZ> jnthn: I fixed the segfault by this patch: gist.github.com/zhuomingliang/6402151
04:17Z <JimmyZ> jnthn: but the largest item->size number I got is 200
04:50Z <JimmyZ> jnthn: I got the weird thing. with MVMuint16 size, any item->size greater than 184 will be changed to 184
07:44Z <nwc10> jnthn: if I run `../moarvm nqp.moarvm t/nqp/53-knowhow.t` it passes (reliably) but it fails reliably (Non-zero wait status: 11) if run by the harness. To me this is suspicion, but I have no idea what it's telling me.
jnthn hah, and all of those were sent on another channel... 09:23
moritz good antenoon jnthn 09:25
09:26 berekuk joined 09:32 kaare__ joined
nwc10 moritz: it's not that bad *yet*. Unless Sweden has defected to EEST 09:32
09:32 berekuk left
masak good almost-noon, #perl6 09:34
nwc10 gah. my fingers *And* my eyes have auto-correct
09:35 kaare_ left
nwc10 "antenoon" ne "afternoon" 09:35
nwc10 gives up and goes back to cooking
masak moritz: a few cases: gist.github.com/masak/c56a8607c112a9c83829
moritz 9514268073 11 9 09:40
that's not good :-)
masak moritz: I'm currently building the graph induced by all best moves, so that I can do analysis on it. 09:42
maybe something'll fall out.
r: say (^512)>>.fmt("%09b").grep({ $_ !~~ /11/ }).elems 09:49
camelia rakudo a0d7ce: OUTPUT«89␤»
masak sometimes Perl 6 is just so much more expressive than Perl 5.
is there a nicer way to write that { $_ !~~ /11/ } ?
moritz I guess that ~~ doesn't autocurry with * 09:50
!*.match(/11/) ?
masak I initially tried { !/11/ }, but that didn't fly. 09:51
09:57 agre joined, berekuk joined 10:01 berekuk left
moritz but why not? 10:03
masak r: say (^512)>>.fmt("%09b").grep({ !/11/ }) 10:06
camelia rakudo a0d7ce: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D : $target, *%adverbs)␤ in method match at src/gen/CORE.setting:3155␤ in method Bool at src/gen/CORE.setting:11944␤ in method Bool at src/gen/CORE.setting:805␤ in sub prefix:<!> at src/gen/CORE.settin…
masak I dunno, a regression perhaps?
r: say (^512)>>.fmt("%09b").grep({ /11/ }).elems 10:07
camelia rakudo a0d7ce: OUTPUT«423␤»
masak feels like if { /11/ } works, then { !/11/ } should.
10:12 hummeleBop joined 10:20 PacoAir joined
masak r: say (^512)>>.fmt("%09b").grep({ ?/11/ }).elems 10:21
camelia rakudo a0d7ce: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D : $target, *%adverbs)␤ in method match at src/gen/CORE.setting:3155␤ in method Bool at src/gen/CORE.setting:11944␤ in method Bool at src/gen/CORE.setting:805␤ in sub prefix:<?> at src/gen/CORE.settin…
masak interesting.
10:25 eternaleye left, eternaleye joined 10:27 dwarring left
masak I'm not submitting a rakudobug yet on this, because I don't even know if this is supposed to work. 10:29
I *think* it is, but I'm not sure.
10:36 bruges left, bruges joined
moritz r: say True ~~ /11/ 10:37
camelia rakudo a0d7ce: OUTPUT«Nil␤»
moritz that's not it then
moritz has the feeling that some $_ setup is wrong there 10:38
r: (^2).grep: { !.perl.say }
camelia rakudo a0d7ce: OUTPUT«0␤1␤»
cognominal I wish Perl 6 had a very low function application operator and a function composition operator à la haskell to support functionnal style in Perl 6 10:39
if we used . for function composition as haskell, we could not have the unsupporte use of . 10:42
moritz and we wouldn't have . for method calls 10:43
cognominal But I am sure there is an haskell symbol used by mathematecian for function composition even if I don't know it
nope, that would be . with spaces around
moritz eeks!
dalek ast: 13f3908 | moritz++ | S03-operators/set.t:
rakudo unfudges, lizmat++
10:45
cognominal I have even a wilder idea, but coherent with the previous one. Binary operators with two spaces around would have lower precedence than binary operators with one space around. 10:46
The name of the game is to get rid of clippred nails in the oatmeal, I mean to get read of spurious parentheses 10:48
www.fileformat.info/info/unicode/ch.../index.htm 10:50
10:51 Rotwang left
cognominal .U2218 10:51
I forgot the syntax to ask about a unicode char 10:52
.u ring 10:53
yoleaux U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE [Lu] (Å)
U+00E5 LATIN SMALL LETTER A WITH RING ABOVE [Ll] (å)
U+016E LATIN CAPITAL LETTER U WITH RING ABOVE [Lu] (Ů)
moritz .u 2218
yoleaux U+2218 RING OPERATOR [Sm] (∘)
cognominal a ∘ a
looks nice 10:54
this bot proves that people don't think enough about spaces 10:55
11:12 PacoAir left 11:13 colomon left, PacoAir joined 11:14 colomon joined 11:29 daniel-s_ left
masak r: sub infix:<∘>(&f, &g) { -> $x { f(g($x)) } }; say (&sin ∘ &log)(1.0) 11:30
camelia rakudo a0d7ce: OUTPUT«0␤»
masak \o/
11:32 denis_boyun joined
masak cognominal: I don't think the "spaces around operators" rule belongs in plain Perl 6. in a dialect, sure, but not in the default. 11:32
cognominal I am porting the perl6 expression engine to js (really coffeescript) to experiment with dynamical highlighting in codemirror. I will see how it goes. 11:35
masak ooh 11:37
cognominal I already some experiments with dynamical highlighting with manually created asts but that was useless if not editable. So I learned codemirror. 11:39
11:39 hummeleBop left
masak in other news, I'm enjoying pipeline.corante.com/archives/thing...work_with/ today. if you're looking for good, engaging writing about dangerous chemical compounds, this is it. 11:42
I wish I knew how to write like that. I also wish my chemistry classes were a bit more like that.
cognominal I anticipate that eventually the AST will be the reference and people will deparse them as they see fit. So everyone can have his own private language (syntax wise) without bothering the others. In a sense, that will be an answer to a Wittgenstein argument. en.wikipedia.org/wiki/Private_language_argument
masak what better way to make a schoolchild interested in chemistry than by telling about all the horrible ways it's possible to screw things up?
cognominal: if we ever reach the "everyone can have a slang of their own" state with Perl 6, it will be an interesting thing indeed. 11:43
like a CPAN but on the language level. 11:44
I'm curious about how feasible it'll be to combine/compose slangs.
we already do that with routine and type definitions, for example.
cognominal I don't think they will combime because they are very unlike haskell grammar combinators 11:46
what is strange is that everyone is speaking DSL these days and I am not sure people provide tools to do that (except haskellish combinators) 11:48
perl 6 will.
perl6, the buzzword free language. We just do it. 11:49
11:49 lizmat left 11:50 lizmat joined
lizmat good *, #perl6! 11:52
colomon \o
moritz o/ 11:54
cognominal \o/
moritz masak++ # nice link. "The paper tells you how to make small crystals of the alpha form, which is not too bad, as long as you keep it moist and in the dark, and never, ever, do anything with it."
"Explosions are definitely underappreciated as a mixing technique" 11:55
moritz notices that he really wants to quote every second sentence from that article, but refrains 11:57
colomon is finding bless extremely simple to fix in Niecza. :) 11:58
moritz it was pretty easy to fix in rakudo too 12:02
dalek ast: 59a518a | (Elizabeth Mattijsen)++ | S02-lexical-conventions/unspace.t:
Unfudge 2 now passing tests: Mouq++
12:04
ecza: d49208e | (Solomon Foster)++ | lib/CORE.setting:
Conform to the current spec for bless.
12:12
moritz is anybody going through the test suite to remove the * from bless? 12:15
if not, I can do that
colomon is working on ABC right now 12:18
masak moritz: my favorite sentence so far:
'At any rate, its odor is variously described as "foul", "unpleasant", "metallic", "disagreeable", and (wait for it) "characteristic", which is an adjective that shows up often in the literature with regard to smells, and almost always makes a person want to punch whoever thought it was useful.'
tadzik let me guess: mustard gas?
or is that totally unrelated? :) 12:19
masak tadzik: dimethylcadmium. 12:21
lizmat typical 12:22
dalek ecza: 3961d5d | (Solomon Foster)++ | lib/Test.pm6:
Fix bless in testing code.
12:24
tadzik that doesn't tell me much :) But that reminded me of a forum post when someone posted a picture of crystals and said "here's how you do it", followed by a recipe for some deadly toxine
12:32 zakharyas joined 12:33 Rotwang joined
moritz tadzik: most of the gases containing metal are toxic to highly toxic, fwiw 12:35
12:39 xenoterracide left
tadzik that sounds about right 12:39
dalek ast: d2a9e62 | moritz++ | S (21 files):
remove * from bless
12:47 domidumont joined
colomon Okay, so here's weird. 12:51
With all the bless warnings in ABC, processing a 25-tune ABC file took 11 minutes in parrakudo, 1 minute in jakudo. 12:52
dalek kudo/nom: 39024d8 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Make Any.exists|delete only work on undefined values
12:54
lizmat colomon: creating warnings is a lot of work
that's even true in Perl5
arnsholt Output to screen is a real bottleneck. IIRC terminal emulators are known to mostly be a bit slow 12:55
moritz arnsholt: I guess in Perl 6 the bottleneck is that warn() are resumable exceptions 12:56
which walk the call chain to find the handler, print, and then resume
arnsholt Oh, right. That's gonna slow it down as well, yeah
moritz and walking the call chain isn't the fastest, iirc
dalek kudo/nom: 9a63ead | (Elizabeth Mattijsen)++ | src/core/ (4 files):
Remove exist_key and delete_key: they are not specced and not used in core
12:57
12:58 kaare__ left 13:01 domidumont left 13:03 dmol left
colomon With the bless calls fixed, it takes 53s in parrakudo, 32s in jakudo. 13:04
sorry, my second line of that comparison never showed up. but you guys anticipated it nicely!
13:04 dhaivat joined
colomon so the warnings aren't just slow, they're much slower (relatively) in parrakudo. 13:05
moritz so, warnins are *really* slow on parakudo?
colomon seems like
moritz too slow
might also depend on the stack depth
colomon BTW, same task runs in 12s on Niecza, so jakudo still has room for improvement. :) 13:06
moritz colomon: jnthn said at YAPC::EU that there aren't really any optimizations for the JVM yet, just a performance-aware approach at factoring things 13:07
so, I still hope for better performance :-) 13:08
colomon oh, absolutely.
dalek kudo/nom: 7a71ec7 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Hide Set|Bag.delete from backtrace, no point in showing exception from within
13:09
13:09 Mouq joined 13:11 dhaivat left
Mouq r: .++; .say 13:11
camelia rakudo a0d7ce: OUTPUT«1␤»
Mouq does a dance 13:12
13:15 dhaivat joined
moritz Mouq: was that your first rakudo patch? 13:17
13:19 dhaivat left
Mouq The first that actually did anything. I had one that gave NYI on tr/// and an open one with NYI on $str +< $num 13:19
moritz let me just say "welcome to the club" :-) 13:20
Mouq \o/ 13:22
Thank you
lizmat Mouq o/
13:24 benabik left
Mouq o/ 13:25
13:28 benabik joined
dalek kudo/nom: e7d2175 | (Elizabeth Mattijsen)++ | src/core/Key (2 files):
Add KeyBag|KeySet.delete, so that :delete works on KeyBag|KeySet
13:28
kudo/nom: 0aafe9e | (Elizabeth Mattijsen)++ | src/core/KeySet.pm:
Simplify KeySet.exists: if a keys exists with value 0, we have a bug!
kudo/nom: 6fb0651 | (Elizabeth Mattijsen)++ | src/core/Key (2 files):
Simplify KeyBag|KeySet.at_key
13:29 ajr joined
dalek ast: 4df345b | (Elizabeth Mattijsen)++ | S02-types/key (2 files):
Unfudge now passing KeyBag|KeySet<>:delete tests
13:29
13:29 ajr is now known as Guest95905 13:30 Guest95905 is now known as ajr_
masak Mouq++ 13:31
13:33 dhaivat joined 13:37 dhaivat left
dalek ast: b4ac4f3 | (Elizabeth Mattijsen)++ | S02-types/ (2 files):
Add tests for delete failing on Set|Bag
13:43
diakopter lizmat++ # shearing a hundred un-tasty yaks and running a few marathons of legwork to iron out keybag/set shtuff
lizmat ;-) if only I could put Sets in a Bag :-) 13:44
masak lizmat++ # doin' stuff 13:49
13:50 abnorman left 13:51 abnorman joined 13:52 agre left 13:59 btyler joined, raiph joined
lizmat r: say [==] () 14:02
camelia rakudo 9a63ea: OUTPUT«True␤»
lizmat r: say [!==] () # by consequence, should this be False ?
camelia rakudo 9a63ea: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤ in block at src/gen/CORE.setting:15659␤ in sub at src/gen/CORE.setting:15791␤ in block at /tmp/OKR3d5Sol8:1␤␤»
jnthn lizmat: Yes 14:03
Mouq #perl6: To add some basic NQP support in github, I can add it into it's own language category, or I can put the .nqp extension under the Perl category 14:04
My inclination is the latter
*its
lizmat what would be the advantage of having an own language category ? 14:05
Mouq I believe it would then say project dd% NQP rather than dd% Perl 14:06
But it would still be parsed with the Perl syntax highlighter they use. 14:07
lizmat jnthn: the spectest says: is ([!==] ()), Bool::True, "[!==] () eq True";
jnthn hmm 14:08
masak lizmat: that is correct. 14:09
let me explain.
"innocent until proven guilty"
you start by assuming all things are unequal, and then iterate until you find a case that disproves this.
empty list; zero iterations.
the truth holds.
lizmat ok, so any bool reducing metaop with an empty list should return True 14:10
masak you cannot argue "by consequence, [the opposite of [==]()] should be false" -- all [op]() where op is a comparison op are True.
right.
(I'm on a train -- slight lag) :)
lizmat ok, just getting some clarity is good
masak *nod* 14:11
14:15 kaare__ joined 14:16 mtk left 14:17 fridim_ joined
dalek ast: 817927f | (Elizabeth Mattijsen)++ | S03-operators/reduce-le1arg.t:
Only skip the actually failing reducing metaops
14:17
14:21 spider-mario left 14:33 EvanTeitelman joined 14:35 dhaivat joined 14:38 mtk joined 14:39 FROGGS joined
dalek kudo/nom: e3b73d8 | (Elizabeth Mattijsen)++ | src/core/metaops.pm:
Make many metaops with ! on empty lists return True
14:42
ast: 9d26888 | (Elizabeth Mattijsen)++ | S03-operators/reduce-le1arg.t:
Unfudge now passing metaops tests
14:43
14:43 bloonix left 14:44 dhaivat_ joined
lizmat r: [||] () # huh? 14:44
camelia rakudo 6fb065: ( no output )
lizmat r: say [||] () # huh?
camelia rakudo 6fb065: OUTPUT«False␤»
lizmat shouldn't that be True?
masak correct.
no, False.
|| is not a comparison op.
so the above rule doesn't hold. 14:45
in the case of ||, we're looking for a True value.
so the algorithm is "False until found True".
FROGGS if [||] () would be True it could never be false
masak well. "False until found truthy", to be exact. 14:46
lizmat guilty until proven innocent :-)
but yeah, gotcha 14:47
14:47 dhaivat left, dhaivat_ is now known as dhaivat 14:49 cognominal left 14:50 cognominal joined 14:54 denis_boyun left
lizmat is && implemented in regexes ? 14:55
14:55 domidumont joined
jnthn I think && and & are currently synonyms 14:55
lizmat trying to fix [!~~] 14:56
apparently, it doesn't get an op passed 14:57
: say [!~~] ()
r: say [!~~] ()
camelia rakudo 6fb065: OUTPUT«Nominal type check failed for parameter 'op'; expected Any but got Mu instead␤ in sub METAOP_REDUCE_CHAIN at src/gen/CORE.setting:15797␤ in block at /tmp/ZHE_UjacTz:1␤␤»
lizmat suspecting some kind of grammar issue
14:58 domidumont left 15:02 agre joined
lizmat r: say True ~~ () 15:02
camelia rakudo 6fb065: OUTPUT«False␤»
lizmat r: say () ~~ True
camelia rakudo 6fb065: OUTPUT«Potential difficulties:␤ Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤ at /tmp/xfL9dc1JM8:1␤ ------> say () ~~⏏ True␤True␤»
15:03 PacoAir left
lizmat r: try {() ~~ True; CATCH { say $! }} 15:05
camelia rakudo 6fb065: OUTPUT«Potential difficulties:␤ Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤ at /tmp/mEjQTvYNEV:1␤ ------> try {() ~~⏏ True; CATCH { say $! }}␤»
15:06 dhaivat left 15:10 PacoAir joined 15:13 dhaivat joined
lizmat n: say () ~~ True 15:18
camelia niecza v24-92-g3961d5d: OUTPUT«True␤»
lizmat r: say () ~~ True
camelia rakudo e3b73d: OUTPUT«Potential difficulties:␤ Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤ at /tmp/55F_Z0Jmb8:1␤ ------> say () ~~⏏ True␤True␤»
lizmat It seems we not have a spectest for this case
also, this behaviour does not seem to be specced 15:19
FROGGS std: say () ~~ True 15:20
camelia std 27326bc: OUTPUT«Potential difficulties:␤ Smartmatch against True always matches; perhaps you should use :so or *.so or ?* instead at /tmp/ynHp8z7Grq line 1:␤------> say () ~~⏏ True␤ok 00:00 44m␤»
lizmat ah, yes 15:21
FROGGS there is your spec *g*
lizmat so I guess this should be specced then
jnthn thought that was in S03 somewhere... 15:25
dalek ecs: 3c81edd | (Elizabeth Mattijsen)++ | S05-regex.pod:
Add paragraph about literally smartmatching True/False
15:26
lizmat jnthn: you mean this 15:27
Any True ~~ True (parsewarn on literal token)
Any False ~~ False match (parsewarn on literal token)
jnthn Yes
lizmat hmmm… that says "parsewarn" and not "parseerror" 15:28
jnthn Both impls are warning?
"Potential difficulties:" are warnings...note it outputs True at the end.
And STD says ok 15:29
15:29 ajr_ left
lizmat ack 15:29
15:30 ajr joined
dalek ecs: 7cc75e8 | (Elizabeth Mattijsen)++ | S05-regex.pod:
Smartmatching True/False *is* mentioned in S03

This reverts commit 3c81eddad88114a5f7377d55e9685496d9b57491.
15:30
15:30 ajr is now known as Guest43149, PacoAir left 15:31 Guest43149 is now known as ajr_
lizmat hmmm…. can we test for warnings at compile time ? 15:31
dalek ast: e64b224 | (Elizabeth Mattijsen)++ | S03-operators/reduce-le1arg.t:
Missed that these metaops are passing now as well
15:34
Mouq r: 1.++() 15:38
camelia rakudo e3b73d: OUTPUT«Cannot modify an immutable value␤ in sub postfix:<++> at src/gen/CORE.setting:4000␤ in sub postfix:<++> at src/gen/CORE.setting:2216␤ in block at /tmp/Ipput8Jp1R:1␤␤»
lizmat r: say my $a.++ 15:43
camelia rakudo e3b73d: OUTPUT«===SORRY!=== Error while compiling /tmp/DVVIqlpVEa␤Two terms in a row␤at /tmp/DVVIqlpVEa:1␤------> say my $a⏏.++␤ expecting any of:␤ scoped declarator␤ constraint␤ postfix␤ infix stopper␤ in…
lizmat r: my $a; say $a.++
camelia rakudo e3b73d: OUTPUT«0␤»
lizmat r: my $a; say $a.++; say $a 15:44
camelia rakudo e3b73d: OUTPUT«0␤1␤»
dalek ast: 6f2280d | (Elizabeth Mattijsen)++ | S03-operators/reduce-le1arg.t:
Giving up on [!~~] for now
15:45
15:46 PacoAir joined 15:48 thou joined
Mouq r: my $a; $a.++.say 15:50
camelia rakudo e3b73d: OUTPUT«0␤»
15:51 denis_boyun joined
lizmat still correct 15:52
jnthn aye
15:53 ggoebel left
Mouq r: my $a; $a.:<++>.say # alas 15:53
camelia rakudo e3b73d: OUTPUT«===SORRY!===␤No such method 'name' for invocant of type 'QAST::Want'␤»
15:53 ggoebel joined
Mouq r: my @l = ^10; @l».say; @l.».say # :( 15:58
camelia rakudo e3b73d: OUTPUT«9␤7␤5␤3␤1␤8␤6␤4␤2␤0␤9␤7␤5␤3␤1␤8␤6␤4␤2␤0␤»
Mouq r: my @l = ^10; @l.».say # Oh
camelia rakudo e3b73d: OUTPUT«9␤7␤5␤3␤1␤8␤6␤4␤2␤0␤»
Mouq Awesome 15:59
r: (1, 4, 9).»++
camelia rakudo e3b73d: OUTPUT«Cannot modify an immutable value␤ in sub postfix:<++> at src/gen/CORE.setting:4000␤ in sub postfix:<++> at src/gen/CORE.setting:2216␤ in sub hyper at src/gen/CORE.setting:15885␤ in sub hyper at src/gen/CORE.setting:15840␤ in sub METAOP_HYPER_POSTFIX at src/gen…
Mouq r: (my @r = (1, 4, 9)).»++ 16:00
camelia rakudo e3b73d: ( no output )
lizmat TimToady: wrt to S06:2861: shouldn't that be "say TEMP next()' ? 16:03
synopsebot Link: perlcabal.org/syn/S06.html#line_2861
lizmat ah no, it's clear now, but still a bit confusing 16:05
16:14 dhaivat left, dhaivat joined 16:21 kst`` joined, zakharyas left 16:23 PacoAir left, PacoAir joined
dalek kudo/nom: 6fddda1 | (Elizabeth Mattijsen)++ | src/Perl6/Grammar.nqp:
Added TEMP block stub, so that we can make TEMP tests "todo" rather than "skip"
16:23
16:25 kst` left, dhaivat_ joined 16:28 dhaivat left, dhaivat_ is now known as dhaivat 16:29 denis_boyun left 16:32 wtw left 16:33 dhaivat left
felher lizmat: regarding the rakudo/nqp internals workshop: Will there be any recordings, material, slides, ... ? I really would like to attend the workshop myself, since I'm from Germany, but my current heart condition probably doesn't allow me to travel. 16:37
lizmat we're not planning on recording anything, but material and slides may come out of it
felher lizmat: okay, nice. Thanks :)
lizmat and hopefully, it won't be the last time the workshop is given
felher lizmat: yeah, I truly hope that too :) 16:38
lizmat is travel the only problem, or the intensity of 2 days in a workshop as well?
if travel is the only pb, from where would you need to travel ?
16:40 denisboyun joined
felher lizmat: the intensity would be a problem too, yes. So even without travelling it might not be a good idea :) 16:40
lizmat ok, otherwise we could have maybe fixed the travelling issue 16:41
felher lizmat: thanks for trying anyway :)
lizmat yw!
r: my $a=42; say $$$$$$$$$$$$$$$$$$$$a # huh? 16:43
camelia rakudo e3b73d: OUTPUT«42␤»
masak lizmat: generally, "huh?" does not count as a bug report, or even a call for explanation. :)
lizmat: what do you observe, what did you expect to see?
lizmat WAT?
well, I'm looking at t/spec/S04-declarations/state.t
where the test says it's returning a reference to a state var 16:44
that in itself is weird, and seems outdated
but the test also does $$a++
masak o.O
lizmat and doesn't complain about that at compile time 16:45
masak that's Perl 5-think.
jnthn $$$$$a is like $a.item.item.item.item
lizmat perhaps
aha… indeed
ok]
jnthn And .item is just identify here I suspect :)
16:45 wtw joined
lizmat well, that test is suffering from Perl5 think 16:45
# Return of a reference to a state() var
state $svar = 42; 16:46
\$svar;
so, can you return a reference of a var out of a sub? 16:48
my mind seems to have blanked out on that now
jnthn Well, it'll just be a Capture I guess... 16:49
lizmat starting to think all of those tests in t/spec/S04-declarations/state.t are bogus 16:50
dalek ast: bf3ad8c | (Elizabeth Mattijsen)++ | S04-declarations/state.t:
Removed bogus reference to state variable tests
16:54
16:58 pmurias joined
pmurias jnthn: how does nqp::callercode determin which blocks it skips? 16:59
jnthn: QAST::Block's with :blocktype('immediate') are ignored by nqp::callercode? 17:00
jnthn pmurias: Nope, just immediate caller. 17:04
Nothing skipped
pmurias jnthn: right 17:14
jnthn: that means "my $caller;if 1 {$caller := nqp::callercode()}" and "if 1 {my $caller := nqp::callercode()}" work differently 17:15
17:15 FROGGS[mobile] left
jnthn pmurias: Right. 17:19
pmurias: For the things its presently used for, it's fine with the current semantics (it's used directly in a sub) 17:20
pmurias jnthn: the case I'm debugging is that it's called from !cursor_start_cur which is called from !INTERPOLATE and it's capturing the block used for an if statement 17:22
all methods in NQPCursor 17:23
17:23 raiph left 17:24 ssutch joined
pmurias jnthn: github.com/perl6/nqp/blob/master/s...r.nqp#L761 17:25
jnthn: btw is convinient if I post github links to a particular source code line or should I use something else? 17:27
jnthn That's convenient 17:29
!INTERPOLATE can't be backtracked into, so I guess in the end it works out OK?
It's not been an issue on other backends, at least... 17:30
(will only be kinda here for the next while; cooking, but can drop by IRC a bit :))
17:31 rindolf joined 17:36 ajr_ left, raiph joined
dalek ast: 3bfca3a | (Elizabeth Mattijsen)++ | S04-phasers/in-eval.t:
Bring tests back from bitrot since 2009
17:39
kudo/nom: 53d1083 | (Elizabeth Mattijsen)++ | t/spectest.data:
Make t/spec/S04-phasers/in-eval.t part of the spectest
17:40
ast: 198b4c6 | (Elizabeth Mattijsen)++ | S0 (10 files):
Various unfudges and skip->todo changes
17:42
lizmat Lone Ranger&
18:01 BenGoldberg joined 18:20 btyler left
masak amazing. not only does lizmat make all these commits all the time; when she goes offline, she's the Lone Ranger. 18:31
18:32 Ulti left
moritz std: trs/a/b/ 18:34
camelia std 27326bc: OUTPUT«===SORRY!===␤Bogus term at /tmp/JDRacHDt2j line 1 (EOF):␤------> trs/a/b/⏏<EOL>␤Undeclared routines:␤ 'a' used at line 1␤ 'b' used at line 1␤ 'trs' used at line 1␤Parse failed␤FAILED 00:00 42m␤»
masak 'trs'?
jnthn
.oO( translit stuff? )
18:35
18:35 berekuk joined
geekosaur trs/80? :p 18:36
masak .oO( trèz quatre-vingt ) 18:37
GlitchMr std: my int$num=42;my Str$str=~$num;say$str 18:38
camelia std 27326bc: OUTPUT«===SORRY!===␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/f1OcXkJfim line 1:␤------> my int$num=42;my Str$str=~$num;say⏏$str␤Two terms in a row (listop w…
GlitchMr Bare say? That isn't a real problem.
18:38 mauke left
benabik std: say(1) 18:38
camelia std 27326bc: OUTPUT«ok 00:00 42m␤»
benabik std: say 1
camelia std 27326bc: OUTPUT«ok 00:00 42m␤»
GlitchMr std: my int$num=42;my Str$str=~$num;say $str
masak GlitchMr: you'll note you also got TTIAR.
camelia std 27326bc: OUTPUT«ok 00:00 43m␤» 18:39
GlitchMr std: my int$num=42;my Str$str;$str=~$num;say $str
camelia std 27326bc: OUTPUT«===SORRY!===␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at /tmp/D9Hukln_ut line 1:␤------> my int$num=42;my Str$str;$str=~⏏$num;say $str␤Parse failed␤FAILED 00:00 43m␤»
masak GlitchMr: so yes, the warning is bogus, but there's also an error in there.
GlitchMr So, =~ is fine with declarations, but it isn't with standard assignments.
masak wfm. 18:40
why would you ever want to pattern match on a variable you just declared?
GlitchMr Good question. 18:41
std: my $val = "abc"; $val =~= /def/
camelia std 27326bc: OUTPUT«===SORRY!===␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at /tmp/qTZiBQHo9Y line 1:␤------> my $val = "abc"; $val =~⏏= /def/␤Parse failed␤FAILED 00:00 43m␤»
GlitchMr Perl 5 doesn't have =~= operator. 18:42
masak GlitchMr: neither does Perl 6.
moritz masak: the rakudo grammar for tr/// allows a trailing 's', so I wanted to see if it's in STD too 18:43
r: trs/a/b/
camelia rakudo 53d108: OUTPUT«===SORRY!=== Error while compiling /tmp/6heUMIkMmt␤tr/// not yet implemented. Sorry. ␤at /tmp/6heUMIkMmt:1␤------> trs/a/b/⏏<EOL>␤»
GlitchMr What does trs mean? 18:44
moritz nothing. 18:45
r: say Pair.new('a', 'b')
camelia rakudo 53d108: OUTPUT«Too many positional parameters passed; got 3 but expected 1␤ in method new at src/gen/CORE.setting:7965␤ in block at /tmp/7KP2vbbTgk:1␤␤»
masak moritz: any clues as to why in the commit that added 'trs'?
18:45 kaare_ joined
moritz masak: presumably it was cargo-culted over from s///, which does allow a ss/// form 18:47
I'll remove it soonish 18:48
(I also hope to give tr/// some semantics too)
18:48 itz_ joined, kaare__ left
masak oh! 18:50
cargo-culting would explain it.
18:50 itz left
moritz and I missed it while reviewing the pull request. 18:52
18:55 shinobicl_ joined
dalek rl6-roast-data: 79b1e4a | coke++ | / (5 files):
today (automated commit)
18:57
rl6-roast-data: 5f5f6b5 | coke++ | / (5 files):
today (automated commit)
19:02 zakharyas joined 19:04 colomon left 19:05 rindolf left 19:07 dmol joined
masak r: say "foo bar" ~~ ms/foo bar/ 19:33
camelia rakudo 53d108: OUTPUT«「foo bar」␤␤»
19:38 zakharyas left 19:41 shinobicl_ left 19:42 _ilbot left 19:44 _ilbot joined 19:46 EvanTeitelman left 19:48 adu joined
pmurias jnthn: it's not something that I can't workaround (by making nqp::callercode returning null it this case), but something that seemed strange enough to ask about 19:49
20:04 kaare_ left 20:11 EvanTeitelman joined 20:14 agre left
dalek kudo/nom: 152a539 | moritz++ | src/Perl6/ (2 files):
wire up tr/// to .trans
20:21
kudo/nom: 5aeaca0 | moritz++ | src/Perl6/Actions.nqp:
NYI error for tr/// adverbs
20:24 denisboyun left 20:31 iSlug joined
masak rn: for "o thanks", 3, "its so much easier to write now", 7 -> $_, $n { say .uc, "!" x $n } # bash.org/?835030 20:34
camelia rakudo 53d108, niecza v24-92-g3961d5d: OUTPUT«O THANKS!!!␤ITS SO MUCH EASIER TO WRITE NOW!!!!!!!␤»
20:45 xenoterracide joined 20:50 adu left, itz joined 20:52 itz_ left 20:58 berekuk left 21:00 shinobicl_ joined, berekuk joined 21:01 iSlug left
lizmat and Tonto are back 21:08
woolfy is not as crazy as Tonto 21:09
lizmat true
masak .oO( non tanto folle come Tonto ) 21:13
dammit, there are too many languages in my skull... :P
lizmat ah, maar nederlands is daar gelukkig niet een van 21:14
masak no, fortunately :)
but I've been considering taking it up.
lizmat what, and get a sore throat ? :-) 21:15
masak ...I live in Skåne.
too late for such concerns.
timotimo what caused the rakudo.jvm pass rate to drop to 0?
masak timotimo: Oracle finally started charging for the JVM? :P
lizmat on the brighter side: +62 tests passing on parakudo 21:17
jnthn Probably somebody commiting lots of stuff and never testing it doesn't break JVM? :)
jnthn wishes we had automated smoking of each commit 21:18
On all the backends
tadzik you wish. You commit too fast
jnthn It's the only sustainable way in the long run :)
tadzik: Yes but not 24/7! :D
tadzik yeah, right ;)
21:18 raiph left
lizmat could it be the TEMP block stub I added ? 21:19
jnthn lizmat: It's hard to guess.
Maybe if I read the commits I could...
lizmat NQP revision bump ?
jnthn But been debugging Moar stuff today, and preparing teaching...
lizmat "less syntactic sugar for TypedHash/Array" 21:20
ah, but that was Friday, so that would have been caught by yesterday's run 21:21
t/spec/S03-binding/hashes.t failing now with HEA 21:23
D
weird, if I run it with perl6, it generates the correct output for all 38 tests 21:25
$ make t/spec/S03-binding/hashes.t
t/spec/S03-binding/hashes.t .. No subtests run
Test Summary Report
-------------------
t/spec/S03-binding/hashes.t (Wstat: 11 Tests: 0 Failed: 0)
Non-zero wait status: 11
tadzik fudging?
oh, no
lizmat no rakudo fudges 21:26
jnthn: "wishes we had automated smoking of each commit" that's called Jenkins, no? 21:27
jnthn lizmat: Well, could do it with that, yes. 21:29
r: say :16(182)
camelia rakudo 5aeaca: OUTPUT«Nominal type check failed for parameter '$str'; expected Str but got Int instead␤ in sub unbase at src/gen/CORE.setting:6179␤ in block at /tmp/5enSo2fZ6P:1␤␤»
jnthn r: say 182.base(16) 21:30
camelia rakudo 5aeaca: OUTPUT«B6␤»
jnthn aha
21:31 bruges left 21:33 bruges joined 21:34 denis_boyun joined, denis_boyun left 21:37 fridim_ left
pmurias jnthn: re smoking on all backends for every commit, something like that would be great for nqp 21:42
jnthn pmurias: That also 21:43
NQP is at 2 backends in the repo ATM, but with the third and forth already in sight... 21:45
21:52 BenGoldberg left
dalek ast: aa9255d | (Elizabeth Mattijsen)++ | S0 (6 files):
Some more unfudges and skip->todo changes
22:05
lizmat gnight, #perl6! 22:06
masak 'night, lizmat
'night, #perl6
22:07 fridim_ joined 22:09 xinming_ left 22:11 xinming joined 22:16 shinobicl_ left, PacoAir left 22:30 Rotwang left 22:34 xenoterracide left
jnthn 'night, #perl6 22:41
22:51 xenoterracide joined 22:53 iglee joined 22:57 dmol left 23:13 jferrero left, sivoais left, jferrero joined, sivoais joined 23:26 pmurias left 23:29 dayangkun left 23:38 iglee left 23:45 xenoterracide left 23:57 shinobicl_ joined
[Coke] jenkins++ or something like it++ 23:58