»ö« 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:07 Px12 left 00:09 raiph joined 00:15 dayangkun joined
raiph perlmonks.org/?node_id=1099984 and perlmonks.org/?node_id=1100217 # bugs? pebkacs? gotchyas? I plan to post a reply tomorrow if no one else does 00:25
00:25 raiph left 00:31 PZt left 00:41 avuserow left 00:52 avuserow joined 00:54 cognome left 00:55 cognome joined 00:57 yeahnoob joined 01:00 grettis_ joined 01:02 grettis left
grondilu m: role Foo {}; say $_ ~~ Foo for pi but Foo, [pi] but Foo; 01:04
camelia rakudo-moar 2b7e23: OUTPUT«True␤False␤»
grondilu m: role Foo {}; say ($_ but Foo) ~~ Foo for pi, [pi];
camelia rakudo-moar 2b7e23: OUTPUT«True␤True␤»
grondilu m: role Foo {}; my @a = map { $_ but Foo }, pi, [pi]; say $_ ~~ Foo for @a; 01:06
camelia rakudo-moar 2b7e23: OUTPUT«True␤False␤»
grondilu m: role Foo {}; my @a = map { my $ = $_ but Foo }, pi, [pi]; say $_ ~~ Foo for @a; 01:07
camelia rakudo-moar 2b7e23: OUTPUT«True␤True␤»
dj_goku ingy: you around? 01:23
01:27 pyrimidine joined
pyrimidine m: role doc { has $.doc is rw }; multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); say $x.dog.VAR.doc; 01:27
camelia rakudo-moar 2b7e23: OUTPUT«barks␤»
pyrimidine m: role doc { has $.doc is rw }; multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); $x.dog = 'Scooby'; say $x.dog.VAR.doc; 01:28
camelia rakudo-moar 2b7e23: OUTPUT«Cannot modify an immutable Scalar+{doc}␤ in block <unit> at /tmp/dwuHDyI3kd:1␤␤»
01:29 FROGGS_ joined
pyrimidine p: role doc { has $.doc is rw }; multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); $x.dog = 'Scooby'; say $x.dog.VAR.doc; 01:30
camelia rakudo-parrot 2b7e23: OUTPUT«Cannot modify an immutable value␤ in block <unit> at /tmp/in9iewFdsS:1␤␤»
pyrimidine p6: role doc { has $.doc is rw }; multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); $x.dog = 'Scooby'; say $x.dog.VAR.doc;
camelia rakudo-moar 2b7e23: OUTPUT«Cannot modify an immutable Scalar+{doc}␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-{parrot,jvm} 2b7e23: OUTPUT«Cannot modify an immutable value␤ in block <unit> at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Cannot extend category:trait_mod with subs at /tmp/tmpfile line 1:␤------> has $.doc is rw }; multi trait_mod:<is>⏏(Attribute $a, doc, $arg) { $a.container␤␤In parameter declaration, type…»
pyrimidine p6: m: role doc { has $.doc is rw }; multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); say $x.dog.VAR.doc; 01:31
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Cannot extend category:trait_mod with subs at /tmp/tmpfile line 1:␤------> has $.doc is rw }; multi trait_mod:<is>⏏(Attribute $a, doc, $arg) { $a.container␤␤In parameter declaration, type…»
..rakudo-{parrot,jvm,moar} 2b7e23: OUTPUT«barks␤»
01:32 FROGGS left
dalek p: b8d3495 | (David Warring [email@hidden.address] | examples/rubyish/ (2 files):
[examples/rubyish] added "undeclared variable" error message
01:59
02:03 xenoterracide left, cognome left, xenoterracide joined 02:04 cognome joined 02:08 cognome left 02:15 chenryn joined 02:24 kurahaupo left
japhb m: #|Foo␤role Foo { method foo { ... } } # BUG! 02:30
camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤ at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372 (…»
japhb The above is brought to you by something fishy with #| docs
I'm guessing it's forcing the type pun, and the resulting class then thinks it has not implemented the method .... 02:31
grondilu m: role Foo { method foo { ... } }
camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤ at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372 (…»
grondilu #| is not the pb
m: role Foo { method foo {...} }
camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤ at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372 (…»
japhb Weird, locally it would only happen if I had #| ... I wonder ... oh yes, this may be camelia trying to say the result 02:32
m: #|Foo␤role Foo { method foo { ... } }; 42
camelia ( no output )
japhb m: role Foo { method foo { ... } }; 42
camelia ( no output )
japhb m: role Foo { method foo { ... } };
camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤ at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372 (…»
japhb Yeah, you're right grondilu ... my local REPL was different, but it's a bit old. 02:33
grondilu m: role { method {} }; say "all clear"
camelia rakudo-moar 2b7e23: OUTPUT«all clear␤»
japhb 02:34
SYMBOL FOR NEWLINE
Gah
m: role Foo { method foo {} }; class Bar is Foo { } 02:36
camelia ( no output )
japhb ^^ grondilu: That's what without the ... it's not useful. :-(
grondilu m: role Foo { method foo {...} }; class Bar is Foo { } # should die 02:37
camelia rakudo-moar 2b7e23: OUTPUT«===SORRY!=== Error while compiling /tmp/dpjxKPCZ5H␤Method 'foo' must be implemented by Foo because it is required by a role␤at /tmp/dpjxKPCZ5H:1␤------> ␤»
grondilu {} is actually an implementation
pyrimidine I ran into this as well 02:38
japhb grondilu: Yes, understood. 02:39
pyrimidine S14 does mention something about this I think, re: stubbed methods having to be supplied from somewhere (though it's not exactly worded that way) 02:41
I wonder... 02:43
m: role Foo { method foo { ... } }; class Bar does Foo { method foo { ... } }; say "All clear"
camelia rakudo-moar 2b7e23: OUTPUT«All clear␤»
pyrimidine heh
japhb: so, you can apparently implement a stub with... a stub 02:45
02:45 kurahaupo joined
grondilu yeah { ... } is not the same as {...} 02:46
oh wait 02:47
m: role Foo { method foo { ... } }; class Bar does Foo {};
camelia rakudo-moar 2b7e23: OUTPUT«===SORRY!===␤Method 'foo' must be implemented by Bar because it is required by a role␤»
grondilu ah my bad
pyrimidine yadayadayada
grondilu m: role Foo { method foo { ...; } }; class Bar does Foo {}; 02:48
camelia rakudo-moar 2b7e23: OUTPUT«===SORRY!===␤Method 'foo' must be implemented by Bar because it is required by a role␤»
02:48 yeahnoob left
grondilu m: role Foo { method foo { 1;...; } }; class Bar does Foo {}; 02:48
camelia ( no output )
pyrimidine now that is interesting :)
02:49 vendethiel- joined
pyrimidine I tried that in the REPL and got a segfault 02:49
grondilu tries 02:50
no segfault here. Latest rakudo on Moar
02:50 vendethiel left
pyrimidine Linux? I'm on Mac. 02:51
grondilu linux
pyrimidine I ran into a malloc issue with the latest, am on 940066d
grondilu This is perl6 version 2014.08-314-g2b7e232 built on MoarVM version 2014.08-108-g93d47dd 02:52
pyrimidine This is perl6 version 2014.08-309-g940066d built on MoarVM version 2014.08-108-g93d47dd
02:53 noganex_ joined 02:56 noganex left 03:00 telex left 03:01 yeahnoob joined, jerrycheung joined 03:02 telex joined
dalek kudo/nom: f5ab10a | duff++ | src/core/Str.pm:
More performant Str.samecase
03:03
03:04 jerrycheung left 03:09 cognome joined 03:17 kaare_ joined 03:19 kurahaupo left 03:21 jerrycheung joined 03:22 kaleem joined 03:25 hagiri joined
[Coke] ZOMG DID YOU SPECTEST THIS TIME? 03:35
:)
03:39 grettis_ left 03:45 jaffa4 left
[Coke] looks like rakudo.moar's getting better; only 2 digits worth of failing tests. 03:47
PerlJam++
03:48 kaleem left 03:49 kaare_ left 03:50 JimmyZ joined
JimmyZ Was it known that t/spec/integration/advent2011-day07.t fails randomly with "No such method 'name' for invocant of type 'Mu'" ? 03:51
03:52 hagiri is now known as hag
PerlJam [Coke]: :-P 03:53
[Coke] JimmyZ: daily runs record test failures here:
github.com/coke/perl6-roast-data
you can check the history in the log/ file for the various rakudos to see if it's "known". 03:54
(by the automated process, if not by a human)
JimmyZ I see it :) 03:55
03:57 kurahaupo joined
PerlJam JimmyZ: my solution in Grammar::Profiler::Simple was to add BUILD and DESTROY to the list of methods to just pass through. 03:58
04:15 BenGoldberg left 04:19 jack_rabbit left 04:20 anaeem1 joined 04:22 tinyblak joined 04:28 dayangkun left, tinyblak left 04:36 pyrimidine left 04:38 chenryn left 04:42 kaare_ joined, dwarring joined 04:43 [Sno] left 04:44 dayangkun joined
dwarring looks at Grammar::Profile::Simple 04:45
04:50 chenryn joined 04:54 xenoterracide left 04:57 hag is now known as hagiri, mr-foobar left 05:07 rindolf joined
dalek ast: b6956cf | (David Warring [email@hidden.address] | packages/Advent/GrammarProfiler.pm:
[Advent::GrammarProfiler.pm] add BUILD and DESTROY to methods JimmyZ++ PerlJam++

Follow Grammar::Profiler::Simple - hopefully fixes recent failures
05:07
dwarring ^^ hope that runs better
05:09 grettis joined 05:29 chenryn left 05:31 colomon left, gfldex joined 05:38 hagiri left 05:41 jerrycheung left 05:42 chenryn joined 05:44 Ven joined 05:46 JimmyZ_ joined 05:47 JimmyZ left, JimmyZ_ is now known as JimmyZ 05:50 Ven left 05:53 tinyblak joined 05:57 dayangkun left 05:59 yeahnoob left
timotimo i wonder why jaffa4 (on the perl6 RT) uses a multi sub to NativeCall a single C function 06:09
06:10 kaleem joined, dayangkun joined
timotimo (not saying "why didn't jaffa4 use a normal sub instead!", we should really see if we can improve that error mesasge somehow) 06:11
06:12 yeahnoob joined
mberends timotimo: jaffa4 probably got the multi sub cargo-cult fashion from other examples 06:15
timotimo that's unfortunate
06:16 [Sno] joined
timotimo also: ohai mberends :) 06:17
mberends ohai timotimo :) 06:18
timotimo i still have that usb cable %)
06:20 chenryn left
mberends I have several others now too, but less colourful :) 06:20
timotimo however, it seems like the cable has died :( 06:21
06:22 chenryn joined
mberends cheap foreign imports! 06:22
timotimo just tried plugging in my phone to my computer with it and it neither charges nor gets noticed by the kernel
in the mean time, i've gotten "Amazon Basics™ Micro USB Cable"s and they seem to be more robust 06:23
06:24 jerrycheung joined 06:25 kurahaupo left
mberends does not give a product warranty with free USB cables ;-) 06:26
timotimo ah, that's fine :) 06:27
06:28 cognome left, cognome joined 06:29 mr-foobar joined, FROGGS_ left 06:30 JimmyZ_ joined
sergot hi o/ 06:31
06:31 JimmyZ left, JimmyZ_ is now known as JimmyZ 06:33 SamuraiJack joined, cognome left
timotimo hey there sergot 06:34
06:34 mberends left
sergot timotimo: o/ 06:34
06:37 anaeem1 left, FROGGS[mobile] joined, anaeem1 joined
timotimo huh. my little brownian tree code i put on rosettacode balloons up to quite a lot of ram usage when run with --profile 06:40
strange.
06:44 Px12 joined
sergot does panda works well on your boxes? 06:48
work 06:49
JimmyZ yeah
06:50 FROGGS joined
sergot it hangs on my box when running ./(re)bootstrap.pl 06:50
timotimo oh, are you on osx?
sergot no, it is ubuntu
timotimo no, this is patrick!
JimmyZ ubuntu 14.04 here
timotimo in that case: no clue :(
sergot :)))
hm 06:51
timotimo now my system is swapping ... i do hope this finishes ...
FROGGS sergot: try to make realclean in moarvm and make install, then pull latest rakudo and reconfigure and make install
timotimo ah, yes, that may help
i keep forgetting about that ...
sergot FROGGS: doing 06:52
timotimo hum. rakudo is pretty much death-swapping at this point ... 06:55
06:55 kaleem left
sergot FROGGS++ # it works! :) 06:56
FROGGS \o/ 06:57
07:11 SamuraiJack left
timotimo ... that can't be right ... the profile output balloons up to about 8gb of ram + 8gb of swap 07:17
07:17 mberends joined 07:18 virtualsue joined
timotimo the process itself only took 32 seconds to run :\ 07:18
moritz my spectest hangs in t/spec/integration/advent2009-day04.t, but it works fine when I run it isolation 07:20
timotimo moritz: maybe it has to do with being run from prove? 07:21
moritz timotimo: maybe
07:22 Px12 left
timotimo prove should also take a file rather than a directory as argument, right? 07:22
moritz running it like that works
PERL6LIB=lib prove -e ./perl6-m t/spec/integration/advent2009-day04.t
t/spec/integration/advent2009-day04.t .. ok
timotimo bleh >:(
darn heisentests 07:23
moritz tries the full spectest again
timotimo i wonder if i should just kill the perl6-m process; can't tell how far the generation of the profile data has gotten, sadly
07:26 zakharyas joined 07:27 spider-mario joined, kurahaupo joined
timotimo i think i may need a --profile-profile option 07:27
07:29 spider-mario left
moritz or maybe a --debug-profile option, that prints some status report 07:29
so that you can see where it hangs
timotimo perhaps
am i triggering some sort of infinite recursion? or infinite loop? or something like that? 07:30
a throw-rethrow-loop maybe?
*now* i have a profiler output 07:31
07:31 spider-mario joined
moritz so it wasn't quite infinite after all? 07:32
timotimo for a drastically reduced version of the program, which ran only 0.34s this time, i got a 30 megabyte json dump
... the profiler output is utterly useless ;( 07:33
moritz t/spec/integration/advent2009-day04.t hangs again in spectest :(
timotimo inclusive time is either NaN% or Infinity%
the exclusive times read something like 756316507022087.2ms
moritz m: say 756316507022087.2 / 1000 / 3600 / 24
camelia rakudo-moar f5ab10: OUTPUT«8753663.2757186019␤»
moritz m: say 756316507022087.2 / 1000 / 3600 / 24 / 365 07:34
camelia rakudo-moar f5ab10: OUTPUT«23982.639111557813␤»
timotimo yeah. not quite.
moritz just 24 millenia
sergot .seen carlin 07:37
yoleaux I saw carlin 10 Sep 2014 21:03Z in #perl6: <carlin> moritz++
mathw According to irssi, someone mentioned me over the last two days, but it's beyond my scrollback :( 07:39
timotimo 230322* timotimomoritz: in your mail about the Form module, you accidentally linked to mathw's
│ repository rather than perl6's
this one?
mathw (or it's a false positive)
07:39 JimmyZ_ joined
mathw that might've done it 07:39
:)
thanks
just wanted to make sure it wasn't something someone wanted a reply to 07:40
timotimo 222431* moritzmathw: ok, I've done the fork of Form into the perl6 organization
or that
mathw given recent discussions about Form, and my utter lack of use of /away
07:41 JimmyZ left, JimmyZ_ is now known as JimmyZ 07:42 FROGGS[mobile] left 07:47 JimmyZ_ joined 07:50 yeahnoob left, darutoko joined, tinyblak left 07:51 JimmyZ left, JimmyZ_ is now known as JimmyZ, Guest62656 left 07:52 skarn joined, skarn is now known as Guest42178 07:53 denis_boyun_ joined 07:55 yeahnoob joined 07:58 bjz left 08:02 grondilu left 08:03 Px12 joined, grondilu joined 08:04 grondilu is now known as Guest69681 08:08 kaleem joined 08:14 wenca joined 08:20 bjz joined 08:22 Guest69681 left 08:27 grondilu joined 08:29 itz_ joined 08:30 virtualsue left, JimmyZ_ joined, cognome joined 08:31 JimmyZ left, JimmyZ_ is now known as JimmyZ 08:32 itz left 08:37 dakkar joined 08:43 eiro joined 08:47 wolfram_ joined, colomon joined 08:48 jaffa4 joined
jaffa4 hi all 08:49
How do I look the ticket 122250?
moritz RT#122250
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122250
moritz jaffa4: follow the link
jaffa4 no permission to view ticket 08:50
FROGGS same for me 08:51
sergot same here
timotimo i also don't have permission to view the tickenwhen i'm logged in
jaffa4 ok. number was bad
08:51 wolfram_ left
FROGGS either that or it is in another queue we don't have access to 08:51
jaffa4 it is 122750 08:52
moritz 122250 is probably spam
08:53 grettis left
timotimo that one i can see 08:55
jaffa4: i'd be interested to know where you got the inspiration to use a multi sub for your TopWindow_TopWindow_c?
also, it seems weird to me that you'd want to hand back an OpaquePointer from the new method of your TopWindow 08:56
jaffa4 from C++ and this function is exported as C functrion , that is why _c
FROGGS jaffa4: but why is it a multi? 08:57
jaffa4 because c++ can have overloaded functions
and if they are important, this does not compile
imported
timotimo how does the C front-end deal with that?
jaffa4 by numbering the functions... the name because fuctionname2, functionnam3... 08:58
timotimo i wonder if multi subs work properly with nativecall
FROGGS timotimo: yes, they should
at least the MMD works... 08:59
08:59 wenca left
jaffa4 what is MMD? 08:59
FROGGS and you have to know symbols the C libary exports, whatever they are
timotimo multi method dispatch
FROGGS which is also in use for subs actually 09:00
jaffa4 so this is a bug, right? 09:03
timotimo yeah
but still, why "returns OpaquePointer"?
09:03 grettis joined
FROGGS but also, returning something from new that is not an instance of that class is wrong 09:04
jaffa4 not sure, maybe because I played with it to make it work
timotimo ah
FROGGS: only morally wrong, though :)
FROGGS yes :o)
jaffa4 even if it retuens TopWindow, it does not work 09:08
timotimo oh, could it perhaps have to do with * instead of ...? 09:09
jaffa4 no
timotimo OK
strange.
definitely strange.
09:16 jerrycheung left 09:17 virtualsue joined
Ulti whoa since those changes to list iter (I assume) my tests take 24 seconds instead of 32 YAY #perl6++ 09:19
that is some mighty big perf jump 09:20
and thats real code I would write every day not a twitchy micro benchmark 09:21
timotimo i really do hope we can get a few more jumps of that same magnitude in the very near future 09:22
Ulti yeah two more would do it for me >:3
timotimo (if you'd like, you could also post a --profile of that script, if it doesn't contain sensitive information)
Ulti I have already, its on the p6 reddit 09:23
timotimo you already looked it over and commented on list iter being 25% of the scripts time
I can run the profile again now if you like
timotimo: mattoates.co.uk/files/perl6/ 09:26
timotimo oh! 09:27
huh, i wonder if reporting of full vs non-full gc runs is broken since my branch was merged? 09:28
there's gc runs that take twice as long as the ones before or after themselves, but they are not marked "full"
09:36 kurahaupo left
colomon woah, smoke test runs pretty quickly at the moment, and was very clean this time around: host07.perl6.com:8080/report 09:39
moritz I've now added rakudo.org/smoke as a redirect to host07.perl6.com:8080/report 09:43
colomon moritz++ 09:46
JimmyZ doubts every reify call cause a GC ... 09:49
09:49 cognome left 09:59 kaleem left 10:00 yeahnoob left 10:10 kaleem joined 10:15 bjz left 10:29 kurahaupo joined 10:34 kurahaupo left 10:35 kurahaupo joined, kurahaupo left, kurahaupo joined, kurahaupo left, Rotwang joined 10:38 kurahaupo joined 10:44 Alula left
dalek kudo/nom: 2b1060b | jonathan++ | src/main.nqp:
Don't sink last mainline statement if type object.

Avoids bogus errors when a role is the final thing in the mainline.
10:47
nwc10 gah, the goalposts moved again while I was running tests :-) 10:48
11:00 jerrycheung joined 11:01 oetiker left 11:04 kurahaupo left
carlin how are we supposed to test what's broken if jnthn++ keeps fixing things :p 11:09
11:29 wenca joined 11:30 oetiker joined
dalek kudo/nom: db6cf0c | (Elizabeth Mattijsen)++ | src/core/Str.pm:
Minor performance tweaks
11:40
11:44 chenryn left
dalek kudo/nom: f97cc9d | (Elizabeth Mattijsen)++ | src/core/Str.pm:
Don't bother substringing if we don't need to
11:53
jaffa4 if I remove multi in frnt of sub... there is no error
woshty Is there a what works with what compiler matrix somewhere? 11:57
lizmat m: "foo".lines.WHAT.say; "foo".words.WHAT.say # does anybody see a problem with this behaviour ?
camelia rakudo-moar 2b1060: OUTPUT«(List)␤(Str)␤»
lizmat aka, a one element .lines is a List, a one element .words is a Str 11:58
11:58 Px12 left
jnthn woshty: perl6.org/compilers/features 11:58
grondilu I would personally expect .words to always return a list. 11:59
m: say "foo".words.elems 12:00
camelia rakudo-moar 2b1060: OUTPUT«1␤»
lizmat S32/Str:words would imply that the current implementation is incorrect
S32/Str:357
synopsebot Link: perlcabal.org/syn/S32/Str.html#line_357
moritz how so? because it doesn't implement limit? 12:02
lizmat because it returns Str on 1 word strings
rather than a 1 elem List
12:03 telex left
moritz m: say 'foo'.comb(/\S+/).^name 12:03
camelia rakudo-moar 2b1060: OUTPUT«List␤»
12:03 Px12 joined
lizmat m: say "foo".words.^name 12:04
camelia rakudo-moar 2b1060: OUTPUT«Str␤»
grondilu that seems wrong indeed
12:04 telex joined
lizmat m: say "foo foo".words.^name 12:04
camelia rakudo-moar 2b1060: OUTPUT«Parcel␤»
jnthn jaffa4: NativeCall makes no claim to support putting multi on "is native" things. If it works, then (a) it's by luck, and (b) it's not covered by the test suite nor documented, so it's unwise to rely on it.
lizmat I was looking at giving Str.words the Str.lines treatment :-) 12:05
jnthn Might be able to make it work in the future, but for now I'd just avoid it.
dinner &
jaffa4 jhthn: thanks, it does not claim the opposite either.
jnthn: of course , I know now what the case is 12:06
12:31 JimmyZ_ joined, wenca left 12:34 kaare_ left, JimmyZ left, JimmyZ_ is now known as JimmyZ
dalek ast: d7f03fc | moritz++ | integration/advent2011-day23.t:
Fix integration/advent2011-day23.t

