»ö« 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:00 fgomez joined 00:02 colomon joined
tadzik waves from Oslo 00:05
colomon waves from Midland
tadzik The World of Perl 6 00:06
perigrin Midgard? 00:11
timotimo tadzik: the release has been done by moritz and lizmat. how are you feeling? travel went fine? 00:12
colomon perigrin: yes? 00:15
perigrin: but we hope to make it to Camelhalla some day. 00:17
tadzik timotimo: yeah, just long-ish :) 00:22
moritz++ lizmat++
timotimo this release is giving me butterflies in my stomach :P
tadzik heheh
sleep time, o/ 00:23
colomon \o
timotimo have a good rest & week, tadzik!
00:48 yoleaux left 00:56 Vlavv left 00:58 aindilis left 01:08 Vlavv joined 01:17 kingbeast left 01:21 kingbeast joined 01:28 pecastro joined 01:30 pecastro_ left 01:36 FROGGS_ joined 01:40 FROGGS left 01:42 fridim__ joined 02:29 abnorman left 02:38 fridim__ left 02:52 nebuchadnezzar left, nebuchadnezzar joined 02:53 abnorman joined 02:54 orafu left 02:56 orafu joined, orafu left, orafu joined 03:12 colomon left 03:44 fridim__ joined, BenGoldberg left 03:51 skids joined 04:08 abnorman left 04:10 fridim__ left 04:12 Ayiko left, Ayiko joined 04:23 stevan_ joined 04:28 Psyche^_ joined
lizmat good *, #perl6! 04:32
04:33 Psyche^ left 04:35 stevan_ left 04:36 stevan_ joined 04:40 cibs left 04:43 birdwindupbird joined
sorear o/ 04:43
04:46 cibs joined 05:00 SamuraiJack joined 05:01 lelf`` left
moritz \o 05:30
sorear o/
moritz lizmat++ # suddenly release manager
lizmat :-)
sorear lizmat++ 05:31
lizmat I guess the next release will become more involved, as it would need to check both parakudo and jakudo 05:35
sorear you didn't have to check jakudo for this one? 05:36
lizmat not according to the release guide 05:38
and I followed that to the letter :-)
fwiw, I wouldn't have been able to release otherwise, as I don't do jakudo just yet 05:39
Why would a naive implementation of List.uniq: 05:59
method uniq() { my %seen; grep { %seen.exists($_) ?? False !! %seen{$_} = 1 }, @.list;}
work everywhere, except when being used in an "is_deeply", and thus fail the test 06:00
gist.github.com/lizmat/6036979 06:02
sorear lizmat: try uniq([], []) with both the current impl and your proposal 06:05
r: say uniq([], []).perl
camelia rakudo 099f0b: OUTPUT«([], []).list␤»
sorear the current impl uses WHICH, which provides === semantics
your proposal uses a Str-keyed hash, which provides eq semantics
lizmat aha... 06:06
the plot thickens
sorear r: say uniq(1, "1").perl
camelia rakudo 099f0b: OUTPUT«(1, "1").list␤»
sorear r: say uniq(1, 1).perl
camelia rakudo 099f0b: OUTPUT«(1,).list␤»
lizmat r: say squish( [],[] ).perl # I assume squish() is then wrong here 06:07
camelia rakudo 099f0b: OUTPUT«([], []).list␤»
sorear would like to request that people "simplifying" code test for performance regressions if they don't already
one big problem with rakudo is that people implement abstractions in terms of other abstractions 06:08
I guess because it's a bit prettier to use grep instead of explicit loops
but what winds up happening is that { foo => 1, bar => 2 } makes >50 function calls
lizmat FWIW, I *was* going to test performance 06:09
sorear lizmat++ 06:10
JimmyZ or method inlineing?
sorear eh. I haven't been able to contribute this week so I shouldn't be calling people out 06:14
JimmyZ :P
lizmat sorear: I think you have enough cred with anybody involved here, to be allowed to do so :-) 06:15
JimmyZ aye
06:19 abnorman joined, FROGGS_ left, abnorman left
sorear JimmyZ: you should not assume that optimizations will reduce costs *to zero*. 06:20
JimmyZ sorear: sorry, I didn't mean that 06:22
sorear JimmyZ: i'm in a very moralistic mood right now. "sloppy kids making excuses, expecting other people to clean up after them" :(
not a good state of mind for making rational arguments
06:24 PacoAir joined
JimmyZ sorear: my english is not good enough, sometimes I can't follow the context 06:24
lizmat hopes someone will point it out to her if she's been sloppy 06:29
we're all human and lazy :-) 06:30
06:35 FROGGS_ joined
lizmat breakfast& 06:35
ingy any guinea pigs around? 06:43
I have some new ingyware to pimp!
ingy takes off his underware
06:45 GlitchMr left
ingy lizmat: come back! 06:47
maybe sorear is ready to take a test drive :) 06:48
06:48 GlitchMr joined
ingy sigh 06:49
06:49 domidumont joined
FROGGS_ morning o/ 06:51
06:52 FROGGS_ is now known as FROGGS, kaleem joined
JimmyZ morning, FROGGS 06:52
sorear o/ FROGGS 06:54
FROGGS morning JimmyZ
morning sorear
:o)
FROGGS gets coffee
sorear sees ingy waving his underware and *runs*
06:58 PacoAir left 06:59 domidumont left
sorear sleep& 07:04
JimmyZ good night, sorear
FROGGS gnight sorear 07:05
lizmat gnight soreare! 07:07
07:10 domidumont joined 07:12 rindolf joined 07:13 domidumont left 07:14 domidumont joined
dalek kudo/nom: 624ff76 | (Elizabeth Mattijsen)++ | src/core/List.pm:
Rewrite of List.(uniq|squish) using map()

For "my @a=1..100000; my @b= @a.(uniq|squish) the improvements were:
   uniq: CPU from 0m23.214s to 0m10.107s (aka 56% less CPU)
   squish: CPU from 0m10.911s to 0m7.790s (aka 28% less CPU)
