»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by moritz on 25 December 2014.
00:06 wtw left 00:12 skids joined 00:16 Kristien left, Kristien joined 00:19 Kristien left 00:34 fernand__ joined
raydiak .tell tadzik bugfix PR up for rakudobrew 00:43
yoleaux raydiak: I'll pass your message to tadzik.
00:44 laouji joined 01:07 davido___ left 01:08 |Tux| left, telex left, |Tux| joined 01:09 skids left, davido___ joined 01:10 moritz_ joined, telex joined, broquain1 joined
timotimo i don't have access to rakudobrew :( 01:13
01:16 moritz left, broquaint left, mst left, jdv79 left, cursork left 01:20 cursork joined, mst joined, jdv79 joined, dylanwh joined, JimmyZ joined, renormalist joined, leedo joined 01:22 echowuhao left 01:23 Sysaxed left, jantore left 01:24 jantore joined 01:29 adu left 01:33 jantore left, jantore joined 01:35 laouji left, raiph left, Sir_Ragnarok left, robinsmidsrod left, yakudza left, Maddingue left, arnsholt left, mtj_ left, Vlavv_ left, ilbot3 left, d^_^b left, mrf left, aoeuhtns left, simcop2387 left, eiro left, yoleaux left, ShimmerFairy left, zoosha left, jferrero left, krunen left, rhr_ left 01:38 adu joined 01:39 laouji joined, Vlavv_ joined, raiph joined, Sir_Ragnarok joined, ilbot3 joined, d^_^b joined, robinsmidsrod joined, yakudza joined, aoeuhtns joined, mrf joined, simcop2387 joined, eiro joined, yoleaux joined, Maddingue joined, ShimmerFairy joined, zoosha joined, jferrero joined, arnsholt joined, krunen joined, mtj_ joined, mathw joined, cosimo joined, danaj joined, burnersk joined, BinGOs joined, rhr_ joined, ruoso joined, BooK joined, sergot joined, mls joined, Celelibi joined, card.freenode.net sets mode: +v yoleaux 01:40 laouji left, raiph left, Sir_Ragnarok left, robinsmidsrod left, yakudza left, Maddingue left, arnsholt left, mtj_ left, Vlavv_ left, ilbot3 left, d^_^b left, mrf left, aoeuhtns left, simcop2387 left, eiro left, yoleaux left, ShimmerFairy left, zoosha left, jferrero left, krunen left, mathw left, cosimo left, danaj left, burnersk left, BinGOs left, rhr_ left, ruoso left, BooK left, sergot left, mls left, Celelibi left, Grrrr left 01:41 laouji joined, Vlavv_ joined, raiph joined, Sir_Ragnarok joined, ilbot3 joined, d^_^b joined, robinsmidsrod joined, yakudza joined, aoeuhtns joined, mrf joined, simcop2387 joined, eiro joined, yoleaux joined, Maddingue joined, ShimmerFairy joined, zoosha joined, jferrero joined, arnsholt joined, krunen joined, mtj_ joined, mathw joined, cosimo joined, danaj joined, burnersk joined, BinGOs joined, rhr_ joined, ruoso joined, BooK joined, sergot joined, mls joined, Celelibi joined, card.freenode.net sets mode: +v yoleaux 01:46 robins joined 01:50 jantore left 01:51 robinsmidsrod left, jantore joined 01:53 __zug__ left 01:55 chenryn joined 01:59 Grrrr joined, grettir left 02:01 jantore left, jantore joined 02:04 tim_ joined 02:06 jantore left, jantore joined 02:07 jbotz left, skids joined 02:08 tim_ left 02:10 Grrrr left, raiph left
dalek osystem: 032e0ea | (Andrew Egeler)++ | META.list:
Add XML::Signature
02:14
02:16 Grrrr joined 02:19 dj_goku joined, dj_goku left, dj_goku joined 02:30 fernand__ left 02:39 laouji_ joined
dalek c: 694d8b9 | TimToady++ | lib/Language/5to6.pod:
explain differences in conditionals/while
02:39
02:43 laouji_ left
dalek c: 9137e59 | TimToady++ | lib/Language/5to6.pod:
note that unless doesn't allow else
02:44
02:45 ilbot3 left 02:48 ilbot3 joined 03:07 noganex joined 03:10 noganex_ left
dalek c: 8ed9913 | TimToady++ | lib/Language/5to6.pod:
some notes on "now"
03:10
03:15 firefish5000 joined 03:18 Psyche^ joined 03:20 raiph joined 03:22 Patterner left 03:24 dolmen left 03:26 broquain1 is now known as broquaint
dalek kudo/native-ref: 1bb9e5a | hoelzro++ | src/Perl6/Grammar.nqp:
Fix S26 errors

Calling create_signature_and_params overwrites $*PRECEDING_DECL with the final parameter object in the signature, so we need to preserve it so that trailing POD can still attach to the routine.
03:28
hoelzro .tell jnthn I fixed the S26 failures, but I didn't manage to get rid of the dummy stuff
yoleaux hoelzro: I'll pass your message to jnthn.
hoelzro .tell jnthn I think you and I will have to have a chat about the best way to do that
yoleaux hoelzro: I'll pass your message to jnthn.
03:35 firefish5000 left 03:37 dolmen joined
dalek c: b17117b | TimToady++ | lib/Language/5to6.pod:
s/value/variable/
03:42
03:46 laouji left, laouji joined 03:51 laouji left 04:10 raiph left 04:17 anaeem1_ joined 04:20 chenryn left 04:24 leont left 04:25 echowuhao joined 04:26 xinming joined 04:29 echowuhao left 04:31 laouji joined 04:32 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
dalek c: b693760 | paultcochrane++ | lib/Language/5to6.pod:
s/scoped/scope/
05:47
[ptc] TimToady++ # doc corrections and updates 05:49
05:57 myp left 06:00 myp joined 06:07 mr-foobar left
dalek c: cb85aa2 | TimToady++ | lib/Language/5to6.pod:
more random tweaks
06:09
moritz_ \o 06:12
06:12 chenryn joined 06:13 laouji_ joined 06:18 laouji_ left 06:34 average joined
average hello folks 06:34
just read an article on Go tmikov.blogspot.ro/2015/02/you-dont...e-you.html
an interesting read. I suppose language designers are a good audience for it since it talks about problems that Go has 06:35
hopefuly Perl6 will learn from that article what it can
TimToady I don't think we share many problems with Go 06:37
Go should probably have been named No instead... 06:39
06:39 xinming left
TimToady (btw, that article was posted here several days ago already) 06:41
average i'm sorry to have brought it up again then 06:43
06:43 telex left 06:44 telex joined
TimToady no problem, better too many than too few 06:55
06:56 FROGGS left 07:07 gfldex joined 07:09 rindolf joined 07:10 wtw joined 07:11 diana_olhovik_ joined 07:28 dolmen left 07:36 gfldex left 07:40 fhelmberger joined, rurban joined
dalek ast: 5a9036a | TimToady++ | S02-literals/quoting-unicode.t:
test that smart quotes work if balanced
07:41
07:42 dolmen joined, darutoko joined 07:47 Rounin joined 07:52 FROGGS joined 07:57 dolmen left
FROGGS .tell colomon I don't understand how Compress::Zlib::Raw can fail for the smoker... see gist.github.com/FROGGS/229dffa2ef287aa08f83 07:57
yoleaux FROGGS: I'll pass your message to colomon.
08:01 _mg_ joined 08:02 prime- joined
average FROGGS: maybe Rakudo version differs on the smoker. maybe zlib is missing on the smoker. 08:04
08:05 prime left
average there needs to be a description of what software is present on the smoker 08:05
FROGGS average: the tests passed like 12 days ago, so I would gess that the zlib is on that box 08:06
average: but yeah, the build or test log would be very very helpful here
average: as I understand it the smoker always runs rakudo HEAD 08:07
(like what I do)
nwc10 <aol/>
average FROGGS: yeah, except HEAD can mean a lot of things 08:09
FROGGS it would also help if the smoker would send reports to this site: testers.perl6.org/dist/Compress::Zlib::Raw 08:12
(using panda's report functionality)
sergot morning
FROGGS morning sergot
average how do you guys actually keep sticking to the projec(Rakudo) ? 08:13
I'm surprised to see you all so commited for so much time
and so focused
don't you have like.. jobs and drink coffee and fall asleep on couches ? 08:14
FROGGS hehe
well, I've got a job and I have three kids (.7m, 3.7y and 5.1y)... 08:15
but I'll do what I can when I sit in their room when they are meant to fall asleep, which can takes about 2 hours each evening 08:16
and, instead of watching tv or playing games I usually hack until midnight 08:17
08:17 wicope joined
average FROGGS: seriously ? 08:17
FROGGS (just to regret it every other morning)
average: aye
average amazing..
08:19 Ven joined
moritz_ much the same here (though with only two kids) 08:19
FROGGS average: and rakudo to me is not just about committing something to an open source project... I learn a lot, every day, and that makes it challenging and fun 08:20
moritz_ also, friendships emerge from the community 08:21
08:22 moritz_ is now known as moritz
FROGGS true :o) 08:22
moritz: that reminds me that we have to meet in person some day :o)
moritz I've never seen FROGGS in real live, but I'd invite him over without any hesitaiton
FROGGS: timing :-)
FROGGS moritz: well, I've seen you once...
at the YAPC::EU in frankfurt, you talked about exceptional exceptions 08:23
moritz FROGGS: if you ever visit the Nürnberg/Fürth area, let me know
FROGGS: I wasn't at YAPC::EU in Frankfurt :(
FROGGS ohh...
then I've just seen a video?
mhh....
moritz might be possible
FROGGS yeah, probably
moritz I did talk about exceptions at YAPC::EU in Kiev
FROGGS ahh
well, at the YAPC::EU in 2012 I heard about Perl 6 for the first time anyway 08:24
nwc10 must be about time for *another* German Perl Workshop in Erlangen soon :-)
moritz nwc10: well yes, it was 2008 and 2012, so the next one should be 2016
nwc10: we are... discussing the possibility. 08:25
FROGGS dunno if 2016 is "soon" and if Erlangen.pm would like to do it
08:25 bjz joined
FROGGS moritz: you are not coming to Dresden, are you? 08:25
nwc10 you get a cycle off in 2100, because it's not a leap year.
moritz FROGGS: nope :(
FROGGS :/
I wont be at the yapc::eu this year either 08:26
moritz I'd also like to attend the QA hackathon, but won't make it :(
FROGGS yeah
08:27 Cyrus joined
FROGGS my plan is to attend qa, gpw, and maybe spw, though that depends on general holiday planning with $family 08:29
moritz hasn't seen timotimo IRL either :( 08:34
FROGGS moritz: then you probably won't have met ven either? 08:35
moritz FROGGS: correct
average FROGGS: do you get to use those things you learn in some real situation ?
Ven looks around
hi, hi
average Ven you're missing an n
08:35 bjz left
moritz average: I'm not FROGGS, but I do :-) 08:36
Ven has seen timotimo IRL aplenty..:)
average moritz: in your dayjob ? can you give some examples ?
FROGGS average: ohh yes...
moritz average: compilers are all about parsing text and then transforming data structures 08:37
FROGGS average: I do not just learn about Perl 6 (the language), I learn a lot about C (and C++ nowadays), and also a lot about programming patterns for $dayjob problems
jnthn++ for a very good knowhow transferability 08:38
moritz average: I do that basically daily. Read some config files, or exports of data sets from other programs, munge them together, detect errors
08:38 robins is now known as robinsmidsrod
moritz average: also things like collaborative working, automating things (just think of camelia, our doc.perl6.org builds, ...) 08:38
usage of ticket systems for documentation and communication 08:39
average: also, doing a bit programming language design (around TimToady++, no less) gives you a keen eye for programming languages, which in turn can help learning new languages
FROGGS ... or understand old languages better
moritz aye 08:40
08:41 Ven left
average interesting 08:41
08:41 pdcawley joined
moritz also I learned a lot about abstractions 08:42
and how closures actually work
FROGGS .tell Kristien do you have something special in mind except for the obvious? - FROGGS: also have fun with union members!
yoleaux FROGGS: I'll pass your message to Kristien.
FROGGS yes, the "where to put things" I basically learned here... 08:43
jnthn has also learned plenty :) 08:58
yoleaux 03:28Z <hoelzro> jnthn: I fixed the S26 failures, but I didn't manage to get rid of the dummy stuff
03:28Z <hoelzro> jnthn: I think you and I will have to have a chat about the best way to do that
jnthn hoelzro: \o/
nwc10 jnthn: ASAN likes nativeref 08:59
09:00 Woodi left, Woodi joined
jnthn nwc10: Yay. You did spectest too, I guess? 09:01
jnthn can't remember exactly what gets run in the nwc10++ ASAN runs 09:02
09:02 Ven joined
nwc10 yes. IIRC one failed that doesn't fail with nom 09:02
jnthn exceptions.t prolly
nwc10 spectest. But wierd errors fails. And I have not been digging on that one
jnthn I'm just behind on latest commits in nom
09:02 bjz joined
Ven o/, #perl6 09:03
jnthn hi Ven 09:04
09:04 virtualsue joined 09:17 pecastro joined 09:21 kjs_ joined 09:26 average left, pecastro left 09:27 mkrull joined 09:29 pecastro joined 09:30 pecastro left 09:31 laouji left
itz returns to digging in the perl5 banking salt mines and wishes he was in the bright light of perl6 above 09:31
09:33 zakharyas joined
Ulti ^ 09:34
jnthn .tell hoelzro Yay, spectest in native-ref now looks sehr gut. Thanks! 09:39
yoleaux jnthn: I'll pass your message to hoelzro.
mkrull Hello. Where do I find the docs for the Perl 6 standard library? Is there even such a thing or is that implementation dependent? Specifically I am searching for rakudos IO::Socket docs but I am somewhat lost googling. 09:40
moritz mkrull: doc.perl6.org is the most complete right now, though it doesn't document IO::Socket yet 09:41
mkrull: design.perl6.org/S32/IO.html talks a tiny about IO::Socket, but not much
09:42 pdcawley left
mkrull moritz: ok. I took a look at some packages that use IO::Socket but that is a very limited view. Is there a test suite I could check out? 09:43
09:44 dakkar joined
moritz mkrull: github.com/perl6/roast/ see the S32-io/ dir 09:46
mkrull: and doc contributions would be *very* welcome :-)
09:46 abraxxa left 09:47 abraxxa joined 09:48 laouji joined, espadrine joined, Ven left
mkrull moritz: Thanks. Contributions to the docs go to? Maybe github.com/perl6/doc ? 09:50
09:52 laouji left 09:53 Ven joined
jnthn mkrull: Yes 09:54
moritz mkrull: yes, exactly
09:55 larion joined, Ven left, Ven joined 10:00 pdcawley joined 10:02 Ven left 10:05 mkrull left 10:06 _mg_ left
masak good antenoon, #perl6 10:13
FROGGS hi masak
dalek kudo/native-ref: 245c9ea | jnthn++ | src/Perl6/Actions.nqp:
Add missing :node(...)
10:14
kudo/native-ref: af29414 | jnthn++ | src/Perl6/Actions.nqp:
Remove dead code.
10:15 lizmat joined
FROGGS .oO( bury dead code ) 10:18
dunno why I have to think about Dobby now
I probably read too much Harry Potter...
dalek ast: e30cc14 | jnthn++ | S12-attributes/native.t:
Various tests for natively typed attributes.
10:19
kudo/native-ref: c2673d7 | jnthn++ | src/ (2 files):
Support defaults on native attributes.

