»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:04 Guest23735 joined 00:05 erkan left 00:08 virtualsue left 00:11 pippo left
[Coke] daily runs dead until further notice. 00:13
lue [Coke]: aw, why? 00:17
00:18 BenGoldberg joined
[Coke] diakopter shut them down, trying to get setup on a different machine. 00:22
00:24 erkan joined
[Coke] stuck until moritz comes back online to set me up 00:24
00:25 Guest23735 left
clsn And now, rants about Unicode. 00:27
Rant #1: Bracketing characters again. According to S02, bracketing depends on the sequence of Ps/Pe/Pi/Pf codepoints and on Bidi mirroring glyphs, with the former taking precedence.
It would be nice to auto-generate the pairings and all, but unfortunately the unicode data APIs that I've seen don't seem to give you access to the bidi mirroring glyph, though they will tell you mirrored Y/N (which is not helpful, since there are many mirrored characters lacking pair-mates). That sucks. 00:29
lue clsn: www.unicode.org/Public/UCD/latest/u...roring.txt 00:30
clsn Also, what gives with U+2018, U+201A, and U+201B pairing up with U+2019? While I fully agree it makes sense, it doesn't pass muster wrt the spec, which quite clearly states that the _next_ Pe/Pf after a Ps/Pi is the closer. U+2019 is *before* two of the glyphs it's supposed to close for. And bidi mirroring doesn't help, because Ps/Pi stuff takes precedence. 00:31
lue: I know; what I said was that most unicode data APIs don't give you that information. Things like import unicodedata on python or use Unicode::UCD (or does it?) 00:32
lue clsn: actually, the spec just says "lowest-numbered closer", not "next closer"
clsn Then shouldn't everything be closed by )? 00:33
"For any given Ps character, the next Pe codepoint (in numerical order) is assumed to be its matching character"
It doesn't specifically say about Pi/Pf, but it seems to treat them the same.
lue clsn: for bidi brackets, see if the Bidi_Mirroring_Glyph and/or the Bidi_Paired_Bracket properties help out 00:34
clsn Now, it makes plenty of sense that „ and " and “ should all be closed by ” (and the same for the single-apostrophe versions), but that probably needs to be spelled out as an explicit exception to the spec. 00:35
[Coke] clsn: have you looked at the moar unicode setup code?
clsn Can you get the bidi_mirroring_glyph from Unicode::UCD? That's the property that is exactly what we're looking for, but like I said, I have not seen how to get access to it in most of the APIs.
No, though I did look some at the NQP stuff, etc. It's hardcoded there atm. What is moar doing? 00:36
lue clsn: is there no property lookup function in what you're using?
[Coke] clsn: bunch of scripts to scrape information out of unicode so it's available to moar. 00:37
00:38 laidback_01 joined
clsn Look at search.cpan.org/~rjbs/perl-5.18.2/l...de/UCD.pm; is there a way to get the value of a random property there? I didn't see it, but I might have missed it. 00:38
[Coke] Yeah, the information is certainly online; just that things like unicode data libraries seem to miss out supplying the bidi mirroring glyph information.
[Coke] right, I was just wondering if moar had already done this lifting for you 00:39
clsn It's certainly *possible* to get the information from the UCD, just that usually you aren;t working directly from the UCD files.
Ah, OK; I haven't looked at what moar does.
(and even so, it's still shame on all the other unicodedata libraries for not doing it. Maybe I should find out how to add the feature to some of them.)
So anyway, bidi mirroring glyphs and apostrophes as exceptions to the spec: the latter, at least, probably needs to be spelled out. 00:40
00:41 tgt joined
clsn Rant #2: Identifiers. This is maybe a little early in development to work on this, and you'll probably tell me a lot of it is waiting on developments in the regexp engine, but it's worth looking at anyway. 00:41
lue clsn: bidi is not exception, though the quotation marks seem to be.
clsn (yeah, bidi isn't exception, just a whine)
00:41 colomon left 00:42 trump joined
trump Juerd: I saw you in some irclogs mentioning that you had a mosh_away.pl for irssi that you grabbed (before it sadly went 404 from the initial tweet) -- do you still happen to have that? 00:43
I can't seem to find that anywhere, and I'd rather not rewrite it.
clsn Python3 has done a nice job of carefully spelling out what its identifiers look like in Unicode, *including* combining characters and everything. docs.python.org/3.1/reference/lexic...lysis.html section 2.3. It also normalizes identifiers in NFKC form, so á (precomposed) is the same as a􏿽xCC􏿽x81 (letter plus accent)
[Coke] .ask masak if rt.perl.org/Ticket/Display.html?id=80694 is still a question that needs an answer. (if so, perhaps TimToady or jnthn has one?) 00:44
yoleaux [Coke]: I'll pass your message to masak.
clsn The choice of NFKC (and not NFC) might be a little strange, in that ª and a and 𝖆 are all the same variable, but ᴀ is different from A. But hey, at least it's consistent. I'm not sure NFKC is a bad idea in the end, though. 00:45
[Coke] r: / abc | | def /
camelia rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 974d00, rakudo-moar 974d00: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Null regex not allowed␤at /tmp/tmpfile:1␤------> / abc | ⏏| def /␤ expecting any of:␤ statement list␤ prefix or term…»
[Coke] m: $_ = 'foo'; s:g/ /a/; say 'alive' 00:46
camelia rakudo-moar 974d00: OUTPUT«===SORRY!=== Error while compiling /tmp/LZQwMHpP5h␤Null regex not allowed␤at /tmp/LZQwMHpP5h:1␤------> $_ = 'foo'; s:g/ ⏏/a/; say 'alive'␤ expecting any of:␤ colon pair (restricted)␤»
00:46 tgt left
clsn Rakudo, at least, still has all kinds of issues. $á is a valid identifier, but $a􏿽xCC􏿽x81 is not (◌́ is not a valid identifier character). You probably can't do any variables or functions in Hindi because the vowels are probably not allowed. 00:47
I know this is supposed to be an issue with regexps being able to handle Unicode better and this "NFG" normalization that's bandied about, but I'm not sure there isn't something to be done about it in advance.
[Coke] m: my $á = 3; 00:48
camelia ( no output )
[Coke] I cut and pasted your second variable there.
lue [Coke]: your client composed it 00:49
clsn I also have to see what "NFG" is really supposed to be; one hopes if we're introducing Yet Another normalization form it's adding some value. NFKC probably isn't a bad idea, for variable normalization anyway.
Yeah, didn't work for me on local rakudo-moar.
lue m: my $a􏿽xCC􏿽x88 = 42;
camelia rakudo-moar 974d00: OUTPUT«===SORRY!=== Error while compiling /tmp/kAgi_XkFyj␤Two terms in a row␤at /tmp/kAgi_XkFyj:1␤------> my $a⏏[31m̈ = 42;␤ expecting any of:␤ scoped declarator␤ constraint␤ postfix␤ …»
00:50 spider-mario left
lue heh, the error message put a combining circle in its output :) 00:50
clsn So, yeah, in sum: unicode identifiers==cool, wish we supported 'em right.
Rant #3. OK, not really a rant. Just a confession that I find myself wishing to do all sorts of stupid things with Unicode and perl6 syntax. 00:51
lue clsn: we can't enforce a particular composition on the coder; the rakudo parser has to do the normalization within.
clsn lue: yes, exactly. Whatever it is in the source code, the language has to normalize it when internalizing the variable. 00:52
[Coke] .ask timtoady if we can get a ruling on rt.perl.org/Ticket/Display.html?id=83280
yoleaux [Coke]: I'll pass your message to timtoady.
lue As it's written in S15 so far, regexes would do matching in NFG form by default.
clsn Things like using ⁇ and ‼ and ∷ for ?? and !! and ::. Maybe … for ..., even ⏨ for the "e" in floating-point numbers... 00:53
lue p: say "⏨".ord.base(16) 00:54
camelia rakudo-parrot 974d00: OUTPUT«23E8␤»
clsn lue: that's matching; it's more a matter of what you said: the normalizing when it's allocated and stored.
00:54 tgt joined
lue well, it implies the text being matched against is transformed to NFG within the regex engine :) 00:54
clsn: why would you use a TURNED DAGGER for e ? Never seen that before. 00:55
[Coke] std: my @a = 1, 2, 3, given 42;
camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
[Coke] m: my @a = 1, 2, 3, given 42;
camelia rakudo-moar 974d00: OUTPUT«===SORRY!=== Error while compiling /tmp/HEBAcRoKPy␤Undeclared routine:␤ given used at line 1␤␤»
clsn Yeah, but is it transformed when you put it into the hash table or whatever that's storing your variables? I mean, maybe it is, but it isn't clear...
lue: U+23E8 is "DECIMAL EXPONENT SYMBOL". Basically looks like a subscript "10", so the exponent is raising it to a power. 00:56
00:56 _thou left
lue ah, I mistyped the codepoint number in the search thingy :P 00:56
clsn Where's TURNED DAGGER? I think my unicode table here is out of date. 00:57
lue clsn: depends on what string variable you're storing the string into / what string literal you're using.
[Coke] .u turned
yoleaux U+018D LATIN SMALL LETTER TURNED DELTA [Ll] (ƍ)
U+018E LATIN CAPITAL LETTER REVERSED E [Lu] (Ǝ)
U+019C LATIN CAPITAL LETTER TURNED M [Lu] (Ɯ)
[Coke] .u turned dagger
yoleaux U+2E38 TURNED DAGGER [Po] (⸸)
clsn Ah there. 2E38. Yeah, the file I grep from is old. 00:58
00:58 benabik left
clsn lue: I guess. It is something that has to be taken into consideration when this stuff is coded. I doubt it's happening automatically just because you're matching. 00:58
00:59 tgt left
lue NFD ~~ // might want to start as though it were m:nfd// , instead of m:nfg//, though there's no guarantee the regex was coded by the stringmaker :) 00:59
clsn Hm, what other Unicode fun toys are there waiting to be made into syntax? I have my "pretty-mode.el" script that displays various language constructs as Unicode chars in stupid ways. Some of those are ideas. 01:00
lue I'm all for Moar Unicode™, but I suspect most people would like that stuffed into Ofun::UniOps or similar :) . 01:01
clsn Yeah, I recognize a lot of this is dumb stuff I just like toying with, and at best should be optional, if it's there at all.
ashleydev then theres all the math symbols as var names 01:02
clsn I could whine and say "but if it isn't being used there's no harm in having it," but come on, we all know it's silly.
Well, depends on the math symbols.
[Coke] weird. I have a test that is failing when run in t/spec/.... but works if you lift it out and run it directly. 01:03
lue Now that I think about, we might benefit from a $*UNICODE/$?UNICODE , and/or a use unicode :v(7.0) pragma... 01:04
clsn Things like the Mathematical alphabetical characters like 𝕬 𝕭 𝕮 of course are possible (python3 normalizes them to A B C, possibly a good move, not necessarily) But not ≝ or ⓧ. Though as infix/prefix/postfix forms, okay.
lue If someone went through the trouble to type 𝕬, then chances are they *didn't* mean A :)
clsn lue: fair point.
[Coke] r: use Test; { my @a = 1,2,3; my @b; my $rt80614 = @b[0] = @a[1]; is $rt80614, 2, 'assignment to scalar via array item from array item'; is @b[0], 2, 'assignment to array item from array item to scalar'; } 01:05
camelia rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 974d00, rakudo-moar 974d00: OUTPUT«ok 1 - assignment to scalar via array item from array item␤ok 2 - assignment to array item from array item to scalar␤»
01:05 colomon joined
clsn I'm a little surprised that ≤ ≥ aren't there already, though. Those probably do deserve to be there by default. 01:05
lue clsn: yeah, we could stand to make ≤ and ≥ standard I think :)
[Coke] ^^ that is failing as RT#80614 in t/spec/S03-operators/assign.t 01:06
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=80614
01:06 bjz left
clsn See github.com/clsn/pretty-mode.el/blo...ty-mode.el for dumb ideas from my pretty-mode.el. Some might be worth considering, but I'm afraid to start suggesting some, because I think there's a slippery slope there for me. :) 01:07
lue Once I (or someone else 😉) actually get to writing all the S15 tests, someone may finally start implementing S15 (which would likely end up being me too, at least in part :P) 01:08
01:08 xinming_ left 01:09 xinming joined
Juerd trump: Yes but it doesn't work very well. 01:09
01:09 rurban joined
[Coke] rakudo: $_ = "aaaa"; .++.say while 1 01:11
camelia rakudo-parrot 974d00: OUTPUT«(timeout)aaaa␤aaab␤aaac␤aaad␤aaae␤aaaf␤aaag␤aaah␤aaai␤aaaj␤aaak␤aaal␤aaam␤aaan␤aaao␤aaap␤aaaq␤aaar␤aaas␤aaat␤aaau␤aaav␤aaaw␤aaax␤aaay␤aaaz␤aaba␤aabb␤aabc␤aabd␤aabe␤aabf␤aabg␤aabh␤aabi␤…»
..rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-moar 974d00: OUTPUT«(timeout)aaaa␤aaab␤aaac␤aaad␤aaae␤aaaf␤aaag␤aaah␤aaai␤aaaj␤aaak␤aaal␤aaam␤aaan␤aaao␤aaap␤aaaq␤aaar␤aaas␤aaat␤aaau␤aaav␤aaaw␤aaax␤aaay␤aaaz␤aaba␤aabb␤aabc␤aabd␤aabe␤aabf␤aabg␤aabh␤aabi␤aa…»
lue clsn: cool list, though, for a Perl 6 thing, in some cases (particularly ж), I'd strongly recommend not confusing the appearance of a glyph for its meaning :)
clsn Anyway, done ranting. Let that sit and stew in people's backscrolls and see what comes of it. Thank you, ladies and gentlemen. 01:12
lue: yeah, with the way perl6 can change meanings around in ways other languages can't necessarily. ж is... at best, creative. It doesn't really make "sense."
lue :) 01:13
Well, this conversation reminded me of a previous one on Unicode (particularly, how things change between versions); I think the best solution is to /not/ lock Perl 6 to a specific Unicode version, and instead have that $*UNICODE/use unicode thing I mentioned earlier 01:15
clsn Not all relevant ones are in the list, either; I didn't know much perl6 when I looked at this last. So maybe now I might add ≡ for =:=, make ∙ work for perl too, etc.
It looks like I changed my mind in my local version and am using ≅ for ~=.
lue ($*UNICODE/$?UNICODE would tell you what Unicode version Perl 6 is using, to be clear)
[Coke] m: enum E <a b c>; say c.succ 01:16
camelia rakudo-moar 974d00: OUTPUT«3␤»
clsn Locking it to a particular version would be Bad. Unicode *does* have some stability guarantees to keep the changes from being too horrific, but still it might be good to have access to that like you say.
lue I'd much rather trust the user to know what version of Unicode is best for their code :) 01:17
[Coke] github.com/perl6/specs/commit/6b02...a1025499b6 -> RT #102276 - it would be great if someone could tease out tests from that dense spec chunk. 01:19
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=102276
[Coke] m: rakudo: enum somenum <a b c d e>; my somenum $temp = 3; say $temp.key; 01:20
camelia rakudo-moar 974d00: OUTPUT«Type check failed in assignment to '$temp'; expected 'somenum' but got 'Int'␤ in block at /tmp/7yvxPOsVDI:1␤␤»
[Coke] m: rakudo: enum somenum <a b c d e>; my somenum $temp = d; say $temp.key;
camelia rakudo-moar 974d00: OUTPUT«d␤»
[Coke] m: given 42 { when SomeUndeclaredType { say "OH HAI" }; default { say "OH NOES" } } 01:21
camelia rakudo-moar 974d00: OUTPUT«===SORRY!=== Error while compiling /tmp/ikyyU9kWp7␤Missing block␤at /tmp/ikyyU9kWp7:1␤------> when SomeUndeclaredType { say "OH HAI" }⏏; default { say "OH NOES" } }␤ expecting any of:␤ postfix␤ …»
[Coke] m: my $x = "lol"; say ($x ~~ s/o/0/).WHAT; 01:23
camelia rakudo-moar 974d00: OUTPUT«(Bool)␤»
dalek ecs: b30fdaf | lue++ | S15-unicode.pod:
[S15] Add $*UNICODE and Unicode version pragma.

