»ö« 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:02 lizmat left 00:04 woolfy left 00:11 lizmat joined 00:18 woolfy joined 00:19 [Pujol] joined
[Pujol] hi! 00:19
00:20 colomon left 00:25 Woodi left 00:26 Woodi joined
sorear o/ [Pujol] 00:28
00:31 [Pujol] left, [Pujol] joined 00:37 solemn2 joined 00:38 [Pujol] left 00:46 FROGGS left 00:56 Woodi left 00:57 Woodi joined
solemn2 12,10F01,02U05,06C05,01K09,03F07,15U01,10C15,00K03,10F05,14U09,12C11,13K14,03F06,15U12,00C02,11K03,15F04,14U15,14C02,08K05,02F04,00U05,09C05,08K10,05F11,12U11,12C05,14K02,14F12,09U10,02C04,11K13,06F10,09U14,15C05,04K13,02F07,14U15,10C12,11K09,06F15,07U06,09C12,01K08,15F07,04U13,11C06,01K 00:57
01:13 Woodi left, Woodi joined 01:20 Woodi left 01:21 Woodi joined 01:24 Rotwang left 01:39 zacts joined 01:46 fgomez joined 01:53 cognominal left, cognominal joined, cognominal left 01:54 cognominal joined 01:55 cognominal left, cognominal joined 02:05 Woodi left 02:07 Woodi joined 02:17 mikemol joined 02:36 Woodi left, Woodi joined
japhb o/ 02:40
02:41 Woodi left 02:43 Woodi joined
japhb Anyone currently awake happen to know if rakudo-parrot or rakudo-jvm is currently a better choice for writing TCP network clients, in both the textual protocol and packed binary protocol cases? 02:52
(Including if one is better for text and the other for binary)
02:57 cooper_ joined 03:05 Woodi left 03:11 wtw_ joined 03:13 wtw left 03:18 Woodi joined 03:26 Woodi left 03:34 preflex left 03:35 FROGGS joined, preflex joined, ChanServ sets mode: +v preflex 03:38 preflex left 03:39 preflex joined, ChanServ sets mode: +v preflex 03:56 Mouq joined 03:58 grondilu joined 03:59 grondilu left 04:00 grondilu joined
grondilu isnt reading an ASCII file so common that we might as well define 'sub lines(Str $f) { open($f).lines }' ? 04:01
I meant: reading an ASCII file *line by line*
ah no actually, lines is already used to split a string with newlines. Forget it, then. 04:02
benabik S16:49 04:07
synopsebot Link: perlcabal.org/syn/S16.html#line_49
benabik r: say lines
camelia rakudo b03cc1: OUTPUT«Land der Berge, Land am Strome, Land der Äcker, Land der Dome, Land der Hämmer, zukunftsreich! Heimat bist du großer Söhne, Volk, begnadet für das Schöne, vielgerühmtes Österreich, vielgerühmtes Österreich! Heiß umfehdet, wild umstritten liegst dem Erdteil du inmi…
benabik grondilu: ^^ If you want a specific file, then $f.IO.lines is just as easy as lines($f)
(Okay, .IO. is 2 more characters than () ) 04:08
Actually, in Rakudo sub lines takes a $fh argument that just defaults to $*ARGFILES. 04:09
So it already works that way. 04:10
Although it doesn't try to coerce to a .IO :-/ 04:11
04:22 fridim_ left, xilo left, Mouq left 04:37 crab2313 joined
grondilu std: q:p{path} 04:41
camelia std c2215f0: OUTPUT«ok 00:00 41m␤»
grondilu r: say q:p{path} 04:42
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/Axs2v_Y54N␤Unrecognized adverb: :p␤at /tmp/Axs2v_Y54N:1␤------> say q:p⏏{path}␤ expecting any of:␤ colon pair (restricted)␤»
grondilu n: say q:n{path}
camelia niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Unrecognized quote modifier: n at /tmp/hxfQ_PwJUv line 1:␤------> say q⏏:n{path}␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/ni…
grondilu I guess lines could be defined as 'multi lines(Path $p) { open($p).lines }' or something. 04:43
benabik Most sub forms just redirect to the method version.
grondilu r: say join ":", lines "foo\nbar" 04:44
camelia rakudo b03cc1: OUTPUT«foo:bar␤»
grondilu there's already a candidate for lines(Str)
benabik Well, I think it's lines(Any). lines($a) == $a.lines 04:45
grondilu oh ok 04:46
benabik Most core subs work the same way.
04:51 dmol joined
moritz good morning everyone! 04:51
diakopter hi 05:01
woolfy \o 05:04
diakopter: arrived at your room ok tonight? 05:05
...last night...
japhb o/ 05:06
woolfy hotel Dnipro, room, leont?
japhb Hackathon before YAPC::EU?
woolfy Hackathon in 2 hours! Yep.
japhb Cool beans. Any particular subject? 05:07
woolfy Not for me. I'm supporting team for Liz. I'll do some shopping. 05:15
japhb :-) 05:17
05:20 dmol left 05:35 FROGGS left 05:37 Agamemnus joined
Agamemnus ok, how do I get camelia the bot to output multicolor text? 05:38
I'd like to see if my client supports it
JimmyZ ,11F
Agamemnus anyone? 05:39
forget about it, i have a 5 second attention span
05:39 Agamemnus left
grondilu rn: try { .say } for ^3 05:40
camelia niecza v24-88-g1f87209: OUTPUT«0␤1␤2␤»
..rakudo b03cc1: OUTPUT«(Any)␤(Any)␤(Any)␤»
05:42 FROGGS joined 05:49 FROGGS left 05:54 FROGGS joined
sorear at least they're honest 05:59
tadzik1 hello #perl6 06:05
FROGGS morning 06:06
06:22 BenGoldberg left 06:25 raiph joined
jnthn morning, #perl6 06:26
japhb morning!
06:27 ssutch left
sorear o/ 06:28
labster \o sorear 06:34
06:39 cooper_ is now known as cooper, cooper left, cooper joined
sorear that's an ... interesting ... mail on p6u 06:40
FROGGS ohh yeah -.- 06:46
sad that subscribed a bit late (did it now tbc), sorear: can you email him that he tries to execute Perl5 code with the perl6 interpreter? 06:50
06:50 woolfy left
FROGGS I'll answer the following questions when I get the mails 06:51
06:51 lizmat left
sorear is too out of the loop for that 06:55
FROGGS k
timotimo he did point out that he figured out that the inine::c thing isn't the same from perl5 and just posted what he tried to use 06:58
FROGGS timotimo: and he is tried to use a perl5 module, Math::Simple
(and Perl5 syntax all over the place) 06:59
timotimo: you have subscribed to that mailing list already?
06:59 lizmat joined 07:03 fgomez left
timotimo i was once subscribed, then found out that using nntp is much cooler, then installed a new OS on my laptop and didn't migrate my settings, so at the moment i'm not subscribed 07:05
FROGGS I'd like to reply to that mail somehow :/
timotimo the Math::Simple module isn't actually from perl5, or if it is it's ... indeed ridiculously simple 07:06
note that he included the whole contents of the file verbatim in the mail
FROGGS right, and he uses Perl5 tools like h2xs...
I'd like to paste a working piece of code 07:07
timotimo i suppose that transforms a c header file into an XS module?
FROGGS I think so 07:08
lizmat jnthn gives an introduction! 07:14
FROGGS link to livestream at hand?
timotimo would love to hear what's going on, too
FROGGS ó.ò
timotimo like, a google hangout or something
lizmat no livestream
FROGGS a spare laptop with a cam around? :o) 07:15
timotimo i'd settle for audio-only, too, fwiw 07:16
07:19 lizmat left 07:22 denisboyun joined 07:24 cono joined
cono hiya! 07:24
moritz hi!
masak hi cono! \o/
07:24 vovka joined
masak vovka! \o/ 07:25
07:25 leont joined
masak r: say "leont! \\o/" 07:25
camelia rakudo b03cc1: OUTPUT«leont! \o/␤»
jnthn finally, a connection
leont :-D
vovka Hello everybody from YAPC::2013 ;) 07:26
cono o/
moritz we're now sitting on a long table, I'm counting about 16 people 07:27
07:27 lizmat joined
timotimo that's like 10 more than there is perls! 07:28
moritz has anybody seen tadzik today? 07:29
07:30 denisboyun left
diakopter moritz: nope never appeared at breakfast since 7 07:31
07:31 panchiniak_ joined
FROGGS damn it, panda is unable to install File::Find :/ 07:31
moritz I now noticed that the IRC log reload button doesn't handle network failure gracefully 07:32
lizmat test
moritz lizmat: passed
FROGGS not ok 10 - found one of two files due to X::IO::Dir
# got: '2'
# expected: '1'
panda/ext/File__Tools$ PERL6LIB=lib perl6 t/01-file-find.t that is 07:33
grondilu already mentioned this on IRC few days ago
tadzik1 hey, hey
07:33 denis_boyun_ joined
tadzik1 where's the hackathon? 07:34
at the venue? At Dnipro hotel?
grondilu '2' is actually the correct result. There are indeed two files.
diakopter 2nd floor
tadzik1 wnd floor of what?
leont At the Dnipro
07:34 nugged joined
tadzik1 ok 07:34
moritz tadzik1: hotel
FROGGS grondilu: but what about the description of the test? somehow it is meant to only return 1 07:35
07:35 [Sno] joined
lizmat tadzik1: get to the 2nd floor at the Dnipro 07:35
grondilu FROGGS: I don't know why, but there are two files that match the search criteria. 07:36
[Sno] hurray \o/
lizmat get into the restaurant, turn left, in the far left corner, go through the door
timotimo FROGGS, grondilu, i thought it was because the test function raises an exception or so
nugged so, let's make a rollcall for everybody in room (real room at dnipro hotel %) )? 07:37
grondilu can't check out the File::Find issue right now for he's currently reinstalling perl6 and rakudo 07:38
(I mean panda and rakudo)
FROGGS grondilu: right, the description mentions that there are two matching files, but due to some magic it should return one 07:39
cono what the tiny URL ?
/pbh^H^H^H^H^H^H^H^H^H /pbhkiev ?
grondilu oh, ok
FROGGS timotimo: I'll debug it after breakfast
nugged p6hkiev
cono oh, ty 07:40
nugged guys, tinyurl.com/p6hkiev, I spent some time to guess it too :). Anyway, it leads to empty wiki page for now
07:41 MDn joined
vovka Hi, MDn! 07:41
07:41 solemn2 left
MDn hi hi \o/ 07:42
masak oh hai MDn
nugged: it goes to act.yapc.eu/ye2013/wiki?node=Perl6Hackathonk but the right URL is act.yapc.eu/ye2013/wiki?node=Perl6Hackathon 07:43
jnthn-- # you klutz :P
timotimo hackathonk? :) 07:44
masak nugged: rakudo.de/hack works right away, though.
timotimo that's pretty cool
masak timotimo: welcome to our lovely hackathonk!
it's like a hackathong, but less rated R.
timotimo :)
hack-donk-a-thonk
masak or like the Game of Hackathrones.
when you play the Game of Hackathrones, you either win, or you lose your wifi connection. 07:45
cono :D 07:46
07:46 Maddingu1 is now known as Maddingue 07:48 crab2313 left
moritz try 07:49
masak CATCH
grondilu rn: try { .say } for ^3 07:50
moritz rethrow!
camelia niecza v24-88-g1f87209: OUTPUT«0␤1␤2␤»
..rakudo b03cc1: OUTPUT«(Any)␤(Any)␤(Any)␤»
grondilu ^you guys can start fixing that :)
moritz grondilu: nothing wrong with that
(afaict) 07:51
grondilu shouldn't the topic variable be visible in a try block?
moritz maybe 07:52
07:52 aindilis joined
grondilu rn: try .say for ^3 07:52
camelia rakudo b03cc1, niecza v24-88-g1f87209: OUTPUT«0␤1␤2␤»
tadzik1 so, I thould probably fix this File::Find issue :/ 07:53
07:53 daxim joined
grondilu wonders if try .say for ^3 means try { .say } for ^3 or try { .say for ^3 } 07:53
nugged can't track irc and real life both --- argh
tadzik1 although I'm tempted to just remove tests :>
07:54 tadzik1 is now known as tadzik
masak aindilis: hi. 07:54
timotimo r: (try .say) for ^3 07:56
camelia rakudo b03cc1: OUTPUT«(Any)␤(Any)␤(Any)␤»
grondilu n: (try .say) for ^3
camelia niecza v24-88-g1f87209: OUTPUT«0␤1␤2␤»
07:57 woolfy joined
FROGGS ==> Successfully installed panda \o/ 07:57
(just comment out the #keep-going block and set plan to 8) 07:58
tadzik yeah, I should do that 07:59
I mean, I'm sure the code is good, it's just tricky to test, and I thin kit's one of the cases where tests are just wrong
FROGGS k 08:01
tadzik also, I think I'll move Panda to File::Find and Shell::Command, separated 08:02
if someone understands submodules, I'll be glad to accept assistance :)
pnu the shared network kind of started to work after changing my dns server to 8.8.8.8 (the google dns resolver) 08:03
timotimo what do you need, tadzik? are they one repository and you want two?
tadzik timotimo: I already have two 08:04
timotimo: I need to change submodules in panda to point to them
it now points to File::Tools
08:05 berekuk left
timotimo oh 08:06
that's not hard 08:07
tadzik r: require 'perl' or die
timotimo cd into them, git checkout the correct commit, cd out and git commit
camelia rakudo b03cc1: OUTPUT«===SORRY!===␤␤»
08:07 vovka left
timotimo i used to think you have to git add the submodule so that it shows up, but someone told me that was wrong i think 08:07
08:07 ivanoff joined
ivanoff hi everyone! 08:08
moritz hello ivanoff
tadzik but I need to change the repo they point to
argh
denis_boyun_ hi
sorear hi
timotimo oh, that! 08:10
sorry. yeah, you'd change .gitmodules for that and git add .gitmodules is my best guess
lizmat decided against trying to stream anything from the hackathon room 08:11
timotimo not sure if it would update the gitmodules file for you if you used git remote in the submodule itself, that would be kinda cool
lizmat: internets is unreliable?
lizmat we have severe network / bandwdith problems already
timotimo good call
lizmat I'm sharing my wifi to ethernet to someone else who shares his ethernet over wifi 08:12
to get around the lack of leases problem
but now we hit the general lack of bandwidth issues
moritz any idea where to put test(s) for rt.perl.org/rt3/Ticket/Display.html?id=73230 ?
r: try eval 'if()' 08:13
camelia rakudo b03cc1: ( no output )
moritz r: try eval 'if()'; say $/.perl 08:14
camelia rakudo b03cc1: OUTPUT«Any␤»
timotimo wow, yikes
moritz r: try eval 'if() {}'; say $/.perl
camelia rakudo b03cc1: OUTPUT«Any␤»
timotimo with ipv6 that wouldn't have happened ;)
moritz: $/?
moritz timotimo: I'm dumb, thanks 08:15
r: try eval 'if() {}'; say $!.perl
camelia rakudo b03cc1: OUTPUT«X::Comp::Group.new(panic => X::Comp::AdHoc.new(filename => "eval_0", line => 1, column => Any, modules => Array.new(), is-compile-time => Bool::True, pre => "if() ", post => "\{}", highexpect => Array.new(), payload => "Unexpected block in infix position (two terms…
timotimo i was ready to let you amaze me with "this super cool feature rakudo has" that somehow lets you get a cursor from an if statement :D
tadzik :D
dalek nda: c24f912 | tadzik++ | / (2 files):
Try to update submodules
08:16
tadzik yay, pushed, after 3 minutes :P
timotimo tadzik: the way i see it, the submodule is two parts: which commit to get and where to get commits from. the first part is changed by cd'ing into it and checkouting. the second part is done by changing .gitmodules; does that seem sensible? 08:17
hm. it's probably possible to use a repository as a submodule *in* itself :D
i should totally try that
haha, that is cool 08:20
it does clone the repository, though. but the object stores can be shared as well
moritz rakudo.ode/testneeded 08:21
rakudo.de/testneeded
tadzik gah 08:23
08:23 tester3133 joined
MDn Well, I'm on the hackathon. I've compiled rakudo, installed Panda - there are no problems. But, what have I do now? Porting modules from Perl5? 08:25
timotimo yeah, you can do that :)
daxim act.yapc.eu/ye2013/wiki?node=Perl6Hackathon
tadzik MDn: do you understand git submodules?
08:26 vovka joined
tadzik if yes, then please help me fixing panda :) 08:26
timotimo ah, could it be that shell command and file find were not submodules in the first place? 08:27
oh, but the ywere
MDn tadzik, Well, I haven't tried git submodules before, but thank you - you've shown me the way ;) 08:28
tadzik they weren't file-tools were
timotimo i can fix it for you, gimme a sec 08:29
for one, the shell command git url was b0rked ;)
how can i get it to you? 08:30
tadzik do you have a commit bit?
timotimo i don't think i do
at least i don't see an obvious hint on the main page of the repo
tadzik bad 08:31
timotimo right, i don't have a commit bit yet
08:31 tester3133 left
tadzik fixing it 08:31
timotimo here let me copy paste the 50 line patch into irc! :P
gist.github.com/timo/2f7a225a48912cacd7df
tadzik nooo 08:32
it'll kill our connection :)
timotimo i don't know what the magic incantation would have been to create the folders for the submodules; i just deleted the submodules from .gitmodules and re-added them :|
tadzik :) 08:33
timotimo oh, git submodule sync would probably have been the right command
masak MDn: "what do I do now?" is a very good question. we would prefer you to do something you enjoy. that's how we tend to see the most amazing results. :)
08:34 raiph left
tadzik github is horrible on a slow connection 08:35
masak tadzik: as opposed to all those sites that are just lovely on a slow connection? :P 08:36
FROGGS arnsholt / jnthn: I sent a PR for zavolaj that would be cool if it gets applied today :o)
timotimo i wonder if it would help if github implemented spdy
tadzik masak: exactly! :) 08:37
dalek nda: 059ae90 | (Timo Paulssen)++ | / (3 files):
fix submodules for good (hopefully!)
08:38
08:38 tsmith joined, woolfy left
timotimo suddenly has images of qui gon jin singing "want you back for good" to anakin skywalker 08:38
+in his head
08:38 thou left
masak thanks for sharing :) 08:39
MDn releasing the internet bandwitdh and energy socket for you. I think, you need it much more than me. See you later on Perl5 conf.
thank you all
masak MDn: \o 08:40
08:40 MDn left, vovka left
tadzik timotimo: yes, seems to work! 08:40
timotimo does a tiny dance 08:41
08:43 woolfy joined
tadzik anyone up to porting Sockets to JVM? :) 08:43
timotimo where would the "is default" trait be applied? it seems to me that ContainerDescriptor is the wrong place because you can override that with binding and binding shouldn't change is dynamic, right? 08:45
lizmat timotimo: what do you mean with "applied" at compile time? at runtime ? 08:46
TimToady eventually, we hope to disallow binding of anything incompatible with the original declaration
but for now we consider it a DIHWIDT
timotimo lizmat: really any time before the optimizer gets its hands on the code 08:47
cono What version of pcre is required?
Failed to load libpcre
during parrot compiling :( 08:48
timotimo i want to make sure i never accidentally turn a lexical that's marked "is dynamic" into a local
cono I have 8.33 pcre
lizmat r: my Int %h; say %h<foo> # just checking
camelia rakudo b03cc1: OUTPUT«(Int)␤»
timotimo and maybe i can even make CALLER:: error out if the thing that's being accessed isn't marked dynamic
lizmat r: my Int %h is default(42); say %h<foo> # just checking
camelia rakudo b03cc1: OUTPUT«(Int)␤» 08:49
timotimo www.ssllabs.com/ssltest/analyze.ht...t.perl.org - should i bug somebody about this?
08:49 maxim4d joined
timotimo is "is default" the way to set a WHENCE on a hash or list? 08:49
TimToady I think for now you can assume that any binding that violates teh original contract is erroneous, and might or might not produce an error someday 08:50
timotimo well, i'm not confident in my optimisation code to make it level 2 any time soon, so all it'll do is get used for the core setting. i'll look how often it could be wrong there. 08:51
lizmat timotimo: about to push a working "is default" for hashes and arrays
masak "might produce an error someday" is shorter than "might or might not produce an error someday" :P
and conveys the same information
TimToady dunno if default is powerful enough to set up a WHENCE
tadzik sorear: ping
moritz r: say 'oh hai' 08:52
camelia rakudo b03cc1: OUTPUT«oh hai␤»
sorear tadzik: hi
lizmat you only need "is default" if there is already a whence on hash/array
timotimo apparently both OUTER and CALLER are used only for eval and REQUIRE_IMPORT
tadzik sorear: is there a documentation on the 'method/something/(I)V' syntax in jvm interop?
timotimo (in the setting)
ivanoff r: say "123" 08:53
camelia rakudo b03cc1: OUTPUT«123␤»
TimToady default is a single value for the whole array, whereas a WHENCE has to know which element to create if used as an lvalue
timotimo ah, okay
ivanoff r: say "split ',', 'a,b,c'" 08:54
camelia rakudo b03cc1: OUTPUT«split ',', 'a,b,c'␤»
ivanoff r: split ',', 'a,b,c'
camelia rakudo b03cc1: ( no output )
ivanoff r: say split ',', 'a,b,c' 08:55
camelia rakudo b03cc1: OUTPUT«a b c␤»
masak r: say "a,b,c".split(",").perl
camelia rakudo b03cc1: OUTPUT«("a", "b", "c").list␤»
tadzik oh, I just found it in the docs
my bad
masak r: say "a,b,c".split(",").perl.comb.perl 08:56
camelia rakudo b03cc1: OUTPUT«("(", "\"", "a", "\"", ",", " ", "\"", "b", "\"", ",", " ", "\"", "c", "\"", ")", ".", "l", "i", "s", "t").list␤»
masak :)
tadzik at least some docs
FROGGS cono: I have libpcre3 1:8.31-2 08:57
ivanoff r: my @y=1,2,3; .say for@y[1 .. +@y]; 08:58
camelia rakudo b03cc1: OUTPUT«2␤3␤(Any)␤»
daxim camelia's new host is the hardware p5p's got recently?
ivanoff r: my @y=1,2,3; .say for@y[1 .. ^+@y]; 08:59
camelia rakudo b03cc1: OUTPUT«Range objects are not valid endpoints for Ranges␤ in method new at src/gen/CORE.setting:6448␤ in method new at src/gen/CORE.setting:6440␤ in sub infix:<..> at src/gen/CORE.setting:6641␤ in block at /tmp/FaquV8qcFB:1␤␤»
FROGGS cono: but hmmm, my parrot executable is not linked against libpcre
diakopter daxim: no; I was going to put it on a virtual server I have
ivanoff r: my @y=1,2,3; .say for@y[1 .. ^ +@y];
camelia rakudo b03cc1: OUTPUT«Range objects are not valid endpoints for Ranges␤ in method new at src/gen/CORE.setting:6448␤ in method new at src/gen/CORE.setting:6440␤ in sub infix:<..> at src/gen/CORE.setting:6641␤ in block at /tmp/ZIHW1KP_kR:1␤␤»
sorear tadzik: was hoping someone would have papered over that by now :)
FROGGS r: my @y=1,2,3; .say for@y[1 .. +@y];
camelia rakudo b03cc1: OUTPUT«2␤3␤(Any)␤»
cono Adding loadlib libpcre, 'libpcre.so.1' to runtime/parrot/library/pcre.pir helped to me, dunno if I need a log a bug for it and a patch
sorear tadzik: it's {category}/{name}/{signature}
FROGGS r: my @y=1,2,3; .say for@y[1 ... +@y];
camelia rakudo b03cc1: OUTPUT«2␤3␤(Any)␤»
ivanoff r: my @y=1,2,3; say ^ +@y; 09:00
camelia rakudo b03cc1: OUTPUT«0..^3␤»
sorear tadzik: category and name you can probably fumble out on your own
TimToady r: my @y = 1,2,3; say ^@y; # this is enough
camelia rakudo b03cc1: OUTPUT«0..^3␤»
ivanoff r: my @y=1,2,3; say^ +@y;
camelia rakudo b03cc1: OUTPUT«␤»
sorear tadzik: signatures (actually I mean descriptors) come from docs.oracle.com/javase/specs/jvms/s...l#jvms-4.3
ivanoff r: my @y=1,2,3; say^ +@y; 09:01
camelia rakudo b03cc1: OUTPUT«␤»
TimToady list operators require a space after them
FROGGS ivanoff: be careful where to put space chars
TimToady std: my @y=1,2,3; say^ +@y;
camelia std c2215f0: OUTPUT«===SORRY!===␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/rcHKU3nw7O line 1:␤------> my @y=1,2,3; say⏏^ +@y;␤Check failed␤FAILED 00:00 44m␤»
moritz r: my @y=1,2,3; .say for@y[1 ..^ +@y];
FROGGS cono: and you're just trying to install parrot? 09:02
camelia rakudo b03cc1: OUTPUT«2␤3␤»
ivanoff r: my @y=1,2,3; .say^ +@y;
camelia rakudo b03cc1: OUTPUT«(Any)␤»
FROGGS ivanoff: put a space after say
cono FROGGS: and rakudo too
moritz ivanoff: ..^ vs. .. ^
ivanoff r: my @y=1,2,3; .say ^ +@y;
camelia rakudo b03cc1: OUTPUT«(Any)␤»
ivanoff thanx!
cono FROGGS: I found the similar ticket: trac.parrot.org/parrot/ticket/578 for the old pcre library
TimToady and leave out the .
FROGGS cono: which os and architecture?
cono for the new one, I need additional libpcre.so.1
gentoo x64
FROGGS: gentoo x64
FROGGS k
masak r: my @y = <a b c>; say ^@y 09:03
camelia rakudo b03cc1: OUTPUT«0..^3␤»
09:04 domidumont joined 09:06 crab2313 joined 09:08 ilyuhan joined
ivanoff r: class AB{has @.x; method aa { my @y=1,2,3; .say for @y[1 .. +@y]; .say for @.x; .say for @.x[1 ..^ +@.x] } };my AB $y.=new(:x(1,2,3)); $y.aa; 09:08
camelia rakudo b03cc1: OUTPUT«2␤3␤(Any)␤1␤2␤3␤2␤3␤»
daxim fwiw, nqp package time (with pir and jvm) at home via local install of open build service is 1109 seconds
FROGGS ivanoff: you can just `say @y` too
ivanoff: and btw, array indexes start at zero, not one 09:09
ivanoff yep, we just try to run onelener from rt#75010 09:10
FROGGS k
lizmat timotimo: fixing last glitches , I hope 09:11
masak ivanoff++
sorear tadzik: helps? 09:12
09:12 domidumont left
tadzik sorear: partially, I asked jnthn about the remaining bits 09:12
lizmat timotimo: $ perl6 -e 'my Int %h is default(42); say %h<foo>; say %h<foo>:exists'
42
False
running spectest now
tadzik niice 09:13
FROGGS ohh nice
09:13 ruz_ joined
timotimo cool beans! :) 09:13
lizmat alas, some spectest failures I need to check before pushing :-( 09:14
cono For paarrto should I log bugs via github? 09:16
parrotbug script says via github
tadzik yeah, github is the way to go
cono ty
tadzik what bug is that, ooc? 09:18
cono github.com/parrot/parrot/issues/976
I already have a fix for it
preparing a pull request 09:19
timotimo has a primitive prototype of making sure that "is dynamic" is set on a variable that you're trying to access through CALLER 09:20
aaw, i'm in the setting at a point before +& and +| are defined and i'm trying to manipulate bitmasks:| 09:21
good thing i know what the nqp ops are 09:22
FROGGS :o) 09:25
sorear tadzik: jnthn++ 09:26
timotimo FROGGS: it turns out i *am* subscribed to p6u
FROGGS hehe
timotimo: too late! :P 09:27
timotimo but i did not get the previous mail, just yours
09:27 FROGGS_ joined
timotimo wait. no! i *did* get it, but it's all the way down there, buried beneath tons of other mails 09:27
i need to get my filters working again.
09:27 FROGGS_ left
ilyuhan What's the development branch name of rakudo? 09:34
timotimo "nom"
stands for "new object model", which is now not terribly new any more
cono I've done a pull request: github.com/parrot/parrot/issues/976 <- for this ticket
FROGGS cono++
ilyuhan thx 09:35
09:35 spider-mario joined 09:36 spider-mario left, spider-mario joined
FROGGS cono: I pasted that on irc.perl.org #parrot 09:36
09:37 nugged left 09:38 spider-mario left, spider-mario joined
sorear ilyuhan: we don't really do development branches here. most development goes into nom, and releases are cut from there 09:41
we only really use branches for major subsystem refactors
09:42 sromanov_ joined
cono FROGGS: thanks! so happy :) 09:43
timotimo well, that's for the experts; i'm doing all my stuff in branches, but that's also because i don't have a commit bit to rakudo
FROGGS yeah, branches are good for experimental stuff 09:46
timotimo: do you have submitted a CLA? 09:47
timotimo no
do you think i should?
FROGGS yeah, I think so
lizmat: when do we meet in frankfurt? I'd like to book rooms/train today 09:48
lizmat 14/15 September
FROGGS so, being there early on sat and leaving late on sunday? 09:49
timotimo what's the venue like?
FROGGS timotimo: www.jugendherberge-frankfurt.de/en/...o-find-us/ 09:50
tadzik so it's Officil now, we can start booking time? 09:51
FROGGS I'll book now :P 09:53
09:54 PacoLinux joined 09:55 leont left
timotimo i got a bit stuck; i was trying to get the keyed object out of the PseudoStashes $!storage, politely ask its VAR for its $!descriptor via nqp::getattr and call the .dynamic method on it that i built, but that gives me a null pmc access in find_method; does that mean that my getattr for $!descriptor failed? 09:56
09:57 sromanov_ left 10:01 Rotwang joined
daxim nqp 2013.07 fails t/jvm/06-sprintf.t and also still in blead 10:01
timotimo yes, that's known. no reason to worry
ivanoff in attributes.t I have an array @y=1,2,3; Should I use ok or is_deeply? 10:02
10:04 [Sno] left, ilyuhan left, daxim left, ivanoff left
timotimo r: my $foo = 10; say nqp::getattr($foo.VAR, $foo.VAR.WHAT, '$!value'); 10:04
camelia rakudo b03cc1: OUTPUT«10␤»
timotimo r: my $foo = 10; say nqp::getattr($foo.VAR, $foo.VAR.WHAT, '$!descriptor');
camelia rakudo b03cc1: OUTPUT«(Mu)␤»
timotimo i don't understand :(
r: my $foo = 10; say $foo.VAR.WHAT 10:05
camelia rakudo b03cc1: OUTPUT«(Scalar)␤»
timotimo in bootstrap.nqp i see that scalar has a $!descriptor and i can't imagine why it would run around with an unset descriptor
10:08 daxim joined
timotimo r: my $foo = 10; say nqp::getattr($foo.VAR.var, $foo.VAR.var.WHAT, '$!descriptor'); 10:09
camelia rakudo b03cc1: OUTPUT«No such method 'var' for invocant of type 'Scalar'␤ in block at /tmp/SYhsk18rmr:1␤␤»
10:10 rindolf joined 10:12 isBEKaml joined
timotimo do i even get from Scalar to Variable? 10:14
hm, i suppose i have to ask instead: do i get from PseudoStash to Variable.
or must i make the Variable set the "dynamic" value on the Scalar that gets created when values are assigned to it?
moritz has no idea where Variable comes from at run time 10:15
timotimo ah, i'm silly. i just need to add a method dynamic on Scalar that asks $!descriptor... i guess? 10:16
10:16 [Sno] joined
FROGGS r: my @y = 0, 1,2; use Test; is @y, ^3, "fits"; is @y, ^4, "ohh" # <--- ivanoff 10:18
camelia rakudo b03cc1: OUTPUT«ok 1 - fits␤not ok 2 - ohh␤# got: '0 1 2'␤# expected: '0 1 2 3'␤»
10:19 lizmat left
FROGGS meh 10:19
local wifi--
timotimo yeeeaaaah! 10:20
now OUTER:: will complain if you access something that's not marked is dynamic 10:21
i should run spectests on that to see if any code wrongly uses OUTER but not is dynamic. 10:22
moritz what? I thought 'is dynamic' was required for CALLER::, not for OUTER:: 10:23
10:24 daxim left
timotimo yes. typo. 10:24
moritz good :-) 10:25
timotimo is anything other than $_ implicitly dynamic? 10:26
i don't think so. 10:27
moritz maybe $/? 10:28
I can never remember how that's scoped
10:28 Rotwang left
timotimo it's scoped "wild" 10:28
moritz r: say 42 + 2 10:30
camelia rakudo b03cc1: OUTPUT«44␤»
timotimo "($_, $! and $/ are always dynamic, as are any variables whose declared names contain a * twigil.)"
10:32 not_gerd joined, lizmat joined 10:33 ilyuhan joined, leont joined
not_gerd assuming someone's in the room with jnthn and/or diakopter, could that someone ask them about gist.github.com/gerdr/6204335 10:34
(moarvm naming convention)
10:35 Rotwang joined 10:36 ivanoff joined
masak "The selection of a particular symbol should be left to Larry Wall, though I personally hope it isn't chartreuse because that particular color doesn't go well with most website color schemes. ;-)" 10:37
FROGGS r: my @y = 0, 1,2; use Test; is @y, ^3, "fits"; is @y, ^4, "ohh" # <--- ivanoff
masak www.perl6.org/archive/rfc/343.html
camelia rakudo b03cc1: OUTPUT«ok 1 - fits␤not ok 2 - ohh␤# got: '0 1 2'␤# expected: '0 1 2 3'␤»
masak with hindsight, that's kinda hilarious. :)
FROGGS ivanoff: is() is bettor for that
tadzik has sockets for JVM 10:38
ivanoff FROGGS++ 10:42
masak ivanoff++ # first ++ :)
10:43 daxim joined 10:44 crab2313 left
dalek ast: 9410964 | ivanoff++ | S12-class/attributes.t:
@x and @.x in class methods treated differently
10:50
nda: 55b85ce | tadzik++ | / (4 files):
Fix deps
p/jvm-sockets: a35c593 | tadzik++ | src/vm/jvm/ (3 files):
Initial socket support for JVM, based on io-refactor branch
10:50 lue left 10:51 dmol joined 10:53 nugged joined 11:03 lue joined
dalek p/jvm-sockets: 7334d94 | tadzik++ | src/vm/jvm/ (2 files):
Get rid of nqp::closesocket(), nqp::closefh() works perfectly fine. jnthn++
11:04
ivanoff somebody, close #75010 bug '@x and @.x in class methods treated differently', plz 11:06
11:06 woolfy left
dmol r: our sub infix:<;>($lhs, $rhs) {}; { say "A"; say "B" } 11:06
camelia rakudo b03cc1: OUTPUT«A␤B␤»
timotimo just for the record: 11:07
r: my $y = 93; if 1 { is $CALLER::y, 93 }; this should require $y to be dynamic, yes? 11:08
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/wiUY7mwdND␤Two terms in a row␤at /tmp/wiUY7mwdND:1␤------> CALLER::y, 93 }; this should require $y ⏏to be dynamic, yes?␤ expecting any of:␤ postfix␤ infix stopper␤ …
dmol r:  say "A" if 1 + say "B" if 1 11:09
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/omeANZOxal␤Confused␤at /tmp/omeANZOxal:1␤------> say "A" if 1 + say "B" ⏏if 1␤ expecting any of:␤ postfix␤»
timotimo r: ().defined
camelia rakudo b03cc1: ( no output )
timotimo r: ok ().defined, "() is defined";
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/RIDJKIacre␤Undeclared routine:␤ ok used at line 1␤␤»
timotimo r: use Test; ok ().defined, "() is defined"; 11:10
camelia rakudo b03cc1: OUTPUT«ok 1 - () is defined␤»
timotimo segfaults locally now :|
oh, wrong line 11:11
nwc10 ooh, upstairs in my room I (almost) have network!
mmm, sometimes. 11:12
dmol r: say "A" if 1 + say "B" if 1
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/4uNaot9bxv␤Confused␤at /tmp/4uNaot9bxv:1␤------> say "A" if 1 + say "B" ⏏if 1␤ expecting any of:␤ postfix␤»
dmol std:  say "A" if 1 + say "B" if 1
camelia std c2215f0: OUTPUT«===SORRY!===␤Confused at /tmp/vgUNIdM7NK line 1:␤------> say "A" if 1 + say "B" ⏏if 1␤ expecting any of:␤ feed_separator␤ statement_mod_loop␤Parse failed␤FAILED 00:00 43m␤»
timotimo r: use Test; subset MyInt of Int where True; my MyInt $x = 5; lives_ok { $x = Nil }, "a";
camelia rakudo b03cc1: OUTPUT«ok 1 - a␤»
FROGGS r: say "a" if 1 for 1 # that is all you can do 11:13
camelia rakudo b03cc1: OUTPUT«a␤»
11:13 pmurias joined
FROGGS r: say "a" if 1 + say "b" for 1 # well, and this 11:13
camelia rakudo b03cc1: OUTPUT«b␤a␤»
dalek kudo-js: 87a3a5c | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp:
Fix the scan op.
11:14
kudo-js: 4f03023 | (Pawel Murias)++ | / (2 files):
Implement (...) in regexes. Pass test 45.
11:16 ruz_ is now known as ruz 11:18 dmol left, ivanoff left, daxim left, [Sno] left, leont left, ilyuhan left
pmurias if I have libicu-dev installed and I do perl Configure.PL --gen-parrot for nqp, I will get a icu enabled nqp? 11:18
11:19 isBEKaml left
arnsholt pmurias: Should figure it out automatically, yeah 11:19
11:19 panchiniak_ left
arnsholt But it has to find icu-config (or something similarly named) IIRC 11:20
pmurias I have something like that
11:21 woolfy joined
arnsholt Then it should find it 11:21
pmurias nqp should raise an error or something when icu is not present
11:22 lizmat left, daxim joined 11:25 nugged_ joined, daxim left
jnthn nwc10: network just got lots better in here, due to a magical cable 11:26
11:26 itz joined, Rotwang left, dmol joined, Rotwang joined
nwc10 Ooh 11:27
masak yeah, this is better than in my hotel room.
hotel++
11:27 nugged left
nwc10 oh, what do you know - my teabags were in my rucksac all along 11:27
11:28 daxim joined
masak all teabag-theft hypotheses can be discarded. 11:28
11:30 [Sno] joined 11:31 ivanoff joined, itz left
masak just noticed that the #python /topic begins with the text "NO LOL | NO PROJECT EULER" 11:32
11:32 itz joined
jnthn lol 11:32
masak because, you know, laughter and problem-solving are counter to our goals in some way. 11:33
11:34 lizmat joined
jnthn lolz i maded a fibonaci solutionz! 11:34
masak :P
11:35 ilyuhan joined
masak wow -- I asked about it on-channel, and got this back: 11:35
<infobob> #python is a no-LOL zone.
11:35 leont joined
masak someone else explained that it means "no chatspeak". 11:35
a third user said "lol" and was asked not to be an asshat. 11:36
I hope #perl6 never grows into something that asks users not to speak in a certain way.
pmurias don't we ask people not to paste large quantities of text? 11:37
cono can anyone run the following test? perl6 t/spec/S32-io/IO-Socket-INET.t (interesting in linux platform)
masak pmurias: yes, but that's more about effective, non-annoying use of IRC. 11:39
11:39 woolfy left
itz as a "n00b" present at the hackathon I was going to try low hanging fruit and a test for rt.perl.org/rt3/Public/Bug/Display...l?id=78258 (if noone else is and I can get this damm wifi to work) 11:39
11:39 isBEKaml joined, woolfy joined
leont What's the perl6 equivalent of -e $file nowadays? 11:39
jnthn leont: $file.IO.e 11:40
lizmat cono: 7 failures ?
cono lizmat: yeah, I got a fix for it
lizmat ah, that would be brilliant!
cono great! logging the bug! :)
lizmat what's the fix?
cono paste.org.ru/?h2y4l0 11:41
There was a baground sleep which didn'g allow perl's qqx to release 11:42
lizmat running a spectest now
leont jnthn: thanks
lizmat after that I will try it, cono!
looks good
cono should I log a bug? or just a make pull request?
leont What was the shortcut for $self.foo()? .foo()? foo()? 11:43
masak cono: looking.
11:43 sromanov_ joined
cono masak: ty 11:43
11:43 itz left, itz joined 11:44 Vasyl joined
sromanov_ cono: hi! 11:45
cono sromanov_: hey 11:46
sromanov_ raise a hand!
11:47 ilyuhan left 11:48 nugged_ left
dmol r: my ($f, $o, @a); @a = 2, 3, 4; :($f, $o, $) := @a; say $f.perl 11:49
camelia rakudo b03cc1: OUTPUT«2␤»
11:52 PacoLinux left
dmol r: $ = "a"; say $; 11:54
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/h8M3z5H2Nz␤Non-declarative sigil is missing its name␤at /tmp/h8M3z5H2Nz:1␤------> <BOL>⏏$ = "a"; say $;␤ expecting any of:␤ statement list␤ prefix or term␤ prefix o…
cono if you are going to apply this patch, please remove the commented lines and check my engRish (blush)
masak: if you are going to apply this patch, please remove the commented lines and check my engRish (blush)
dalek ast: b26fad7 | masak++ | S32-io/IO-Socket-INET.sh:
kill stray IO-Socket-INET.sh process better

  cono++ for patch.