We're somewhat lacking in a way to represent unassigned for native int and num attributes at the moment, so there's something of a semi-predicate bug here. Not entirely sure what to do about that; maybe we'll simply have to live with it.
10:22
kudo/native-ref: 9d00e31 | jnthn++ | t/spectest.data:
Run S12-attributes/native.t.
10:23 _mg_ joined 10:24 adu left 10:29 _mg_ left
dalek kudo/native-ref: 730ec57 | jnthn++ | src/Perl6/Actions.nqp:
Make twigil-less natively typed attrs work.

This also adds the missing self availability check for the twigil-less path and eliminates some code dupe.
10:35
ast: 6b73649 | jnthn++ | S12-attributes/native.t:
Tests for non-twigil native attribute decls.
jnthn Hmm, was there not an outstanding issue involving the REPL and natively typed lexicals? 10:38
moritz > my int $x = 4;
4
> $x
0
tadzik . o O ( solve for $x ) 10:39
yoleaux 00:43Z <raydiak> tadzik: bugfix PR up for rakudobrew
tadzik oh :)
jnthn > my int $a = 42;
42
> $a
42
So...apparently I fixed it. 10:40
masak \o/
tadzik raydiak++
jnthn I don't remember fixing it.
:)
tadzik jnthn++ :)
masak the "apparently I fixed it" maneuver! :P
apparently jnthn++ :P
jnthn Thanks for confirming it's bust in nom, anwyays.
tadzik classic jnthn :P
jnthn Quick poll on preferences 10:41
I've now got native-ref at the point where native is rw args work, as does is rw on native attributes, plus things like list-assigning to Buf elements works out 10:42
The serious remaining bug is on decont handling of native return values 10:43
Beyond that, it's JVM porting and then digging into the optimizers/JIT to deal with performance regressions.
I was going to also do native arrays in the branch, but I'm tempted now to do what's needed to land what I've got done so far in nom, then afterwards work on the native arrays. Sound sane? 10:44
[ptc] m: my @moo = []; say @moo.elems; say [].elems; 10:48
camelia rakudo-moar 546000: OUTPUT«1␤0␤»
[ptc] I'm confused as to why a seemingly empty array gives a non-zero .elems value. What am I misunderstanding here? 10:49
jnthn [ptc]: [] is an array itself, it doesn't flatten 10:51
m: my @moo = []; say @moo.perl
camelia rakudo-moar 546000: OUTPUT«Array.new([])␤»
jnthn m: my @moo = (); say @moo.perl
camelia rakudo-moar 546000: OUTPUT«Array.new()␤»
jnthn Same as in Perl 5, fwiw. 10:52
perl -E "say length(my @a = [])"
1
uh :)
perl -E "say scalar(my @a = [])"
1
perl -E "say scalar(my @a = ())"
0
:)
[ptc] jnthn: ok, thanks for the explanation. However, why does [].elems give 0? 10:53
jnthn [ptc]: Because it's an empty array
m: my @moo = []; say @moo[0].elems;
camelia rakudo-moar 546000: OUTPUT«0␤»
jnthn my @a = [] # put an empty array, as an item, into @a 10:54
[ptc] so when one doesn't assign [] to a variable, it flattens and not otherwise?
jnthn: hang on, now I think I get it
jnthn No, it's not really about flattening. Method calls always "see through" to the underlying thing. 10:55
[ptc] ah, ok, so the [] is an item in the array. Ok that I get
jnthn: thanks :-) 10:56
nwc10 jnthn: native arrays are currently completely unimplemented? 10:57
jnthn nwc10: Yeah 10:58
nwc10: Though I've now got most of the pieces to implement them.
nwc10 OK, I'd recommend "do land", as that's "Release early, release often"
jnthn Yeah, that was my feeling too
10:58 anaeem1__ joined 10:59 anaeem1__ left, anaeem1 joined 11:00 anaeem1_ left
masak jnthn: re 'Sound sane?' -- YES 11:00
nwc10 t/spec/S32-exceptions/misc.rakudo.moar 11:01
Failed tests: 274, 281
jnthn nwc10: Those two are down to missing commits from nom 11:05
dalek kudo/nom: aff3d16 | lizmat++ | src/core/List.pm:
Make List.kv completely flatten its values
11:13
lizmat as instigated by discussion started at irclog.perlgeek.de/perl6/2015-02-24#i_10169279 11:14
mjreed++ japhb++ timotimo++
11:17 anaeem___ joined, anaeem___ left 11:18 anaeem1__ joined
moritz jnthn: re straw poll: landing native-ref first sounds sane to me 11:18
11:18 anaeem1 left 11:28 pecastro joined
FROGGS jnthn: please go ahead and merge... I wanna play with that stuff :o) 11:32
(and we also need to get everything in a good shape until next compiler and star release) 11:33
lizmat TimToady: re irclog.perlgeek.de/perl6/2015-02-24#i_10169420 about grep-index vs grep :k
jnthn FROGGS: Well, merge needs some work yet
lizmat I can see the consistency, but I was also under the impression that adding named params is a bit of a code smell
jnthn I suspect I can get it mergeable by the weekend. 11:34
lizmat in any case, we have a problem if we want to do the same for first-index and last-index
as "last:k" is at least from a readability point of view, ambiguous?
jnthn Provided the sort-of-cold-fever thingy I think I've failed to really get continues to not really happen, at least. :)
FROGGS jnthn: sure, no hurry :o) 11:35
lizmat wrt to native-ref merge, +1 from me
jnthn OK, I'll work towards that. Thanks.
lizmat I could use it in the newio branch :-)
FROGGS *g* 11:38
dalek c: 3a1f29a | moritz++ | lib/Language/variables.pod:
Fix intra-document Link. Closes #52
11:42
jnthn is really happy to see all the doc work that's going on 11:43
tadzik sergot: does your recent MoarVM patch fix openssl? 11:46
11:47 leont joined
timotimo o/ 11:51
timotimo looks into fine-tuning the spesh allocator for less wasted memory 11:52
timotimo is going to build a little analysis tool/visualization
that idea almost wouldn't let me sleep last night
masak :) 11:53
FROGGS timotimo: that might be a good sign 11:56
timotimo m: say "before: {87872/1024} MB" 12:02
camelia rakudo-moar aff3d1: OUTPUT«before: 85.8125 MB␤»
[Tux] m: use Test;my Str $s;is($s,Str,"init");done;
camelia rakudo-moar aff3d1: OUTPUT«use of uninitialized value $got of type Str in string context in sub is at lib/Test.pm:113␤␤use of uninitialized value $expected of type Str in string context in sub is at lib/Test.pm:113␤␤ok 1 - init␤1..1␤» 12:03
timotimo m: say "after: {85144/1024} MB"
camelia rakudo-moar aff3d1: OUTPUT«after: 83.148438 MB␤»
[Tux] can I RT that as a feature request to not warn but do as expected?
timotimo a tiny bit more than 2 megabytes saved; not sure if that's really worth it
12:03 mls left
lizmat [Tux]: please do 12:03
timotimo we don't have an isa?
oh 12:04
you want to check that it's ... yeah, i get it
that's a legit bug indeed
masak not so sure. 12:05
&is stringifies. 12:06
I think what you want is `ok $s === Str`
12:06 wicope left
psch \o 12:06
moritz [Tux]: is() does as string comparison. It's by design that it warns
[Tux]: you can use is_deeply for comparing type objects 12:07
[Tux] the "probelm with $s === Str is that it doesn't show expected vs got
moritz hence is_deeply 12:08
[Tux] «expected "foo", got Str» is way more helpful than "fail"
is_deeply it will be
IIRC it didn't work back in October, but I'll try again
masak honestly wouldn't've thought to use &is_deeply there 12:09
moritz m: use Test; plan 1; is_deeply Str, Str, 'Look, Tux, a Str';
camelia rakudo-moar aff3d1: OUTPUT«1..1␤ok 1 - Look, Tux, a Str␤»
timotimo yeah, "is_deeply" is weird
for this case
[Tux] $work calls :(
back in a bit
moritz well, we could call it &is-structurally-equivalent, but that would kill all the fun using it, I fear 12:10
psch and &is becomes &is-string-value-equivalent
yay disambiguation
moritz aye
12:10 chenryn left
moritz I meant /aye\ 12:10
timotimo mhh 12:11
heyo psch
dalek kudo/nom: 6662cdc | lizmat++ | src/core/array_slice.pm:
Make foo[] return self as with foo{}
psch o/ timotimo
timotimo how are you on this fine day?
12:11 skids left
psch timotimo: i'm ok, if frustrated with not-perl6-stuff 12:12
12:12 sqirrel joined
dalek ast: 31ab3dc | lizmat++ | S02-lists/tree.t:
Mark regressed test as todo
12:12
masak has some improvements he wants to make to &is_deeply
timotimo :( 12:13
12:13 sqirrel_ joined
[Tux] would not have expected stringification in is(). 12:15
jnthn timotimo: 2MB is a big saving
12:16 mls joined
masak |Tux|: I've occasionally felt it's weird, but it's also oddly universal. 12:16
jnthn timotimo: How'd you get it?
masak |Tux|: but yeah, it's a bit of a holdover from p5 in a way.
12:16 sqirrel left
moritz also a result of is_deeply/cmp being *very* strict 12:17
masak can say "holdover" without implying that 6 > 5 :)
moritz masak: you can also say "legacy" without implying that 6 > 5 :-)
[Tux] blames you guys for www.perlmonks.org/?node_id=1117735
masak I shudder to think how fundamentally roast would break if we made &is stricter now.
timotimo jnthn: made (only) the first spesh alloc block 1/4th of the size of the others
i'm doing some more precise measurements now; the previous measurements only included the alloc behavior of spesh graphs we'd destroy before the program ends 12:18
nwc10 masak: is there an automated way to measure the breakage? 12:21
moritz nwc10: sure; do the changes, run a spectest :-)
nwc10 oh oops, I misread "roast" as "panda" and thought "all the ecosystem" 12:22
moritz oh well, the ecosystem would have fallout too 12:23
I forgot that :-)
sergot tadzik: nope, it's not related to openssl :(
12:24 virtualsue left 12:25 virtualsue joined
[Tux] imagines «!$expected.defined && !$got.defined && $got.^name eq $expected.^name and return True;» before the strinigication would not break a single test 12:25
lizmat is spectesting a fix to Test::is 12:28
timotimo m: say "with not buggy allocator: {83780/1024} MB"
camelia rakudo-moar aff3d1: OUTPUT«with not buggy allocator: 81.816406 MB␤»
timotimo more savings!
all i needed to do was not mess up the code! :)
12:28 virtualsue_ joined
masak should've thought about that ages ago! :D 12:28
timotimo agreed!
12:29 virtualsue left, virtualsue_ is now known as virtualsue
lizmat timotimo++ 12:29
FROGGS tadzik / sergot: are you talking about the opened openssl issue?
masak maybe we need a listop version of prefix:<^>: www.perlmonks.org/?node_id=1117750
masak is sorely tempted to suggest 'upto' 12:30
timotimo that's for a "say 1", fwiw
tadzik FROGGS: apparently not :P
timotimo spesh already does a lot of work for just an "empty" program
masak also, if prefix:<^> is short for 0..^$N, then the strangely consistent prefix standing for 0..$N must be prefix:<> :P 12:31
FROGGS tadzik: what is the issue ooc?
masak .oO( INVISIBUL PREFIX ) 12:32
lizmat [Tux]: hmm... quite some spectest breakage with new improved is()
[Tux] sorry for asking
tadzik FROGGS: 1.0.1f fails tests
lizmat [Tux]: no pb, the tests seem to be faulty :-) 12:33
[Tux] OUCH!
moritz lizmat: how did you improve &is?
timotimo www.perlmonks.org/?displaytype=disp...id=1117790 - i like this approach 12:34
lizmat moritz [Tux] : gist.github.com/lizmat/4088f2f7988252a35332
basically, create a candidate for defined $expected and undefined $expected 12:35
FROGGS tadzik: I have that version and it fails a test in t/02-socket.t
tadzik FROGGS: yeah, exactly :)
lizmat if $expected is undefined, then we expect $got to also be undefined for a match
sergot FROGGS: we are not sure it's 1.0.1f, it's just my guess
lizmat and vice-versa: if $expected is defined, we expect $got to also be defined for a pass 12:36
sergot FROGGS: that's the problem, t/02-socket.t, retupmoca has 1.0.1k and it works there
lizmat mix of defined/undefined is per definition a failure
I thought that would make the most sense
sergot FROGGS: I started upgrading my openssl but I stopped at some point, dont know why, will try again right now 12:37
[Tux] no: if stringification of a defined objects reurns something undefined, one goes wrong
lizmat let me rephrase: if there is a mismatch between defined/undefined, it is a Fail 12:38
FROGGS sergot: the BIO CStruct has `int` attributes, which is definitely wrong
[Tux] class C { int $i = 0; Str { return ?$i ?? $i !! Str; }}
lizmat if there is a match, then if undefined use === as comparator, if defined, use eq as comparator
FROGGS sergot: the subs take int also
jnthn timotimo: (empty program) yes, it may be worth tuning the thresholds, but if doing so please also compare perl6-bench runs before/after too 12:40
timotimo will do, as soon as i've built the analysis tool to see what's really going on 12:41
sergot FROGGS: should it be int32?
FROGGS sergot: no, long 12:42
sergot: gimme a minute or two
12:42 kjs_ left
sergot FROGGS: ok 12:42
dalek c: 45ae7be | paultcochrane++ | lib/Language/traps.pod:
Add note about assigning the empty array to an array