This allows the user to gain some stability in the cases where Unicode's stability policy isn't sufficient.
01:25
[Coke] r: EVAL 'TestA::b(3, :foo)'
camelia rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 974d00: OUTPUT«Could not find symbol '&b'␤ in method <anon> at gen/parrot/CORE.setting:12274␤ in any at gen/parrot/Metamodel.nqp:2694␤ in any find_method_fallback at gen/parrot/Metamodel.nqp:2682␤ in any find_method at gen/parrot/Metamodel.nqp:949␤ in a…»
..rakudo-moar 974d00: OUTPUT«===SORRY!===␤Could not find symbol '&b'␤»
BenGoldberg On a related subject... it seems to me that if someone uses two distinct unicode identifyers of the same type (both hashes, or both subs, or whatever), which could potientially normalize to the same string, a warning should probably be emitted. 01:26
01:28 benabik joined
lue BenGoldberg: if, as I suspect, the internal parser of Perl 6 operates in NFG mode, you'd probably get an error anyway :) [though a warning/more descriptive error explaining the normalization trickery that causes the error would definitely be nice.] 01:28
01:29 bjz joined
BenGoldberg I was thinking more of: my $foo = 1; my $string_which_normalizes_to_foo = 2; # the second declaration should produce a warning 01:30
TimToady we aren't going to be using NFKG anywhere if I can help it 01:31
yoleaux 00:52Z <[Coke]> TimToady: if we can get a ruling on rt.perl.org/Ticket/Display.html?id=83280
lue TimToady: NFKC you mean? I agree with that NF not happening :)
BenGoldberg: depends on your definition of "normalization" there; would my $s = 1; my $ſ = 2; produce a warning? 01:32
TimToady I said G and I meant G. people can use the K forms if they like, but I feel no great urge to canonicalize anyone's chars
BenGoldberg Maybe :)
[Coke] we have a test that does a dies_ok and then tries to check the value of $!, which is Nil at that point - is there a way to use dies_ok -and- retain the exception?
lue TimToady: OK then, hadn't heard "NFKG" come up before is all.
TimToady I just made it up, in order to denigrate it. :) 01:33
BenGoldberg In particular, if they're likely to look the same as each other in someone's editor, perl should give a warning.
After all, code needs to be read by humans :)
TimToady if we coddle the users, they'll get stupid :)
and the initial image will be 5 gigs or so 01:34
01:34 Guest23735 joined
lue well, s and ſ don't look the same, but NFKC and NFKD would see it as that way. Both are valid normalizations, along with NFC, NFD, NFG, and this NFKG thing I can't figure out what it's supposed to be yet :) 01:34
01:34 erkan left
clsn You can't catch all things-that-look-alike. A and Α, and half the cyrillic alphabet, etc. 01:35
[Coke] eh, I'll jsut run it twice.
clsn There needs to be SOME normalization, I think, since you're not supposed to treat things differently that are canonically equivalent. NFC or NFD or NFG whatever that is, if not NFK*. 01:36
BenGoldberg Hmm....
How about we let the user specify, via pragma, which kind of normalization they want?
lue It all depends on how NFG transforms the sequences in the end — "my $a􏿽xCC􏿽x88 ; my $ä" would be a redeclaration, but "my $s; my $ſ" wouldn't.
skids .u IMAGE OF 01:37
TimToady to the first approximation, NFG is NFC
clsn That would be consistent with NFC or NFD too, so far.
yoleaux U+2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF [Sm] (≒)
U+2253 IMAGE OF OR APPROXIMATELY EQUAL TO [Sm] (≓)
U+228F SQUARE IMAGE OF [Sm] (⊏)
clsn OK.
skids hrm.
dalek ast: ca05eae | coke++ | S02-names-vars/names.t:
eliminate a "nom regression"

