»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:00 Oatmeal joined, Oatmeal left, O47m341 left 00:02 Oatmeal joined, Oatmeal left
RabidGravy properly kebabed 00:04
00:04 leont left
dalek p: 88ef425 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/MultiCacheInstance.java:
Prevent an off-by-one towards -Inf and bail if it can't be cached anyway.
00:07
TimToady it looks like the S05-metasyntax/repeat.t failures are due to the recent regex vs Bool changes, but they seem relatively benign, so I suppose we could just fudge 'em 00:09
00:12 RabidGravy left 00:22 tokuhiro_ joined 00:25 sufrostico left 00:26 [Sno] joined 00:27 tokuhiro_ left
awwaiid Can we hook the evalbot up so it can run on the perl6.org frontpage, enlivening those examples a bit? 00:27
psch awwaiid: i'd rather wait for nqp-js to mature so it can run rakudo and splice that into perl6.org 00:28
awwaiid: 'cause that way we can even offer a REPL that isn't vulnerable in any way
awwaiid ah. wasn't sure if that was anytime soon
psch awwaiid: i don't know if it's anytime soon, i'm just saying that's the less risky and cleaner approach 00:29
awwaiid yeah, complete client side is about as safe as you can get :)
psch i'm not particularly good with JS and also pretty wrapped up in the jvm backend...
awwaiid but any random person can talk to the bot here right?
psch awwaiid: yes, but IRC vs HTTP is a difference, however small 00:30
awwaiid I saw in the github there is some magical flag you compile with or something to get a non-danger-allowed build or something
psch eh, RESTRICTED.setting is something, but it's far from exhaustive
00:31 mattn_jp joined
awwaiid so exposing to The HTTP Internets might be a bit much exposure? Also I think stateful, ie REPL, as you say would be better 00:31
mattn_jp DESTROY method is not implemented yet? 00:32
konobi js is pretty easy =0)
yoleaux 21 Oct 2015 15:14Z <pmurias> konobi: I'm not really sure one I put the various compiled files in the package.json containing directory, how should the files be loaded
21 Oct 2015 15:18Z <pmurias> konobi: should the user npm install -g nqp-js and the use Foo will be translated to 'require("nqp-js/Foo")'?
psch awwaiid: to be fair, "offer a useful experince" is a stronger argument than "be secure server-side" in my mind for something REPL-y on perl6.org
awwaiid mmm. would it be bad if I got a VM, tried to compile with RESTRICTED.setting, and exposed it over http?
mattn_jp m: use nqp; class Foo { submethod DESTROY { say "byebye"; } }; for 1..500 { my $foo = Foo.new(); undefine $foo; }
camelia ( no output )
psch awwaiid: RESTRICTED.setting always gets compiled for you, you just have to invoke nqp to use it instead of CORE.setting
mattn_jp m: use nqp; class Foo { submethod DESTROY { say "byebye"; } }; for 1..500 { my $foo = Foo.new(); undefine $foo; nqp::force_gc() } 00:33
camelia ( no output )
psch mattn_jp: there's no guarantee for when DESTROY gets evoked. afaik, it mostly exists to make Inline::Perl5 easier
awwaiid that's interesting. is there a way to make my rakudo do that?
00:33 sufrostico joined
mattn_jp psch: roast have test for this: github.com/perl6/roast/blob/master...truction.t 00:33
shouldn't be green. i guess 00:34
psch awwaiid: you can supply "--setting=RESTRICTED" to the perl6 script 00:36
awwaiid ooooooo
o/
psch mattn_jp: S12-construction/destruction.t isn't run during make spectest; the file and contained tests exist but aren't tested 00:37
mattn_jp m: class Foo { submethod DESTROY { say "byebye"; } }; for 1..5000 { my $foo = Foo.new(); }
camelia rakudo-moar 4e35e8: OUTPUT«byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byeb…»
00:37 kid51 joined
mattn_jp ah, seems less-er 00:37
psch mattn_jp: there's not yet an actual "these files are perl6.christmas" tag, so for now i'd go with rakduo/t/spectest.data as for "what's perl6?"
mattn_jp psch: okay. thanks. 00:38
awwaiid psch++ # showing me the bricks for me to build my jenga towers
psch awwaiid: just enough rope to hang your foot by :)
awwaiid how I like it
dalek kudo/nom: 37fcfad | coke++ | / (3 files):
use the same extension as the other p6 script
kudo/nom: 05dd709 | coke++ | docs/release_guide.pod:
Revert "use more -correct- unicode"

This reverts commit d70ff74d4cae6ae9d880d33d39fd1edc96c8a385.
kudo/nom: c8fc189 | coke++ | docs/announce/2015.10.md:
Revert "use more -correct- unicode"