After noting some confusion in perl6-examples/games/yahtzee.p6 about an returned array, the issue was reduced to that discussed here. Thanks to
  jnthn++ for explaining why this is.
12:43
c: aa52704 | paultcochrane++ | lib/Language/ (2 files):
Merge branch 'master' of github.com:perl6/doc
lizmat m: use Test; my @al is (@a = Nil), Nil, "Setting to Nil returns Nil" # this test feels faulty to me 12:45
camelia rakudo-moar 6662cd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HcKXtjkw7W␤Invalid name␤at /tmp/HcKXtjkw7W:1␤------> 3use Test; my @al is 7⏏5(@a = Nil), Nil, "Setting to Nil returns␤»
timotimo m: say 32768 / 4
camelia rakudo-moar 6662cd: OUTPUT«8192␤»
lizmat m: use Test; my @a; is (@a = Nil), Nil, "Setting to Nil returns Nil" # this test feels faulty to me
camelia rakudo-moar 6662cd: OUTPUT«ok 1 - Setting to Nil returns Nil␤»
lizmat it depends on Nil stringifying to '' 12:46
but it does not actually test what it is supposed to, as @a = Nil is Array
12:47 virtualsue_ joined
lizmat does anybody have comments about changes to Test.pm as shown in gist.github.com/lizmat/4088f2f7988252a35332? 12:48
12:48 virtualsue left, virtualsue_ is now known as virtualsue
hoelzro o/ #perl6 12:48
yoleaux 09:39Z <jnthn> hoelzro: Yay, spectest in native-ref now looks sehr gut. Thanks!
lizmat basically: if got/expected mismatch in definedness, it's a fail
timotimo .o( nobody has thought of optimizing Test.pm subs yet, right? ) 12:49
lizmat if both defined, then use eq, if both undefined, use ===
timotimo: I've looked at it in the past, yes...
hoelzro lizmat: looks good to me!
lizmat timotimo: any suggestions ??
timotimo no, just a random thought that has popped into my head
FROGGS tadzik / sergot: the openssl bug is not quite a bug... 12:50
tadzik / sergot: you are checking for a 200 OK but you receive a 302 Found 12:51
lizmat looking at it now, I *do* wonder why we always box $time_before/$time_after
timotimo lizmat: we could make a stupid measurement that simply replaces the body of "is" with "output some valid TAP" and see how much faster that is 12:52
lizmat tries some nativity there
sergot FROGGS: well, rly? :)
FROGGS yeah... I'll commit/PR something in a bit 12:53
sergot huh, that's funny :)) thanks FROGGS++
timotimo damn you, http! 12:54
12:55 Possum left
tadzik hot potato 12:55
timotimo hippity-hop 12:56
12:58 bjz left 13:05 anaeem1__ left
timotimo m: say "{4262064 / (1024 * 1024)} megabytes wasted at the very end of allocation blocks" 13:06
camelia rakudo-moar 6662cd: OUTPUT«4.064621 megabytes wasted at the very end of allocation blocks␤»
dalek pan style="color: #395be5">perl6-examples: 8fb82a3 | paultcochrane++ | games/connect4.p6:
Remove unnecessary method declarations in connect4.p6
13:07
pan style="color: #395be5">perl6-examples: 35ebab6 | paultcochrane++ | games/yahtzee.p6:
Replace print/$*IN with prompt in yahtzee.p6