07:21
moritz \o/ 07:22
07:22 domidumont left, domidumont joined
moritz lizmat: wouldn't .grep be a better choice than .map? 07:23
lizmat grep is implemented in terms of map
this removes one level of indirection
squish() originally was just a grep
moritz lizmat: I'm mostly worried because the patch relies on the now-deprecated usage of Nil as empty list 07:24
lizmat: so by removing a level of indirection, you create more code to correct later on
lizmat I was wondering about that myself
thing is, if I put () instead of Nil (which I tried), the tests currently fail
FWIW, these changes are on my radar: as soon as $jnthn has implemented variable traits, specifically "is default" 07:25
moritz because they don't flatten out
lizmat oddly enough, in grep they *do* flatten out 07:26
moritz r: say (1, 2, 3).map({()}).perl
camelia rakudo 099f0b: OUTPUT«((), (), ()).list␤»
moritz r: say (1, 2, 3).map({()}).list.perl
camelia rakudo 099f0b: OUTPUT«((), (), ()).list␤»
moritz r: say (1, 2, 3).map({()}).flat.perl
camelia rakudo 099f0b: OUTPUT«().list␤»
moritz wonders if .grep itself flattens
lizmat r: say (1, 2, 3).grep({False}).list.perl 07:27
camelia rakudo 099f0b: OUTPUT«().list␤»
moritz r: say ((1, 2), (3, 4)).grep({1}).perl
camelia rakudo 099f0b: OUTPUT«(1, 2, 3, 4).list␤»
moritz yes, grep flattens
lizmat but grep is just: self.map({ $_ if $_ ~~ $test });
moritz r: my $c = 0; say ((1, 2), (3, 4)).grep({++$c; 1}).perl; say $c
camelia rakudo 099f0b: OUTPUT«(1, 2, 3, 4).list␤4␤»
moritz and it flattens before running too
lizmat map is: MapIter.new(self, $block, Bool::True).list 07:28
so are you saying grep shouldn't flatten? 07:32
moritz I have no idea
there are a ton of list methods, and no clear guidance on which should flatten which shouldn't
lizmat S32/Containers:217 doesn't say anything about flattening 07:33
07:34 pochi joined
lizmat tadzik: synopsebot doesn't seem to handle S32 yet :) 07:34
so I guess I cannot map a value to nothing without flattening > 07:35
?
FROGGS S32:217
synopsebot Link: perlcabal.org/syn/S32.html#line_217
lizmat 404 not found
FROGGS yeah 07:36
07:36 kingbeast left
hoelzro hmm 07:38
I just had a thought
so Rakudo is adding all of these nice compiler warnings
ex. "did you mean self?"
maybe certain warnings could be enabled with certain switches?
(on the other hand, that would make the code a nightmare) 07:39
lizmat I think that is on the "todo" :-)
hoelzro sweeet
I thought of a feature that would come in handy for Java devs
who type 'Int $foo = 7' or some such
07:40 iSlug joined 07:41 kaleem left, kaleem joined
FROGGS good point 07:47
hoelzro FROGGS: don't implement it! 07:48
let me try first =)
I submitted my first PR to the actual compiler last night
FROGGS hoelzro: I wont :o)
I'm not going to steel anybodies idea :o) 07:49
hoelzro what other examples would case "Two terms in a row"? 07:50
moritz r: 1 1
camelia rakudo 099f0b: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/Zylc5Jngw2:1␤------> 1 ⏏1␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statement modifier␤ statement modifie…
hoelzro ah ha 07:51
FROGGS r: sub a { } sub b { }
camelia rakudo 099f0b: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/s5GMwt0msf:1␤------> sub a { } ⏏sub b { }␤ expecting any of:␤ statement list␤ horizontal whitespace␤ postfix␤ infix stopper␤ infix or meta-infix␤ …
moritz hoelzro: lots of syntax errors are acutually "two terms in a row" under the hood
hoelzro hmm
tadzik lizmat: oh well, it's not a very smart bot :) 07:52
hoelzro so I have to do some fancy detection for what I want
tadzik S999:123
synopsebot Link: perlcabal.org/syn/S999.html#line_123
hoelzro in typed_exception (Perl6::World), is it possible to see what terms are the "two terms in a row"? 07:59
moritz r: try eval '1 1'; say $! 08:01
camelia rakudo 099f0b: OUTPUT«===SORRY!===␤Two terms in a row␤at eval_0:1␤------> 1 ⏏1␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statement modifier␤ statement modifier loop␤»…
moritz r: try eval '1 1'; say $!.perl
camelia rakudo 099f0b: OUTPUT«X::Syntax::Confused.new(reason => "Two terms in a row", filename => "eval_0", line => 1, column => Any, modules => Array.new(), is-compile-time => 1, pre => "1 ", post => "1", highexpect => Array.new("postfix", "infix stopper", "infix or meta-infix", "statement end…
08:04 iSlug left
hoelzro moritz++ # helping newbies 08:04
08:06 cbk left, cbk joined
lizmat cycling for a few hours while the weather outside is still more or less bearable& 08:08
moritz occasionally takes the bycicle to work -- about 12km one way, that's quite tough if you're not used it :-) 08:11
08:17 sciurius left 08:22 sciurius joined 08:27 iSlug joined 08:39 iSlug left
jnthn Morning, #perl6 08:42
moritz \o jnthn 08:43
FROGGS hi jnthn 08:44
jnthn lizmat++ # optimization 08:45
08:50 Rotwang joined 09:04 kaleem left 09:05 donaldh joined
dalek p: 644fc3a | (Donald Hunter)++ | src/vm/jvm/ (2 files):
Added chdir with helpful error message for JVM
09:10
09:12 kaleem joined 09:35 daxim joined 09:39 rindolf left 09:49 tokuhirom joined 10:01 pmurias joined
hoelzro is there an nqp::dump or something similar? 10:06
I swear I found something like it yesterday...
or maybe I'm thinking about nqp::say($/.dump())
10:10 dmol joined
donaldh QAST nodes have a dump method 10:22
hoelzro ah ha 10:24
%opts isn't a 6MO?
(in NQP land)
moritz no, a parrot hash 10:25
10:27 fhelmberger joined
hoelzro I see 10:28
does it support any sort of dump method =)
10:29 tokuhirom left 10:34 tokuhirom joined 10:35 dmol left 10:39 colomon joined
donaldh jnthn: what toolchain do you use on Windows for jvm development? 10:41
moritz nqp: my %h = hash(a => 1, b => 2); nqp::say(nqp::join(' ', nqp::keys(%h))) 10:43
camelia nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " hash(a =>"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
moritz nqp: my %h := hash(a => 1, b => 2); nqp::say(nqp::join(' ', nqp::keys(%h)))
camelia nqp: OUTPUT«Error while compiling block : Error while compiling op say (source text: "nqp::say(nqp::join(' ', nqp::keys(%h)))"): Error while compiling op join (source text: "nqp::join(' ', nqp::keys(%h))"): Error while compiling op keys (source text: "nqp::keys(%h)"): No registered oper…
10:43 dmol joined
jnthn donaldh: Originally was using Eclipse; these days just an editor and "make" :) 10:44
donaldh which make? 10:45
jnthn nmake
(The one that comes with VS)
donaldh oh, compatibility is good.
jnthn chuckles at using an MS build tool to compile NQP/Rakudo on JVM :) 10:46
s/compile/build/
FROGGS nqp: my %h := hash(a => 1, b => 2); nqp::say($_.key ~ ' => ' ~ $_.value) for %h
camelia nqp: OUTPUT«a => 1␤b => 2␤»
donaldh Just wanting to test on Windows and cygwin support would require some work.
jnthn: which perl ? 10:47
jnthn ActivePerl
FROGGS cygwin? does really somebody use that except for debugging ports to cygwin?
yeah, strawberryperl doesnt work well sadly 10:48
jnthn Well, I think some of the problem if building Rakudo/NQP on Parrot on Windows using the MS toolchain is that it takes Perl 5's configuration values.
colomon I used to use cygwin quite heavily, before I wised up and switched to OS X. 10:49
jnthn And ActivePerl is built on the MS toolchain.
donaldh yeah, I use cygwin a lot in my $dayjob. Not as a target, just a unix tool environment.
jnthn MoarVM doesn't try to grab stuff out of Perl 5's configuration, so I'm hopeful we get less issues tehre.
*there
FROGGS that is a sane choice 10:50
donaldh The fun with JVM + Cygwin is that you get Unix path separators but the JVM insists on Windows conventions 10:51
so it's an ugly hybrid 10:52
colomon weird message in the smoker tester log: gist.github.com/colomon/6038314 10:54
moritz colomon: ignore it 10:56
the source is that we check out specific commits for nqp 10:57
so we end up in a, whatitscalledagain, the state where you are not a branch
so git warns that you might lose those commits, because they aren't in a local branch 10:58
but they are in remote branches, so no need to worry
11:03 dmol left 11:04 dmol joined 11:05 colomon left 11:08 colomon joined
colomon moritz++ 11:08
11:18 dmol left
YoungFrog "detached head", aka zombie mode :) 11:25
moritz YoungFrog: thanks 11:28
11:31 fgomez left, cognominal joined
daxim no, dullahan‎, not zombie 11:31
11:32 donaldh left 11:36 konundra left 11:40 tokuhirom left 11:42 tokuhirom joined
jnthn
.oO( how the heck could a zombie eat brains without a head? )
11:43
daxim exactly! 11:53
12:13 skids left
timotimo no announcement on r/perl yet? let's bring some negativity in! 12:17
12:36 ajr joined 12:37 ajr is now known as Guest79582 12:38 Guest79582 is now known as ajr_ 12:48 colomon left 12:49 colomon joined 12:53 colomon left, konundra joined
dalek rlito: aff9748 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - integrate Perlito5/Grammar/Print.pm - indirect syntax for print
12:55
rlito: f461b57 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - recompile
timotimo should L<#Some Heading> be the correct way to refer to a section in pod6? 13:00
ah, yes, it should 13:01
timotimo patches Pod::To::HTML a little bit
oh, huh. 13:03
13:06 kaare__ joined, kaare__ is now known as kaare_ 13:09 colomon joined, benabik left 13:10 benabik joined 13:13 tokuhirom left
timotimo S26 refers to "doc:perlpod"; should Pod::To::HTML gain knowledge of doc: links and generate a proper hyperlink or should the source text be given an actual http link? 13:14
ah, right. it specifies that. 13:21
dalek ecs: 82f60b2 | (Timo Paulssen)++ | S26-documentation.pod:
fix an internal crosslink missing its #
13:27
timotimo could someone be so kind and either upload my local rendering of S26 or generate a new one with the latest rakudo release and the latest Pod::To::HTML? 13:28
moritz timotimo: I think I can upload it for you 13:31
timotimo: where is it?
timotimo i'll supply it to you momentarily
t.h8.lv/S26-documentation.pod.html - here 13:32
moritz timotimo: perlcabal.org/syn/S26.html does that look updated to you? 13:33
timotimo not yet 13:34
moritz sadpanda :(
timotimo it should read "see Declarator blocks." instead of "see #Declarator blocks."
oh wait
it was just cached, now it's updated
thanks! :)
moritz \o/
gladpanda!
for the record, the file is /home/pugscode/syn/S26.html 13:35
timotimo gladpandos :)
moritz so anybody with feather1 root can updated it
13:40 ajr joined 13:41 ajr_ left, ajr is now known as Guest37601, Guest37601 is now known as ajr_
timotimo i'm trying to figure out how to handle code blocks (and other blocks that may have virtual left margin in addition to their =begin and =end tags) that start with a line that has more whitespace in front than the rest (like the WHY/WHEREFORE diagram for example) 13:44
couldn't find anything in the spec for pod6 so far.
maybe it warrants a spec ticket
oh, hold on, you're allowed to specify a character to be used for the left margin, right? 13:45
like a | or something
that is _so_ unsupported :D 13:46
13:48 cbk left
timotimo i'm thinking the pod parsing could/should be fundamentally simplified. the nesting should be more pronounced in the code. as in: when a block starts, it finds its own end and then parses its content while removing its beginning, end and especially all white and non-space to the left of it. 13:49
i wonder if that'll fly
TimToady hmm, smells of multi-pass parsing 13:50
timotimo oh. yes, that it does
timotimo drops the idea in the trash can
TimToady the Bearer of Bad News when he wakes up :) 13:51
timotimo then again, tables kind of require multi-pass parsing; or at least multiple independent parsers at the same time (for formatting codes that span lines inside cells)
well, i guess that can be emulated with single-pass parsing just fine
TimToady that tends to be a little more work, but worth it in the long run 13:52
timotimo table cell parsing is magical to me anyway :) 13:53
TimToady that being said, pod is...special...insofar as it's line oriented
p5eval: say $] 13:54
p5eval TimToady: 5.0180001
colomon 's jakudo build is taking an extraordinarily long time...
TimToady
.oO(oh, great, we'll just "fix" the p5 fractional version goof by adding more 0's in there...)
13:56
TimToady the Grump, waiting for the anti-depressive aspects of his coffee to kick in... 13:58
diakopter did Windows 3.11 really mean 3.1.1?
TimToady well, Perl 4 meant "we have a book now" 13:59
timotimo would still really like to know why in the world p6doc's htmlify now uses up so darn much RAM :( 14:01
TimToady avoids making a pun on EWE gross.
timotimo maybe it's because for each single character in a pod string there's one match result? (that really struck me as an odd decision when i read the code) 14:02
but those ASTs and match objects should be discarded once the module is parsed, right?
or do they live on in $=pod for some reason? 14:03
TimToady lovely word, "should"
timotimo "would be sad if something were to happen to it"? :)
TimToady was thinking more as a linguist than as a mobster, but I suppose they aren't all that different... 14:04
colomon hmmm… so how can rakudo detect that an argument passed to it is a rakudo object and not something else? 14:05
timotimo "a rakudo object"?
maybe you mean something like "from the setting"? 14:06
FROGGS colomon: do you mean if it is an P6opaque? in contrast to a native int/str/num?
timotimo Perl6/Optimizer.nqp has a "is_from_core" or "find_in_setting" method or so
colomon FROGGS: perhaps?
14:06 PacoAir joined
colomon I'm working on how to get sprintf to smartly handle Rakudo types 14:06
P6opaque might be the ticket 14:07
14:07 bluescreen10 joined
FROGGS colomon: I've learned that if you have an Int, it will be a P6opaque containing a P6bigint 14:08
colomon that sounds promising
how do you detect that in rakudo?
FROGGS and the native types are P6int/P6num/P6str, which you declare like: my str $a
colomon considers it might be as simple as ~~ Int
…. err, is P6opaque entirely NQP? 14:10
FROGGS r: my $x = 42; say $x.REPR 14:11
camelia rakudo 624ff7: OUTPUT«P6opaque␤»
FROGGS colomon: yes, 6model belongs to nqp
r: my int $x = 42; say $x.REPR
camelia rakudo 624ff7: OUTPUT«P6opaque␤»
FROGGS :/
colomon r: my $x = 42; say $x.REPR
camelia rakudo 624ff7: OUTPUT«P6opaque␤»
FROGGS r: my int $x := 42; say $x.REPR 14:12
camelia rakudo 624ff7: OUTPUT«===SORRY!===␤Cannot bind to natively typed variable '$x'; use assignment instead␤at /tmp/NXnjG4PeG0:1␤------> my int $x := 42⏏; say $x.REPR␤ expecting any of:␤ postfix␤»
colomon r: my $x = 42; say $x.REPR eq "P6opaque" 14:14
camelia rakudo 624ff7: OUTPUT«True␤»
jnthn FROGGS: If you call a method on a native type you force it to be boxed so there's an object to call the method on.
(Which applies to macro-ish things like .REPR too) 14:15
FROGGS yeah, I was thinking that something like this happens...
r: my $x = 42; say($x.HOW.name($x));
camelia rakudo 624ff7: OUTPUT«Int␤»
colomon jnthn: so, I'm trying to make a method sprintf can call to ask "Should this handler handle this argument"? 14:17
just tried $x.REPR eq "P6opaque" and it fails miserably
FROGGS colomon: you can try to print this on the thing you get: say($x.HOW.name($x));
jnthn colomon: In NQP?
FROGGS in sprintf.nqp I suppose
jnthn Well, trouble is that on JVM everything is a 6model object; on Parrot it may not be... 14:18
colomon …. well, sprintf in NQP. I've been trying to write said method in full p6, assuming sprintf can call back to it.
jnthn .REPR may not be in NQP
nqp::reprname(...) is the underlying op though.
colomon nqp::reprname seems like it might do the trick? 14:19
nqp::reprname($x) eq "P6opaque"
so given $x.Int (rakudo), how do I get to the P6bigint? 14:21
FROGGS colomon: you dont I think, just use the bigint ops it it is a Int
jnthn Right, you can use the bigint ops directly on a P6opaque with a P6bigint inside of it 14:22
colomon trying now...
colomon finds the full recompile kind of slow... 14:23
FROGGS colomon: come to #moarvm :P 14:24
colomon FROGGS: jvm is important to my plans for world domination
FROGGS ahh, I see 14:25
colomon or could I actually develop rakudo's nqp sprintf on MoarVM? It isn't that far along yet, is it?
TimToady pictures the world falling like dominoes
colomon bwah-ha-HA-ha
FROGGS colomon: I'm trying to merge sprintf.nqp in right now 14:26
colomon FROGGS: but the important bit of what I'm working on is getting Rakudo variables to work in sprintf.nqp 14:27
FROGGS yeah, and this will work everywhere :o)
so you're really working for (at least) three backends at once
colomon :) 14:28
as far as I know, the only place it actually works now is JVM. (And that's for a very loose definition of works, else I'd be done!)
but yes, hitting all the backends is certainly a goal. 14:29
colomon is going to run out of laptop battery before his son runs out of (morning) tennis camp 14:30
r: say 2**100
camelia rakudo 624ff7: OUTPUT«1267650600228229401496703205376␤»
colomon sweet!!!!!
TimToady bet that took a lot of electrons...
colomon r: say (2 ** 100) / 3 14:31
camelia rakudo 624ff7: OUTPUT«422550200076076467165567735125.333333␤»
colomon those both just worked correctly in my test. \o/
dalek rlito: c8c5ad5 | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Print.pm:
Perlito5 - indirect syntax for print - tweak
rlito: 1e5c22a | (Flavio S. Glock)++ | / (2 files):
Perlito5 - recompile
colomon jnthn: okay, I can write an argument handler for sprintf and it works. where should I pass it in Rakudo? 14:32
14:32 SamuraiJack left
colomon expected much greater difficultly making this work. nqp++ 14:32
14:36 ajr joined, ajr_ left, ajr is now known as Guest95143, Guest95143 is now known as ajr_ 14:38 Bzek joined
colomon Do we have a Rakudo-specific namespace? 14:40
14:43 skids joined
colomon Error while constructing error object:Could not locate compile-time value for symbol Syntax::Confused 14:43
Error while compiling, type X::Syntax::Confused
timotimo it's a followup from a Syntax::Confused error being thrown in the setting before it reaches the point where Syntax::Confused gets declared 14:49
oh wait
haha, that's amusing :)
colomon is going to run out of battery power before this compile finishes... 14:54
timotimo that's why i always ssh to my desktop at home. it has 2x the ram, 2x the cores and each core is faster and in addition, it doesn't heat my laptop up and is connected directly to the wall :) 14:55
colomon timotimo: yeah, I should have thought of that two hours ago.
I got used to working without an internet connection last week. 14:56
14:56 colomon left 14:57 kaare_ left
timotimo i can only reach my desktop from places where i have ipv6 connectivity, so it's not perfect either ;) 14:58
hoelzro $*W.is_name($*W.dissect_longname('Int').type_name_parts('type name')) # 0
wtf?
timotimo: you don't have a VPN? =)
15:02 konundra left 15:05 fhelmberger left
timotimo i don't. i have a fritzbox which has some strange proprietary vpn thing built in that i can't seem to access properly from the outside. haven't tried too thoroughly though 15:07
hoelzro bummer =/ 15:08
timotimo but you're right. i should probably set up proper firewall rules on my router
it seems like my cups is showing to the outside world
luckily i don't have printers.
hoelzro haha
flussence doesn't it still have "print to PDF" though? 15:09
15:09 konundra joined
timotimo i think that's only for local. but what do i know? 15:09
i don't expect many attacks to come through ipv6 yet 15:10
but that's a very bad reason to not run a firewall.
very, very, very bad.
flussence I don't have any printers either, but stupid java has a hard dep on cups...
hoelzro timotimo: your ipv6 traffic is all open?
timotimo not any more 15:11
i guess i didn't think about how dumb that was until now :) 15:12
hoelzro heh 15:15
timotimo but it's just so nice ... no need to nat, just have all the ports open and you can reach the machine from everywhere! 15:16
hoelzro yeah
it *is* nice =)
hoelzro misses his desktop
15:17 kaare_ joined 15:25 colomon joined
colomon t/spec/S32-str/sprintf.rakudo.jvm (Wstat: 0 Tests: 126 Failed: 0) 15:32
TODO passed: 43-62
FROGGS ohh cool
colomon++
timotimo wow, pretty great! :) 15:33
colomon still needs some cleanup, but this feels like a great start.
:)
timotimo that's 0 failed, are any skipped? probably some missing?
FROGGS sprintf has 255 tests imo
timotimo 'k 15:35
colomon there are definitely some skipped / todo'd. (not just in JVM, I should add)
FROGGS: nope, 126
FROGGS hmmm
ahh, nqp's sprintf.t has 255 tests 15:36
pretty cool :o)
15:36 cognominal left
colomon afk # nom pickup 15:37
15:43 notjack joined 15:48 colomon left 15:49 colomon joined
jnthn TimToady: Is a buf8 etc. considered a form of "native" type? 15:50
TimToady: But another way, do we expect buf8 to directly be a buffer of memory, or do we expect it to be a P6opaque that contains one? 15:51
diakopter jnthn: you're thinking it's kindof a .NET value type?
(each size/length its own "type")
jnthn TimToady: The first meaning that we get to optimize it a bunch more, the second meaning you could mix in to it...
diakopter assumed you meant you preferred the former. :) 15:52
colomon woah, those 20 passing tests I just got don't pass in parrakudo!
diakopter probably flukes
;)
jnthn diakopter: More about if you do my $a = buf8.new(), does it have repr VMArray or P6opaque :)
s/But/Put/ above 15:53
diakopter right; I just meant for optimization purposes (possibly allocated on teh stack like .NET)
er, definitely allocated on the stack
since it's always copied
jnthn int[] a; /* not allocated on the stack :-) */ 15:54
diakopter jnthn: I meant C# struct foo { int a,b,c,d,e,f,g,h,i,j,etc; }
jnthn ah, ok
diakopter (one struct "type" for each length/width) 15:55
optimize all teh things.
jnthn: but couldn't it be also mixed into the other way? (so ones that are mixed into could be references, and the others not?) 15:56
I mean, the compiler is always going to know whether it's definitely value-type-able or not 15:57
jnthn Mixins are runtime 15:58
We don't know statically whether it will happen.
15:59 FROGGS left
diakopter jnthn: I guess I meant for non-"statically typed" variables that the optimizer can determine will never be mixed in like that 16:00
GlitchMr rn: class Foo { has $!shyguy = 42; } my Foo $foo .= new; say $foo.^attributes.first('$!shyguy').get_value($foo); 16:02
camelia niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/m3Os0EBP4T line 1:␤------> class Foo { has $!shyguy = 42; }⏏ my Foo $foo .= new; say $foo.^attribute␤␤Parse failed␤␤»…
..rakudo 624ff7: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/T73yvzTyeh:1␤------> class Foo { has $!shyguy = 42; } ⏏my Foo $foo .= new; say $foo.^attributes␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ …
GlitchMr rn: class Foo { has $!shyguy = 42; }; my Foo $foo .= new; say $foo.^attributes.first('$!shyguy').get_value($foo);
camelia rakudo 624ff7: OUTPUT«42␤»
..niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method attributes in type ClassHOW␤ at /tmp/KlTjF9Mm7X line 1 (mainline @ 8) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576) ␤ …
GlitchMr Sounds like a hacky way of accessing private properties.
jnthn Yes, it's not meant to be pleasant to do so. 16:03
16:03 bluescreen100 joined 16:04 kaleem left
GlitchMr But still possible, right? 16:04
16:04 kaleem joined
jnthn Right. 16:04
"Make ... the hard things possible" :) 16:05
16:06 bluescreen10 left
GlitchMr By the way, I'm not sure whatever it's bug or not, but in Rakudo, when you "use" some unknown module, the "===SORRY!===" doesn't have colors 16:10
16:11 pmurias left 16:13 grondilu joined 16:17 vk_ joined 16:19 havenwood joined 16:26 FROGGS joined 16:34 kaleem left, nebuchadnezzar left, nebuchadnezzar joined 16:36 domidumont left 16:37 ajr_ left 16:38 kaare__ joined, Rotwang left 16:40 kaare_ left
colomon rn: say (5.6).fmt('%f') 16:42
camelia rakudo 624ff7, niecza v24-88-g1f87209: OUTPUT«5.600000␤»
colomon rn: printf("%f", 5.6) 16:44
camelia rakudo 624ff7, niecza v24-88-g1f87209: OUTPUT«5.600000»
16:44 kaleem joined
dalek ast: 19624e1 | (Solomon Foster)++ | S02-names-vars/fmt.t:
Fix broken %f tests and unfudge them.
16:45
GlitchMr std: for $nonsense {} 16:47
camelia std c2215f0: OUTPUT«===SORRY!===␤Variable $nonsense is not predeclared at /tmp/6lpLteh64f line 1:␤------> for ⏏$nonsense {}␤Potential difficulties:␤ 'for $nonsense' will never flatten a $ variable;␤ to force list interpolation, please use either 'fo…
GlitchMr std: my $nonsense; for $nonsense[] {}
camelia std c2215f0: OUTPUT«ok 00:00 45m␤»
GlitchMr std: my $nonsense; for $nonsense<a> {}
camelia std c2215f0: OUTPUT«ok 00:00 44m␤»
GlitchMr ok
16:51 sahadev left 16:54 Rotwang joined 16:57 kaleem left
GlitchMr std: use Use::No::Colors::In::Error 16:57
camelia std c2215f0: OUTPUT«===SORRY!===␤Cannot locate module Use::No::Colors::In::Error at /tmp/STKinO2jny line 1 (EOF):␤------> use Use::No::Colors::In::Error⏏<EOL>␤Check failed␤FAILED 00:00 41m␤»
GlitchMr r: use Use::No::Colors::In::Error 16:58
camelia rakudo 624ff7: OUTPUT«===SORRY!===␤Could not find Use::No::Colors::In::Error in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/…
GlitchMr No colors in ===SORRY!===
lizmat good *, #perl6! 16:59
jnthn o/ lizmat
lizmat r: .say.WHAT for (1,(2,3),4) # sort of expected Int, Parcel, Int here
camelia rakudo 624ff7: OUTPUT«1␤2␤3␤4␤»
17:00 spider-mario joined
lizmat r: .WHAT.say for (1,(2,3),4) # sort of expected Int, Parcel, Int here 17:00
camelia rakudo 624ff7: OUTPUT«(Int)␤(Int)␤(Int)␤(Int)␤»
jnthn lizmat: Parcels flatten in list context.
lizmat aha!
GlitchMr .WHAT.say for (1,(2,3),4).tree 17:05
r: .WHAT.say for (1,(2,3),4).tree
camelia rakudo 624ff7: OUTPUT«(Int)␤(Parcel)␤(Int)␤»
GlitchMr Here
This is probably what you wanted
17:06 birdwindupbird left
timotimo oh, huh 17:11
>>.WHAT isn't nodal, it's ... scalal
moritz .WHAT is not a method call 17:12
timotimo it's a macro, yes?
moritz yes
lizmat r: my @b := map { 0 ?? $_ !! () }, 1,2,3; say @b.perl # according to spec, this should be ().list, right 17:14
camelia rakudo 624ff7: OUTPUT«((), (), ()).list␤»
dalek p: b16ca35 | (Solomon Foster)++ | src/ (2 files):
Add sprintfAddHandler and use it.

