»ö« 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:01
grondilu joined
|
|||
grondilu | Hello. Someon on the French Perl 6 WP article wrote that MoarVM uses LuaJIT. That seems difficult to believe to me. | 00:02 | |
I mean, MoarVM does not use Lua at all, does it? | 00:03 | ||
timotimo | yes, it's not correct | ||
we use DynASM, which is used by LuaJIT | |||
it's basically a preprocessor that turns special C files with in-line "generate these assembler instructions into a buffer, please" code to a regular C file | |||
grondilu | ok | 00:04 | |
oh snap I've only now realised there were livestream videos for YAPC::EU | 00:06 | ||
00:07
gfldex left
|
|||
grondilu guess he'll just have to patiently wait for the records to be posted on YT | 00:07 | ||
timotimo | yes! | 00:08 | |
i'll probably miss masak's talk :( | |||
grondilu | that's the one about the awesome gotos, isn't it? | 00:09 | |
timotimo | yes | 00:11 | |
i think masaks talk is early enough in the day that i should be able to catch it, but i'll be out and about when jnthn's talk about asynchrony happens :( | |||
00:12
Akagi201 joined
00:16
Akagi201 left
00:18
tassilo joined
00:19
treehug88 left
|
|||
tassilo | perl6: say 5; | 00:20 | |
camelia | rakudo-{parrot,jvm,moar} e950e7, niecza v24-109-g48a8de3: OUTPUT«5» | ||
00:26
tassilo is now known as tphilipp,
tphilipp left
00:27
tphilipp joined
00:33
tphilipp left
00:34
tphilipp joined
00:39
tphilipp left
00:41
jnap left
00:44
telex left
00:46
telex joined
00:48
pmurias left
|
|||
BenGoldberg | r: print sort -> $a, $b { state $x +^= 1; $x ?? Less !! More }, ' ,c Jleterhsnk,erarotP hua'.comb; | 00:53 | |
camelia | rakudo-moar c793d8: OUTPUT«Just another Perl hacker,,» | ||
..rakudo-jvm c793d8: OUTPUT«(timeout)» | |||
..rakudo-parrot c793d8: OUTPUT«r aoertaPu, hknJ lcesth,er» | |||
01:08
biff_512 joined
01:12
Alula_ left
01:13
biff_512 left,
Akagi201 joined
01:14
xenoterracide left,
Alula_ joined
01:17
Akagi201 left
01:19
xenoterracide joined
01:24
FROGGS_ joined
01:26
colomon left
01:27
FROGGS left,
colomon joined
01:31
grettis left
|
|||
colomon | TimToady: lollipop syntax? | 02:00 | |
02:05
Akagi201 joined
02:09
grondilu left
02:11
colomon left
02:12
rindolf joined
02:21
chenryn joined
02:42
noganex joined
02:45
noganex_ left
02:46
thou left
02:57
BenGoldberg left,
biff_512 joined
03:02
biff_512 left
|
|||
japhb | .tell jnthn Thanks for the slides link, thank you VERY much for the profiler, and also many thanks for the shout-outs to perl6-bench. :-) | 03:06 | |
yoleaux | japhb: I'll pass your message to jnthn. | ||
03:14
colomon joined
03:29
Mouq left
03:45
potatogim_ joined
03:46
PotatoGim_Home joined
03:47
potatogim_ left
03:49
chenryn left
04:10
SamuraiJack joined
|
|||
dalek | ast: 0dfc2dd | jimmy++ | S03-operators/assign.t: Fix Redeclaration of symbol $a |
04:10 | |
04:12
chenryn joined
04:30
xenoterracide left
04:33
kaare_ joined,
chenryn left
04:34
woolfy left
|
|||
TimToady | m: say (<a b c>; 1,2,3).perl | 04:40 | |
camelia | rakudo-moar c793d8: OUTPUT«("a", "b", "c"; 1, 2, 3)» | ||
TimToady | colomon: ^^ that syntax | ||
list of lists | |||
hence "lol" | |||
m: say (<a b c>; 1,2,3)[*;1] | 04:41 | ||
camelia | rakudo-moar c793d8: OUTPUT«b 2» | ||
04:45
PotatoGim_Home left
04:46
biff_512 joined
|
|||
lizmat | commute, attempt #2 & | 04:50 | |
04:50
lizmat left
04:51
biff_512 left
04:55
woosley left
04:57
woosley joined
04:59
woosley left
05:01
woosley joined
05:03
woosley left
|
|||
itz | is the profiler on github? | 05:16 | |
oh I see it | 05:20 | ||
05:23
woosley joined,
woosley left
05:33
hagiri joined
|
|||
hagiri | ops | 05:34 | |
hello | |||
;) | |||
05:40
woosley joined
05:42
chenryn joined
05:43
anaeem1 joined
05:47
hagiri left
05:52
anaeem1_ joined
05:53
anaeem1 left,
chenryn left
05:54
firnsy left,
firnsy joined
|
|||
moritz | good morning | 06:03 | |
06:12
bjz joined
06:21
anaeem___ joined
06:22
anaeem___ left
06:24
anaeem1_ left
06:29
araujo left
06:33
dolmen joined
06:35
biff_512 joined
06:39
biff_512 left
06:40
anaeem1_ joined
06:45
woosley left
06:46
woosley joined
06:47
woosley left
|
|||
masak | good morning, #perl6 | 06:51 | |
06:58
anaeem1_ left
|
|||
tadzik | hello hello | 06:59 | |
07:02
anaeem1_ joined
07:04
dolmen left,
woosley joined
07:05
ribasushi left
|
|||
Woodi | hallo today :) | 07:10 | |
07:10
ribasushi joined
|
|||
Woodi | it was very -Ofun backlog today :) | 07:12 | |
07:13
gfldex joined
|
|||
Woodi | jnthn++ as always (so far) :) | 07:16 | |
tadzik | wow, copying that JSON data from the profile.html really makes vim stutter | 07:17 | |
it also pretty much kills joson_pp :D | 07:18 | ||
masak | where is FROGGS++ doing hiw v5 work? | 07:22 | |
Woodi | 13x perl5 is starting to be -Oproductionish :) possible next comparing to perl5 need to use some lower kicks ;) eg. where perl5 lacks behind C too many times: benchmarksgame.alioth.debian.org/u3...p;data=u32 | ||
tadzik | I wonder if rakudo will be able to load that 58-meg JSON from SpaceInvaders... | 07:23 | |
07:23
dolmen joined
|
|||
masak | ah, found it. github.com/rakudo-p5/v5 | 07:24 | |
tadzik | wow, it didn't even took 3 minutes, and only ate 1.5G of ram :P | 07:27 | |
FROGGS[mobile] | masak: I'm working in the nqp_to_perl6 branch | 07:28 | |
tadzik: lol | 07:30 | ||
tadzik | FROGGS[mobile]: perl5 with Json::XS did that in 0.17seconds, too short for me to glance at htop :) | ||
I should now profile that JSON reading, and then profile parsing that, and... | 07:31 | ||
FROGGS[mobile] | :/ | ||
++tadzik | |||
tadzik | but first I want my nytprof-like code viewer | 07:32 | |
masak | FROGGS[mobile]: during the day, would you have time to quickly walk me through the slang magic of v5? | 07:39 | |
FROGGS[mobile]: I'm curious because it might affect some later parts of my talk tomorrow. | 07:40 | ||
FROGGS[mobile] | masak: ohh, sure | ||
masak | FROGGS[mobile]: \o/ | 07:42 | |
07:45
FROGGS_ is now known as FROGGS
07:47
chenryn joined
07:58
darutoko joined
|
|||
masak | FROGGS++ gave me a nice tutorial on privmsg. | 08:14 | |
tadzik | heh, I was able to pull some data off the new shiny profiler: feather.perl6.nl/~tjs/linedata/SpaceInvaders | 08:16 | |
I now realized that it shows function _definitions_, not function calls | |||
or not | 08:17 | ||
it sometimes shows really weird stuff too | |||
08:18
gmunoz left
|
|||
tadzik | I wonder if the amount of zeros is the case of a mistake on my part or a low profiler resolution | 08:19 | |
jnthn | tadzik: It records in nanoseconds but gives output in microseconds at the moment | 08:20 | |
yoleaux | 03:06Z <japhb> jnthn: Thanks for the slides link, thank you VERY much for the profiler, and also many thanks for the shout-outs to perl6-bench. :-) | ||
tadzik | jnthn: I see | 08:21 | |
jnthn: is "entries" including "jit_entries" and "inlined_entries"? | |||
jnthn | Yes | 08:24 | |
08:24
biff_512 joined
08:27
Alina-malina joined
08:28
biff_512 left
|
|||
tadzik | there are indeed many places in the profile where the time is 0. That's fast :D | 08:30 | |
08:31
SamuraiJack left
08:38
Alina-malina left
|
|||
masak | tadzik: the line in `keypressed` with just a '}' that has nonzero entries is weird. | 08:42 | |
tadzik | masak: yes | 08:43 | |
masak: I should stick names of called functions in there somewhere | |||
but I assume it's something like <unit> or <anon> :o | |||
08:43
Alina-malina joined
08:49
Ven joined
|
|||
tadzik | masak: ok, this is actually what the profiler reports as the keypressed function, that particular line | 08:49 | |
08:54
gmunoz joined,
kupopo joined
08:58
gmunoz left
09:01
salv0 left
|
|||
masak | tadzik: weird. I thought closing braces were much faster than that. | 09:01 | |
tadzik: from now on I'm going to try to minimize the closing braces in my programs. | 09:02 | ||
clearly they are a resource hog. | |||
tadzik | masak: avoid the shebang as well, look how much time that takes | ||
masak | oh, I didn't see that, but yes! | ||
09:02
dolmen left
|
|||
masak | that's a horrible time sink! | 09:03 | |
tadzik | also, I don't think self.add_text('(S)tart a new game', ...) can possibly take 45 seconds | ||
masak | :) | ||
masak .oO( carve out the text with a chisel ) | 09:04 | ||
tadzik | I'll have to investigate moar | ||
Ven | :D | 09:07 | |
relative time is fun! | |||
jnthn | The line numbers at the moment corespond to the start of a routine or block, because it's doing routine-level profiling... | ||
Well, or block level | |||
tadzik | feather.perl6.nl/~tjs/linedata/slow.pl yeah, that can't be right... | ||
jnthn: so we can't really have statement-level at this point? | 09:08 | ||
jnthn | tadzik: No; it's just not recording that kind of data yet | 09:09 | |
(And we probably want it to be an option) | |||
tadzik | okay | ||
masak | I think people will generally expect statement-level data. | 09:13 | |
09:14
dolmen joined
09:17
salv0 joined
09:19
dolmen left,
chenryn left
|
|||
jnthn | masak: Depends. I've happily been working with routine-level with the MSVC profiler... | 09:20 | |
hmm, I guess it's lunch time at the venue? :) | |||
09:20
chenryn joined
|
|||
jnthn puts aside talk prep and wanders over :) | 09:21 | ||
09:21
chenryn left
|
|||
masak | jnthn: practically lunch time. ribasushi is still talking here :) | 09:22 | |
09:22
chenryn joined,
gmunoz joined
|
|||
jnthn | :) | 09:22 | |
be there in a bit | |||
will try and spot you :) | |||
09:27
gmunoz left
09:28
chenryn left
09:30
Alina-malina left
09:31
dolmen joined
09:32
chenryn joined
09:33
jaffa4 joined,
Alina-malina joined
|
|||
tadzik | found an interesting website: www.bountysource.com/ | 09:35 | |
09:35
Ven left
|
|||
tadzik | not much perl activity in there, though | 09:36 | |
09:36
chenryn left
09:38
kupopo left
09:48
dolmen left
09:50
denis_boyun_ joined
|
|||
tadzik | btw, interesting fact: I talked to a de facto Perl 6 hater yesterday, after jnthn's talk, and he said "I'm afraid I eventually will have to switch to Perl 6 at some point" :P | 09:51 | |
10:02
gmunoz joined
10:04
anaeem1_ left
10:12
gmunoz left
10:13
biff_512 joined
10:17
biff_512 left
|
|||
FROGGS[mobile] | *g* | 10:18 | |
10:22
anaeem1 joined,
dolmen joined
|
|||
jnthn | Bah, those darn Perl 6 kids making the language more and more usable... :P | 10:25 | |
FROGGS[mobile] | and they dare to do that with a proper design! | 10:26 | |
nwc10 | no-one committed anything in the past few hours - what's up? Everyone at a conference, or something? | 10:27 | |
tadzik | slackers! | ||
nwc10 | there's this new profiler. Everything should be instanenous now | ||
jnthn | <- writing code so I can write a talk about it for tomorrow :P | 10:28 | |
10:32
Khisanth left
10:33
Khisanth joined
|
|||
FROGGS[mobile] | jnthn: about async, or do you have another slot? | 10:34 | |
jnthn | async | 10:35 | |
tadzik | will there be a surprise? :) | ||
jnthn | No :P | ||
FROGGS[mobile] | :/ | 10:36 | |
masak | THERE IS NO SEKKRIT PROJECT | 10:41 | |
jaffa4 | Did anyone go to yesterday Perl jhthn talk? Are there any slides available? | 10:48 | |
Any interesting information? | |||
masak | jaffa4: it was a well-liked talk. | 10:49 | |
jaffa4: jnthn implemented goto during one of the applauses. :P | 10:50 | ||
jaffa4 | you are joking | 10:51 | |
masak | hence the ':P' | 10:52 | |
10:55
Alina-malina left
10:56
Alina-malina joined
10:59
spider-mario joined
|
|||
jnthn | The slides can be found at jnthn.net/papers/2014-yapceu-performance.pdf | 10:59 | |
masak | it was indeed a performance. :) | 11:01 | |
11:01
spider-mario left
|
|||
sergot | o/ | 11:01 | |
tadzik | \o | 11:02 | |
sergot | tadzik: would you have some time to debug ssl today? :) | 11:03 | |
tadzik | sergot: sure | ||
11:05
anaeem1 left
|
|||
sergot | \o/ | 11:05 | |
tadzik++ | |||
11:05
Alina-malina left
|
|||
tadzik | looking into it now | 11:05 | |
11:05
anaeem1 joined
|
|||
sergot | thank you | 11:06 | |
11:06
Alina-malina joined
11:07
spider-mario joined,
anaeem1 left
11:09
gmunoz joined
|
|||
tadzik | I'm pretty sure that if I have a breakpoint in the middle of a request to github.com it times out and closes the connection | 11:11 | |
I'll just put a lot of prints in the code :D | 11:12 | ||
sergot | yea, it is probably the best way :) | 11:14 | |
Do you want the commit bit? | |||
11:16
Alina-malina left
|
|||
sergot | bbiab | 11:16 | |
11:17
Alina-malina joined
|
|||
masak | can I declare a Perl 6 grammar that inherits from Rakudo's Perl6::Grammar? is the latter somehow reachable from Perl 6 userspace? | 11:18 | |
tadzik | sergot: ok, this is interesting: perl6 -Ilib -e 'use HTTP::UserAgent; HTTP::UserAgent.new.get("github.com")' eats all my memory and then the kernel kills it | ||
my $content = buf8.new( @a[($msg-body-pos + 2)..*] ); -- this line is at fault | 11:20 | ||
so it seems like it actually goes to infinity and beyond | |||
11:21
Alina-malina left
11:22
Alina-malina joined
11:23
lizmat joined
|
|||
lizmat finally made it to the hotel in Sofia | 11:24 | ||
masak | lizmat! \o/ | 11:25 | |
lizmat | so where are you hanging out? | ||
masak | at Inter Expo venue place. | ||
tadzik | lizmat! \o/ | ||
masak | currently listening to mst explaining how devops and prolog have a lot in common. | ||
11:26
Alina-malina left
11:27
Alina-malina joined
|
|||
tadzik | r: my $a = buf8.new([]); say "Foo: $a" # this is amusing | 11:32 | |
camelia | rakudo-jvm c793d8: OUTPUT«java.lang.StackOverflowError» | ||
..rakudo-parrot c793d8: OUTPUT«maximum recursion depth exceededcurrent instr.: 'print_exception' pc 142392 (src/gen/p-CORE.setting.pir:61408) (gen/parrot/CORE.setting:11718)called from Sub 'Stringy' pc 233104 (src/gen/p-CORE.setting.pir:96775) (gen/parrot/CORE.setting:1038)ca…» | |||
..rakudo-moar c793d8: OUTPUT«(signal )» | |||
masak | o.O | ||
tadzik: please submit that. | 11:33 | ||
tadzik | I think concat is the problem | ||
r: my $a = buf8.new([]); say $a | |||
camelia | rakudo-{parrot,jvm,moar} c793d8: OUTPUT«Buf:0x<>» | ||
tadzik | r: my $a = buf8.new([]); say "" ~ $a | ||
11:33
kshannon left
|
|||
tadzik | . o O ( BOOM ) | 11:33 | |
camelia | rakudo-jvm c793d8: OUTPUT«java.lang.RuntimeException: java.lang.StackOverflowError» | ||
..rakudo-parrot c793d8: OUTPUT«maximum recursion depth exceededcurrent instr.: 'print_exception' pc 142392 (src/gen/p-CORE.setting.pir:61408) (gen/parrot/CORE.setting:11718)called from Sub 'Stringy' pc 233104 (src/gen/p-CORE.setting.pir:96775) (gen/parrot/CORE.setting:1038)ca…» | |||
..rakudo-moar c793d8: OUTPUT«(signal )» | |||
11:34
klaas-janstol joined
|
|||
tadzik | r: my $a = buf8.new([]); say ~$a | 11:34 | |
camelia | rakudo-{parrot,jvm,moar} c793d8: OUTPUT«Buf:0x<>» | ||
masak | some dispatch somewhere self-calls and goes into an infinite loop. | 11:37 | |
tadzik | it would seem so, yes | ||
11:37
cibs left
11:38
dolmen left
|
|||
tadzik | reported. | 11:40 | |
masak | tadzik++ | 11:43 | |
11:43
[Sno] left
11:48
isBEKaml_mobile joined
11:51
isBEKaml_mobile left,
isBEKaml_mobile joined
11:52
isBEKaml_mobile left
11:53
dolmen joined
11:54
bjz left
|
|||
lizmat | comute to venue& | 11:54 | |
11:54
lizmat left
11:57
chenryn joined,
[Sno] joined
|
|||
colomon | masak: pretty sure you're supposed to be able to inherit from Perl6::Grammar, but last time I checked (admittedly a long while ago) you couldn't yet. | 11:59 | |
12:02
biff_512 joined
12:03
dolmen left
12:05
zakharyas joined
12:07
bjz joined,
dolmen joined,
biff_512 left
|
|||
masak | surely there's some way -- even if it's very hacky -- to extract Perl6::Grammar out of the NQP world so we can inherit from it? | 12:09 | |
jnthn | masak: Delegation may make more sense... | 12:10 | |
Hm, though maybe not from a performance view :) | |||
masak | jnthn: anything that works is interesting at this point. | 12:14 | |
12:17
klaas-janstol left
12:18
bjz left,
bjz joined
12:22
denis_boyun_ left
12:28
dolmen left
12:40
nbrown_ joined
12:42
rindolf left
|
|||
timotimo | m: use Perl6::Grammar:from<NQP>; grammar Foo is Perl6::Grammar { }; | 12:43 | |
camelia | ( no output ) | ||
timotimo | m: use Perl6::Grammar:from<NQP>; grammar Foo is Perl6::Grammar { }; Foo.parse("say 'hi';"); | ||
camelia | rakudo-moar c793d8: OUTPUT«Could not locate compile-time value for symbol Block in any find_symbol at src/Perl6/World.nqp:2297 in any stub_code_object at src/Perl6/World.nqp:949 in any comp_unit at src/Perl6/Grammar.nqp:1010 in any TOP at src/Perl6/Grammar.nqp:347…» | ||
timotimo | (Perl6::Grammar can't operate without Perl6::World) | 12:47 | |
12:58
SHODAN left
|
|||
masak | ok, but it worked thus far. | 12:59 | |
timotimo | oh my | ||
masak | that's encouraging, I think. | ||
timotimo++ | |||
timotimo | someone's running a little SSLStrip attack in the yapc event network? | ||
masak | yes, so it seems. :/ | ||
heh, there's an Ubuntu package called 'sslstrip'. | 13:00 | ||
"Package description: SSL/TLS man-in-the-middle attack tool" | |||
seems legit. | |||
13:00
SHODAN joined
|
|||
itz | maybe he saw the forged arp packets | 13:01 | |
timotimo | i wonder if i should be for this; putting the power in everybody's hands does even out the distribution of power, but it'd also put regular users with no understanding of security into more danger ... | 13:03 | |
sergot | tadzik: interesting | 13:06 | |
13:06
dolmen joined
|
|||
timotimo | masak: i recently investigated deriving from Perl6::Compiler to write the majority of the iperl6kernel in perl6 rather than nqp, but ran into some interesting issues with the code calling methods by name or something like that | 13:07 | |
masak | timotimo: I would be willing to look into this together with you. feels like it's close to working. | 13:11 | |
timotimo | let me quickly get back to the spot i was at before | 13:12 | |
13:14
xenoterracide joined
|
|||
timotimo | oh, my local install of perl6 needs to be re-built first | 13:14 | |
lightning talks are about to start, cool | 13:15 | ||
tadzik | sergot: I was wrong, it was another bug :) | ||
I changed rooms a couple times, I'll now keep looking | |||
sergot: now this is amusing. I get No such method 'bytes' for invocant of type 'Any'. Did you mean '.encode($encoding).bytes'? | 13:16 | ||
www.fugly.com/media/IMAGES/Random/65_wat.jpg | 13:17 | ||
it's inside an if $content { } | |||
sergot | hmm, something must be empty | 13:18 | |
about eating the whole ram: FROGGS told me some time ago, that it can be caused by concating Any with buf.new. | 13:19 | ||
tadzik | yes, that's exactly it | 13:20 | |
I reported that bug | |||
but now I have another ran with $content being empty | |||
13:20
zakharyas left
|
|||
sergot | hmmm | 13:22 | |
let me check something | |||
tadzik | is it possible that it sometimes receives nothing and then says "ah screw it, I give up"? | 13:23 | |
(guessing again) | |||
13:23
nbrown_ left
|
|||
sergot | tadzik: try debuggin like this: github.com/sergot/io-socket-ssl/co...6cfdc9ae3e | 13:23 | |
timotimo | m: use Perl6::Compiler:from<NQP>; class MyComp is Perl6::Compiler { }; say MyComp.new().eval("say 'hi there!'") | ||
camelia | rakudo-moar c793d8: OUTPUT«===SORRY!===Cannot find method 'parse'» | ||
timotimo | the HLL::Compiler wants to call the named method "parse", but is not succeeding | 13:24 | |
tadzik | sergot: like how? :D | ||
I have a recent Socket::SSL if that's what you mean | |||
timotimo | i think it's related to the difference between nqp and perl6's stuff; maybe it needs a decont before it meth-calls or something like that | ||
13:25
nbrown_ joined
|
|||
timotimo | (but actually i have no idea what's going on) | 13:26 | |
sergot | one sec | 13:27 | |
masak | m: say sec 1 | 13:28 | |
camelia | rakudo-moar c793d8: OUTPUT«1.85081571768093» | ||
masak | ^ one sec :P | ||
timotimo | m) | ||
13:28
dolmen left
|
|||
masak | m: say 1.sec | 13:28 | |
camelia | rakudo-moar c793d8: OUTPUT«1.85081571768093» | ||
jnthn | m: say :1sec | 13:29 | |
camelia | rakudo-moar c793d8: OUTPUT«» | ||
jnthn | m: say (:1sec) | ||
camelia | rakudo-moar c793d8: OUTPUT«"sec" => 1» | ||
sergot | tadzik: we should add some debugging here: github.com/sergot/io-socket-ssl/bl...L.pm6#L113 | 13:30 | |
masak | m: my $pair = :1sec; say $pair.value."$pair.key()"() | ||
camelia | rakudo-moar c793d8: OUTPUT«1.85081571768093» | ||
sergot | like I show you above | ||
timotimo | aaarrrggghh masak %) | 13:31 | |
masak | m: my $pair = :1sec; say .value."$(.key)"() given $pair | ||
camelia | rakudo-moar c793d8: OUTPUT«1.85081571768093» | ||
masak | timotimo: :P | ||
masak blames jnthn :) | |||
sergot | tadzik: www.openssl.org/docs/ssl/SSL_read....URN_VALUES | ||
tadzik | sergot: right. OpenSSL's read() method just ignores that realyl :0 | 13:32 | |
sergot | yeah... I should have done this. | ||
13:32
liztormato joined
|
|||
sergot | :) | 13:33 | |
13:33
biff_512 joined
|
|||
sergot | another task is to add throwing the exceptions | 13:34 | |
jnthn | masak: That's *horrible* :P | 13:35 | |
masak grins | |||
sergot | tadzik: actually we should it in OpenSSL.pm6 | 13:36 | |
tadzik | sergot: yeah, in read() | 13:37 | |
it pretty much ignores the return value there | |||
13:37
liztormato left,
nbrown_ left
13:38
liztormato joined
|
|||
sergot | tadzik: it is my fault :( | 13:38 | |
tadzik | "it's not what you do, it's what you do after" :P | ||
sergot | I can do this right now | ||
hehe :) | |||
tadzik | yes please :) | ||
++sergot | |||
13:40
biff_512 left
|
|||
sergot | I've just added printing errors, about throwing exceptions I will think later :) | 13:43 | |
pushing in a while | |||
tadzik | close enough to debug that bug, probably :) | 13:44 | |
carlin | the kitten in the background on the profiler reveal slides is so adorable :3 | ||
sergot | tadzik: pushed | 13:47 | |
should be enough for now | |||
tadzik | sergot++ | ||
trying it out | |||
sergot: no new output :( | 13:48 | ||
sergot | eww | 13:49 | |
tadzik | sergot: do you have a machine running ubuntu? | ||
13:49
immortal left
|
|||
sergot | yes | 13:49 | |
tadzik | I can replicate that bug on those, did you try it there? | ||
13:49
erkan joined
|
|||
flussence | .oO( this thing that's currently being talked about sounds interesting and useful... ) |
13:49 | |
tadzik | yes | 13:50 | |
I love the idea | |||
sergot | What is it about? (my $connection sucks) | ||
tadzik | sergot: a new IM service, distributed open etc | 13:51 | |
flussence | alternative to xmpp that isn't xml :) | ||
tadzik | sort of :) | ||
and with good rooms, like irc | |||
sergot | tadzik: I hadn't such a problem earlier (on ubuntu as well) but I've upgraded it and it looks like it is the same now. | 13:52 | |
I mean, the same as yours | |||
tadzik | oh, good, so you can reproduce it :) | ||
sergot | sort of, because I cant get "Any" | ||
only the bug with getting just the header | |||
tadzik | it varies, I had that yesterday, I don't have that today | 13:53 | |
it probably depends on what github sends | |||
13:55
liztormato left
|
|||
sergot | ok, I ve just got it, but it says we read 6 bytes just before this error, so it doesn't print the err code | 13:55 | |
13:55
raiph joined
|
|||
sergot | it is something wrong with the chunked transfer encoding.. | 13:57 | |
I'm almost 100% sure. | |||
tadzik: | 14:01 | ||
this fixes the-any-problem: | |||
- while $chunk-size > $content.bytes { | |||
+ while $content && $chunk-size > $content.bytes { | |||
it seems like a chunk can only contain the size | 14:02 | ||
no, wait.. it's not correct | |||
[Coke] | showed my 11 year old jnthn's slide with the code from Jonathan to jnthn; me: "what do you think the .lc does?" her: "... lose capitals?" (I love this girl. :) | 14:03 | |
masak | [Coke].11yo++ | 14:04 | |
jnthn | Now try .uc :D | ||
masak | "UR CAPITALS!" | 14:05 | |
tadzik | utilize capitals? :P | ||
masak | "ultimate capitals" | 14:06 | |
flussence | unlose capitals! | ||
masak | flussence wins :) | 14:07 | |
14:08
nbrown_ joined
14:13
klaas-janstol joined
14:15
telex left
14:16
telex joined
14:17
raiph left
14:19
nbrown_ left,
mr-foobar left
14:21
mr-foobar joined
14:23
raiph joined
|
|||
masak | "mentee" is a wonderful word :) | 14:28 | |
gtodd | is it correct? | 14:29 | |
jnthn | Why not? :) | 14:30 | |
14:32
nbrown_ joined
|
|||
masak | gtodd: "..." -- Humpty Dumpty | 14:32 | |
jnthn | .oO( Stubty Dumpty ) |
14:33 | |
masak | gtodd: en.wikipedia.org/wiki/Humpty_Dumpt...king-Glass | ||
flussence | ...is that mst in a kilt? | ||
masak | flussence: yes. | 14:34 | |
tadzik | he's on stage now | ||
gtodd | heh | ||
masak | the backstory of mst giving these keynotes is something like the following: | ||
TimToady kept giving keynotes about the evolution and thought process of Perl 6. | |||
no-one gave keynotes about the continued evolution of Perl 5. | |||
so eventually, mst stepped into that role. | 14:35 | ||
(mst++) | |||
14:36
go|dfish left
14:37
nbrown_ left
|
|||
gtodd | one of these days he is going to talk about perl6 :-) | 14:37 | |
masak | thing is, as much fun he makes of Perl 6, mst++ is one of the good guys. | 14:38 | |
gtodd | for sure :-) | ||
14:38
chenryn left
|
|||
masak | he may not ever turn into a regular Perl 6 user, having been too brain dam^W^Winfluenced by Perl 5. | 14:39 | |
but he *wants* Perl 6 to succeed. | |||
gtodd | heh ... SotV FIVE which means next time it will be SotV SIX hehe | 14:40 | |
masak | dun dun *duuun* | ||
heh, the Perl 5 release process has more or less converged on the Rakudo release process :P | 14:41 | ||
good for them! | |||
so... if Perl 5 is moving forward faster... | 14:43 | ||
...is it now an acceleraptor? :P | |||
jnthn was thinking that :P | |||
flussence | .oO( or it's a hungry velociraptor ) |
||
14:45
dolmen joined
|
|||
masak | signatures! \o/ | 14:46 | |
tadzik | ...behind 40 experimental warnings :) | ||
masak .oO( are you really *really* sure you want to switch this on? ) | 14:47 | ||
what the heck is postfix deref? | |||
tadzik | $foo->{bar}->@ or so | 14:48 | |
instead of the @{} ugliness | |||
masak | I... uh... | ||
ok, so it's like .list -- fine. | 14:49 | ||
[Coke] | jnthn: nice slides. I learned some stuff. | 14:50 | |
jnthn | :) | 14:52 | |
dalek | kudo-star-daily: fada594 | coke++ | log/ (14 files): today (automated commit) |
14:53 | |
15:13
klaas-janstol left
|
|||
awwaiid | maybe they should have named it ->list :) | 15:13 | |
moritz | except that this breaks backwards compat | 15:14 | |
awwaiid | which? | 15:15 | |
moritz | what about existing methods called "list2? | ||
*"list" | |||
awwaiid | if there is an existing method named list, then it is probably not an arrayref :) | ||
FROGGS | awwaiid: when you parse ->@ you can be sure that you have to array-deref, and you know that at compile time | ||
gtodd | ... are slides for each talk (e.g. the GOTO talk :-) act.yapc.eu/ye2014/talk/5634 ) available from the site? | ||
FROGGS | you don't know that with ->list | 15:16 | |
because that could be a method on an object | |||
awwaiid | ah yes, compile time. good point | ||
moritz | awwaiid: plessed array refs are valid objects in p5 | ||
15:17
FROGGS left
|
|||
awwaiid | yeah, I realize that moritz. I spoke hastily :) | 15:17 | |
moritz | awwaiid: and I know some production p5 code that uses them | ||
awwaiid | it's just so ... ugly. Don't get me wrong, @{..} isn't so purdy itself | ||
moritz | agreed | ||
15:17
dolmen left
|
|||
awwaiid | and actualy it is ->@*, right? | 15:18 | |
I would prefer ->@ | |||
flussence | (I've got an actual perl6 question for once!) I'm trying to do something crazy along the lines of «temp $*OUT = $something; $curried-closure-that-outputs-stuff.()», but it's not working. How close do I have to put the $*OUT assignment to the actual &say call to have an effect? | 15:19 | |
15:20
FROGGS joined
|
|||
TimToady | try 'my $*TEMP = $something;' instead and see if it works better than temp, which has not all the lovin's it needs in the past | 15:25 | |
shouldn't matter how close it is as long as the usage is actually in the dynamic scope | |||
and as long as something innerer doesn't override it | 15:26 | ||
flussence | aha, if I shove "my $*OUT = ...;" inside the closure it barfs the way it should. that works for me :) | ||
thanks TimToady | |||
15:34
nbrown_ joined
15:35
go|dfish joined
15:37
guru joined,
guru is now known as Guest49574,
Guest49574 is now known as ajr_
15:38
nbrown_ left
15:40
nbrown_ joined
|
|||
TimToady | backlogged! oops, that means I now hafta go fix that faucet I've been putting off for two days... | 15:44 | |
15:44
rurban1 joined
|
|||
TimToady | wife coming home today, who would be unhappy that we broke the kitchen | 15:44 | |
15:44
potatogim_ joined,
nbrown_ left
15:46
cibs joined
15:47
potatogim_ left,
potatogim_ joined,
potatogim_ left,
potatogim_ joined
|
|||
awwaiid | every time you backlog an issue you have to fix something on your house? | 15:47 | |
TimToady | seems to work out that way :) | 15:48 | |
15:50
potatogim_ is now known as PotatoGim_Home
15:53
PotatoGim_Home left
15:59
raiph left,
rurban1 left
16:00
rurban1 joined
16:21
psch left
16:25
pmurias joined
16:26
psch joined
16:27
rurban1 left
16:29
denis_boyun_ joined
16:41
nbrown_ joined
16:45
nbrown_ left,
xenoterracide left
|
|||
spider-mario | (from Rakudo’s --help) “Output from --profile can be visualized by kcachegrind.” | 16:51 | |
can it? it writes HTML directly for me. | |||
oh, it appears to depend on the backend. | 16:53 | ||
16:54
denis_boyun_ left
|
|||
flussence | r-p got a profiler too at one point, though it goes into too much low-level detail imo | 16:58 | |
17:15
thou joined
17:25
Ven joined
|
|||
Ven | I just realized that, when doing perl6, my code revolves around subsets. | 17:32 | |
17:33
zakharyas joined
17:35
xenoterracide joined
17:39
raiph joined
17:42
nbrown_ joined
17:46
nbrown_ left
17:51
pmurias left
17:52
Akagi201 left
18:03
rindolf joined
|
|||
rindolf | Hi all. | 18:03 | |
Ven | o/ | 18:04 | |
18:05
rindolf left
|
|||
Ven | "C++ is a horrible language. In fact, I don't consider it a language any more. It's a conglomerate of plagiarisms with an awful syntax. I mean, every language borrows ideas from neighboring ones, but C++ has this Perl-6 aroma to it: if it exists, we'll take it in. I" | 18:08 | |
timotimo | that's not a nice thing to say | 18:10 | |
in perl6, all the things we've taken in so far have worked pretty well together | |||
and the syntax isn't awful, either | |||
18:14
Ven left
18:18
BizarreCake joined
|
|||
BizarreCake | 'ello | 18:19 | |
18:23
Ven joined
|
|||
Ven | timotimo: it's from a python guy :P | 18:24 | |
he just wants those subsets and pattern matching :) | 18:28 | ||
18:31
Ven left
18:35
cognome left,
cognome joined,
pmurias joined
18:39
dwarring joined
18:40
cognome left
|
|||
FROGGS | o/ | 18:42 | |
18:43
nbrown_ joined
|
|||
FROGGS | I know it is rather off topic, but is somebody here that is willing to translate something from node-js to perl 5 for me? | 18:44 | |
dalek | ast: 8871f15 | (David Warring [email@hidden.address] | S32-scalar/undef.t: supress a couple of warnings |
||
ast: f67ab6c | (David Warring [email@hidden.address] | / (31 files): Merge branch 'master' of github.com/perl6/roast |
|||
ast: 903d2d0 | (David Warring [email@hidden.address] | S03-operators/assign.t: Merge branch 'master' of github.com/perl6/roast |
|||
ast: cde924b | (David Warring [email@hidden.address] | S10-packages/basic.t: added test for RT #79464 |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=79464 | ||
18:44
denis_boyun_ joined
|
|||
FROGGS | it is just about 40 lines | 18:44 | |
18:47
nbrown_ left
|
|||
dwarring | [Coke]: RT #79464 can now be closed (hopefully) | 18:48 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=79464 | ||
sergot | tadzik: could you try it now? | 18:55 | |
tadzik: installing UA. :) | |||
btyler | FROGGS: sure, I'm happy to take a look at least | 18:56 | |
FROGGS | btyler: it is about that: github.com/leandrob/node-psha1/blo...b/index.js | ||
18:56
denis_boyun_ left
|
|||
FROGGS | btyler: the hmac+sha1 would be called as: hmac($data, $key, \&sha1, 256) | 18:58 | |
my uncertainty is about Buffer.copy | |||
btyler | eek, crypto stuff | 19:01 | |
FROGGS | :/ | ||
if you can translate parts of it it would be very helpful already... I think I can google the rest then :o) | 19:02 | ||
btyler: how do I load that script using nodejs? | 19:04 | ||
pmurias | it's a module | ||
FROGGS | so, require("lib/..."); ? | ||
pmurias | require("psha1") | 19:05 | |
19:05
kaare_ left,
Ven joined
|
|||
FROGGS | Error: Cannot find module 'psha1' | 19:05 | |
at Function.Module._resolveFilename (module.js:338:15) | |||
pmurias | you need to install it | ||
FROGGS | ahh | 19:06 | |
pmurias | npm install psha1 | ||
btyler | "npm install psha1" (it's on the package index: www.npmjs.org/package/psha1) | ||
pmurias | installs it into node_modules/ | ||
btyler | like local::lib | ||
FROGGS | npm install psha1 | ||
npm WARN install Refusing to install psha1 as a dependency of itself | |||
btyler | ah, you're probably in the directory you cloned the repo into | 19:07 | |
FROGGS | yeah, got it now | ||
btyler | 'npm install <foo>' installs a lib locally to your project. ok! :) | ||
FROGGS | hehe | ||
btyler | (and it reads the package.json for information about what the project is) | ||
FROGGS | weird :o) | ||
btyler | anyways, the buffer stuff isn't too crazy, but I'm not sure what the direct analogue in p5 is. I guess stuff with vec or pack/unpack? I haven't messed around in that area very much at all | 19:08 | |
19:08
zakharyas left
|
|||
btyler | nodejs.org/api/buffer.html the node API docs are generally pretty complete and good quality | 19:09 | |
BizarreCake | Is it okay to call a Perl 6 compiler I'm writing "P6"? | ||
19:09
Sqirrel joined
|
|||
BizarreCake | Now that I think about it... the name seems a bit too generic and one that could be used by official compilers in the future.. | 19:09 | |
FROGGS | buf.copy(targetBuffer, [targetStart],..) # that's helpful indeed | ||
btyler: thanks :o) | |||
pmurias | BizarreCake: doesn't seems a very good name | 19:10 | |
FROGGS | BizarreCake: P6 might not be the best choice :o) | ||
BizarreCake | yeah.. | ||
FROGGS | BizarreCake: choose something that an be found using google | ||
BizarreCake | I guess I'll have to do some major refactoring then... ;-; | ||
dalek | rl6-roast-data: 77dbbef | coke++ | / (6 files): today (automated commit) |
||
Ven | BizarreCake: I use P6 to say "Perl 6" all the time :/ (also,link?) | 19:11 | |
BizarreCake | Is it okay for me to post a link to my github repository here? | ||
pmurias | yes | 19:12 | |
FROGGS | sure | ||
BizarreCake | github.com/BizarreCake/P6 :) | ||
[Coke] | dwarring: closed. | 19:13 | |
BizarreCake | That link will only be valid for a little while I guess, since I have to change the name. | ||
FROGGS | BizarreCake: nice what it can do already :o) | 19:15 | |
BizarreCake | Not a lot haha | ||
I'm working on type constraints right now | |||
There's a small code snippet in the repository's main page demonstrating what it's currently capable of. | |||
FROGGS | well, it is still a lot of work for a one man army | 19:16 | |
BizarreCake | :) | ||
It's kind of a challenge for me since I'm learning Perl as I'm writing the compiler.. | 19:17 | ||
Ven | You're crazy! It's great :D. | ||
BizarreCake | Its main purpose is to replace PHP in an HTTP server that I'll release later on. | 19:18 | |
Server side Perl 6 scripting. | |||
And thanks :3 | |||
FROGGS | :o) | ||
BizarreCake: please keep us posted here about your progress | |||
BizarreCake | Sure haha | 19:19 | |
Ven | (maybe it could even get a commit log bit, in time) | ||
pmurias | commit log bit? | ||
BizarreCake | :o That's a big goal haha | 19:20 | |
Ven | pmurias: commits getting notified in the channel | ||
Not sure how that's even called :D. | 19:21 | ||
pmurias | a github hook? | ||
Ven | yeah | 19:22 | |
pmurias | there is a document somewhere detailing how to set it up | 19:23 | |
I always forget how to do it | |||
BizarreCake: have you seen moarvm? | 19:24 | ||
BizarreCake | I have | ||
I wrote my own VM to have it as self contained as possible. | |||
Is it fast? | 19:25 | ||
Ven | BizarreCake: jnthn++ gave a talk about this yesterday, I'll try to find the link to his slides... | 19:26 | |
19:26
cognome joined
|
|||
Ven | pmurias: well, not sure what the URL for that push thingie is, but otherwise you basically just set it in the "repo settings" field | 19:26 | |
BizarreCake: jnthn.net/papers/2014-yapceu-performance.pdf | |||
19:26
pmurias left
|
|||
BizarreCake | I had it compute the 30th fibonacci number, and I can't really say the results were spectacular.. | 19:26 | |
It's possible that I didn't compile it properly though | |||
19:27
pmurias joined
|
|||
pmurias | Ven: I have set up the github hooks a couple of times but I always forget the details | 19:28 | |
BizarreCake | It takes 19 seconds to compute the 30th fibonacci number on Rakudo with a MoarVM backend. | 19:29 | |
pmurias | with recursion? | 19:30 | |
BizarreCake | Yes | ||
pmurias | numbers are bignums by default in perl6 | 19:32 | |
BizarreCake | oh | ||
That explains it, I guess. | |||
FROGGS | time perl6 ../fib.p6 | 19:33 | |
fib(30) = 832040 | |||
real0m7.951s | |||
BizarreCake | Hmm, that's still a lot | ||
FROGGS | time perl ../fib.pl 30 | 19:34 | |
fib(30) = 832040 | |||
real0m0.726s | |||
19:34
darutoko left
|
|||
BizarreCake | Ok | 19:34 | |
FROGGS | time perl6 ../fib.p6 | ||
fib(30) = 832040 | |||
real0m3.821s | |||
that's with native ints | |||
BizarreCake | Oh wait, the second one was done using Perl 5 | ||
In that case, that's still quite a lot. | |||
pmurias | FROGGS: could you nopaste your fib.p6, I would like to test it under nqp-js | 19:35 | |
FROGGS | pmurias: gist.github.com/FROGGS/cc3015b5c0a5ab67257c | 19:36 | |
BizarreCake | I've read somewhere that it performs a full dynamic method dispatch for every arithmetic operation, so that could be why. | ||
FROGGS | BizarreCake: 0.7 to 3.8 is not *that* bad | ||
BizarreCake: look at jnthn's slides | |||
spesh can already inline many things | |||
heh, it allocates 1346268 Ints :o) | 19:38 | ||
19:38
Ven left
|
|||
FROGGS | from --profile: "In total, 5385138 call frames were entered and exited by the profiled code. Inlining elminated the need to create 1346232 call frames (that's 20%). " | 19:39 | |
BizarreCake | I found that the biggest reason for the slowdown, at least in my compiler, is the fact that parameters must be packaged into the @_ array every time a method is called. | ||
instead of pushing the subroutine parameters directly onto the stack. | |||
It's a needless allocation if the subroutine doesn't use the @_ array. | |||
timotimo | we don't do that | 19:40 | |
BizarreCake | :o What's the workaround? | ||
19:40
colomon left
|
|||
timotimo | a subroutine only gets the @_ if you use it inside | 19:41 | |
per spec | |||
m: sub test($a, $b) { say @_ }; test(1, 2) | |||
camelia | rakudo-moar c793d8: OUTPUT«===SORRY!=== Error while compiling /tmp/TEUtzjL6rUPlaceholder variable '@_' cannot override existing signatureat /tmp/TEUtzjL6rU:1------> sub test($a, $b) { say @_ }⏏; test(1, 2) expecting any of: …» | ||
BizarreCake | Hmm | ||
timotimo | m: sub test($a, $b) { say "hi" }; say &test.signature | ||
camelia | rakudo-moar c793d8: OUTPUT«:(Any $a, Any $b)» | ||
timotimo | m: sub test() { say @_ }; say &test.signature | ||
camelia | rakudo-moar c793d8: OUTPUT«===SORRY!=== Error while compiling /tmp/ra0Z43XD92Placeholder variable '@_' cannot override existing signatureat /tmp/ra0Z43XD92:1------> sub test() { say @_ }⏏; say &test.signature expecting any of:…» | ||
timotimo | m: sub test { say @_ }; say &test.signature | ||
camelia | rakudo-moar c793d8: OUTPUT«:(*@_)» | ||
BizarreCake | I thought about optimizing it away by searching for @_ inside the subroutine's body, but I know that a lot of subroutines can take @_ as a default parameter | 19:42 | |
which makes thinks a bit more complicated | |||
especially the 'shift' subroutine | |||
FROGGS | m: shift | 19:43 | |
camelia | rakudo-moar c793d8: OUTPUT«===SORRY!=== Error while compiling /tmp/n3ZhMF9cH8Calling proto of 'shift' requires arguments (if you meant to operate on $_, please use .shift or use an explicit invocant or argument) Expected: :(@)at /tmp/n3ZhMF9cH8:1----…» | ||
BizarreCake | :o!! | ||
FROGGS | BizarreCake: there is no bare shift | ||
BizarreCake | It was changed in Perl 6? | ||
FROGGS | yes | ||
BizarreCake | That's awesome | ||
It is possible then. | |||
19:44
nbrown_ joined
|
|||
BizarreCake | My compiler can currently compute the 30th fibonacci number in around 0.495s | 19:45 | |
FROGGS | time perl6 ../fib.p6 | ||
fib(30) = 832040 | |||
real0m1.467s | |||
BizarreCake | But if I can eliminate the @_ packaging, it could be a lot less | ||
FROGGS | updated: gist.github.com/FROGGS/cc3015b5c0a5ab67257c | ||
pmurias: ^^ | |||
so fib(30) only takes twice the time of perl 5 | 19:46 | ||
19:48
nbrown_ left
|
|||
pmurias | does nqp support native sub arguments? | 19:52 | |
FROGGS | what are native sub arguments? | 19:53 | |
pmurias | sub foo(int $foo) {...} | 19:54 | |
after the compilation it took 0.126s | |||
FROGGS | time nqp-m ../fib.p6 | ||
fib(30) = 832040 | |||
real0m0.836s | |||
pmurias: yes, nqp supports that | 19:55 | ||
that's a parameter though | |||
pmurias | with compilation 0.410s | ||
I'm still doing the cross compiling on parrot which is likely slowing me down | 19:56 | ||
FROGGS | yeah | ||
you should switch, the early the better | |||
pmurias | could you gist the p5 version? | ||
FROGGS | github.com/parrot/parrot/blob/mast...rks/fib.pl | 19:57 | |
timotimo | whatf's so expensive? | 19:58 | |
FROGGS | timotimo: nqp-m is only .1s slower than P5 | ||
19:58
Ven joined
|
|||
FROGGS | (in case you are talking about fib) | 19:59 | |
pmurias | so nqp-js is faster then p5 here on the fib example | ||
FROGGS | O.o | ||
pmurias | counting the compilation on parrot | 20:00 | |
FROGGS | I'm not sure I believe that :o) | ||
Ven | his is in minutes :P | ||
FROGGS | *g* | ||
lol | |||
Ven | now try with luajit :P | ||
I bet those strict and warnings slow you down :P | 20:01 | ||
.oO(( I should have .oO()'d these :P )) |
|||
pmurias | Ven: "his is in minutes"? | ||
Ven | pmurias: I mean you're benchmarking in minutes instead of seconds | ||
timotimo | i think we ought to do a bit better at that | 20:02 | |
maybe 30 is just not enoug :P | |||
well, doing fib via recursion is not a good idea anyway :D | |||
pmurias | Ven: pre rewrite nqp-js was 100x slower than parrot, that's why once I saw the bechmarks I started rewriting it | 20:03 | |
FROGGS: if you don't belive me you can try for yourself ;) | |||
20:04
zakharyas joined
|
|||
timotimo | well, care has been taken to make perl6 optimizer-friendly (and nqp even more so) | 20:04 | |
FROGGS | pmurias: will do that soon-ish... but not today :o) | ||
20:05
colomon joined
|
|||
pmurias | FROGGS: ok, I have time to make fib run even faster ;) | 20:05 | |
FROGGS | bah | 20:06 | |
:P | |||
pmurias | switching from parrot to the moarvm seems the best way | 20:07 | |
FROGGS | well, you can test your changes in a fraction of the time... that's always good | 20:09 | |
20:10
lizmat joined
|
|||
pmurias | currently the compile time isn't that bad, but it's steadily getting slowe | 20:13 | |
* slower | |||
Ven | oh wow, just learned that haskell had half a million lines of code... back in 2011. | 20:17 | |
masak | "haskell had"? what does that mean? | 20:19 | |
oh hai #perl6 | |||
FROGGS | hi masak | 20:20 | |
Ven | masak: errr, ghc. | ||
masak | ah. | ||
Ven | masak: sorry, I'm randomly talking about several languages again, and drowning a bit | ||
masak | heh :) | 20:21 | |
and ghc is written in...? C? | |||
Ven | C++, AFAIK | ||
BizarreCake | I think it's written in Haskell | ||
Ven | at least I think so, from some implementor guy's blog post I read | ||
BizarreCake | It's bootstrapped | ||
masak | BizarreCake: hi there. new? welcome. | ||
BizarreCake | haha thanks | ||
Ven | masak: backlog a bit, btw ;) | ||
masak does | 20:22 | ||
Ven | www.aosabook.org/en/ghc.html 5.2 tells us. | ||
cognome | jnthn++ # talk slides | 20:24 | |
geekosaur | ghc is written in ghc's dialect of haskell. go back far enough and you'll find early versions written in a dialect of Lazy ML | ||
masak | BizarreCake: yes, please keep us posted about your progress. :) | ||
geekosaur | some bits of the runtime are written in C | 20:25 | |
masak | BizarreCake: I suppose you're aware of the spectest suite? | ||
cognome | I thought haskell backend was using a C dialect, C-- | ||
BizarreCake | They're my primary reference, yes. | ||
masak | ok, great. | ||
BizarreCake: however far you get, it's *always* good to have parallel implementations. | |||
BizarreCake: so especially that kind of feedback would be wonderful. | 20:26 | ||
geekosaur | cmm is used by the code generator; I don't think any of the runtime is written in it, and the compiler itself certainly isn't | ||
cognome | en.wikipedia.org/wiki/C-- | ||
BizarreCake | :) | ||
geekosaur | (cmm is a fork of c--) | ||
masak | BizarreCake: in fact, now I half-expect you to come back with tricky one-liners on camelievalbot and challenge us with the why and how. | ||
BizarreCake | Well, in time haha, I'm still learning Perl as I'm writing the compiler | ||
20:26
SamuraiJack joined
|
|||
BizarreCake | Which is the main challenge for me, at the moment. | 20:27 | |
Before I implement a feature, I always need to make sure I understand it properly. | |||
Which is why I sometimes wish the spec documents had more rigorous definitions in them. | |||
masak | BizarreCake: by the way, some people will misunderstand if you say "Perl" when you mean "Perl 6". that's generally fine here, but in some forums that'd be a faux pas of sorts. | 20:28 | |
geekosaur | c-- / cmm makes a good intermediate language for code generation, but is a bit too platform dependent for use as a direct target so not really suitable for implementing parts of the runtime | ||
BizarreCake | Nope, I actually mean that | ||
I'm learning both Perl and Perl 6 at the same time | |||
masak | BizarreCake: if you have any (*any*) questions about details of the spec, there are oodles of people here ready to help with that. | 20:29 | |
BizarreCake: in here, "Perl" means "Perl 5 + Perl 6", kind of. | |||
BizarreCake | I'll be sure to, thanks :) | ||
masak | BizarreCake: like "the Perl community" consists of all the Perl 5 and Perl 6 peeps like those at the currently ongoing YAPC::EU. | 20:30 | |
geekosaur | s/direct target/source language/ I am too tired :( | ||
20:31
jaffa4 left
|
|||
TimToady | m: proto fib(|) is cached {*}; multi fib(0) {0}; multi fib(1) {1}; multi fib(\n) { fib(n-1) + fib(n-2) }; say fib(30) | 20:34 | |
camelia | rakudo-moar c793d8: OUTPUT«832040» | ||
TimToady | m: proto fib(|) is cached {*}; multi fib(0) {0}; multi fib(1) {1}; multi fib(\n) { fib(n-1) + fib(n-2) }; say fib(100) | ||
camelia | rakudo-moar c793d8: OUTPUT«354224848179261915075» | ||
TimToady | BizarreCake: ^^ | 20:35 | |
mind you, that's not how we'd do fib in P6 generally | |||
BizarreCake | It's cached, of course it'd run faster. | ||
20:35
kupopo joined
|
|||
BizarreCake | You're right, no one really computes fib(30) using a recursive implementation. | 20:35 | |
TimToady | m: constant fib = 0, 1, *+* ... *; say fib[100] | ||
camelia | rakudo-moar c793d8: OUTPUT«354224848179261915075» | ||
20:35
zakharyas left
|
|||
BizarreCake | Those are just small details that could lead to performance impacts in bigger problems :) | 20:36 | |
TimToady | but as a benchmark of call overhead, you could do worse | ||
BizarreCake | I'm benchmarking fib to try and measure how fast the bytecode instructions are executed. | 20:38 | |
TimToady | by the way, I agree that "P6" is too generic; we use that all the time here to indicate the language when we're too lazy to type Perl 6 | 20:39 | |
BizarreCake | .. yeah haha | ||
I'm really bad with names though | |||
masak | BizarreCake: have you thought of a good name yet? | ||
BizarreCake | nope.. | 20:40 | |
Want to help? ;D | |||
masak | BizarreCake: I kind of have a history of naming Perl 6 compilers. | ||
maybe I can help? :) | |||
BizarreCake | Be my guest haha | ||
masak has named at least two | |||
kupopo | Should rakudo-star + parrot be able to build Perl 6 programs into binaries? I've tried on 3 different computers (mac and linux built from source and an ubuntu binary distro) and all give the same error about missing or wrong version of src/Perl6/Grammar.nqp when I run parrot (though perl6 can execute it directly). | ||
masak | BizarreCake: ok, so tell me about the salient features of your compiler. | ||
BizarreCake | uhh.. | 20:41 | |
Hmm, that's a difficult question for a compiler that doesn't really have a lot in it. | |||
Ven | masak: tel.github.io/2014/08/22/JSON_is_no..._notation/ codata! :P | ||
BizarreCake | I'm planning to use it in an HTTP server later on | ||
and allow HTML files to have embedded <?perl6 ?> tags in them | 20:42 | ||
Ven | only <? please :P. | ||
masak | Ven: will read. | ||
BizarreCake: ooh, that's an excellent idea. I've been meaning to look into a rakudo distribution that does that, too. | |||
BizarreCake | I can't really think of anything else haha | 20:43 | |
Ven | (though people try to stay away from that :P) | ||
20:44
nbrown_ joined
|
|||
masak | BizarreCake: how about "arane" -- nice and short, Esperanto for spider (because you'll be using it for the web) | 20:44 | |
BizarreCake | .. :o You're pretty good | 20:45 | |
masak | easy to pronounce, unlike Niecza. | ||
Ven | Not sure how I knew it meant "spider" – I don't speak a single word of Esperanto. | ||
BizarreCake | I like it | ||
masak | Ven: but you're French. | ||
Ven: araignée | |||
Ven | masak: yes? arachne makes me think about those too | ||
masak | oh yes, same root. | ||
flussence | there is a vague technical reason to have some word after a <? - it makes it valid xml syntax (though that still depends on what happens before the next ?>) | 20:46 | |
kupopo | I'm assuming it's a problem with my environment or command-line or something: $ perl6 /tmp/hello.p6 # hello $ perl6 --target=pir --output=/tmp/hello.pir /tmp/hello.p6 $ parrot /tmp/hello.pir | ||
Should that work? | |||
Ven | oh, it's from greco-roman mythology, apparently: "arachne" | ||
BizarreCake | masak: I think it's settled then | ||
Ven | that's what I know, I guess | ||
BizarreCake | Arane it is :3 | ||
Ven | BizarreCake: congrats on those legs ;) | ||
20:46
ajr_ left
|
|||
Ven | (also from the latin "aranea") | 20:46 | |
masak | BizarreCake: if people ask, the actual Esperanto word is "araneo" with an "o" at the end. but you're allowed to lop off the final "o" on (nominative) nouns for poetry purposes. | ||
flussence | kupopo: try compiling the pir to pbc and running that | 20:47 | |
Ven | masak: how many (natural) langs do you know? | ||
masak | BizarreCake: there really should be an apostrophe in its place ("arane'"), but we can be liberal and skip that. :) | ||
Ven: about seven. | |||
Ven: but I only speak three of them well enough to brag about it. | |||
BizarreCake | I'll just add a section describing the etymology of the name haha | ||
kupopo | flussence: the compilation succeeds but I get the same error when I run the resulting binary | ||
Ven | masak: I only speak french and english enough to brag about it, so I'm kinda jealous now :P. | ||
masak | :) | ||
Ven | I can learn programming languages pretty easily, but I'm impressed with people speaking many natural languages | 20:48 | |
It's just, like, a different dimension in learning... | |||
masak | Ven: I'm not sure if you count Esperanto as "natural". if you don't, then I only speak two well. | ||
Ven | masak: why not? | ||
masak | I guess Esperanto is natural *enough* at this point... | ||
it's certainly owned by its speaker community, at least. | 20:49 | ||
20:49
nbrown_ left
|
|||
flussence | kupopo: oh, I'm not sure if anyone's ever had that use case working properly. Those files are usually only used as a compilation cache alongside the input .pm/.pl files... | 20:50 | |
kupopo | I can get past the Grammar.nqp error by running from ~/Downloads/rakudo-star-2014.04/rakudo - in that case it complains about missing/wrong version of gen/parrot/stage2/QRegex.nqp | 20:51 | |
20:51
denis_boyun_ joined
|
|||
kupopo | which seems like it's trying to use whatever bootstrapping framework was used to build the perl6 binary but that it may not work for anything else | 20:52 | |
masak | BizarreCake: for the people who wonder where the stress falls, it technically should be "arané" -- but I think the more natural one is "aráne", and "árane" sounds kinda exotic, too. so maybe simply leave it open to people's whim. | ||
"aráne" is more of a kin with "rakúdo" and "Niécza" | 20:53 | ||
flussence | kupopo: have you done a "make install" on rakudo? | ||
BizarreCake | masak: Noted :) | 20:55 | |
kupopo | flussence: yes, that's how I installed it, though I did set PREFIX=$HOME/local/opt/rakudo - but I get the same error on the ubuntu 'rakudo' distro | ||
jnthn | kupopo: As far as I know, you can pre-compile modules, but not individual scripts. | ||
kupopo | jnthn: I see - that was the gist I got from trying --target=jar as well - a jar library but no main class. What the best way to package a perl6 program to be usable by someone on a workstation that hasn't installed rakudo? | 20:56 | |
(or is that even possible?) | 20:57 | ||
flussence | get them to install niecza instead? */me ducks* | ||
kupopo | (and if not, what is pbc_to_exe for? | 20:58 | |
flussence | pir is a standalone language by itself, it'd probably work fine for simple cases of that, just not for rakudo-on-nqp-on-parrot... | 20:59 | |
who knows, maybe it works completely fine in one of those other languages parrot is designed for :) | 21:00 | ||
masak | 'night, #perl6 | 21:01 | |
BizarreCake | Cya | ||
and thanks again :) | |||
kupopo | oh well... hopefully someone'll figure out how to do it someday. Thanks, all | 21:02 | |
flussence | oh jeez, I've gotta be awake at *8:30* tomorrow to catch masak's talk? :) | 21:04 | |
pmurias | kupopo: you will have to package up moarvm with your program | 21:07 | |
jnthn | I *think* tadzik managed to package that up with some game he made a while back... | 21:08 | |
pmurias | kupopo: I don't think currently a premade packer for that exists | ||
jnthn | Not sure that became a tool though | ||
21:08
colomon left
21:11
lizmat left
|
|||
pmurias | kupopo: what program do you want to bundle up? | 21:12 | |
flussence | bundling an entire r-m isn't a huge burden, it's 36MB uncompressed (and becomes half that if you *only* compress CORE.setting.moarvm...) | ||
dalek | p-js: 263d8fc | (Pawel Murias)++ | src/vm/js/ (2 files): Implement mul_i. Polyfill Math.imul when it's not implemented by the javascript engine. |
21:18 | |
p-js: d4a8694 | (Pawel Murias)++ | src/vm/js/ (2 files): Implement nqp::iterator. |
|||
Ven | flussence: timezone :P ? | ||
p-js: 5762520 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js: The iterators are false in boolean context when they are no more values to iterate. |
|||
p-js: 02cd9eb | (Pawel Murias)++ | src/vm/js/ (3 files): Implement for, pass test 15. |
|||
p-js: 8b69b80 | (Pawel Murias)++ | src/vm/js/ (3 files): Pass tests 6 and 11. Implement slurpy positional parameters, immediate blocks, and fix binding to and array element. |
|||
Ven | pmurias++ | ||
rip dalek | |||
flussence | Ven: YAPC-0200, or thereabouts :) | 21:22 | |
Ven | flussence: in absolute time if possible, this doesn't really help :P | ||
flussence | okay okay, UTC+1... | 21:23 | |
21:25
raiph left
21:26
raiph joined
|
|||
Ven | map+(Fizz)[$_%3].(Buzz)[$_%5].(Bazz)[$_%7]||$_,1..100 <- FizzBuzzBazz in p5. Not sure p6 can beat that :P | 21:29 | |
tadzik | whatwhat | 21:32 | |
21:33
aindilis joined
|
|||
Ven | tadzik: exactly! | 21:33 | |
tadzik | I die manage to bundle moarvm with my game, it was 2.2M xz'd | 21:34 | |
it also didn't work :) | 21:35 | ||
s/die/did/ | |||
jnthn | oh... | 21:37 | |
21:37
dolmen joined
21:38
FROGGS[mobile] left,
vukcrni joined
|
|||
psch | the p5 snippet isn't that complicated. (Fizz) is a list, [$_%3] indexes it at the $_ % 3 position | 21:38 | |
so for any case where in 1..100 $_ % 3 is not 0 it prints nothing | 21:39 | ||
. is the concat operator | |||
tadzik | because it relied on some modules living in /home/tadzik | ||
psch | and ||$_ should be clear | ||
tadzik | no matter what the prefix was | ||
Ven | psch: I havn't said it's complicated :) | ||
psch | Ven: right, tadziks 'whatwhat' prompted my explanation | 21:40 | |
not sure if it was neccessary | |||
as for "beating it", no idea if we can have it shorter in p6 | 21:41 | ||
21:41
BizarreCake left
21:42
kupopo left
|
|||
psch | tbh, why the + is needed in the p5 snippet is a bit beyond me | 21:43 | |
Ven | it should do Nothing (TM) | ||
psch | because '(a)[0]' doesn't compile, while '+(a)[0]' does | ||
Ven | expression pos? | ||
21:45
nbrown_ joined
|
|||
psch | i think it's map magic | 21:45 | |
21:46
erkan left
|
|||
psch | i.e. 'map+(A), 1..2' does the same as 'map {(A)}, 1..2' | 21:46 | |
21:46
colomon joined
|
|||
psch | Ven: depending on what 'pos' means in your last line this might be what you meant :) | 21:47 | |
21:47
erkan joined
|
|||
Ven | position. i.e. make perl "want" an expression instead of a statement | 21:47 | |
21:49
kupopo joined,
nbrown_ left
|
|||
kupopo | pmurias: they don't exist yet, i've got some scripts i share with colleagues and i was considering reworking them in p6, but it's a no-go if they can't run them | 21:49 | |
Ven | oh, so I have to be up at 8AM like flussence to get masak's talk? | 21:50 | |
flussence: you're from germany or about, right? | 21:51 | ||
flussence | nope, uk :) | ||
Ulti | uk++ | ||
Ven | oh, sorry | ||
21:51
denis_boyun_ left,
SamuraiJack left
21:52
SamuraiJack joined,
dolmen left
21:53
BenGoldberg joined
|
|||
psch | Ven++: that might be it. i'm not sure i (can|want to) figure out details right now | 21:56 | |
it's late and there's a talk to watch early tomorrow... :) | |||
21:56
SamuraiJack left
21:58
raiph left
22:09
nbrown_ joined
|
|||
Ven is just wondering what time is it at sofia atm | 22:10 | ||
22:10
dolmen joined
|
|||
jnthn | 01:10 | 22:10 | |
Ven | so I need to be up by 9h30. | 22:11 | |
22:16
nbrown_ left
22:31
flussence left
22:33
flussence joined,
colomon left
22:36
colomon joined
22:43
Ven left
22:52
gfldex left
22:56
dolmen left
22:57
xragnar_ joined,
xragnar is now known as Guest81730,
xragnar_ is now known as xragnar
23:01
Guest81730 left
23:11
btyler left,
Akagi201 joined
23:12
nbrown_ joined
23:13
btyler joined
23:16
nbrown_ left,
Akagi201 left
23:22
nbrown_ joined
23:40
pmurias left
23:46
xenoterracide left,
xenoterracide joined
23:51
telex left
23:52
telex joined,
spider-mario left
23:55
xenoterracide left
|