Now this example works again with current Rakudo
pan style="color: #395be5">perl6-examples: 80fde24 | paultcochrane++ | bin/run-examples.pl:
Stop run-examples.pl from running vim backup files
pan style="color: #395be5">perl6-examples: c343aa5 | paultcochrane++ | cookbook/01strings/01-01substrings.pl:
Restore functionality in cookbook/01strings/01-01substrings.pl
13:07 laouji joined 13:08 xinming joined
timotimo m: say "used to be: { 15207182 / (1024 * 1024)} megabytes wasted at the very end of allocation blocks" 13:11
camelia rakudo-moar 6662cd: OUTPUT«used to be: 14.5026989 megabytes wasted at the very end of allocation blocks␤»
timotimo (part of this waste doesn't show up in the maxrss because spesh graphs sometimes do get destroyed during the lifetime of a program)
13:11 laouji left
jnthn timotimo: The majority really should. 13:12
timotimo in the empty program it's about half
13:12 bjz joined
timotimo a bit more than half 13:13
jnthn Hm, that suggests a lot of things reach the logging phase, but then get no further than that.
timotimo do we dispose of the spesh graph when we jit? 13:15
i was once tasked to investigate something like that, but couldn't make it not explode 13:16
FROGGS tadzik / sergot: I pushed my changed
changes*
timotimo AFK for a bit
dalek pan style="color: #395be5">perl6-examples: 8a5aa4e | paultcochrane++ | cookbook/10subroutines/10-01arguments.pl:
Handle positional and named parameters to sub
pan style="color: #395be5">perl6-examples: 1eee4b0 | paultcochrane++ | cookbook/10subroutines/10-01arguments.pl:
Add required space before opening curly brace
pan style="color: #395be5">perl6-examples: 8271fe9 | paultcochrane++ | cookbook/10subroutines/10-01arguments.pl:
No longer require parens around hash in for loop
pan style="color: #395be5">perl6-examples: c0f760b | paultcochrane++ | cookbook/10subroutines/10-01arguments.pl:
Remove leading comma in whole() sub

This allows the sub to compile and be called.
pan style="color: #395be5">perl6-examples: a50caeb | paultcochrane++ | cookbook/10subroutines/10-01arguments.pl:
Add extra named_params() example
pan style="color: #395be5">perl6-examples: 350297f | paultcochrane++ | cookbook/10subroutines/10-01arguments.pl:
Show which integer was passed to typed()

Now 10-01arguments.pl works again.
13:17 _mg_ joined
jnthn timotimo: I think we get rid of the spesh *graph*, it's just that we also produce bytecode 13:17
13:20 Ven joined 13:25 kjs_ joined
dalek pan style="color: #395be5">perl6-examples: 431867d | paultcochrane++ | games/flashcard.p6:
Assign %table elements to the empty array

This gets the (half-implemented) games/flashcard.p6 example working again.
13:28
13:28 dalek left, dalek joined, ChanServ sets mode: +v dalek 13:33 sqirrel_ left 13:36 Ven left
lizmat timotimo: alas, complete nativication of Test.pm doesn't result in real measurable improvement 13:37
I guess it all drowns out by the overhead on .print / .say
lizmat shelves that idea for a later time
13:45 Possum joined 13:53 raiph joined 13:56 raiph left
timotimo lizmat: understood. thank you for trying! 13:58
masak quick #perl6 quiz: when you write a sub or method declaration with no parameters, do you put in the '()' -- i.e. do you do "sub foo {" or "sub foo() {" ?
timotimo i often do it without 13:59
moritz masak: I tend to leave them out, and that bites me when I write NQP code :-)
jnthn I tend to put them in. 14:00
[Tux] does "use Test;" offer something like (If *any* of the tests run up to this point FAILed, exit now) 14:01
psch i'm apparently inconsistent, although no parens seems to occur more often
[Tux] doc.perl6.org/language/testing doesn't show me introspection of state so far
masak I'm definitely inconsistent, too. I just caught myself at it, which was why I asked. 14:02
sergot FROGGS++ thanks!
masak but it seems that the Perl 6 community as a whole is inconsistent ;)
leont [Tux]: I don't think it does, I'll keep it in mind for my Test::More
[Tux] leont++
masak just sped up a script from 49 s to 9 s 14:03
timotimo masak: cool :)
FROGGS masak: I put a () there, yes
timotimo was it an algorithmic improvement or just moving from a less well-optimized construct to a better-optimized construct?
masak timotimo: I realized that instead of computing the same thing 55 times, I could compute it once and then re-use it. 14:04
timotimo ah
one of the simplest ways to optimize
masak caching ftw
FROGGS masak: and I do that to state that I really dont want any args... and to prevent adding signature generating things easily
timotimo also one of the harder problems of CS lie in that area :P
sergot FROGGS: looks like we need the same in io-socket-ssl/t/01...
masak since I'm planning to re-run this script many many times, it's well worth it, too.
FROGGS sergot: feel free :o)
sergot FROGGS: yep :) 14:05
psch i'm struggling to understand how the invokestatic bytecode differs from MethodHandle.invoke in casting of the passed arguments
i'm calling the same method of a java class 1) through RakudoJavaInterop MMD and 2) through BootJavaInterop bytecode
with the same arguments 14:06
and they get parsed by the same methods
masak sorry, the speedup was down to 2.3 seconds. the 9 seconds were when I printed it, too.
14:06 raiph joined
psch and arrive at the callsite as [java/lang/Object (while they are Long[][]) 14:06
masak man, printing is still slow, isn't it?
tadzik yes
psch and the direct invoke through invokestatic works, but MethodHandle.invoke doesn't
nwc10 if so, that's very important to fix. It was one of the two big reasons that Python 3.1 followed rather rapidly after Python 3.0 14:07
psch and complains about not being able to cast [java/lang/Object to [[java/lang/Long
masak wow, it really takes 7.3 seconds just to print the output from that script.
wow.
timotimo nwc10: what are you refering to?
nwc10 slow IO\
timotimo ah yes
tadzik masak: how much faster would it be if you concat it into a single string and then prant it?
timotimo we keep looking up $*OUT over and over and over again
tadzik improvising past tense is so fun 14:08
masak ok, it takes 6.4 seconds with `perl`. so we're not doing that badly.
why the heck does it take that long!?
timotimo because terminals
tadzik to the profilers!
masak timotimo: ah, possibly.
moritz Alle Mann an Deck!
tadzik well, it should be okay if you print to file then
timotimo No manual entry for über
No manual entry for bord 14:09
masak the file is 44428 lines big. so that's 6k lines per second. that sounds low, but I'm not sure.
surely if we could parse at that speed, it'd be impressive ;)
14:10 raiph left
moritz how big is the file in kb/Mb? 14:10
timotimo usually it's 1024 kb/Mb
but not if you ask hard drive producers 14:11
14:11 raiph joined
lizmat
.oO( or fruit producers )
14:11
masak moritz: 3_070_814 bytes.
so on average 69 bytes per line. 14:12
sergot FROGGS: actually I think we don't want to test if there is a status of 200, it's just okay to have 302 in it because io-socket-ssl and openssl have nothing to do with redirections 14:13
FROGGS sergot: true
14:14 raiph left 14:15 raiph joined 14:16 spider-mario joined 14:18 raiph left, raiph joined
lizmat m: class{}.new.*bar.perl.say # I guess the empty Parcel is the correct value, right? and not Nil ?? 14:20
camelia rakudo-moar 6662cd: OUTPUT«()␤»
jnthn Think so
lizmat m: class{}.new.?bar.perl.say # as opposed to ?, which can only return 1 value, so Nil
camelia rakudo-moar 6662cd: OUTPUT«Nil␤»
jnthn Makes sense to me
14:21 dwarring left
lizmat ok, then the fix to is() is showing quite some faulty tests in the woodwork 14:21
timotimo m: my @foobar; @foobar[5][*] = 10; say @foobar; @foobar[5][*] = 20; say @foobar
camelia rakudo-moar 6662cd: OUTPUT«␤␤»
lizmat m: use Test; is $c.*bar(), Nil, '.* on undefined method gives Nil'; # ergo, this test is wrong
camelia rakudo-moar 6662cd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZSjf1B6e5d␤Variable '$c' is not declared␤at /tmp/ZSjf1B6e5d:1␤------> 3use Test; is $c.*bar()7⏏5, Nil, '.* on undefined method gives Nil␤ expecting any of:␤ argument list␤ pos…»
timotimo m: my @foobar; @foobar[5][*+0] = 10; say @foobar; @foobar[5][*+0] = 20; say @foobar
camelia rakudo-moar 6662cd: OUTPUT«(Any) (Any) (Any) (Any) (Any) 10␤(Any) (Any) (Any) (Any) (Any) 10 20␤»
14:21 skids joined
timotimo neat. 14:21
lizmat m: use Test; my $c=class().new; is $c.*bar(), Nil, '.* on undefined method gives Nil'; # ergo, this test is wrong
camelia rakudo-moar 6662cd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8AvpNVoMye␤Undeclared routine:␤ class used at line 1. Did you mean 'last', 'chars', 'close', 'pass'?␤␤»
lizmat m: use Test; my $c=class{}.new; is $c.*bar(), Nil, '.* on undefined method gives Nil'; # ergo, this test is wrong 14:22
camelia rakudo-moar 6662cd: OUTPUT«ok 1 - .* on undefined method gives Nil␤»
timotimo m: my @foobar; push @foobar[2], "hi"; say @foobar
camelia rakudo-moar 6662cd: OUTPUT«(Any) (Any) hi␤»
lizmat even though it says it's correct :-)
timotimo somehow that last one doesn't seem to work on my end :(
14:23 anaeem1_ joined
[Tux] feels somewhat useful again :) 14:23
14:25 raiph left, raiph joined, sven_123 left
timotimo oh, i know what i've done wrong 14:26
14:28 raiph left
timotimo (i had an expression like [@(.value)] and really meant [+@(.value)] 14:28
moritz wishes for an SQL column type that allows old values to be NULL, but new inserts must always be NOT NULL
14:28 raiph joined
timotimo oh 14:28
well, you could have a trigger ...
moritz timotimo: sounds like you want [.value.elems]?
timotimo moritz: ah, that's easier indeed :)
masak oh, by the way: first time I can recall using `state` as a caching mechanism in "production" code.
moritz timotimo: I guess I could, but we don't triggers here :(
14:29 anaeem1__ joined
moritz (old mysql stuff) 14:29
timotimo oh
14:29 Sysaxed joined
arnsholt And triggers are generally a lot more expensive than NOT NULL checks, IIRC 14:29
timotimo you can have a constraint that all rows with index above $n has to have a not-null value
14:29 anaeem1_ left
moritz timotimo: except that mysql doesn't do CHECK constraints :( 14:30
TODO: switch to a saner RDBMS
(read: postgres :-)
timotimo god damn it, mysql
well, at least it's webscale
and Good Enough™
14:30 Ven joined
timotimo No Reason To Ever Switch To Anything Less Bad™ 14:30
masak with that use, `state` is really "have the cake and eat it". I get both the scoping I want, and the value re-use. 14:31
moritz and I fear that if there hadn't bee mysql back then, our in-house developer would have written his own crappy DB engine :-)
lizmat masak: well stated
timotimo well, OK, that's fair i guess, moritz
masak lizmat: I see what you did there.
14:31 raiph left
timotimo i'm not sure if #perl6 trains expert punists or if it just attracts them 14:31
jnthn The pun quality is variable... 14:32
timotimo punsters?
lizmat have an appropriate amount of pun :-)
moritz timotimo: punstates :-)
sjn \o
masak well, it wasn't "my" pun! 14:33
lizmat has the pun.
14:33 sven_123 joined
sjn question; is there some webpage or equivalent that gives an overview of the people involved here? :) 14:33
14:33 raiph joined
masak sjn: github! :D 14:34
sjn masak: url, plz, kthxbye :)
moritz sjn: also www.openhub.net/ (used to be ohloh.net)
though it seems to be quite out of date for many projects 14:35
timotimo damn you, reify. at the very top of my profile again. not spesh'd or jitted either!
1068296 entries, 12712.67ms exclusive time :(
m: say "that's {12712.67 / 1068296} miliseconds per entry" 14:36
camelia rakudo-moar 6662cd: OUTPUT«that's 0.0118999509 miliseconds per entry␤»
timotimo hm
well, i'd still prefer having it thrown out and replaced by a cleverer solution
dalek kudo/nom: 8df9b2d | lizmat++ | lib/Test.pm:
Make is/isnt handle expected type objects properly

Instigated by [Tux]++, it seemed like a good idea to handle type objects as the "expected" value of an is/isnt differently from defined values. So, now the logic is:
  - if got/expected have a defined/undefined mismatch, it is a Fail
  - if got/expected are both type objects (undefined), use === for comparison
  - if got/expected are both defined, use eq for comparison (as before)
This change brings out quite some faulty tests out of the woodwork.
nwc10 lizmat: you didn't flood dalek off. Try harder next time! :-) 14:37
lizmat nwc10: will do a merge soon :-)
moritz lizmat: please update the design docs and doc.perl6.org too; it's quite a change from the current behavior
lizmat will be fixing those test failures now
14:37 xinming left
lizmat moritz: will do, after I fixed the faulty tests 14:37
moritz ++lizmat 14:38
my $test = $got === $expected;
not sure if that should be === or ~~
generally returning a subtype of something expected is fine, as long as you stick with Liskov 14:39
and since we're special-casing types anyway...
moritz just throws ideas around
masak does anyone else feel like they know a great precious secret just by being proficient at `next if` and `next unless` in their loops, avoiding oodles and oodles of indentation from conditionals? 14:40
I don't really see this kind of code in other languages.
timotimo my script still does about 1k lines per second
14:41 wicope joined
colomon masak: hmm? I’ve been using “if … continue” in C++ loops for decades to avoid all that indentation 14:41
yoleaux 07:57Z <FROGGS> colomon: I don't understand how Compress::Zlib::Raw can fail for the smoker... see gist.github.com/FROGGS/229dffa2ef287aa08f83
masak colomon: was that before or after you learned Perl? do your colleagues do the same in C++? 14:42
lizmat moritz: ~~ seems more of the "like/unlike" domain
colomon It’s hard to remember, I learned Perl 21 years ago. :)
masak :)
14:43 xfix joined
colomon … and C++ 26 years ago. 14:43
masak wow. 14:44
colomon Unfortunately I don’t have a lot of old source code I can go back and check.
moritz wow. I couldn't even write 26 years ago
masak colomon: one day I hope to have learned Perl as long ago as you.
moritz or read, for that matter
14:44 kaare_ left
colomon masak++ 14:44
colomon did his first programming on a PET in 1982 or so. 14:45
14:45 test_ joined
geekosaur masak, there's a cultural component to that 14:46
14:46 test_ left
masak geekosaur: yes, that's what I was after. 14:46
geekosaur some developers consider that to be "goto considered harmful"
colomon masak: I have heard B&D types rail against it as “goto considered harmful” (as geekosaur said while I was typing this)
masak wow. I can "understand" that point of view. but boy are they missing out. 14:47
colomon as a person who spent years programming in a world where goto was the only option, I think considering “next” to be a “bad” goto is completely insane.
moritz well, deep nesting can also harm
masak my brain has it as "make the list simple in the for loop head, then refine with `next` and `last` conditions". 14:48
geekosaur I am also thinking of a Linus rant about developers writing convoluted stuff like that which could be simplified massively by a `goto error`. (of course, the other side can point to Apple's `goto fail`...)
rjbs but of course their goto wasn't the problem 14:49
moritz it was more an 'if fail' instead 14:51
rjbs yeah
14:51 rmgk_ joined, rmgk is now known as Guest84389, Guest84389 left, rmgk_ is now known as rmgk
geekosaur sadly, it's the age of soundbites, not the age of understanding. I have already heard that reference used that way a number of times :( 14:51
rjbs don't worry, there has never been an age of understanding
geekosaur (that is something to not worry about?) 14:52
dalek kudo/nom: 404d228 | lizmat++ | lib/Test.pm:
Show error on type objects without warnings
14:53
lizmat afk for ~ 2 hours
will continue fixing spectest after that
masak another pattern: want to give your enum values awesome derived properties? define multis on them!
or a hash, I guess. 14:54
dalek ast: 81a54c8 | lizmat++ | S02-types/undefined-types.t:
Fix faulty tests
lizmat &
Ven masak: fwiw: when I have "if (x){return}" or "if (x){continue" or "if(x){break" I look at it like a code smell :) 14:57
( irclog.perlgeek.de/perl6/2015-02-25#i_10177596 <- I was a whole 6 years away from even existing back then. Good times! *g* ) 14:58
geekosaur I don't; short-circuiting can make the following code a lot clearer
15:00 skids left
masak of course it can. nothing code-smelly about it. 15:01
at least not per se.
sorry, Ven. "at least not in and of itself"
Ven ymmw. I consider an explicit return a codeself as well, usuaily :) 15:02
very "pure" school
masak .oO( Your Mileage May... Wary? ) :P
psch your mentor might worry?
masak Ven: it's all tradeoffs and waterbeds. 15:03
Ven may be wary :P
masak .oO( There's Something About Wary )
timotimo there's something about worry? 15:05
colomon testers.perl6.org/ — “This webpage is not available”
timotimo um
FROGGS :o(
timotimo i just had that page open on my browser
now it's gone
did i kill it?
there it is
sjn masak: halp! 15:06
masak m: enum E <Foo Bar>; sub x(Floo) {}
camelia rakudo-moar 8df9b2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lo3W1q5wvZ␤Invalid typename 'Floo' in parameter declaration.␤at /tmp/lo3W1q5wvZ:1␤------> 3enum E <Foo Bar>; sub x(Floo7⏏5) {}␤»
masak was just bitten by this
timotimo oh, it doesn't suggest? 15:07
masak a case for Lichtenstein^WWittgenstaein^WLevenstein?
15:07 _mg_ left
moritz did you mean: lichtkind? 15:07
masak submits rakuchdoblog
FROGGS Stolperstein, even
sjn masak: I'm realizing I actually *need* a single webpage that lists contributors o_O
masak sjn: well volunteered! 15:08
tadzik :)
sjn but the perl6 stuff on github is too spread out
timotimo ... "a single webpage" ...
masak ... to rule them all ...
FROGGS stalkbook.com
15:08 laouji joined
timotimo how about "codestalk"? 15:08
FROGGS (as a name proposal)
masak sjn: alternatively: build it, and they will come. 15:09
sjn could run "git shortlog -s" on the different repos, and aggregate the results 15:10
timotimo perl6 will have many more contributors just because people want to become part of the hip cool new website
sjn but that would require an updated .mailmap file
for each of those
Ven :o)
sjn allright, which repos are considered "core"?
let's start there 15:11
sjn starts by assuming everything under github.com/perl6 15:12
anything else?
tadzik /rakudo too, probably
and /MoarVM
depending on what your website actually lists :)
sjn wants to identify core contributors 15:13
15:13 laouji left
moritz also tadzik/panda 15:13
tadzik if "2nd core" counts :) 15:14
PerlJam good morning #perl6
nwc10 the future *is* multicore, after all.
tadzik hehe
nwc10 well, the present, actually
PerlJam the future too :)
(unless there's a nuclear apocalypse that knocks us back to the stone age or something) 15:15
psch o/ PerlJam
15:17 Ven left 15:20 telex left 15:22 gfldex joined, telex joined 15:24 Ovid__ left
tadzik .u 🙋 15:27
yoleaux U+1F64B HAPPY PERSON RAISING ONE HAND [So] (🙋)
15:28 laouji joined 15:33 laouji left
masak if you're happy and you know it, raise your hand. 🙋🙋🙋 15:42
moritz but... which one? 15:43
tadzik ONE HAND 15:45
15:45 Ovid joined
tadzik like the ONE RING 15:45
15:45 Ovid is now known as Guest33365
masak .oO( what is the sound of one hand ringing? ) 15:45
15:50 Rounin left
PerlJam masak: one hand ringing is what it's like when you're married and your spouse isn't around. And when the two come together, the two ringing hands reinforce each other to form a perfect tone. :) 15:58
MadcapJake are there any resources out there explaining modularizing your own code? Like what is the diff btwn a .p6/.pl and a .pm/pm6 file? or how do you structure a modularized project folder? 15:59
tadzik .pm is what another program might use for something 16:00
.pl is my own program, not reusable
MadcapJake so the only difference is the extension?
tadzik generally
no, it's a conceptual difference
you put different things in these files
MadcapJake so inside the file, no difference in how you write anything?
psch by convention, though. nothing prevents you from having a .pl that contains a module
tadzik oh, it's the same Perl alright :)
psch it's a useful convention nontheless 16:01
PerlJam MadcapJake: right.
MadcapJake ok, and where do you put a module in your project folder so that you can access it in a main/app.pl file?
PerlJam MadcapJake: the only place the suffix actually matters I think is when Perl is looking for modules. It'll look for .pm or .pm6 files. otherwise, the suffix doesn't much matter (to Perl)
MadcapJake: the convention is to provide a lib directory, but you can put it where ever you lik 16:02
er, like
tadzik what happened to wiki.perl6.org :( 16:03
it had a nice article ont hat
timotimo we had a wiki?
tadzik yes
PerlJam maybe still on feather?
psch PerlJam++ # right about ModuleLoader explicitly checking for the extension
timotimo was it this? www.perlfoundation.org/perl6/index.cgi 16:04
MadcapJake PerlJam: how do i then reference it? because I tried putting it in a lib folder and then used 'use ModuleName;' and it didn't work
tadzik timotimo: nah, that one was p6 specific
psch MadcapJake: you need to either «use lib "$path";» or run with -Ilib
i think the former is prefered, although i don't recall the difference
timotimo MadcapJake: perl6 won' tlook in ./lib or ./blib/lib by default
tadzik oh, here it is! doc.perl6.org/language/modules
MadcapJake so `use lib 'lb';` sets the lib path for that file? 16:05
PerlJam MadcapJake: read that link tadzik just mentioned
tadzik well, it doesn't say exactly that
MadcapJake tadzik: that link isn't what im talking about, i've looked at that
tadzik: that link talks only about modularizing your code for others to use
tadzik but generally you put scripts in bin/, modules in lib/, and if you want to run them w/o installing you go perl6 -Ilib bin/foo
MadcapJake not about how to organize a project to reference internally modularized code
tadzik yeah, you're right, I misremembered 16:06
PerlJam MadcapJake: the "organization" is up to you. Mostly there's just conventions that require you know to put stuff in certain locations and to tell Perl that you've done so.
tadzik now, if you write a distributable module, then the stuff from lib gets installed where perl6 will look for it anyway
so at that point you don't need 'use lib' anymore
MadcapJake ok cool
PerlJam MadcapJake: are you familiar with panda? 16:07
16:07 mr-foobar joined
MadcapJake yeah a bit, i've installed a few modules :) 16:07
tadzik :)
PerlJam MadcapJake: did you know that you can install your own, local modules?
colomon cpandatesters running *incredibly* slowly at the moment.
nine_ What madman invented this language?? This unbelievable awesomeness boggles my mind. 16:08
timotimo colomon: doesn't it always?
and i'm also not sure if it's multithreaded...
MadcapJake PerlJam: does it move them out of my project directory though?
PerlJam "move"? no. But it will copy things to where Rakudo can find them.
timotimo not move
dalek rl6-roast-data: f7fc4d6 | coke++ | / (9 files):
today (automated commit)
FROGGS colomon: aye, I need to put some more effort in moving to p5c.org
16:08 Ven joined
FROGGS p6c.org* 16:08
nine_ moritz: Apache to Nginx config converter coming along quite nicely: github.com/niner/Apache-To-Nginx/b...r/Nginx.pm 16:09
timotimo MadcapJake: and also you'll have compiled versions of the modules available after installation - these will automatically be used
MadcapJake PerlJam: cus I just like to have separate files inside my project and this is also an idiomatic use of modules right?
PerlJam MadcapJake: mostly 16:10
MadcapJake oh?
gfldex m: say @*INC;
camelia rakudo-moar 404d22: OUTPUT«file:/home/camelia/rakudo-inst-2/languages/perl6/lib inst:/home/camelia/rakudo-inst-2/languages/perl6␤»
colomon FROGGS: for what it’s worth, I’m running a smoke test with PANDA_SUBMIT_TESTREPORTS=1 set to see if that gives useful information. But I can’t check because testers.perl6.org doesn’t exactly work.
FROGGS :/ 16:11
the box it is running on is just crap
timotimo oh
if that's the case, that's not as terrible :)
MadcapJake like let's say you're working on a large web app and you want to have your code separated out, what's the more appropriate way of organizing this?
FROGGS MadcapJake: that is what you use modules for, aye 16:12
colomon: I'll prioritize moving to p6c then
colomon FROGGS: yay!
16:13 sqirrel_ joined
MadcapJake ok cool, just trying to make sure im on the right track (no experience with perl 5 so i'm sometimes hitting walls where the docs expect some previous p5 knowledge) 16:13
FROGGS bbiab 16:14
16:14 FROGGS left 16:16 larion left
timotimo pff. someone reported all fosdem videos to be uploaded. nope. just a few of them. 16:22
PerlJam timotimo: all of the ones they've processed so far have been uploaded ;) 16:23
16:23 perl6_newbee joined
Ven m: sub map(@list, &fn) { given @list { when :([$a, *@b]) { say fn($a) } } }; map(^10, *+2); 16:27
camelia rakudo-moar 404d22: OUTPUT«5===SORRY!5=== Error while compiling /tmp/q03LB5wah6␤Variable '$a' is not declared␤at /tmp/q03LB5wah6:1␤------> 3en @list { when :([$a, *@b]) { say fn($a7⏏5) } } }; map(^10, *+2);␤ expecting any of:␤ postfix␤»
16:27 muraiki left
timotimo wow, what progress. 16:28
[Coke] m: say „old/sold/liquidated module“; 16:29
camelia rakudo-moar 404d22: OUTPUT«5===SORRY!5===␤No valid term seen where one is required␤at /tmp/TcnQJOLjtv:1␤------> 3say 7⏏5„old/sold/liquidated module“;␤Bogus term␤at /tmp/TcnQJOLjtv:1␤------> 3say 7⏏5„old/sold/liquidated module“;␤ expecting any…»
16:32 _mg_ joined 16:33 muraiki joined, laouji joined
timotimo i wonder what the proper fix for say's performance will be 16:33
16:38 bayprogrammer joined, laouji left, nebuchadnezzar left 16:40 rindolf left, [particle] joined, FROGGS joined
[Tux] lizmat++; # new Test shows two missed errors! 16:40
16:41 [particle]1 left
dalek ast: c55aee4 | lizmat++ | S05-modifier/perl5_ (3 files):
Check for Nil if we want to test for Nil
16:41
16:41 Ven left
[Coke] ^^ TimToady ... just saw that quote style in a work email. 16:42
16:42 diana_olhovik_ left
dalek ast: 0e7a451 | lizmat++ | S32-array/delete-adverb (2 files):
Fix type to check for