11:54 berekuk joined
masak cono: oh! was gonna ask about that commented line. 11:55
cono: I'll just remove it now.
cono ty
FROGGS leont: .foo()
err, no, that would be $_.foo()
dalek ast: 547c385 | masak++ | S32-io/IO-Socket-INET.sh:
remove some stray comments
11:56
masak FROGGS: those mean the same.
oh, that was your point. I see. 11:57
ruz :($a,$b,$) := @a;
FROGGS masak: true
ruz what does above do?
11:57 PacoLinux joined
FROGGS leont: I'm not sure that there is a shortcut for self.foo() 11:57
sromanov_ r: say "Hi Kiev!" 11:58
camelia rakudo b03cc1: OUTPUT«Hi Kiev!␤»
masak rn: my @a = <a b c>; :($a, $b, $) := @a; say $a, $b 11:59
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/qf4ZPZT19H␤Variable '$a' is not declared. Did you mean '@a'?␤at /tmp/qf4ZPZT19H:1␤------> @a = <a b c>; :($a, $b, $) := @a; say $a⏏, $b␤ expecting any of:␤ postfix␤»
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Action method fakesignature not yet implemented at /tmp/630tsyovPK line 1:␤------> my @a = <a b c>; :($a, $b, $⏏) := @a; say $a, $b␤␤Action method sigterm not yet implemented at /tmp/630tsyovPK line 1:␤---…
masak ruz: it dies, apparently.
ivanoff I try to chose bug to test.
How to define test file for my tests?
FROGGS well, :( ... ) will result in a signature
masak r: my @a = <a b c>; my $a; my $b; :($a, $b, $) := @a; say $a, $b 12:00
camelia rakudo b03cc1: OUTPUT«ab␤»
masak ruz: seems it works if you predeclare the variables.
r: my @a = <a b c>; my $a; my $b; :($a, $b, $) := @a; say $a; say $b
camelia rakudo b03cc1: OUTPUT«a␤b␤»
ruz masak: I'm wondering whst it does :) 12:01
jnthn leont: $.foo(...) is like $(self.foo)
FROGGS r: my @a = <a b c>; my ($a, $b, $) := @a; say $a, $b # same, without the throw away-signature
camelia rakudo b03cc1: OUTPUT«ab␤»
jnthn uh, like $(self.foo(...)) I meant
masak ruz: it assigns the values of @a into the variables in that signature.
ivanoff How to define *.t file for tests? 12:02
masak ruz: hm, not assigns. binds.
FROGGS ahh, jnthn++
masak r: my @a = <a b c>; my $a; my $b; :($a, $b, $) := @a; say $a; @a[0] = "HAHAHA DISREGARD THAT"; say $a
camelia rakudo b03cc1: OUTPUT«a␤a␤»
ruz masak: ok, binding, but $ without name?
FROGGS ivanoff: can you find a test file that tests something similar?
masak ruz: yes, '$' means "anonymous scalar".
ruz: in Perl 5 you would do ($a, $b, undef)
ruz ok 12:03
thanks
masak kowtows
ruz r: my @a = <a b c>; my $a; my $b; :($a, $b) := @a; say $a;
camelia rakudo b03cc1: OUTPUT«Too many positional parameters passed; got 3 but expected 2␤ in block at /tmp/z9IsY3J2M1:1␤␤» 12:04
masak hmm... if := does binding, why wasn't my reassignment of @a[0] reflected in $a above?
rakudobug?
jnthn masak: No, it does binding like signature binding, I think. 12:05
masak: 'cus the thing on the left is a signature
cono how to find out what methods do I have in the following PIR object? my $PIO := Q:PIR { %r = root_new ['parrot';'Socket'] };
PIO*
FROGGS jnthn: btw, irclog.perlgeek.de/perl6/2013-08-10#i_7434211 12:06
ivanoff FROGGS> ok, for example: I try to write test for rt.perl.org/rt3/Public/Bug/Display...l?id=76896
FROGGS> I searched for Could not find sub
masak r: my $outer = 5; sub foo { $outer = 42 }; sub bar($inner) { foo; say $inner }; bar($outer) 12:07
camelia rakudo b03cc1: OUTPUT«5␤»
masak jnthn: ok, I see what you mean.
jnthn FROGGS: You're thinking it should be :from<Java>
?
masak jnthn: I think this was discussed on p6l or p6c not long ago.
12:07 ilyuhan joined
FROGGS jnthn: yes 12:07
ivanoff: I'm looking 12:08
dmol r: my ($f, $o, @a); @a = 2, 3, 4; :($f, $o, $) := @a; say $f 12:10
camelia rakudo b03cc1: OUTPUT«2␤»
dmol my ($f, $o, @a); @a = 2, 3, 4; :($f, $o, $) := @a; say $f.perl
ivanoff <FROGGS> : thanx
12:11 nugged joined
cono nvm, found 12:12
found one more improvement for io-socket, but there is no getsockname in parrot :( 12:14
12:15 berekuk left
FROGGS ivanoff: there is nothing that fits... so put it in S06-other/ 12:15
cono with the latest masak's commit to spectest: # Looks like you failed 1 tests of 41
there is only one left, but it really timesout 12:16
FROGGS ivanoff: maybe in S06-other/misc.t
12:16 PacoLinux left
dalek kudo/nom: 948210e | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Initial implementation of is default(42) on any hash/array
12:16
12:16 PacoLinux joined
sromanov_ diakopter: hi, are you online? :) 12:17
cono k, thanks everyone. It was fun! need to go 12:18
cu in the evening
12:18 Vasyl left
FROGGS cono: see you :o) 12:19
ivanoff FROGGS++ 12:20
))
dalek ast: 2a0f8a5 | (Elizabeth Mattijsen)++ | S02-names/is_default.t:
Unfudge now passing tests
12:20 mdn joined
FROGGS .oO( You should always have a pair of closing parens in your jeans' pocket ) 12:21
... just in case
12:21 grondilu left 12:22 birdwindupbird joined 12:23 vovka joined 12:24 jferrero joined 12:27 PacoLinux left 12:28 PacoLinux joined 12:31 mdn left, vovka left
FROGGS jnthn: btw: I'm adapting the latest moduleloader :from changes now 12:32
12:34 jferrero is now known as JoaquinFerrero 12:37 daxim left, isBEKaml left
dalek ast: 03e0f30 | ivanoff++ | S06-signature/outside-subroutine.t:
Signature binding outside of routine calls
12:40
12:40 isBEKaml joined
moritz r: sub infix:<;>($a, $b) { $a, $b }; my @a = 1; 2; say @a 12:44
camelia rakudo b03cc1: OUTPUT«WARNINGS:␤Useless use of constant integer 2 in sink context (line 1)␤1␤»
ivanoff RT #82946 -- t/spec/S06-signature/outside-subroutine.t 12:45
kindly review RT #82946 -- t/spec/S06-signature/outside-subroutine.t 12:49
thanks 12:50
moritz ivanoff: ticket closed
ivanoff moritz++
dalek kudo/nom: 8c1cc2b | moritz++ | t/spectest.data:
run new test file, ivanoff++
12:51
ivanoff kindly review RT #75010 -- t/spec/S12-class/attributes.t 12:53
dalek albot: d454513 | (Sergey Romanov)++ | / (2 files):
add nqp-jvm target
12:54
moritz ivanoff: closed #75010 too, thank you very much 12:56
ivanoff moritz++ )) 12:57
pmurias jnthn: should I make --target=ast emit "QAST::Regex(:rxtype(anchor) :subtype(eos))" or "QAST::Regex(:rxtype(anchor),:subtype(eos))" 12:59
masak ivanoff++ # causing RT tickets to be closed! 13:00
pmurias: the latter has the advantage that it would roundtrip better on a contemporary rakudo.
r: sub foo(*%) {}; foo(:brave :foolish) 13:01
camelia rakudo b03cc1: ( no output )
masak oh... we do parse that now.
jnthn pmurias: Hm, how do we do it in other places? Or don't we? :)
pmurias If I saw it somewhere else I wouldn't be asking ;) 13:02
I think we avoid using commas
FROGGS /home/froggs/dev/nqp/src/QRegex/P5Regex/Actions.nqp:191: make QAST::Regex.new(:rxtype<subrule>, :subtype<zerowidth>, 13:03
/home/froggs/dev/nqp/src/QRegex/P5Regex/Actions.nqp:197: make QAST::Regex.new( :rxtype<anchor>, :subtype<eos>, :node($/) );
there are commas usually 13:04
or do you mean something else?
jnthn It's really just a dump format for debugging, not something that we ever try to reconstruct the tree from.
So could go either way
FROGGS ahh 13:05
I see
13:05 nugged left 13:07 celesta joined
celesta hello #perl6 13:07
yoleaux 10 Aug 2013 07:04Z <FROGGS> celesta: if you would write your compiler in nqp, yuo would have parrot, JVM and MoarVM as backends...
preflex yoleaux: you have 2 new messages. '/msg preflex messages' to read them.
dalek ast: d16c3af | (Timo Paulssen)++ | S02-names/pseudo.t:
require an is dynamic if you're gonna use CALLER.
13:09
masak celesta! \o/
13:09 ilyuhan left
pmurias celesta: re writing your compiler with parrot, the best way to write a compiler that emits code that can be used from a perl6 program would be to target QAST 13:09
timotimo pullrequest 190 is live: require is dynamic for CALLER. 13:10
celesta pmurias: thank you. i will ty it
ivanoff r: (say "A" if 1) + 10
camelia rakudo b03cc1: OUTPUT«A␤»
pmurias $ matches if the current character is either a newline character or we are at the end of the string and the previous character is not a string 13:11
13:11 nugged joined
pmurias celesta: which language do you want to implement? 13:11
timotimo is not a string?
dmol r: @a = 1; say +@a;
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/dyEWbMYO6f␤Variable '@a' is not declared␤at /tmp/dyEWbMYO6f:1␤------> @a⏏ = 1; say +@a;␤ expecting any of:␤ postfix␤»
ivanoff r: say "A" if 1 + say "B" if 1
camelia rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/kuuEvHFNiS␤Confused␤at /tmp/kuuEvHFNiS:1␤------> say "A" if 1 + say "B" ⏏if 1␤ expecting any of:␤ postfix␤»
dmol r: my @a = 1; say +@a;
camelia rakudo b03cc1: OUTPUT«1␤»
masak r: my @a = "fly, you fools!"; say +@a 13:12
camelia rakudo b03cc1: OUTPUT«1␤»
celesta pmurias: i'm writing a custom language for interactive fiction
masak r: say (say "A" if 1) + (say "B" if 1)
camelia rakudo b03cc1: OUTPUT«A␤B␤2␤» 13:13
masak ivanoff: ^
itz am I being stupid or is rt.perl.org/rt3/Public/Bug/Display...?id=117951 *not* actually fixed?
moritz itz: I'm taking a look... 13:14
jnthn r: say say $%*ENV
camelia rakudo 8c1cc2: OUTPUT«("MANPATH" => "/home/p6eval/perl5/perlbrew/perls/perl-5.14.1/man:", "PERLBREW_VERSION" => "0.42", "PERLBREW_PERL" => "perl-5.14.1", "SHELL" => "/bin/bash", "TERM" => "screen", "USER" => "p6eval", "LS_COLORS" => "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;…
dmol moritz, ivanoff: bpaste.net/show/121909/
moritz r: say $%*ENV 13:15
camelia rakudo 8c1cc2: OUTPUT«("MANPATH" => "/home/p6eval/perl5/perlbrew/perls/perl-5.14.1/man:", "PERLBREW_VERSION" => "0.42", "PERLBREW_PERL" => "perl-5.14.1", "SHELL" => "/bin/bash", "TERM" => "screen", "USER" => "p6eval", "LS_COLORS" => "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;…
moritz itz: seems to work
itz I guess I'm being stupid :)
moritz dmol: looks good 13:16
r: my $c = 0; ++$c for $%*ENV; say $c
camelia rakudo 8c1cc2: OUTPUT«1␤»
moritz dmol: what's your github user name?
13:17 nugged left
dmol basiliscos 13:17
moritz: basiliscos
pmurias timotimo: what I meant to ask is, do I correctly assume that $ matches if the current character is either a newline character or we are at the end of the string and the last character is not a newline? 13:19
13:19 PacoLinux left
moritz dmol: you can now push to perl6/roast. Welcome! 13:19
timotimo r: say "foo\n\n" ~~ /"foo" \n $/
camelia rakudo 8c1cc2: OUTPUT«Nil␤»
timotimo apparently 13:20
moritz pmurias: no, that's wrong, $ is always zero-width in Perl 6
dmol moritz: no, p6 hasn't yet been installed on my box :) 13:21
moritz r: say "foo\n" ~~ /foo$/ 13:22
camelia rakudo 8c1cc2: OUTPUT«Nil␤»
pmurias r: say "foo" ~~ /foo/
camelia rakudo 8c1cc2: OUTPUT«「foo」␤␤»
moritz r: say "foo\n" ~~ /foo\n$/
camelia rakudo 8c1cc2: OUTPUT«「foo␤」␤␤»
isBEKaml r: say "foo\n" ~~ /foo$$/ 13:23
camelia rakudo 8c1cc2: OUTPUT«「foo」␤␤»
13:24 woolfy left 13:27 not_gerd left
pmurias moritz: thanks, I was confusing $$ and $ 13:27
13:28 crab2313 joined 13:31 rindolf left
dmol moritz++ 13:33
moritz pmurias: yes, $$ matches end-of-line or end-of-string 13:34
dalek ast: 1fac507 | ivanoff++ | S06-operator-overloading/semicolon.t:
A user-declared infix:<;> clashes with statement stopper ';' in Rakudo
13:37
13:37 nugged joined
ivanoff kindly review RT #88704 -- t/spec/S06-operator-overloading/semicolon.t 13:40
dalek p: 6dea545 | (Pawel Murias)++ | src/QAST/Regex.nqp:
Mention the subtype of QAST::Regex during --target=ast.
13:41
dmol r: my ($a, $b, $c); $c = 42; [=] $a, $b, $c; say ($a, $b, $c).join("|")
camelia rakudo 8c1cc2: OUTPUT«===SORRY!=== Error while compiling /tmp/h5Y7OdzWP7␤Cannot reduce with = because list assignment operators are too fiddly␤at /tmp/h5Y7OdzWP7:1␤------> my ($a, $b, $c); $c = 42; [=]⏏ $a, $b, $c; say ($a, $b, $c).join("|")␤»…
lizmat timotimo: did you spectest your pull request ? 13:43
dalek kudo/nom: e5d98a6 | moritz++ | t/spectest.data:
run S06-operator-overloading/semicolon.t, ivanoff++
moritz ivanoff++ # another ticket closed 13:44
dalek kudo/nom: 99993ee | (Timo Paulssen)++ | src/ (4 files):
support for "is dynamic" and CALLER:: whining.
kudo/nom: ca2ec62 | (Timo Paulssen)++ | src/core/PseudoStash.pm:
$_, $/ and $! are implicitly dynamic.
kudo/nom: 42a37a0 | lizmat++ | src/ (4 files):
Merge pull request #190 from timo/require_is_dynamic

Require "is dynamic"
ivanoff dalek++ 13:47
moritz++
dmol r: my ($a, $b, $c); $c = 42; [+] $a, $b, $c; say ($a, $b, $c).join("|")
camelia rakudo 8c1cc2: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/IVOG6WYlEi:1␤␤use of uninitialized value of type Any in numeric context in block at /tmp/IVOG6WYlEi:1␤␤use of uninitialized value of type Any in string context in block at /tmp/IVOG6WY…
dmol r: my ($a, $b, $c); $c = 42; [-] $a, $b, $c; say ($a, $b, $c).join("|") 13:48
camelia rakudo 8c1cc2: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/iXxNrnEjq8:1␤␤use of uninitialized value of type Any in numeric context in block at /tmp/iXxNrnEjq8:1␤␤use of uninitialized value of type Any in string context in block at /tmp/iXxNrnE…
dmol r: my ($a, $b, $c); $c = 42; [.perl] $a, $b, $c; say ($a, $b, $c).join("|")
camelia rakudo 8c1cc2: OUTPUT«===SORRY!=== Error while compiling /tmp/xOlH37BQnB␤Two terms in a row␤at /tmp/xOlH37BQnB:1␤------> my ($a, $b, $c); $c = 42; [.perl] ⏏$a, $b, $c; say ($a, $b, $c).join("|")␤ expecting any of:␤ postfix␤ infix sto…
dalek ast: 8abf073 | ivanoff++ | S06-operator-overloading/semicolon.t:
add RT number
13:48 colomon joined 13:50 sromanov_ left
masak timotimo: wow, you commit has four nines :) 13:50
dmol r: my ($a, $b, $c); $c = 42; [++] $a, $b, $c; say ($a, $b, $c).join("|")
camelia rakudo 8c1cc2: OUTPUT«===SORRY!=== Error while compiling /tmp/aXX7uMb7UF␤Preceding context expects a term, but found infix + instead␤at /tmp/aXX7uMb7UF:1␤------> my ($a, $b, $c); $c = 42; [++⏏] $a, $b, $c; say ($a, $b, $c).join("|")␤»
masak dmol: that does not make sense. 13:51
dmol: did you mean '($a, $b, $c)>>++' ?
moritz masak: and four nines are a high quality indicator, right? :-)
masak moritz: yes, that's what I was thinking.
moritz: I'm not sure it still does in hex, though :P
moritz: should be four effs.
moritz r: say 1 + 2 + 3 13:52
camelia rakudo 8c1cc2: OUTPUT«6␤»
moritz r: say [+] 1, 2, 3
camelia rakudo 8c1cc2: OUTPUT«6␤»
moritz r: say [+] (1..100)
camelia rakudo 8c1cc2: OUTPUT«5050␤»
leont just had his first pass from his first perl 6 module o/
isBEKaml moritz: 99.99?? :-) 13:53
celesta leont: yippie!
tadzik leont++ 13:54
13:54 lue left 13:55 ilyuhan joined, Ben_Goldberg joined
dmol r: [=] 1,2 13:56
camelia rakudo 8c1cc2: OUTPUT«===SORRY!=== Error while compiling /tmp/58oPBf69lB␤Cannot reduce with = because list assignment operators are too fiddly␤at /tmp/58oPBf69lB:1␤------> [=]⏏ 1,2␤»
dalek ast: 5765af9 | (Steve Mynott)++ | S02-magicals/ (2 files):
import of spectest for RT #78258
13:57
moritz r: try eval '[=] 1, 2'
camelia rakudo 8c1cc2: ( no output )
moritz r: try eval '[=] 1, 2'; say $!.perl
camelia rakudo 8c1cc2: OUTPUT«X::Comp::AdHoc.new(filename => "eval_0", line => 1, column => Any, modules => Array.new(), is-compile-time => Bool::True, pre => "[=]", post => " 1, 2", highexpect => Array.new(), payload => "Cannot reduce with = because list assignment operators are too fiddly")␤»…
dmol moritz: is there differense, that operators are vars or literals for [operator] ? 13:58
moritz r: 1 = 2; # for dmol 13:59
camelia rakudo 8c1cc2: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/AJLAUtclqk:1␤␤»
13:59 denis_boyun_ left
moritz dmol: if you give it literals, it would die at runtime anyway 13:59
dmol: so for this particular ticket, it's better to use variables in the tests 14:00
lizmat timotimo: some spectest failures :-(
timotimo lizmat: can you tell me which?
lizmat t/spec/S02-names/pseudo.t 14:01
timotimo huh. i fixed a test there
dalek ast: 5ab54fb | (Steve Mynott)++ | S05-transliteration/79778.t:
import of spectest for RT #79778
masak itz++ itz++ 14:02
timotimo lizmat: can you be more exact perchance? that whole test passes no-prob on my machine
itz hopefully the first of many :)
masak \o/
dalek ast: 3d6ab5d | masak++ | S32-io/IO-Socket-INET.sh:
kill stray IO-Socket-INET.sh process better

  cono++ for patch.
