»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 itaipu left 00:08 BenGoldberg joined
samcv timotimo, some servers don't like that, like cloudflared sites 00:16
if you grab the header only it looks 'suspicious' :( 00:17
i used to do that before actually. did one request for a header then decided whether to get the document. but cloudflare often doesn't like that. wouldn't happen every time. but
00:29 LegalResale left 00:42 pierre_ joined
iBakeCake regreg: $*PERL.version is the language version, $*PERL.compiler.version is the compiler version, and $*VM.version is the Virtual Machine's version 00:47
00:54 dataf4l left 00:56 Herby__ joined
Herby__ \o 00:56
o/ 01:01
iBakeCake | 01:03
\o
01:15 aborazmeh joined, aborazmeh left, aborazmeh joined 01:16 nadim left
ugexe samcv: I tried to do that with Net::HTTP but you cant read cross threads 01:17
01:19 bjz joined
ugexe so you cant create something like a `class HTTP::Response { has $.header; has Supply $.body }.new(header => $parsed_socket_text, body => $socket.Supply)` 01:22
no SSL on IO::Socket::Async yet so thats not a solution either
01:24 sufrostico left
ugexe otherwise read the $socket.lines until you get a blank (the first \r\n\r\n), examine what you've stored, and close the socket if you want to 01:27
01:34 Derperperd left, bjz left, pierre_ left 01:36 sufrostico joined
ugexe m: my $socket = IO::Socket::INET.new(:host<httpbin.org>); $socket.print("GET / HTTP/1.1\r\nHost:httpbin.org\r\nConnection:close\r\n\r\n"); my $header-lines = $socket.lines.map({$_ or last}); say $header-lines; 01:40
camelia rakudo-moar b1f77c: OUTPUT«IO::Socket::INET is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method new at src/RESTRICTED.setting line 32␤ in block <unit> at <tmp> line 1␤␤»
01:41 pierre_ joined 01:44 pierre_ left, pierre_ joined 01:46 ilbot3 left 01:47 ilbot3 joined 02:02 dataf4l joined 02:13 dataf4l left, dataf4l joined 02:14 pierre_ left 02:16 aborazmeh left 02:17 dataf4l left 02:26 pierre_ joined 02:28 skids joined 02:33 dataf4l joined 02:56 noganex joined
snowman_ Hello all. I just wanted to thank those who work on Perl6. I have been enjoying the language quite a bit. 02:57
seatek I second that :) 02:59
02:59 noganex_ left 03:02 skids left 03:05 dataf4l left
TimToady on behalf of all of us, yer welcome! 03:15
03:22 pierre_ left 03:24 regreg left 03:28 pierre_ joined 03:32 Actualeyes left 03:33 pierre_ left 03:40 andrzejku_ joined 03:41 pierre_ joined 03:42 andrzejku left 03:44 hoelzro_ left 03:46 hoelzro joined, AlexDaniel left 03:51 b7j0c joined 03:52 pierre_ left
b7j0c hi. let's say I want to test a package I am updating, but I also have the same package installed with zef. How can I force perl6 to see my secondary copy of the package and not try to load the one from the standard place where zef puts them? PERL6LIB doesn't seem to help... 03:52
TimToady perhaps: use lib '.'; or some such (though that would disable precompilation, I believe) 03:56
b7j0c will try that out, thanks TimToady!
oh duh, PERL6LIB does work, it helps to set it to the right directory ;) 03:58
04:00 pierre_ joined 04:04 khw left 04:05 pierre_ left 04:14 BenGoldberg left 04:18 Actualeyes joined 04:29 brillenfux joined 04:33 Cabanossi left 04:37 Cabanossi joined 04:38 andrzejku joined, andrzejku_ left 04:52 wamba joined 04:55 ShimmerFairy left 05:01 pierre_ joined, Herby__ left 05:07 brillenfux left 05:09 b7j0c left 05:12 brillenfux joined, pierre_ left 05:20 [particle] joined, pierre_ joined 05:24 pierre_ left 05:43 pierre_ joined 05:57 ufobat joined 05:59 neuraload joined 06:01 Jesmaybe_ joined, Jesmaybe_ left 06:02 Jesmaybe_ joined 06:04 wamba left 06:05 Jesmaybe_ left 06:06 Jesmaybe_ joined 06:07 Jesmaybe_ left, Jesmaybe_ joined 06:08 Jesmaybe_ left 06:09 Jesmaybe_ joined 06:10 mohae_ left
seatek How would you create a new class with a variable class name? i.e. my $thing = DB::$class.new ? 06:10
I've been poking and prodding like mad
06:11 mohae joined 06:12 Jesmaybe_ left 06:13 Jesmaybe_ joined
seatek when you call a method identified by a variable name, I know you have to do this trick: self."$method"() to get it to work... but don't know what you need to do to instantiate a class with a variable name 06:14
(quotes don't seem to help with the class name bit) 06:16
06:17 abraxxa joined 06:22 bjz joined 06:24 itaipu joined 06:29 zacts left 06:30 ale1ster joined
seatek hmm. could probably climb aboard that "dispatching" fetish through multimethods I suppose. 06:30
06:30 ale1ster left
arnsholt ::($name), I *think* 06:31
06:31 nadim joined, firstdayonthejob joined
arnsholt m: class Foo {}; say ::('Foo').new 06:31
camelia rakudo-moar b1f77c: OUTPUT«Foo.new␤»
arnsholt seatek: ^^^ 06:32
seatek hmm. ok maybe my problem is putting a ^can('whatever') after it... 06:33
06:34 cyphase joined
arnsholt m: class Foo {}; say ::('Foo').^can('new') 06:37
camelia rakudo-moar b1f77c: OUTPUT«(new)␤»
06:38 bjz left
seatek oh my god thoe whole time is was leaving out the '.' before the '^'. I can't believe it. 06:38
i need sleep :) 06:39
thank you arnsholt :)
arnsholt++
06:39 firstdayonthejob left
seatek m: class Tester::Foo {}; say Tester::('Foo').^can('new') 06:44
camelia rakudo-moar b1f77c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Combination of indirect name lookup and call not supported␤at <tmp>:1␤------> 3lass Tester::Foo {}; say Tester::('Foo')7⏏5.^can('new')␤ expecting any of:␤ argument list␤»
seatek arnsholt: doesn't work with something in front of the '::'s though
arnsholt What kind of something? 06:45
seatek like the example above 06:46
m: class Tester::Foo {}; say Tester::('Foo').^can('new')
camelia rakudo-moar b1f77c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Combination of indirect name lookup and call not supported␤at <tmp>:1␤------> 3lass Tester::Foo {}; say Tester::('Foo')7⏏5.^can('new')␤ expecting any of:␤ argument list␤»
arnsholt m: class Tester::Foo {}; say ::('Tester::Foo').^can('new') # Should work, I think 06:47
camelia rakudo-moar b1f77c: OUTPUT«(new)␤»
seatek ok that's what i was looking for -- the silly trick like you have to do with calling methods by variable names.. that's it ;) thank you again :)
i would never have come up with that on my own
perfect. works perfectly. thanks arnsholt++ 06:50
06:54 zacts joined
seatek in order to call a method in your class, you have to do self."$method"() to make it work, and in order to reference a class you have to do ::("My::$class") 06:54
the intuitive way is, of course, self.$method and My::$class ... :) I think you had to use My::{$class} with Perl5 I'm remembering right. Those must be problemmatic. 06:57
in both cases it seems to want extra assurances that it should be stringy 06:58
06:59 bjz joined 07:07 wamba joined 07:08 geekosaur left, geekosaur joined
samcv hmm would be nice if camelia differentiated between stdout and stderr 07:10
07:10 pierre_ left
samcv i have a perl5 bot that does that in another channel, would be cool if camelia did it tho i haven't look at the source for it yet 07:10
on my bot: !perl die "oh no" would make the bot say: STDERR: «oh no at (eval 11) line 1.␤» 07:12
and if there's stdout too it will print it and specify which is which. tho i guess maybe it could make it harder to tell the order of the errors since it seperates them? 07:13
07:14 bjz left
samcv idk maybe it's not that needed. just maybe it's nice sometimes 07:17
m: 0%%0 orelse say "oh no $!" 07:18
camelia rakudo-moar b1f77c: OUTPUT«Use of Nil in string context␤ in block at <tmp> line 1␤oh no ␤»
samcv m: 0%%0 orelse say "oh no $_"
camelia rakudo-moar b1f77c: OUTPUT«oh no (HANDLED) Attempt to divide by zero using infix:<%%>␤ in block <unit> at <tmp> line 1␤␤»
samcv both show as OUTPUT tho one is stder and one is stdout.
07:24 rindolf joined 07:26 Jesmaybe_ left 07:29 brrt joined 07:30 zakharyas joined 07:32 ocbtec joined 07:33 domidumont joined 07:37 domidumont left 07:38 domidumont joined 07:42 MasterDuke left 07:43 wamba left 07:47 wamba joined
andrzejku hello Perl6 07:51
07:53 hudo joined 07:55 pierre_ joined
DrForr o/ 07:56
El_Che ^(*(oo)*)^ 07:59
oink!
08:05 perlpilot_ joined
andrzejku :P 08:07
hey guys do you think it is hard to take job in Perl?
if it would be place where can I check my introduction skills 08:08
DrForr Well, jobs.perl.org is a good start. 08:10
08:11 wamba left
andrzejku DrForr: yeah but I have no any Perl expierience in my cv :/ 08:12
08:12 FROGGS joined
andrzejku I do Perl only if I need some automate scripts 08:12
DrForr Then you have experience. What were you automating? 08:13
FROGGS o/
andrzejku in my previous job
DrForr Then put it down on your CV. 08:14
andrzejku ex. script to add VPN's after serve reboot
DrForr That's valid, don't discount any experience.
andrzejku or script to click button on power tap web interface :D 08:15
08:15 seatek left
andrzejku DrForr: ye but I am looking for something like introdcution questions 08:16
08:16 domidumont left
andrzejku DrForr: like most recruiters ask what is difference between C and C++ 08:17
if you don't tell a log you fail
DrForr I haven't done those in years... Still, I'd just put those down on your CV and see what they have to say.
andrzejku :S
DrForr: okay I will test 08:18
08:21 rindolf left
DrForr You'll find out pretty fast; most of the jobs.perl.org jobs are fairly decent. 08:23
El_Che andrzejku: decide what you want to do work wise and invest time in that field (e.g. start your private project, follow/collaborate with an open source project, do some reading...) 08:24
DrForr And these days make sure you're on github and your projects go there.
andrzejku I know that all ;) 08:25
08:25 yqt joined
andrzejku I cann't decide what I want to do in my life ;d 08:25
El_Che get an xbox? 08:26
andrzejku too poor for xbox
mostly I program in C++ near Linux 08:27
08:27 rindolf joined 08:28 ocbtec left
El_Che andrzejku: is your job c++ programming? 08:28
andrzejku yeah
my current yes
but they shift me all the time in some mess departments
;d
interspersed with C 08:29
and more strange staff
08:42 g4 joined 08:43 pierre_ left 08:49 rindolf left 08:50 andrzejku left 08:54 andrzejku joined, dg joined 08:55 rindolf joined 09:04 domidumont joined 09:06 rindolf left 09:12 pierre_ joined 09:14 rindolf joined 09:16 canopus left 09:22 cyphase left 09:23 canopus joined 09:27 cyphase joined 09:29 FROGGS left 09:30 domidumont left 09:34 eliasr joined 09:50 AlexDaniel joined 09:56 pfortuny joined 09:57 andrewalker joined
pfortuny Hi, I've tried to find out in the docs and it seems that specifying a type for the elements of a list is not possible? 09:59
(I'm quite new to types). I am referring to something like: my List Int $a. 10:00
10:01 itaipu left
DrForr $a isn't a List variable. Maybe you just want 'my Int @a;' 10:03
10:03 itaipu joined
pfortuny well, yes, sorry. but does that force "compile-time" checking? 10:04
DrForr Well, runtime checking certainly. Compile-time, I'm not certain but it'll certainly do run-time checks. 10:07
10:08 bjz joined, breinbaas left, ocbtec joined 10:09 cschwenz joined
pfortuny Yep. I was wondering about catching those as compile-time errors. I **guess** other pure functional languages do? 10:09
timotimo other pure functional languages will do that for you
in perl6, types like "List of Int" are purely given by the programmer, not inferred by the compiler 10:10
meaning, if you have a list that just happens to only have Int in it, the compiler won't make the variable a List of Int for you
10:11 labster left
timotimo when you don't know that, you'll end up with code like this and the corresponding error message: 10:13
m: sub test-this-list(Int @foo) { ... }; my @bar = 1, 2, 3, 4; test-this-list(@bar) 10:14
camelia rakudo-moar b1f77c: OUTPUT«Type check failed in binding to @foo; expected Positional[Int] but got Array ($[1, 2, 3, 4])␤ in sub test-this-list at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
10:14 TEttinger left
pfortuny So: I can declare a my Int @a but after some time I might do @a[3] = "not Int"; and this will just be a runtime error? 10:14
timotimo at the moment, and possibly for a longer time still, yes 10:15
arnsholt Incidentally, this is what jnthn++ means when he says that Perl 6 types are "nominal, not structural"
pfortuny OK, it was just a question (not a complaint :) 10:16
timotimo the thing is that @a[3] = "not Int" results in a method call on @a, and the object that's the "target" of the call has full control over what is allowed and what isn't
and you can - at run time - change the object in question so much that @a[3] = "not Int" would be correct again
arnsholt In Haskell, "[1, 2, 3]" is an [Int] *because* it's elements are Int
DrForr m: my Int @x=1,2,3;@x[1]='foo';
camelia rakudo-moar b1f77c: OUTPUT«Type check failed in assignment to @x; expected Int but got Str ("foo")␤ in block <unit> at <tmp> line 1␤␤»
10:17 ab6tract joined
pfortuny good. thanks, timotimo, arnsholt & DrForr 10:17
ab6tract pfortuny: FWIW, this can be smoothed over in the mean-time via subsets
pfortuny wut?
10:17 go|dfish left
ab6tract don't worry, example incoming :) 10:18
m: 'subset ListOfInt where { [&&] $_.map(* ~~ Int) }; sub sum(ListOfInt $ints) { [+] $ints }; my $l = [3,4,5,6]; say sum($l)' 10:23
camelia rakudo-moar b1f77c: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "subset ListOfInt where { [&&] $_.map(* ~~ Int) }; sub sum(ListOfInt $ints) { [+] $ints }; my $l = [3,4,5,6]; say sum($l)" in sink context (line 1)␤»
ab6tract grr
m: subset ListOfInt where { [&&] $_.map(* ~~ Int) }; sub sum(ListOfInt $ints) { [+] $ints }; my $l = [3,4,5,6]; say sum($l)
camelia rakudo-moar b1f77c: OUTPUT«18␤»
10:24 JimmyZ joined
ab6tract it still gets kind of tricky WRT positional vs scalar containers 10:24
pfortuny ab6tract: thanks.
cschwenz what is the Perl 6 equivalent of the Perl 5 `my $num = unpack("Q", $data);` ?
jnthn Also worth noting: the overall principle is that Perl 6 will enforce types "runtime at latest, compile time where possible". Where what's possible will shift over time. (This is one reason it's importnat for modules to declare which version of Perl 6 they're using.) 10:25
pfortuny However, my issue was essentially about compile-time checking.
what if I do: "my Int @a; sub b returns Str {"hi"}; @a[1] = b();"
is that a compile-time or runtime error?
jnthn Runtime today, but that one's in the realm of things we could catch at compile time in the future. 10:26
cschwenz i've found docs.perl6.org/type/Blob , but that doesn't have Q as one of the template values. :-(
pfortuny OK, great. thanks, jnthn, ab6tract (thanks for the example also). 10:27
10:27 pierre_ left 10:30 DANtheBEASTman left 10:33 itaipu left
cschwenz and perldoc.perl.org/functions/pack.html tells me exactly how many bytes n, N, v, and V consume. unfortunately, docs.perl6.org/type/Blob#method_unpack isn't so helpful. so as an alternative to Q, are Perl 6's n, N, v, and V the same as Perl 5's? that is, can i do `my Int @n = Blob.new([1, 2]).unpack("N*"); my Int $num = (@n[0] +< 32) +| @n[1];` in Perl 6 and have it be the same as if Perl 6 supported Q directly? 10:34
10:46 wamba joined 10:49 ChoHag joined
DrForr cschwenz: pack() was a bit rushed; Liz did quite a bit of work on it and may have missed out on that term. 10:49
timotimo yeah, and since the release, pack hasn't really been improved any more 10:50
10:51 pfortuny left
cschwenz +1 DrForr and timotimo 10:51
thanks, even if it isn't the answer i was hoping for :-) 10:52
timotimo however:
m: use NativeCall; my $a = CArray[int8].new(1, 2, 3, 4); say nativecast(CArray[int64], $a).perl
camelia rakudo-moar b1f77c: OUTPUT«NativeCall::Types::CArray[int64].new␤»
timotimo m: use NativeCall; my $a = CArray[int8].new(1, 2, 3, 4); say nativecast(CArray[int64], $a)[0]
camelia rakudo-moar b1f77c: OUTPUT«67305985␤» 10:53
timotimo m: use NativeCall; my $a = CArray[int8].new(1, 2, 3, 4); say nativecast(CArray[int64], $a)[0].base(16)
camelia rakudo-moar b1f77c: OUTPUT«4030201␤»
cschwenz ooh, shiny! :-D
thanks!
timotimo as close to the metal as possible
dalek c: 8279652 | (Francis Grizzly Smit)++ | doc/Type/Proc.pod6:
fixed small gramatic error in doc for Proc::sink run used where it should have been ran
10:53 domidumont joined 11:09 rindolf left 11:11 go|dfish joined 11:13 wamba left 11:16 bjz left 11:18 MorayJ joined
AlexDaniel what is :dba in Perl 6 grammar? 11:28
DrForr "doing business as" 11:29
AlexDaniel do I get it right that it is used for “expecting any of” messages? 11:30
if so, what makes it work? Can somebody point me to the line number? 11:31
arnsholt Yeah, it's used to create the expecting any of messages 11:35
I have so far failed to track down exactly how it works
But it involves the high water mark and stuff
Grep for highexpect in the source to find at least some of the places 11:36
11:36 kaare__ joined
jnthn iirc it's also used for ~ 11:43
When we don't find the closer
So may want to grep for FAILGOAL also 11:44
11:50 MasterDuke joined 11:53 AlexDaniel left 12:03 fumlead joined 12:07 ab6tract left 12:10 domidumont left 12:12 bioduds left, esh joined 12:14 esh left 12:15 esh joined 12:32 woolfy left 12:39 pmurias joined
pmurias andrzejku: which city do you live in? 12:41
12:41 kurahaupo__ joined, pierre_ joined
andrzejku pmurias: Wroclaw 12:45
pmurias is too 12:48
Perl doesn't seem to be very popular in Wrocław 12:49
andrzejku pmurias: are you from Wroclaw?
:D
pmurias: ye, it is fact
pmurias andrzejku: I'm not from Wrocław but I live there 12:50
jnthn Wrocław.pm? :)
andrzejku pmurias: nice ;d
yeah lets start Wroclaw.pm
;p
12:51 harrison_ joined
andrzejku jnthn: wroclaw? 12:51
12:51 harrison_ left
jnthn andrzejku: No, I'm not from there. Was just suggesting making a Pm group there ;-) 12:52
andrzejku ye, sure
jnthn It's like 6 hours travel from me :) 12:53
andrzejku organize -> code -> make workplaces
12:53 esh left
andrzejku jnthn: ohh so you may live in germany :D 12:53
12:53 perlpilot_ is now known as perlpilot
jnthn No, Prague :) 12:54
andrzejku do you have prague.pm?
12:54 AlexDaniel joined
AlexDaniel m: say < = ≠ ⩵ ⩶ ≡ ≢ ≔ ⋍ >.map({“$_ .uniname”}) 12:57
camelia rakudo-moar b1f77c: OUTPUT«(= .uniname ≠ .uniname ⩵ .uniname ⩶ .uniname ≡ .uniname ≢ .uniname ≔ .uniname ⋍ .uniname)␤»
AlexDaniel m: say < = ≠ ⩵ ⩶ ≡ ≢ ≔ ⋍ >.map({“$_ {.uniname}”})
camelia rakudo-moar b1f77c: OUTPUT«(= EQUALS SIGN ≠ NOT EQUAL TO ⩵ TWO CONSECUTIVE EQUALS SIGNS ⩶ THREE CONSECUTIVE EQUALS SIGNS ≡ IDENTICAL TO ≢ NOT IDENTICAL TO ≔ COLON EQUALS ⋍ REVERSED TILDE EQUALS)␤»
jnthn There is one, though I didn't make a meeting of it...first it collided with when I was away with work, then I got sick...
jnthn only fairly recently moved here :)
andrzejku jnthn: I think there are more perl writers but they are scared 12:58
jnthn: in my old job there were prohibition for perl 12:59
12:59 kurahaupo__ is now known as kurahaupo
andrzejku they said: you can write it on your own, noone want it 13:00
evenmore when a group of ppl tell you it is a crap you cannt arguing
no chance 13:01
perlpilot andrzejku: you've seen builtinperl.com, yes? 13:02
DrForr I know I have :0 13:03
s/.$/)/
andrzejku perlpilot: no I will look
perlpilot Particularly look at www.builtinperl.com/perl-startups 13:04
13:04 cdg joined
DrForr And that's just a sample; please keep in mind *lots* of companies use Perl; that site just lists some of those who choose to promote Perl. 13:06
moritz isn't there a Polish Perl Workshop? 13:07
andrzejku it was 13:08
13:08 SourceBaby joined, Undercover joined, ChanServ sets mode: +v Undercover
[Coke] Blue Coke needs coffee, badly! 13:08
13:09 dustinm` joined
pmurias moritz: I was at one once 13:10
jnthn I think I spoke at two Polish Perl Workshops :) 13:11
Fun times :)
andrzejku jnthn: maybe polish perlers left poland 13:14
maybe it will be better if Perl can game dev 13:16
or iOS, Android
like pygame
or rubymine
13:16 japhb joined
pmurias andrzejku: game dev isn't an area Perl is very strong with (and there don't seem to be significant plans to change it) 13:17
DrForr SDL bindings are pretty mature. 13:18
andrzejku pmurias: why?
DrForr At least on perl5...
andrzejku I play once a good game written in pygame i forgot name but it was commercial
kind of panzer&generals
DrForr Well, feel free to help make it more popular. 13:19
andrzejku ye, but it is a matter of time 13:20
if pmurias will be intrested in ;d 13:21
DrForr Yep, it's easy when it's not your time.
andrzejku it is easy to dream about
13:22 skids joined
pmurias hopes that if rakudo.js gets optimized enough it will be possible to use it for writing games too ;) (as javascript is being pushed in everywhere) 13:23
13:34 aborazmeh joined, aborazmeh left, aborazmeh joined 13:43 aborazmeh left 13:48 rindolf joined 13:55 titsuki left 13:56 neuraload left, neuraload joined 13:57 optikalmouse joined 14:00 maybekoo2 joined
[Coke] github.com/kdeldycke/awesome-falsehood 14:02
iBakeCake "People’s names have an order to them" why is that a falsehood? 14:04
That list would be interesting to read if it had explanations :) 14:05
gfldex in some countries fam. names come first 14:06
iBakeCake .... which is order.
There's too much ambiguity in that statement 14:07
DrForr Right, but assuming that everyone uses the same order even in the same country isn't always the case.
gfldex that you need to know in beforehand and can't auto-detect in many asian languages
huf yes, but i doubt there's any place where there's _no_ order :) 14:08
gfldex my firstname is more commonly used as a surname here in germany. What leads to confusion on a regular basis.
14:08 esh joined
huf it's just different from place to place 14:08
gfldex: oh i love the firstname firstname sorts...
and *then* you read about them in an english article and you're completely lost 14:09
gfldex it's Wenzel and is old middle german for boy. So my father was only confunsing, not wrong. :)
huf i was thinking of the gabor denes types 14:10
14:10 khw joined
huf which in an english text would likely be denes gabor. which is also completely valid 14:10
14:11 neuraload left 14:12 bjz joined
huf it's worse with far eastern names where none of the parts are familiar so you cant ever guess :) 14:12
14:17 bjz left, [particle] left, pierre_ left
optikalmouse if anyone wants to write a tutorial on perl6 and get paid for it, you can contact codementor.io, I feel like I'm the first person to write a perl 6 article and get $$ for it. 14:21
also, sorry for the advertisement, I just want more perl6 articles out there :D :D
iBakeCake :/
14:22 brillenfux left
iBakeCake Is bisectable down? 14:22
bisectable6: open 'foo' orelse say "Something happened $!"
bisect: open 'foo' orelse say "Something happened $!"
moritz optikalmouse: you aren't; I've written several Perl 6 articles for a German print magazine
and got paid for it :-)
DrForr I've been speaking at large conventions... and getting paid for it :) 14:23
bisectable6 iBakeCake, On both starting points (old=2015.12 new=b1f77c8) the exit code is 1 and the output is identical as well
iBakeCake, Output on both points: open is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in sub open at src/RESTRICTED.setting line 9␤ in block <unit> at /tmp/pRL29KFmws line 1␤
iBakeCake, On both starting points (old=2015.12 new=b1f77c8) the exit code is 1 and the output is identical as well
iBakeCake, Output on both points: open is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in sub open at src/RESTRICTED.setting line 9␤ in block <unit> at /tmp/K520g4MBcm line 1␤
iBakeCake bah
AlexDaniel iBakeCake: want me to give it a go without RESTRICTED?
14:24 robins is now known as robinsmidsrod
iBakeCake AlexDaniel: sure 14:24
optikalmouse moritz: woah, link plz? 14:25
AlexDaniel iBakeCake: bisect log: gist.github.com/ee157de0dd11ae7ca7...7801db5fec
iBakeCake: (2016-09-01) github.com/rakudo/rakudo/commit/63...6892a7df4f
optikalmouse bisectable6: say "this is neato" 14:26
bisectable6 optikalmouse, On both starting points (old=2015.12 new=b1f77c8) the exit code is 0 and the output is identical as well
optikalmouse, Output on both points: this is neato
optikalmouse :O
AlexDaniel iBakeCake: I know it's not what you wanted :D
iBakeCake: but join #whateverable to play with it
iBakeCake AlexDaniel: it's fine. Thanks. 14:27
AlexDaniel iBakeCake: gist.github.com/Whateverable/f576f...291f0ca29b 14:29
iBakeCake AlexDaniel++ perfect. Thanks. 14:31
14:32 g4 left
AlexDaniel iBakeCake: gist.github.com/Whateverable/f3fba...b3e3d0bd61 14:33
iBakeCake: (2015-12-08) github.com/rakudo/rakudo/commit/fb...a44f26d320
I don't know what were you looking for but that's the result
14:34 andrzejku left 14:39 wamba joined
tbrowder can anyone help with my RT acc't, or do i need to file a ticket? 14:40
AlexDaniel tbrowder: what's up with it?
tbrowder i cannot see anywhere to file a ticket! i used to have a page where that could be done, but i've looked at every edit button i can find and nada. 14:42
AlexDaniel ah ok 14:43
that's correct
tbrowder i can see my tickets, and i can search, but nothing else of much value...
so we have to use the e-mail only now?
14:44 hudo left
AlexDaniel tbrowder: yes 14:45
tbrowder okay (bummer!)
AlexDaniel tbrowder: I can't find it in the log now, but there was some issue with it
someone was ddosing RT using it or something like that
tbrowder thanks, that sounds familiar--just part of the, ugh, RT interface... 14:46
AlexDaniel irclog.perlgeek.de/perl6-dev/2016-...i_13346585 irclog.perlgeek.de/perl6-dev/2016-...i_13318615 xD 14:47
tbrowder: ah, there: irclog.perlgeek.de/perl6/2016-09-29#i_13306616
iBakeCake tbrowder: if you don't like it, you can write a short program that would create the ticket for you. I'm sure the API still works, and if not, the program can mail
14:48 kurahaupo left
iBakeCake rt-wiki.bestpractical.com/wiki/RES...ket_Create 14:48
14:50 kurahaupo__ joined, kurahaupo__ left
tbrowder thanks, folks, but i'll save the script for another day 14:50
14:52 kurahaupo__ joined, kurahaupo__ is now known as kurahaupo 14:55 bjz joined 14:57 abraxxa left 15:00 bjz left 15:04 sufrostico left 15:11 optikalmouse left 15:14 yqt left 15:16 itaipu joined 15:17 optikalmouse joined, rindolf left 15:18 optikalmouse left 15:28 bjz joined
dalek line-Perl5: 045a0d5 | niner++ | lib/Inline/Perl5.pm6:
Fix "Attempt to free unreferenced scalar" in shutdown

When the Perl 5 interpreter has been shut down, we may no longer call SvREFCNT_dec on any objects. Fix Perl5Hash and Perl5Array destructors to do the same as Perl5Object's which is to use Inline::Perl5::sv_refcnt_dec method which checks whether the interpreter is still running.
15:29
line-Perl5: f0bb7c4 | niner++ | META.info:
Version 0.21
15:30 esh left, optikalmouse joined 15:31 rodarmor joined 15:46 optikalmouse left 15:50 AlexDaniel left 15:56 brrt is now known as brrt[idle] 16:01 rindolf joined 16:02 optikalmouse joined, nicq20 joined 16:04 seatek joined, cschwenz left
dalek ateverable: c35cdc1 | MasterDuke17++ | Benchable.p6:
Increase timeout and handle new commit options
16:07
ateverable: 4a05be6 | MasterDuke17++ | t/benchable.t:
Add tests for Benchable
16:10 u-ou joined, u-ou is now known as Guest57568
iBakeCake
.oO( why does rakudobrew use "blead" instead of "bleed" )
16:14
oh god...
iBakeCake looked up blead on UrbanDictionary...
mst iBakeCake: because that's been the perl tradition forever
I believe it's because that branch is the bleading edge 16:15
iBakeCake mst: I see
Ah
mst basically, "because we have a habit of turning larry's terrible puns into multi-generational tradition, because perl hackers"
iBakeCake :) 16:16
16:16 zakharyas left
mst oh, which reminds me, if you're planning to stay flounced out of perl5 stuff indefinitely, can you please try and find a new maintainer for Mew? I didn't spend hours talking you through doing it to have it bitrot just because some of the mojo team can't manage to be civilised :P 16:17
iBakeCake Well, I use it for $work and it powers modules.perl6.org, so it won't bitrot :) 16:18
mst ah, right, I assumed your 'I quit' included that
if you're still going to keep it going, don't mind me
16:20 nowan_ joined 16:23 nowan left 16:27 bjz left 16:29 nicq20 left 16:30 telex left 16:31 telex joined 16:32 Sgeo_ joined 16:34 Sgeo left 16:39 [particle] joined, esh joined 16:51 sufrostico joined
dalek c: c014ce8 | adaptiveoptics++ | doc/Language/exceptions.pod6:
clarified / corrected wording
16:52
c: 942bd20 | adaptiveoptics++ | doc/Language/exceptions.pod6:
eliminated insanity
17:03
17:03 yqt joined 17:04 firstdayonthejob joined
iBakeCake hah 17:04
seatek it was too much ;) 17:06
iBakeCake Are you adaptiveoptics?
seatek yeah -- there's no mention of fail in exceptions 17:07
iBakeCake :)
17:08 Actualeyes left
TimToady seatek: yes, we very deliberately distinguish symbolic reference from hard reference, and make the symbolic reference harder than the hard reference, because Huffman coding 17:10
on the flip side, we don't need 'use strict refs' like Perl 5 does 17:11
moritz optikalmouse: sorry, totally missed your earlier question. The articles where in the iX magazine: www.heise.de/ix/
optikalmouse neat! :D
moritz optikalmouse: I don't believe they are available online individually
optikalmouse: iirc there were 3 or 4 articles in 2009, and one this year (2016-05, iirc) 17:12
17:12 acrussell joined
moritz and they pay pretty decent (~200€ per page, or so) 17:13
iBakeCake :o
moritz though I'm too slow writing to make that a full-time job :-)
optikalmouse not bad, I got 150 USD for my article
indeed, I figure i can do maybe 3 articles a month, technical articles are hard because you wanna make sure the code works and make sure there's as much explanation as needed for newbs :/
17:14 AlexDaniel joined
moritz optikalmouse: not bad either 17:14
optikalmouse: if you need someone to proof-read your p6 articles, I'm willing to do that
(mostly technical/understanding side, not language; I'm not a native speaker)
and I could imagine others here would do that too, just ask
iBakeCake For a cut :} 17:15
seatek TimToady, ah, gotcha - for the Exception workings themselves... I was editing the documentation on Exceptions in general for end users where they talk about die and control flow all together in one doc... so it seemed that fail maybe should be mentioned? I'm still not clear on fail myself just yet, actually.
iBakeCake m: my \term:<𝑒²ˣ> = e**(2*5); dd (𝑒²ˣ-1)/(𝑒²ˣ+1)
camelia rakudo-moar b1f77c: OUTPUT«0.999909204262595e0␤»
seatek oo it seems github has gone away again 17:16
iBakeCake m: my \term:<𝑒²ˣ> = e**(2*5); dd (𝑒²ˣ-1)/(𝑒²ˣ+1) ≅ tanh 5
camelia rakudo-moar b1f77c: OUTPUT«Bool::True␤»
iBakeCake \o/
TimToady seatek: fail returns a lazy die, basically
iBakeCake seatek: you can temporarily add 192.30.253.113 and it'll work 17:17
(resolve github.com to it, I meant)
seatek TimToday - ah so it lingers... until... ? :)
timotimo it's a lazy day to die!
iBakeCake seatek: until it's sunk, used as anything but bool
TimToady bool or defined
iBakeCake s/,/ or/;
Ah yeah 17:18
TimToady so (this metaphor will probably upset DHS...) it's like a bomb you give as your result, but there's a button on it that says "Defuse me!", and as long as you defuse it, you can treat it as an ordinary value that just happens to represent throwing an exception 17:20
iBakeCake
.oO( who's DHS...)
Dumb High Schoolers... 17:21
seatek TimToady, that makes sense now! :) thank you! :)
iBakeCake Dudes Hoisting Submarines
17:21 Actualeyes joined
TimToady depending on what the submarines are carrying, yes 17:22
optikalmouse moritz: that would be helpful, I'm aiming to do a web server + client tutorial for p6 next, will let you know when I start writing it
iBakeCake Ah Department of Homeland Security
TimToady I don't doubt that there are some rather sensitive gamma ray detectors in the mouth of the Potomac River... 17:23
17:26 lichtkind_ joined
TimToady though I don't think they'd want to hoist such a sub by its own petard... 17:26
AlexDaniel
.oO( TimToday, TimTomorrow… )
17:28
TimToady just wonders if the russians have developed bombs with the isotopic signatures of chinese or north korean bombs, or vice versa... 17:29
17:29 lichtkind left
TimToady it would be rather embarrassing to inflict MAD on the wrong bad guy... 17:30
seatek ok - it looks to me like you still have to catch a fail or everything dies, just like die. Is it different only in that it waits until after all the phasers run to die? 17:31
TimToady well, all the phasers that would run if you returned a normal value by that route 17:32
you're not gonna get an END till after the exception is thrown, for instance, nor anything outside of the spot where the exception is actually thrown, unless unwinding the stack does it
nine GitHub being down makes you really appreciate CPAN's mirror system 17:33
iBakeCake seatek: you can pass it around just like normal value 17:34
m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x or say "wow looks like you gave me something fishy: $x" }; good $v
DrForr Once ze rockets go up, who cares where zey come down...
camelia rakudo-moar b1f77c: OUTPUT«wow looks like you gave me something fishy: (HANDLED) meow␤ in sub bad at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
iBakeCake nine: indeed. GitHub down = Entire Perl 6 Ecosystem down
DrForr remembers to install githubbackup on at least 2 machines. 17:36
17:37 yqt left 17:42 wamba left
tailgate The dns ddos? 17:50
iBakeCake Seems to be
tailgate weird. I don't seem to be affected 17:51
seatek iBakeCake, the $x OR say 'whatever' seems absolutely key to make fail work -- using $x first by itself. but it doesn't count passing it around... it has to actually be used as itself, then you can do whatever with it, without dying. 17:52
that's very weird
thank you iBakeCake++ and TimToady++ :) 17:53
iBakeCake seatek: um... but before it became $x it was a $v that I passed to another subroutine.,
seatek: and it's not it used as itself. The `or` evaluates it in Bool context, which defuses it
m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { say 2+$x }; good $v 17:54
camelia rakudo-moar b1f77c: OUTPUT«meow␤ in sub bad at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in sub good at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { say $x }; good $v
camelia rakudo-moar b1f77c: OUTPUT«meow␤ in sub bad at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in sub good at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; good $v
camelia ( no output )
iBakeCake The last one has a ticket for it..
AlexDaniel m: (my $x = 42) = my $y = 50; say $x; say $y 17:56
camelia rakudo-moar b1f77c: OUTPUT«50␤50␤»
AlexDaniel m: (my $x = 42) = 50; say $x
camelia rakudo-moar b1f77c: OUTPUT«50␤»
seatek that last one was what I imagined diffused it ;) 17:57
tailgate m: gist.github.com/ahalbert/42668ccb1...969cffc88f
seatek but you say it's supposed to be just when the object is placed in a bool context for evaluation...
iBakeCake seatek: m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x; Nil }; good $v
seatek that seems harder ;)
camelia ( no output )
iBakeCake oops
m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x; Nil }; good $v
camelia rakudo-moar b1f77c: OUTPUT«WARNINGS for <tmp>:␤Useless use of $x in sink context (line 1)␤»
iBakeCake huh
m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x.sink; Nil }; good $v 17:58
camelia rakudo-moar b1f77c: OUTPUT«meow␤ in sub bad at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in sub good at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
iBakeCake Looks like a bug to me
seatek i don't know if i like fail. it seems like you'd always have to test if what you're getting is a failure object instead of what you really want 18:00
iBakeCake :/
dalek c: a377999 | (Francis Grizzly Smit)++ | doc/Type/Proc/Async.pod6:
fixed Proc::Async doc for new forgot the :$r parameter
18:01
seatek i have to think about it :)
18:01 rgrinberg joined
ugexe an adapter doesnt have to test a type from an adaptee if the client handles failures 18:02
18:02 rgrinberg left
dalek c: 763a3a5 | (Francis Grizzly Smit)++ | doc/Type/Proc/Async.pod6:
fixed Proc::Async doc for new forgot the :$r parameter
18:03
seatek yeah kinda like passing the buck
18:07 FROGGS joined
FROGGS o/ 18:07
seatek clear trails... 18:08
hmm...
iBakeCake \o 18:10
18:15 Actualeyes left 18:22 willena joined 18:23 willena left 18:25 itaipu left, itaipu joined
seatek i've changed my mind about fail. i'm cautiously liking it a bit now. 18:26
still poking it 18:27
TimToady we've come to like most of the places we've installed laziness into p6 :)
seatek :) 18:28
TimToady important thing is to not lose the original information
iBakeCake: yes, looks kinda like a non-sinking sink bug to me 18:29
though obviously it knows it's in sink context or it wouldn't warn about it 18:30
iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; good $v 18:31
camelia ( no output )
iBakeCake What about that one? Is it meant to throw the fail?
TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; sink good $v 18:32
camelia ( no output )
iBakeCake IIRC it will with explicit return
TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; (good $v).sink
camelia rakudo-moar b1f77c: OUTPUT«meow␤ in sub bad at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
TimToady same problem
18:32 cdg left
TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { return $x }; good $v 18:32
camelia ( no output )
TimToady nope 18:33
seatek i think i would need to rely on that failing, with what i have managed to come to like ;)
TimToady well, the good $v should fail because that is in sink context 18:34
s/fail/throw/ 18:35
18:36 AlexDaniel left, sufrostico left 18:43 itaipu left, itaipu joined 18:44 eliasr left
TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($y) { my $x = bad; $x }; good 42 18:44
camelia rakudo-moar b1f77c: OUTPUT«meow␤ in sub bad at <tmp> line 1␤ in sub good at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
TimToady and yet that throws, so not so simple
m: sub bad { fail "meow" }; my $v = bad; sub good ($y) { my $x = $y; $x }; good $v 18:46
camelia rakudo-moar b1f77c: OUTPUT«meow␤ in sub bad at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($y) { $y }; good $v
camelia ( no output )
TimToady weird
iBakeCake heh DDoS is top trend of Twitter :)
Looks like the intertubes are quite clogged today
m: sub bad { fail "meow" }; my $v = bad; sub good ($y) { say 2+2; say "inlining mabby?"; say rand; $y }; good $v 18:48
camelia rakudo-moar b1f77c: OUTPUT«4␤inlining mabby?␤0.337825656718071␤»
iBakeCake :(
DrForr Yep, everyone's trying to get their stuff off github :)
hahainternet yeah i updated my machine and assumed bind had failed due to being unable to look up minor sites
iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($y is copy) { $y }; good $v 18:49
camelia rakudo-moar b1f77c: OUTPUT«meow␤ in sub bad at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
TimToady m: sub foo(&a:(Int)) { say a(42) }
camelia ( no output )
TimToady I think signatures are only recognized on & currently
hahainternet if i wanted to monkey patch equality tests on a built in type, say bool, how would i go about that? 18:50
just redefine operators locally?
TimToady we should probably disallow the :() form there until we generalize it though
FROGGS TimToady: generalized in what way?
TimToady just add your own multi defs in your scope that override on those types
FROGGS: to other sigils, say 18:51
FROGGS TimToady: k, just implemented $foo:(...) attributes locally
TimToady: by using sublongname, which allows dollars too... now I'd also want to use that for params 18:52
TimToady m: sub foo($a:(Int)) { say $a:(Int)(42) }
camelia rakudo-moar b1f77c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared␤at <tmp>:1␤------> 3sub foo($a:(Int)) { say 7⏏5$a:(Int)(42) }␤»
FROGGS strange, isnt it? 18:53
I guess the $a:(Int) declaration is a noop in nom/HEAD
TimToady looks like the name extension form is being allowed in the sig but not the body
FROGGS should one be allowed to use the longname in the body at all?
18:54 acrussell left
FROGGS to me the signature is more a trait when declaring the variable 18:54
TimToady m: sub foo($a:<foo>) { say $a:<foo>(42) }
camelia rakudo-moar b1f77c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> 3sub foo($a:7⏏5<foo>) { say $a:<foo>(42) }␤»
FROGGS m: sub foo($a:b<foo>) { say $a:b<foo>(42) } 18:55
camelia rakudo-moar b1f77c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Invalid typename 'b' in parameter declaration.␤at <tmp>:1␤------> 3sub foo($a:b7⏏5<foo>) { say $a:b<foo>(42) }␤»
TimToady it's admitting the :(Int) form for some other reason, but not actually declaring $a somehow
might be confusing it with sublist unpacking, for instance 18:56
though unpacking sigs are supposed to be separated by whitespace
FROGGS when I made $foo:(...) work it parsed it as variable $foo and adverb :(...) 18:57
so, was getting 'you cannot adverb that' error message at the beginning
hahainternet bit of a stupid question from me, how would i test a Bool $x in given/when?, i'm aware that's a silly thing to do
iBakeCake hahainternet: when { .so { } } 18:58
TimToady or :so
iBakeCake hahainternet: I mean given { when .so { .. }
}
hahainternet i don't quite understand that syntax
iBakeCake: ok, but i need to test for false too
TimToady .not or :not 18:59
hahainternet oh ok
iBakeCake hahainternet: if {} else {} :)
TimToady default {} :)
hahainternet iBakeCake: yeah that's the right way, i'm doing something dumb for a friend
iBakeCake
18:59 TEttinger joined
iBakeCake m: given 1 { when :so { say "True!" }; say "Tis false" } 18:59
camelia rakudo-moar b1f77c: OUTPUT«True!␤»
iBakeCake m: given 0 { when :so { say "True!" }; say "Tis false" }
camelia rakudo-moar b1f77c: OUTPUT«Tis false␤»
iBakeCake :} 19:00
hahainternet oh interesting, i didn't know that given blocks worked like that
TimToady yeah, don't actually need default {} except for clarity
iBakeCake hahainternet: it's not the given block, but the when {} block
hahainternet iBakeCake: the fallthrough?
iBakeCake m: sub foo { when $^x { say "tis true!" }; say "tis false" }(1) 19:01
camelia rakudo-moar b1f77c: OUTPUT«tis false␤»
TimToady the "succeed"
iBakeCake m: sub foo { when $^x { say "tis true!" }; say "tis false" }(0)
camelia rakudo-moar b1f77c: OUTPUT«tis false␤»
iBakeCake is confused with that
m: sub foo { $^x; when $x { say "tis true!" }; say "tis false" }(1)
camelia rakudo-moar b1f77c: OUTPUT«tis false␤»
iBakeCake Oh, it's smartmatching against $_? 19:02
TimToady you never set $_
iBakeCake \o/
m: { when :so { say "tis true!" }; say "tis false" }(1)
camelia rakudo-moar b1f77c: OUTPUT«tis true!␤»
TimToady that's 1 way 19:03
iBakeCake m: sub foo ($_) { when :so { say "tis true!" }; say "tis false" }(1)
camelia rakudo-moar b1f77c: OUTPUT«tis true!␤»
hahainternet so i guess i don't quite understand perl6's :various things 19:05
hahainternet goes to read
19:06 itaipu left
TimToady goes to lunch 19:07
19:11 BenGoldberg joined
iBakeCake m: say '−∞' ~~ /<[+−-]> ['Inf'|'∞'] >>/ 19:36
camelia rakudo-moar b1f77c: OUTPUT«Nil␤»
iBakeCake Why Nil? 19:37
m: say '−∞' ~~ /<[+−-]> ['Inf'|'∞']/
camelia rakudo-moar b1f77c: OUTPUT«「−∞」␤»
iBakeCake hmm... might be related to the @foo >> bug
19:38 sufrostico joined 19:39 FROGGS left
fumlead What bug? 19:42
iBakeCake fumlead: rt.perl.org/Ticket/Display.html?id...et-history 19:43
Oh, wait, mine ain't a bug 19:45
∞ isn't a word, so there's no boundary
19:50 rindolf left 19:52 masak joined, rindolf joined 19:58 optikalmouse left
masak ahoj, #perl6 19:59
iBakeCake \o 20:04
20:07 cpage_ left 20:09 labster joined 20:10 cdg joined 20:11 woolfy joined 20:17 BenGoldberg left 20:18 orbiting joined
pmurias masak: o/ 20:19
20:20 setty1 joined 20:21 maybekoo2 left 20:23 nicq20 joined
nicq20 Hello! o/ 20:23
iBakeCake \o 20:26
| 20:33
/\
[ptc] has a Saturday Night Fever flashback 20:34
... and it's only Friday
masak well, the night is young
something tells me this evening might turn into a Saturday Night :P 20:35
tadzik oh you :D 20:36
masak am I wrong? am I wrong? come here and tell me I'm wrong 20:37
20:43 MorayJ left
masak can I switch topics and ask something about signature binders? 20:43
masak .oO( <masak> don't ask to ask )
in 007, I just realized that people might want to extend parameters to do fun things like optional parameters or slurpy parameters (which are not in the language by default) 20:44
but the problem is that this would also need to extend the routine signature binder, which is a runtime thing
and runtime spreads all over the place, and is not neatly confined to scopes like the parser is
and so you'd need to globally extend the signature binder -- which feels icky 20:45
...or... you'd need to associate with every routine either the default signature binder or an extended one -- which feels extremely Smalltalk-ish or something, and a little bit crazy, and probably something that won't every be backported into Perl 6 20:46
ever*
20:47 nicq20 left
timotimo yeah, we want to have the signature binding stuff available in the optimizer, too 20:53
dalek line-Perl5: fbcb648 | niner++ | / (2 files):
Simplify callback handling

Instead of storing pointers to callbacks (call_method, free_p6_object, ...) in the magic struct of every wrapped object, store them once per Perl 5 interpreter in a struct stored in the interpreter's modglobal hash.
This can even give a ~ 2 % speedup in a targeted benchmark.
20:54
20:55 rjbs- left, jameslenz joined 20:58 rjbs joined 20:59 khw left
masak timotimo: yes, but that's not half as crazy as thinking it should be per routine... 21:02
21:02 skids left
masak (the reason I think it's Smalltalk-ish, I think, is that Mr Kay keeps mentioning this thing about the Web, and how it was a big mistake to just deliver HTML pages, rather than pages equipped with a program that told the client how to render the page.) 21:04
timotimo oh, oh 21:05
pmurias masak: why can't you lexically overwrite the signature binder?
masak pmurias: because routines are first-class and get passed outside of their original scope all the time 21:06
meaning that the actuall call to the routine might happen in a completely different scope, or even a different compunit
actual* 21:07
21:07 ufobat left
pmurias masak: as would the actual syntactical addition 21:09
masak the syntax is no problem at all 21:11
the problem is that what the syntax *means* is a negotiation between caller and callee, and the caller is potentially anywhere in the program 21:12
21:12 khw joined 21:13 rindolf left
masak somehow "this parameter is optional" needs to translate into "and now the signature binder accepts that there's actually no argument passed in here" 21:13
and that needs to happen at (or close enough to) the caller side of things, otherwise the call will simply fail
pmurias it seems to be an artifact of 007 being an interpreter 21:16
21:18 pmurias left 21:19 canopus left 21:23 orbiting left 21:25 canopus joined, orbiting joined 21:31 bjz joined
masak I'll need to ponder that comment. it would certainly be convenient if you were right :) 21:43
21:44 fumlead left
masak 'night, #perl6 21:47
timotimo gnite masak
21:50 orbiting left 22:09 firstdayonthejob left, wamba joined 22:17 bjz left 22:26 mez_ joined 22:28 Jesmaybe_ joined 22:44 MorayJ joined 23:01 nowan_ left, dustinm` left, go|dfish left, noganex left, Util left, pochi left, cognominal left, dataangel left, Khisanth left, emdashcomma left, ponbiki left, Jonis left, zrr left, m0ltar left, tomaw left, jercos left, jervo left, m0ltar joined, pochi joined, pochi left, rjbs left, Sgeo_ left, JimmyZ left, zacts left, ilbot3 left, lizmat left, rudi_s left, ilmari[m] left, mls left, kipd left, chansen_ left, Hotkeys left, protium left, ugexe left, damnlie left, robinsmidsrod left, Ulti left, clkao left, giftnuss_ left, timeless left, jnap_ left, mephinet left, edenc left, setty1 left, esh left, pyrimidi_ left, tailgate left, b2gills left, awwaiid left, kurahaupo left, dg left, nadim left, hoelzro left, stmuk_ left, tadzik left, Guest46334 left, cooper_ left, inokenty left, peteretep left, zostay left, luis left, hahainternet left, Peter_R left, perigrin left, w4and0er96 left, notbenh_ left, jcallen_ left, olinkl left, MorayJ left, canopus left, user9 left, SmokeMachine____ left, gypsydav15 left, TimToady left, MasterDuke left, harmil_wk left, gregf_ left, TeamBlast left, khw left, woolfy left, TEttinger left, Guest57568 left, ocbtec left, jsimonet left, snowman_ left, amalia_ left, BinGOs left, Matias[m] left, mindos left, tbrowder left, mithaldu_ left, ggherdov left, domm1 left, BooK left, Bucciarati left, hobbs left, Spot__ left, sftp left, Timbus left, evalable6 left, committable6 left, bisectable6 left, iBakeCake left, Dunearhp left, huggable left, NeuralAnomaly left, buggable left, dylanwh_ left, Jesmaybe_ left, labster left, [particle] left, rodarmor left, Undercover left, SourceBaby left, kaare__ left, perlpilot left, geekosaur left, mohae left, synopsebot6 left, dalek left, grondilu left, cgfbee left, imcsk8_PTO left, apejens left, M-Illandan left, Matthew[m] left, solarbunny left, sammers_ left, m0ltar left, telex left, seatek left, japhb left, cyphase left, vytas left, dj_goku left, mst left, stevieb left, baest left, mxco86 left, Lucas_One left, brrt[idle] left, xinming left, Kaffe left, crucialrhyme left, obfusk left, ChoHag left, pecastro left, kent\n left, ssm_ left, flexibeast left, MilkmanDan left, cibs left, camelia left, melezhik left, mez_ left, wamba left, jameslenz left, cdg left, sufrostico left, lichtkind_ left, andrewalker left, [Coke] left, spider-mario left, salva00 left, bpmedley left, akiym left, avuserow left, Cabanossi left 23:07 sammers_ joined, solarbunny joined, M-Illandan joined, Matthew[m] joined, apejens joined, imcsk8_PTO joined, cgfbee joined, grondilu joined, dalek joined, synopsebot6 joined, geekosaur joined, perlpilot joined, kaare__ joined, SourceBaby joined, Undercover joined, rodarmor joined, [particle] joined, labster joined, WAAFZ47 joined, jervo joined, tomaw joined, Grrrr joined, stux|RC-only joined, ab5tract_ joined, pnu_ joined, cosimo joined, nine joined, rmmm joined, Praise joined, profan joined, eythian joined, bitmap joined, a3r0 joined, Unavowed joined, ruoso_ joined, mtj_ joined, [ptc] joined, avalenn joined, k-man joined, vcv joined, rblackwe joined, risou___ joined, DrForr joined, jonadab joined, shadowpaste joined, musca joined, krakan joined, wilhelm.freenode.net sets mode: +vv dalek Undercover, petercommand joined, xdbr joined, llfourn joined, saki_ joined, xxpor joined, simcop2387 joined, richi235 joined, yeltzooo joined, broquaint joined, ft joined, konobi joined, atta joined, sQuEE joined, diegok joined, maddingue joined, jferrero joined, zoosha joined, kshannon joined, cxreg joined, Alikzus joined, charsbar______ joined, Exodist joined, abruanese joined, tony-o joined, salparadise joined, El_Che joined, skaji_ joined, lucs joined, atacama_ joined, remmie joined, timotimo joined, rpeter joined, samcv joined, Guest7479 joined, sivoais joined, mr-foobar joined, rmusial joined, mattp_ joined, notbenh joined, ranguard joined, bhm_ joined, xfix_ joined, b^_^d joined, ilbelkyr joined, roguelazer joined, woodruff- joined, literal joined, avar joined, geraud joined, huf joined, sunnavy joined, jnthn joined, bartolin_ joined, chee joined, shmibs joined, nightfrog joined, Gothmog_ joined, hcit joined, gfldex joined, avuserow joined, melezhik joined, akiym joined, camelia joined, bpmedley joined, MilkmanDan joined, salva00 joined, flexibeast joined, spider-mario joined, ssm_ joined, kent\n joined, cibs joined, [Coke] joined, pecastro joined, andrewalker joined, ChoHag joined, lichtkind_ joined, sufrostico joined, cdg joined, jameslenz joined, wamba joined, mez_ joined, SHODAN joined, nowan joined, go|dfish joined, xiaomiao joined, wilhelm.freenode.net sets mode: +v camelia, pochi joined, rjbs joined, Sgeo_ joined, JimmyZ joined, zacts joined, ilbot3 joined, lizmat joined, rudi_s joined, ilmari[m] joined, mls joined, chansen_ joined, Hotkeys joined, protium joined, ugexe joined, robinsmidsrod joined, damnlie joined, Ulti joined, clkao joined, giftnuss_ joined, jnap_ joined, mephinet joined, edenc joined, Khisanth joined, adrusi joined, cognominal joined, emdashcomma joined, setty1 joined, esh joined, pyrimidi_ joined, tailgate joined, b2gills joined, awwaiid joined, TeamBlast joined, brrt[idle] joined, Lucas_One joined, xinming joined, Kaffe joined, crucialrhyme joined, obfusk joined, mohae joined, geekosaur left, noganex joined, m0ltar joined, telex joined, seatek joined, japhb joined, cyphase joined, vytas joined, dj_goku joined, mst joined, stevieb joined, baest joined, mxco86 joined, matt| joined, MasterDuke joined, harmil_wk joined, dataangel joined, tinita joined, eyck joined, kurahaupo joined, dg joined, nadim joined, hoelzro joined, stmuk_ joined, tadzik joined, Guest46334 joined, cooper_ joined, inokenty joined, peteretep joined, zostay joined, luis joined, Peter_R joined, hahainternet joined, perigrin joined, w4and0er96 joined, notbenh_ joined, jcallen_ joined, vike joined, orevdiabl joined, isacloud joined, chris2 joined, riatre joined, ribasushi_ joined, mrsolo_ joined, Juerd joined, parisba joined, ccakes joined, Celelibi joined, stigo joined, ilmari joined, lco joined, hanekomu joined, silug__ joined, kst joined, gensym joined, kmwallio joined, TheDir_ joined, arnsholt joined, ambs joined, gabiruh joined, daxim_ joined, felher joined, Upasaka joined, sjohnsen joined, integral joined 23:08 ponbiki joined, Jonis joined, dustinm` joined, jercos joined, Util joined, khw joined, woolfy joined, TEttinger joined, Guest57568 joined, ocbtec joined, jsimonet joined, snowman_ joined, amalia_ joined, BinGOs joined, Matias[m] joined, mindos joined, tbrowder joined, mithaldu_ joined, domm1 joined, BooK joined, Bucciarati joined, hobbs joined, sftp joined, Timbus joined, evalable6 joined, committable6 joined, bisectable6 joined, iBakeCake joined, Dunearhp joined, huggable joined, NeuralAnomaly joined, buggable joined, dylanwh_ joined, DarthGandalf joined, wilhelm.freenode.net sets mode: +vv committable6 bisectable6, geekosaur joined, cgfbee left 23:10 skids joined 23:11 mrsolo_ left, peteretep left 23:12 sivoais left, cgfbee joined, MorayJ joined, canopus joined, user9 joined, gypsydav15 joined, TimToady joined 23:13 sivoais joined, Khisanth is now known as Guest93869, ponbiki is now known as Guest55052, xiaomiao is now known as Guest53586, sivoais left, sivoais joined 23:14 go|dfish left, go|dfish joined, BenGoldberg joined 23:15 Cabanossi joined 23:17 MorayJ left
seatek Yay! I had my first accidental infinite loop that ate up all my memory! 23:23
lesson - never return $.message from an exception's message() method
23:23 mez_ left 23:27 SmokeMachine____ joined 23:28 wamba left, olinkl joined 23:30 AlexDaniel joined, Spot__ joined, kipd joined 23:32 ggherdov joined 23:33 PotatoGim joined 23:35 peteretep joined, kurahaupo left, kurahaupo__ joined
timotimo yup, $.message is sugar for self.message().item basically 23:36
23:36 BuildTheRobots joined 23:37 timeless joined 23:38 mrsolo_ joined 23:40 kurahaupo__ left 23:55 pierre_ joined 23:57 pecastro left, pecastro joined