Was invisible before, because Any and Int both stringify to ''
16:43
[Coke] regarding old coders, I had an atari 400 in the late 70s at home I programmed in basic on, and I'm pretty sure I had access to a TRS-80 at school at the same time (or slightly earlier)
lizmat the rest of the test failures are really about checking against junctions of strings 16:44
not sure whether this is a problem of Test.pm, rakudo, Moar or something else
investigating now 16:45
geekosaur Ohio Scientific SuperBoard II. the TRS-80 came later, first at school and then at home, then a big jump up to an XT clone in the mid-80s
lizmat m: use Test; my $a = "foo"; is $a, "foo"|"bar" 16:46
camelia rakudo-moar 404d22: OUTPUT«ok 1 - ␤not ok 2 - ␤␤# Failed test at src/gen/m-CORE.setting line 9356␤»
lizmat before my fix to Test.pm it would say: 16:47
$ 6 'use Test; my $a = "foo"; is $a, "foo"|"bar"'
ok 1 -
16:48 echowuhao joined
FROGGS m: say "foo" ~~ "foo"|"bar" 16:48
camelia rakudo-moar 404d22: OUTPUT«True␤»
FROGGS why do we get a ok and a nok now? 16:49
I would not expect that is $a, "foo"|"bar" is worth two tests 16:50
lizmat FROGGS: that's exactly the bug 16:52
I'm not sure how that happens either
doesn't feel to me I've done something magical
FROGGS ahh 16:53
16:53 sqirrel_ left
FROGGS m: say "foo" === "foo"|"bar" 16:53
camelia rakudo-moar 404d22: OUTPUT«any(True, False)␤»
FROGGS m: say "foo" eq "foo"|"bar" 16:54
camelia rakudo-moar 404d22: OUTPUT«any(True, False)␤»
FROGGS m: sub foo(Str) { say 42 }; foo("foo"|"bar") 16:56
camelia rakudo-moar 404d22: OUTPUT«42␤42␤»
16:56 jluis joined
FROGGS lizmat: it autothreads when you pass it a junction 16:57
lizmat also on Mu:D or Mu:U ?
that feels to be the difference
FROGGS - my $test = $got eq $expected;
+ my $test = so $got eq $expected;
that would collapse it
and likely at different places too 16:58
lizmat FROGGS++
17:00 echowuhao left 17:01 pdcawley left, pdcawley joined, andreoss joined 17:05 anaeem1__ left, jluis left, rindolf joined
dalek kudo/nom: e7fb7ba | lizmat++ | lib/Test.pm:
Fix testing with junctions, FROGGS++
17:06
17:06 pdcawley left
dalek ast: d1a6687 | lizmat++ | S12-methods/calling_sets.t:
class.*bar returns Parcel, not Nil