14:03
ast: dc541cd | masak++ | S32-io/IO-Socket-INET.sh:
remove some stray comments
ast: 2aae384 | (Elizabeth Mattijsen)++ | S02-names/is_default.t:
Unfudge now passing tests
ast: 50a3a42 | (Elizabeth Mattijsen)++ | S02-names/caller.t:
Unfudge passing test
dmol r: eval('my ($a, $b); [+] $a, $b;');
camelia rakudo 8c1cc2: OUTPUT«use of uninitialized value of type Any in numeric context in block at eval_0:1␤␤use of uninitialized value of type Any in numeric context in block at eval_0:1␤␤»
tadzik Nominal type check failed for parameter '$got' 14:04
that has to be the strangest error I got recently :)
in a my $s = nqp::socket() line
timotimo yeah, you need to Mu that
masak tadzik: the strangest error you '$got' recently :P
dmol r: eval 'my ($a, $b); @c = [+] $a, $b;'
14:05 nugged_ joined
camelia rakudo 8c1cc2: OUTPUT«===SORRY!=== Error while compiling eval_0␤Variable '@c' is not declared␤at eval_0:1␤------> my ($a, $b); @c⏏ = [+] $a, $b;␤ expecting any of:␤ postfix␤» 14:05
14:05 itz left
moritz great that now 'Mu' is a verb 14:05
dmol eval 'my ($a, $b); my @c = [+] $a, $b;'
14:05 nugged left
lizmat timotimo: not ok 116 - ::("CALLER")::<$*foo> works# TODO not entirely sure these make sense... 14:05
# got: ''
# expected: '92'
You're trying to access $y through CALLER, but it is not dynamic.
moritz dmol: forgto the 'r: ' at the front
dmol r: eval 'my ($a, $b); @c = [+] $a, $b;'
moritz *forgot
camelia rakudo 8c1cc2: OUTPUT«===SORRY!=== Error while compiling eval_0␤Variable '@c' is not declared␤at eval_0:1␤------> my ($a, $b); @c⏏ = [+] $a, $b;␤ expecting any of:␤ postfix␤»
lizmat probably a faulty test
BabsSeed Has anyone done twitter stream with perl6 yet?
dmol r: eval 'my ($a, $b); my @c = [+] $a, $b;' 14:06
camelia rakudo 8c1cc2: OUTPUT«use of uninitialized value of type Any in numeric context in block at eval_0:1␤␤use of uninitialized value of type Any in numeric context in block at eval_0:1␤␤»
masak BabsSeed: what does that even mean?
ivanoff r: eval{ my $a = 10/0 }; print $0;
camelia rakudo 8c1cc2: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling proto of 'eval' will never work with no arguments (lines 1, 1)␤ Expected: :(, )␤»
masak BabsSeed: you mean like twitter.com/perl6 ?
moritz ivanoff: it's 'try' for catching exceptions
BabsSeed masak: No I mean, has anyone implemented Twitter stream API in perl6 for making Twitter bots/clients 14:07
moritz ivanoff: and 'eval' for compiling and running code
ivanoff moritz++
thanx!
moritz BabsSeed: iirc [Coke] had some twitter bot written in Perl 6 some time ago
dmol r: eval 'my ($a, $b); '
camelia rakudo 8c1cc2: ( no output )
14:08 lue joined
dmol r: eval 'my ($a, $b); [+] $a, $b;' 14:08
camelia rakudo 8c1cc2: OUTPUT«use of uninitialized value of type Any in numeric context in block at eval_0:1␤␤use of uninitialized value of type Any in numeric context in block at eval_0:1␤␤»
BabsSeed moritz: Thanks, I'm planning to do that at some point, have decided Sept/Oct/Nov is p6 time for me.
dmol r: my ($a, $b); my @c = [+] $a, $b;
camelia rakudo 8c1cc2: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/ZJ0IOYJiBm:1␤␤use of uninitialized value of type Any in numeric context in block at /tmp/ZJ0IOYJiBm:1␤␤»
leont How do I query if a variable is a codeblock? 14:09
masak leont: $v ~~ Code
14:12 lizmat left 14:13 ilyuhan left, nugged_ left, [Sno] left, ivanoff left, dmol left 14:14 leont left
timotimo and ... gone 14:14
dalek ast: 9ee04a8 | (Timo Paulssen)++ | S02-names/pseudo.t:
require an is dynamic if you're gonna use CALLER.
14:15
timotimo i was *sure* i had pushed this half an hour ago or something
pnu nice.. rakudo-jvm compiles on a 2X heroku instance. took about 30 minutes. 14:16
14:16 root____4 joined 14:18 JQK joined 14:20 root____4 left
timotimo cool! :) 14:20
pnu my next step is to create a buildpack, and support scripts to vendor pre-built binaries to a s3 bucket etc.
14:20 ajr joined, PacoLinux joined, ajr is now known as Guest44692, PacoLinux left 14:21 Guest44692 is now known as ajr_, PacoLinux joined, lizmat joined
timotimo lizmat: i was sure i had pushed that commit to roast before. now it's clean, though 14:21
14:22 ivanoff joined
lizmat we had a power outage at the hackahon for ~ 10 minutes 14:22
tadzik but you probably want to theck for Callable
timotimo a bit weird that CALLER would refer to the outer block of an if statement, though. but if you're in a sub and you know you're going to use CALLER, might as well save it away in a variable before doing any control flowing
14:22 dmol joined
dmol r: my ($a, $b) = (1,2); my @c = [+] $a, $b; 14:23
camelia rakudo 42a37a: ( no output )
14:23 itz joined
dmol r: my ($a, $b) = (1,2); my @c = [=] $a, $b; 14:24
camelia rakudo 42a37a: OUTPUT«===SORRY!=== Error while compiling /tmp/SKw4NUeCxQ␤Cannot reduce with = because list assignment operators are too fiddly␤at /tmp/SKw4NUeCxQ:1␤------> my ($a, $b) = (1,2); my @c = [=]⏏ $a, $b;␤»
dmol r: eval 'my ($a, $b) = (1,2); my @c = [+] $a, $b;'; 14:25
camelia rakudo 42a37a: ( no output )
14:25 leont joined, nugged joined
dmol r: eval 'my ($a, $b) = (1,2); my @c = [=] $a, $b;'; 14:25
camelia rakudo 42a37a: OUTPUT«===SORRY!=== Error while compiling eval_0␤Cannot reduce with = because list assignment operators are too fiddly␤at eval_0:1␤------> my ($a, $b) = (1,2); my @c = [=]⏏ $a, $b;␤»
moritz r: use Test; plan 1; eval_dies_ok 'my ($a, $b) = (1,2); my @c = [=] $a, $b;', 'dies'
camelia rakudo 42a37a: OUTPUT«1..1␤ok 1 - dies␤»
moritz dmol: something like this might work for you 14:26
14:26 ilyuhan joined 14:27 ivanoff left, isBEKaml left
dmol moritz: thanks :) 14:28
14:28 ivanoff joined
moritz timotimo: I'm now working on turning something the new error into a typed error 14:28
BabsSeed Which compiler is the most complete? rakudo?
pmurias BabsSeed: yes
moritz (hindered by the fact that my laptop is so sloooow, and I couldn't do it on my server during the power outage)
14:31 JQK left
dalek ast: 121d672 | ivanoff++ | S13-syntax/sub-hash.t:
sub/hash syntax
14:32
14:34 kaare_ joined
moritz r: sub f { say $CALLER::x }; do { my $x = 42; f} 14:35
camelia rakudo 42a37a: OUTPUT«You're trying to access $x through CALLER, but it is not dynamic.␤ in method at_key at src/gen/CORE.setting:8752␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1855␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1843␤ in sub f at /tmp/c4w99_UTe2…
moritz note to self: constructiong an exception object IS NOT ENOUGH: you also have to .throw it! 14:36
ivanoff kindly review #76896 test S13-syntax/sub-hash.t
moritz ... and I'm the one who'll be giving a talk about exception soon.
14:38 Psyche^ joined
lizmat r: sub f { say $CALLER::x }; do { my $x is dynamic = 42; f} 14:38
camelia rakudo 42a37a: OUTPUT«42␤»
moritz ivanoff: you can remove the %\n stuff from the test; it doesn't add anything 14:39
dalek ast: 7dc5018 | ivanoff++ | S13-syntax/sub-hash.t:
remove the %\n stuff from the test; it doesn't add anything
14:41
pmurias jnthn: is being able to compile regexes at runtime important for bootstraping nqp?
ivanoff moritz, I made it. Am I right?
moritz ivanoff: and S13-syntax looks like a weird place -- I'd put it in S02-lexical-conventions/sub-block-parsing.t
ivanoff: sorry, I'm not fast enough :-)
ivanoff )) 14:42
14:42 Psyche^_ left
pmurias jnthn: like <$foo> 14:42
moritz ivanoff: but yes, looks better than before
dmol masak: bpaste.net/show/121924/ should it be plased under t/spec/S03-operators/friddle.t ? 14:43
masak dmol: looking.
ivanoff moritz, should I move S13-syntax/sub-hash.t to S02-lexical-conventions/sub-block-parsing.t ? 14:44
masak dmol: 'fiddly' rather than 'friddle', methinks.
14:44 benabik left, PacoLinux_ joined
masak dmol: so, t/spec/S03-operators/fiddly.t and s/friddle/fiddly/ in the comment. 14:44
oh, and in the test description.
otherwise, looks fine.
14:45 benabik joined, PacoLinux left 14:46 PacoLinux_ is now known as PacoLinux, CAAPW8A joined
dalek kudo/nom: 2566e75 | moritz++ | src/core/ (2 files):
add a typed exception