This reverts commit a76c349870bbc9f25fb0465d553139a9b1df9903.
kudo/nom: aab87c3 | coke++ | docs/announce/2015.10.md:
pick a name, add changes, people
00:39 AndyDee left
dalek kudo/nom: db80714 | coke++ | tools/build/NQP_REVISION:
[release] bump NQP revision
00:42
kudo/nom: 790a101 | coke++ | docs/release_guide.pod:
Note release name
00:43 BenGoldberg joined 00:47 Ben_Goldberg joined 00:48 BenGoldberg left
dalek kudo/nom: be0f447 | coke++ | docs/release_guide.pod:
add a note about tagging with the version
00:52
00:56 Effilry joined 00:58 Effilry left 01:00 atweiden joined 01:01 Effilry joined 01:04 araujo_ joined 01:05 araujo left
[Coke] t/spec/S32-io/IO-Socket-Async hanging... 01:08
01:09 novapatch joined
TimToady will try to repro here 01:10
tokuhirom_ is there a way to implement grammar like `token foo { . ** $*BODY-LENGTH}`? 01:12
with `token bar { . { $*BODY-LENGTH = $/.Str.Int } }` 01:13
TimToady . ** {$*BODY-LENGTH}
01:15 AlexDaniel left
tokuhirom_ wow! thanks 01:15
01:22 zakharyas left 01:23 tokuhiro_ joined
garu tokuhirom_: dumbbench told me http-useragent is taking an average of 14 seconds to do what furl takes only 0.04 seconds to do O_O 01:25
tokuhirom_ heh
garu it's eating a lot of compile-time I suppose
wonder how to best benchmark the runtime
specially in ways that let us see how to improve things 01:26
01:26 Effilry is now known as FireFly
garu is there a Devel::NYTProf equivalent for Perl 6 already? 01:26
TimToady try the --profile switch 01:27
garu TimToady: thanks! 01:28
01:28 tokuhiro_ left
TimToady [Coke]: didn't hang here... 01:32
[Coke] "normal" S17/async crap here. :| 01:34
01:37 softmoth joined
garu interesting... perl6 --profile tells me it is taking it 0.33 seconds to run (exec + gc + dyn opti) 01:40
tokuhirom_: still one order of magnitude slower than furl, but MUCH better :) 01:41
01:41 softmoth left
tokuhirom_ heh 01:42
garu TimToady++ # native embedded profiler \o/ 01:45
TimToady I didn't do it :) 01:46
garu who did?? I must spread the karma :D
TimToady I think jnthn++ did the original work, but others++ have helped 01:47
garu only now I desperately want to hack on --profile to make it easier to translate between statements and profile entries
which is most definitely way out of my league since I'm just getting started
but I honestly want to help in any way I can 01:48
01:48 tokuhirom_ left
garu even if it is 'filling everyone with stupid questions and writing documentation or small helpers' 01:49
TimToady garu++ 01:50
garu TimToady: any low hanging fruits of particular interest I can try and grab before christmas to let you and the other heroes do the heavy lifting? otherwise I'll come up with something :) 01:52
psch j: my $foo = [ 42 ]; $foo[1] = $foo; say EVAL $foo.perl # grml 01:53
camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤ in block <unit> at EVAL_0:1␤ in block <unit> at /tmp/rZzatL7dRN:1␤␤»
psch there's lots of those around, still :/
probably not LHF though
01:55 pierrot joined, kid51 left
TimToady afk & 01:55
psch m: use Foo::from 01:56
camelia rakudo-moar be0f44: OUTPUT«===SORRY!===␤Could not find Foo::from in any of:␤ file#/home/camelia/.perl6/2015.09-473-gbe0f447/lib␤ inst#/home/camelia/.perl6/2015.09-473-gbe0f447␤ file#/home/camelia/rakudo-inst-1/share/perl6/lib␤ file#/home/camelia/rakudo-inst-1/share/per…»
psch garu: there's only RT #126087 tagged as LHF in RT currently, and iirc i pushed a fix for that some time ago, but neglected to say so in the ticket... 01:57
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126087
01:57 colomon joined
psch garu: that aside, what's interesting to you? 01:57
flussence [Coke]: I gave the spectest a run, t/spec/S32-io/IO-Socket-Async failed but no hangs here...
01:59 kaare_ joined
garu psch: I don't know... I'd like to learn the internals a bit I think. I'm also interested in toolchain stuff and creating tools that help other developers achieve more, faster 02:01
02:02 yeahnoob joined 02:03 raiph left
psch garu: #126375 might be an interesting start into internals 02:03
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126375
konobi pmurias: give me a ping and I can give you a run down.
02:03 dayangkun joined
psch garu: it's about the unimplemented meta operator S 02:03
garu: i wouldn't say you'd need to implement the meta operator, an NYI Exception is probably sufficient at the moment 02:04
garu psch: thanks! would you mind if I nagged you now and again if I bump into issues or have any silly questions? 02:05
psch garu: as an overview, you'd need to find out how the operator is parsed, what kind of AST is built and how to throw an Exception instead
garu: sure, i'll answer questions whenever i'm around. i'm pretty sure many other people readily help as well, though :)
garu psch++ 02:07
psch r: my ::foo $x; 02:08
camelia ( no output )
02:08 noganex_ joined
psch r: my ::foo $x, say $x 02:08
camelia rakudo-moar be0f44: OUTPUT«Method 'gist' not found for invocant of class 'foo'␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-jvm be0f44: OUTPUT«Unhandled exception: java.lang.StackOverflowError␤ in ␤ in ␤ in ␤ in ␤ in ␤ in new␤ in reification-target␤ in from-slurpy-flat␤ in bless␤ in new␤ in new␤ in ␤ in ␤ in ␤ in BUILDALL␤ in bless␤ in new␤ in …»
psch r: my $x, say $x 02:09
camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Any)␤»
psch m: (::foo).say
camelia rakudo-moar be0f44: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol foo␤»
psch j: (::foo).say
camelia rakudo-jvm be0f44: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol foo␤»
psch j: my ::foo $x; say $x 02:10
camelia rakudo-jvm be0f44: OUTPUT«java.lang.StackOverflowError␤␤»
Ben_Goldberg m: my ::foo $x; say $x
camelia rakudo-moar be0f44: OUTPUT«Method 'gist' not found for invocant of class 'foo'␤ in block <unit> at /tmp/uayFm6yfT8:1␤␤»
02:12 noganex left
psch j: my $x = "foo"; say MY::.values.grep(/foo/) 02:12
camelia rakudo-jvm be0f44: OUTPUT«Method 'match' not found for invocant of class 'Mu'␤ in block <unit> at /tmp/QZSHjC6AG_:1␤␤»
psch j: my $x = "foo"; say MY::.values.grep(m/foo/) 02:13
camelia rakudo-jvm be0f44: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/MvOrny03QO:1␤␤»
psch j: my $x = "foo"; say MY::.values.grep({ m/foo/ })
camelia rakudo-jvm be0f44: OUTPUT«Method 'match' not found for invocant of class 'Mu'␤ in block <unit> at /tmp/_XdXm6cnq2:1␤␤»
psch m: my $x = "foo"; say MY::.values.grep({ m/foo/ })
camelia rakudo-moar be0f44: OUTPUT«Method 'match' not found for invocant of class '!UNIT_MARKER'␤ in block <unit> at /tmp/53muFiv0lC:1␤␤»
psch r: my $x = "foo"; say MY::.values.grep: * eq 'foo' # pff
camelia rakudo-moar be0f44: OUTPUT«Use of uninitialized value of type !UNIT_MARKER in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in whatevercode at /tmp/tmpfile:1␤Use of uninitialized value of type EXPORT in string context␤Any of .…»
..rakudo-jvm be0f44: OUTPUT«Cannot call infix:<eq>(Mu, Str); none of these signatures match:␤ ($x?)␤ (\a, \b)␤ (Blob:D $a, Blob:D $b)␤ (Str:D \a, Str:D \b --> Bool:D)␤ (str $a, str $b --> Bool:D)␤ in block <unit> at /tmp/tmpfile:1␤␤»
psch r: my $x = "foo"; say MY::.values.grep: { ( $_ // '' ) eq 'foo' } # i should stop short-handing tests 02:14
camelia rakudo-jvm be0f44: OUTPUT«()␤»
..rakudo-moar be0f44: OUTPUT«(foo)␤»
psch r: my $x; say MY::.keys.grep: { ($_ // '') eq 'x' } 02:15
camelia rakudo-{moar,jvm} be0f44: OUTPUT«()␤»
psch uh, wait, ::.keys is packages and classes..?
r: my $x; say MY::.keys.grep: { ($_ // '') eq '$x' } # well, they agree it exists... 02:17
camelia rakudo-{moar,jvm} be0f44: OUTPUT«($x)␤»
psch so i guess that's something about values, which is a MappyIterator... 02:18
02:18 sufrostico left 02:23 leont joined 02:26 n0tjack joined 02:27 AndyDee joined
Ben_Goldberg m: my $x = 'foo'; say MY::<$x> 02:29
camelia rakudo-moar be0f44: OUTPUT«foo␤»
Ben_Goldberg m: my $x = 'foo'; say MY::.flat.reverse.hash<foo> 02:31
camelia rakudo-moar be0f44: OUTPUT«(Any)␤»
02:31 n0tjack left
Ben_Goldberg m: my $x = 'foo'; say MY::.flat.reverse.hash.keys 02:31
camelia rakudo-moar be0f44: OUTPUT«($=pod !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish @?INC $x $/ $?PACKAGE)␤»
psch m: my $x = 'foo'; say MY::.values.elems.say
camelia rakudo-moar be0f44: OUTPUT«MVMContext representation does not support elems␤ in block <unit> at /tmp/VjKjwzXhBh:1␤␤»
psch m: my $x = 'foo'; say MY::.values.list.elems 02:32
camelia rakudo-moar be0f44: OUTPUT«13␤»
psch j: my $x = 'foo'; say MY::.values.list.elems
Ben_Goldberg m: my $x = 'foo'; say MY::.flat
camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤ in block <unit> at /tmp/4UBvSWsYPb:1␤␤»
rakudo-moar be0f44: OUTPUT«($=pod => [] !UNIT_MARKER => (!UNIT_MARKER) EXPORT => (EXPORT) $_ => (Any) $! => Nil ::?PACKAGE => (GLOBAL) GLOBALish => (GLOBAL) $¢ => Nil $=finish => (Mu) @?INC => (file#/home/camelia/.perl6/2015.09-473-gbe0f447/lib inst#/home/camelia/.perl6/2015.09-473…»
psch j: my $x = 'foo'; MY::.values
camelia ( no output )
02:32 pierrot left
psch j: my $x = 'foo'; MY::.values.list 02:32
camelia ( no output )
psch j: my $x = 'foo'; MY::.values.list.elems
camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤ in block <unit> at /tmp/U86yuVj29c:1␤␤»
Ben_Goldberg m: my $x = 'foo'; say MY::.flat.elems
camelia rakudo-moar be0f44: OUTPUT«13␤»
Ben_Goldberg j: my $x = 'foo'; say MY::.flat.elems
camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤ in block <unit> at /tmp/Ae5m7bP40O:1␤␤» 02:33
Ben_Goldberg r: my $x = 'foo'; say MY::.keys
camelia rakudo-moar be0f44: OUTPUT«($=pod !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish @?INC $x $/ $?PACKAGE)␤»
..rakudo-jvm be0f44: OUTPUT«($=finish ::?PACKAGE @?INC !UNIT_MARKER $/ $x $! GLOBALish EXPORT $¢ $=pod $_ $?PACKAGE)␤»
psch r: my $x = 'foo'; MY::.values.WHAT 02:34
camelia ( no output )
psch r: my $x = 'foo'; MY::.values.WHAT.say
camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Seq)␤»
Ben_Goldberg r: my $x = 'foo'; say MY::.keys.sort
camelia rakudo-{moar,jvm} be0f44: OUTPUT«(!UNIT_MARKER $! $/ $=finish $=pod $?PACKAGE $_ $x $¢ ::?PACKAGE @?INC EXPORT GLOBALish)␤»
dalek kudo/nom: bce31cb | coke++ | docs/release_guide.pod:
reorder instructions
kudo/nom: 3df2630 | coke++ | VERSION:
[release] bump VERSION
Ben_Goldberg r: my $x = 'foo'; MY::{$_}.WHAT.say for MY::.keys.sort 02:35
camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Str)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤»
Ben_Goldberg r: my $x = 'foo'; MY::{$_}.say for MY::.keys.sort
camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤$_␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤»
Ben_Goldberg shrugs. 02:36
psch Ben_Goldberg: it's something about Iterators, that much i know :) 02:37
[Coke] rakudo 2015.10 is up on the download site, and tagged in the repo. I'll send out the announcement in the morning; now's a good time to grab the tarball and make sure I didn't screw anything up. JVM is busted, but moar looks good. 02:38
.ask jnthn When you return, if you can build a tarball of the last moarvm tag we did while you were gone and upload that to the moarvm download site, jnthn++ 02:39
yoleaux [Coke]: I'll pass your message to jnthn.
02:40 pierrot joined
psch r: try { POST { say 0 }; die "foo" }; 02:40
camelia ( no output )
..rakudo-moar be0f44: OUTPUT«0␤»
psch r: try { POST { say 0 }; try die "foo" };
camelia rakudo-{moar,jvm} be0f44: OUTPUT«0␤»
psch r: try { POST { say defined $! }; try die "foo" }; 02:41
camelia rakudo-{moar,jvm} be0f44: OUTPUT«True␤»
psch oh duh, wrong test
r: try { POST { 0 }; die "foo" };
camelia ( no output )
psch hm, that gives "Postcond '{ 0 }' failed" locally 02:42
+ition
02:49 tokuhirom_ joined 02:53 tokuhirom_ left
psch r: my $data = "fo foo fooo"; say $data.match(/fo+/, :nth(2,3)).list 02:55
camelia rakudo-moar 3df263: OUTPUT«(「foo」 「fooo」)␤»
( no output )
psch r: callframe.new.perl.say 02:59
camelia rakudo-moar 3df263: OUTPUT«CallFrame.new(level => 1, annotations => {:file("/tmp/tmpfile"), :line("1")}, my => Map.new("!UNIT_MARKER" => !UNIT_MARKER, "\$!" => Nil, "\$/" => Nil, "\$=finish" => Mu, "\$=pod" => [], "\$?PACKAGE" => GLOBAL, "\$_" => Any, "\$¢" => Nil, "::?PACKAGE" => …»
( no output )
psch r: say callframe.new.starts-with("Callframe") 03:00
camelia rakudo-{moar,jvm} 3df263: OUTPUT«Method 'starts-with' not found for invocant of class 'CallFrame'␤ in block <unit> at /tmp/tmpfile:1␤␤»
psch r: say callframe.new.perl.starts-with("Callframe")
camelia rakudo-jvm 3df263: OUTPUT«java.lang.NullPointerException␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar 3df263: OUTPUT«False␤»
awwaiid psch: laozi.thelackthereof.org:15555/ -- horrible idea in the form of a web repl running with --setting=RESTRICTED but otherwise just an EVAL with a session'd @history 03:06
psch: code is at gist.github.com/awwaiid/3629e6a653a0b6743125 03:09
psch awwaiid: you probably also want some kind of runtime limitation...
or ulimits or something 03:10
awwaiid good idea
psch doesn't know particularly much about server administration
awwaiid yeah. lots of things
well I'll just let y'all crash my server for tonight and will ^C it in the morning 03:11
psch :D
awwaiid++
i'm not gonna touch it though, i'm taking notes on jvm spectest failures
awwaiid stares at the log waiting anxiously for the first hits
okie dkie
gnight! 03:12
labster leont: I think I'd prefer those methods in IO::Spec myself. I suspect that IO::Spec.select is used in exactly 0 modules, and could be moved, but I could be wrong. 03:14
03:14 tokuhiro_ joined
leont labster: I would prefer that too, but it seemed like a bigger change 03:14
labster also sorry about copying the bad design from P5.
skids
.oO(Speaking of things like RESTRICTED I forsee one of the features people will want is the ability to safely run basic rx syntaxes from untrusted sources.)
03:15
leont If that method wasn't documented in S32, I would have changed it. In my head it should change there first
p5 File::Spec has it because it is an extract from ExtUtils::MakeMaker. EUMM has it because it's the second OO project in perl5 ever and people genuinly didn't know better back then 03:16
labster Well, let's just make a PR for that first. Now if I could figure out where to move it...
leont Somewhere in IO?
labster Yes. Somewhere. 03:19
03:19 AndyDee left
psch r: sub f($x is rw) { $x++ }; f(1).say 03:21
labster Hard problem #1: naming things.
camelia rakudo-jvm 3df263: OUTPUT«Cannot assign to an immutable value␤ in sub f at /tmp/tmpfile:1␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar 3df263: OUTPUT«Parameter '$x' expected a writable container, but got Int value␤ in sub f at /tmp/tmpfile:1␤ in block <unit> at /tmp/tmpfile:1␤␤»
leont Just realized today we had all 3 out of the "2" difficult problems in a project in a timespan two days or so, was a funny realization 03:23
psch r: my $a = :b; say $a.key =:= $a.key 03:24
camelia rakudo-{moar,jvm} 3df263: OUTPUT«True␤»
labster leont: IO::Spec::Select.select()? This op is so far down the chain that "no one" should use it.
psch yay, accidental RT fix
labster woo!
03:25 softmoth joined
leont I can think of uses for it (translating between different path syntaxes, which is essentially my use-case too), but its uncommon 03:27
labster I'm already missing the days when you could just push massive changes to perl6/specs.
Oh, right. When you don't want to look up the class yourself / don't want to rewrite that if loop. 03:28
*if block
Ben_Goldberg wonders what an 'if loop' would look like.
psch m: role Foo { }; my $x = 1 but Foo; say $x ~~ Foo 03:29
camelia rakudo-moar 3df263: OUTPUT«True␤»
psch j: role Foo { }; my $x = 1 but Foo; say $x ~~ Foo
camelia rakudo-jvm 3df263: OUTPUT«False␤»
psch j: role Foo { }; my $x = 1 but Foo; say $x.WHAT
camelia rakudo-jvm 3df263: OUTPUT«(Int)␤»
psch j: role Foo { }; my $x = 1 but False; say so $x
camelia rakudo-jvm 3df263: OUTPUT«True␤»
Ben_Goldberg You can use 'r:', you know.
ugexe ouch
labster m: say "hi" if loop { last }
camelia rakudo-moar 3df263: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TlXboSyu8R␤Undeclared routine:␤ loop used at line 1␤␤»
03:30 softmoth left
Ben_Goldberg r: role Foo { }; my $x = 1 but Foo; say $x.WHAT 03:30
camelia rakudo-moar 3df263: OUTPUT«(Int+{Foo})␤»
( no output )
labster if loop NYI
Ben_Goldberg r: role Foo { }; my $x = 1 but Foo; say $x ~~ Foo;
camelia rakudo-jvm 3df263: OUTPUT«False␤»
..rakudo-moar 3df263: OUTPUT«True␤»
psch shrugs
leont labster: I'll probably be offline this weekend, but will adapt my PR if the spec change is approved
psch not the kind of feedback i expected, but i guess i should've moved to a query long ago, actually 03:31
labster leont: We may or may not do a very short deprecation cycle. But this is very much the time to fix minor design decisions. 03:32
leont We'll see 03:34
03:36 Ben_Goldberg left
leont We could really use a Pod::To::Groff and a Pod::To::Console (probably in that order), Pod::To::Text is functional but not exactly up to 2015 standards. 03:36
labster leont: agreed. github.com/perl6/perl6-most-wanted/ 03:37
03:41 zacts joined 03:58 xinming_ joined 04:01 llfourn joined, xinming left 04:04 leont left 04:08 khw left
psch gist.github.com/peschwa/e2b203ffd43e700c6207 04:12
looks like a few failure modes that cause lots of test files to abort and a few wonky things in between 04:13
i'll probably look at "No such attribute '$!signature' for this object" tomorrow
that seems rather important, and sounds familiar enough to give me hope that i can get it worked out... :) 04:14
g'night #perl6 o/
04:20 tokuhirom_ joined 04:25 tokuhirom_ left 04:30 cognominal left 04:31 cognominal joined 04:33 araujo_ left 04:34 araujo joined, araujo left, araujo joined 04:36 skids left 04:44 rbk_ joined
rbk_ I get Unhandled exception: byte code stream corrupt (missing magic string) when I run the code at examples.perl6.org/categories/inter...s/RPN.html 04:51
How can this be fixed?
04:53 n0tjack joined 04:55 atweiden left 04:58 n0tjack left 05:03 FireFly left, Timbus left 05:05 FireFly joined 05:08 Timbus joined
rbk_ I get Unhandled exception: byte code stream corrupt (missing magic string) when I run the code at examples.perl6.org/categories/inter...s/RPN.html 05:08
Any ideas on how this can be fixed? 05:09
05:10 labster_ joined, labster left, labster_ is now known as labster 05:13 softmoth joined 05:17 softmoth left 05:19 yeahnoob left, yeahnoob joined 05:21 tokuhirom_ joined
llfourn where is the normal place to put tmp files needed for tests in t/ 05:22
yoleaux 22 Oct 2015 19:40Z <lizmat> llfourn: commit 3c9c4591cf0f666607dd made my $rx = /./; say <one two three>.grep: { not $rx or so $rx } DWIM
llfourn lizmat: \o/ 05:23
05:23 rbk_ left 05:25 tokuhirom_ left
llfourn m: my $rx = /./; say <one two three>.grep: { not $rx or so $rx } 05:26
camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
llfourn m: my $rx = /t/; say <one two three>.grep: { not $rx or so $rx } 05:27
camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
llfourn m: my $rx = /two/; say <one two three>.grep: { not $rx or so $rx }
camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
llfourn m: my $rx = /two/; say <one two three>.grep: { not $rx or $_ ~~ $rx }
camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
llfourn m: my $rx = /two/; say <one two three>.grep: { $_ ~~ $rx } 05:28
camelia rakudo-moar 3df263: OUTPUT«(two)␤»
05:35 Sqirrel left
llfourn m: my $rx = /t/; say <one two three>.grep: { not $rx or $rx } 05:38
camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
llfourn m: my $rx = /t/; say <one two three>.grep: { not $rx or so $rx }
camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
llfourn m: my $rx = /t/; say <one two three>.grep: { $rx } 05:39
camelia rakudo-moar 3df263: OUTPUT«(two three)␤»
llfourn .tell lizmat it's gotten rid of the calling match on Any. What I orignally wanted was { not $rx.defined or $_ ~~ $rx }. But { not $rx or so $rx } now means { not $_ ~~ $rx or $_ ~~ $rx } # always true 05:40
yoleaux llfourn: I'll pass your message to lizmat.
llfourn .tell lizmat actually the 'so' is redundant it seems { not $rx or $rx } means the same thing. 05:42
yoleaux llfourn: I'll pass your message to lizmat.
06:09 diana_olhovik joined, noganex_ left 06:25 geraud left
[Tux] test 50000 37.880 37.765 06:25
test-t 50000 38.945 38.831
06:28 firstdayonthejob joined 06:34 rurban joined 06:38 Ven joined
dalek oblem_solver_tutorial: 1eed18f | lichtkind++ | chapter/text0.md:
moving paragraph 6 to third position
06:40
oblem_solver_tutorial: a7baf3d | lichtkind++ | table-of-content.md:
updating toc
06:42
oblem_solver_tutorial: c24cc7c | lichtkind++ | / (3 files):
more toc content
06:50
06:56 darutoko joined, abraxxa joined 07:01 softmoth joined 07:02 domidumont joined, abraxxa left
dalek oblem_solver_tutorial: daf5af9 | lichtkind++ | / (2 files):
preparing the next bits
07:04
07:05 softmoth left 07:09 rindolf joined 07:16 Ven left 07:17 Ven joined 07:18 Ven left 07:20 n0tjack joined 07:21 FROGGS joined 07:24 firstdayonthejob left, n0tjack left 07:27 Ven joined 07:34 ely-se joined
Hotkeys gonna attempt to build w vs 2010 07:35
07:37 aborazmeh joined, aborazmeh left, aborazmeh joined 07:38 zaucker_ left 07:50 grondilu left
Hotkeys oh hey 07:51
it actually worked 07:52
FROGGS \o/ 08:00
yoleaux 22 Oct 2015 20:22Z <nine> FROGGS: github.com/rakudo/rakudo/commit/416b5aa612
FROGGS nine++
08:04 ribasushi left 08:06 Ven left
itz_stmuk Niceville++ 08:09
08:09 ollej left
TimToady is the next one Naughtyville? 08:09
I suppose December's should be NorthPole 08:10
08:11 pollei left 08:14 rindolf left, ribasushi joined 08:16 Ven joined 08:17 duncan_dmg joined 08:21 ambs left 08:22 ambs joined 08:23 abaugher left
itz_stmuk my favourite release naming was the xemacs 21.4.x oxymoron series 08:23
en.wikipedia.org/w/index.php?title...d=21248134
08:23 abaugher joined 08:24 bpmedley left
itz_stmuk "Honest Recruiter" "Reasonable Discussion" 08:24
08:25 RabidGravy joined 08:33 rindolf joined 08:37 szabgab joined
szabgab p6: use Test; plan 1; ok 1; 08:37
yoleaux 18 Oct 2015 10:20Z <RabidGravy> szabgab: you might find something like gist.github.com/jonathanstowe/c569...f13cb43abd is even more idiomatic
18 Oct 2015 10:21Z <RabidGravy> szabgab: but otherwise yeah great :)
camelia rakudo-moar 3df263: OUTPUT«1..1␤ok 1 - ␤»
szabgab p6: use Test; plan 1; diag "hello"; ok 1;
camelia rakudo-moar 3df263: OUTPUT«1..1␤# hello␤ok 1 - ␤»
08:38 virtualsue joined 08:39 espadrine_ joined
szabgab strange 08:40
running a tests script using prove -v -e"perl6 -Ilib" does not show the diag message
running directly perl6 ... shows the diag message
but my rakudo is a few weeks old, so who know? 08:41
moritz szabgab: sounds more like a question of what "prove" does 08:46
08:47 aborazmeh left 08:48 actualeyes_ joined 08:49 softmoth joined
RabidGravy I'm sure I have tests that do show diags 08:50
let's look
08:52 pyrimi___ left
llfourn speaking of tests, what is the convention for tmp files needed during testing? 08:52
do i put them under $*TMPDIR is that what it's for? and what the best way to make sure they get deleted if something bad happens in the test? 08:53
llfourn has never released a perl 5 module 08:54
08:54 softmoth left
RabidGravy END { ... } 08:54
delete the files in there
llfourn kk thanks :)
RabidGravy szabgab, yeah the github.com/jonathanstowe/Audio-Snd...structor.t does a diag that shows up in the outpur 08:56
output
szabgab the Test in Perl 6 print the diag message to STDOUT
while Test::More in Perl 5 prints it to STDERR 08:57
El_Che hi szabgab, coming to fosdem this time? 08:58
szabgab El_Che: not likely, though I'd love to
08:58 duncan_dmg left
El_Che szabgab: you need to find a client in the neighborhood between now and then :) 08:58
08:58 pyrimidine joined
szabgab El_Che: that would be perfect :) 08:59
09:00 duncan_dmg joined
RabidGravy m: use NativeCall; my $b = CArray[num32].new; $b[10] = 0 09:01
camelia rakudo-moar 3df263: OUTPUT«This type cannot unbox to a native number␤ in method <anon> at lib/NativeCall/Types.pm:113␤ in block <unit> at /tmp/JBITit54Lc:1␤␤»
RabidGravy that's a new one
szabgab moritz: so it seesm prove let's throught the diag message of perl 5 that was printed to STDERR, but because in Perl 6 it is printed to STDOUT, prove hides it
09:01 telex left 09:02 espadrine_ left
RabidGravy szabgab, but it does in the code I posted above: 09:04
prove -v -e 'perl6 -Ilib' t/005-constructor.t
t/005-constructor.t ..
# Testing with libsndfile-1.0.25
09:07 kjs_ joined
szabgab RabidGravy: is that the prove that comes with perl 5 Test::Harness? 09:08
RabidGravy prove --version
TAP::Harness v3.35 and Perl v5.20.3
so yep
09:09 telex joined
szabgab could you please run the test with perl6 -Ilib .... > out and check if the diag is printed to stdout or stderr ? 09:09
09:11 [Sno] left 09:12 [Sno] joined
RabidGravy stdout 09:14
moritz szabgab: then maybe we should change Test.pm to print to STDERR 09:15
szabgab I ran prove -v -e "perl6 -Ilib" t/005-constructor.t and I don't see the output
RabidGravy okay that's weird
szabgab prove --version TAP::Harness v3.35 and Perl v5.22.0
on OSX 09:16
lizmat .botsnack 09:18
yoleaux :D
synbot6 om nom nom
yoleaux 05:40Z <llfourn> lizmat: it's gotten rid of the calling match on Any. What I orignally wanted was { not $rx.defined or $_ ~~ $rx }. But { not $rx or so $rx } now means { not $_ ~~ $rx or $_ ~~ $rx } # always true
05:42Z <llfourn> lizmat: actually the 'so' is redundant it seems { not $rx or $rx } means the same thing.
09:18 Woodi left
szabgab anyway, how do I print to STDERR? 09:18
lizmat szabgab: in Test.pm, line 38, is where is determined that Test.pm prints to STDOUT 09:20
09:21 petercommand left, zostay left, gonz_ left, zostay joined, gonz_ joined
RabidGravy szabgab: '$*ERR.say: "foo" 09:22
lizmat note "foo"
szabgab Oh, thanks. I see 'note' goes to STDERR and diag goes to STDOUT 09:24
RabidGravy: and thanks that too
lizmat I get 2 spectest failures with Test.pm sending all its output to STDERR 09:25
and they're both tests specifically checking err/out output 09:26
so, fwiw, I don't see a reason why Test.pm would not send all its output to STDERR
if there is a good reason for that change... 09:27
09:28 espadrine_ joined
szabgab lizmat: let me check that perl 5 diag again 09:28
09:29 petercommand joined, Psyche^ joined
szabgab lizmat: just checked again in p5 Test::More diag goes to STDOUT and not goes to STDERR when running directly, though as I recall that behaviour also depends on some environment variables 09:32
so it would make sense to default to the same p6 Test 09:33
lizmat well, I'm not sure doing the same as p5 would always be the best :-) 09:34
09:34 Psyche^_ left
lizmat personally, I've been bitten by diag sending tou STDOUT in p5 09:34
*to
so I would like to hear the reason why it is a good idea to send diag output to STDOUT 09:35
szabgab ok, * :)
lizmat and the rest to STDERR :-)
09:36 Woodi joined
szabgab what is the difference between diag and note in p6 ? 09:37
lizmat note is core, diag is exported by Test
m: note "look ma, no Test"
camelia rakudo-moar 3df263: OUTPUT«look ma, no Test␤»
RabidGravy and the '#' 09:38
lizmat m: diag "look ma, no Test"
camelia rakudo-moar 3df263: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u_ytEkSXdi␤Undeclared routine:␤ diag used at line 1␤␤»
lizmat m: use Test; diag "look ma, no Test"
camelia rakudo-moar 3df263: OUTPUT«# look ma, no Test␤»
szabgab oh, so it is just a regular print to STDERR ?
lizmat m: use Test; diag "look ma\n newlines"
camelia rakudo-moar 3df263: OUTPUT«# look ma␤# newlines␤»
lizmat note is just say on STDERR
diag prefixes every line with "# " and writes on STDERR 09:39
RabidGravy note can be thought an alternative to warn that doesn't print the context
szabgab oh, then it is not a good replacement for my needs :)
AFAIK TAP mandates that "# "
RabidGravy yeah
09:40 yeahnoob left
szabgab OK, I don't know 09:42
I can use note "# bla" for my purposes now. 09:43
09:46 domidumont1 joined 09:47 domidumont left
RabidGravy grr, github flaky this morning 09:51
Ven .u ⍝ 09:55
yoleaux U+235D APL FUNCTIONAL SYMBOL UP SHOE JOT [So] (⍝)
09:58 pochi_ joined
pink_mist www.youtube.com/watch?v=MzJ0CytAsec this is perl5 related, but pretty funny nonetheless :P 09:59
09:59 dj_goku joined 10:01 mathw_ joined, krakan_ joined, mls_ joined, japhb_ joined, psch_ joined 10:03 El_Che_ joined, lucs_ joined, ilmari_ joined, preyalone_ joined, quuxman_ joined
ely-se .u 🕴 10:04
yoleaux No characters found
ely-se Bots that don't know about MAN IN BUSINESS SUIT LEVITATING suck. 10:05
10:05 Ven left
ely-se no botsnack for you 10:05
synbot6 om nom nom
10:06 pecastro_ joined, Ven joined, ggherdov_ joined 10:07 rindolf left, pecastro left, ggherdov left, dj_goku_ left, ugexe left, lucs left, psch left, preyalone left, Guest36282 left, woodruffw left, spacebat left, krakan left, vytas left, pochi left, japhb left, quuxman left, clkao left, ben left, Bucciarati left, mathw left, El_Che left, mls left, skaji left, ilmari left, raydiak left, ilmari_ is now known as ilmari
lizmat synbot6 is really like the cookie monsters, it will eat any botsnack 10:08
synbot6 om nom nom
10:08 woodruffw joined, skaji joined
pink_mist well yoleaux wasn't going to get it, synbot6 might as well grab it :P 10:08
10:08 ben joined
ely-se pink_mist: what is "it"? 10:08
10:08 szabgab left
pink_mist the snack 10:09
ely-se the botsnack?
synbot6 om nom nom
pink_mist doesn't want to get synbot6 all over him, so is very carefully avoiding saying botsnack
10:09 xxx joined, xxx is now known as Guest99329
pink_mist 0_o that one didn't register :P 10:09
10:10 Bucciarati joined
lizmat maybe synbot6 has no appetite for botsnack anymore ? 10:11
synbot6 om nom nom
lizmat hmmm...
ely-se inb4 synbot6 vomits 10:12
10:13 ggherdov_ is now known as ggherdov 10:14 raydiak joined, vytas joined, virtualsue left, rindolf joined
lizmat m: sub a(Int:D() $a) { dd $a }; a "42" # type smileys not complete first citizen yet :-( 10:14
camelia rakudo-moar 3df263: OUTPUT«Type check failed in binding $a; expected Int but got Str␤ in sub a at /tmp/bIORsmiOVK:1␤ in block <unit> at /tmp/bIORsmiOVK:1␤␤»
RabidGravy right I think that's fixed my native unboxing thing 10:15
lizmat m: sub a(Int() $a) { dd $a }; a "42" # works ok without the smiley
camelia rakudo-moar 3df263: OUTPUT«Int $var = 42␤»
10:15 ugexe joined 10:16 spacebat joined, preyalone_ is now known as preyalone 10:17 clkao joined
FROGGS lizmat: handling in params is not done yet, because the param-handling used to cheat in the past 10:19
lizmat: otherwise we would not have had smileys there at all 10:20
lizmat aha, I guess that's also the reason it's so hard to get "use parameters" and "use invocant" to work
should I rakudobug it ?
FROGGS yeah :/ 10:21
(I was hoping to get the ticket count down to 2**10)
10:27 abraxxa joined 10:29 Ven left, leont joined, pmurias joined
lizmat FROGGS: #126433 :-( 10:30
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126433
lizmat
.oO( starting to feel more like the masakbot every day )
on a more humorous note: foksuk.nl/#fd6176c93539fec48b33c273b592a166 10:31
"Fokke & Sukke will not switch to Windows 10", "Because with XP, you're not botherd..." "by security updates all of the time" 10:32
nine That's almost too realistic to be funny :)
dalek osystem: 053c722 | (Tokuhiro Matsuno)++ | META.list:
Added WebSocket.pm
10:34
10:34 TEttinger left
nine .tell psch My "doesn't even warrant a comment" was highly sarcastic :) In fact I already have the comment you suggested in there. 10:35
yoleaux nine: I'll pass your message to psch.
ely-se lizmat: dat monitor
pink_mist is always unsure whether to actually make such a comment or just remain quiet; commenting that something doesn't warrant a comment is after all a comment in itself, thereby defeating the purpose of the comment 10:36
lizmat
.oO( I'm not gonna comment on that )
10:37
10:37 softmoth joined
pink_mist lizmat: :P 10:38
ely-se # no comment 10:39
huf i have no words
llfourn m: role A { multi method a(Str $a) {nextwith($a.Int)}}; class B is A { multi method a(Int $a) { say "win" } }; B.a("1") 10:41
camelia ( no output )
llfourn m: role A { multi method a(Str $a) {nextwith($a.Int)}}; class B is A { multi method a(Int $a) { say "win" } }; say B.a("1")
camelia rakudo-moar 3df263: OUTPUT«Nil␤»
llfourn why nextwith no work there?
10:42 softmoth left
llfourn m: role A { multi method a(Str $a) {nextwith($a.Int)}}; class B does A { multi method a(Int $a) { say "win" } }; say B.a("1") #fix does 10:42
camelia rakudo-moar 3df263: OUTPUT«Nil␤»
lizmat m: role A { multi method a(Str $a) {samewith($a.Int)}}; class B does A { multi method a(Int $a) { say "win" } }; say B.a("1") 10:43
camelia rakudo-moar 3df263: OUTPUT«Cannot call a(A: Int); none of these signatures match:␤ (B $: Int $a, *%_)␤ (B $: Str $a, *%_)␤ in method a at /tmp/DcdfCgAq4x:1␤ in block <unit> at /tmp/DcdfCgAq4x:1␤␤»
llfourn learns about samewith 10:44
lizmat m: role A { multi method a(Str $a) {self.a($a.Int)}}; class B does A { multi method a(Int $a) { say "win" } }; say B.a("1")
camelia rakudo-moar 3df263: OUTPUT«win␤True␤»
lizmat I think, although I thought up samewith, it is really a bad alternative for doing self.name_of_method(alternate params) 10:45
the latter is much clearer, I thonk
*think
llfourn never understood the difference between callwith nextwith and now...samewith
DrForr What, no previouswith Or am I courting fire here? :) 10:46
RabidGravy call* returns to the caller next* doesn't
llfourn lizmat: I think self.a or just $.a is fine I just knew about all these "withs" that I thought it might be idiomatic to use one :P 10:47
RabidGravy for me, self.meth(<different args>) is a common pattern in multis 10:48
10:49 ely-se left
RabidGravy not just in Perl 6 I might add 10:49
llfourn RabidGravy: yes it's a good place to convert things into better suited args to call the main method
10:51 rurban left
dalek p: 78a6682 | (Pawel Murias)++ | src/QAST/C (2 files):
Make --target=ast dump pre_deserialize and post_deserialize code for CompUnits.
10:56
p: ba972b6 | (Pawel Murias)++ | src/QAST/ (3 files):
Dump .fallback for VarWithFallback when doing --target=ast.