This test previously passed for the wrong reason
17:08
17:14 _mg_ left 17:20 diana_olhovik_ joined
dalek c: 2370a3a | moritz++ | util/update-and-sync:
update script: delete old .html files
17:21
c: e15e61f | moritz++ | lib/Type/Cool.pod:
Cool.chomp, .ords, .chrs
c: 8d1d524 | moritz++ | lib/Type/Cool.pod:
Document Cool.words
c: bcb5930 | moritz++ | lib/Type/Cool.pod:
Document Cool.split
17:21 Kristien joined
[Coke] lizmat: how did you fix testing with junctions? 17:22
did you change the autothreading?
17:22 echowuhao joined, anaeem1 joined 17:23 xinming joined
dalek kudo/nom: abc54e5 | lizmat++ | lib/Test.pm:
Bring junction fixes inline with other code
17:23
lizmat [Coke]: I accidentally removed some ? because I thought they weren't necessatu 17:24
*necessary
afk for a few hours&
moritz fwiw I've started updating perlgeek.de/en/article/5-to-6 again, this time with links to doc.perl6.org and "last updated" dates
jnthn moritz++
17:25 sqirrel_ joined 17:28 virtualsue left
flussence just put "use Grammar::Debugger" in a script that I'm piping data into on stdin, and it took a few minutes to figure out why it was spewing errors... 17:28
timotimo hehe 17:30
17:33 mohij joined
timotimo hm. can nqp benefit from native refs? 17:33
17:33 anaeem1__ joined
timotimo since we always bind, i guess not? 17:33
jnthn Yeah, they're really about l-values and assignment 17:34
17:35 larion joined 17:36 anaeem1 left
moritz timotimo: and if so, we'd have to drop parrot support from NQP too 17:36
dalek ast: 5e15e65 | jnthn++ | S06-traits/native-is-copy.t:
Tests for is copy trait on native args.
17:39
kudo/native-ref: 26714ab | jnthn++ | src/Perl6/World.nqp:
Make 'is copy' on natively typed params work.
kudo/native-ref: e10e20a | jnthn++ | t/spectest.data:
Run S06-traits/native-is-copy.t.
17:40 abraxxa left
Kristien hi 17:41
yoleaux 08:42Z <FROGGS> Kristien: do you have something special in mind except for the obvious? - FROGGS: also have fun with union members!
17:43 kjs_ left
Kristien FROGGS: the only guarantee you have is that the size of the union type is equal to the size of its largest member 17:44
there's no guarantee, for example, that in union { t a; u b; } x;, x.a and x.b have the same address. 17:45
and if a union contains a non-static data member with a non-trivial special member function that function is deleted in the union. 17:46
though you have to be careful about memcpyability in general 17:49
perl6_newbee moritz: time for a DBIish question? 17:50
yoleaux 24 Feb 2015 20:21Z <japhb> perl6_newbee: I implemented (the first version of) the MAIN parser and USAGE generator, as close as I could manage to spec at the time. I am also one of the people that thinks we really should natively support subcommand interfaces, since I think that's actually what people expect now. I was overruled.
perl6_newbee thx +yoleaux 17:51
timotimo perl6_newbee: you can "botsnack" 17:52
botsnack
actually
.botsnack
yoleaux :D
perl6_newbee sorry I am not only a perl6 newbee. ALso irc noob 17:53
17:53 nebuchadnezzar joined 17:54 Kristien left
perl6_newbee yoleaux is a bot, right? 17:54
grondilu it is
perl6_newbee aahhh
.botsnack
yoleaux :D
moritz perl6_newbee: yes 17:55
perl6_newbee never too old...
moritz yes re: time for a DBIish question :-)
grondilu heasitates suggesting adding YOLO to S99
perl6_newbee moritz:^^ great. I have following code: $!dbh.do(qq:to/CREATEEND/); 17:56
> "dms/de77522a520ab2ec481948c35d942497/2569671732b2694006c82723f4e80e41", file_name_hash => "de77522a520ab2ec481948c3│ 3 INSERT INTO CATEGORY(cat_name) VALUES($catlc);
ARGL
sometimes I don't like tmux
$!dbih.do(qq:to/CREATEEND/); INSERT INTO CATEGORY(cat_name) VALUES($category) CREATEEND 17:57
$category = 'rechnung'
I always get the error: SQLITE_ERROR no such column: rechnung 17:58
if I replace VALUES($category) with VALUES('rechnung') it works
Am I the problem?
timotimo why are you using string interpolation for this? 17:59
moritz perl6_newbee: the problem is that you aren't using placeholders
geekosaur qq looks wrong there
or, that 18:00
perl6_newbee because of "do". I could use $!dbh.prepare. But that would be more typing
moritz perl6_newbee: INSERT INTO ... VALUES(?)
dalek c: 628eb4c | TimToady++ | lib/Language/5to6.pod:
s/ing/ed/
geekosaur string interpolation for sql is a hack waiting to happen.
18:00 dakkar left
geekosaur (if do is going to encourage that, can we dehuffmanize it?) 18:00
moritz perl6_newbee: you can pass bind parameters to .do as well
TimToady use MONKEY_SEE_MONKEY_DO 18:01
perl6_newbee $!dbh.do(q:to/END/, $category) ... ?
geekosaur: I thought perl6 replaces the variables and toss it then to sql 18:02
moritz perl6_newbee: yes
geekosaur it does
TimToady use LITTLE_MONKEY_TABLES
geekosaur literally
it does not quote values, it just substitutes the string
psch my $category = "; select * from users; --"
geekosaur which is why you got an error trying to use a value as a column, and why that;s a completely insecure way to write SQL 18:03
psch (or somewhat like that)
geekosaur don;t use variable substitution, use placeholders
perl6_newbee Hmm. thanks @ all. learned something again
moritz star: use DBIish; my $dbh = DBIish.connect('SQLite', :database<foo.sqlite3>); $dbh.do('CREATE TABLE foo (c varchar(20))'); $dbh.do('INSERT INTO foo VALUES(?)', 42); say $dbh.fetchall('SELECT * FROM foo#)
camelia star-{m,p} 2015.01: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/tmpfile:1␤------> 3; say $dbh.fetchall('SELECT * FROM foo#)7⏏5<EOL>␤ expecting any of:␤ argument l…»
dalek ast: 40180a9 | jnthn++ | S06-routine-modifiers/native-lvalue-subroutines.t:
Add tests for native rw sub semantics.
moritz star: use DBIish; my $dbh = DBIish.connect('SQLite', :database<foo.sqlite3>); $dbh.do('CREATE TABLE foo (c varchar(20))'); $dbh.do('INSERT INTO foo VALUES(?)', 42); say $dbh.fetchall('SELECT * FROM foo') 18:04
camelia star-p 2015.01: OUTPUT«SQLITE_ERROR table foo already exists␤ in method handle-error at /home/camelia/rakudo-star-2015.01/install/lib/parrot/7.0.1/languages/perl6/lib/DBDish/SQLite.pm6:167␤ in method prepare at /home/camelia/rakudo-star-2015.01/install/lib/parrot/7.0.1/languag…»
..star-m 2015.01: OUTPUT«No such method 'fetchall' for invocant of type 'DBDish::SQLite::Connection'␤ in block <unit> at /tmp/tmpfile:1␤␤»
jnthn Dinner, then I'll make those tests I just added passier :) &
moritz star: use DBIish; my $dbh = DBIish.connect('SQLite', :database<foo.sqlite3>); $dbh.do('CREATE TABLE foo (c varchar(20))'); $dbh.do('INSERT INTO foo VALUES(?)', 42); say $dbh.fetchrow('SELECT * FROM foo')
camelia star-p 2015.01: OUTPUT«SQLITE_ERROR table foo already exists␤ in method handle-error at /home/camelia/rakudo-star-2015.01/install/lib/parrot/7.0.1/languages/perl6/lib/DBDish/SQLite.pm6:167␤ in method prepare at /home/camelia/rakudo-star-2015.01/install/lib/parrot/7.0.1/languag…»
..star-m 2015.01: OUTPUT«SQLITE_ERROR table foo already exists␤ in method handle-error at /home/camelia/rakudo-star-2015.01/install/languages/perl6/lib/DBDish/SQLite.pm6:167␤ in method prepare at /home/camelia/rakudo-star-2015.01/install/languages/perl6/lib/DBDish/SQLite.pm6:180…»
moritz star: use DBIish; my $dbh = DBIish.connect('SQLite', :database<foo.sqlite3>); $dbh.do('INSERT INTO foo VALUES(?)', 42); say $dbh.fetchrow('SELECT * FROM foo')
camelia star-{m,p} 2015.01: OUTPUT«No such method 'fetchrow' for invocant of type 'DBDish::SQLite::Connection'␤ in block <unit> at /tmp/tmpfile:1␤␤»
TimToady or maybe enable do with use FLYING_BUTT_MONKEYES 18:05
*YS
perl6_newbee And it works :-)
moritz just too dumb to demonstrate it here 18:06
TimToady or not do, but interpolation into it 18:07
perl6_newbee moritz++. hey it works here
TimToady would be kinda tough to recognize, unless we had some way of requiring single quotes instead of double
geekosaur yeh, I'm wondering if there's a slang or etc. trick that could detect interpolation there and whack the programmer with a 2x4
moritz fwiw there are good use cases for interpolating strings into SQL 18:08
most notably column and table names
geekosaur except then I envision the blog posts about how perl6 is impossible to write SQL in, because of course SQL-injection-vulnerable code is the only conceivable way to write it!
moritz where placeholders simply aren't supported by the RDBMS
TimToady well, we do allow \qq[] inside double quotes, which is kind of de-huffmanized anyway
*single
18:09 Rounin joined
moritz as disappointing as it is, we can't prevent every possible programming error on the language level :-) 18:09
TimToady but really we oughta have a way of doing tainting
we can't pass tainting through natives, of course, but that doesn't mean we can't find a bit somewhere for normal strings 18:10
or at least distinguish tainted strings by type
then do can refuse to work with a tainted string
we don't have to make tainting completely orthogonal as it is in P5 18:11
18:11 kjs_ joined
TimToady might be an interesting thing for GSoC, but maybe too easy 18:12
but a thorough security review for GSoC might be more the right size
kinda hard to judge the results though... 18:13
18:13 sqirrel_ left
vendethiel moritz: we can try our best, ofc :) 18:13
TimToady and, of course, security should be everyone's concern
18:14 telex left
perl6_newbee so, better I leave befor geekosaur whacks me with a 2x4 ^^ But I have a feeling this was not my last occasion to show my lack of programming skill. cu 18:15
18:15 Zaydon joined
TimToady we're all in that boat :) 18:15
geekosaur ex-dba, has a special dislike for sql injection >.> 18:16
perl6_newbee :-)
18:17 perl6_newbee left, espadrine left 18:19 telex joined 18:20 rindolf left, pmurias joined
pmurias geekosaur: if we actually had the grammar parse sql instead of using string that would stop the sql injection 18:21
$dbh.do(sql { INSERT INTO foo values ($this_is_sane_now) }) 18:22
geekosaur that would be nice, yes, except for the person who has to maintain the sql language and all its-per-database-engine polymorphs :) 18:23
pmurias somebody has to pay the price of progress
Mouq .o( sql :$db { … } ) 18:25
TimToady oh, more client damage 18:26
we should handle that one too
18:26 kjs_ left, anaee____ joined 18:29 anaeem1__ left, grettir joined 18:33 rindolf joined
flussence m: say 'a'.invert 18:41
camelia rakudo-moar abc54e: OUTPUT«Memory allocation failed; could not allocate 58416 bytes␤»
18:42 ash_gti joined
timotimo yeah, Str.invert does that 18:43
infiniloops, gobbling up memory
flussence
.oO( correct output is obviously "ɐ" )
18:44
18:46 Kristien joined
Kristien good morning 18:46
TimToady
.oO( is:<===> Str, Str, "Str is Str"; )
18:46 ash_gti_ joined 18:47 ash_gti left
ash_gti_ hi 18:47
18:49 pierrot left 18:50 pierrot joined 18:55 pmurias_ joined
pmurias nqp-js: say(('foobar' ~~ /bar/)) 18:55
camelia nqp-js: OUTPUT«Trace: NYI: NYI QAST::Regex rxtype = scan␤ at null.<anonymous> (/home/camelia/nqp-js/tmp.js:99:9)␤ at _ [as $call] (/home/camelia/nqp-js/node_modules/nqp-runtime/sixmodel.js:44:33)␤ at null.<anonymous> (/home/camelia/nqp-js/node_modules/QRegex.js:6139:2…»
pmurias not updated :/ 18:56
sjn tries to make sense of strip_path_prefix in core/Main.pm (used in gen-usage())
18:58 ash_gti_ left, molaf joined 18:59 rindolf left
sjn what's $*SPEC for? 18:59
timotimo windows vs linux vs mac line separators and stuff
er
path separators
psch m: $*SPEC.WHAT.say
camelia rakudo-moar abc54e: OUTPUT«(IO::Spec::Unix)␤»
timotimo i don't think line separators are part of that
18:59 pierrot left 19:00 liztormato joined
geekosaur does anyone care about old mac path separators any more? 19:00
19:00 sqirrel_ joined, pierrot joined
geekosaur (or line separators for that matter) 19:00
timotimo dunno if they are actually in there a tall
liztormato Please ignore $*SPEC. It is on the way out
TimToady oh, we could have "isn't" now :) 19:01
dalek c: c4a4516 | (John Gabriele)++ | README.md:
Add reference to the Contributing doc.

See issue #53.
El_Che TimToady: your FOSDEM talk may be online soon.
TimToady oh oh :)
El_Che oh, do you have plans for Christmas? :) 19:02
TimToady I've got a bottle of port I've been saving since Braga :)
probably turned to vinegar by now...
19:02 pierrot left
El_Che talks are slowly being uploaded (it looks quite random). I'll keep the channel posted 19:03
good for salads!
liztormato TimToady: any reason for it being a port wine?
TimToady well, I'll be on the road for much of the next two days, so maybe it'll blow over by then
that's what they make in Braga
and early on I decided to save it for the "real" Christmas 19:04
sjn Ports usually store very well
TimToady well, I don't exactly have a wine cellar
sjn (being fortified and all)
19:05 rurban left
sjn TimToady: shouldn't be a problem, unless the bottle cork has been damaged 19:05
TimToady maybe I'll also save my bottle of Perl 6 till then too :)
dalek c: 319d8dc | (Matthias Krull)++ | README.md:
Linked documents refered to in the README
19:06
c: 6598a1c | timo++ | README.md:
Merge pull request #54 from mkrull/master