dies_ok doesn't leave a $! around for testing, and the error message includes the function name, but not the class.
Eliminate unneeded EVAL
lue *still* has no clue what SQUARE IMAGE OF is supposed to do, stupid 7/8-bit mentality search engines... 01:38
TimToady blames canonicalization
BenGoldberg :)
skids .u ORIGINAL OF 01:39
yoleaux U+2290 SQUARE ORIGINAL OF [Sm] (⊐)
U+2292 SQUARE ORIGINAL OF OR EQUAL TO [Sm] (⊒)
U+22B6 ORIGINAL OF [Sm] (⊶)
lue clsn: NFG is NFC plus extra "fake" codepoints for graphemes without their own singular Unicode codepoint.
skids Ah there it is. clsn: ⊶ and the ones like it, for ^.. .. and ..^. Not that that follows meaning. 01:40
TimToady the characters that woulda got their own precomposed codepoint if codepoints weren't in short supply :)
[Coke] TimToady: is this test cromulent? github.com/perl6/roast/blob/master...rray.t#L87
01:40 xinming left
TimToady [Coke]: still trying to wake up from my map, so thinking is hard :) 01:40
[Coke] (rakudo is currently claiming that's a Parcel, not a list)
TimToady *nap
typing is hard too 01:41
colomon mapping is hard, too.
01:41 xinming joined
[Coke] TimToady: no pressure. 01:41
TimToady I'd think it'd be a parcel 01:42
[Coke] TimToady++
lue r: say 0x1_0000 * 11 + 0xFFFF_FFFF - 0x10_FFFF;
camelia rakudo-parrot 974d00, rakudo-moar 974d00: OUTPUT«4294574080␤»
..rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
lue TimToady: I dunno, that's an awful lot of unused codepoints :P 01:43
TimToady r: sub foo () { 1,2,3 }; say foo.WHAT
camelia rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 974d00, rakudo-moar 974d00: OUTPUT«(Parcel)␤»
lue afk
TimToady Parcel is the normal way to return multiple values from a function
and .[0] is really a function acting as a method
dalek ast: 41aae23 | coke++ | S02-types/multi_dimensional_array.t:
Update to avoid "nom regression"

  irclog.perlgeek.de/perl6/2014-02-26#i_8346323
01:44
skids Isn't a "nom regression" what happens when you catch the norovirus? 01:47
TimToady well, that's the short term problem. Longer term, I had to get my front teeth rebuilt when I fainted and landed on a bathtub with my face 01:48
[Coke] (straight answer) It's what we (i) did at one point to avoid having to open tickets for lots of things that now need tickets. 01:49
TimToady: Yikes.
skids Ouch. It didn't hit me quite THAT hard. Then it wasn't certain we actually had real noro around here.
TimToady well, we were at altitude, so oxygen was a bit short
dalek ast: 4c480e8 | coke++ | S03-operators/comparison.t:
convert "nom regression" to RT
01:50
TimToady but it was almost certainly noro in our case; about half of us got sick at roughtly the same time
colomon :(
TimToady and it was the sort of bug that you really start to wonder if you're gonna die
[Coke] m: my $a = Mu; say defined($a++); 01:51
camelia rakudo-moar 974d00: OUTPUT«True␤»
TimToady (we were on our way back from graduating Aron from St Johns, and started coming down with it at the Grand Canyon)
[Coke] m: my $a = Mu; say defined($a++); say $a;
camelia rakudo-moar 974d00: OUTPUT«True␤1␤»
[Coke] m: my $a = Mu; say defined($a--); say $a;
camelia rakudo-moar 974d00: OUTPUT«True␤-1␤»
[Coke] ^^ there's a test that thinks that should be False.
skids tends to wonder that daily just out of habit, so would not have noticed that.
TimToady I believe there's a spec that says it should be true
lemme look
S03:562 01:52
synopsebot Link: perlcabal.org/syn/S03.html#line_562
[Coke] ah, so the bug is that it's 1, not 0? 01:53
TimToady no, postincr
[Coke] (honestly, having it be 0 seems weird to me, I'd expect 1 based on fiveish behavior)
TimToady it leaves the original as 0
[Coke] "Hence a postincrement returns 0 the first time" 01:54
TimToady without the defined it should say 0 1 or 0 -1
it does return 0
[Coke] I did only do it once.
TimToady you're confusing preincr with postincr
[Coke] oh, my code isn't quite doing what I think it is.
r: my $a = Mu; say $a++; say $a; 01:55
camelia rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 974d00, rakudo-moar 974d00: OUTPUT«0␤1␤»
TimToady that is specced behavior
01:55 tgt joined
[Coke] returns 0 vs changing the value. Danke. 01:55
TimToady yeah, postincr returns the *old* value
dalek ast: 0fd86f6 | coke++ | S03-operators/increment.t:
"nom regression" is really spec'd behavior

  irclog.perlgeek.de/perl6/2014-02-26#i_8346386
01:58
[Coke] I wonder how many more of these regressions are now just spec updates.
[Coke] heads out. TimToady++ for all the spec clearups.
TimToady btw, hypers aren't duckmap anymore 01:59
01:59 tgt left
[Coke] I just saw a 2 year old+ ticket about that... 01:59
TimToady rt.perl.org/Public/Bug/Display.html?id=102276 is what I was commenting on 02:00
[Coke] if I can reject an old ticket, awesome. :)
TimToady mind, hypers are still deepmap, and not supposed to be :)
[Coke] let me know if it can be closed.
(or have masak open up a corrected ticket)
TimToady dunno, nice to at least have a placeholder
[Coke] really heading out.
TimToady o/
or I could just, like, fix hypers :) 02:01
02:05 FROGGS_ joined 02:08 rurban left 02:09 FROGGS left
clsn Is NFG going to have a "fake" codepoint for *every* possible basechar+combining-marks* string? Like LATIN LETTER CAPITAL A plus ARABIC DAMMA plus COMBINING ANNUITY SYMBOL? That's going to be an awful lot of codepoints. 02:09
02:09 rurban joined 02:10 klapperl_ joined 02:12 klapperl left
geekosaur allocated when needed, presumably. it's not the sort of thing that has meaning outside the current perl6 instance 02:13
if your program creates a million of them (a) there's space (b) "doctor, it hurts when I do this" 02:14
TimToady we'll probably end up with a shared table plus a per-string table 02:35
assuming most programs are processing a particular script, the script's graphemes tend to go into the shared table, and when that fills up, per-string table can handle weird stuff outside the original script 02:37
even if a program is multi-script, the first ones in tend to be indicative of the common cases
but a good initial first cut is just per-string, and safer from a DoS attack 02:39
skids How does a per-string NFG table help -- isn't the point for compare operations between strings to be efficient? 02:46
TimToady a global table would allow you to compare negatives, yes, but is very difficult to GC 02:52
most chars will be positives, so that comparison is always a fastpath 02:53
if either is negative, then we have to think a bit more
02:53 stevan_ left, stevan_ joined 02:54 skids left
TimToady if there's a known cutoff small negatives for the global table, then it's just a matter of comparing to that instead of 0 to see if the negatives are comparable 02:54
02:55 alc joined 02:56 tgt joined, hoverboard left 03:00 tgt left 03:04 rurban left 03:15 xinming left 03:22 hoverboard joined
japhb j: class Foo { has $.bar; method baz { say $.bar; { bar => eager < 1 >.map: { say $.bar } } } }; Foo.new(:bar("a")).baz; Foo.new(:bar("b")).baz; 03:23
camelia rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
japhb m: class Foo { has $.bar; method baz { say $.bar; { bar => eager < 1 >.map: { say $.bar } } } }; Foo.new(:bar("a")).baz; Foo.new(:bar("b")).baz;
camelia rakudo-moar 974d00: OUTPUT«a␤a␤b␤a␤»
japhb m: class Foo { has $.bar; method baz { say $.bar; [ bar => eager < 1 >.map: { say $.bar } ] } }; Foo.new(:bar("a")).baz; Foo.new(:bar("b")).baz;
camelia rakudo-moar 974d00: OUTPUT«a␤a␤b␤b␤»
japhb Note the difference in output ^^ 03:24
Only difference in code is changing { bar => ... } to [ bar => ... ]
p: class Foo { has $.bar; method baz { say $.bar; { bar => eager < 1 >.map: { say $.bar } } } }; Foo.new(:bar("a")).baz; Foo.new(:bar("b")).baz; 03:26
camelia rakudo-parrot 974d00: OUTPUT«a␤a␤b␤b␤»
japhb Note that it's correct on parrot, but not on moar (and locally, broken also on jvm)
03:26 Guest23735 left 03:27 erkan joined, erkan left, erkan joined
japhb This bug was causing "impossible" bleading between fresh objects in a loop. 03:27
*bleeding
.tell jnthn This bug may be at a level that needs your eyes: irclog.perlgeek.de/perl6/2014-02-26#i_8346638 03:31
yoleaux japhb: I'll pass your message to jnthn.
03:45 ph1ur3_ joined 03:46 xinming joined 03:50 skids joined 03:51 ph1ur3_ is now known as ph1ur3 04:34 araujo left 04:35 xfix left 04:40 xfix joined 04:44 laidback_01 left, laidback_01 joined 04:49 mavcunha left 04:59 tgt joined 05:04 tgt left 05:22 hoverboard left
dalek ast: 7daa89c | moritz++ | S03-operators/comparison.t:
RT #121326: correct and unfudge tests
05:43
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121326
05:44 ingy left, ingy joined
[Coke] moritz++ 05:45
I have a makefile that rakudo generated that has "j-all" at the top, but no definition of it. 05:46
05:49 darutoko joined 06:00 tgt joined 06:04 tgt left, alc left 06:21 BenGoldberg left 06:22 [Sno] left
moritz [Coke]: did Configure.pl abort with an error? 06:24
masak morning, #perl6 06:46
yoleaux 00:44Z <[Coke]> masak: if rt.perl.org/Ticket/Display.html?id=80694 is still a question that needs an answer. (if so, perhaps TimToady or jnthn has one?)
grondilu notices that rosettacode.org/wiki/SHA-256#Perl_6 now works with MoarVM 06:47
masak [Coke]: I'd like to know, too. 06:49
06:57 SamuraiJack__ joined 07:01 tgt joined 07:03 SamuraiJack__ left 07:04 SamuraiJack__ joined 07:05 tgt left 07:09 kaleem joined 07:14 SamuraiJack__ left 07:16 SamuraiJack__ joined
dalek kudo/nom: 881f828 | larry++ | src/core/LoL.pm:
ensure 1st arg to X is lazy
07:26
kudo/nom: a836ab7 | larry++ | src/core/ (2 files):
add deepmap, make unary hypers shallow as specced
TimToady note that this will kill a few wrong unary hyper tests till we change them to .deepmap
07:27 pdcawley_ left
grondilu rn: for ^2 { my @b = (^256).roll(64); say :256[@b.shift xx 4] xx @b/4; } 07:27
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: :16[...] syntax NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3815 (unbase @ 8) ␤ at /tmp/tmpfile line 1 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.se…»
..rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-moar 974d00: OUTPUT«1579205690 1355821393 4232504958 2412195070 1054437615 566464174 2486826669 1595923990 991953772 3480634857 424925589 1958990192 3384319984 1422756466 3635660521 4253976283␤===SORRY!===␤Element shifted from empty list␤»
..rakudo-parrot 974d00: OUTPUT«3795212420 3158342417 256165518 1657595798 1786761498 312951935 78079993 1942245667 645834118 4081510027 2310301881 1916196990 4244084058 2864670074 2128534466 370168813␤2347852200 3952915263 1159181934 3552185973 2361045754 3404705198 1276420302 26816…»
07:27 _daniel-s__ left
grondilu « ===SORRY!===␤Element shifted from empty list » was very much unexpected here. 07:28
07:28 _daniel-s__ joined, pdcawley joined
masak m: for ^2 { my @b = (^256).roll(64); say :256[@b.shift xx 4] xx @b/4 } 07:29
camelia rakudo-moar 974d00: OUTPUT«1951020929 1685171118 589371551 1707360859 2554443185 173561171 3367773544 1963678829 214200794 2553362789 4175592615 2007505351 3303408050 4102449199 209607801 3634771479␤===SORRY!===␤Element shifted from empty list␤»
grondilu r: for ^2 { my @b = (^256).roll(4); say [@b.shift xx 2] xx @b/2; } 07:30
camelia rakudo-parrot 974d00: OUTPUT«43 226 6 78␤10 104 120 200␤»
..rakudo-jvm 974d00: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-moar 974d00: OUTPUT«46 85 79 64␤===SORRY!===␤Element shifted from empty list␤»
masak m: for ^2 { my @b = 1 xx 64; say (@b.shift xx 4) xx @b/4 }
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1␤===SORRY!===␤Element shifted from empty list␤»
masak m: for ^2 { my @b = 1 xx 64; say (1 xx 4) xx @b/4 }
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1␤1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 …»
07:30 dmol joined
masak m: for ^2 { my @b = 1 xx 64; say @b.shift xx @b } 07:30
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1␤1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 …»
masak m: for ^2 { my @b = 1 xx 64; say (@b.shift xx 4) xx @b/4 }
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1␤===SORRY!===␤Element shifted from empty list␤»
masak m: for ^2 { my @b = 1 xx 64; say (@b.shift xx 4) xx 16 } 07:31
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1␤===SORRY!===␤Element shifted from empty list␤»
masak m: for ^2 { my @b = 1 xx 4; say (@b.shift xx 2) xx 2 }
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1␤===SORRY!===␤Element shifted from empty list␤»
07:31 [Sno] joined
masak that sort of highlights that something is wrong, don't it? 07:31
grondilu inded
deed*
masak m: my @b = 1 xx 4; say (@b.shift xx 2) xx 2 07:32
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1␤»
masak huh!
07:32 labster joined
grondilu it works in the first iteration, but not in the second. Go figure. 07:32
masak submits rakudobug
grondilu: oh yes, that's it.
m: for ^2 { my @b = 1 xx 4; say @b.shift xx 4 } 07:33
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1␤1 1 1 1␤»
TimToady m: for ^2 { my @b = 1 xx 4; say @b.elems; say (@b.shift xx 2) xx 2 } 07:34
camelia rakudo-moar 974d00: OUTPUT«4␤1 1 1 1␤4␤===SORRY!===␤Element shifted from empty list␤»
TimToady m: for ^2 { my @b = 1 xx 4; say (@b.shift; @b.shift) xx 2 }
camelia rakudo-moar 974d00: OUTPUT«1 1␤1 1␤»
TimToady m: for ^2 { my @b = 1 xx 4; say (@b.shift xx 2) for 1..2 }
camelia rakudo-moar 974d00: OUTPUT«1 1␤1 1␤===SORRY!===␤Element shifted from empty list␤»
07:35 dmol left
TimToady m: for ^2 { my @b = 1 xx 4; (say "X" xx 2) for 1..2 } 07:35
camelia rakudo-moar 974d00: OUTPUT«X X␤X X␤X X␤X X␤»
TimToady that seems okay 07:36
masak yes, it's only shifting that somehow gets an old @b or something. 07:37
this seems very much like a lexical bug to me.
masak shudders
grondilu it's weird though, since as TimToady shown, @b is correctly 4 long at the beginning of the second iteration. 07:39
m: for ^2 { say my @b = 1 xx 4; (@b.shift xx 2) xx 2 }
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1␤1 1 1 1␤»
grondilu ?? 07:40
m: for ^2 { say my @b = 1 xx 4; say (@b.shift xx 2) xx 2 }
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1␤1 1 1 1␤1 1 1 1␤===SORRY!===␤Element shifted from empty list␤»
grondilu oh, it's only when we say it that it gets wrong
m: for ^2 { my @b = 1 xx 4; my @c = (@b.shift xx 2) xx 2; say @c }
camelia rakudo-moar 974d00: OUTPUT«1 1 1 1␤===SORRY!===␤Element shifted from empty list␤»
grondilu m: for ^2 { my @b = 1 xx 4; my @c = (@b.shift xx 2) xx 2; }
camelia rakudo-moar 974d00: OUTPUT«===SORRY!===␤Element shifted from empty list␤»
grondilu or affects it. 07:41
masak interesting.
my bet: something gets the wrong OUTER somewhere when two nested infix:<xx> are used like that. 07:43
the wrong OUTER points back to the @b from the first iteration, and so tries to shift an empty array.
07:44 SamuraiJack__ left
masak that doesn't explain why we need to observe it for it to happen, but it explains everything else. 07:44
grondilu is an OUTER scope in a loop supposed to refer to the scope of the previous iteration?
07:44 SamuraiJack__ joined
masak no, not at all. 07:44
I'm saying something is OUTER'd wrong.
dalek ast: eb7b2df | larry++ | S03-metaops/hyper.t:
change some unary hypers to deepmaps
07:45
masak OUTER scopes always follow the block nesting of the code itself. unless you start fiddling with macros and quasis.
07:45 berekuk joined 07:47 molaf joined 07:51 klapperl_ left 07:53 klapperl joined
masak [Coke]: no need to say "sorry" about rt.perl.org/rt3/Ticket/Display.html?id=77340 ! 07:56
[Coke]: I just read through the whole discussion, and pmichaud++ is indeed very right. he correctly averted a lot of WAT by looking ahead and seeing it early. 07:57
08:01 tgt joined 08:06 tgt left 08:08 zakharyas joined
TimToady crum broke X on <a b>, didn't notice the test blowup (too many Unicode blowups...) 08:12
I see what I did 08:16
dalek kudo/nom: d7da964 | larry++ | src/core/LoL.pm:
fix botched laziness patch on X
08:22
08:22 berekuk left
dalek ast: fb9afbd | moritz++ | S32-exceptions/misc.t:
Test for RT #82142
08:24
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=82142
08:25 PZt left
moritz I haven't used typed exceptions much in normal p6 code, but for testing they are just wonderful 08:26
08:29 SamuraiJack__ left 08:37 Shozan left, SHODAN joined 08:39 salv0 joined
masak agreed. 08:40
they're pretty sweet for larger-ish applications, too. I've really taken to sending pertinent information as cargo with an exception. or even methods. 08:41
08:54 kaare_ joined
dalek ast: 0a52ae3 | larry++ | S03-metaops/hyper.t:
more unary hypers to deepmaps
08:57
kudo/nom: aa5c6bb | larry++ | src/core/metaops.pm:
further detangling of deepmap from hyper
09:00
masak deepmap++ detangling++ 09:03
moritz does that mean I can write @arry>>[0] again to get the first elements of each array ref?
masak .oO( @arry Potter?? ) 09:05
FROGGS_ >.<
09:07 klapperl_ joined 09:09 klapperl left
TimToady moritz: hopefully 09:09
timotimo oh, hyperops are now always shallow?
so no more "is nodal"?
TimToady we can still have is nodal, but it'll just pick between the hyper and the deepmap 09:11
timotimo ah, good 09:12
TimToady so maybe I don't have to fix all the unaries in the hyper test, once that works
09:20 spider-mario joined, rindolf joined 09:23 virtualsue joined 09:24 fhelmberger joined 09:29 denisboyun joined 09:30 tgt joined, PZt joined
dalek kudo/nom: 453e51a | larry++ | src/core/LoL.pm:
better fix for lazy X
09:31
TimToady zzz & 09:32
09:34 tgt left
masak good night TimToady++ 09:36
09:42 tgt joined, dakkar joined 09:46 tgt left 09:55 SamuraiJack__ joined
jnthn o/ #perl6 09:59
yoleaux 03:31Z <japhb> jnthn: This bug may be at a level that needs your eyes: irclog.perlgeek.de/perl6/2014-02-26#i_8346638
moritz \o * 10:00
jnthn Probably, but it won't be getting them for another couple of days... :(
masak */ \* 10:04
10:20 xinming_ joined 10:23 xinming left 10:31 SamuraiJack__ left 10:32 _daniel-s__ left, _daniel-s__ joined, SamuraiJack__ joined 10:53 donaldh left 10:56 donaldh joined 10:59 denisboyun left 11:00 kivutar joined, PZt left 11:03 kshannon_ left, kshannon joined 11:13 kaleem left, kaleem joined, kaleem left 11:15 spider-mario left 11:16 kaleem joined 11:19 zakharyas left 11:20 xinming joined 11:24 xinming_ left 11:26 zakharyas joined 11:32 zakharyas left 11:35 zakharyas joined 11:41 mavcunha joined 11:44 zakharyas left 11:48 kivutar left
timotimo is now bound to twiddling thumbs at $dayjob and could sneak in a perl6 tuit or two 11:53
nnnnoooooo, i can't login to my desktop at home :o 11:54
masak they bind you at work? that's cruel.
and to thumbs, no less. :P
timotimo hah :)
11:54 denisboyun joined
timotimo phew, false alert 11:54
masak .oO( alert(false) ) 11:55
timotimo turns out you can't ssh -A if you have control masters turned on and a non--A connection already exists
jnthn
.oO( NaN )
timotimo jnthn: i'll spectest my flatten_fastpath and compare it against master-moarvm. should i merge if there are no new failures? 11:56
jnthn timotimo: +1 11:57
timotimo yay
jnthn: also, how do you feel about triggering a GC run if we get a null pointer back from malloc in MVM_string_flatten? 11:59
jnthn timotimo: Very bad. 12:00
timotimo: You can't just introduce GC runs in a function that hadn't used to make them.
timotimo the thought was that things that call MVM_string_flatten indirectly will already assume that there may be allocation
jnthn No, they don't 12:01
timotimo ah
jnthn MVM_string_flatten doesn't allocate GC-able memory.
timotimo right
if you have a better idea, shoot :)
jnthn "Fix ropes"
"Implement escape analysis"
:P
12:01 Ven joined
timotimo hah 12:01
i was thinking more short term ;)
maybe it should throw an adequate exception, though. instead of crashing.
jnthn Do you have an example of real (not benchmark) code actually running into this? 12:02
timotimo no :)
jnthn OK, then I think we can live with it short term. :)
A more viable solution would be to track how much string memory we allocated since the last GC run, and set the "run GC at the next safe point" flag. 12:03
timotimo mhm 12:04
do we have an op where checking that flag seems like a sane thing that wouldn't penalize every single op there is?
12:04 rindolf left, _daniel-s__ left
jnthn It checks it on branches, iirc. 12:05
12:05 _daniel-s__ joined
jnthn So that if one thread is sat in a tight loop and another triggers GC, the looping thread will come and join in, rather than deadlocking the VM. 12:05
timotimo oh, there already is such a flag! 12:06
jnthn Look for GC_SYNC_POINT or so
Oh yes, it's been in there since the private development days :)
timotimo should there be an MVM_gc_string_memory_allocated(size_t amount) or something like that?
jnthn Could do. Can store the value on the ->tc 12:07
uh tc
timotimo if i have enough time, i'll implement that then.
what's a sane amount to try for the limit? 12:08
maybe just take the nursery size as an orientation value?
jnthn No, that'll do it way too often. 12:09
This is more a "don't eat gigabytes" safetly valve...
timotimo OK
jnthn So it can be fairly high by default (128MB or so)
See that you don't slow down setting compilation, I guess is one way to analyze it... 12:10
timotimo wtf. 12:11
filestat.t failed three tests on master, passed all tests on flatten_fastpath
other than that, no new failures at all
i'm counting that as a +1 to merge
12:15 mtk left 12:19 SamuraiJack__ left 12:20 SamuraiJack__ joined 12:27 beastd joined 12:32 xinming_ joined 12:33 xinming left 12:34 kaare_ left 12:36 zakharyas joined 12:37 SamuraiJack__ left 12:39 SamuraiJack__ joined 12:40 bluescreen10 joined
timotimo perl6-m -e 'my $s = ""; for (1 .. 1000000) { $s ~= "x" }; 1' - this does run out of memory on a vanilla moarvm, does it not? 12:42
ah 12:43
hehe.
yes, enter from interrupt is infinilooping on while ((curr = MVM_load(&tc->instance->gc_start)) < 2 || !MVM_trycas(&tc->instance->gc_start, curr, curr - 1)) 12:44
so we should introduce a new gc state flag that says "i used the interrupt mechanism to tell myself to gc" 12:45
(or at least i think that's a good solution)
ah, #moarvm is a better place for this discussion 12:46
13:04 benabik left 13:11 skids left 13:13 Adriaaan joined 13:14 PZt joined 13:17 SamuraiJack__ left, SamuraiJack__ joined
masak for those interested in such things, www.cl.cam.ac.uk/~mr10/backtrk.pdf contains a clever algorithm using bitmasks to quickly find solutions to the 8-queens problem. might be a nice addition to rosettacode.org/wiki/N-queens_problem#Perl_6 13:21
jnthn Hm, that guy was my algorithms lecturer... :) 13:27
masak ooh
masak .oO( your algo lecturer was named Mr. 10? ) :P
Ven r: sub a($a, $b = 0) { say "$a.perl - $b.perl"; }; a(1, 2); a 1, 2; a (1, 2); 13:30
camelia rakudo-parrot 453e51, rakudo-moar 453e51: OUTPUT«1.perl - 2.perl␤1.perl - 2.perl␤1 2.perl - 0.perl␤»
..rakudo-jvm 453e51: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
Ven r: sub a($a, $b = 0) { say "{$a.perl} - {$b.perl}"; }; a(1, 2); a 1, 2; a (1, 2); 13:31
camelia rakudo-jvm 453e51: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 453e51, rakudo-moar 453e51: OUTPUT«1 - 2␤1 - 2␤$(1, 2) - 0␤»
Ven calm down jvm
moritz j: say 42 13:33
camelia rakudo-jvm 453e51: OUTPUT«42␤»
Ven r: .perl.say given 5;
camelia rakudo-parrot 453e51, rakudo-jvm 453e51, rakudo-moar 453e51: OUTPUT«5␤»
13:35 xinming joined, SamuraiJack__ left, xinming_ left
Ven r: sub a($n) { return $_ if $_ given $n == 1; } say a(0).perl; say a(1).perl; 13:36
camelia rakudo-parrot 453e51, rakudo-jvm 453e51, rakudo-moar 453e51: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> ($n) { return $_ if $_ given $n == 1; } ⏏say a(0).perl; say a(1).perl;␤ …»
13:37 SamuraiJack__ joined
masak j: my $a = 1; say "$a.perl() is how you call methods inside of a string interpolation" 13:40
camelia rakudo-jvm 453e51: OUTPUT«1 is how you call methods inside of a string interpolation␤»
masak Ven: ^
Ven yep
I'd rather use {} though, I don't have to think about where it ends 13:41
FROGGS_ it is always a matter of taste, yes
13:43 slavik joined
colomon wants .WHAT for C++ 13:43
hoelzro more like .WAT =P 13:46
(good morning #perl6!) 13:47
FROGGS_ hi 13:48
Ven r: class A { has $!var handles <Str gist FETCH Numeric>; }
camelia ( no output )
13:48 ajr joined
colomon hoelzro: I want .WAY for my entire life 13:48
.WAT, sigh
Ven not sure which syn is `handles` in. Shouldn't it be `is handles()` ?
13:49 ajr is now known as Guest91066, Guest91066 is now known as ajr_ 13:53 spider-mario joined
masak Ven: S12. 13:55
timotimo how would you expect perl6 to behave if you're asking it to concatenate one x per iteration to a string for 1000000 iterations and you only have a few gigs of ram? 13:56
masak r: class C { has @.items handles 'push' }; given C.new { .push(1, 2, 3); say .items }
camelia rakudo-parrot 453e51, rakudo-jvm 453e51, rakudo-moar 453e51: OUTPUT«1 2 3␤»
masak Ven: that's how you use it, and no, it shouldn't be 'is handles()' -- what makes you think it should? 13:57
moritz timotimo: It should just do it
timotimo moritz: well, it would result in a 10gb string. would you accept it to get very unperformant?
Ven well, it seems like behaviors is determined usually through `is`. Like `is export` etc 13:58
moritz timotimo: why would adding 1mio characters result in a 10gb string?
Ven: 'is' isn't the only trait verb
timotimo oh, that's only 4gb
duh, yeah, it's only 4gb
well, my question is unhelpful anyway 13:59
i've built a "pressure valve" into moarvm such that if there was more than 3gb worth of string allocations since the last minor collection, it'll trigger a collection the next time it's safe to do so
this causes a whole lot of collections once your single string is bigger than 3gb
Ven moritz: Well, 3 syns unless I'm on s12 anyway 14:00
moritz Ven: sorry, I can't parse that statement
timotimo Ven: it seems to me you've done something significant last week and i forgot to put you in the p6weekly post :|
Ven moritz: I finished s09, so I'm gonna get the informations I need soon
timotimo as in ... it feels like 14:01
Ven timotimo: err, I think I made somebody fix the docs about .bless not using whatever anymore
timotimo hm, is that all of it?
Ven that's not "significant" by any means
timotimo phew :P
now i have a way to gently push people to contribute stuff :D
Ven well, I don't code on perl6-related stuff, so ... That's all I can think about ._.
timotimo: unless I actually wake up at night to work on moarvm, you tell me :p. 14:02
(you see that new tree-based constant folding in there ? Magic !)
timotimo ... i don't understand what you mean by that :(
14:02 telex left
Ven timotimo: forget about my failed jokes, then ! No, that's all I know I did. 14:03
14:03 kaleem left, kaleem joined
timotimo the comment about waking up at night was an allusion to your lack of non-$dayjob tuits? 14:04
14:04 telex joined 14:05 kbaker_ joined
Ven timotimo: I'm afraid I don't know what "tuit" means. (the comment about waking up at night was about somnambulism) 14:05
nwc10 Ven: it's a pun: en.wiktionary.org/wiki/round_tuit 14:07
and then see twitpic.com/11o14i
Ven nwc10: then I guess I'm just too bad at english to get it
nwc10 yes, I don't think that it's even obvious to all native speakers 14:08
FROGGS_ Ven: it is about "getting aroung to it" (to do something)
to it => tuit
and then this wooden thing is a round tuit 14:09
s/aroung/around/
Ven yeah, I got that part of the pun, I just don't get the "lack of non-$dayjob tuits"
FROGGS_ that means that you are lacking spare time for hacking, basically 14:10
Ven oh, no, I'm at school, so I supposedly have all my day to do it. But if I code something while I'm here, it's their code, so I don't do it 14:11
14:11 virtualsue left
FROGGS_ ahh 14:11
14:12 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar
Ven I really hate this kind of legal **** because I basically spend my days doing nothing :/ 14:12
nwc10 Ven: how "school" is school? ie is GSoC something you are eligable for? and potentially interseted in?
masak Ven: what is your native language? 14:13
Ven masak: I'm french
masak oh!
Ven nwc10: I plan to ask my resps today to know if instead of an internship, I could do GSoC :p
nwc10 cool. As I understand it, GSoC is intended to be structured and behave as an internship. Just not an on-site internship 14:14
but I infer that what's important is what your resps think, not what Google thinks. 14:15
Ven nwc10: also what businesses will think of it later
i.e. will they consider it as more valuable than a real internship or not
nwc10 most places seem think that Google is fairly awesome. But I seem to remember that reading the French courts don't think this, so I'm not sure what the rest of France thinks. :-) 14:16
yes. do what is right for you.
Ven nwc10: french courts like privacy to be respected :p
nwc10 this is a good thing.
Ven (I'd really like to do GSoC, it looks awesome ! Else I'd probably get an internship with my school partners which do for 99% php)
nwc10 mmm, PHP :-( 14:17
[Coke] Ok, I have access to a new server to run the daily stuff on. Will likely take me a day or two to get it running since I'm starting from scratch and have DAYJOB.
nwc10 even hacking NQP for Java or porting it to .NET sounds more fun that that. And it has industry standard buzzwords in it too.
FROGGS_ [Coke]: :o(
Ven nwc10: yep =(. 14:18
nwc10 good luck with sweet talking people
Ven Working to port it to the CLR would also be very fun
nwc10 that would be a fantastic project, if your can your school to think that it's a good idea (too) 14:19
Ven oh yeah , they'll probably try to get me thinking 10hrs a day doing php copy-pasta for 400e/mo is an awesome experience, but I got to try !
nwc10 I'm afraid I can't help mentor it
but I can buy the mentors beer. :-)
Ven nwc10: I'm not picky on the projects, I looked at some ideas suggested by foundations(erlang community, scala of ofc perl) and they all look awesome. They do look like big challenges to do, though, but that's the point I guess :) 14:20
14:21 kivutar joined
nwc10 it's one of the good and bad points of GSoC - quite a lot of the projects are very ambitious 14:21
this often means that they don't get completed 14:22
Ven if I can start the projects at GSoC, I might be able to work it in my school time (when I've finished my school projects, of course, so around 2 hours after they're assigned to us) without legal issues. This needs a lot more thinking, though. 14:23
tadzik Ven: what would you like to work on? 14:27
14:29 salv0 left 14:36 treehug88 joined 14:37 SamuraiJack__ left, SamuraiJack__ joined
Ven tadzik: allomorphic types, moarvm optimizations, perl 6 modules (rock solid http server, for example), I guess 14:38
though call :-)
tadzik nice :)
FROGGS_ no, very nice :o) 14:40
we need http servers, really
(at least I do)
Ven yeah, I've seen that line a lot, and that looks like a reall fun thing to do
14:41 bluescreen10 left
Ven But I also think you need a fast enough VM to get the juicy fruits 14:41
14:42 xinming left
FROGGS_ we have that I think 14:42
tadzik well, fast is one thing
having a webserver that doesn't crash when you portscan it is the other good thing :)
FROGGS_ tadzik: one step after the other :o)
tadzik :) 14:43
jnthn We really need HTTP client/server libraires that make good use of async stuff too.
Ven tadzik: true enough ! VM optimizations is what interest me most, though. Inlining and small things such as constant folding, ssaf, licm, etc
14:43 xinming joined 14:44 Adriaaan left
jnthn When does the GSoC work start? 14:44
14:45 salv0 joined
FROGGS_ late april I think 14:46
14:46 SamuraiJack__ left 14:50 btyler joined
FROGGS_ async hypers would be lovely btw :o) 14:50
TimToady GPU'd hypers 14:51
moritz hyped hypers!
FROGGS_ yeah
14:52 skids joined
moritz hypervised hypers! 14:52
FROGGS_ 500 cuda threads or so...
does somebody outside of germany/europe know about Scooter?
Hyper Hyper (1995) - www.youtube.com/watch?v=RHVSshgPlQs 14:54
Ven FROGGS_: erm, `say [await] @tbd;` ? 14:55
timotimo er, no
await isn't an infix op :)
Ven await<<@tbd
rjbs scrunches face, rebuilds latest moar. 14:56
Ven r: say (-<<(1,2,3)).perl;
camelia rakudo-parrot 453e51, rakudo-jvm 453e51, rakudo-moar 453e51: OUTPUT«(-1, -2, -3)␤»
nwc10 rjbs: you won't have to hold the face for very long
Ven seems to be it :-)
nwc10 rjbs: IIRC MoarVM build is faster than Perl 5's makedepend step 14:57
OK, cheating by using more that one core
jnthn With hypers, you're typically intrested in parallel execution, not asynchrony.
14:58 rindolf joined
Ven jnthn: hypers don't assume any evaluation order, right ? 14:59
rjbs r-m: 1 !+ 2
camelia rakudo-moar 453e51: OUTPUT«===SORRY!=== Error while compiling /tmp/hEdMIqYQpO␤Cannot negate + because it is not iffy enough␤at /tmp/hEdMIqYQpO:1␤------> 1 !+⏏ 2␤»
rjbs When run in the REPL, that error just keeps coming and coming and coming.
nwc10 r: 1 !+ 2 15:00
camelia rakudo-parrot 453e51, rakudo-jvm 453e51, rakudo-moar 453e51: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Cannot negate + because it is not iffy enough␤at /tmp/tmpfile:1␤------> 1 !+⏏ 2␤»
Ven "iffy" ha!
nwc10 rjbs: presumably it would come up on the legacy VMs too
rjbs would it come up as an infinite stream?
nwc10 ie looks like it's an NQP bug, not a MoarVM bug
moritz also loops on perl6-j 15:01
nwc10 not tried it, so don't know.
rjbs Okay!
Well, consider it mentioned. :)
nwc10 hateful. but portably hateful
moritz doesn't have a perl6-p built atm
nwc10 n: 1 !+ 2
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Cannot negate + because additive operators are not iffy enough at /tmp/HmP0L05euh line 1:␤------> 1 !+⏏ 2␤␤Parse failed␤␤»
nwc10 oh, wow, very portable
pugs: 1 !+ 2
camelia pugs: OUTPUT«*** ␤ Unexpected "!+"␤ expecting operator␤ at /tmp/D7Muzr8FCQ line 1, column 3␤»
rjbs nwc10: No, the error is expected.
nwc10 std: 1 !+ 2
camelia std 09dda5b: OUTPUT«===SORRY!===␤Cannot negate + because additive operators are not iffy enough at /tmp/4_IB4uuUMC line 1:␤------> 1 !+⏏ 2␤Parse failed␤FAILED 00:00 122m␤»
rjbs of course you can't metanegate "plus"
moritz rjbs: I'll submit a bugreport
nwc10 the error is that something is trying?
rjbs nwc10: so you're testing for the wrong thing
nwc10 what should I have been testing for? 15:02
rjbs when run in the REPL, it prints that error /as an infinite stream of itself/
nwc10 (how do I move the problem away from between keyboard and chair?)
rjbs terminal fills up with "cannot negate..."
nwc10 ah.
so REPL is shagged?
rjbs Seems like.
moritz: thanks!
moritz nwc10: aye 15:03
Ven hehehe "eager" vs "hyper" vs "race" 15:08
hoelzro interesting...URI on JVM gets a null pointer excpetion 15:09
*exception
hoelzro sees if it's where Mokudo does too
yup
15:09 _thou joined
timotimo hey hoelzro :) 15:10
hoelzro ahoy timotimo!
timotimo if you're stuck, there's always the kate syntax highlighting file you could work on :P
it ought to be blocker-free
hoelzro =)
it's on my list
my very long, very daunting list =/
timotimo :P
no pressure ;)
hoelzro bam! 15:11
my "fails on moar" golf'd test fails on Jakudo too!
hoelzro builds pakudo
shower &
15:12 kaleem left
timotimo \o/ 15:15
15:17 daniel-s_ joined, _daniel-s__ left, kivutar left
tadzik
.oO( Hooray, shower! )
15:19
Ven nwc10: err, can't really find informations on that one : is GSoC remote ? 15:20
tadzik yes 15:21
btyler Ven: for almost all mentoring organizations, yes
tadzik are there exceptions?
Ven Oh ! that's a good news :)
btyler some of the Linux foundation ones aren't remote, I think
nwc10 Ven: effectively it has to be remote, because there is no need to be in the same place (or even timezone) as your mentor(s). As long as it works
tadzik cool
tadzik remembers staying up until 3-4AM because jnthn++ was in China :P 15:22
Ven I'm not really afraid of that :p
that just seems too cool to happen
jnthn tadzik: Only for a week of it :P
tadzik fortunately :P
Ven I guess that can be a problem when you have a family to take care of 15:23
TimToady looks like I might finally get to China end of March 15:25
moritz \o/ 15:26
jnthn
.oO( Great Wall )
15:27
colomon Great Wall visits the Great Wall?
tadzik :D
colomon better yet, Great Walls visit
15:33 araujo joined, xinming_ joined
masak .oO( Larry 长城 ) 15:33
[Coke] creates github.com/coke/mojo6 and hopes to get started in the next week.
tadzik :O \o/ 15:34
[Coke] (/me tries the opposite approach to moar. declare waaaaay too early)
tadzik :)
TimToady heh, so really more like Long Wall
[Coke] I am sick of coding in coldfusion.
masak TimToady: yeah.
[Coke]: I am sick of coding in hot dispersal. 15:35
[Coke] perhaps our needs coincide.
15:37 xinming left
hoelzro hmm...Pakudo passes 15:40
errands &
tadzik Pakudo rasses
masak Passudo rakes
JimmyZ jnthn: when will you be in china? 15:47
TimToady: Where are you going to?
TimToady Beijing
北京, I should say :) 15:48
jnthn JimmyZ: No idea when I'll be the next time. Last time was a couple of years ago...
JimmyZ: Hopefully the next time will not be in summer, as that was rather too hot for me ;) 15:49
JimmyZ jnthn: :P 15:50
15:51 klapperl joined 15:53 klapperl_ left, Gothmog_ left, kshannon left, Gothmog_ joined 15:59 kshannon joined, treehug88 left 16:01 ph1ur3 left 16:03 Psyche^_ left 16:06 virtualsue joined 16:10 Adriaaan joined
timotimo $dayjob is over \o/ 16:11
16:12 laidback_01 left
dalek ast: e527ad0 | larry++ | S03-operators/increment.t:
fix faulty ok/is confusion
16:14
16:15 bluescreen10 joined 16:18 treehug88 joined, treehug88 left, rurban_ left 16:19 treehug88 joined 16:24 btyler left 16:25 rurban_ joined 16:29 dmol joined
timotimo Ven: if you could get your school to accept GSoC as an internship, that would be awesome 16:31
16:31 rurban_ left, [Sno] left 16:32 btyler joined 16:34 xinming joined 16:36 denisboyun left 16:37 molaf_ joined 16:38 xinming_ left 16:40 molaf left
masak Angular's bindings in isolate scopes reminds me of macros and lexical scoping. 16:44
there are basically three types of binding:
'@' -- rvalue binding
'=' -- lvalue binding
'&' -- OUTER scope binding 16:45
nwc10 too slow - I was going to say "those who understand binary and those who do not"? :-)
masak :P
16:47 Adriaaan left 16:57 zakharyas left
[Coke] is happy to find lots of tests for individual mojo modules, and things he'll start with Mojo::Template 17:03
*thinks
_sri aside from the command line interface, test coverage should be very good 17:04
17:04 hoverboard joined
moritz [Coke]: you know that there's a (subset of) Mojo::Template already on modules.perl6.org? 17:05
[Coke] Ayup. Should make things easier, I hope. :)
17:05 vendethiel joined
[Coke] tadzik: github.com/tadzik/Template-Mojo/ doesn't have a license. 17:06
[Coke] suggests Artistic 2.0 to match mojo5
_sri guesses that Mojo::Util will end up being your real starting point 17:09
17:09 mavcunha left 17:10 _thou left
_sri in case some helper functions end up not being perl6 built-ins 17:10
[Coke] fair enough.
_sri Mojo::Template is a nice starting point though, Mojo::DOM is similarly isolated 17:11
[Coke] I'm trying to avoid morbo to start with. :) 17:12
_sri user agent and servers will require a little more planning
haha, yea
moritz [Coke]: Mojo::JSON is nicely isolated too 17:16
[Coke]: as well as many of the utils (base64, for example=
)
PerlJam I've thought about doing Mojo::DOM before. That one would be nice to have in P6
[Coke] PerlJam: welcome aboard. ;) 17:17
masak mojo6++
17:17 bluescreen10 left
_sri suspects Mojo::DOM could be a nice benchmark for perl6 17:17
17:17 kst joined
hoelzro does anyone know of a version of JVM rakudo that URI passed all its tests on? 17:18
17:24 bluescreen10 joined
tadzik [Coke]: oh. Is MIT fine? 17:25
17:26 ajr_ left
[Coke] tadzik: probably? 17:26
tadzik ok
it's the only license I ever read, so I prefer to use it whenever possible :) 17:27
17:27 hoverboard is now known as honeyboard
tadzik [Coke]: added 17:28
masak the only pertinent concern is whether the MIT license allows [Coke]++ to do whatever he wants, I think.
if it allows him to incorporate tadzik++'s module into his own code, then it "works".
17:29 denis_boyun joined
tadzik MIT allows almost everything, as far I was ever concerned 17:29
tl;dr use it however you want, just don't pretend it's yours
that's what I got from it :)
17:30 kurahaupo_mobile joined
vendethiel still not sure about `||` vs `|` (in regexp context, not `,` vs `;` interp), isn't it just for precedence ? 17:30
masak vendethiel: no, certainly not. 17:31
vendethiel: `||` is procedural, `|` is declarative.
vendethiel Then I definitly didn't understand that part of the synopsis
17:31 SamuraiJack__ joined, araujo left
vendethiel masak: what does that mean ? 17:31
dalek ast: f293ea0 | larry++ | S02-types/lazy-lists.t:
X is lazy, make sure X+ is lazy too

  (since it's a different codepath)
17:32
masak tadzik: the biggest dichotomy between GNU and MIT/BSD is where the focus is. GNU focuses on the freedom of the *code*, MIT/BSD focuses on the freedom of programmers.
vendethiel: `||` gives you a left-to-right order of evaluation.
vendethiel: `|` gives you Longest-Token Matching.
vendethiel: let me put together an example.
m: say "food" ~~ / foo || food /
camelia rakudo-moar 453e51: OUTPUT«「foo」␤␤» 17:33
masak m: say "food" ~~ / foo | food /
camelia rakudo-moar 453e51: OUTPUT«「food」␤␤»
masak vendethiel: see the difference?
m: say "food" ~~ / foo || f || food /
camelia rakudo-moar 453e51: OUTPUT«「foo」␤␤»
masak m: say "food" ~~ / foo | f | food /
camelia rakudo-moar 453e51: OUTPUT«「food」␤␤»
masak m: say "food" ~~ / foo | food | f /
camelia rakudo-moar 453e51: OUTPUT«「food」␤␤»
17:33 DarkWolf84 joined
DarkWolf84 hello #perl6 17:33
masak in the `|` case, no matter where I put 'food', the LTM finds it, because it's the longest matching alternative. 17:34
DarkWolf84! \o/
DarkWolf84 hi, masak
17:34 honeyboard is now known as hoverboard
DarkWolf84 I found rakudo bug 17:34
prompt don't accept backspace 17:35
masak spill it.
huh.
masak tests
DarkWolf84 it thinks that it's mailformed utf8
masak DarkWolf84: works here.
(on Rakudo Moar)
DarkWolf84 yes
17:36 bluescreen10 left
DarkWolf84 hm 17:36
then it's something else
ok
dalek ast: 7e2dde6 | larry++ | S03-metaops/cross.t:
unfudge passing tests of X=:= and X!=:=
17:37
[Coke] anyone else creeped out by larry committing code instead of specs? ;) 17:38
PerlJam heh! I was jsut commenting to my wife about that last night ;)
DarkWolf84 I found it 17:39
dalek kudo/nom: e8a0326 | larry++ | src/core/metaops.pm:
speed up Xop by more than 2x

  'X,' is now only slightly slower than 'X'