no idea why a Bag was used here before, a set seems to work fine
  (and does not rely on now-deprecated, implicit coercions)
12:34
moritz IWBN if sombody with more set+bag+sethash fu could look over the remaining spectest failures 12:35
jaffa4 How do I call a multi method outside its class? normal call does not make it 12:36
moritz jaffa4: then you did something wrong, or I misunderstood your question
m: class A { method x() { 1 }; method x($) { 2} }; say A.new.x; say A.new.x(1) 12:37
camelia rakudo-moar 2b1060: OUTPUT«===SORRY!=== Error while compiling /tmp/a5Qw0hB59P␤Package 'A' already has a Method 'x' (did you mean to declare a multi-method?)␤at /tmp/a5Qw0hB59P:1␤------> ␤»
moritz m: class A { multi method x() { 1 }; multi method x($) { 2} }; say A.new.x; say A.new.x(1)
camelia rakudo-moar f97cc9: OUTPUT«1␤2␤»
jaffa4 multi method Run(int32 $appmodal) ... I call it like this $top.Run(0);
moritz jaffa4: see above, a call to a multi method from outside the class. And it works fine
jaffa4 and I get Cannot call 'Run'; none of these signatures match: 12:38
if I remove multi... it is ok
moritz jaffa4: please produce a small, self-contained example with which I can reproduce that.
jaffa4: if the trouble is in your code, the process of reducing it down to the essentials will likely show you what the problem is 12:39
jaffa4: and if not, we have a perfect example for a test case and a bug report
jaffa4 there is one megabyte dll as well 12:40
nine jnthn: how is MoarVM supposed to know when I'm not using NativeCall callbacks anymore so it can free the memory (and objects referenced from the closures)? 12:41
moritz jaffa4: I don't believe you need that to reproduce your problem
12:42 dalek left
jaffa4 I need to create an instance of the class which involves calling the dll 12:43
12:43 dalek joined, ChanServ sets mode: +v dalek
moritz jaffa4: have you tried if the same problem exists without any nativecall involvement? 12:43
also you could try to call yourclass.CREATE, which gives also a (minimal, uninitialized) instance 12:44
12:45 guru joined, guru is now known as Guest6938, Guest6938 is now known as ajr_
jaffa4 moritz: ok reproduced it 12:47
without nativecall involvment 12:48
moritz \o/
jaffa4 pastebin.com/SJ6LYsEB 12:49
my guess it does not like int32
12:50 FROGGS[mobile] joined
moritz m: class TopWindow {multi method Run(int32 $appmodal) returns int32 {3}}; TopWindow.new.Run(5) 12:50
camelia rakudo-moar f97cc9: OUTPUT«Cannot call 'Run'; none of these signatures match:␤:(TopWindow: int32 $appmodal, *%_ --> int32)␤ in block <unit> at /tmp/f5gxhInAjm:1␤␤»
moritz m: 5 ~~ int32 12:51
camelia ( no output )
moritz m: say 5 ~~ int32
camelia rakudo-moar f97cc9: OUTPUT«False␤»
moritz that explains a lot
my native int32 is repr('P6int') is Int is nativesize(32) { } 12:52
m: say int32 ~~ Int
camelia rakudo-moar f97cc9: OUTPUT«True␤»
moritz m: say 5.^name
camelia rakudo-moar f97cc9: OUTPUT«Int␤»
jaffa4 Is this a bug? 12:53
moritz I don't know. 12:54
jaffa4 feature?
moritz rakudo defines int32 as a subclass of Int, and so it's correct that an Int instance doesn't conform to the type int32
but I don't konw if int32 as a subclass of Int is correct
and if yes, how to write int32 literals 12:55
grondilu m: say (my int32 $ = 5) ~~ int32;
camelia rakudo-moar f97cc9: OUTPUT«False␤»
grondilu lol, did not expect that
12:55 FROGGS left
jaffa4 is int32 signed or unsigned? 12:56
grondilu signed
jaffa4 Is there unsigned version of it?
grondilu uint32
m: say (my int32 $ = 5).^name
camelia rakudo-moar f97cc9: OUTPUT«Int␤»
12:56 anaeem1 left 12:57 kaleem left
grondilu m: sub foo returns int32 { my int32 $ = 1 }; say foo 12:57
camelia rakudo-moar f97cc9: OUTPUT«1␤»
grondilu m: sub foo returns int32 { my int32 $ = 1 }; say foo.WHAT
camelia rakudo-moar f97cc9: OUTPUT«(Int)␤»
jaffa4 $ as variable name? 12:58
grondilu anonymous var
fairly common P6 idiom 12:59
jaffa4 same as $_?
grondilu nope
$_ is the topic variable. Not anonymous.
it's name is '_'
*its
jaffa4 m: my $="invisible"; print $; 13:00
camelia rakudo-moar f97cc9: OUTPUT«use of uninitialized value <element> of type Any in string context in block <unit> at /tmp/RYMePjzpsQ:1␤␤»
grondilu anonymous variables are single used. Only used for syntactic purpose or as a placeholder.
(or for even more subtle stuff) 13:01
so in 'my $="invisible"; print $;', there are actually two anonymous variables. 13:02
13:02 jerrycheung left
grondilu tthe second being un-initialized. 13:02
jaffa4 ok
13:03 dakkar left 13:04 Remosi left
moritz grondilu: actually there is another use: forcing a context 13:06
dalek p: cf15b57 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION to get upgraded libuv FROGGS++
moritz m: my $cnt = 0; for my $ = (1, 2, 3) { $cnt++ }; say "$cnt iterations"
camelia rakudo-moar f97cc9: OUTPUT«1 iterations␤»
grondilu context is a syntactic concept, isn't it? 13:07
(well, not really I guess) 13:08
anyway it probably fits the 'even more subtle stuff'
lizmat m: my $cnt = 0; for my @ = (1, 2, 3) { $cnt++ }; say "$cnt iterations"
camelia rakudo-moar f97cc9: OUTPUT«3 iterations␤»
13:09 spider-mario left
grondilu std: for my @ = 1, 2 {...} # wondering if this is valid syntax 13:11
camelia std 53b3ca6: OUTPUT«ok 00:01 127m␤»
13:13 bjz joined 13:15 mberends left 13:17 dakkar joined
JimmyZ perl6 -e 'loop { start { say "hello" } }' # fails randomly with different error 13:19
13:21 pat_js joined
moritz "works" fine here 13:21
JimmyZ: what kind of errors do you get?
PerlJam I get a core dump when I send it a SIGINT, but otherwise it seems fine here too. 13:23
FROGGS[mobile] moritz: in case camelia does not get updated, you'd have to make realclean in MoarVM
dalek kudo/nom: c3bd133 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
Get latest Moar with lib_uv upgrade, FROGGS++
FROGGS[mobile] such karma *g*
JimmyZ moritz: segfault or 'Unhandled exception: Cannot invoke null object '
PerlJam FROGGS++ have some more! :) 13:24
FROGGS[mobile] :o)
JimmyZ moritz: or hangs
PerlJam JimmyZ: what OS are you on?
lizmat Files=916, Tests=33714, 166 wallclock secs ( 8.89 usr 3.32 sys + 997.12 cusr 133.54 csys = 1142.87 CPU) 13:25
errands&
13:25 JimmyZ_ joined
JimmyZ_ or "No such method 'vow' for invocant of type 'Any'" 13:26
I got at least 4 error msg
moritz FROGGS[mobile]: ok, I've done a realclean now, should work out automagically on next rebuild
FROGGS[mobile] awesome
PerlJam JimmyZ: that second one is weird. Seems like you'd only get it if Promise.new didn't actually return a Promise. 13:27
JimmyZ_ which looks like a gc moving bug ...
13:29 JimmyZ left, JimmyZ_ is now known as JimmyZ
JimmyZ likes like "hangs" is easy to catch 13:30
because most time is hangs
PerlJam Maybe hangs because you've saturated the scheduler. :) 13:31
JimmyZ don't know, since it may be segfault or other error 13:32
PerlJam oh, I just got mine to hang and then segfault. 13:33
(though, I did add a counter to the output so that I could see some difference) 13:34
hello 44061
Cannot assign to an immutable value
and I just got that too
But I'm going to keep with "saturated scheduler" and not worry about it too too much for now :) 13:35
JimmyZ gist.github.com/zhuomingliang/135d...33ee680470 13:36
I got a bt with segfault or hangs
PerlJam yeah, I get random-ish errors too (eventually) 13:38
Unhandled exception: getlex: outer index out of range
Segmentation fault (core dumped)
JimmyZ OK, I got new error 'Cannot assign to an immutable value', but I can't get the bt 13:39
PerlJam JimmyZ: while probably indicative of a problem somewhere, I don't see this being a common use-case for Promise.start :)
13:41 JimmyZ_ joined
JimmyZ_ PerlJam: I know nothing about Promise, since it got segfault, I think there is a bug in MoarVM :P 13:42
13:42 mr-foobar left 13:43 grettis left 13:44 jerrycheung joined
PerlJam JimmyZ_: aye. (I just ran it with perl6-j and it's still chugging along without hiccup) 13:44
13:44 JimmyZ left
dalek kudo-star-daily: 3342d7d | coke++ | log/ (14 files):
today (automated commit)
13:44
13:45 JimmyZ_ is now known as JimmyZ, jerrycheung left
PerlJam JimmyZ: maybe mention it on #moarvm too ? 13:46
13:46 fhelmberger_ joined
JimmyZ ah... I see an error in segfault 'Internal error: multiple ex_release_mutex' 13:46
I think jnthn++ will see the backlog here 13:48
13:50 jerrycheung joined, fhelmberger left 13:51 fhelmberger_ left, jerrycheung left
gtodd can the log parsing "benchmark" recently posted on perlmonks (perlmonks.org/?node_id=1099617) go faster *without* the eventual "Big List Refactor" ? I guess I mean are there other low hanging pieces of fruit? 13:54
because "Big List Refactor" sounds ... errm "big"
13:55 kaleem joined
Timbus "so I'm not confident that Perl6 will ever be anywhere near Perl 5 for common use cases such as this." 13:56
13:57 JimmyZ_ joined
gtodd well if perl6 is twice as slow for parsing giant logfiles (errm 2 seconds instead of 1) but can do 1000 other amazing things I'll take that :-) 13:58
13:59 JimmyZ left, JimmyZ_ is now known as JimmyZ
Timbus well anyway, a couple days ago optimizations to lines, chomp, -n, and something in the parser were all committed, so.. 14:00
oh and reify
gtodd if 2 minutes versus 1 second is nearly entirely due to the way p6 does Lists then the"Big List Refactor" timotimo mentioned then that'd be part of christmas :-)
PerlJam cd 14:01
gtodd was trying to find discussions of the perl6 "Big List Refactor" to see if folks were afraid or excited :-) 14:02
Timbus mmm there's a good chance. a 100k line file spent a huge amount of its time in the lazy list code when i last tested it
PerlJam gtodd: probably some combination of excited and afraid :)
gtodd heh 14:03
[Coke] one of the star module failures: github.com/cosimo/perl6-digest-md5/issues/6 14:06
14:06 SamuraiJack joined 14:07 jerrycheung joined 14:08 ChoHag joined
ChoHag Is the genome the ultimate expression of TIMTOWTDI? 14:08
14:10 grettis joined
gtodd anyway on some of my log files (shorter maybe) the difference was 1 second versuse 2.4 seconds .... it just seemed that beyond a certain size perl6 starts to assume a lazy infinite list and behaves accordingly (or something like that) ... As a mere user I'm *totally guessng* it's the advanced lazy list abilities that slow things down 14:10
and in the last few days the performance difference went from 1 second versus 2 minutes to 1 second versus 88 seconds ... without the "Big List Refactor" 14:11
ChoHag: hi 14:12
ChoHag: you are famous ... to me ... at least on this FreeBSD system :-)
14:14 grettis left 14:15 JimmyZ_ joined
gtodd ChoHag: I can't get perl6-p to build and nqp-p to build ... (something to do with linking dynacall ?) and your comments on IRC were the closest I came to seeing someone with a similar problem 14:16
leont hoelzro: github.com/Leont/tap-harness6/blob...tor-more.t 14:17
14:17 JimmyZ left
jaffa4 perl6 seems so complex 14:18
14:18 JimmyZ_ is now known as JimmyZ
gtodd jaffa4: NativeCall makes it all worthwhile :-) 14:19
jaffa4 How so?
gtodd hehehe
well look at the NativeCall based implementation of a markdown parser that was recently added to the "ecosystem" .... 14:20
hmm possibly installable with panda
masak there's a NativeCall based Markdown parser? cool!
14:20 Alina-malina left
jaffa4 its syntax is ok 14:20
14:21 JimmyZ_ joined, Alina-malina joined
jaffa4 every language has such option 14:21
this does not make Perl6 special
gtodd masak: errm markdown compiler
masak jaffa4: you are such a bundle of joy!
gtodd github.com/kanatohodets/p6-text-ma...n-discount
masak affectionately pulls on the cheeks of jaffa4 14:22
gtodd masak: heheh
jaffa4 you need to know what makes Perl6 special
gtodd it's the love
14:22 JimmyZ__ joined
jaffa4 it has the most amount of operations 14:22
masak jaffa4: it's the only language where the topmost class is the sound a cow makes.
jaffa4 operators 14:23
14:23 JimmyZ left, JimmyZ__ is now known as JimmyZ
masak it has a lot of operations, too. 14:23
gtodd: I don't see it in the modules.perl6.org list -- can we add it there? 14:24
ChoHag gtodd: dynacall needs PIC
jaffa4 what PIC?
ChoHag ISTR that the build process doesn't include -fPIC in the cc command.
Although I think it got fixed.
gtodd there should be a method .love that shows what is to love .... could allow people to add to list hosted on the perl6.org git server where the say what they like/love about a given class or object ... with code samples of course 14:25
ChoHag When I hit it I just built dynacall by hand and then carried on.
gtodd ChoHag: hmm ok
ChoHag I think it got fixed though.
jaffa4 anonymous vars
gtodd ChoHag: paste.scsys.co.uk/422888 was what I had 14:26
14:26 JimmyZ_ left, Alina-malina left
gtodd ChoHag: so I will find where to add that ... or hope it has been added ... haven't tried to build perl6-p for a week or so 14:26
ChoHag I've been away from programming for a few weeks now. 14:27
14:27 Alina-malina joined
ChoHag Money needs to be earend. 14:27
gtodd masak: that native based markdown thing is not my work :-) I just am impressed by it
14:28 treehug88 joined
tadzik where is it? 14:29
can't find anything on modules.perl6.org
gtodd tadzik: github.com/kanatohodets/p6-text-ma...n-discount
tadzik ::Discount is the new ::XS :PF 14:30
14:30 JimmyZ_ joined
gtodd hmm wait a *second* what about NativeCall and libperl.so !? 14:32
14:32 JimmyZ_ left, pyrimidine joined, JimmyZ left, xiaomiao left
carlin gtodd: Inline::Perl5 ? 14:33
14:35 xiaomiao joined
gtodd smacks gob ... 14:36
of course :)
carlin I love it. No module for X yet.. just write some wrapper functions around the Perl 5 module and call them with I::P5, problem solved 14:37
woshty jnthn: thx 14:38
pyrimidine carlin: it's pretty genious, actually. nine++
masak nince++ 14:40
er, nine++
pyrimidine is looking at NativeCall for various bioinformatics applications
masak nine++ # nice! :)
14:40 mr-foobar joined
gtodd carlin: you are talking like laziness is virtue or something 14:41
btyler re Text::Markdown::Discount, I had a few things I wanted to do prior to adding it to the ecosystem
ChoHag carlin: That sounds like a module for X to me. 14:42
btyler firstly more tests/structure the doc a bit more, but also (and this is a bigger one) figure out what the standard way to handle native lib installations for nativecall modules
14:42 kaare_ joined
gtodd carlin: hmm when you say "X" do you mean X as in "x.org" ? :-D 14:42
ChoHag Considering the fucked up dependencies some apps or libraries have, a mere language which happens to be pretty much ubiquitous already is hardly overkill.
btyler since in the case of discount, it needs a particular configure flag (--shared) so NativeCall can work with it
carlin gtodd: err, no, where X is any module. In my case it was Crypt::CBC 14:43
gtodd carlin: ;-) j/k
carlin :p
btyler (the same issue is what's keeping me from adding JSON::Jansson to the ecosystem)
nine carlin: does this mean that you are already using Inline::Perl5 for something? 14:44
14:44 brrt joined
gtodd so is the attraction that NativeCall easy and fast unlinke XS which is fast but not always easy? 14:44
gtodd is not C fluent
pyrimidine btyler: can you bundle discount w/ your distribution (submodule), then build it yourself as required? 14:45
14:45 dwarring left
carlin nine: sort of. the "something" is currently a broken mess but the Inline::Perl5 parts work quite well 14:45
nine: github.com/carbin/stomp/blob/master/AES256.pm6
btyler pyrimidine: yep, was thinking about that approach, just not sure how to make that play nicely with panda
NativeCall has been a joy to work with for me, and I've never written a line of C 'in anger' 14:46
pyrimidine yeah, would have to look at the build step w/ panda, see how it can be hooked in I suppose
14:46 brrt left
btyler some knowledge of C memory model was helpful for discount, since I ended up using a hack to get string buffers in and out 14:47
14:47 guru joined
btyler but for JSON:Jansson it was pretty smooth sailing the whole way, mostly spent my time figuring out p6 stuff rather than C stuff 14:47
14:47 guru is now known as Guest56796 14:48 ajr_ left
pyrimidine btyler: but the cool thing is, you can run a 'hack' (workaround) for the time being until something better comes along. Either that or you build the 'something better' 14:48
either way, you still get things done :)
carlin btyler: take a look at LibraryMake, and what eg. sergot's OpenSSL does to make it installable with Panda 14:50
btyler ooh, cool, thanks carlin
will do
pyrimidine carlin++ # will have a look at that myself
carlin I've found retupmoca++'s LibraryMake to be extremely useful 14:51
hoelzro leont: nice! 14:54
14:56 SamuraiJack_ joined
jaffa4 What is special about Text::Markdown::Discount? 15:00
gtodd love 15:05
15:09 brrt joined 15:10 jerrycheung left, grettis joined
masak jaffa4: a module doesn't have to be special compared to other languages in order to be useful to Perl 6 users. 15:13
jaffa4 masak: I forgot to respond... you are too kind...
15:15 grettis left
jaffa4 masak: certainly... it can be ordinary, mundane, practical 15:15
masak: if I held a lecture on Perl6 I would have to tell the audience why they should use Perl6... what special about it compared to myriad of languages,,,,,, 15:17
moritz jaffa4: but in a lecture about Perl 6, you wouldn't have to tell why a specific module is special 15:18
gtodd talk about the features and let the audience decide 15:19
15:19 zoosha left
jaffa4 moritz: one could be curious.. why this parser... they are many parsers.. Why would I use that perser? What are its advantages and disadvatages compared to other? There is build Perl 6 parser.. How can it be compared to that? 15:21
moritz: supposing I would like to make an informed choice
moritz jaffa4: yes, one could be curious. Then one would start to research, and compare alternatives. 15:22
gtodd hmm not many/any(?) REPL enhancing modules on modules.perl6.org/ ... I remember this REPLHelper trick perlgeek.de/blog-en/perl-6/2013-repl-trick.html ... how best to create something that saves the REPL history (to ~/.p6REPL_history say) and then could load from it ....
15:22 SamuraiJack_ left
jaffa4 moritz: If I want to parse something... I would like to know if this is fast enough... or is it easy to use? can it handle grammar I would to parse? 15:24
moritz jaffa4: which are quite different questions than "is it special?"
gtodd why not pretend you are the Oracle chief engineer giving a talk about Solaris ... does the whole world need to know it's "more special" than Windows or should you just show what you know and demo ... 15:26
brrt if i was an oracle chief engineer, i'd play some FUD about windows on the server 15:28
(which is deserved given my recent experiences)
gtodd :-D
deciding between solaris and windows seems so last decade :) 15:29
but someone's got to keep the cloud running
brrt i wish
15:30 amkrankruleuen left
gtodd brrt: lol 15:30
brrt not, by the way, that it doesn't /work/, per se
leont Meh, trying to precompile my code, but getting the error «cannot stringify this» :-s
brrt it's just that the setup that my dayjob company has chosen is not a good fit for windows
15:31 amkrankruleuen joined
[Coke] m: say ~this 15:33
camelia rakudo-moar c3bd13: OUTPUT«===SORRY!=== Error while compiling /tmp/KCn93Zso0n␤Undeclared routine:␤ this used at line 1␤␤»
[Coke] it's a fair cop.
jnthn leont: I presume not the case of that I fixed a couple of days back? Granted, that wasn't in pre-comp...
15:34 JimmyZ joined
leont No idea, but my rakudo is only a 2 days old 15:34
15:34 zakharyas left, Akagi201 left 15:35 Akagi201_ joined
leont It's a 2014.08-282-g705e7b8 15:35
jnthn leont: OK, then you have that previous fix 15:36
15:36 denis_boyun_ left 15:39 JimmyZ left, Akagi201_ left
masak 'night, #perl6 15:39
nine 'night, masak 15:40
btyler jaffa4: I think the neat thing about NativeCall bindings in p6 is that they're -so easy- to write. Text::Markdown::Discount itself might not be anything special, but compare the code there to something like github.com/davidfstr/rdiscount/
gtodd btyler: :) 15:41
++
how do I find out about Noted and note() ? what are they? 15:43
carlin out of curosity, what is it that makes `rc-dragon-curve 20` take 2 minutes (vs. 2 seconds for Perl 5) 15:44
japhb carlin: Might be worth --profile'ing it 15:45
moritz most likely ListIter.reify and MapIter.reify 15:46
aka list iteration
carlin ah, so Great List Refactor will fix it
moritz still, might be worth checking 15:47
15:47 akaseki left 15:48 akaseki joined 15:50 Akagi201 joined 15:52 zoosha joined 15:57 pat_js left 16:00 exixt joined 16:02 exixt left
carlin viennan.net/profile-1410451137.12885.html 16:04
timotimo ah, without jit? 16:08
src/gen/m-CORE.setting:7868 ← don't even have to look at the source any more to know that this is part of reify ...
carlin I never remember to enable jit when building, it needs to be the default :p 16:09
I'll redo it with jit
timotimo afk again 16:11
i had a local change that could have made jit default, but i didn't have the opportunity to test it yet
16:11 grettis joined
gtodd the CORE.setting files have note() but it's not documented :-) it seems like a .say that prints to stderr 16:12
TimToady yes it is, S32/IO:168 16:13
synopsebot Link: perlcabal.org/syn/S32/IO.html#line_168
gtodd oh yeah sorry I meant on docs.perl6.org .... 16:14
the synopses have *everything* :-)
TimToady I wish 16:15
gtodd wondered if it could be used to save the repl history somehow ... but running the repl inside tmux is my current method
16:15 jack_rabbit joined 16:16 grettis left
gtodd that has the virtue or not requiring anything to be done .... zen of !doing and all that 16:16
carlin ohh jit shaves about 30 seconds off it 16:20
dalek rl6-roast-data: 80230e8 | coke++ | / (6 files):
today (automated commit)
16:26
16:27 alexghacker joined
[Coke] rakudo parrot horribly broken. only -8- passing tests. 16:28
carlin woah :(
[Coke] jvm: down to 91 failures; moar - 69; moar-with-jit the favorite at 68 16:29
carlin did moar fail an extra flappy test? or is there actually a test that moar-jit passes that moar doesn't? 16:30
[Coke] first few failures at least in parrot are complaining about Cannot call 'say'; none of these signatures match:
:(Obsolete:D: *%_)
:(Mu: *%_)
carlin: too many fails at the moment for me to investigate that one.
you can, however: check out github.com/coke/perl6-roast-data/b...ummary.out vs. github.com/coke/perl6-roast-data/b...ummary.out 16:31
looks like test file is S17-supply/start.t 16:32
[Coke] tries to figure out who broke parrot THIS time. :P
16:32 dayangkun left
[Coke] looks forward to this being automated! ;) 16:33
moritz if only 6 tests pass, it's probably a Test.pm problme
which would make it likely to be commit ac4b214710536bad55c8f8a3f9e38d8e930d31b2
[Coke] r: say 3
camelia rakudo-{parrot,jvm,moar} c3bd13: OUTPUT«3␤»
[Coke] .... with 2014.08-315-gf5ab10a, "./perl6 -e 'say 3'" gives the bare say warning 16:34
moritz ouch.
16:34 exixt joined, exixt left
[Coke] ... spec test run happened to catch on perljam's samecase commit... 16:35
rebuilding parrot on that box with the 4 or so commits that come after... 16:37
carlin timotimo: with jit; viennan.net/profile-1410452880.98065-jit.html 16:40
TimToady so...is there any particular reason we don't support file/line directives that will tell us the original file/line rather than gen/m-CORE? 16:43
seems like that would be LHF
16:43 spider-mario joined, virtualsue left
TimToady well, in a pretty tall tree... 16:43
16:44 Alina-malina left
leont Managed to precompile (seems I made a small error in the --target value), but now it gives new errors (Could not find symbol '&Through')" that it doesn't give when running without precompile :-/ 16:44
Seems inner classes become unfindable 16:45
TimToady &Through is not a class name 16:47
16:47 Guest56796 left 16:48 guru joined, guru is now known as Guest46271
TimToady perhaps something is gluing on an unwarranted &? 16:48
16:48 Guest46271 is now known as ajr_
retupmoca leont: possibly the same as this issue? gist.github.com/retupmoca/6def9837388382a054b9 16:48
TimToady noticed yesterday that require assumes all imports have sigils... :/
leont retupmoca: looks familiar 16:49
TimToady m: require Test <foobar>; foobar 16:50
camelia rakudo-moar c3bd13: OUTPUT«Trying to import from 'Test', but the following symbols are missing: foobar␤ in sub REQUIRE_IMPORT at src/gen/m-CORE.setting:18044␤ in block <unit> at /tmp/RzsdN654fh:1␤␤»
TimToady m: require Test <ok>; ok 1,"foo"
camelia rakudo-moar c3bd13: OUTPUT«===SORRY!=== Error while compiling /tmp/dwqAEItQuB␤Two terms in a row␤at /tmp/dwqAEItQuB:1␤------> require Test <ok>; ok ⏏1,"foo"␤ expecting any of:␤ postfix␤ infix stopper␤ infix…»
retupmoca is going to create a moarvm github issue on that when he gets around to it...
moritz looks legit to me.
TimToady: otherwise, we wouldn't know if a constant/type/whatever or a sub is being imported 16:51
TimToady m: require Test <&ok>; ok 1,"foo"
camelia rakudo-moar c3bd13: OUTPUT«ok 1 - foo␤»
16:51 kaleem left
TimToady m: require Test; say Test 16:51
camelia rakudo-moar c3bd13: OUTPUT«===SORRY!=== Error while compiling /tmp/3rDdXxo4QE␤Undeclared name:␤ Test used at line 1␤␤»
TimToady m: require Test <Test>; say Test
camelia rakudo-moar c3bd13: OUTPUT«Trying to import from 'Test', but the following symbols are missing: Test␤ in sub REQUIRE_IMPORT at src/gen/m-CORE.setting:18044␤ in block <unit> at /tmp/Uvf0cFi0R5:1␤␤»
moritz m: use Test; say Test
camelia rakudo-moar c3bd13: OUTPUT«(Test)␤»
moritz m: require Test; say ::('Test') 16:52
camelia rakudo-moar c3bd13: OUTPUT«(Test)␤»
TimToady require is supposed to at least stub the symbol
moritz TimToady: it tries to import Test from namespace Test, but there's no Test::Test
it is?
16:53 Px12 left
TimToady S11:323 assumes that "Sense" is imported 16:55
synopsebot Link: perlcabal.org/syn/S11.html#line_323
16:58 Alina-malina joined, dakkar left
jaffa4 Is there compartible format with int32? 16:58
TimToady native integers should just work as if promoted to Int, as far as formatting goes, though of course the optimizers is allowed to bypass that 17:00
*zer
TimToady is guessing what you mean by "compartible" though
[Coke] latest rakudo does not fix parrot failures.
17:02 Alina-malina left
jaffa4 compatible... 4 is not translated into int32... what type can I use which is the same as int32 but 4 can become it? 17:02
17:03 brrt left, Alina-malina joined
TimToady the fact that 4 cannot become an int32 is simply a bug, in my estimation 17:03
jaffa4 Have you read today\s conversion? 17:04
moritz how should it become an int32?
TimToady yes
FROGGS[mobile] A string is also accepted as Str and str...
but str is not a subset 17:05
TimToady native integer types are to be treated as storage types, which are like coercion types based on Int, but we're still weak on coercion types
I consider int32 to be int32(Int)
jaffa4 the method could accept Int... then cast it into int32.... 17:08
TimToady that's precisely what the int32(Int) notation means 17:09
17:09 ajr_ left
TimToady but it's NYI 17:09
jaffa4 m: print int32.min; 17:10
camelia rakudo-moar c3bd13: OUTPUT«Inf»
jaffa4 m: print int32.max; 17:11
camelia rakudo-moar c3bd13: OUTPUT«-Inf»
TimToady note, however, that if you have both int32(Int) and Int variants in multis, the Int is the same nominal type, so we'd have to treat the coercion as a constraint if it were going to try that first
otherwise it'd be formally ambiguous
jaffa4 m: print Int.max;
camelia rakudo-moar c3bd13: OUTPUT«-Inf»
jaffa4 m: print Int.min;
camelia rakudo-moar c3bd13: OUTPUT«Inf»
jaffa4 Is that ok?
TimToady that looks like an accident 17:12
m: say [max] Int
camelia rakudo-moar c3bd13: OUTPUT«-Inf␤»
17:12 grettis joined
TimToady it is not clear to me that it should allow type objects in that 17:12
m: say [max]()
camelia rakudo-moar c3bd13: OUTPUT«-Inf␤»
TimToady it's treating the type object as (), or some such, which seems bogus 17:13
moritz iirc min and max just ginreo type objects
*ignore
TimToady that seems wrong
should probably require .DEFINITE or fail 17:14
especially since it produces the opposite of the right result here
we ought to be able to get the bounds of Int as -Inf..Inf, but probably not that way 17:15
jaffa4 Is it possible to get maximum, miinimum value of a type in Perl 6?
TimToady likewise uint32 should give bounds of 0..^2*32 17:16
PerlJam jaffa4: what would Mu.max be? or Str.max? ;)
jaffa4 when it makes sense
TimToady we could define .range on some type objects 17:17
17:17 grettis left
TimToady Str should probably return '' .. Inf or so, depending on whether we end up with a StrInf 17:17
though arguably "\x10ffff" would work for that value as long as you squint :) 17:19
PerlJam And Mu would return Mu .. Mu ? 17:20
TimToady Obviously it should just sit there and look at you till you walk away 17:21
PerlJam and Mu.Str should return a random kōan :) 17:22
17:29 slavik left
gtodd PerlJam: define "piece" for Str .... then worry about length ;-) 17:38
17:38 kaleem joined 17:40 grettis joined 17:42 slavik joined
ingy dj_goku: I am now :) 17:42
17:42 prevost joined 17:44 pyrimidine left 17:45 grettis left 17:46 glumm joined, kaleem left
vendethiel- wow, that monk's script to rename some file really looks complicated 17:47
m: say "foo bar" ~ +(for ^5 { $_ }) 17:48
camelia rakudo-moar c3bd13: OUTPUT«foo bar5␤»
vendethiel- m: say "foo bar" ~ (for ^5 { $_ })
camelia rakudo-moar c3bd13: OUTPUT«foo bar0 1 2 3 4␤»
vendethiel- m: given 'foo bar.txt' { s/'.txt'/ (2).txt/; .say } # immutable uh? 17:53
camelia rakudo-moar c3bd13: OUTPUT«Cannot modify an immutable Str␤ in sub infix:<=> at src/gen/m-CORE.setting:17721␤ in block <unit> at /tmp/4jECw8Rddu:1␤␤»
vendethiel- m: given 'foo bar.txt' { say s:r/'.txt'/ (2).txt/;} # trying the obvious p5 thingie 17:54
camelia rakudo-moar c3bd13: OUTPUT«Cannot modify an immutable Str␤ in sub infix:<=> at src/gen/m-CORE.setting:17721␤ in block <unit> at /tmp/5aQc_9YA97:1␤␤»
vendethiel- duh :D. 17:55
17:56 SamuraiJack left
vendethiel- m: given 'foo bar.txt' { say ($_ ~~ s/'.txt'/ (2).txt/);} # trying the obvious p5 thingie 17:56
camelia rakudo-moar c3bd13: OUTPUT«Cannot modify an immutable Str␤ in sub infix:<=> at src/gen/m-CORE.setting:17721␤ in block <unit> at /tmp/bAsc8CS2Bx:1␤␤»
vendethiel- jnthn++ # weird bugs I've been meta-hitting 17:59
18:03 [Sno] left
vendethiel-
.oO( no such method: "wow" )
18:04
anocelot_ The wow method is the "was only wondering" call, right? 18:05
vendethiel- anocelot_: it's the "much" call
"perl 6 has the most operators" jaffa4, I really want you to try scala, haskell and agda :P
anocelot_ vendethiel-: Such object; very method.
vendethiel- anocelot_: no very method: "wow" 18:06
say "Numbers of filed changed: " ~ +( rename($_, .subst(/'.txt'$/, {"$_ (2).txt"}) when .d for dir ) 18:07
my solution to the 20-lines "p6 monk script" :p
TimToady you have directories named .txt? 18:08
vendethiel- TimToady: yes, I hid my nasty .tcl files in it
nwc10 your hackathon needs you! act.useperl.at/apw2014/wiki?node=HackathonAgenda 18:13
18:17 molaf__ joined
vendethiel- well, cognome wanted me to co-"host" (erm, help people hacking) a p6 hackaton here in france 18:20
18:20 molaf_ left
nwc10 people in France hacking in the same location? 18:22
vendethiel- nwc10: yea 18:23
nwc10: beforehand; me going thru my tutorial/ moritz++'s p5-to-p6
(or was it masak++'s ?)
nwc10 I don't know :-)
We might be able to manage a video link from our end. We're at ncm.at and I think that they have enough bandwidth 18:24
18:28 guru joined 18:29 guru is now known as Guest96494, Guest96494 is now known as ajr_
dalek kudo/nom: 7b4e723 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm:
Fix Set test breakage caused by last spec change
18:32
lizmat ^^^ took me a little while to figure out what the best fix was 18:34
18:34 treehug88 left
moritz thought the best fix was fixing the tests :-) 18:34
PerlJam What's .new-fp ? 18:35
"from pairs"?
vendethiel- PerlJam: "functional" :p 18:36
PerlJam why not call it "new-from-pairs"?
lizmat PerlJam: afaict, I inherited the name from the Niecza implementation 18:40
actually, ... hmmmm 18:41
18:42 virtualsue joined
lizmat the -fp is not needed... .new should be enough 18:43
moritz lizmat++ # first clean spectest in days
lizmat yes, and no flappers either since the libuv upgrade :-)
moritz let's ship it! 18:44
nwc10 Well, "All tests successful. 18:45
"
does suggest that that is a valid plan :-)
[Coke] it was called correctly, hoelzro-- broke the parrot build with:
ac4b214710536bad55c8f8a3f9e38d8e930d31b2
nwc10 oh :-(
hoelzro dammit 18:46
sorry =/
18:46 darutoko left, grettis joined, Rotwang left
dalek line-Perl5: 65af61c | nine++ | / (3 files):
Fix leaking of Perl 6 objects passed to Perl 5 code.

Replace closures by an object array and only pass the index in this array to Perl 5. Use this index to get back to the Perl 6 object on unwrapping. A destructor of the Perl 5 wrapper removes the Perl 6 object from the object array and allows the GC to collect it.
18:48
line-Perl5: bbc8917 | nine++ | lib/Inline/Perl5.pm6:
Fix leaking callbacks and re-use free'd slots in the objects array

Replaced the objects array by a ObjectKeeper class that re-uses free'd slots. The free slots form a linked list of pointers to previously free'd slots. Thanks to ParrotPointerArray for that idea.
Replaced the closures passed to p5_wrap_p6_object by ordinary sub references.
This fixes all memory leaks related to passing Perl 6 objects to Perl 5 code.
nine I'm out of leaks to fix! :) 18:51
PerlJam nine: does that mean it's 100% feature complete? ;)
nine PerlJam: nope. That means that I now have a very stable base to add features to :) 18:52
PerlJam: but you can already do quite much with what we have.
hoelzro Travis doesn't use Parrot, does it?
[Coke] unless travis is runing tests, wouldn't have caught it anyway 18:53
*running
hoelzro [Coke]: was it the spectests? 18:54
dalek kudo/nom: ffc441d | (Elizabeth Mattijsen)++ | src/core/Baggy.pm:
Better fix for Set breakage
[Coke] yes. you get a ./perl6, but nearly all spectests fail.
moritz nine: might I suggest that you find a better name than '$i' for a variable that's visible in 340 lines of code? :-)
hoelzro ugh
rurban moritz?
hoelzro I need to be running parrot tests more =/
moritz rurban: yes? 18:55
[Coke] eh. we caught it within a day, that's pretty good.
just need to work on automating this process. :)
nine moritz: I'm much rather have you suggest a way to get rid of that global entirely and push it back to new().
hoelzro indeed! 18:56
nine moritz: I'd need a closure per Inline::Perl5 object to pass to p5_wrap_p6_object, but CPointer repr objects cannot have attributes...
hoelzro is there a CI system we could use other than Travis that would give us time to spectest automatically?
at least once a day?
moritz nine: uhm, that's for creating a singleton, right? 18:57
[Coke] hoelzro: we need something like hudson or jenkins. or smolder. 18:58
or bamboo.
nine moritz: hold on, trying to fix this right now.
hoelzro [Coke]: I'm guessing those cost money? 18:59
nwc10 hoelzro: I believe "yet", in that all are software, rather than hosted services
so one would need to find a machine to run them on
er, yes
PerlJam feather!
nwc10 I can't type
PerlJam :)
hoelzro oh, point taken =)
moritz and do the setup work
I guess we could use the server that camelia uses, it's a bit beefier than feather 19:00
[Coke] might be able to use host07 19:01
moritz [Coke]: that's what I'm talking about :-)
19:01 Rotwang joined
[Coke] need either something that can process TAP or a way to generate junit test output. (the latter is doable with a plugin that fails its tests on os x) 19:02
(rt.cpan.org/Public/Bug/Display.html?id=98516)
19:02 xfix left
btyler smolder speaks TAP by default, it looks 19:03
19:03 Alina-malina left
[Coke] smolder is the only tap native solution (though I have a half-baked replacement that is a mojo5 app we could use love that we could try) 19:03
smolder has historically been maintenance heavy for parrot, though.
which is why I started github.com/coke/muddle that I haven't touched in 2 years (AIGH) 19:04
I would be just as happy with an off the shelf thing that works, however. :)
19:04 FROGGS joined, Alina-malina joined 19:07 rindolf left 19:08 xfix_ joined
[Coke] perlbrewing mojo... 19:09
19:12 xfix_ left
itz_ smolder is a bit confused as regards forks and support I think the one on github is the correct one 19:12
under the smolder user
19:13 xfix_ joined 19:15 telex left 19:16 telex joined
dalek kudo/nom: 52b1dc3 | (Steve Mynott)++ | src/core/Perl.pm:
add freebsd to moar DISTROnames
19:16
kudo/nom: 9ee3629 | moritz++ | src/core/Perl.pm:
Merge pull request #307 from stmuk/nom