Linked documents refered to in the README
TimToady in Perl culture we appreciate both the old and the new
19:08 spider-mario left 19:09 ash_gti joined
raydiak postmodernism ftw 19:09
El_Che postmodernist would be "the new is the old and we despise them both" :) 19:11
ash_gti so, I started working on an update to the perl.tmbundle to have perl6 and nqp syntax based off the vim-perl syntax highlighitng, I should be able to also convert it to an atom package as well, which is what github uses for syntax highlighting
timotimo oh, way cool! 19:12
ever since we got perl6 highlighting for a short period of time on github and gist, i'm sorely missing it :(
psch usually turns of highlighting in vim because it's so slow :/
ash_gti the vim regular expression syntax is... new to me so its a learning process 19:13
also, its weird
github.com/ashgti/perl.tmbundle is where its located if anyone wants to comment on it, but again, I am working on building up the syntax from the ground up based off ther vim-perl perl6 syntax so its consistent with that 19:15
19:16 pierrot joined, zakharyas left
timotimo is there some easy place to test your latest code on some perl6 code to see if the coloring is good? 19:18
ash_gti um... I have the perl6/roast checked out and just browse that using TextMate
dalek kudo/nom: 673f50e | TimToady++ | src/Perl6/ (2 files):
allow U+02026 HORIZONTAL ELLIPSIS
19:20
TimToady it now parses ELLIPSIS but only works as yada, not as sequence
if anyone wants to hunt down why that doesn't work while I'm on the road, feel free 19:21
ash_gti so, atom has a tool for converting TextMate bundles into atom packages
TimToady gets Cannot find method 'postcircumfix:<( )>' for some reason
ash_gti and then, I think you can use github/lunguist to check a source file against the grammar 19:22
FROGGS Kristien: isnt there a rule that there is no padding before the first member? does that not hold for unions?
raydiak El_Che: I think you are at least half right, maybe more depending on perspective...and that type of evaluation is (part of) my understanding of postmodernism :)
19:23 laouji joined, kjs_ joined
Kristien FROGGS: not for unions 19:27
TimToady If there are autocorrectors to „old/sold/liquidated module“ then we should probably support that too
Kristien except (implicitly) for the largest member
TimToady don't want to be cultural imperialists any more than we have to
19:27 laouji left 19:28 fhelmberger left 19:29 Zaydon left
TimToady well, hitting the road now, so catch y'all on the flip side 19:30
jnthn TimToady: Safe travels
jnthn digs back into native-ref hacking 19:31
ash_gti can varaibles contain '<' ?
as part of their name that is
masak no.
psch shakes his fist at jvm natives
masak m: my $foo:<+> = 4; say $foo:<+>
camelia rakudo-moar abc54e: OUTPUT«4␤»
masak ash_gti: except like that.
psch Class.forName("B") NPEs, which makes everything complicated
well, not quite. Type.getElementType() for "[B" NPEs 19:32
19:33 espadrine joined
jnthn psch: Ugh... 19:33
psch jnthn: yes. i have read about natives making stuff complicated, and now i know one case where it actually happens
i used to think "but autoboxing?" :)
except arrays can't autobox, for reasons
19:33 sqirrel_ left
psch i've implemented three (i.e. 2-and-a-bit — the last one is still buggy) paths to jvm-interop by now 19:35
1) retry last handle, 2) see if naive marshalling is sufficient and 3) cast arguments around to make them fit
19:35 ash_gti left, ash_gti joined
ash_gti so, %a<b> should be highlighted like: «syntax-varaible»%a«/syntax-variable»«syntax-hash-access»<b>«/syntax-hash-access» 19:36
psch which i think is a decent approach. 2) works for methods that take arguments that fit our REPRs, i.e. Long, Double, String or another interop'd class
ash_gti forgive my weird markup just trying to think about how that should look in an editor
19:38 amaliapomian joined, liztormato_ joined
psch ash_gti: i suppose an argument could be made for having <> as quoteword even when it's used for hash access 19:38
19:39 liztormato_ left 19:40 liztormato left 19:41 raiph left 19:44 rurban joined
ash_gti m: my $foo:«<» = 4; say $foo«>» 19:44
camelia rakudo-moar 673f50: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0xG4Fqf7Oy␤Variable '$foo' is not declared␤at /tmp/0xG4Fqf7Oy:1␤------> 3my $foo:«<» = 4; say $foo«>»7⏏5<EOL>␤ expecting any of:␤ postfix␤ shell-quote words␤»
ash_gti m: my $foo:«<» = 4; say $foo:«>»
camelia rakudo-moar 673f50: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ku3HlkN03K␤Variable '$foo:<>>' is not declared␤at /tmp/ku3HlkN03K:1␤------> 3my $foo:«<» = 4; say $foo:«>»7⏏5<EOL>␤ expecting any of:␤ postfix␤»
ash_gti err, oops again 19:45
m: my $foo:«<» = 4; say $foo:«<»
camelia rakudo-moar 673f50: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EeBpi11kjv␤Variable '$foo:<<>' is not declared. Did you mean '$foo:«<»'?␤at /tmp/EeBpi11kjv:1␤------> 3my $foo:«<» = 4; say $foo:«<»7⏏5<EOL>␤ expecting any of:␤ postfix␤»
19:46 _mg_ joined
ash_gti thats... interesting 19:46
19:46 Sqirrel joined 19:50 zakharyas joined 19:51 pierrot left, pierrot joined
dalek c: 83ae692 | (Salve J. Nilsen)++ | lib/Language/grammars.pod:
Typo fix
19:55
19:56 ash_gti left
dalek c: dac5dc3 | moritz++ | README.md:
README: Add "git grep TODO" as a starting point for contributing
19:58
kudo/native-ref: 1aaa5ae | jnthn++ | src/ (3 files):
Non-rw routines should de-containerize native refs.
kudo/native-ref: 0f981d8 | jnthn++ | t/spectest.data:
Run S06-routine-modifiers/native-lvalue-subroutines.t.
c: 25d8502 | (Matthias Krull)++ | README.md:
Revert "Add reference to the Contributing doc."

