|
»ö« 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
|
|||