add freebsd to moar DISTROnames
19:16 xfix_ left 19:18 xfix_ joined 19:21 xfix_ left
moritz fwiw I'll be mostly offline for the next ~16 days (vacation! YAY!) 19:21
19:22 brrt joined
PerlJam moritz: have an awesome vacation! 19:22
19:22 xfix_ joined
moritz PerlJam: thanks 19:24
19:26 xfix_ left
timotimo how do we feel about making MoarVM aware of system-wide swap status? 19:26
dalek line-Perl5: 66a15c9 | nine++ | lib/Inline/Perl5.pm6:
Change Inline::Perl5 to contain a Perl5Interpreter instead of being it

This way we can get rid of the ugly global $i needed for creating a single closure to pass to p5_wrap_p6_object. Store it in an object attribute instead.
19:27
timotimo like, should moarvm notice when it's being swapped in/out and perhaps put a little sleep in or so?
nine moritz: thanks for pushing me into the right direction :)
19:27 xfix_ joined
timotimo maybe have a garbage collector strategy that tries to scan between pages only when a full page has been scanned so far? 19:27
[Coke] hurm. just installed DBD::SQLite with perlbrew, but didn't get a sqlite3 in my path. any pointers?
dalek line-Perl5: 13560f7 | nine++ | lib/Inline/Perl5.pm6:
Protect against double destructing the Perl 5 interpreter
19:29
moritz [Coke]: seems pretty normal; I think it just bundles the library, not the binary
geekosaur would expect sqlite3 to come from something other than a perl package 19:30
nine FWIW I now consider Inline::Perl5 safe to use :)
geekosaur unless the perl package reimplements it in perl
PerlJam nine: Are you gonna blog about it with some examples of how people could use it?
19:30 xfix_ left
moritz [Coke]: so I usually install sqlite3 with my OS' package manager 19:30
19:32 xfix_ joined
timotimo people.cs.umass.edu/~emery/classes/...paging.pdf ← /me reads this 19:33
btyler the p5 DBD::Sqlite packge includes the full sqlite3 source 19:34
pretty handy for quick projects
19:35 xfix_ left, bluescreen10 joined
btyler [Coke]: but as a result, it doesn't set up the normal things you'd get from the OS package (like the sqlite3 in your path) 19:36
oh, moritz already mentioned that. sorry to repeat!
19:36 grondilu_ joined, xfix_ joined 19:37 TimToady_ joined
nine PerlJam: I'd need a blog for that ;) But I'll probably add some examples to the README 19:37
19:37 pochi_ joined
[Coke] moritz: before you go, can you give me sudo on host07? 19:38
moritz nine: I'm happy to blog about it, modulo vacations :-)
19:38 xinming_ joined
moritz [Coke]: done, please test it 19:38
19:38 Rounin_ joined
nine I'll give a talk about it at the Austrian Perl Workshop next month. 19:39
PerlJam what exactly is host07?
moritz PerlJam: it's the server that camelia runs on
PerlJam: and the smoke report
19:39 [Sno] joined
moritz PerlJam: and [Coke]++'s spectest summaries 19:39
19:39 amkrankr1leuen joined 19:40 grondilu left, xinming left, MilkmanDan left, TimToady left, Rounin left, amkrankruleuen left, pochi left, MilkmanDan joined, MilkmanDan left, MilkmanDan joined, xfix_ left
PerlJam Is it a real box or a vm? 19:40
moritz PerlJam: I think a real box, not quite sure
timotimo i think i want to come to the APW, too
dalek line-Perl5: bc5610b | nine++ | p5helper.c:
Remove static my_perl variable to allow true multiplicity
19:41
PerlJam moritz: oh ... who does it belong to?
timotimo but i kind of sort of don't know how yet
19:41 xfix_ joined
moritz PerlJam: diakopter++ 19:41
PerlJam diakopter++ for host07! :) 19:42
too bad it doesn't have a cool name like "camelia" or something though. ;)
19:42 pyrimidine joined
[Coke] moritz: coke is not in the sudoers file. 19:43
PerlJam or ... timtowtdi.perl.com would be cool :)
anyway ... diakopter++
moritz [Coke]: try again please 19:44
[Coke]: I misspelled you (as cokie :-)
19:44 xfix_ left
[Coke] coooookiieeeeee 19:45
timotimo when exactly "is" the p6 hackathon after the apw?
and at what time on the 10th would i want to arrive? 19:46
19:46 xfix_ joined
nwc10 timotimo: hackathon is on the schedule: act.useperl.at/apw2014/schedule?day=2014-10-12 19:46
and the conference officially starts at 10am on on the 10th: act.useperl.at/apw2014/schedule?day=2014-10-10 19:47
timotimo OK, in that case i will not want to try to arrive via train on the 10th
nwc10 but Friday morning will be some sort of "meet and greet" if we dont' have enough talks
we calculated that you can arrive by train from Graz, just 19:48
[Coke] moritz++ Thanks.
nwc10 no idea how far into Germany you can be and still arrive on Friday before 10am
[Coke] can anyone outside see anything at host07.perl6.com:7123/muddle/ ?
nwc10 or Switzerland
[Coke] (I can only reach it via localhost, myself) 19:49
japhb [Coke]: Just hangs when trying to connect.
timotimo nwc10: i require certain amounts of sleep
nwc10 me too. I never claimed that this was sensble.
japhb But clearly not getting a rejection on that port.
19:49 xfix_ left
PerlJam [Coke]: same here 19:49
nwc10 I can reach its port 22, but not that port (and not 80 either) 19:50
[Coke] moritz, diakopter: anything special I have to to allow http connections on some arbitrary port.
19:50 pyrimidine left
[Coke] (this isn't intended to be a permanent installation, just a place to play for now) 19:50
19:50 xfix_ joined
dalek line-Perl5: 817d63a | nine++ | / (2 files):
Call PERL_SYS_INIT3 and PERL_SYS_TERM only once regardless of number of interpreters.

This allows using 1000s of different Perl 5 interpreters in a single program run.
19:51
[Coke] ah, found it. 19:53
moritz [Coke]: there's an "easyfirewall" or something 19:54
timotimo where can i find out if there's still space available in the hotel?
it says there's a few rooms reserved under APW2014, but i'm still supposed to book a room?
nine We could now write a p5eval bot with Inline::Perl5 that uses one Perl 5 interpreter per eval so it's absolutely clean each time...
timotimo or it could use 5 perl 5 interpreters 19:55
[Coke] ok, poked a hole for my port...
nine It may even use 5 perl 5 interpreters in 5 different threads... 19:56
nwc10 timotimo: I don't know the answer to that. I think it's completely devolved to the hotel - you'd need to ask them
moritz version 5.5, of course
nwc10 that's not the *only* hotel in Salzburg
timotimo it is not?
i sent a request via their website now
[Coke] ok, it's up and running. it will not continue to be so, not yet. 19:57
nwc10 jnthn stayed in a different hotel last year (but different venue) and I was in yet another hotel :-)
19:58 cognome joined 19:59 dwarring joined
dalek kudo/nom: ec17e06 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Use MMD for min/max/minmax and add U: candidate