Generalize printing out of tagged children nodes.
ilmari a 10:57
bah
FROGGS m: sub a(Int:D() $a) { dd $a }; a Int 11:05
camelia rakudo-moar 3df263: OUTPUT«Parameter '$a' requires an instance of type Int, but a type object was passed. Did you forget a .new?␤ in sub a at /tmp/7TJkatOmU2:1␤ in block <unit> at /tmp/7TJkatOmU2:1␤␤»
FROGGS this could do the DefiniteHOW type check in future... 11:06
I mean, it does the typecheck anyway I guess, but it specialcases the smilies, which is what we dont need anymore 11:07
RabidGravy right, off shopping :-\
play nicely
FROGGS but changing it means changing the signature binder and other stuff
FROGGS turns the music to level EXTRALOUD 11:08
FROGGS shouts and throws LEGO™
DrForr . o ( Everything is AWESOME )
11:10 spider-mario joined
nine DrForr: noooooooooo! Now it won't stop for the rest of the day 11:10
DrForr Having done his evil deed for the day...
11:11 RabidGravy left 11:14 ely-se joined 11:15 aimicheng joined 11:16 aimicheng left 11:21 lucasb_ joined 11:22 Ven joined
lucasb_ hello people. is there a moarvm tarball anywhere? 11:23
rindolf lucasb_: what kind of tarball? 11:24
yoleaux 20 Oct 2015 20:12Z <[Coke]> rindolf: - the description says S(1112), but you're looking at 11**12?
20 Oct 2015 20:34Z <[Coke]> rindolf: - oh, because your copy of the problem statement is missing formatting.
lucasb_ rindolf: the 2015.10 monthly release 11:25
rindolf lucasb_: ah, source?
lucasb_ yes
lizmat afaik, the tarball could not be uploaded because of jnthn's well deserved holiday 11:26
[Coke]++ did tag the release, so a tarball will become available sometime next week
lucasb_ oh, ok. thank you, lizmat 11:27
11:32 Skarsnik joined
pink_mist github.com/MoarVM/MoarVM/archive/2015.10.tar.gz isn't what you want? 11:33
FROGGS pink_mist: no, that's not quite it 11:34
pink_mist huh, ok
FROGGS the adhoc created zip file from github tags might contain other data 11:35
this is not the tarball the release manager created
moritz should show up here: moarvm.org/releases/
11:37 tokuhir__ joined 11:39 dayangkun left
Skarsnik Hello! I tried to bind a C lib with NativeCall. I have issue casting a pointer to a struct. I use nativecast but it does not give me proper result pastebin.com/PDFMqCxK (the equivalent C code, give me a length of 1 for the vector) 11:41
11:41 tokuhir__ left 11:43 kid51 joined
moritz Skarsnik: why not declare gumbo_parse to return a gumbo_output_s in the first place? 11:43
Skarsnik does that work?
but etheir way I will need to use nativecast to get the other fields in goutput 11:44
gfldex Skarsnik: please file a report to [email@hidden.address] 11:45
11:45 __Greg joined, __Greg left
FROGGS gfldex: why do you thing is it a rakudobug? 11:45
11:45 ilbelkyr left
FROGGS Skarsnik: if I read it right in line 29, the errors member is inlined 11:46
11:46 ilbelkyr joined
FROGGS Skarsnik: if that is correct you need to use the HAS keyword in line 35 11:46
Skarsnik Oh right. I saw what you mean. Does that mean that I can replace stuff like node_t with node_s and nativecall will do the cast? 11:49
FROGGS Skarsnik: yes 11:50
11:51 kid51 left
Skarsnik hm, still does not work. and it change the nativesize of g_ouput 11:55
11:56 rindolf left
Skarsnik Interesting the C size of the goutput struct is 20 (in a C prog) 11:58
FROGGS Skarsnik: if nativecizeof reports a different size, then you declared the CStruct wrong 12:00
12:00 domidumont joined
FROGGS Skarsnik: and because that is important I usually test this; see the test 00-* github.com/FROGGS/p6-XML-LibXML/tree/master/t 12:01
Skarsnik well that weird printf("GV: %d\n", sizeof(GumboVector)); 12:02
printf("GO: %d\n", sizeof(GumboOutput)); I get 12 and 20. and I get this size if I use has (for GO), but with HAS it's 28.
12:03 domidumont1 left 12:05 llfourn left
Skarsnik github.com/google/gumbo-parser/blo...rc/gumbo.h (the original header) 12:05
FROGGS uhh 12:07
Skarsnik: don't use uint
Skarsnik I am surprised nobody write a small thing to create nativecall stuff from an header
FROGGS use uint32 if it is uint in C
moritz Skarsnik: the reason is that it's not small :/
FROGGS because it won't be a small thing thanks to macros and #includes :o)
Skarsnik ooh 12:08
moritz one could always use a C preprocessor that expands the macros and #includes
still, requires a full C parser
Skarsnik It was the uint ><
FROGGS like clang
moritz and C isn't simple to parse
12:09 llfourn joined
Skarsnik I don't know, just parsing definition after the preprocessor does not look so hard ~~ 12:09
DrForr And once you've undone the C macros there's a good chance that the structure that *looked* simple bears no relation to the code you see.
I've looked into it :/ 12:10
abraxxa use llvm/clang?
leont m: $*OUT ~~ :t 12:11
camelia rakudo-moar 3df263: OUTPUT«Cannot find method 'isatty': no method cache and no .^find_method␤ in block <unit> at /tmp/rW4wFP2spA:1␤␤»
leont Smells like a bug to me, though probably one that needs an nqp implementation :-/
Skarsnik FROGGS, should nativecall doc be updated to include uint and the bool type (exist in C99)? 12:12
But thx for the help people :)
FROGGS Skarsnik: yes, we should update it
[Coke] prepares to send out the email but checks backlog first... 12:13
Skarsnik I put int8 for bool but... apparently it depend on the compilateur ~~ 12:14
12:15 tokuhir__ joined
pink_mist hmm, I thought C didn't have a bool type .. or has that changed in recent years? 12:15
12:16 JimmyZ joined
Skarsnik It's in C99 in stdbool.h 12:17
lizmat I wonder how hard it would be to make a method on Regex that would return a Str if the regex consists of characters that can be matched directly
/abc/ -> abc 12:18
llfourn /'abc'/ -> abc # ?
lizmat /^abc/ -> '' # because of ^
dalek kudo/nom: c8c4946 | coke++ | docs/announce/2015.10.md:
fix a whoopso