for accessing stuff through CALLER that is not dynamic
14:49
14:50 PacoLinux left
dalek ast: 5765af9 | (Steve Mynott)++ | S02-magicals/ (2 files):
import of spectest for RT #78258
14:51
roast: 5ab54fb | (Steve Mynott)++ | S05-transliteration/79778.t:
roast: import of spectest for RT #79778
14:51 dalek left 14:52 dalek joined, ChanServ sets mode: +v dalek, raiph joined
moritz leaves the hackathon 14:53
ivanoff kindly review #76896 test S02-lexical-conventions/sub-block-parsing.t 14:54
14:55 fridim_ joined, dmol left, ivanoff left 14:56 ilyuhan left 14:57 nugged left 15:07 rindolf joined 15:08 lizmat left, leont left 15:16 lizmat joined 15:18 woolfy joined 15:20 rindolf left
dalek p/jvm-sockets: 6933faa | tadzik++ | src/vm/jvm/ (3 files):
Initial socket support for JVM
15:23
p/jvm-sockets: 968b9f8 | tadzik++ | src/vm/jvm/ (2 files):
Get rid of nqp::closesocket(), nqp::closefh() works perfectly fine. jnthn++
p/jvm-sockets: cf06a85 | tadzik++ | src/vm/jvm/ (3 files):
Implement read() and write() for sockets
15:23 dmol joined, nugged joined 15:26 nugged left 15:27 nugged_ joined
sorear tadzik++ 15:28
15:28 dmol1 joined 15:29 _jaldhar left, nugged joined 15:31 dmol1 left
woolfy sorear, at some point you told us you would try to be at the YAPC::EU in Kiev this year. Too bad it did not work out. 15:31
15:31 dmol left
itz is there a more generic yapc::eu channel elsewhere? on magnet or whatever? 15:32
FROGGS itz: there is a #yapc at irc.perl.org
15:32 nugged_ left 15:36 nugged left 15:41 crab2313 left
sorear woolfy: did I? oops 15:44
FROGGS jnthn: ping 15:53
dalek kudo-star-daily: 590c258 | coke++ | log/ (5 files):
today (automated commit)
16:15
kudo-star-daily: a06e635 | coke++ | log/ (5 files):
today (automated commit)
rl6-Acme-Addslashes: 1ccaa31 | (Konrad Borowski)++ | lib/Acme/Addslashes.pm:
Cool argument is enough for addslashes
16:16
16:19 ajr joined 16:20 ajr_ left, ajr is now known as Guest96499
Guest96499 In an attempt to catch up with Perl 6's current state, I started by testing the examples on RosettaCode. 16:21
The first one I tried, Hello World to Line Printer, crashed.
benabik Wait. A /Guest\d+/ actually talking about perl 6? I am shocked and thankful. 16:22
Guest96499 This version appears to work:
given open '>', '/dev/lp0' {
.say('Hello, World!');
.close;
}
benabik Guest96499: welcome!
sorear benabik: ajr is an old hat
16:22 Guest96499 is now known as ajr_
sorear did that ever work? 16:22
ajr_ Sorry, that was the original 16:23
This appears to work:
given open '/dev/lp0' {
.say('Hello, World!');
.close;
}
sorear it's been open '/dev/lp0', :w for as long as I've been here
i'm surprised that never got updated. TimToady and others have been combing over RC a lot lately 16:24
ajr_ The Synopses weren't very helpful, but maybe I was looking in the wrong places?
16:27 mdn joined
sorear the synopses are implementor-targeted documentation 16:29
you want:
well, you want doc.perl6.org/routine/open 16:32
which conspicuously doesn't exist
:/
16:32 itz left 16:33 coax75ohm joined, locsmif joined, PZt joined 16:34 mdn left
timotimo first prototype of turning lexicals into locals in the optimizer ... 16:39
sadly it runs before immediate blocks are inlined, so a lot of chances would be missed. i need a second pass, i think
16:39 berekuk joined
ajr_ Would this be accurate? 16:40
given open '/dev/lp0', :w { # Open the device for writing as the default 16:41
.say('Hello, World!'); # Send it the string
.close; #
# ^ The prefix "." says "use the default device here"
}
timotimo looks good to me. "default device" could be a bit misleading, though 16:42
sorear it's just setting and using $_ 16:43
ajr_ I'm trying to phrase it for someone who doesn't know what $_ is 16:45
timotimo another time where i wish i could shoot rakudo a signal and get a traceback of where it's currently doing its work
replacing "default object" sounds okay to me
ah, it was another case of a while loop without an increment m( 16:46
those take a while to execute
lizmat: what do these # 1 and # 2 comments at the end of blocks in S02-names/caller.t mean that you added to unfudge it? 16:47
ajr_ There seems to be a common theme here: breaking the elephant that is Perl 6 into conceptual mouthsful
timotimo is that something like #?DOES ? 16:48
er, #?does i guess
sorear the usual metaphor is a waterbed, but ok.
ajr_ Although Damian's "Fun With Dead Languages" talk is indeed "fun", it gave me a significant clue. 16:51
Perl 6 encompasses at least 3 separate fundamental concepts: procedural, object-oriented, and functional programming. 16:52
That means that there have to be at least 3 independent routes into it, that do not require knowledge of the other 2 to grasp. 16:53
P.S. who has the access rights to fix that example? 16:57
locsmif ajr_: do you happen to have a link to that talk? 16:59
timotimo ah. i think i can't turn a lexical into a local if it's part of the signature ... i don't see how i can figure that out, it's not explicit in the QAST 17:00
ajr_ No, I don't think one exists. You have to see it in meatspace.
17:00 mdn joined 17:02 mdn left 17:03 mdn joined 17:14 denis_boyun joined 17:15 birdwindupbird left 17:18 berekuk left 17:19 berekuk joined 17:20 berekuk left, itz joined
sorear ajr_: i beleive anyone with an account can edit any page on RC 17:20
ajr_: most languages these days can pull off that trifecta. even C++ is getting with the program now. 17:21
colomon sorear! \o/
sorear hi colomon.
ajr_ Which only complicates the problem of learning it. (As if C++ wasn't complicated enough already.) 17:22
colomon is packing to return to the US. After playing for ceili dancers for a few more hours....
timotimo " 17:24
"coercion from a to i NYI" o_O
17:25 domidumont joined
flussence ...atoi(3) NYI? :D 17:25
ajr_ What's wrong with this one? 17:26
clkao w/in 22
ajr_ perl6 -e "my $string = slurp 'open_lp'; say $string;"
===SORRY!===
Malformed my
at -e:1
------> my ⏏= slurp 'open_lp'; say ;
expecting any of:
scoped declarator
timotimo haha
you used "
and your shell replaced $string with ""
ajr_ Duh!
timotimo the piece of text after the -----> gives it away ;)
flussence «string='$string' perl6 -e "my $string = slurp 'open_lp'; say $string;"»
.oO( imagine how much fun shell scripting would be if someone decided it'd be a good idea to make undefined vars interpolate literally... )
17:28
ajr_ Yup, this: perl6 -e 'my $stuff = slurp "open_lp"; say $stuff;'
works
timotimo i always use ' for that reason 17:29
could it be that if i want to turn a lexical into a local, i have to move it from the Stmts that's the first child of the Block to be the first child of the Block, so that it is accessible to the rest of the tree? 17:31
is the first child of blocks somehow special? 17:34
17:41 domidumont left
sorear not in that way 17:42
17:42 domidumont joined 17:43 bonsaikitten joined 17:46 ssutch joined 17:47 itz left, itz joined 17:48 itz left 17:56 bonsaikitten left 17:57 raiph left, bonsaikitten joined 18:01 raiph joined
timotimo sorear: do you have tips? i don't really understand what exactly causes the error i'm seeing :( 18:02
18:04 denis_boyun left 18:05 mikemol left 18:08 ajr_ left 18:12 nugged joined 18:13 colomon left
timotimo gist.github.com/timo/4991927cc4308937ffaa - this is the resulting QAST and error message from the compiler 18:15
maybe i'm misunderstanding where locals may appear? 18:16
18:20 nugged left 18:31 rindolf joined
celesta r: my @x = [+](0..2),(0..2); say @x 18:35
camelia rakudo 2566e7: OUTPUT«3 0 1 2␤»
celesta i was hoping for output; 0, 2, 4
timotimo you're getting [+](0..2) and then 0..2 afterwards 18:38
celesta oh, how can i get x1+y1, x2+y2, ...xn+yn ?
timotimo what you really want is (0..2) Z+ (0..2) or (0..2) >>+<< (0..2)
turn the pointy arrows at lists that you want to extend if they're shorter than the other one
celesta timotimo++ thank you very much 18:39
18:39 mdn left
timotimo you're welcome :) 18:39
i can't tell where this "reg_type" method on $*BLOCK is coming from in the compiler, but apparently 'a' means something to parrot. except i can't find any mention of that, only I and S and so on 18:40
FROGGS I wonder too what 'a' should be 18:42
timotimo it would appear parrot would give an A and it'd be lc'd to a 18:43
but there's no mention of 'A' in the whole parrot source that doesn't have to do with "uppercase letters between A and Z" 18:44
18:46 raiph left
timotimo perhaps i'm not converting the lexicals into locals correctly; currently i'm just replacing .scope with 'local' on all mentions of the var 18:47
18:49 klrr joined
timotimo it's kind of strange to me that it explodes upon binding a local to a local ... 18:52
klrr does it happen haskell chat here? 18:53
geekosaur not very much
timotimo sometimes haskell is mentioned here, but not often
klrr okey, it says so on haskell wiki 18:54
timotimo oh, can you show us the link?
geekosaur also, klrr, just hunting for new channels to misbehave in isn't productive for anyone
timotimo probably because of pugs, but pugs isn't being developed actively any more
klrr 20:54 < geekosaur> also, klrr, just hunting for new channels to misbehave in isn't productive for anyone 18:56
that's very offesnive statement
i should take this in pm it's off topic sry
www.haskell.org/haskellwiki/Irc#Related_channels 18:57
timotimo: ^
under "Projects using haskell"
wait
perl 6 implemented in haskell ?
timotimo ah, that's probably a bit old by now
yes, pugs is a perl 6 compiler implemented in haskell
klrr ok
timotimo i don't see perl mentioned in the history, so i cannot tell when it was added or last touched 18:58
19:04 rindolf left
FROGGS I believe the work on pugs stopped about six or seven years ago 19:05
timotimo adds random poisoning conditions in the hope of random subsets intersecting sufficiently with what he setting uses
19:05 klrr left
timotimo infix:<~> can't get compiled :( 19:07
FROGGS O.o
timotimo and since it's so early in the setting i can only assume that there's many more blocks that would fail
the line that triggers it is apparently nqp::setelems($res, $alen + $blen) where both $alen and $blen have been turned into locals 19:08
moritz back from pre-conference meetup 19:09
timotimo hello moritz :)
moritz: an intuition what reg_type returning "a" could mean? my lexical->local transformation causes coercion errors in the compiler :( 19:10
otherwise, see my last gist link for the whole QAST and error message
oh, perhaps :decl(var) is wrong for locals? 19:13
hm, but tthat gets used for other locals, too. like the sink vars 19:15
moritz: can you confirm that i don't have to move the decls for the local vars up so that it's the parent of all usages of it?
moritz timotimo: I can't confirm that 19:16
timotimo: so far I thought the first usage of a QAST::Var must have the :decl<var>, :scope<local>
but I never actually tested that assumption
19:17 rindolf joined
timotimo right. that's what it looks like now 19:17
moritz timotimo: and I guess you know the structure that in a QAST::Block, the first element usually contains the declaration, and the second one the actual code? 19:18
19:18 dmol joined
timotimo in the first stmts of the block, there's a qast::var local $a :decl(var), directly next to it is an op bind for the initial value 19:18
yes, that's what i gathered
moritz timotimo: did you dump the QAST tree that failed to compile? 19:19
timotimo yes 19:20
gist.github.com/timo/4991927cc4308937ffaa
it's quite big, but the compile error happens pretty early on
oh, wait, what 19:23
INTERNAL ERROR: Execution of block eliminated by optimizer - why'd it do that? o_O
that can't be right
ah, that's because the block was inlined 19:24
that makes sense now.
19:24 denisboyun joined 19:26 Rotwang left 19:29 berekuk joined
moritz timotimo: quick idea: maybe the type of natively typed variables aren't carried to the locals properly? 19:32
(it's a bit annoying that the QAST dump doesn't say anything about the type of the vars) 19:33
timotimo right; the code just replaces :scope, so if i have to make sure the type gets in there, it would not have been in the var node before, right? 19:36
moritz I have no idea where the type info comes in 19:37
timotimo perhaps if it's a lexical it used to be in the lexpad, but if it's a local it must be in the var as :returns?
moritz ah, in .returns
timotimo it kind of makes sense that the type info wouldn't be in a QAST::Var if it's a lexical; all the other info is in the lexpad, after all 19:39
19:39 rindolf left
masak o/ 19:40
moritz \o masak
timotimo moritz: do you know what native type infos look like in the lexpad?
19:40 Rotwang joined
moritz timotimo: looking at methods register_lexical and register_local in the QAST compiler, it looks like both use .returns 19:41
timotimo: n (
*no 19:42
19:42 Ben_Goldberg left
moritz though Perl6::World checks the descriptor.of to see if it's native 19:43
timotimo right, so not touching .returns when changing the var from lexical to local should suffice. hmm.
i don't think i can just debug-output the .returns of the var nodes just like that, i don't think i can just stringify those things:| 19:44
moritz timotimo: but you can debug-output nqp::objprimspec(.returns) 19:45
timotimo ah, that sounds great
moritz it just returns a number, and the QAST compiler has a mapping from that number to the register type
19:45 denis_boyun__ joined
timotimo i don't think i can get that from the optimizer, can i? 19:46
moritz seems like 0 => P, 1 => I, 2 => N, 3 => S
timotimo: it's just four values, won't kill you to duplicate it for debugging
19:46 denisboyun left
timotimo oh, good 19:47
masak is happy because he had kvass 19:49
timotimo ah, interesting: here's one place where the return values of the var nodes are sometimes 0 and sometimes 1; i suppose that's because different values have been bound to it along the way or something? 19:50
moritz what does "return value of the var nodes" mean? 19:51
timotimo what primspec outputs for $var-node.returns
moritz yes, 0 is PMC and 1 is int 19:52
FROGGS nqp: say(nqp::getobjprimspec("hi"))
camelia nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::getobjprimspec(\"hi\")"): Error while compiling op getobjprimspec (source text: "nqp::getobjprimspec(\"hi\")"): No registered operation handler for 'getobjprimspec'␤current instr.: '' pc 51451 (s…
timotimo nqp: say(nqp::getobjprimspec(Str)) 19:53
camelia nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::getobjprimspec(Str)"): Error while compiling op getobjprimspec (source text: "nqp::getobjprimspec(Str)"): No registered operation handler for 'getobjprimspec'␤current instr.: '' pc 51451 (src/sta…
19:53 benabik left
dalek kudo-star-daily: 63cd012 | coke++ | log/ (5 files):
today (automated commit)
19:53
FROGGS nqp: say(nqp::objprimspec("hi"))
camelia nqp: OUTPUT«0␤»
FROGGS nqp: say(nqp::objprimspec(123))
camelia nqp: OUTPUT«0␤»
FROGGS O.o
timotimo so, what exactly is the reason for locals to be so much faster than lexicals?
19:53 benabik joined
timotimo at least if i get all of this right. which i don't seem to be able to so far ;) 19:53
moritz nqp: say(nqp::objprimsepc(int))
camelia nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::objprimsepc(int)"): Error while compiling op objprimsepc (source text: "nqp::objprimsepc(int)"): No registered operation handler for 'objprimsepc'␤current instr.: '' pc 51451 (src/stage2/QAST.pir…
FROGGS nqp: say(nqp::objprimspec(int))
camelia nqp: OUTPUT«1␤»
moritz nqp: say(nqp::objprimspec(int))
camelia nqp: OUTPUT«1␤»
19:54 kaare_ left
moritz timotimo: the VM has a much easier time putting locals on the stack, or keeping it only in registers, never in heap memory 19:54
nqp: say(nqp::objprimspec(num)) 19:55
camelia nqp: OUTPUT«2␤»
moritz nqp: say(nqp::objprimspec(str))
camelia nqp: OUTPUT«3␤»
timotimo ah. that's what i guessed
i think the return value of P for the var comes from binding a value to it
logically, the var wouldn't have a return value if it's the first argument of a bind op 19:56
so maybe it isn't wrong?
celesta nqp: say(nqp::objprimspec(role))
camelia nqp: OUTPUT«0␤»
timotimo is it acceptable for a local var to have a sigil? should be, IMO 19:57
moritz oh
parrot might not like that
timotimo well, it's easily corrected. 19:58
moritz because only registers start with $ in parrot
timotimo mhm
moritz and locals are just identifier
timotimo that could trip it up bad, yes
moritz you can just generate a name for the local 19:59
with $past.uniq('replace') or so 20:00
timotimo will do
moritz and then update all reading accesses to it too
timotimo yes, i have a list of all occurences already, i'll just replace the name there
if that turns out to be the solution i'll be simultaneously annoyed and happy 20:01
masak I've changed my mind again. I think it's in poor taste for YAPC::EU to have anti-p6 talks.
timotimo what, are you going to censor the free speech of your fellow yapcians?
masak somehow though, I'm kinda glad they're there, in the schedule. I hope people show up to stand up for Perl 6.
timotimo clearly, you must be a terrible person! 20:02
masak even though everyone I've talked to says they're not gonna go for blood-pressure reasons.
timotimo i can totally see that.
20:05 dmol left
timotimo oh yay! 20:06
i would have *never* guessed that would be the culprit! but now it compiles
okay, my detection of lexical variable use doesn't seem to work perfectly fine yet. 20:08
masak admitting that you have a problem. first step to recovery ;) 20:09
timotimo judging from the spectests, it seems like it misses a whole bunch of lexicals that shouldn't have been turned into locals 20:11
20:12 domidumont left
timotimo i think i know what got messed up 20:16
i had code in place to prevent any lexicals to be turned into locals in the head if they came before $_, because i thought it would always be the case that $_ comes after all arguments to subs etc
turns out if you have block with an implicit signature, those come after the $_. so now i'll have to come up with proper code to figure out how is siggatur formed 20:17
do i find that out by inspecting $*DISPATCHER perhaps?
moritz maybe by looking at the signature? 20:18
timotimo i'd love to. where do i find it? :) 20:19
felher hey folks. I think I found a serialization problem: gist.github.com/felher/6206656 . Known Problem?
moritz felher: not known to me. Please submit! 20:20
tadzik felher! \o/
20:20 cognominal left
felher o/ tadzik :) 20:20
20:21 cognominal joined
felher moritz: will do. Either after $work today or some time tomorrow :) 20:21
timotimo moritz: i can get the signature from a Code object, but how do i get from a QAST:Block to the corresponding Code object? :| 20:22
tadzik after work today! /o\
what timezone are you in
20:23 domidumont joined 20:24 domidumont left
moritz r: sub f($x) { say MY::.keys *; f 20:24
camelia rakudo 2566e7: OUTPUT«===SORRY!=== Error while compiling /tmp/Cvjgw6OgFt␤Two terms in a row␤at /tmp/Cvjgw6OgFt:1␤------> sub f($x) { say MY::.keys *⏏; f␤ expecting any of:␤ method arguments␤ postfix␤ infix stopper␤ infi…
moritz r: sub f($x) { say MY::.keys }; f
camelia rakudo 2566e7: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'f' will never work with no arguments (lines 1, 1)␤ Expected: :($x)␤»
moritz r: sub f($x) { say MY::.keys }; f 42
camelia rakudo 2566e7: OUTPUT«$x $_ $/ $! $*DISPATCHER &?ROUTINE RETURN␤»
timotimo r: say { $^a }.WHAT 20:25
camelia rakudo 2566e7: OUTPUT«(Block)␤»
moritz timotimo: I guess it's too late by the time &?ROUTINE is added?
felher tadzik: CET. But I was (and still am) ill quite some time and @people are expecting a eMail with an status update tomorrow. So I have to do it now, before I go to bed :)
moritz oh, and it won't work for blocks either
timotimo i'm not sure if ROUTINE is actually enough
moritz anyway, time for sleep here 20:26
tadzik I see :)
timotimo good night moritz and thanks for your help!
can i bother you about this again some time tomorrow?
felher o/ moritz
Well, I have to leave. Hopefully not for two months again ;) Good night, #perl6 20:32
timotimo good night! :)
i'm going to bed now, too.
celesta godd night #perl6
good
20:33 celesta left
pmurias masak: re anti Perl 6 talks what are they trying to achieve? 20:42
masak pmurias: a good question. 20:44
pmurias: maybe they figure they're the child who points out that the emperor has no clothes.
pmurias: or maybe they sincerely believe they have a chance with the Perl 7 nonsense.
pmurias you mean have Perl 6 declared a failure and have a normal Perl 5 release called Perl 7? 20:46
masak pmurias: aye.
pmurias isn't that something that Larry would have to decide? 20:48
so they should be sending hate mail rather then appealing to the community? 20:49
pmurias hopes they don't read #perl6 ;) 20:50
20:50 nugged joined
masak it's something that Larry would have to decide, yes. 20:52
the more I think about it, the more I think they haven't thought things through very well. 20:54
20:55 nugged left
masak they kind of look like they think they're operating with 100% information, whereas in actual fact it's far less than 50%. 20:55
'night, #perl6 21:06
pmurias 'night 21:07
21:08 nugged joined 21:21 raiph joined 21:25 xenoterracide joined 21:27 coax75ohm left, nugged left 21:28 nugged joined 21:31 nugged_ joined 21:33 nugged_ left 21:34 nugged left 21:43 lue left 21:44 BenGoldberg joined 21:53 berekuk left
Ulti with the LWP::Simple module what is expected to be passed in as content/data to the .post ? 21:55
21:55 lue joined
Ulti form encoded stuff like 'field=value' 21:56
22:01 Rotwang left 22:07 berekuk joined 22:08 census joined, denis_boyun__ left 22:11 spider-mario left 22:17 berekuk left 22:28 locsmif left 22:33 FROGGS left 22:34 FROGGS joined 22:44 FROGGS left 22:46 pmurias left 23:06 frettled joined