So Int.min will now say -Inf, etc. etc.
19:59
20:06 spider-mario left 20:07 jack_rabbit left 20:08 Ven joined, Ven left
leont Trying parametric types, they don't seem to smartmatch the way I expected to :-s 20:15
moritz m: role A[$x, $y] { }; A[Cool, Any] ~~ A[Any, Any] 20:17
camelia ( no output )
moritz m: role A[$x, $y] { }; say A[Cool, Any] ~~ A[Any, Any]
camelia rakudo-moar ffc441: OUTPUT«True␤»
moritz m: role A[$x, $y] { }; say A[Cool, Any] ~~ A[Any, Cool] 20:18
camelia rakudo-moar ffc441: OUTPUT«False␤»
moritz m: role A[$x, $y] { }; role B [$a, $b] does A[$a, $b] { } say A[Cool, Any] ~~ B[Any, Any]
camelia rakudo-moar ffc441: OUTPUT«===SORRY!=== Error while compiling /tmp/qfCLIiTCC5␤Two terms in a row␤at /tmp/qfCLIiTCC5:1␤------> }; role B [$a, $b] does A[$a, $b] { } ⏏say A[Cool, Any] ~~ B[Any, Any]␤ expecting any of:␤ state…»
moritz m: role A[$x, $y] { }; role B [$a, $b] does A[$a, $b] { }; say A[Cool, Any] ~~ B[Any, Any]
camelia rakudo-moar ffc441: OUTPUT«False␤»
moritz m: role A[$x, $y] { }; role B [$a, $b] does A[$a, $b] { }; say B[Cool, Any] ~~ A[Any, Any]
camelia rakudo-moar ffc441: OUTPUT«False␤»
moritz I would have expected this one to be True 20:19
dalek osystem: b215ea1 | (Karl Rune Nilsen)++ | META.list:
added Term::termios
20:21
timotimo oooh termios 20:22
leont m: role Foo [::T] { }; say Int but Foo[Str] ~~ Int but Foo[Str] 20:23
camelia rakudo-moar ffc441: OUTPUT«False␤»
krunen timotimo: now we can set raw mode on stdin :)
leont That's the one I wanted to work, because that will allow parametric classes (sort of) not just roles
timotimo krunen: what exactly does that give us, again? 20:25
setting the 8th bit if alt is held?
krunen $*IN.getc
no line buffering
timotimo oh, neat 20:27
gtodd timtowtdi.perl.com would be a code snippets collection?
geekosaur hm. is there an actual rss feed around for pl6anet.org? 20:28
20:31 brrt left
itz_ geekosaur: I could put it on github 20:32
oh you mean an actual RSS feed
geekosaur yes
I generally read via calibre
(nightly updates)
itz_ I'll have a look
20:34 brrt joined
lizmat m: say "foo" min Inf; say "bar" min -Inf 20:35
camelia rakudo-moar ec17e0: OUTPUT«foo␤-Inf␤»
lizmat this feels like a strange mix of numeric and non-numeric values
one that should maybe fail ?
moritz m: say 'a' min 'b' 20:36
camelia rakudo-moar ec17e0: OUTPUT«a␤»
gtodd what does "~" do to $/ in ~$/ .... ?
moritz lizmat: min and max are some of those heretic operators that work on strings and numbers
gtodd: it forces it to be a string
lizmat: which makes things more awkward
geekosaur $/ is a match object. if you are expecting a string, you need to explicitly ~ it (or .Str) 20:37
moritz lizmat: maybe the best thing to do is always feed the argumenst to infix:<cmp>, and let it figure out all the dirty details
gtodd oh yeah it's short for $/.Str is there some can I see what the parser does ? does it do the same thing?
moritz what which parser does?
itz_ geekosaur: there should be an atom feed in place now .. just looking at rss
geekosaur thanks 20:38
gtodd hehe I mean can I do like perl5 and Deparse 20:39
geekosaur oh, er, where? doesn't seem to have meta information pointing to it and /rss and /atom don't work...
lizmat moritz: I'm all for cmp figuring it out: but should cmp not complain about it ?
moritz lizmat: dunno :-) 20:40
20:40 bluescreen100 joined, denis_boyun_ joined 20:42 bluescreen10 left
itz_ geekosaur: pl6anet.org/atom.xml 20:42
geekosaur ah, thanks
itz_ I need to sort this out properly to be discoverable
timotimo hm, so Bookmarking Collection requires cooperation from the operating system's virtual memory manager ... 20:44
gtodd moritz: I just wanted to see under the hood for myself if ~$/ and $/.Str made perl6 did the same thing 20:47
20:47 brrt left
gtodd moritz: but thanks 20:47
geekosaur <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="/atom.xml"> or similar
moritz gtodd: actually prefix:<~> calls .Stringy
gtodd: and the default .Stringy calls .Str 20:48
20:48 anaeem1 joined
moritz gtodd: I'm not sure why we need that distinction 20:48
gtodd moritz: we don't :-) I'm just got used to using Deparse to see what perl5 thinks a piece of code is 20:50
moritz gtodd: well, a Perl 6 deparse would just tell you that ~$/ calls prefix:<~>($/) 20:52
gtodd: but what prefix:<~> does is not part of the syntax; rather it's part of the runtime library 20:53
gtodd ok ...it's different :-) ... A better question would have been: how can I "see" how perl6 runs code ? e.g. what ~ does to things I put it in front of " ... but I still would get a good answer so thanks :-) 20:55
itz_ geekosaur: thanks that should be discoverable
geekosaur gtodd, I think the way perl 6 is mutable defeats you here 20:56
moritz gtodd: by using the debugger, and stepping through the code 20:57
geekosaur that is, that things like prefix ~ can be defined in the language
best you can do is step through it and see what it all resolves to after dispatching etc,
20:58 araujo left
gtodd geekosaur: luckily it also it is more consistent than perl5 ... and the debugger seems very nice 21:01
21:04 gfldex left 21:09 itz_ is now known as itz
nine I have just successfully subclassed a Perl 5 class. In Perl 6. 21:12
lizmat nine++ :-) 21:13
timotimo cool :)
and that completely without building a Repr 21:14
PerlJam nine: If you tell me you used Moo or Moose, I will go into utter shock. ;-)
21:15 prevost left
nine PerlJam: I did not. But after your comment I tested it and it works with Moose :) 21:17
PerlJam okay ... now I'm just disbelieving you. That's just too incredible.
nine++
hoelzro ten 21:18
er
nine++
dalek line-Perl5: 5665403 | nine++ | / (3 files):
Infrastructure for inheriting from Perl 5 classes in Perl 6