masak [Coke]: I think it's awesome!
[Coke] masak: Oh, I agree. 17:40
DarkWolf84 It doesn't work when non english characters are used
masak DarkWolf84: oh!
DarkWolf84: trying again.
vendethiel masak++ # thanks
TimToady is only good for programming when he's sick :)
DarkWolf84 It works with askii symbols only
masak DarkWolf84: no, I tried with Swedish and Chinese characters. both work here. 17:41
TimToady well, actually, it speeds up forest by more than 2x, so the actual speedup is much more than that
masak DarkWolf84: again, I'm on Moar. YMMV on other VMs.
DarkWolf84 I'm using moar on 64 bit linux 17:42
masak me too.
DarkWolf84 with cyrillic it fails
masak tries with cyrillic
DarkWolf84 my native language use cyrillic alphabet 17:43
masak DarkWolf84: still works here.
DarkWolf84 ok
masak how old is your rakudo build?
17:43 [Sno] joined
DarkWolf84 I pulled the git repository 3,4 minutes ago 17:44
17:45 rurban joined
masak can someone else confirm DarkWolf84's bug report? 17:46
prompt, cyrillic, backspace
DarkWolf84 I'll try to build it again from fresh clone
17:47 araujo joined, treehug88 left
[Coke] masak: which backend? 17:47
DarkWolf84 moar 17:48
[Coke] ah, moar.
шоркс чере. 17:49
DarkWolf84 :)
[Coke] er, works here.
DarkWolf84 sorry then
colomon [Coke]: I know what you mean about TimToady++ committing code. Awesome and weird at the same time. 17:50
[Coke] TimToady++ # let's not scare him off. ;)
DarkWolf84 maybe my build is corupted somehow
moritz it's awesome to see that the list code has a bus number > 0 :-)
17:50 mtk joined
colomon +1 17:50
jnthn DarkWolf84: I dunno if it could be something to do with having some kind of locale, and your terminal feeding Moar something not UTF-8?
TimToady actually, I make X, about 4 times faster, and it's now within a facctor of two of X 17:51
jnthn TimToady++ # nice speedup :)
DarkWolf84 my terminal is all utf8
17:52 dakkar left
btyler DarkWolf84: latest Moar on OSX, tried with cyrillic, backspace was ok 17:52
DarkWolf84 I'll try in another terminal 17:53
[Coke] (osx here also)
DarkWolf84 maybe it's the terminology's problem
masak TimToady: what prevents us from compiling X, down to X -- making them equal in speed? 17:54
TimToady just a SMOP
masak oki 17:55
TimToady but I figure anyone who write 'X,' really means it :)
*writes
however, we should do the optimization anyway, just because someone might compose a crossop that way by accident 17:56
trying the stupid trick first 17:58
17:59 hoverboard left
masak [Coke]: you have no idea how much 'шоркс чере.' screwed with my head. apparently I know just enough Cyrillic/Russian to be a danger to myself. :P 18:00
[Coke] masak: :)
masak as it clicked, it was very funny, of course. like a joke one gets.
but for a few seconds, it was terribly head-scratching. 18:01
jnthn Unpexpected Cyrillic шоркс me too :P
dalek kudo/nom: 1ec91c7 | larry++ | src/core/metaops.pm:
optimize 'X,' to 'X'
TimToady the stupid trick worked :)
masak TimToady++
TimToady HOP in action 18:02
masak that's my best sort of stupid trick!
18:03 btyler_ joined, btyler left 18:05 treehug88 joined 18:09 klapperl_ joined
DarkWolf84 terminology (e18's terminal) is corrupting the data 18:11
rakudo-m works
18:11 klapperl left 18:14 hoverboard joined 18:22 Adriaaan joined 18:24 thou joined
vendethiel TimToady: what's X, ? 18:24
18:27 pdcawley left 18:41 tgt joined
TimToady the X metaoperator applied to infix:<,> 18:43
has identical semantics to the ordinary X operator
18:48 kbaker_ left
timotimo and what is X11? 18:49
18:50 pmichaud_ left, pmichaud joined
timotimo seems like i've got quite a bit of backlog to catch up with 18:51
18:54 kivutar joined
timotimo ooh 18:55
18:56 kivutar left
timotimo the cool thing about 1ec91c7ba7, which is the one TimToady++ just committed, is that you can override &infix:<,> locally and it won't stumble! 18:56
TimToady: i'm very glad you could speed Xop up again :)
18:57 scottp left 18:59 scottp joined
masak DarkWolf84: oh, that's a relief. thank you for confirming it's on your end. 19:07
timotimo DarkWolf84: terminology is so pretty, though! :( 19:08
19:10 Rotwang joined, darutoko left
[Coke] wow, haven't seen gittip mentioned here since 2013 for parrot here. Some perl5 folks are trying to increase the perl group's presence there. if you might ever want to get tipped or give tips, consider registering at gittip.com 19:12
there is also a perl6 group, but that's muuuch smaller. ;)
19:12 SamuraiJack__ left
FROGGS_ can somebody upload the nqp-2014.02 tarball to rakudo.org/downloads/nqp/ ? 19:18
btyler_ [Coke]: do you have a repo going for the mojo6 idea yet? 19:23
19:23 trump left
[Coke] github/coke/mojo6 - it's a shell until this weekend. 19:23
just wanted to make sure I had something to get back to.
FROGGS_ yay, I finally have some time for Perl 6 this evening 19:25
19:25 FROGGS_ is now known as FROGGS
nwc10 Right now, on www.gittip.com/for/ Perl has 442 members and jQuery has 441 19:27
so Perl is just in 8th place
FROGGS rong, Perl has 443 now :o)
19:28 Sqirrel joined
nwc10 oh yes 19:28
19:38 fhelmberger_ joined, lizmat_ joined 19:40 denis_boyun__ joined, Adriaaaan joined, Rotwang1 joined 19:41 denis_boyun left, Gothmog__ joined, _thou joined 19:42 dwolf_ joined 19:44 berekuk joined, __rnddim__ joined 19:47 Rotwang left, thou left, Adriaaan left, DarkWolf84 left, dmol left, Gothmog_ left, fhelmberger left, lizmat left, Vlavv left, _sri left, synopsebot left, lue left, ggoebel left, yakudza left, Gothmog__ is now known as Gothmog_ 19:48 ggoebel joined, synopsebot joined 19:52 klapperl joined 19:53 klapperl_ left, Vlavv joined, yakudza joined 19:57 bjz_ joined 19:58 dmol joined, _sri joined, mcglk is now known as 20WABB86T, Guest23735 joined, mcglk joined 19:59 mcglk left, dmol left, _sri left 20:00 lue joined 20:01 daniel-s__ joined, bjz left, kurahaupo_mobile left, Alula left, salv0 left, kshannon left, erkan left, __rnddim__ left, araujo left, daniel-s_ left, rindolf left, japhb left, 20WABB86T left, kshannon joined, japhb joined, xragnar left, rindolf joined
timotimo FROGGS: \o/ 20:01
20:01 xragnar joined
FROGGS yeah :o) 20:01
timotimo s11 tonight? 20:02
today is sauna evening for little timo :3 20:03
masak sauna evening! \o/
20:04 vendethiel left, vendethiel joined, Ven left 20:05 araujo joined, mcglk joined, dmol joined, _sri joined
vendethiel r: (1, 2) X, (3, 4) 20:05
r: say (1, 2) X, (3, 4)
camelia ( no output )
rakudo-parrot 1ec91c, rakudo-jvm 1ec91c, rakudo-moar 1ec91c: OUTPUT«1 3 1 4 2 3 2 4␤»
20:05 salv0 joined
vendethiel r: say ((1, 2) X, (3, 4)).perl 20:06
camelia rakudo-parrot 1ec91c, rakudo-jvm 1ec91c, rakudo-moar 1ec91c: OUTPUT«((1, 3), (1, 4), (2, 3), (2, 4)).list␤»
20:06 hoverboard left, araujo is now known as Guest50972, hoverboard joined
vendethiel r: (1, 2) Z, (3, 4) ==> .perl ==> say 20:06
20:06 hoverboard left, hoverboard joined
camelia rakudo-parrot 1ec91c, rakudo-jvm 1ec91c, rakudo-moar 1ec91c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/tmpfile:1␤------> (1, 2) Z, (3, 4) ==> .perl ==> say⏏[3…» 20:06
PerlJam vendethiel: ==> doesn't give you a free map. 20:07
timotimo you and your feeds :) 20:08
hm. would ==> **.perl ==> be sensible?
i know ** is NYI and a only very lightly specced ...
20:08 [particle] joined
timotimo yay or nay for a spreadsheet module that can handle odf spreadsheets and xls + xlsx? 20:10
FROGGS timotimo: S11, yes
20:10 gfldex_ joined
timotimo looking forward to it :) 20:10
20:11 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar, dwolf__ joined 20:12 stevan__ joined 20:13 japhb__ joined, salv01 joined, colomon_ joined 20:17 kshannon_ joined 20:18 salv0 left, vendethiel left, japhb left, kshannon left, dwolf_ left, Sqirrel left, stevan_ left, colomon left, [particle]1 left, gfldex left, colomon_ is now known as colomon 20:19 vendethiel joined
vendethiel r: say ((1, 2) Z, (3, 4)).perl 20:19
camelia rakudo-parrot 1ec91c, rakudo-jvm 1ec91c, rakudo-moar 1ec91c: OUTPUT«((1, 3), (2, 4)).list␤»
vendethiel sorry freenode, this is your lose 20:20
[Coke] timotimo: I do xlsx manipulation for work, but end up doing it in raw xml because reasons. 20:22
20:22 kurahaupo_mobile joined
[Coke] having a perl6 module that worked for my needs and ran on the JVM would be nifty. 20:22
20:22 Mouq joined
[Coke] (my needs are bonkers) 20:22
20:25 dwolf__ left, tgt left 20:26 tgt joined, denis_boyun__ left 20:31 virtualsue left 20:32 LLamaRider joined
grondilu thinks of all the cool rewriting of RC entries once concurrency is available on MoarVM 20:35
20:36 denisboyun joined
grondilu is looking at rosettacode.org/wiki/Mandelbrot_set#Perl_6 for instance 20:36
TimToady thinks of all the matrix ops that will look prettier after we have shapes
masak <3 S09
grondilu: better keep the originals too, thought :)
show things from two angles.
TimToady as I'm rewriting *map, I'm thinking, gee, we'll need to clone the shape here...
20:37 kaare_ joined
rjbs shapes? 20:40
[Coke] rewriting map?
rjbs: multi-d arrays, I think?
20:41 Alina-malina left, silug___ joined, silug__ left 20:42 Alina-malina joined
PerlJam [Coke]: well, not just that ... being able to say: my int @stuff[42]; # is quite useful 20:46
I tend to think of "shape" as "sized dimensions" and "user-defined indexing"
[Coke] are you suggested we can type individual cells of containers? 20:47
*suggesting
(as opposed to typing -all- the cells)
PerlJam Um ... no. :) 20:48
(though being able to type along a single dimension would be interesting :)
I was just saying that "shape" isn't only about multi-dimensionality
20:49 dmol left
PerlJam (and that I also tend to think of user-defined indexes when I think of "shape". e.g., see S09:483 20:50
synopsebot Link: perlcabal.org/syn/S09.html#line_483
[Coke] I don't understand what your "int" there means, then. 20:52
it looks like you're saying that element 43 of @stuff must be an int.
TimToady in a declaration, [42] defines the size of that dimension (only one dimension in this case) 20:54
20:54 benabik joined
TimToady my Num @matrix[3;3]; 20:54
[Coke] whoops. 20:55
TimToady++ PerlJam++
dalek c: 27231d7 | moritz++ | lib/regexes.pod:
[regexes] start to talk about quantifiers
20:59
21:00 xenoterracide left
FROGGS Type check failed in assignment to '$!cver'; expected 'Str' but got 'Str' >.< 21:01
Mouq n: my $r = rx/a**{say "called"}/; "aaaa" ~~ $r; "aa" ~~ $r
camelia niecza v24-109-g48a8de3: OUTPUT«called␤called␤»
masak FROGGS: yeah, I really don't like those errors.
jnthn They almost always mean a screw-up involving containers. 21:02
Mouq Has anyone who knows what they're doing look at/fix the S05-capture/caps.t failures?
Mouq needs to backlog
FROGGS jnthn: I am doing something like that: 21:03
class CompUnitRepo::Local::Installation {
has Str $!cver = nqp::atkey(nqp::gethllsym('perl6', '$COMPILER_CONFIG'), 'version');
moritz doesn't know what he's doing, so doesn't qualifiy
also, tonight my brain is mushrooms all the way down
FROGGS moritz: mine is fine today, finally :o) 21:04
jnthn FROGGS: Oh...haha
FROGGS: I guess that isn't a Perl 6 string, but an NQP one
FROGGS: Wrap it in an nqp::hllize
FROGGS jnthn: I almost wanted to ask for hllize :o) 21:05
jnthn FROGGS: I bet it assigns it without checking, then somewhre in the error reporting it does the HLL conversion :)
21:05 Maddingue left
FROGGS jnthn: yes, and it was a nice error, complaining about parameter $expected :P 21:05
jnthn How...expected 21:06
masak .oO( this takes me completely by anticipation! ) 21:11
FROGGS cool, rakudo/eleven seems to build for jvm again
Mouq FROGGS++
FROGGS when it builds for parrot I'll go ahead and merge 21:12
:P
MUHAAHAHAAHA
timotimo what, merge it into nom?
FROGGS just a joke
timotimo aaw
FROGGS to see who is still awake *g*
timotimo you woke everybody up by MUHAHAHAHAing into the channel 21:13
Mouq r: say [1,2,3]>>.succ 21:14
camelia rakudo-parrot 1ec91c, rakudo-jvm 1ec91c, rakudo-moar 1ec91c: OUTPUT«2 3 4␤»
TimToady how does one trap exceptoins in nqp?
Mouq thinks its still CATCH 21:16
timotimo there is catch, aye 21:17
but be careful
throwing inside a catch will cause the very same catch to trigger again, unfortunately
TimToady well, maybe I can make try {} work at this point of the setting
timotimo so all over the code we have my $success := 1; try { ...; CATCH { ... } } if $success { ... } 21:18
jnthn timotimo: I don't think that's true any more, *or* at least I think it's not true of JVM and Moar...
timotimo oh!
21:18 salv0 joined
timotimo i like the sound of that :) 21:18
jnthn nqp: try { nqp::die('oops 1'); CATCH { nqp::die('oops 2') } }
21:18 segomos_ joined
camelia nqp-parrot: OUTPUT«(timeout)» 21:19
( no output )
..nqp-moarvm: OUTPUT«oops 2␤ at /tmp/tmpfile:1 (<ephemeral file>::8)␤ from <unknown>:1 (<ephemeral file>::23)␤ from <unknown>:1 (<ephemeral file>::4294967295)␤ from gen/moar/stage2/NQPHLL.nqp:1090 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm::94)␤ from g…»
FROGGS hehe
moar++
jnthn nqp-jvm: say('alive?')
camelia nqp-jvm: OUTPUT«alive?␤» 21:20
jnthn Hmm.
21:20 ggherdov_ joined, salv01 left, segomos left, genehack_ left, ggherdov left, genehack joined
FROGGS nqp-jvm: nqp::die("rly?") 21:20
camelia nqp-jvm: OUTPUT«rly?␤ in (/tmp/5gF6hBKteP:1)␤ in (gen/jvm/stage2/NQPHLL.nqp:1099)␤ in eval (gen/jvm/stage2/NQPHLL.nqp:1085)␤ in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1291)␤ in command_eval (gen/jvm/stage2/NQPHLL.nqp:1195)␤ in command_line (gen/jvm/stage2/NQPHLL.nq…»
21:20 grondilu left, ggherdov_ is now known as ggherdov 21:21 grondilu joined
timotimo why do we ++ moar if it dies on moar, but not on jvm? 21:22
TimToady > ./perl6 -e 'say ([[1,2,3],[4,5,6],[7,8,9]].duckmap(*.succ)).perl'
((2, 3, 4), (5, 6, 7), (8, 9, 10))
\o/
timotimo the second die is inside a try
21:22 hoverboard is now known as HoveredElf, HoveredElf is now known as waterboard 21:23 lizmat joined
timotimo TimToady: the [ turned to ( ! 21:23
jnthn timotimo: Yes, and you're inside teh CATCH at that point.
21:24 bjz joined
timotimo jnthn: for a moment i forgot that the CATCH belongs *inside* the try 21:24
21:24 nebuchad` joined
dalek kudo/nom: bfec6cd | larry++ | src/core/ (2 files):
add duckmap, more nodality infrastructure
21:24
21:24 rindolf left, erkan joined, erkan left, erkan joined, ggoebel1118 joined
TimToady yes, the deep mappers do not preserve type correctly yet 21:24
but it's a start 21:25
timotimo mhm
yeah, good start i'd say
21:26 denis_boyun_ joined
TimToady at the moment, prefixes just default to deep, and postfixes to flat (those that work) 21:26
haven't really got the subscripts working yet
21:26 waterboard is now known as errantfools 21:27 xinming_ joined 21:28 bjz_ left, denisboyun left, xinming left 21:29 errantfools is now known as hoverboard 21:31 stevan__ left 21:32 colomon_ joined, colomon left, colomon_ is now known as colomon, mathw left 21:33 mathw joined 21:34 Guest23735 left
timotimo the subscripts are trés interesting 21:34
21:35 lizmat_ left, nebuchadnezzar left, ggoebel1117 left, SubTerra joined, vendethiel left, Kelder left, vendethiel joined
dalek c: 6d5efce | moritz++ | lib/regexes.pod:
[regexes] general quantifier
21:36
21:42 beastd left 21:47 benabik left
timotimo [Coke]: can you tell me a bit about what kinds of transformations you'd rather do in xml rather than in excel or csv? 21:48
TimToady yeah, the args to METAOP_HYPER_POSTFIX come in as \obj, \subscript, \op
which I wouldn't have expected
I'd've expected op to stay at position 2 21:49
> ./perl6 -e 'say ([[1,2,3],[4,5,6],[7,8,9]]»[1]).perl'
(2, 5, 8)
\o/
timotimo mister wall
you are doing good work 21:50
#perl6 is hiring, btw
TimToady course it blows up on any kind of slice... :/
still
[Coke] timotimo: I mean I am generating raw xml to create xlsx files.
timotimo bah. for a programmer of your caliber, it'll be but a slice of cake!
[Coke] slice of coke?
timotimo [Coke]: oh, what kind of program reads xml files and turns them into xlsx?
[Coke]: nah, coke usually comes in bottles, glasses or lines
[Coke] timotimo: xlsx -is- xml. 21:51
dalek kudo/nom: da53ec1 | larry++ | src/core/metaops.pm:
handle hyper subscripts (1 arg only so far)
timotimo (quick! somebody write *snort* to make the joke complete!)
[Coke] (well, a zip file containing lots of xml)
TimToady *fnort*
[Coke] *eyeroll*
timotimo ah. i thought you had a simpler representation of tables
so ... is that format actually handleable?
i heard docx and friends are terrible abominations
[Coke] timotimo: it's pretty easy to handle if you use a library. which we can't. :) 21:52
however, to do what we need, it's doable in a few hundred lines of java.
timotimo well, i'm asking from the vantage point of a library implementor, so ...
[Coke] "given an .xlsx template with some markers, replace those markers with the result of a SQL query".
timotimo do you need a hundred lines of java to write "hello" in one cell and "world" in the cell next to that?
oh, that kind
Okay.jpg
[Coke] if we used a real library, we'd open the doc, delete those cells, and then insert lots more.
but since that would kill our memory for queries that are enormous but still representable in xlsx, we cheat. 21:53
timotimo yikes.
so a kind of "streaming API" would be a great thing, too. 21:54
[Coke] Yes. except the one thing that does a streaming API today only works with new documents, not mods to existing ones.
timotimo (especially given how memory hungry rakudo is, even on moarvm)
[Coke] yah, we're already fighting memory as it is. (streaming everything out to disk as soon as possible, etc.)
timotimo ah. not a perl6 niche, then. 21:55
21:55 nebuchad` is now known as nebuchadnezzar
[Coke] not yet, but damn would the code look nicer. 21:55
timotimo what does such an xlsx xml file look like anyway? does it resemble a soup of cells with coordinates and contents?
[Coke] I'm already stuck working inside a j2ee container, how much worse can rakudo be on top of that. ;)
timotimo or is it more like a register machine that gets translated into x86 assembler by Excel to generate memory that fits the internal data structures perfectly? 21:56
[Coke] do you have an .xlsx or .xlsm file? rename to .zip and poke around.
timotimo i might actually have one.
[Coke] it's a giant <row><c>value</c></row><row>....
timotimo really?
how do they make it sparse?
[Coke] where value might be a lookup into some other xml, yes. 21:57
only report rows, cells, and distinct values.
er, *extant* rows, cells,
timotimo okay, so there's something like <emptyRows count="100">
or is it more like <row number="A"><col number="10">...</col></row>? 21:58
[Coke] one sec.
timotimo and how punishing is excel's parser? does it explode if you have a whitespace before a >, for example? 21:59
does it barf if you have a <tag />?
[Coke] <row r="1"><c r="A1" t="n"><v>1.0</v>
timotimo oh
well, that's surprisingly pleasant.
but the whole stuff around it would be less pleasant, aye?
[Coke] it's forgiving on input, but if you open and save it tends to reformat (and compact orphaned things) (which makes cheating easier) 22:00
timotimo and formatting rules and pivot tables and fixed header sections and ...
[Coke] right. the stuff around we try to touch as little as possible. ;)
timotimo :(
i should probably have a look at the python library that does excel worksheets and seems to give a decent interface
[Coke] timotimo: our trick is we let you edit that in excel and only insert cells. we just have to deal with places that refer to ranges and fix them up as appropriate.
timotimo how are formulas represented? are they actually an xml tree of the operators and nodes?
[Coke] timotimo: the perl one is pretty good.
timotimo i can't read perl. 22:01
[Coke] no, I think it's just a string.
dalek Heuristic branch merge: pushed 22 commits to rakudo/eleven by FROGGS
[Coke] timotimo: you are in an odd channel.
timotimo i can only stand perl6 :)
also: are excel formulas localized in any other countries than germany?
22:01 vendethiel left
[Coke] timotimo: but if you create an .xlsx and put in strings, numbers, formulas, and formatting, you can suss out the basics pretty quick. 22:01
timotimo ah, libreoffice should be able to write that format, too 22:02
TimToady running a full spectest while I nap &
timotimo good nqp, TimToady
22:03 skids left
LLamaRider I am itching to try my P6 module on MoarVM, do we have a panda that speaks that backend? :) 22:04
timotimo perl6-m bootstrap.pl it and see :)
(there's a moar-support branch i believe)
FROGGS perhaps use the moar-support branch of panda 22:05
timotimo wwwhome.ewi.utwente.nl/~trieschn/ex...excel.html - this weirds me out a little bit
AUFGELZINSF
LLamaRider perl6-m ! *secret knowledge unlocked*
getting a weird error though - "Cannot call 'postcircumfix:<{ }>'; none of these signatures match:"
timotimo also, "you can also download it as an excel file" 22:06
which is a bit funny, but definitely helpful
FROGGS LLamaRider: I've seen that one... maybe this was fixed in the moar-support branch, I can't remember 22:07
LLamaRider I think I will wait for the official merge to master :) Thanks though 22:08
22:08 virtualsue joined
FROGGS tadzik: ping 22:08
timotimo FROGGS: will moar-support in panda land before eleven? the race is on! :)
FROGGS tadzik: let's merge panda/moar-support into master! :P
timotimo: ohh yes, moar-support there does not any harm I think 22:09
timotimo glad to hear that :) 22:10
FROGGS github.com/tadzik/panda/compare/moar-support
just a few tweaks
timotimo comptarget and compsuffix really ought to be cached for performancoe! 22:12
FROGGS tadzik: there, I PR'd you! github.com/tadzik/panda/pull/70 22:13
timotimo: ohh, I thought our optimomizer does that automagially :o) 22:14
22:15 awwaiid_ is now known as awwaiid
timotimo :D 22:15
it *could* in theory
but i don't think we have "dead code elimination" of any sort yet
not even evaluating ifs with compile-time-constant conditions into their result (or even just their inner block) 22:16
hm. how to pretty-print xml easily? 22:17
22:17 _thou left, _thou joined 22:18 BenGoldberg joined
FROGGS timotimo: gist.github.com/FROGGS/6a75572af1ce8f66d8c0 22:21
22:21 Adriaaaan left
timotimo huh? that's not perl6! 22:21
FROGGS :o)
I use something like that to pretty print soap stuff, that is why it aligns xml namespace declarations 22:22
22:22 kivutar joined
timotimo oh 22:22
hrm. i need to set up cpanm first 22:24
we totally need a single-line-installer for rakudo that begins with "curl" 22:25
[Coke] yes'm. 22:29
22:29 Rotwang1 left
timotimo in what (and how many) places do i have to change something for my local perl5 modules to land in ~/.perl5 instead of ~/perl5? 22:30
FROGGS I dunno 22:31
timotimo there's apparently cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
hm. maybe that's exactly how.
hoelzro I used PERL_CPANM_OPT to append a -l option for cpanm to pick up 22:32
and you can eval $(perl -Mlocal::lib=$HOME/.perl5) to set it up as well
timotimo can i has a fish-compatible local::lib? :) 22:35
22:35 treehug88 left
timotimo FROGGS: what will "per-project local installations of packages from panda" look like btw? 22:37
dalek kudo/eleven: 84e2b32 | (Tobias Leich)++ | src/core/CompUnitRepo/Local/Installation.pm:
let CompUnitRepo stringify to absolute path
timotimo is there a concrete plan or mockup yet?
FROGGS you can register your own repository just like you would do -Isomething 22:38
-ICompUnitRepo::Local::Installation=path/to/somewhere would work, and PERL6LIB=... also 22:39
timotimo that's pretty wordy
FROGGS use lib ... should support this too, but I've not tested it yet 22:40
timotimo that's not as useful for "develop my stuff in isolation", though
FROGGS well, you don't have to specify which repository type you want... you would get the default then (the current)
timotimo of course 22:41
FROGGS timotimo: but somehow you have to tell it about that other repository for you in-dev stuff, no?
btw, you can also just put something in %*CUSTOM_LIB 22:42
(at begin time, perhaps)
timotimo well, PERL6LIB= seems pretty reasonable 22:43
and a tool to make setting up and "entering" that environment a la "virtualenv" would be nice, too.
jnthn: should i make sure that every collection also resets the "how much string buffer memory have we been exhausting since the last time we reset this counter?"? 22:45
jnthn timotimo: ja
timotimo danke
timotimo is glad to see that tmux will allow independent scrolling in different splits 22:46
timotimo would like to have a "scrollbind" next
nwc10 is that like xkcd.com/363/ ? :-)
timotimo a little bit, ja
FROGGS hehe
22:50 pippo joined
timotimo i'll test my string pressure changes on the moar-conch branches and then perhaps merge. then i'll go to bed 22:52
conc* 22:53
22:59 dmol joined, virtualsue left 23:01 virtualsue joined 23:02 tgt left
timotimo had to un-#jvm the concurrency tests first >_> 23:12
sadly, my branch seems to cause a big crash 23:16
(double free) 23:17
timotimo goes to sleep, as promised :P
23:19 virtualsue left 23:20 kivutar left 23:22 hoverboard left, btyler_ left
masak 'night, #perl6 23:24
23:29 tgt joined 23:30 skids joined 23:34 tgt left 23:41 xenoterracide joined 23:42 Alina-malina left
grondilu Stephen Wolfram's Introduction to the Wolfram Language: www.youtube.com/watch?v=_P9HqHVPeik 23:45
^ kind of impressive
23:47 kivutar joined
grondilu or just plainly impressive, to be honnest 23:50
23:57 Alina-malina joined