This now matches the announcement sent out.
moritz lizmat: iirc jnthn++ did a talk on inverting regexes with evil meta programming tricks
lizmat so we could optimize things like split /abc/
pink_mist lizmat: Higher Order Perl (for perl5) has some instructions for how to create an iterator for all the strings that would match a given regex :P 12:19
llfourn m: say 'abc' ~~ /abc/
camelia rakudo-moar 3df263: OUTPUT«「abc」␤»
leont How does a closed method on Tap sound? To check if you're Tap is still alive… 12:20
Or is that a sign I'm abusing Supplies?
12:21 rindolf joined
lucasb_ [Coke]: are talking about the release announce email? have you sent it already? I think I have a comment... 12:21
lizmat leont: .tap takes a :closing param that will be executed when the tap closes
moritz leont: no idea :-)
nine leont: yes, as far as I could find out there never has been a isatty method. Except maybe for some parrot thing
lizmat leont: maybe that would be better ? 12:22
nine: maybe we should make .t a NYI
FROGGS lizmat: a method on Regex would be too late me thinks
nine lizmat: yes. It is on the xmas list btw.
leont Would be cumbersome. What I really need is $tap.close if $tap.defined and not $tap.closed
colomon parrot definitely had isatty 12:23
yoleaux 22 Oct 2015 08:09Z <lizmat> colomon: is very-broken-combinations in List still needd ?
22 Oct 2015 13:08Z <lizmat> colomon: I've removed the code with 987cdeec38
FROGGS lizmat: but we can do that when optimizing a regex's AST
nine libuv and therefore moar already provides the needed information. It's just not used for an isatty implementation but for setting up STDOUT/STDERR.
lizmat FROGGS: it was just a thought for a possible opt
FROGGS lizmat: aye
lizmat nine: afaik, brrt has looked into that, and found it to be less than trivial 12:24
leont Yeah, this shouldn't be hard to implement if one's familiar with moar/jvm 12:25
Now my harness can't differentiate between outputting to file and outputting to console, defaulting to the latter. It's not quite optimal.
lizmat yup 12:26
12:26 softmoth joined
Skarsnik FROGGS, enums are assumed int (int32)? I saw some int8 with a quick look in your libxml binding 12:26
pink_mist NYI means Not Yet Invented?
moritz yes 12:27
pink_mist cool
colomon Not Yet Implemented
pink_mist ah, that works too :P
[Coke] lucasb_: you missed your window.
what was your comment?
FROGGS Skarsnik: I don't know how the enum rules are yet...
Skarsnik from what I read, C standard said must fit in a int at least. but the compilo is free to change for a smaller thing if all value fit.. 12:29
12:30 Ven left, softmoth left
lucasb_ [Coke]: oops, sorry. I thought since the releases are for monthly users and they require moarvm 2015.10, but there isn't one right now 12:30
so, the user can download the tarballs, but they will not be able to build it until a moar tarball is released. but ok, it's harmless, we can wait :) 12:31
nine leont: use NativeCall; sub isatty(int) is native(Str) returns int { * }; say isatty(0) # just a thought
12:32 Ven joined
leont nine: is there a way to get the file descriptor out of a handle? 12:33
lucasb_ [Coke]: btw, thank you for the release! 12:35
12:36 psch_ is now known as psch
lizmat leont: if we can, it should be through the $!PIO 12:36
12:37 risou left
lizmat but I don't know of any way 12:37
leont The real solution is $!PIO.isatty anyway 12:39
12:40 andreoss joined
andreoss m: use fatal; 0 == Nil 12:41
camelia rakudo-moar 3df263: OUTPUT«WARNINGS:␤Useless use of "==" in expression "0 == Nil" in sink context (line 1)␤Use of Nil in numeric context in block <unit> at /tmp/bcogLD5gvx:1␤»
andreoss m: use fatal; say 0 == Nil 12:42
camelia rakudo-moar 3df263: OUTPUT«Use of Nil in numeric context in block <unit> at /tmp/70PDFwiScC:1␤True␤»
andreoss how do i fatalize warnings?
[Coke] lucasb_: there is a tagged moarvm as was mentioned earlier. 12:44
but if you're running the rakudo 2015.10 release, it doesn't need the moarvm tarball - it needs the moarvm tag in the git repo.
you only need the moarvm tarball if you're building it yourself from the vm up. (rather than from rakudo down). 12:45
(so, macports moarvm needs the tarball, e.g.) 12:46
lucasb_ [Coke]: you are right. I always built the 3 tarballs separated, moar->nqp->rakudo. I forgot about the git usage.
gfldex m: sub morebetter(Any:D $item){ $item ~ ' is better' }; my @l = 1,2,3; @l>>.=&morebetter; @l.perl.say; 12:55
camelia rakudo-moar c8c494: OUTPUT«["1 is better", "2 is better", "3 is better"]␤»
12:55 rindolf left 12:59 ambs left
psch r: { say $^a }.assuming("52")() 13:00
yoleaux 10:35Z <nine> psch: My "doesn't even warrant a comment" was highly sarcastic :) In fact I already have the comment you suggested in there.
camelia rakudo-moar c8c494: OUTPUT«52␤»
..rakudo-jvm c8c494: OUTPUT«java.lang.RuntimeException: No such attribute '$!signature' for this object␤ in block <unit> at /tmp/tmpfile:1␤␤»
13:00 ambs joined
psch the jvm RTE is because of a missing decont, from the looks of it 13:00
...but why is moar fine with that? :S
13:01 AndyDee joined, sitaram left 13:02 Oatmeal joined
FROGGS psch: because moar knows, and can do whatever the user intended to do 13:04
psch FROGGS: uhh, knows what? knows to add deconts when neccessary? 13:06
FROGGS some stuff just works without a (for jvm/parrot) needed decont... dunno why axactly 13:08
exactly*
psch hrm, that's a bit discouraging 13:09
i mean, it probably means we should port that 13:10
andreoss where the warning handling is described?
psch and *that* is discouraging :P
13:11 yakudza joined
psch i don't have any hope for finding out where that decont magic happens though i think 13:13
13:14 sufrostico joined
masak evenin', #perl6 13:14
llfourn o/ masak
psch hi masak o/ 13:15
pmurias how do I call a method from a parent class?
masak: hi
gfldex m: multi foo(){}; say &foo.^methods.grep: *.defined; 13:16
camelia rakudo-moar c8c494: OUTPUT«(<anon> <anon> <anon> soft <anon> <anon> yada perl <anon> onlystar candidates unwrap wrap <anon> <anon> package leave <anon> <anon> cando <anon> <anon> <anon> <anon> multi <anon> <anon> add_phaser phasers assuming WHY set_why perl of <anon> returns fire_ph…»
gfldex m: multi foo(){}; say &foo.gist; say &foo.^name
camelia rakudo-moar c8c494: OUTPUT«sub foo (;; Mu | is raw) { #`(Sub|59059472) ... }␤Sub␤»
gfldex .gist seams to know the name of &foo. How do I get hold of it? 13:17
psch m: multi foo(){}; say &foo.VAR.name
camelia rakudo-moar c8c494: OUTPUT«foo␤»
psch i think there's another way too
gfldex that should do 13:18
llfourn m: my $f = sub foo(){}; say $f.name;
camelia rakudo-moar c8c494: OUTPUT«foo␤»
psch m: multi foo(){}; say &foo.name
camelia rakudo-moar c8c494: OUTPUT«foo␤»
psch yeah :P
llfourn :D
psch that's probably better
pmurias ah found that
llfourn masak: do you remember me asking about prebinding self to routines like in JS? irclog.perlgeek.de/perl6/2015-10-18#i_11394077
you can do it! 13:19
m: lass A { method a($a) { $a.say; } }; my $a = A.new; my &bound = $a.^find_method('a').assuming($a); bound('cool beans')
camelia rakudo-moar c8c494: OUTPUT«5===SORRY!5===␤Undeclared name:␤ A used at line 1␤Undeclared routine:␤ lass used at line 1. Did you mean 'last'?␤␤Other potential difficulties:␤ Useless declaration of a has-scoped method in mainline (did you mean 'my method a'?)…»
llfourn m: Class A { method a($a) { $a.say; } }; my $a = A.new; my &bound = $a.^find_method('a').assuming($a); bound('cool beans')
camelia rakudo-moar c8c494: OUTPUT«5===SORRY!5===␤Undeclared names:␤ A used at line 1␤ Class used at line 1␤␤Other potential difficulties:␤ Useless declaration of a has-scoped method in mainline (did you mean 'my method a'?)␤ at /tmp/uNcqCVL9F6:1␤ ------> …»
llfourn m: class A { method a($a) { $a.say; } }; my $a = A.new; my &bound = $a.^find_method('a').assuming($a); bound('cool beans')
camelia rakudo-moar c8c494: OUTPUT«cool beans␤»
llfourn apologises for the spam
psch FROGGS: that one decont brings 6 spectest files to PASS and lets two other files fail differently
13:20 lucasb_ left
llfourn thanks to psch++ for revlealing assuming to me 13:20
13:20 raiph joined
dalek kudo/nom: 9bc5a0a | peschwa++ | src/core/Block.pm:
Add a missing decont.

Apparently moar does some magic which makes us not need this, but jvm doesn't.
13:21
psch two files have about 40 failures with "Expected zip zop got zop zip" vOv 13:23
S32-array/adverbs.t and S32-hash/adverbs.t
13:23 Ven left
timotimo tokuhiro++ # writing a websocket server library before i could finish mine, yay! 13:24
psch r: my %h; { %h{}:zip:zop; CATCH { default { .unexpected.perl.say } } } 13:25
camelia rakudo-jvm c8c494: OUTPUT«["zop", "zip"]␤»
..rakudo-moar c8c494: OUTPUT«["zip", "zop"]␤»
psch not sure if that should be thrown sorted or if the test should sort before comparing
pink_mist sorted? I'd argue that it should be in the same order they were encountered 13:27
(which is the same order as sorted order in this case)
13:28 aborazmeh joined, aborazmeh left, aborazmeh joined
FROGGS psch: is that also such a missing-decont candidate? 13:28
src/core/Baggy.pm: my $iter := nqp::iterator(nqp::getattr(%!elems,Map,'$!storage'));
note, I'm doing: grep -r -P 'nqp::getattr(|_s|_i|_n)\((?!nqp::decont)(?!self)' src/core/* 13:30
psch FROGGS: i have no FAILs in any test file with "bag" in its name 13:31
FROGGS mkay
psch i've pasted a gist for the spectest summary with comments ealier today... 13:32
gist.github.com/peschwa/e2b203ffd43e700c6207
timotimo uh oh
i may have just killed the 2015.10 tag from the moarvm repository
psch "No such attribute '$!signature'" is what i fixed with the decont just now
timotimo [Coke]: you might need to re-push it :o
FROGGS /o\ 13:33
yep, it is gone
psch m: MY::.values.list.elems # one of the more interesting jvm failures... 13:34
camelia ( no output )
psch j: MY::.values.list.elems # one of the more interesting jvm failures...
camelia rakudo-jvm c8c494: OUTPUT«java.lang.NullPointerException␤ in block <unit> at /tmp/kUy3vBFHP3:1␤␤»
psch (also grr muscle memory...)
FROGGS timotimo: I repushed [Coke]'s tag: github.com/MoarVM/MoarVM/releases/tag/2015.10
psch and there's three "expected Positional but got Seq" and three "this Seq has already been iterated" 13:35
hm, i think X::AdHoc instead of X::Paramter::RW is next though 13:36
13:37 spider-mario left
[Coke] timotimo: how the hell can you kill a tag? 13:38
psch r: multi f(Int:D $) { "Int:D" }; multi f(int $) { "int" }; say f 5 13:39
camelia rakudo-{moar,jvm} c8c494: OUTPUT«int␤»
13:39 skids joined
psch oh, they agree 13:39
that's curious
timotimo [Coke]: in the github interface for releases and tags 13:40
i clicked on the 2015.10 release and there was a nice, shiny "delete" button
it said "this will delete the information for this tag"
13:40 Ven joined, actualeyes_ left
timotimo and i was like "this sounds like exactly what i want! keep the tag, but throw out the github release shit!" 13:40
except it also killed the tag
at one point it was actually possible to go through the releases on github and delete them somehow 13:41
because people keep seeing the "19 releases" and thinking "cool! i want me some tarballs!"
psch m: ++4
camelia rakudo-moar c8c494: OUTPUT«Parameter '$a' expected a writable container, but got Int value␤ in block <unit> at /tmp/dJyhcT6rP1:1␤␤»
timotimo and then configure says "dude, where's my files?"
pmurias tarballs *feel* much more trustworthy then random stuff from github ;) 13:42
moritz and if you have submodules, there's a real difference :-) 13:44
timotimo i feel like asking github support about this
"can we either get a checkbox to disable the releases feature, or a way to get github to also package submodules with the tarball?"
pmurias couldn't Configure.PL warn about missing submodules? 13:45
13:45 tokuhiro_ left
timotimo yeah, that's also a possibility 13:46
13:46 abraxxa left
timotimo however 13:46
13:46 Actualeyes joined
timotimo getting a message like "HEY MCFLY YOU BOZO! github releases don't work with submodules! unless you got POWER!" is ... not exactly friendly 13:46
13:46 ely-se left, Krabbe_ joined
pmurias timotimo: friendlier than stuff failing with a "omg! this rakudo thing is broken beyond repair and missing files!" 13:48
timotimo probably 13:50
timotimo recently saw BttF 1 and 2 with friends and has been reminded of all the fun quotes
pmurias timotimo: ./nqp-m --optimize=off --target=ast should print out the ast with optimalization disabled?
13:52 ely-se joined
moritz you don't even need --optimize=off 13:52
because optimizations happen after the "ast" stage
timotimo that'? right
we have a --target=optimize for seeing the optimized ast
moritz you need --stage=optimize to show the AST after optizmi.. what timotimo said
13:53 Actualeyes1 joined
timotimo AFK for a bit 13:53
13:53 Actualeyes1 left, LarryWall joined
FROGGS ohh! 13:53
the famous LarryWall just entered the hall! /o/ 13:54
pmurias moritz: I see stuff like lowered_for_it__1 in the output
FROGGS: where are you?
LarryWall So... you guys must save a lot of money on condoms
FROGGS pmurias: at my office
13:55 Actualeyes1 joined
lizmat LarryWall: we do, because we don't live in Denmark 13:55
FROGGS LarryWall: O.o
masak hm, I can't /op on this channel anymore.
masak hugs LarryWall instead
LarryWall So... any ladies online?
masak anyone else op?
FROGGS masak: maybe diakopter? 13:56
masak hmm.
FROGGS are condoms actually more expensive in .dk?
13:56 ChanServ sets mode: +o moritz, moritz sets mode: +o masak
moritz masak: there you go 13:57
13:57 raiph left
masak thanks :) 13:57
tadzik FROGGS: I guess they may be free in .NL :)
masak I think I just didn't remember how to ChanServ :)
13:57 moritz sets mode: -o moritz
moritz masak: /msg chanserv op #perl6 13:57
masak right.
lizmat tadzik: actually, they used to be if you were young, and knew where to get them 13:58
LarryWall What's your favorite Kalle Pimp song?
FROGGS tadzik: really? well, what do I know, I've got a bunch of kids instead :o)
13:58 LarryWall was kicked by masak (LarryWall))
tadzik lizmat: oh, I think I know what you mean :) 13:58
FROGGS he was lame anyway
Skarsnik hm, does we have something to know the type associated with size_t in NativeCall? (or other standard type like that)
13:58 Actualeyes left, ChanServ sets mode: -o masak
dalek kudo/nom: 325951d | coke++ | docs/release_guide.pod:
Claim YA release
13:59
FROGGS m: native size_t is Int is ctype("size_t") is repr("P6int") { };
camelia rakudo-moar 9bc5a0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YqVCgOqEsm␤Unhandled C type 'size_t'␤at /tmp/YqVCgOqEsm:1␤»
FROGGS Skarsnik: no, not yet 14:00
14:00 ely-se left
FROGGS Skarsnik: we need to map these manually, that's why we just have a few 14:00
Skarsnik size_t is ulong for me
masak .oO( ulong tea )
skids .oOlong tea 14:01
Skarsnik no way to get them from the c part of nativecall?
FROGGS Skarsnik: you can use Inline::C 14:02
Skarsnik I mean, in Nativecall code? could they be gathered when rakudo is build? 14:03
FROGGS Skarsnik: this information can only be gathered when C code is compiled
Skarsnik: so, at the time we build moarvm 14:04
14:04 hey joined
hey Ranger price sort de ce corps 14:04
14:04 hey is now known as Guest77416
Skarsnik Sorry, I don't really know how everything is build x) 14:05
FROGGS Skarsnik: I think this is where we handle the 'is ctype' trait in moar: github.com/MoarVM/MoarVM/blob/mast...int.c#L112 14:06
Skarsnik: and that's the place where site_t might want to go
dalek kudo/nom: 9d67fe8 | lizmat++ | src/core/IO/ (2 files):
Introducing IO::Path/Handle.split