Add an invoke method that allows separating method lookup from parameter passing. This allows using the wrapped P5 object for method lookup while passing a wrapped P6 object that inherited from the P5 class as first parameter thus making polymorphism work.
21:20
line-Perl5: 457136e | nine++ | t/inherit.t:
Use Moose in inherit.t for fun and showing that it indeed works
nine PerlJam: try it for yourself :)
Now we just need a little sugar so not everyone has to add this fallback stuff to her classes. 21:21
timotimo so ... a newcomer to both perl5 and perl6 shows up and builds a perl5 interoperability framework in just a month? 21:22
nine timotimo: I'm certainly no newcomer to Perl5 :) Been using it for 15 years. And I'm the maintainer of Perl 5's Inline::Python which is how I know how this may work. But I really have no clue about Perl 6 ;) 21:23
21:23 anaeem1 left
nine tadzik: now there's no excuse anymore. Rewrite synopsebot in Perl 6! You can keep using Bot::BasicBot as base class :) 21:24
tadzik :o
you're right
timotimo oh! 21:25
OK
that explains it
PerlJam tadzik: btw, merge my last PR for the bot before you rewrite it :)
tadzik nine: i.imgur.com/9s390o4.gif 21:26
PerlJam: okay
dalek ast: 583e7c7 | TimToady++ | S11-modules/require.t:
test that 'require Test' is True and declares Test
timotimo nine: if we have Inline::Python2 and Inline::Python3 both, we could allow people to migrate their code piecemeal from 2 to 3 (to 6)
PerlJam takes kids hither and yon & 21:27
nine timotimo: the funny thing is, that Perl people usually quickly come up with an idea on how to allow a Python 2 -> 3 migration: run the other interperter in a separate process and send data between them. That's at least the idea I've heard when talking about Perl 5 <-> 6 interop. We just don't need to go that far in Perl :) 21:28
Maybe before they finally discover that, we should implement an Inline::Python for Perl 6 :) 21:30
TimToady_ yeah, but who of us would know anything about that...
21:31 TimToady_ is now known as TimToady
itz github.com/rakudo/rakudo/pull/308 21:32
*cough*
dalek kudo/nom: f224e4d | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Fix copy-pasto/rephraso, spotted by Paul Findlay
kudo/nom: 4baec3c | (Steve Mynott)++ | src/core/Kernel.pm:
add to DISTRO.name give
21:33
kudo/nom: 5d73e24 | lizmat++ | src/core/Kernel.pm:
Merge pull request #308 from stmuk/nom

   add to DISTRO.name given
