»ö« 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«TrueFalse» | ||
grondilu | m: role Foo {}; say ($_ but Foo) ~~ Foo for pi, [pi]; | ||
camelia | rakudo-moar 2b7e23: OUTPUT«TrueTrue» | ||
grondilu | m: role Foo {}; my @a = map { $_ but Foo }, pi, [pi]; say $_ ~~ Foo for @a; | 01:06 | |
camelia | rakudo-moar 2b7e23: OUTPUT«TrueFalse» | ||
grondilu | m: role Foo {}; my @a = map { my $ = $_ but Foo }, pi, [pi]; say $_ ~~ Foo for @a; | 01:07 | |
camelia | rakudo-moar 2b7e23: OUTPUT«TrueTrue» | ||
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.containerIn 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.containerIn 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: #|Foorole 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: #|Foorole 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/dpjxKPCZ5HMethod 'foo' must be implemented by Foo because it is required by a roleat /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* timotimo │ moritz: 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* moritz │ mathw: 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/a5Qw0hB59PPackage '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«12» | ||
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/KCn93Zso0nUndeclared 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/dwqAEItQuBTwo terms in a rowat /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/3rDdXxo4QEUndeclared 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/qfCLIiTCC5Two terms in a rowat /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
|