This allows you to register a handler which knows how to convert types NQP doesn't know about to bigints. (Eventually I hope to expand it to floating point values and strings as well.)
I'm not particularly attached to the name sprintfAddHandler, if someone has a better suggestion.
lizmat r: my @b := map { 0 ?? $_ !! Nil }, 1,2,3; say @b.perl # according to spec, this should be (Nil,Nil,Nil).list, right ?
camelia rakudo 624ff7: OUTPUT«().list␤»
timotimo n: my @b := map { 0 ?? $_ !! Nil }, 1,2,3; say @b.perl 17:15
camelia niecza v24-88-g1f87209: OUTPUT«().list␤»
timotimo at least both are equally wrong/right :)
jnthn colomon: op names tend to be lowercase
colomon: also, add handler for...what? ;)
lizmat r: my @b := map { $_ if 0 }, 1,2,3; say @b.perl # internally, this currently has the Nil behaviour
camelia rakudo 624ff7: OUTPUT«().list␤»
lizmat moritz: it would seem to me that grep currently also depends on the wrong Nil behaviour 17:16
timotimo it should use () instead, is that correct? 17:17
moritz lizmat: most likely, yes
jnthn lizmat: I suspect an awful lot of things do 17:18
colomon afk # would post next bit, but "You must pretend you're an AT-AT!"
lizmat then I will not change current squish/uniq implementations :-)
timotimo aaw, kids
lizmat my roadmap in that respect is: get var traits in (jnthn++), get is_default working, get Nil assignment working, check all of the code for incorrect Nil usage and fix that, 17:21
jnthn will try to get to var traits soon :) 17:22
Got a lot of things I want to attack, Buf amongst 'em.
lizmat jnthn: at your convenience, getting jakudo to 100% is much more important
jnthn Well, currently I'm looking at Buf stuff 17:23
But I want to get Buf righter rather than today's hack.
timotimo so tell me. if i have =begin code ... =end code and the code inside it is indented, but only exactly to be flush with the = signs
the code should *not* end up with spaces in front of it in every line, right?
as in: every space that's in front of the =begin should be stripped from the rest as well, yes? 17:24
moritz timotimo: I think so, yes
timotimo runs off to fix that
colomon argh 17:25
timotimo there is already code in there that is supposed to chop off spaces from the beginning of every line 17:26
jnthn Turns out that the stuff I need to do in order to get Buf in place in a better way is also the foundation stuff for native arrays...
timotimo nqp: my $spaces := " "; my $first := " foo\n bar\n baz\n"; nqp::say(subst($first, /\n$spaces/, :global)); 17:28
camelia nqp: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤current instr.: 'subst' pc 1014 (src/stage2/gen/NQPCORE.setting.pir:484) (src/stage2/NQPCORE.setting:701)␤»
timotimo nqp: my $spaces := " "; my $first := " foo\n bar\n baz\n"; nqp::say(subst($first, /\n$spaces/, "\n", :global));
camelia nqp: OUTPUT« foo␤bar␤baz␤␤»
lizmat jnthn: that sounds like excellent news, actually
colomon \o/
17:30 domidumont joined
grondilu rn: say my $σ = 4; # testing a unicode variable name 17:32
camelia rakudo 624ff7: OUTPUT«4␤»
..niecza v24-88-g1f87209: OUTPUT«Potential difficulties:␤ $σ is declared but not used at /tmp/gA5J7Om1Vd line 1:␤------> say my ⏏$σ = 4; # testing a unicode variable nam␤␤4␤»
grondilu rn: my $σ0 = 4; say $σ0 # testing a unicode variable name with a numeric suffix 17:35
camelia rakudo 624ff7, niecza v24-88-g1f87209: OUTPUT«4␤»
dalek p: e4dc9d2 | (Solomon Foster)++ | src/HLL/sprintf.nqp:
Fix sprintfAddHandler return value.