21:34 glumm left 21:35 immortal left, erkan joined 21:36 jaffa4 left
btyler On the topic of tiny fixes to rakudo, README typo: 'implement slightly different sets of featurs.' 21:43
21:46 molaf__ left
leedo does this seem like something that could be possible with Inline::Perl5 + P6 MOP? gist.github.com/leedo/b629ec92b59b7d8551f1 21:48
obviously not knowing what a method and a sub in p5 land would be a problem 21:49
21:49 bjz left
hoelzro r: module RobTest; my $output; INIT $output = 7; say $output 21:53
camelia rakudo-{jvm,moar} ec17e0: OUTPUT«7␤»
..rakudo-parrot ec17e0: OUTPUT«(Any)␤»
hoelzro that seems like a parrot bug, no?
21:55 Salai joined
lizmat I would say yes 21:55
hoelzro so I *didn't* break the parrot build, since it was already broken ;)
lizmat hehe, possibly
21:57 akaseki left 22:00 FROGGS[mobile] left
timotimo ha! 22:01
good to know
22:02 kaare_ left
hoelzro reports rakudobug 22:03
is there a reason RT isn't hooked into this channel? would it just be too chatty? 22:05
timotimo maybe 22:06
22:08 bluescreen100 left
nine leedo: looks like that goes in the right direction. But you cannot enumerate all methods of an arbitrary Perl 5 class. It's too dynamic with features like AUTOLOAD. You can just try check if a method with a given name exists. 22:11
leedo nine: yeah, i was thinking it could accept the name of a constructor 22:13
and/or a whitelist of method names 22:15
22:15 denis_boyun_ left 22:19 bjz joined
timotimo so i'm wondering 22:23
if we sort the work queue by address in a full gc run
maybe we'll make swapping less intense when we're doing a gc run?
22:24 colomon left
masak hoelzro: as far as I know, hooking RT in here has never been tried. 22:25
hoelzro: could probably be made non-chatty (as in, only one line of output per ticket change)
if it's done, I would kinda hope it were done as a p6 bot.
22:26 colomon joined 22:31 Rotwang left 22:32 Rotwang joined 22:33 jepeway_ joined 22:34 breinbaa1 joined, jepeway left, breinbaas left
lizmat sleep& 22:34
22:36 MilkmanDan left 22:38 MilkmanDan joined 22:50 carlin left 22:52 carlin joined 22:54 ajr_ left 23:02 j1n3l0_ joined
j1n3l0_ hi :) 23:02
noob perl6 question here 23:03
am i misusing the "!" twigle in the following class definition: class Board::A { has @.cells = <. . .>; method Str() { "<{@.cells.gist}>" } } 23:06
oops!
that should be: class Board::B { has @!cells = <. . .>; method Str() { "<{@!cells.gist}>" } } 23:07
23:08 esaym153 left
leont Looks sensible to me 23:14
23:15 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar 23:16 j1n3l0 joined
j1n3l0_ leont: that's what i thought 23:17
leont m: class Board::B { has @!cells = <. . .>; method Str() { "<{@!cells.gist}>" } }; say ~Board::B.new 23:18
camelia rakudo-moar 5d73e2: OUTPUT«<. . .>␤»
j1n3l0_ oooh
m: class Board::B { has @!cells = <. . .>; method Str() { "<{@!cells.gist}>" } }; say ~Board::B.new(:cells(<x . x>)) 23:19
camelia rakudo-moar 5d73e2: OUTPUT«<. . .>␤»
j1n3l0_ this is what i am seeing
if i change the class definition ... 23:20
m: class Board::B { has @.cells = <. . .>; method Str() { "<{@.cells.gist}>" } }; say ~Board::B.new(:cells(<x . x>))
camelia rakudo-moar 5d73e2: OUTPUT«<x . x>␤»
j1n3l0_ i get what i was expecting
leont: thanks for the "m:" trick :) 23:21
23:22 xenoterracide joined 23:33 grettis left 23:34 MilkmanD1n joined, MilkmanDan left 23:43 bjz left 23:44 chenryn joined
j1n3l0_ duh! 23:45
the "!" attribute is internal and cannot be set in the constructor
TimToady not without the help of an explicit BUILD
23:46 chenryn left
j1n3l0_ m: class B { has $.b = 'foo'; has $!c = 'bar' }; say B.new(:c('baz')) 23:47
camelia rakudo-moar 5d73e2: OUTPUT«B.new(b => "foo")␤»
j1n3l0_ thanks
23:47 chenryn joined 23:58 virtualsue left