Just like Str.split, but then lazily on files. This should allow us to implement the line-input-separator properly on file handles.
14:08
14:08 Guest77416 left, aborazmeh left
lizmat fwiw, if you're sure about your line endings, "foo".IO.split("\n") is about 2x as fast as "foo".IO.lines 14:09
14:09 softmoth joined, RabidGravy joined
Ven shouldn't .lines defer to that then? :P or does it try to match \r, \r\n, and \n? 14:11
lizmat lines treats \n \r \r\n transparently, even if mixed in the same file 14:12
14:12 Alina-malina left
Skarsnik size_t is an unsigned integer type used to represent the size of any object (including arrays) in the particular implementation. The sizeof operator yields a value of the type size_t. The maximum size of size_t is provided via SIZE_MAX, a macro constant which is defined in the <stdint.h> header (cstdint header in C++). size_t is guaranteed to be at least 16 bits wide. Additionally, POSIX includes ssize_t, which is a signed integral 14:13
type of the same width as size_t.
Still confuse me on what size_t is x)
PerlJam lizmat: if we had a fast path .lines that just did split("\n"), that would be nice. maybe .lines(:unix) or somesuch 14:14
lizmat PerlJam: it should just look at what .nl is
and then DoTheRightThing(TM)
PerlJam even better
lizmat looking at that now :-)
PerlJam lizmat++
gfldex i would prefere .lines(:unix), mostly because of Samba 14:15
PerlJam gfldex: one thing does not necessarily preclude the other. Besides, you can set :nl 14:16
14:16 tokuhir__ left
gfldex i would prefer not to be able to forget to set :nl :) 14:16
FROGGS Skarsnik: that just means that it depends on the platform 14:17
psch hmm, does the jvm binder even support throwing typed exception..? 14:18
gfldex I used to work for a typesetting shop with files coming both from clients and inhouse from Win, OSX and linux. Most stuff came from Win but every now and then some stuff came as a sql-dump from a client. Tripping over newlines and BOMs aint now fun. 14:19
psch actually, "does nqp.runtime.ExceptionHandling.dieInternal support dying with p6-level exceptions" is the better question... 14:20
lizmat gfldex: BOM's are now handles
gfldex having .lines a wee bit slower but having a nice default may slow down the computer part but will increase the productiviy on the human side.
lizmat gfldex: and \r \n \r\n are handled transparently by default
you can even mix line endings in a file (handy if it has been catted from different sources) 14:21
14:21 ely-se joined
andreoss \part 14:22
14:22 andreoss left 14:26 AndyDee left, Krabbe_ left
lizmat gfldex: I stand corrected, it does *not* handle them transparently :-() 14:26
14:26 xinming_ left
gfldex please prevent hair grayage by making it transparently :) 14:27
lizmat Str.lines does support it transparently
hmmm....
gfldex .oO( Perl 6 makes coders look young and beautiful! ) 14:28
14:30 kmel joined
lizmat currently \n and \r\n are transparently supported when :chomp is True (which is the default) 14:30
\r is currently *not* supported by default
timotimo oh 14:31
IO's lines handling \n, \r and \r\n transparently is something froggs worked on a long time ago, but if i understand jnthn correctly, at least \r\n will become a single grapheme in NFG in the near future
FROGGS true 14:32
14:32 tokuhiro_ joined
timotimo i wonder how much of the performance impact comes from \r\n being two characters so far 14:32
and how much of it comes from having multiple different potential split points
lizmat timotimo: most of the performance problem is chomping
14:33 telex left
lizmat that's a method call for each line 14:33
timotimo FROGGS: but multiple different line enders would still be interesting for cases where your lines end in "beep" and "boop" instead of \r, \n and \r\n
FROGGS timotimo: aye
timotimo lizmat: is there a good reason chomping doesn't live at the VM level? otherwise: is there a good reason the chomping logic isn't inlined to IO's lines method?
FROGGS timotimo: the design docs even say that you will be able to supply a regex there, but I hope that won't go in 14:34
lizmat FROGGS: IO::Handle.split supports regexes now, so you *can*
FROGGS timotimo: the reason that so much is high level is that .lines was meant to repeatedly call .get
timotimo: so your custom handle type only needs to implement .get, and all is fine
14:35 telex joined
FROGGS timotimo: but nowadays, .lines doesnt call .get anymore, so that idea died 14:35
lizmat FROGGS: that was pre-GLR thinking
now we have pull-one() that needs to be implemented :-)
FROGGS lizmat: that was an API design decision
14:35 TimToady left
FROGGS and it died before the GLR was a thing :o) 14:35
lizmat I'm not sure .get has a reason to love nowadays, with proper lazy lists and all 14:36
*live
FROGGS no reason to live? ó.ò
novapatch is .lines supposed to return the newline or not?
FROGGS err, love
damn
lizmat novapatch: not by default
timotimo there's still a good reason to get a single line off of a file descriptor
so .get gets to stay, IMO
FROGGS novapatch: if you disable chomping you'll get the newlines
timotimo: sure 14:37
lizmat timotimo: but then I'd rather implement .get as a shortcut to .lines
FROGGS timotimo: question is if .lines needs to call .get or not... and probably the answer is 'not'
14:38 risou joined
timotimo lizmat: .get should be .lines()[0]? :) 14:38
novapatch lizmat: thanks, glad to hear it :) 14:39
lizmat well, a little smarter than that: it would but the IO::Handle with the .lines Seq and feed from that ?
timotimo ah 14:40
yeah, that does make sense; how about re-configuring the file handle in between, though?
14:40 telex left
lizmat timotimo?? 14:40
timotimo like, you're getting an HTTP message through a socket; the beginning will be ASCII with \r\n, terminated by \r\n\r\n, then the encoding could be EBCDIC
FROGGS aye 14:42
lizmat you could make the line ending \r\n\r\n then ?
FROGGS we have this problem in H:UA
timotimo oh, you mean grab the header part with a single .get call?
lizmat yup
that should work now already, afaics
FROGGS still kinda ugly 14:43
then you've got an ascii string which in fact is meant to a buf of some kind
ugexe headers are ascii
lizmat are we actually sure that a HTTP header is ASCII ?
ugexe fetch the rest in binary
yes 14:44
FROGGS aye
timotimo well ...
ugexe i use \r\n as newline and look for a blank line to know when i hit the body
timotimo IETF says to be lenient in what you accept and ... the other thing in what you send 14:45
en.wikipedia.org/wiki/Robustness_principle
ugexe its ascii so there is a base for getting the actual encoding
14:45 khw joined
timotimo what do you mean, "base"? :) 14:46
oh!
i see what you mean
14:46 tokuhirom joined
ugexe right, you would have to decode what you need to know the decoding otherwise 14:46
timotimo spec tells you the part that says "Content-Encoding: EBCDIC" must be encoded in ASCII
14:47 TimToady joined
timotimo oh wow, EBCDIC is kind of weird 14:48
ugexe spec says you can ignore non-ascii
timotimo UTF-EBCDIC is a character encoding used to represent Unicode characters. It is meant to be EBCDIC-friendly, so that legacy EBCDIC applications on mainframes may process the characters without much difficulty. - whaaaaaat %) 14:50
14:51 tokuhirom left
ilmari timotimo: it's to EBCDIC what UTF-8 is to ASCII 14:51
skids ...and "text/" and latin-1 must actually be windows1252 nowadays, per HTML5 spec. Go figure. People sure ran roughshod over those. 14:52
timotimo yeah, i get that
hm, i *think* moarvm actually supports 1252
skids Yeah I hooked up all the guts a while back. It's as functional as latin-1 (which is, JVM has some issue) 14:53
14:53 lucs_ is now known as lucs
timotimo :( 14:53
skids (The guts were thoughtfully already there I just glued them together)
timotimo skids++ # making perl6 compatible with the future from tha past 14:54
14:54 telex joined, TimToady left 14:55 TimToady joined
RabidGravy I think I changed something in H::UA to decode as latin-1 rather than ascii, something was blowing ip 14:57
up
ugexe there are lot of cases that has been done. Proc.out is another one
14:59 telex left
dalek kudo/nom: 89b75fa | lizmat++ | src/core/IO/Handle.pm:
Remove fossil
14:59
15:05 tokuhiro_ left 15:06 bpmedley joined
RabidGravy yeah, there are people to young to remember that ascii is 7-bit ;-) 15:07
ugexe IO::Spec.splitdir is broke now
15:07 n0tjack joined
ugexe trying to figure out the context 15:08
hoelzro o/ #perl6 15:09
RabidGravy haaaarr
15:11 rurban joined, diana_olhovik left
tadzik nine: ping 15:11
dalek Heuristic branch merge: pushed 70 commits to specs/newio by lizmat 15:14
15:16 rurban left, pfortuny joined 15:18 telex joined
ugexe m: my $path = "/home/user/Test.file"; say $path.IO.parent; say $path.IO.SPEC.splitdir($path.IO.parent) 15:20
camelia rakudo-moar 9d67fe: OUTPUT«"/home/user".IO␤Failed to open file /home/user: no such file or directory␤ in block <unit> at /tmp/zUWQbfOwIP:1␤␤»
ugexe star: my $path = "/home/user/Test.file"; say $path.IO.parent; say $path.IO.SPEC.splitdir($path.IO.parent)
camelia star-m 2015.09: OUTPUT«"/home/user".IO␤( home user)␤»
leont How do I get the type-object inside the class definition without typing it in full? 15:21
Now doing class Foo { method bar { 42 }; my $bar = Foo.bar }, is there a more generic way?
FROGGS ::?CLASS
15:22 ely-se left
n0tjack I'm trying to golf FizzBuzz; so far I've got grep {[&] $_ X%%[3,5] }, ^1024; -- can we do shorter? 15:22
oh, hmm, I suppose that should be | instead of &
leont FROGGS: thanks! I knew there was a way, just didn't guess the sigil right 15:23
PerlJam n0tjack: where's the Fizz and the Buzz?
n0tjack m: grep {[|] $_ X%%[3,5] }, ^1024;
camelia ( no output )
psch m: say "Fizz"x$_%%3~"Buzz"x$_%%5||$_ for 1..100 # from RC
camelia rakudo-moar 9d67fe: OUTPUT«1␤2␤Fizz␤4␤Buzz␤Fizz␤7␤8␤Fizz␤Buzz␤11␤Fizz␤13␤14␤FizzBuzz␤16␤17␤Fizz␤19␤Buzz␤Fizz␤22␤23␤Fizz␤Buzz␤26␤Fizz␤28␤29␤FizzBuzz␤31␤32␤Fizz␤34␤Buzz␤Fizz␤37␤38␤Fizz␤Buzz␤41␤Fizz␤43…»
n0tjack m: say grep {[|] $_ X%%[3,5] }, ^1024;
camelia rakudo-moar 9d67fe: OUTPUT«(0 3 5 6 9 10 12 15 18 20 21 24 25 27 30 33 35 36 39 40 42 45 48 50 51 54 55 57 60 63 65 66 69 70 72 75 78 80 81 84 85 87 90 93 95 96 99 100 102 105 108 110 111 114 115 117 120 123 125 126 129 130 132 135 138 140 141 144 145 147 150 153 155 156 159 160 162…»
FROGGS leedo: :: always means something indirect, and it is compile time known (?)...
err
leont: ^^
leedo: sorry
n0tjack PerlJam: Oh, I wasn't thinking about the actual strings fizz and buzz, just the logic 15:24
psch: Oh, that's cute.
leont Related to that, how do I load a function from a runtime-required module?
n0tjack I guess the postfix topicalizers must have very high precedence 15:25
leont Currently doing require Terminal::ANSIColor; GLOBAL::Terminal::ANSIColor::EXPORT::DEFAULT::<&colored> // sub (Str $text, Str $) { $text }
That seems rather suboptimal
n0tjack seems like you can put anything before a postfix for or if or given
15:25 Ven left
ugexe the above error can be worked aroudn with .dirname instead of .parent 15:25
moritz leont: require Terminal::ANSIColor <&colored>; # would be my first guess 15:26
15:26 telex left 15:27 Ven joined 15:28 alexm joined
hoelzro how does that impact the compiler, though? since the definition of &colored isn't available at compile time, can it figure out which type of callsite to use? 15:28
15:28 telex joined 15:29 AlexDaniel joined, Ven left
hoelzro or maybe it falls back to some generic callsite 15:29
leont moritz: that seems to help :-) 15:30
PerlJam maybe look at S11:Runtime_Importation ?
synbot6 Link: design.perl6.org/S11.html#Runtime_Importation
skaji hi, I hope JSON::Pretty in rakudo core supports emitting one-line json and emitting canonical json (sorting object keys) 15:31
ilmari can I build/test nqp against a built git checkout of moar, or do I need to install moar to somewhere?
15:31 Ven joined
leont Can't make an optional import out of it, I expected this to work: 15:32
PerlJam skaji: I doubt it.
leont my &colored = try { require Terminal::ANSIColor <&colored>; &colored } // sub (Str $text, Str $) { $text };
FROGGS leont: you can also locate the symbol indirectly by doing: &::('colored') and ::('&colored')
psch heh, both r-j and r-m have problems with --stage=parse for something like "sub f (| ($a, $b)) { }" 15:33
r-j throws a StackOverflowError, r-m apparently loops
15:33 telex left
leont FROGGS: not sure I see what you mean 15:34
15:34 n0tjack left
ugexe our $signal-handler := &::("signal") ~~ Failure ?? &::("signal-ignore") !! &::("signal") 15:34
15:34 TimToady left
FROGGS leont: if you require a module without importing anything there (because you are not sure what it exports), you can check/use the symbol later by doing what I wrote 15:35
leont How does that solve my problem?
skaji PerlJam: What you are saying is that they should be done outside rakudo, i.e. external modules, right?
timotimo yay, i finally gots me some medicine
FROGGS my &colored = try { require Terminal::ANSIColor; &::('colored') } // sub (Str $text, Str $) { $text };
star-m; my &colored = try { require Terminal::ANSIColor; &::('colored') } // sub (Str $text, Str $) { $text }; say &colored 15:36
star-m: my &colored = try { require Terminal::ANSIColor; &::('colored') } // sub (Str $text, Str $) { $text }; say &colored
camelia star-m 2015.09: OUTPUT«sub (Str $text, Str $) { #`(Sub|81817872) ... }␤»
15:36 TimToady joined
RabidGravy boom 15:36
FROGGS star-m: my &colored_ = try { require Terminal::ANSIColor; ::('&colored') }; say &colored_ 15:37
camelia star-m 2015.09: OUTPUT«(Callable)␤»
FROGGS star-m: my &colored_ = try { require Terminal::ANSIColor; ::('&colored') }; say colored_(42)
camelia star-m 2015.09: OUTPUT«Cannot invoke this object␤ in block <unit> at /tmp/aRPvTxzDIz:1␤␤»
PerlJam skaji: That's where fancy stuff goes, yes :)
FROGGS star-m: my &colored_ = try { require Terminal::ANSIColor <&colored>; &colored }; say colored_(42)
camelia star-m 2015.09: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub colored at /home/camelia/star-2015.09/share/perl6/lib/Terminal/ANSIColor.pm:51␤ in block <unit> at /tmp/EqW8iD79xA:1␤␤»
FROGGS :o(
RabidGravy boom
FROGGS I thought my version would work too
RabidGravy: that's just because I'm stupid :o) 15:38
15:38 kmel left
RabidGravy but hey I just learned that you can supply imports to are require 15:38
er, typing gibberish
15:38 kmel joined
FROGGS star-m: my &colored = try { require Terminal::ANSIColor <&colored>; &colored }; say colored(42, 'blue') 15:38
camelia star-m 2015.09: OUTPUT«Type check failed in binding $what; expected 'Str' but got 'Int'␤ in sub colored at /home/camelia/star-2015.09/share/perl6/lib/Terminal/ANSIColor.pm:51␤ in block <unit> at /tmp/EHWLdv51HM:1␤␤»
FROGGS star-m: my &colored = try { require Terminal::ANSIColor <&colored>; &colored }; say colored("42", 'blue') 15:39
camelia star-m 2015.09: OUTPUT«0242␤»
FROGGS come on...
RabidGravy yeah
FROGGS tadzik: you module sucks :P
RabidGravy and it is indeed blue
FROGGS tadzik: the readme is not quite informative, and the test is, well... :o) 15:40
tadzik :(
15:40 telex joined
tadzik patches welcomE! :P 15:41
15:41 Ven left
FROGGS heh 15:41
15:41 alexm left
colomon tadzik: still there? 15:42
vytas m: 'my @numbers[5..*] = 3,9 ... *;'
camelia rakudo-moar 89b75f: OUTPUT«WARNINGS:␤Useless use of constant string "my @numbers[5..*] = 3,9 ... *;" in sink context (line 1)␤»
vytas m: '@numbers[5..*] = 3,9 ... *;' 15:43
camelia rakudo-moar 89b75f: OUTPUT«WARNINGS:␤Useless use of constant string "@numbers[5..*] = 3,9 ... *;" in sink context (line 1)␤»
colomon tadzik: I’ve been getting this error for a while in the smoker support code: gist.github.com/
FROGGS vytas: that's just a string
PerlJam vytas: you want fewer single quotes.
colomon tadzik: err, gist.github.com/colomon/5cf7f3d3ed38c0f4cb56
dalek kudo/nom: 0bbd62b | lizmat++ | src/core/Mu.pm:
Eradicate Mu.munch now we're in beta officially
PerlJam (assuming you're trying to actually run the perl code in that string)
vytas m: my @numbers[5..*] = 3,9 ... *; 15:44
camelia rakudo-moar 89b75f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mFlFSSHgIf␤Shaped arrays not yet implemented. Sorry. ␤at /tmp/mFlFSSHgIf:1␤------> 3my @numbers[5..*]7⏏5 = 3,9 ... *;␤ expecting any of:␤ constraint␤»
FROGGS m: my @numbers; @numbers = [5..*] = 3,9 ... *; say @numbers
camelia rakudo-moar 89b75f: OUTPUT«[...]␤»
vytas m: my @numbers; @numbers[5..*] = 3,9 ... *; # does not generate error
camelia ( no output )
FROGGS vytas: because these are two different things
15:45 duncan_dmg left
FROGGS the exploding one is a shape declaration 15:45
the working one is about assigning to certain slots
m: my @numbers; @numbers = [5..*] = 3,9 ... *; say @numbers[^10]
camelia rakudo-moar 89b75f: OUTPUT«(3 9 15 21 27 33 39 45 51 57)␤»
FROGGS m: my @numbers; @numbers[5..*] = 3,9 ... *; say @numbers[^10]
camelia rakudo-moar 89b75f: OUTPUT«()␤»
FROGGS m: my @numbers; @numbers[5..*] = 3,9 ... *; say @numbers
camelia rakudo-moar 89b75f: OUTPUT«[]␤»
FROGGS err...
ugexe m: $*CWD.IO.SPEC.splitdir($*CWD.IO.parent).say 15:46
camelia rakudo-moar 89b75f: OUTPUT«'/home' is a directory, cannot do '.open' on a directory␤ in block <unit> at /tmp/rF6n38KcRb:1␤␤»
FROGGS I don't know what to think about that
15:46 FROGGS left
leont How does this work in a one-liner but not in my module? 15:46
*works
15:46 duncan_dmg joined, telex left
leont star-m: module Foo { my &colored = try { require Terminal::ANSIColor <&colored>; &colored }; say colored("42", "blue") } 15:47
camelia star-m 2015.09: OUTPUT«Cannot invoke this object␤ in block <unit> at /tmp/HoC4Dt7CgT:1␤␤»
RabidGravy I had a thought earlier, which I know is quite rare, but can you make a custom Rangey thing (i.e. a range of arbitrary objects)?
so the range operator will delegate to some class to provide the values
PerlJam RabidGravy: I think as long as the objects support a .succ method, you may be able to
RabidGravy ah, .succ 15:48
vytas what's shape declaration ?
RabidGravy fabulous
timotimo you .succ
RabidGravy oh I know that
PerlJam vytas: my @numbers[5..10]; # the [5..10] part is defining the "shape" of the array
timotimo and your .succ .succs, too!
RabidGravy and the pony?
timotimo PerlJam: but that's not yet implemented 15:49
the pony actually .pred's
15:49 pollei joined
PerlJam timotimo: as vytas has discovered already 15:49
vytas my @numbers; @numbers[5..*] = 3,9 ... *; # how is this not shape declaration ?
timotimo it's not in a declaration
PerlJam vytas: "my @numbers;" is the declaration, and there is no shape
vytas agh... thank you
timotimo we've intentionally made shape definitions look like slices 15:50
compare it to this:
m: my %foo{Any}; %foo{10} = "hi"; say %foo.perl
camelia rakudo-moar 89b75f: OUTPUT«(my Any %{Any} = 10 => "hi")␤»
timotimo here the syntax for defining the types for the keys uses { }, because that's what a hash slice uses
PerlJam timotimo: now explain my @array{ <foo bar baz> }; # :-) 15:52
vytas m: my Any %foo; %foo{10} = "hi"; say %foo.perl
camelia rakudo-moar 89b75f: OUTPUT«(my Any % = "10" => "hi")␤»
15:52 Alina-malina joined
[Coke] is so glad the niceville people were nice about me using their name. :) 15:52
vytas I guess i need to read more about Perl6..
timotimo PerlJam: i don't actually know anything about shape declarations :P 15:53
PerlJam vytas: who doesn't? It's a big language with lots of features
RabidGravy where is niceville?
timotimo PerlJam: is that how you define an array that translates a set of keys into numbers instead?
PerlJam timotimo: aye. S09:User-defined_array_indexing
synbot6 Link: design.perl6.org/S09.html#User
[Coke] vytas: welcome aboard.
niceville is here: www.pm.org/groups/787.html 15:54
RabidGravy Florida
found it
PerlJam [Coke]: an excellent choice too btw
RabidGravy [Coke], cool that they only have one member too ;-) 15:55
I think I should start a Belvedere.pm 15:56
[Coke] hee, I just noticed that in his email. :)
15:56 synbot6 left, synbot6 joined
PerlJam S09:User-defined_array_indexing 15:56
synbot6 Link: design.perl6.org/S09.html#User-defi...y_indexing
timotimo i should poke my buddy from Karlsruhe.pm so that perhaps we can do a little something in the next months 15:57
vytas m: my @numbers = ^20; @numbers[5..*] = 3, 9 ... *; say @numbers; # how to explain that second star becomes 15 because numbers were 20 ... 15:58
camelia rakudo-moar 89b75f: OUTPUT«[0 1 2 3 4 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87]␤»
15:58 pfortuny left
vytas agh actually is not 15:59
got confused by learnxinyminutes.com/docs/perl6/ comment "Only the 15 needed values will be calculated" where it is actually all 20 16:00
[Coke] m: my @numbers = ^20; @numbers[5..*] = (3, 9 ... *); say @numbers;
camelia rakudo-moar 89b75f: OUTPUT«[0 1 2 3 4 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87]␤»
[Coke] anyway, it's 15, because 9-3 is 6 and 9+6 is 15 16:01
vytas: the 15 replaced values are calculated. 16:02
numbers still has 20 elements.
PerlJam vytas: Aye, that comment does seem to confuse. you could make a PR to fix it.
vytas that's actually smart, though wasn't expecting at all. so it continues from 5th element 16:03
16:06 tokuhiro_ joined 16:08 lichtkind joined
TimToady m: my @numbers = ^20; @numbers[5..*].=reverse; say @numbers; 16:08
camelia rakudo-moar 89b75f: OUTPUT«[0 1 2 3 4 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5]␤»
16:08 diana_olhovik joined 16:09 synbot6 left
lizmat m: dd $*SPEC 16:09
camelia rakudo-moar 89b75f: OUTPUT«IO::Spec::Unix $var = IO::Spec::Unix␤»
16:09 synbot6 joined
lizmat hmmm... 16:09
16:10 kmel left 16:11 telex joined, tokuhiro_ left
PerlJam S09:User-defined array indexing # with a coment 16:11
16:11 synbot6 left 16:12 synbot6 joined
PerlJam S09:User-defined array indexing # with a comment 16:12
synbot6 Link: design.perl6.org/S09.html#User-defined
PerlJam blah
16:12 synbot6 left
lizmat m: dd *$SPEC.split("/") 16:13
camelia rakudo-moar 89b75f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wf_sKuo3PO␤Two terms in a row␤at /tmp/wf_sKuo3PO:1␤------> 3dd *7⏏5$SPEC.split("/")␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ …»
lizmat m: dd $*SPEC.split("/")
16:13 diana_olhovik left
camelia rakudo-moar 89b75f: OUTPUT«List $var = $(:volume(""), :dirname("/"), :basename("/"), :directory("/"))␤» 16:13
16:14 synbot6 joined
lizmat m: dd Int.split("/") 16:14
camelia rakudo-moar 89b75f: OUTPUT«Use of uninitialized value of type Int in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/Um8QpAUWUp:1␤List $var = $("",)␤»
PerlJam S09:User-defined array indexing # kill the wabbit!
synbot6 Link: design.perl6.org/S09.html#User-defi..._indexing_
16:15 synbot6 left, ^elyse^ joined
TimToady trailing _ is trailing 16:16
16:16 telex left 16:17 synbot6 joined
PerlJam S09:User-defined array indexing # stupid bot 16:17
synbot6 Link: design.perl6.org/S09.html#User-defi...y_indexing
ilmari S666:Goats
S42:Goats
synbot6 Link: design.perl6.org/S42.html#Goats
pink_mist is so glad ilmari didn't accidentally end those lines with an 'e' 16:18
16:22 Ven joined 16:23 ^elyse^ left 16:29 telex joined 16:30 rindolf joined 16:35 telex left
[Coke] RT: 1,044; lta: 88; weird: 11; nom: 8; glr: 4; tests: 9; xmas: 74 16:35
dalek kudo/nom: ca1cf74 | lizmat++ | src/core/ (8 files):
Hopefully fix pand install p6doc issues
16:37
moritz lizmat: I like IO::Handle.split, but IO::Path.split seems dangerous to me, since IO::Path is still a rather stringy thing for me, and I'd expect it to work on the file name, not on the contents
lizmat so, how would you call it on IO::Path ? 16:38
hmmm... that could be the reason for the failure seen on P6-users 16:40
lizmat is checking 16:41
sigh, that's it... :-( 16:42
16:43 simula67 joined 16:45 ^elyse^ joined 16:48 tokuhirom joined
moritz lizmat: I'd spell it .open.split(...) 16:49
ilmari or .IO.split()?
moritz or that 16:50
lizmat yeah, but that's *exactly* what the problem is 16:51
.IO generates an IO::Path, which is considered to be stringy still
ilmari ah 16:52
lizmat I'm going for split-with for now
16:52 tokuhirom left
lizmat once I get the proto issues fixed in the setting 16:52
16:53 telex joined, Ven left 16:54 xinming joined 16:55 simula67 left 16:57 telex left 16:58 telex joined 17:00 tokuhiro_ joined 17:01 firstdayonthejob joined
dalek p: af86b80 | (Pawel Murias)++ | src/QAST/SpecialArg.nqp:
Dump extra info about QAST::SpecialArg when dumping the AST.
17:02
p: 7c502f6 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] HACK around a bug in NQP.