This reverts commit c4a4516fd7ae9e679c1ca16b0f21866913870153.
Already added. Agreed upon by the contributor.
20:00
20:12 _mg_ left, kjs_ left 20:17 pierrot left, pierrot joined 20:22 espadrine left
mohij m: say so "asdfEnd" ~~ /:ratchet [ xyz | .+! ] End / 20:22
camelia rakudo-moar 673f50: OUTPUT«False␤»
mohij m: say so "asdfEnd" ~~ /:ratchet [ xyz || .+! ] End /
camelia rakudo-moar 673f50: OUTPUT«True␤»
20:22 darutoko left
mohij Can someone explain whay the first one fails? 20:23
Kristien why'd you use sed, grep and cut when you have AWK? 20:25
20:26 pippo joined
pippo o/ #perl6 20:26
mohij Kristien: awk the AWKmighty? 20:27
Mouq m: say so "asdfEnd" ~~ /:ratchet [ xyz | ....! ] End /
camelia rakudo-moar 673f50: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter ! (must be quoted to match literally)␤at /tmp/oya4EdiENe:1␤------> 3y so "asdfEnd" ~~ /:ratchet [ xyz | ....7⏏5! ] End /␤Unable to parse expression in metachar:sym<[ ]>; couldn't find final …»
Mouq m: say so "asdfEnd" ~~ /:ratchet [ xyz | .... ] End /
camelia rakudo-moar 673f50: OUTPUT«True␤»
pippo m: my $i = 2; while $i > 0 {FIRST say 'Hello'; $i--} 20:28
camelia ( no output )
20:28 bjz left
pippo No FIRST phaser on while loops ? 20:28
dalek c: d45aed3 | moritz++ | CONTRIBUTING.md:
Mention #perl6 in CONTRIBUTING.md
20:29
FROGGS m: my $i = 2; while $i > 0 {once say 'Hello'; $i--}
camelia rakudo-moar 673f50: OUTPUT«Hello␤»
FROGGS dunno... either FIRST ist not about loops or it is buggy 20:30
pippo m: my $i = 2; for 1..2 {FIRST say 'Hello'; $i--} 20:31
camelia rakudo-moar 673f50: OUTPUT«Hello␤»
pippo apparently it is about some loops but not all.
nwc10 jnthn: only the test failures you expect on nativref 20:32
t/spec/S32-exceptions/misc.rakudo.moar and t/spec/integration/weird-errors.t
(the latter seems to fail for me, and I still haven't figured out why)
t/spec/S02-lists/tree.rakudo.moar 20:33
TODO passed: 10t
(er, where did that 't' come from)
dalek href="https://perl6.org:">perl6.org: 0f1dff0 | moritz++ | source/getting-started/involved.html:
Add link to "help wanted" section of perl6/doc
Kristien from a concatenation operation 20:34
pippo FROGGS: thanks.
20:35 pippo left 20:43 Kristien left
dalek p/native-ref: 1e2d757 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Elide code-gen of many lexicalref/attributeref ops

In the case we have a straight assignment, this lowers into a cheap bind operation, as before any of the native-ref work.
20:45
mohij Mouq: No idea either, right? 20:46
20:47 mr-foobar left
Mouq mohij: What I don't understand is why the second one is True 20:47
mohij I would have expected the catchall to backtrack and finally match. What do you think should cause the failure? 20:48
Mouq m: say "asdfEnd" ~~ /:ratchet [ xyz || .+! ] End /
camelia rakudo-moar 673f50: OUTPUT«「asdfEnd」␤»
Mouq m: say "asdfEnd" ~~ /:ratchet [ xyz || (.+!) ] End / 20:49
camelia rakudo-moar 673f50: OUTPUT«Nil␤»
Mouq m: say "asdfEnd" ~~ /:ratchet ( xyz || .+! ) End /
camelia rakudo-moar 673f50: OUTPUT«Nil␤»
20:49 kjs_ joined
Mouq :? 20:49
mohij that definitely looks not right...
Mouq mohij: Well, you're telling it "don't backtract" twice by saying "ratchet" and then "!" 20:50
*track
m: say "asdfEnd" ~~ /:ratchet [ xyz || .+! ] (End) /
camelia rakudo-moar 673f50: OUTPUT«「asdfEnd」␤ 0 => 「End」␤»
Mouq That's definitely weird. Maybe some kind of optimization that's breaking things 20:51
mohij isn't both ? and ! meant to turn backtracking *on*?
spec says : turns backtracking off and ! is greedy backtracking, ? is frugal backtracking (whatever that means) 20:52
moritz opposite of greedy
mohij what does greedy mean in context of backtracking?
20:53 andreoss left
PerlJam it doesn't. 20:53
my read is that it does two things: greed and backtracking.
moritz mohij: taking as many characters as possible 20:54
mohij: whereas frugal tries to take as few as possible
mohij ah! greedy and frugal backtracking means the same as greedy and frugal matching (that's the word I always associated greedy with) 20:55
20:56 _mg_ joined 20:59 _mg_ left
PerlJam m: say "asdfEnd" ~~ /:ratchet ( xyz || .+! ) (End) /; 21:00
camelia rakudo-moar 673f50: OUTPUT«Nil␤»
PerlJam That's got to be a bug because changing whether I capture or not shouldn't change whether I match or not
21:00 kjs_ left
dalek ecs: 4693323 | lizmat++ | S24-testing.pod:
Document new features of is()/isnt()
21:03
masak I'm of two minds about the change to &is. 21:04
moritz too
lizmat fwiw, I showed that about 10 tests were passing for the wrong reason 21:05
masak yes, this fixes |Tux|++'s use case, but it also introduces a pretty big exception, and makes &is harder to explain.
lizmat: oh, that changes matters a bit.
if people are already expecting it to work as now spec'd.
lizmat m: use Test; my Int $a; is ($a = Nil),Nil # used to pass 21:06
camelia rakudo-moar 673f50: OUTPUT«not ok 1 - ␤␤# Failed test at lib/Test.pm line 110␤# expected: (Nil)␤# got: (Int)␤»
21:07 kjs_ joined
lizmat so, the change may cause some test breakage in the ecosystem 21:07
but I'm pretty sure they will point to tests that were passing for the wrong reason 21:08
such as *any* type object stringyfying to ''
moritz: now *I* am in 2 minds about documenting this change in doc 21:09
should I or shouldn't I
21:11 kjs_ left
moritz lizmat: if you don't revert it in rakudo, document it :-) 21:11
lizmat then I'll document it 21:12
perhaps we should call the Mu:U candidate "type_ok" ?
PerlJam lizmat: FWIW, I think your version is what people mean to test when they use "is"
lizmat: btw, should we start introducing "cmp-ok", "dies-ok", etc. ? 21:15
lizmat probably :-)
21:16 rhr_ left 21:17 rhr joined, colomon left 21:18 bjz joined
dalek c: b2b04fa | lizmat++ | lib/Language/testing.pod:
Document new features of is()/isnt()
21:19
moritz lizmat++
21:20 kaare_ joined
Mouq mohij: Ohh, yeah. Sorry 21:24
21:24 zakharyas left 21:31 bjz left 21:32 Kristien joined 21:33 pmurias left 21:34 dolmen joined
dalek kudo/nom: 4e89bb2 | lizmat++ | src/core/List.pm:
Make <a b c>.invert no longer infiniloop

It feels like someone just forgot to implement List.revert(). This should fix all infiniloops related to .invert
21:35
lizmat soon: $ 6 '<a b c>.invert.perl.say'
("a" => 0, "b" => 1, "c" => 2).list
moritz isn't invert a hash method? 21:36
timotimo neato, thanks lizmat
lizmat moritz: yes, and also an Any
moritz lizmat: then I'd expect it to coerce to hash
lizmat however, the Any candidate called .list.invert
moritz m: say %( <a b c> ).invert.perl 21:37
camelia rakudo-moar 673f50: OUTPUT«Odd number of elements found where hash initializer expected␤ in method STORE at src/gen/m-CORE.setting:11141␤ in method hash at src/gen/m-CORE.setting:1656␤ in block <unit> at /tmp/YPM8nXlfqr:1␤␤»
21:37 colomon joined
moritz that's what I'd expect 21:37
m: say %( <a b c d> ).invert.perl
camelia rakudo-moar 673f50: OUTPUT«("b" => "a", "d" => "c").list␤»
lizmat sadly the specification of .invert is a bit slushy 21:38
it currently states: Produces a backmapping of values to keys, expanding list values
into multiple pairs. (The C<< X=> >> expands C<$v> if it is a list.)
[NB: this may need refinement to handle keys that do C<Positional>.]
S32/Containers:1008 21:39
synopsebot Link: design.perl6.org/S32/Containers.html#line_1008
lizmat so I was taking the behaviour of .kv on a List as a guidline
m: <a b c>.kv.perl.say 21:40
camelia rakudo-moar 673f50: OUTPUT«(0, "a", 1, "b", 2, "c").list␤»
moritz lizmat: well, if it's a hash method, it should just coerce to hash the normal way
lizmat: ... unless explicitly stated otherwise
lizmat it is *also* a hash method
moritz no, it is *primarily* a hash method
lizmat $ 6 '{ a => 42, b=>65 }.invert.perl.say' 21:41
(42 => "a", 65 => "b").list
moritz just like substr is *primarily* a Str method, and only a method Cool for purposes of coercion
and the reason that we have reverse, flip and invert is that we have three major data types that we want to reverse in some way
.flip coerces to Str 21:42
.reverse coerces to List/Positional
.invert to Hash/Associative
lizmat ok, but then how should we handle:
m: "a".hash.perl.say
camelia rakudo-moar 4e89bb: OUTPUT«Odd number of elements found where hash initializer expected␤ in method STORE at src/gen/m-CORE.setting:11145␤ in method hash at src/gen/m-CORE.setting:1656␤ in block <unit> at /tmp/jABsLcIB_8:1␤␤»
jnthn That's the answer I'd expect.
lizmat Any.invert currently coerced to l.list 21:43
*.list
from moritz I gather that is wrong, it should coerce to .hash
moritz well, then Any.invert is currently wrong
jnthn I guess I could kinda see .invert being defined on anything that can be viewed as having keys/values, and you can .kv a list. 21:44
lizmat moritz: what should it be then?
well, that's exactly the approach I took
moritz lizmat: self.hash.invert
jnthn But with what moritz is saying, that's still easy to get: @list.kv.invert would do the right thing
lizmat m: "a".hash.invert # doesn't work
camelia rakudo-moar 4e89bb: OUTPUT«Odd number of elements found where hash initializer expected␤ in method STORE at src/gen/m-CORE.setting:11145␤ in method hash at src/gen/m-CORE.setting:1656␤ in block <unit> at /tmp/HoY8tu7EbO:1␤␤»
moritz lizmat: that's fine
jnthn lizmat: I'd not expect it to work 21:45
moritz lizmat: just like 'mumble'.sqrt doesn't work
jnthn lizmat: It's meaningless. I think that would given an error.
lizmat m: <a b c>.hash.invert # doesn't work
camelia rakudo-moar 4e89bb: OUTPUT«Odd number of elements found where hash initializer expected␤ in method STORE at src/gen/m-CORE.setting:11145␤ in method hash at src/gen/m-CORE.setting:1656␤ in block <unit> at /tmp/zRaY6NE4wQ:1␤␤»
moritz p5 makes that a warning only
dunno if we want that
lizmat m: <a b c>..kv.say
camelia rakudo-moar 4e89bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SpPx2tza3z␤Calling 'kv' requires arguments (if you meant to operate on $_, please use .kv or use an explicit invocant or argument)␤ Expected any of: ␤ :(Any $x)␤at /tmp/SpPx2tza3z:1␤------> 3<a…»
lizmat m: <a b c>.kv.say
camelia rakudo-moar 4e89bb: OUTPUT«0 a 1 b 2 c␤»
moritz lizmat: not every coercion has to succeed. That doesn't mean have to look for different coercions
lizmat my reasoning: 21:46
21:46 xfix left
lizmat 1: .invert reverses keys and values 21:46
2. this can be thought of as using .kv
dalek kudo/native-ref: b6f8fb5 | jnthn++ | src/Perl6/Optimizer.nqp:
Fix optimizer up to know about lexicalref.
21:47
lizmat 3. Any.kv produces a list of values and indices
4. ergo Any.invert is just like that
21:47 molaf left
lizmat it makes a lot of sense to me 21:47
but I guess I'm alone
moritz lizmat: I see it more like:
1. most methods are tied to a data type. 21:48
2. invert is tied to hashes
3. so we coerce to Hash first
which is consistent with how just about every other coercive method works
lizmat I see .invert more tied to what it produces, not to which it "belongs" 21:49
dalek kudo/nom: 3607d7b | lizmat++ | src/core/ (2 files):
Stop Any.invert from infinilooping another way
21:50
moritz lizmat++
21:51 amaliapomian left
lizmat moritz++ # even up the karma, as I don't think I deserved this 21:51
jnthn lizmat++, moritz++ :) 21:52
moritz lizmat: you let yourself be persuaded. That's a rather rare trait in a human :-)
jnthn The work on native-ref to get to being mergable now is 1) JVM porting, 2) performance work
lizmat well, don't get me wrong: I'm not persuaded at all
I think this is blocking a rather useful idiom from being used 21:53
but I son't think it is important enough to fight about
*don't
PerlJam lizmat, moritz: I'm wondering why we don't just fail for now until a concensus is built or TimToady invokes Rule #1
lizmat jnthn++ # for *real* work 21:54
PerlJam: that is effectively the case now:
$ 6 '"a".hash.perl.say'
Odd number of elements found where hash initializer expected
PerlJam aye. problem solved :)
lizmat $ 6 '<a b c>.hash.perl.say'
Odd number of elements found where hash initializer expected
it no longer infiniloops
moritz m: say 'foo'.sqrt
camelia rakudo-moar 4e89bb: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤ in method <anon> at src/gen/m-CORE.setting:14984␤ in any find_method_fallback at src/gen/m-Metamodel.nqp:2822␤ in any find_method a…»
lizmat $ 6 '<a b c>.invert.perl.say'
Odd number of elements found where hash initializer expected
moritz same situation here: coercion doesn't success, thus the whole operation fails
I don't see why 'a'.hash should be different in this regard 21:55
nor any operation that needs to coerce to hash first
lizmat sorry, that was a pasto
please see my last paste here
PerlJam m: <a b c>.kv.invert.perl.say 21:56
camelia rakudo-moar 4e89bb: OUTPUT«(0 => 0, "a" => 1, 1 => 2, "b" => 3, 2 => 4, "c" => 5).list␤»
lizmat the reason I did this, was reading the backlog and someone mentioning it infinilooping
21:57 anaee____ left
lizmat then reading the synopsis, it seemed to be the right thing to do 21:57
it's no longer infinilooping: that was the important bit for me 21:58
PerlJam aye, lizmat++ for that.
dalek kudo/newio: aff3d16 | lizmat++ | src/core/List.pm:
Make List.kv completely flatten its values
21:59
rakudo/newio: 6662cdc | lizmat++ | src/core/array_slice.pm:
rakudo/newio: Make foo[] return self as with foo{}
21:59 dalek left
bartolin could someone on a windows box try to run this test file: gist.github.com/usev6/f9d0f6ca4e213e89b546 ? 21:59
lizmat sorry dalek, nwc10: I did it again :-)
21:59 dalek joined, ChanServ sets mode: +v dalek
bartolin I'm trying to add some repl specific tests to S19-command-line/repl.t but I'm not sure how to do that in a platform independent way 22:00
lizmat bartolin: I had a similar issue with t/spec/S17-supply/watch_path.t 22:01
in the end, I made a single subtest for the environment I *could* test
and then, depending on $*DISTRO.name, execute that one, or pass 22:02
moritz bartolin: the REPL isn't part of the design document, so I'd argue that REPL tests don't belong into roast
bartolin lizmat: I see. I could follow that way.
lizmat perhaps that could work for you?
moritz -> sleep 22:03
lizmat and indeed, perhaps it shouldn't live in roast, but in t/02-rakudo ?
good night, moritz
bartolin moritz: well, I see your point. good night!
I wouldn't mind to have the tests outside of roast. But given that there are quite some tickets about REPL specific behaviour it would be nice to have some tests for that. 22:05
lizmat bartolin++ for working on it
bartolin t/02-rakudo sounds fine to me.
lizmat yup
lizmat also calls it a night
bartolin good night, lizmat 22:06
[Coke] ~~ lizmat 22:07
jnthn 'night lizmat, moritz 22:08
Kristien My GC is as thread-safe as strtok. 22:12
geekosaur *eyeroll* 22:13
vendethiel *g*
PerlJam tosses a strtok_r at Kristien
22:13 colomon left
Kristien boost::split 22:14
geekosaur isn't sure strtok() is even single-thread safe, considering that it destructively modifies the string 22:16
Kristien It's a C API. Of course it's not safe.
leont strtok not being reentrant is a long known issues 22:17
22:19 kjs_ joined 22:20 kjs_ left 22:28 FROGGS left 22:33 khisanth_ joined
mohij Are the two regex strange-behaviours rakudobug worthy? 22:33
jnthn mohij: Only glanced them in passing, but looked so to me. 22:34
22:35 Khisanth left
mohij looks how to get a rt account 22:35
jnthn: thanks!
PerlJam mohij: just send an email to [email@hidden.address]
22:36 mls left
mohij PerlJam: Is there any documentation on formatting and content? 22:36
PerlJam mohij: um ... "do what masak does" :)
22:37 mls joined
mohij looks up a bug reported by masak 22:37
jnthn mohij: Most important is three pieces of info: 1) what code you ran, 2) what happened, 3) what you expected
22:37 laouji joined 22:39 kjs_ joined 22:44 diana_olhovik_ left 22:47 rurban left
Kristien bye! 22:49
22:49 Kristien left 22:50 raiph joined
masak mohij: here's my method: I copy-paste the relevant IRC discussion, and then remove everything that does not contribute to what jnthn said. 22:50
jnthn Because anything that doesn't contribute to what I say is clearly worthless. :P 22:51
mohij masak: Good hint for next time. Both reports are already out though. :-)
22:51 kjs_ left
masak cool. 22:52
22:52 dolmen left
PerlJam mohij++ 22:52
masak checks mohij++'s RT tickets
22:52 laouji left
masak very good on the three pieces of info. 22:53
22:53 pmurias_ left
masak one missing detail which copy/pasting from IRC/camelia gives you automatically is the git commit of Rakudo. 22:54
though that's not crucial -- the timestamp of the RT ticket works equally well, I guess.
so, all in all, mohij++ :)
22:56 Rounin left 23:03 mls left 23:04 mls joined 23:06 wicope left
dalek kudo-star-daily: 0915755 | coke++ | log/ (9 files):
today (automated commit)
23:12
23:17 pecastro left 23:28 skids joined 23:29 mohij left, dolmen joined 23:31 grondilu left 23:42 BenGoldberg joined 23:53 laouji joined, fernando_ joined 23:57 laouji left