I deleted the return value just before pushing the last patch. Turns out it was important. Whoops.
17:35 prammer left
dalek kudo/rebuf: 56bde21 | jnthn++ | / (8 files):
Start preparing MOP for Buf[T] and native arrays.
17:35
kudo/nom: ba6da77 | (Solomon Foster)++ | src/core/Cool.pm:
Initialize sprintf argument handler when needed.
17:36 prammer joined
grondilu rn: my $σ0 = 4; say $σ0 # I get a "two terms in a row" with this on my machine :/ 17:38
camelia rakudo 624ff7, niecza v24-88-g1f87209: OUTPUT«4␤»
grondilu yet I'm running 624ff7. Weird. 17:39
17:39 sahadev joined 17:40 mls left
timotimo interestingly, it seems like pod_textcontent:sym<code> is not being called when i have a =begin code ... =end code 17:42
moritz grondilu: maybe REPL vs. one-line vs. program from file? 17:47
timotimo i must say the pod parsing code looks a bit like kraut and rüben. 17:48
=o 17:51
i put debug outputs into both textcontent variants, code and regular. neither gets output when i parse my =begin code ... =end code *or* the =begin pod ... =end pod i optionally put around it
dalek rlito: 78f005a | (Flavio S. Glock)++ | src5/ (5 files):
Perlito5 - js - move all I/O to IO.pm
17:53
rlito: fc831b6 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - move all I/O to IO.pm
17:56 sahadev left
dalek kudo/nom: 45d4473 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Make {@keys}:k use slighlty less CPU
18:01
18:03 fgomez joined
timotimo i'm now convinced rakudo is trying to troll me and i will not investigate further today. 18:05
dalek kudo-star-daily: 942836f | coke++ | log/ (5 files):
today (automated commit)
18:06
kudo-star-daily: 00efa50 | coke++ | log/ (5 files):
today (automated commit)
kudo-star-daily: 5098ee3 | coke++ | log/ (5 files):
today (automated commit)
jnthn trolololol
huh, 3 updates? :) 18:07
oh, rakudo *star* faily!
*daily
!!
[Coke]++
timotimo cool!
18:08 bbkr joined
timotimo i wonder if it would be nice to have a filter run over the outputs that will round the time taken to the next 10 and remove the parenthesized parts? so that there's not so much noies? 18:09
noise*
[Coke] jnthn: right now it's just doing a star build out of the repo. need to make it smarter and try to grab latest rakudo.parrot and latest repository variants. 18:10
timotimo good idea
[Coke] Testing modules/perl6-File-Tools...
is failing.
t/02-shell-command.t is failing
looks like quite a bit is failing, actually: github.com/coke/rakudo-star-daily/...odules.log 18:11
timotimo yeah. isn't that from a version mismatch of rakudo and the tools?
r: dir()[0].copy
camelia rakudo 624ff7: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method copy at src/gen/CORE.setting:11846␤ in block at /tmp/IZp3_NEy76:1␤␤»
timotimo r: dir()[0].WHAT.say
camelia rakudo 624ff7: OUTPUT«(IO::Path)␤»
timotimo because IO::Path does have a copy method.
[Coke] I'm pretty sure it's the fixed version of rakudo and the modules that are listed in the star repo that are used. 18:12
so perhaps we need to bump those versions.
timotimo that sounds like the problem, yeah
[Coke] I hesitate to always "get latest" on the star build, because that may not be what the stable is. might be nice to have a tag or a sha1 somewhere to indicate "please use this latest version" in the ecosystem somewhere. 18:13
timotimo that sounds good. a "star" branch for every project; if no star branch exists, pull in the newest master each time? 18:14
[Coke] or maybe I can generate the list of sha1s used when I do the run, and whoever packages up star can check to see what the latest one that worked was. 18:15
18:15 SamuraiJack joined
[Coke] (that's something I can easily control, anyway) 18:15
timotimo that's a good idea, too
18:16 kaleem joined, fgomez left 18:17 kaleem left, fgomez joined 18:20 raiph joined
grondilu moritz: (about the unicode variable) No, I've just checked in the REPL. Fails too. I've tried in a file, on the command line with -e, and in the REPL. Always failed. Maybe my terminal has a bad config. 18:21
timotimo it turns out that pod_textcontent:sym<code> isn't even used. instead, pod_block:sym<delimited_raw> seems to be. 18:23
raiph looks like i'm permabanned from /r/perl: www.reddit.com/r/perl/comments/1id0...hread_and/
timotimo what makes you think that? 18:25
because nobody is commenting?
raiph that post was never visible from the main page
same happened to my last post, for one day, then it appeared 18:26
but this one has not appeared and it's been 3 days since i submitted it 18:28
18:28 konundra left
raiph i'm not bothered by the ban, just intrigued 18:30
18:30 konundra joined 18:32 daxim left
dalek ast: 5e490ab | (Solomon Foster)++ | S32-str/sprintf.t:
Unfudge tests in JVM.
18:34
[Coke] jvm run seems much slower today 18:35
dunno if it's just me.
lizmat r: my %h; %h<bar><baz> := 'zoom' # rakudobug ? 18:37
camelia rakudo 45d447: OUTPUT«No such method 'bind_key' for invocant of type 'Any'␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1748␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1733␤ in block at /tmp/ZuZrMkeTU0:1␤␤»
lizmat n: my %h; %h<bar><baz> := 'zoom' # rakudobug ?
camelia niecza v24-88-g1f87209: ( no output ) 18:38
lizmat n: my %h; %h<bar><baz> := 'zoom'; say %h<bar>baz>
camelia niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/3yBFogCR4p line 1:␤------> %h; %h<bar><baz> := 'zoom'; say %h<bar>⏏baz>␤␤Parse failed␤␤»
lizmat n: my %h; %h<bar><baz> := 'zoom'; say %h<bar><baz>
camelia niecza v24-88-g1f87209: OUTPUT«zoom␤»
lizmat files rakudobug
p: my %h; %h<bar><baz> := 'zoom'; say %h<bar><baz> 18:41
camelia pugs: OUTPUT«zoom␤»
diakopter r: my %h; (%h<bar>={})<baz> := 'zoom'
camelia rakudo 45d447: ( no output )
diakopter r: my %h; (%h<bar>={})<baz> := 'zoom'; say %h<bar><baz>
camelia rakudo 45d447: OUTPUT«zoom␤»
diakopter hrm 18:42
lizmat p: my %h; %h<bar><baz>; say %h<bar>
camelia pugs: OUTPUT«␤»
diakopter r: my %h; (%h<bar>:={})<baz> := 'zoom'; say %h<bar><baz>
lizmat n: my %h; %h<bar><baz>; say %h<bar>
camelia rakudo 45d447: OUTPUT«zoom␤»
niecza v24-88-g1f87209: OUTPUT«(Any)␤»
diakopter r: my %h; (%h<bar>:=%h)<baz> := 'zoom'; say %h<bar><baz> # LOLOLOLOLOLOL 18:43
camelia rakudo 45d447: OUTPUT«zoom␤»
diakopter (lol b/c it's bound)
dalek ast: 9254143 | (Elizabeth Mattijsen)++ | S02-types/hash.t:
Some more basic hash tests, found one problem (#118947)
18:45
diakopter rnp: my %h; %h<bar> := %h; %h<bar> := {}; say keys %h 18:46
camelia pugs: OUTPUT«barbar␤»
..rakudo 45d447, niecza v24-88-g1f87209: OUTPUT«bar␤»
diakopter rnp: my %h; %h<bar> := %h; %h<bar> = {}; say keys %h
camelia pugs: OUTPUT«*** Can't modify constant item: VList []␤ at /tmp/9CKQOnm0Fz line 1, column 23-35␤»
..rakudo 45d447, niecza v24-88-g1f87209: OUTPUT«␤»
diakopter heh.
TimToady jnthn: yes, buf8 is a native type, and cannot be mixed into; it might, however, be generic in the binding sense, so that a routine can handle any length of buf8, for instance, as a parameter
diakopter barbar indeed
note NO keys on the 2nd one above for rakudo and niecza 18:47
talk about action at a distance
TimToady any given native type has a descriptor somewhere (at least notionally, even if the compiler throws it out) that carries the type on behalf of the native location, and passing around such a descriptor has the appearance of mutating the type where it is bound 18:48
the purpose buf8 is primarily to represent a chunk of memory 18:49
*of
lizmat r: my %h; %h<bar> := %h; %h<bar> = {}; say keys %h; say keys %h<bar> # but apparently something's still in %h<bar>
camelia rakudo 45d447: OUTPUT«␤0␤»
TimToady this is why it's mutable, for instance 18:50
diakopter lizmat: whoa!
lizmat r: my %h; say keys %h<foo> # same
camelia rakudo 45d447: OUTPUT«0␤»
diakopter oh.
r: my %h; %h<bar> := %h; %h<bar> = {}; say keys %h; say keys %h<bar>; say keys %h 18:51
camelia rakudo 45d447: OUTPUT«␤0␤␤»
lizmat r: say Any.keys
camelia rakudo 45d447: OUTPUT«0␤»
lizmat r: say Any.list.keys
camelia rakudo 45d447: OUTPUT«0␤»
18:51 colomon left
lizmat r: say Any.list 18:51
camelia rakudo 45d447: OUTPUT«(Any)␤»
TimToady it's the 0 from the .kv of a 1 element list, I guess 18:52
diakopter r: my %h; %h<bar> := %h; %h<bar> = {}; say keys %h; say keys %h<bar>; say keys %h<bar><bar>; say keys %h<bar><bar><bar>; say keys %h<bar><bar><bar><bar>
camelia rakudo 45d447: OUTPUT«␤0␤0␤0␤0␤»
TimToady r: say keys Any,Any,Any 18:53
camelia rakudo 45d447: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'keys' will never work with argument types (Any, Any, Any) (lines 1, 1)␤ Expected any of:␤ :($x)␤»
diakopter rnp: my %h; %h<bar> := %h; %h<bar> = {bar=>%h}; say keys %h; say keys %h<bar>; say keys %h<bar><bar>; say keys %h<bar><bar><bar>; say keys %h<bar><bar><bar><bar> 18:54
camelia pugs: OUTPUT«*** Can't modify constant item: VList []␤ at /tmp/Z1ndHYaqkX line 1, column 23-42␤»
..rakudo 45d447, niecza v24-88-g1f87209: OUTPUT«bar␤bar␤bar␤bar␤bar␤»
TimToady r: say keys (Any,Any,Any)
camelia rakudo 45d447: OUTPUT«0 1 2␤»
lizmat r: say Any.list.end # shouldn't this be -1 ?
camelia rakudo 45d447: OUTPUT«0␤»
TimToady it's a list of 1 element
Any !=== ()
18:54 cooper left
lizmat r: say Any.list.elems # indeed 18:55
camelia rakudo 45d447: OUTPUT«1␤»
lizmat r: say Any.keys # still feels strange 18:56
camelia rakudo 45d447: OUTPUT«0␤»
TimToady not sure there's much to be done about--it's the WAT that goes with an important DWIM, and it's pretty well hidden, for a WAT
.oO(Masak's Law)
18:57
timotimo: the opposite of nodal is...leafal! 19:00
PerlJam
.oO( I thought it was "dal" )
TimToady only in an Indian restaurant
[Coke] leafy
TimToady nodey? 19:01
lizmat lentilly?
TimToady branchy?
that would be lenticular :)
19:01 cooper joined
lizmat
.oO( wonder if I can have my NaN and eat it too )
19:02
TimToady jnthn: yes, a buf8 is precisly a native array of int8
*cise
lizmat still needs to get used to intX where X indicates the number of bits 19:03
19:08 bbkr1 joined
dalek ecs: 43de78c | duff++ | S99-glossary.pod:
Change explanation of S99's purpose slightly
19:08
ecs: a35523c | duff++ | S99-glossary.pod:
add WAT
[Coke] duff: what is point of adding WAT if you're not going to define it? :P 19:09
TimToady WAT!?!
lizmat well, I was wondering WAT as well
19:10 bbkr left, bbkr joined
PerlJam Coke: I'm not sure if WAT has taken on some more-specialized meaning in a #perl6 context or not. 19:10
These things tend to happen you know.
TimToady According to Masak's Law, a WAT is the price you must pay for its corresponding DWIM. :) 19:11
Or is that Mäsak's Law?
jnthn TimToady: OK, thanks :) 19:12
[Coke] so, unexpected behavior?
PerlJam (plus, I'm not sure what I would put if it hasn't. "extreme expression of confusion or disbelief"? )
TimToady that's its meaning in the larger culture
19:12 bbkr1 left
lizmat ok, so WAT is more like .WHAT? 19:12
PerlJam lizmat: See www.destroyallsoftware.com/talks/wat 19:13
jnthn lizmat: WAT is www.destroyallsoftware.com/talks/wat
dalek rl6-roast-data: cef0386 | coke++ | / (5 files):
today (automated commit)
TimToady maybe we should rename Nil to WAT
just to confuse people 19:14
lizmat 99.07 still
dalek ecs: 5bed3c8 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
This explains WAT: PerlJam++, jnthn++
19:19
19:20 bbkr left
lizmat r: my $a; say $a.list.perl # wonder if special casing Any.list to be () wouldn't make a lot of sense 19:22
camelia rakudo 45d447: OUTPUT«(Any,).list␤»
lizmat TimToady: fwiw, it doesn't fail any spectest if I do this for any undefined vakue 19:23
TimToady I'm sure such a DWIM would have its own WAT 19:24
probably better to leave the current WAT in place
PerlJam lizmat: what would my Dog $fido; $fido.list.perl; be in that hypothetical universe? 19:25
lizmat ().list
assuming Dog doesn't have its own .list and inherits from Any 19:26
and doesn't have any other .list in its ^mro
jnthn hmm...meta-programming is a bit fiddly sometimes... 19:28
19:29 colomon joined
lizmat anyway, this is the diff for that hypothetical universe, it passes all current spectests: gist.github.com/lizmat/6041763 19:30
colomon [Coke]: JVM seemed much slower to me too, but I assumed it was because I was doing other stuff in the background and running on battery. huh. 19:32
jnthn Hm 19:33
PerlJam lizmat: I can imagine something like @stuff ==> map { $mumble.list } ==> @other-stuff would be surprising if $mumble.list made an undefined $mumble disappear rather than putting an undefined thing in the resulting list.
lizmat: (that's my only argument for keeping things the way they are :)
jnthn colomon: If you fancy working out what's to blame, that'd be helpful. I don't have any immediate guesses...
lizmat PerlJam: Well, if $mumble would be Nil, then that is exactly what would happen 19:35
however, unless $mumble is defined with "is default(Nil)", that will *never* happen
as the assignment of Nil to $mumble, will set that to whatever is the default for $mumble (usually Any) 19:36
timotimo TimToady: you have excluded a Third. in this case it's more like WholeTreeal
or Rootal
lizmat
.oO( maybe we need a .weed method )
19:37
TimToady timotimo: eh, every node looks like a whole tree if you 'gnore its parent
colomon jnthn: I don't know that I have the time to work on it right now… I've got a 4-year-old who's wanting a lot of attention this afternoon.
timotimo hehe 19:38
colomon but I just compiled, (well, started), and stage parse is taking 53 seconds when I would swear it was just 20-something yesterday 19:42
jnthn Odd, it's about the same ehre
*here
Around 39s/40s
colomon trying a build on my Linux box, which hasn't been updated in a while 19:43
timotimo i haven't been able to create a raco condition with (^100).map({ async { $global = $global + 1 } }) 19:52
TimToady you need to implement 'race' first :) 19:53
19:55 SamuraiJack left
jnthn TimToady: Well, you must be getting far too lucky :P 19:55
uh, timotimo
TimToady is always far too lucky, though sometimes the luck is bad. 19:56
lizmat timotimo: when you say, "no race condition" do you mean $global maintains its integrity, or that it didn't miss any of the +1's ? 20:01
20:04 raiph left
TimToady jnthn has a race condition in his autocompleter 20:04
colomon jnthn: you'll be happy to know I didn't see any slowdown at all comparing the July 5th version to the latest (on my Linux box) 20:08
jnthn ok
jnthn is still a little unnerved that colomon and [Coke] sensed there was one on some boxes... 20:09
colomon yes, it still might be worth investigating. here are the numbers I got on my linux box: gist.github.com/colomon/6042000
lizmat going to see some Pacific Rim& 20:10
colomon Hmm, is [Coke] running on OS X too?
timotimo lizmat: $global ends up being exactly 100 in each test i ran
jnthn colomon: memory size in the boxes? 20:11
colomon jnthn: boatloads more memory in my linux box 20:12
jnthn k
colomon: Hm, that looks like a small change there?
colomon 32 gigs versus 8
small improvement, yes.
very small
timotimo jnthn: is there some per-variable lock or something on the jvm? 20:15
jnthn No 20:16
timotimo strange. 20:17
in that case, these asyncs must in reality actually be sync :P
jnthn timotimo: There's no locking at present. I suspect all you are seeing is that when you do so little work inside of a promise the overhead of pulling the task from the queue and invoking it outweighs the cost.
timotimo right, good point.
TimToady or it's jitting to a single instruction
timotimo perl6 isn't a language for toy examples :P
jnthn TimToady: No, not unless it's a native or something...
TimToady it's a really *smart* jitter :) 20:18
jnthn True! :P
I'm not sure whether $x++ should be naturally atomic anyway.
colomon jnthn: just watched with top, and it looked like it got up to 1.8 gigs of memory used in a couple of spots during the compile. that's not great, but it doesn't seem like it should be that bad on a machine with 8 gigs of ram.
diakopter .. but they always taught me to eliminate the jitter
TimToady wow, my heart is a-flutter 20:19
dalek kudo/rebuf: 8237230 | jnthn++ | src/Perl6/ (6 files):
Further MOP support for Buf and native arrays.

This gets us able to write parametric roles whose parameterization conveys the type to do layout with down to the VMArray REPR.
jnthn That patch took more attempts to write than it shoulda... 20:20
moritz looks non-trivial to me. 20:22
[Coke] colomon: no, the daily jvm runs are not on os x 20:23
a branch for Buf? excellent, it was over my paylevel.
regarding chdir - even if the jvm doesn't support it, we can track CWD and pass that whenever doing things that assume a WD. 20:24
20:31 havenwood left 20:36 konundra left
grondilu solved an other Rosalind problem in P5, for P6 was too slow :( 20:42
rosalind.info/problems/gasm/ 20:43
timotimo :( 20:45
did you try jakudo, too?
grondilu jakudo doesn't work well on my machine.
timotimo aaw :(
grondilu But on second thought I may improve the P6 code and have it pass. 20:46
because there is an aspect of the problem I only realized while writing the P5 code, and it shoud make the solution come up faster.
20:46 BenGoldberg joined
timotimo :) 20:47
grondilu I'm just not sure I'll have the courage to bother, now that I've posted the solution already.
grondilu will though, eventually.
20:47 cognominal joined 20:48 kaare__ left
jnthn my role Buf[::T = int8] does Positional[T] does Stringy is repr('VMArray') is array_type(T) { 20:50
...now there's a type declaration...
diakopter wouldn't Stringy need a parameter too? 20:53
jnthn No 20:55
21:07 skids left 21:10 ajr joined 21:11 ajr is now known as Guest37070, Guest37070 is now known as ajr_ 21:12 colomon left
dalek c: 293f229 | (Timo Paulssen)++ | htmlify.pl:
tables used to blow up while debugging (pod-gist)
21:20
c: 57f9247 | (Timo Paulssen)++ | / (2 files):
make indents for the classtut explicit again.
21:21 notjack left
dalek kudo/rebuf: 34e8703 | jnthn++ | src/Perl6/ (2 files):
Avoid a couple of checking/reporting explosions.
21:21
kudo/rebuf: fa3ec02 | jnthn++ | / (4 files):
Start replacing Buf.

Buf is now a role, as per spec. We also provide buf8, buf16, buf32 and buf64 symbols in the setting, which are instantiations of it. However, VMArray isn't quite smart enough to pack those as it should yet. Much previous Buf functionality is still missing; it will be added back before this branch is merged.
21:23 vk_ left, konundra joined
timotimo hmm. wait a second. 21:23
21:23 colomon joined
timotimo if i have an indented raw block, should it keep the indentation in the output by virtue of being nested inside the tree structure or by having actual spaces in it? 21:24
21:26 raiph joined
timotimo github.com/rakudo/rakudo/pull/184 - please advise on the behavior of nested raw blocks 21:27
lue I would like indented bare code blocks to keep their leading whitespace, relative to normal text's virtual margin /me comments on pull request 21:29
timotimo In addition the =code, =item, =input, and =output blocks all have implicit nesting. - i guess it applies the same way to blocks that are just raw and put into outer blocks?
21:29 domidumont left
jnthn TimToady: From S02: "The utf8 type is derived from buf8, with the additional constraint that it may only contain validly encoded UTF-8." At what point(s) is that enforced? Any implementation hints? :) 21:31
21:31 vk_ joined
diakopter jnthn: we talked about that, ISTR 21:37
actually
lue
.oO( utf8.new(0xE0).encode("ASCII") )
21:38
diakopter jnthn: TimToady will recall that's part of the larger question of Uni
21:39 grondilu left
jnthn diakopter: Uni is closer to Str, iirc, though? Just without a normalization commitment? 21:39
TimToady our current Str is really just Uni
diakopter ah
TimToady and NFD and NFC would have the same relationship to Uni that utf8 has to buf8, kinda
but I think mostly utf8 is a promise that either you know it's utf8, or someone you trust (a filehandle?) has told you it's utf8 21:40
not sure how that squares with being a mutable type, in the case of buf8
the goal is that Str only contain NFG eventually, not the current codepoint semantics 21:41
jnthn Well, I ain't gonna get the mutability in right off, 'cus I need to shave the natives/mutability yak still...
TimToady (that is, Uni)
jnthn Yeah, agree on Str being NFG only.
We just ain't there yet.
dalek p: 6b430e2 | (Donald Hunter)++ | ConfigureJVM.pl:
Added --no-clean and updated usage.
21:42 donaldh joined
TimToady possibly utf8 is an immutable version of native buf8 21:42
jnthn TimToady: iiuc, buf8.Str dies, utf8.Str is OK?
TimToady right
jnthn We could do it that way
I was gonna ask how Blob fits in with all of this.
TimToady in any case, when it says "derived", don't take that literally
jnthn Buf feels like a mutable Blog.
TimToady it's just something we think we know more about 21:43
jnthn uh, Blob.
utf8 could be a kind of Blob instead of a kind of Buf, perhaps?
TimToady yeah, I can see that
jnthn Is there any other Blob/Buf distinction that I've missed besides the mutability? 21:44
TimToady S02 sez: Blob An undifferentiated mass of ints, an immutable Buf 21:45
so maybe utf8 is a kind of blob8 21:46
jnthn That seems workable 21:47
TimToady and NFC/NFD is a notional blob32 that we maybe can compress to blob16/blob8 strands
$b.subblob($begblob,$blobettes) :) 21:49
dalek p/make-install: a620765 | (Donald Hunter)++ | tools/build/ (2 files):
Restructured install layout to resemble parrot install layout.
21:50
TimToady well, they're all Stringy in some sense
jnthn :)
timotimo lue: answered to your thing on the pull request 21:51
donaldh I've pushed a branch with a proposal for a new install layout that's closer to the parrot install layout
jnthn So if you $str.encode('utf-8') you'll be getting back an (immutable) utf8.
donaldh++ 21:52
donaldh comments please. I still need to make updates in rakudo to work with this.
jnthn donaldh: Would you prefer commetns before you do the Rakudo stuff? 21:53
TimToady presumably, which you then copy (notionally, at least) into a mutable buf8 that is doing, surprise, *buffering*!
jnthn Yeah, can even try and make that cheap.
TimToady probably worth having ways to encode directly into a buffer
jnthn .encode('utf-8', :buf) ? :) 21:54
21:54 spider-mario left
donaldh jnthn; That would be great. I'm unlikely to have tuits over the weekend. 21:54
jnthn donaldh: ah, in that case I'll put it on my weekend todo list then :)
donaldh jnthn: also thinking about a script to pass the nqp build/run flags through to rakudo 21:55
jnthn donaldh: Maybe we can make nqp itself able to do that with the correct command line switch, so you can perl Configure.pl --with-nqp=... and it can obtain the location(s) from that. 21:56
donaldh would help to avoid downstream sync issues as features like NativeCall land in nqp
TimToady probably also want ways to cheat on the input side so that decoding a utf8 can just point into the buffer, if someone's willing to swear that the buffer is being treated immutably enough (disregarding the reads)
from p5 experience, cheating on input is very worthwhile for speed 21:57
donaldh jnthn: yeah sure. Flags or nqp module?
TimToady especially if the first thing we do is convert to NFG
jnthn donaldh: Module works if it's in the default install path.
TimToady no point in copying things twice
jnthn donaldh: And is probably preferable.
TimToady: Well, I was thinking if you .decode(...) on any of these things you're saying "I know what I'm doing" :) 21:58
donaldh thinks that's easier to generate too.
jnthn TimToady: And if the decoder finds it invalid somewhere, you get an exception.
TimToady yes, "I promise" is an important concept in P6 :)
donaldh has there been any debate about the chdir problem on JVM ?
jnthn donaldh: [Coke]++ commented earlier 21:59
donaldh i.e. lack of
jnthn donaldh: I think we try to emulate-ish it
donaldh global or thread local ?
TimToady I always figured chdir would have to emulated on some platforms, especially any that are running separate "processes"
21:59 Moukeddar joined
jnthn donaldh: What Perl 6 spec says :P 21:59
diakopter it's not hard to emulate.. simply provide a native wrapper that chdir's into the right thing right between your shell-out or system call or whatever
er, then the wrapper invokes the thing you wanted to call 22:00
donaldh well it's more munging all the file ops.
jnthn TimToady: Is it thread local or process global? :)
diakopter donaldh: yes that too
jnthn donaldh: On the file ops, I'm not entirely happy with the current stuff. It was kinda my "make stuff work" solution.
donaldh well chdir is process global.
TimToady well, I always thought chdir should be dynamically scoped... :) 22:01
jnthn donaldh: Do you have any feelings for/against doing it with nio?
22:01 lue left
jnthn donaldh: I'm tempted towards it because I also want to get async IO in, and nio has a story on that... 22:01
donaldh yeah.
I guess it's a bit hairy but there's a manageable subset of nqp ops that would need to be aware of the logical CWD 22:02
TimToady see S16:182
synopsebot Link: perlcabal.org/syn/S16.html#line_182
jnthn Yeah, that's my guess. Hairy but possible.
TimToady so the concept of $*CWD is in the specs, if a bit handwavey
donaldh so should chdir modify the nqp equivalent of $^CWD and nothing more. 22:05
should the nqp runtime not in fact move itself around directories on _any_ of the backends? 22:06
s/move/teleport/
TimToady maybe &PROCESS::chdir is the real one 22:07
donaldh and that's just non-existent on JVM ?
TimToady right
or just sets $*CWD for every interpreter running under it somehow 22:08
22:08 BenGoldberg left
TimToady seems not very useful though 22:08
donaldh Will need some kind of solution for panda. Alternatively refactor panda to not require chdir 22:09
22:10 bluescreen100 left
TimToady maybe there's some policy that an interpreter's top-level $*CWD just tracks $PROCESS::CWD, so any single layer of chdir will tend to do the expected thing 22:11
or maybe that just falls out of it already, since * vars already search GLOBAL and then PROCESS 22:12
you'd only get into trouble if a dynamic chdir expects that to propagate back into its caller
jnthn TimToady: Should Buf support push/pop/shift/unshift?
Rakudo's today doesn't... 22:13
Don't see anything in the spec saying one way or t'other :)
22:13 lue joined
donaldh will look into nio after the weekend hopefully 22:14
TimToady I dunno, most of that sort of stuff you'd do in the stringy realm
concat bufs and such
jnthn *nod*
Well, can add it later if somebody sees a need.
TimToady can always add 'em later if there's a good use case
jnthn hah
TimToady darn 22:15
donaldh at least that race condition didn't corrupt irc
22:15 jeffreykegler joined, jeffreykegler left 22:17 jeffreykegler joined
donaldh 'night o/ 22:17
TimToady well, irc was invented by Finns, who are good at racing and shooting while under the influence of vodka
22:18 donaldh left, BenGoldberg joined 22:19 colomon left
jnthn s/good .+ while// # also true if the Stockholm - Helsinki ferry is your sample :) 22:19
TimToady :D 22:20
TimToady imagines racing gunboat ferries...
maybe they'd have to be icebreakers if we're talking biathlon 22:22
or iceboats 22:23
the cannons could double for propulsion when the wind dies down 22:24
22:27 colomon joined
jnthn Racing icebreakers! 22:28
colomon www.themackinaw.org/ 22:32
22:32 skids joined
colomon is embarrassed that it took him a minute to find via google because he thought it was Canadian. Ah, life on the border... 22:33
lue rpn: say "ß".uc 22:35
camelia rakudo 45d447, niecza v24-88-g1f87209, pugs: OUTPUT«ß␤»
lue rpn: say "ẞ".lc.uc
camelia pugs: OUTPUT«ß␤»
..rakudo 45d447: OUTPUT«SS␤»
..niecza v24-88-g1f87209: OUTPUT«ẞ␤»
lue
.oO(niecza's the only one that ever got it right)
colomon actually, I believe niecza's wrong there 22:37
rpn: say "ẞ".lc 22:38
camelia niecza v24-88-g1f87209: OUTPUT«ẞ␤»
..rakudo 45d447, pugs: OUTPUT«ß␤»
colomon or maybe not.
.u ẞ
is that an upper-case ß ?
lue colomon: yes 22:39
.u ẞ
colomon niecza has that .lc wrong, then, doesn't it?
lue (your ß's are white-on-black somehow)
colomon weird, I'm just cutting and pasting
lue yes. ẞ.lc should be ß [ and ß.uc should be ẞ IMO :) ] 22:40
I'm actually more concerned about rakudo's inconsistent handling of ß 22:41
colomon no, that's right 22:42
lue r: my $a = "ẞ"; $a .= lc; say $a; $a .= uc; say $a;
camelia rakudo 45d447: OUTPUT«ß␤SS␤»
colomon ẞ is not the standard upper case of ß
lue r: my $a = "ß"; $a .= uc; say $a;
camelia rakudo 45d447: OUTPUT«ß␤»
lue If I come from ẞ, then .lc.uc converts (improperly to me) to SS. Starting with ß and doing .uc however does nothing. 22:43
colomon: it may not be standard but (I think) it's better :)
colomon your opinion does not matter to the Unicode people, alas.
lue has the relatively more sound argument of "if I convert ß to uppercase and then lowercase again it's ss, which is blatant information loss." 22:45
colomon though the two different behaviors thing is a bit odd
that would be why you don't uppercase and then lowercase. If you want lowercase, you just call lowercase directly.
that's why having a titlecase function is important 22:46
lue Like I said, my preferences aside, I'm concerned about rakudo's inconsistency there. 22:47
colomon rn: say "ß".ord; say "ẞ".lc.ord 22:48
camelia rakudo 45d447, niecza v24-88-g1f87209: OUTPUT«223␤22␤»
colomon errr… 22? 22:49
lue rn: say "ß".ord; say "ẞ".lc.ord
jnthn colomon: looks like you may have pasted a control char
camelia niecza v24-88-g1f87209: OUTPUT«223␤7838␤»
..rakudo 45d447: OUTPUT«223␤223␤»
lue rn: say "ß".ord; say "ẞ".lc
camelia niecza v24-88-g1f87209: OUTPUT«223␤ẞ␤»
..rakudo 45d447: OUTPUT«223␤ß␤»
lue files rakudobug on inconsistency 22:51
timotimo i'm worried about the mass amount of $*W.add_constant and .compile_time_value that's going on in Perl6/Pod.nqp
not simply because i feel uneasy trying to modify a block configuration after it fell out of make_config, because it was serialize_object'd and it is made of a list of Pairs whose .key and .value have both been $*W.add_constant'd, too ... 22:52
but also because i think this all ought to be possible without the mass amounts of manual serialization work 22:53
22:53 Moukeddar left
timotimo shouldn't i be able to just put an $*W.add_constant at the very top and it would serialize everything inside properly? 22:56
and doesn't $*W.add_constant(foo bar).compile_time_value lose the reference to the object that's now stored in the world/SC? 22:57
jnthn Don't think so 22:58
Shouldn't; the object is now in the SC
timotimo OK 23:02
what about the rest?
dalek ast: 43db15c | (Solomon Foster)++ | S32-str/sprintf.t:
Test FatRat with %d.
23:03
colomon rn: say sprintf("%30s", 3.1.FatRat ** 27) 23:04
camelia rakudo 45d447, niecza v24-88-g1f87209: OUTPUT«18482713582824.035358817658752815923791711␤»
colomon rn: say sprintf("%50s", 3.1.FatRat ** 27)
camelia rakudo 45d447, niecza v24-88-g1f87209: OUTPUT« 18482713582824.035358817658752815923791711␤»
timotimo jnthn: but i will still have to add all the objects down to the last little Int or Str? 23:05
and there's probably no way to "remove" such an object properly from the serialization context if i make changes?
jnthn timotimo: You only need to add an object if you want a QAST::WVal reference to it. 23:06
timotimo: If you want a complex data structure and just to refer to the top of it, then you can just add the top level object and let the serializer walk it.
timotimo ah!
that's perfect!
i shall rewrite a big part of the Pod.nqp then :)
jnthn I think that serialization stuff didn't exist when tadzik++ first did Pod.nqp.
timotimo that would make sense 23:07
23:09 vk_ left
tadzik it was still A LOT better than pre-nom :) 23:10
dalek kudo/rebuf: 6ab6d8d | jnthn++ | src/ (2 files):
Add Blob, blob8 etc., utf8 etc.