We need to figure out why sometimes the for op gets a child with a declaration blocktype.
17:02 virtualsue joined 17:04 tokuhiro_ left
lizmat I think I'm going crazy: renaming it to anything else then "split", makes the setting fail to build 17:04
with a weird error about ObjAt.$!value not being declared 17:05
m: proto method split-with(|) { * } 17:08
camelia rakudo-moar ca1cf7: OUTPUT«Potential difficulties:␤ Useless declaration of a has-scoped method in mainline (did you mean 'my method split-with'?)␤ at /tmp/gZodQ5w_fB:1␤ ------> 3proto method7⏏5 split-with(|) { * }␤»
lizmat m: proto method split-with(|) { * }; multi method split-with() {} 17:09
camelia rakudo-moar ca1cf7: OUTPUT«Potential difficulties:␤ Useless declaration of a has-scoped method in mainline (did you mean 'my method split-with'?)␤ at /tmp/0zrXZnkpRB:1␤ ------> 3proto method7⏏5 split-with(|) { * }; multi method split␤ Useless declaration of…»
lizmat m: class A { proto method split-with(|) { * } }
camelia ( no output )
17:10 Actualeyes1 left
lizmat feels like some kind of internal overflow :-( 17:11
catch 22: if I don't put the protos in , setting doesn't build because it doesn't auto-generaye protos 17:12
if I do, I get: Error while compiling, type X::Attribute::Undeclared
symbol: $!value
package-name: ObjAt
apparently my previous commit solved the panda issue, so I'm not pursuing this further at this moment 17:13
17:13 loren joined 17:14 _28_ria joined
loren morning, #perl6 17:14
lizmat loren o/ 17:16
loren say "xx" ~~ /^+/; will hang up
hi, lizmat
17:16 duncan_dmg left
loren perl6 not report error, I think it should be /^\+/ 17:17
lizmat m: say "xx" ~~ /^+/
camelia rakudo-moar ca1cf7: OUTPUT«Memory allocation failed; could not allocate 975405056 bytes␤»
lizmat looks like a rakudo bug to me :)
would you care to report it ?
loren ok, 17:18
I will
lizmat loren++
loren I will send a email .
lizmat to [email@hidden.address]
loren ok
I know it.
lizmat that will put it in the bug tracker
loren em 17:19
psch that should probably misparse, right? 17:24
anchors can't be quantified, can they 17:25
lizmat indeed... I would say
17:28 espadrine_ left
moritz it's long know bug that if you quantify a zero-width match, it'll hang 17:28
lizmat aha, sorry, didn't know that 17:31
dalek kudo-star-daily: d4d7fdc | coke++ | log/ (9 files):
today (automated commit)
17:33
rl6-roast-data: 08d374f | coke++ | / (9 files):
today (automated commit)
17:38 domidumont left 17:39 virtualsue left 17:42 n0tjack joined, xfix joined 17:45 xfix left 17:46 xfix joined 17:47 shlomif joined, rindolf left, shlomif is now known as rindolf
PerlJam Hmm. 17:49
17:51 virtualsue joined, xfix left, xfix joined 17:54 FROGGS joined
FROGGS o/ 17:57
18:00 n0tjack left 18:02 llfourn left 18:04 FROGGS left 18:07 vendethiel joined 18:08 FROGGS joined 18:13 TEttinger joined, Jaglor left 18:17 virtualsue left
dalek ast: c470227 | usev6++ | S05-modifier/counted-match.t:
Loose fudge for RT #125026
18:23
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125026
[Coke] when interrupting a test run, you are told that all tests were successful when you might have only run 1 test. 18:42
run 1 test *file
why does "make j-test" run 3 different copies of the test harness? 18:44
FROGGS [Coke]: are you talking about the harness+evalserver+client? 18:45
[Coke] it runs prove 3 times instead of 1 18:46
testing a fix...
(so if the first 2 fails, but the third works, you have no idea the failures occurred.
18:48 domidumont joined, domidumont left 18:49 tokuhirom joined 18:51 uberbaud left
leont Woot! My p6 harness isn't all that much slower than the p5 one (about 5% on compared to total runtime), which feels like a realistic amount of time for the start-up (which is slow) 18:52
18:52 sufrostico left 18:54 tokuhirom left
dalek ast: cd4b6ba | usev6++ | S12-methods/chaining.t:
Test passes on rakudo.jvm now (RT #121945)
18:57
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=121945
18:57 uberbaud joined 18:58 n0tjack joined
[Coke] ./perl6-j t/03-jvm/01-interop.t dies in build dir with java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/CORE.setting' 18:59
should we be running this test? 19:00
dalek kudo/nom: f16b146 | coke++ | tools/build/Makefile-JVM.in:
Only use one harness; not 3.

  (Previously, failures in the first harness would be hidden)
FROGGS ahh, that harness 19:07
[Coke]: yes, let's keep running it, we hopefully pass that again this year 19:08
leont: now
leont: I did not expect that
wow*
leont That may also be p5's harness being slow, but it's still good :-) 19:09
FROGGS hehe, yeah :o)
dalek p: add7e11 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
[js] Tweak to nqp.dumpObj.
p: b71938d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] allow setting dynamic variables in signatures, like sub foo($*FOO) {...}
p: baf46e1 | (Pawel Murias)++ | t/nqp/21-contextual.t:
Test setting dynamic variables in sub signatures.
19:13 yqt joined
dalek p: b46902b | (Pawel Murias)++ | src/vm/js/bin/run_tests_bootstrapped.pl:
[js] Add passing tests 09 and 10 to make js-test-bootstrapped
19:14
19:16 tokuhiro_ joined 19:21 tokuhiro_ left
Hotkeys thanks whoever told me to use VS 2010 to build rakudo 19:23
worked no problem
hoelzro Hotkeys: did you end up using 32 or 64-bit? 19:25
19:26 vendethiel left
Hotkeys 64 bit 19:26
psch i'd like to have at least the horribly bad failures out of j-roast before working on interop again, which is reasonable i think 19:28
hoelzro hmm, I'll have to try 2010 then
psch FROGGS: ISTR that you might know something about "control exception without handler"?
Hotkeys I didn't even put SP1 on it I don't think
idk if that matters 19:29
still built
psch FROGGS: there's four files that bail with that message
^elyse^ is there some kind of tool to like, build and test Perl 6 projects? 19:30
like makemaker in Perl 5
moritz you mean, like, panda? 19:31
Grammar::Debugger fails its tests :(
PerlJam last time I checked panda wasn't good enough for building and testing local Perl 6 projects. They had to be in the ecosystem first. 19:32
lizmat m: without 42 {} elsif 666 {} # LTA error message :-)
camelia rakudo-moar f16b14: OUTPUT«5===SORRY!5=== Error while compiling /tmp/23DDGF74ZZ␤"unless" does not take "else", please rewrite using "if"␤at /tmp/23DDGF74ZZ:1␤------> 3without 42 {} 7⏏5elsif 666 {} # LTA error message :-)␤»
PerlJam but ... ufo still works I think
^elyse^ moritz: I don't know
19:41 pyrimidi_ joined, pyrimidi_ is now known as pyrimidine_ 19:42 [Sno] left
dalek kudo/nom: f25bbe7 | lizmat++ | src/core/IO/Handle.pm:
Remove paranoid check

If you're going to mix high level methods with low level methods, you're going to get what you ask for
19:43
19:44 pyrimidine left, [Sno] joined
^elyse^ I don't understand use. Is it very different from Perl 5? I have files in the right place but it tells me it can't find the module 19:48
gist.github.com/rightfold/a4c337aa2cac36d797da
19:48 mullagainn left
leont How do multi methods work with inheritance? Do the inherited methods compete in the subclass or not? 19:49
[Coke] I would do "PERL6LIB=lib prove -e perl6 -r t" and remove the use lib from the test file 19:50
^elyse^ [Coke]: same error
[Coke] mv Grammar.p6 Grammar.pm ? 19:51
^elyse^ that works :(
PerlJam ^elyse^: Grammar.pm6 should work too
^elyse^ ooh right pm6 it should be
thanks :)
[Coke] .u crying 19:54
yoleaux U+1F622 CRYING FACE [So] (😢)
U+1F62D LOUDLY CRYING FACE [So] (😭)
U+1F63F CRYING CAT FACE [So] (😿)
19:55 virtualsue joined
^elyse^ what does unit mean in "unit module"? 19:55
[Coke] compilation unit
PerlJam ^elyse^: as in "compilation unit" 19:56
^elyse^ why is it needed?
PerlJam ^elyse^: the "unit" declaration is an affirmative that you mean for the entire compilation unit to be a module
[Coke] S99:unit
synbot6 Link: design.perl6.org/S99.html#unit
^elyse^ ok 19:58
19:58 kaare_ left
PerlJam m: class A { multi method foo(Str) { say "string" }; multi method foo(Any) { say "any" }; }; class B is A { multi method foo(Int) { say "integer" }; }; B.new("hi"); B.new(5); B.new(pi); # leont 20:00
camelia rakudo-moar f16b14: OUTPUT«Default constructor for 'B' only takes named arguments␤ in block <unit> at /tmp/rsHZoQj7Hx:1␤␤»
^elyse^ can I import only a single function from a module? 20:01
PerlJam blah
^elyse^ instead of all of them
PerlJam m: class A { multi method foo(Str) { say "string" }; multi method foo(Any) { say "any" }; }; class B is A { multi method foo(Int) { say "integer" }; }; B.new.foo("hi"); B.new.foo(5); B.new.foo(pi); # leont
camelia rakudo-moar f16b14: OUTPUT«string␤integer␤any␤»
leont Awesome
lizmat ^elyse^: not yet
20:02 rindolf left
pmurias .tell konobi how should I profile node.js applications (to see if there are any low hanging speedups for nqp-js) 20:03
yoleaux pmurias: I'll pass your message to konobi.
20:04 Skarsnik left 20:06 darutoko left
^elyse^ lizmat: ok 20:07
guess I'll wait a little longer then
lizmat ^elyse^: please note that only those subs marked "is export" are actually exported
PerlJam ^elyse^: you can "tag" certain exported subs and only import a certain tag if you want. (I'm pretty sure that works) 20:09
leont What was the name of the else that belongs to with again? 20:10
(these words are not Google compatible!) 20:11
lizmat orwith ?
m: with 42 {} orwith 666 {}
camelia ( no output )
leont Ah, that one! 20:12
[Coke] m: say "\c[GREEK QUESTION MARK]" eq "\c[SEMICOLON]" # why is this true? 20:14
camelia rakudo-moar f16b14: OUTPUT«True␤»
labster good morning, #perl6
PerlJam m: say ("\c[GREEK QUESTION MARK]\c[SEMICOLON]").ords 20:16
camelia rakudo-moar f16b14: OUTPUT«(59 59)␤»
PerlJam [Coke]: because greeks have funny ideas about interrogatives marks? 20:17
lucs Question: fpaste.scsys.co.uk/500480
20:17 vendethiel joined
lucs Pointers to (as specific as possible) docs welcome. 20:19
PerlJam [Coke]: and ... how did you discover this?
ugexe thats what i was wondering heh 20:20
dalek ast: 6082102 | usev6++ | S12-subset/subtypes.t:
Add tests for RT #123700
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123700
pink_mist I think TimToady++ was playing around with that some days ago in here ... that's where I saw it first at least 20:21
irclog.perlgeek.de/perl6/2015-10-19#i_11401165 20:22
20:23 n0tjack left
PerlJam lucs: maybe it's confusing because it's written poorly? 20:24
lucs PerlJam: Actually, I have no idea what that structure means :/
For example, what is "0 => x y" , why no commas anywhere, etc. 20:25
PerlJam hold on, let me write it more sensibly 20:26
lucs Thanks
PerlJam fpaste.scsys.co.uk/500481
pink_mist design.perl6.org/S05.html#Return_va...om_matches may be enlightening perhaps?
[Coke] PerlJam: because evil people wrote a code filter to swap out your semicolons for not-semicolons. 20:27
ah; this is why, I bet:
lucs PerlJam: D'oh! That was unexpected :) Nice.
[Coke] DecompositionSEMICOLON (U+003B)
dalek kudo/nom: d97f0b2 | ugexe++ | src/core/Buf.pm:
Fix unpack for templates using `*`

Fixes: Buf.new("asdf".ords).unpack("N*").say # also S*, v*, L*, V*, n*
kudo/nom: 75ac71b | lizmat++ | src/core/Buf.pm:
Merge pull request #559 from ugexe/patch-6

Fix unpack for templates using `*`
lucs pink_mist: Thanks, I'll read that.
20:28 n0tjack joined
pink_mist [Coke]: did you see my irclog link? 20:28
20:29 FireFly left
vendethiel any plan to allow named imports "by default", btw? that's an amazing feature. In pretty much any language I use, I do that (JS, clojure, haskell, D, etc, etc) and I miss often in 6 20:29
PerlJam lucs: basically, by adding the (), you've introduced another layer of structure in the return from the match. :g gets you a list of matches, each of those has a $0 entry containing only the one character matched 20:30
20:30 ^elyse^ left
PerlJam The docs pink_mist linked to probably explain better 20:31
[Coke] pink_mist: I beat him: irclog.perlgeek.de/perl6/2015-10-19#i_11396733
lucs PerlJam: Aha, I see. I think that link pink_mist seem to ... Right.
Thanks.
pink_mist [Coke]: oh, haha :P
[Coke] I did miss the followup though. :)
pink_mist++
20:33 _dolmen_ joined
PerlJam pretty soon there will be enough #perl people here that I won't be able to tell at a glance from the conversation if I'm on #perl or #perl6 20:33
nine tadzik: pong 20:37
5 hours 26 minutes latency
20:38 kjs_ left, mrsolo left 20:44 mrsolo joined 20:49 colomon left 20:51 colomon joined 20:52 n0tjack left
pmurias vendethiel: named imports? you mean renaming the module on import? 20:55
vendethiel pmurias: no, explicitly naming the imports. "use Foo <bar baz>"
pmurias vendethiel: you can't do that in Perl 6? 20:56
vendethiel pmurias: not without manually writing an EXPORT :( 20:57
20:57 frew joined
pmurias vendethiel: use Sense <&common> seems to be in the spec 20:58
vendethiel: it's just not implemented yet?
vendethiel pmurias: I hope so :)
lizmat vendethiel: how would such an export look ? 20:59
PerlJam vendethiel: you can do module Foo { sub foo is export( :mytag ) {} } and then use Foo :mytag; right now.
vendethiel PerlJam: I don't want to write ":mytag".
lizmat: returns the variables with the keys specified 21:00
sub EXPORT(@keys) { %EXPORTED.grep(*.key eq any(@keys)) } (where %EXPORTED was crafted from is export, supposedly)
21:03 colomon left, n0tjack joined 21:04 FROGGS left
leont How do I dynamically load a module? (IOW: a stringy require). require "foo" seems to expect a filename just like p5 21:12
PerlJam leont: my $mod = "Foo"; require ::($mod); # you mean like this? 21:14
leont Yes, that looks good to me :-)
21:19 flussence left, flussenc1 joined, flussenc1 is now known as flussence
lucs Where do I look in the docs to figure out "Bool:D"? 21:19
leont That's a type smiley 21:20
lucs Heh
pink_mist the :D means it needs to be defined
leont :D means defined, :U means undefined
lucs Hmm...
PerlJam lucs: doc.perl6.org/syntax/%3AD
lucs Okay, thanks. 21:21
21:22 rurban joined 21:23 xfix left 21:39 telex left 21:40 telex joined 21:45 skids left 21:46 tokuhiro_ joined
dalek kudo-star-daily: c6be89a | coke++ | log/ (9 files):
today (automated commit)
21:49
Hotkeys why does 21:50
m: say 1, 2, 4 ... 1000; 21:51
camelia rakudo-moar 75ac71: OUTPUT«(1 2 4 8 16 32 64 128 256 512)␤»
Hotkeys work fine
but
m: 0, 1, * + * ... 1000;
21:51 tokuhiro_ left
Hotkeys will refuse to work 21:51
camelia rakudo-moar 75ac71: OUTPUT«Memory allocation failed; could not allocate 1146880 bytes␤»
Hotkeys I know you can do 21:52
m: 0, 1, * + * ... * >= 1000;
camelia ( no output )
Hotkeys m: say 0, 1, * + * ... * >= 1000;
camelia rakudo-moar 75ac71: OUTPUT«(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597)␤»
Hotkeys for more or less the same idea 21:53
er
lizmat Hotkeys: this smells like a bug to me
Hotkeys m: say 0, 1, * + * ...^ * >= 1000;
camelia rakudo-moar 75ac71: OUTPUT«(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987)␤»
Hotkeys there we go
same idea now
:p
I thought so too 21:54
wasn't sure
I was hoping it would work on camelia so that I could know to just update my build 21:55
I would look for the bug myself but I have no idea where it might lie
22:00 smash left
lizmat TimToady seems to know a lot about them :-) 22:03
psch looks like only deduced sequences can have a non-exact stopper on the rhs of infix:<...> 22:06
m: say 2, 4, 6 ... 99
camelia rakudo-moar 75ac71: OUTPUT«(2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98)␤»
psch m: say 2, 4, 6, * + 2 ... 99
camelia rakudo-moar 75ac71: OUTPUT«(2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 …»
psch which really only makes sense from an implementation point of view, in my opinion
22:07 rurban left
psch Hotkeys: somewhere in src/core/operators.pm:105ff is where you'd want to look i think 22:08
AlexDaniel m: my $that's = 'cool'; say $that's 22:09
camelia rakudo-moar 75ac71: OUTPUT«cool␤»
psch m: say 2, 4, 6, * + 2 ... * == 99 22:10
camelia rakudo-moar 75ac71: OUTPUT«(2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 …»
leont is missing a wait method on Proc :-/ 22:11
I can start process and redirect IO, but I can't wait until it died AFAICT. It's strange.
22:12 vendethiel left
leont I could NativeCall to waitpid, but that feels rather dirty (and shouldn't be necessary) 22:12
Oh, and Proc.pid is empty, even better! 22:19
Hotkeys if I can find this bug I can officially say I helped with perl 6
leont Hmmm, it seems things work ok without waiting. Strange, but I can live with that 22:21
Hotkeys looks like it's probably in this gargantuan "SEQUENCE" sub in src/core/operators.pm 22:23
jdv79 Brobdingnagian? 22:30
i dont even know how to say that
lizmat PromoMultiPlus ?
jdv79 clearly a fringe word. yay thesaurus! 22:31
leont .tell FROGGS it seems the syntax I was looking for was: try { EVAL q{ use Terminal::ANSIColor; &colored } } // sub ($text, $) { $text }
yoleaux leont: I'll pass your message to FROGGS.
22:31 slobo left 22:32 Guest99329 left, loren left 22:33 slobo joined, xxx joined, xxx is now known as Guest22572 22:34 kid51 joined 22:36 firstdayonthejob left
dalek oblem_solver_tutorial: a36b3b8 | lichtkind++ | / (2 files):
polish and reorder
22:42
TimToady Hotkeys: with a user-provide iteration function, you are quite literally trying to solve the halting problem 22:45
you cannot determine which way the inequality should go, since the sequence is not guaranteed to be monotonic 22:46
22:47 tokuhiro_ joined
lichtkind tabloid news: larry wall solves halting problem 22:52
22:52 tokuhiro_ left 22:53 virtualsue left
TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... *)[^100] 22:55
camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... 20)[^100] 22:56
camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
TimToady so should that end when the sequence hits 21?
m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... 21)[^100] 22:57
camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
22:57 pmurias left
TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ...^ 21)[^100] 22:57
camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
TimToady though it's not stopping at 21 there, which is odd 22:58
*that* could be a bug...
23:00 RabidGravy left
AlexDaniel m: macro foo { 'say ' }; foo/hello/; 23:06
camelia rakudo-moar 75ac71: OUTPUT«===SORRY!===␤Too few positionals passed; expected 3 arguments but got 2␤»
AlexDaniel no line number?
psch AlexDaniel: it's backend-specific callsite stuff 23:17
j: macro foo { 'say ' }; foo/hello/; # note this is different
camelia rakudo-jvm 75ac71: OUTPUT«===SORRY!===␤Wrong number of arguments passed; expected 3..3, but got 2␤»
psch AlexDaniel: i'm pretty sure those aren't supposed to bubble up to Perl 6 level, but i don't know if encountering them in macros is grounds for a ticket 23:18
AlexDaniel: considering macros are still under heavy planning
AlexDaniel okay
TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... * == 21)[^100] 23:20
camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... * == 3)[^100]
camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3)␤»
TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... *|* == 21)[^100] 23:22
camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13)␤»
23:25 tokuhirom joined 23:26 TimToady left 23:27 BenGoldberg joined 23:28 _dolmen_ left 23:29 tokuhirom left 23:43 raiph joined 23:51 zakharyas joined 23:52 _dolmen_ joined
tadzik nine: yeah, we'll have to switch to syn-syn/ack-ack :P 23:55
nine: anyway, I had questions about Inline::Python and the way it handles KeyboardInterrupt, but it's more suited for /query :) 23:56