The utf8 type doesn't work yet, due to missing REPR data serialization in VMArray.
jnthn tadzik: For certain :) 23:11
tadzik: I'm not sure it woulda been possible pre-nom :)
OK, tomorrow I work on encode/decode for the new buf stuff, and look at putting back the ops 23:12
tadzik jnthn: well, the plan for pre-nom was to build PAST that'll generate objects in runtime... ;) 23:15
jnthn tadzik: eeek :) 23:16
tadzik it's actually more like ;o than ;)
23:16 grondilu joined, grondilu left, grondilu joined
jnthn Yes, Rakudo's architectur these days makes such things a LOT easier than pre-nom. 23:16
tadzik aye 23:18
timotimo i can only imagine :) 23:20
jnthn pours himself a trashy blonde 23:22
tadzik resits a plushy blonde joke 23:23
"tours himself" wouldn't sound right anyway ;)
23:23 colomon left
jnthn TimToady: Hm, now Buf ~~ Blob, I realized I've got a subbuf method in Blob... 23:24
TimToady: Should subblob be in there, and subbuf in Buf and it gets subblob too? 23:25
tadzik time to geet some proper sleeps. Gnight #perl61 23:26
perl6! even
timotimo there is no real reason to use add_constant($the_type, 'type_new', ...) if i have the object already, right? $*W.add_object should make more sense, no?
jnthn 'night, tadzik
Aye 23:27
timotimo good night tadzik!
i had a visitor to my hackspace today who wore a yapc::eu perl5 shirt 23:31
i told him a bit more about perl6's current status and he built a rakudo.jvm now 23:32
jnthn nice :) 23:33
timotimo i'm not sure i made clear to him how objectively far along rakudo is nowadays 23:37
wow, it still works. that was way too easy. 23:40
time for a real stress test.
invoke() not implemented in class 'NQPMu' - yeah, that's where my luck ends
turns out when you remove a method and call that removed method from somewhere else, that doesn't work very well 23:45
23:45 jeffreykegler left 23:57 Rotwang left