Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-10-21

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 BenGoldberg joined #perl6
00:16 samcv timotimo, some servers don't like that, like cloudflared sites
00:17 samcv if you grab the header only it looks 'suspicious' :(
00:17 samcv 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:42 pierre_ joined #perl6
00:47 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:56 Herby__ joined #perl6
00:56 Herby__ \o
01:01 Herby__ o/
01:03 iBakeCake |
01:03 iBakeCake \o
01:15 aborazmeh joined #perl6
01:15 aborazmeh joined #perl6
01:17 ugexe samcv: I tried to do that with Net::HTTP but you cant read cross threads
01:19 bjz joined #perl6
01:21 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 ugexe no SSL on IO::Socket::Async yet so thats not a solution either
01:27 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:36 sufrostico joined #perl6
01:40 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 #perl6
01:46 pierre_ joined #perl6
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:02 dataf4l joined #perl6
02:13 dataf4l joined #perl6
02:26 pierre_ joined #perl6
02:28 skids joined #perl6
02:33 dataf4l joined #perl6
02:56 noganex joined #perl6
02:57 snowman_ Hello all. I just wanted to thank those who work on Perl6. I have been enjoying the language quite a bit.
02:59 seatek I second that :)
03:15 TimToady on behalf of all of us, yer welcome!
03:28 pierre_ joined #perl6
03:40 andrzejku_ joined #perl6
03:41 pierre_ joined #perl6
03:46 hoelzro joined #perl6
03:51 b7j0c joined #perl6
03:52 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:56 TimToady perhaps: use lib '.'; or some such (though that would disable precompilation, I believe)
03:56 b7j0c will try that out, thanks TimToady!
03:58 b7j0c oh duh, PERL6LIB does work, it helps to set it to the right directory ;)
04:00 pierre_ joined #perl6
04:18 Actualeyes joined #perl6
04:29 brillenfux joined #perl6
04:37 Cabanossi joined #perl6
04:38 andrzejku joined #perl6
04:52 wamba joined #perl6
05:01 pierre_ joined #perl6
05:12 brillenfux joined #perl6
05:20 [particle] joined #perl6
05:20 pierre_ joined #perl6
05:43 pierre_ joined #perl6
05:57 ufobat joined #perl6
05:59 neuraload joined #perl6
06:01 Jesmaybe_ joined #perl6
06:02 Jesmaybe_ joined #perl6
06:06 Jesmaybe_ joined #perl6
06:07 Jesmaybe_ joined #perl6
06:09 Jesmaybe_ joined #perl6
06:10 seatek How would you create a new class with a variable class name? i.e. my $thing = DB::$class.new ?
06:10 seatek I've been poking and prodding like mad
06:11 mohae joined #perl6
06:13 Jesmaybe_ joined #perl6
06:14 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:16 seatek (quotes don't seem to help with the class name bit)
06:17 abraxxa joined #perl6
06:22 bjz joined #perl6
06:24 itaipu joined #perl6
06:30 ale1ster joined #perl6
06:30 seatek hmm. could probably climb aboard that "dispatching" fetish through multimethods I suppose.
06:31 arnsholt ::($name), I *think*
06:31 nadim joined #perl6
06:31 firstdayonthejob joined #perl6
06:31 arnsholt m: class Foo {}; say ::('Foo').new
06:31 camelia rakudo-moar b1f77c: OUTPUT«Foo.new␤»
06:32 arnsholt seatek: ^^^
06:33 seatek hmm. ok maybe my problem is putting a ^can('whatever') after it...
06:34 cyphase joined #perl6
06:37 arnsholt m: class Foo {}; say ::('Foo').^can('new')
06:37 camelia rakudo-moar b1f77c: OUTPUT«(new)␤»
06:38 seatek oh my god thoe whole time is was leaving out the '.' before the '^'. I can't believe it.
06:39 seatek i need sleep :)
06:39 seatek thank you arnsholt :)
06:39 seatek arnsholt++
06:44 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␤»
06:44 seatek arnsholt: doesn't work with something in front of the '::'s though
06:45 arnsholt What kind of something?
06:46 seatek like the example above
06:46 seatek m: class Tester::Foo {}; say Tester::('Foo').^can('new')
06:46 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␤»
06:47 arnsholt m: class Tester::Foo {}; say ::('Tester::Foo').^can('new') # Should work, I think
06:47 camelia rakudo-moar b1f77c: OUTPUT«(new)␤»
06:47 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 :)
06:47 seatek i would never have come up with that on my own
06:50 seatek perfect. works perfectly. thanks arnsholt++
06:54 zacts joined #perl6
06:54 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:57 seatek 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:58 seatek in both cases it seems to want extra assurances that it should be stringy
06:59 bjz joined #perl6
07:07 wamba joined #perl6
07:08 geekosaur joined #perl6
07:10 samcv hmm would be nice if camelia differentiated between stdout and stderr
07:10 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:12 samcv on my bot: !perl die "oh no" would make the bot say: STDERR: «oh no at (eval 11) line 1.␤»
07:13 samcv 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:17 samcv idk maybe it's not that needed. just maybe it's nice sometimes
07:17 samcv m: 0%%0 orelse say "oh no $!"
07:17 camelia rakudo-moar b1f77c: OUTPUT«Use of Nil in string context␤  in block  at <tmp> line 1␤oh no ␤»
07:18 samcv m: 0%%0 orelse say "oh no $_"
07:18 camelia rakudo-moar b1f77c: OUTPUT«oh no (HANDLED) Attempt to divide by zero using infix:<%%>␤  in block <unit> at <tmp> line 1␤␤»
07:18 samcv both show as OUTPUT tho one is stder and one is stdout.
07:24 rindolf joined #perl6
07:29 brrt joined #perl6
07:30 zakharyas joined #perl6
07:32 ocbtec joined #perl6
07:33 domidumont joined #perl6
07:38 domidumont joined #perl6
07:47 wamba joined #perl6
07:51 andrzejku hello Perl6
07:53 hudo joined #perl6
07:55 pierre_ joined #perl6
07:56 DrForr o/
07:59 El_Che ^(*(oo)*)^
07:59 El_Che oink!
08:05 perlpilot_ joined #perl6
08:07 andrzejku :P
08:07 andrzejku hey guys do you think it is hard to take job in Perl?
08:08 andrzejku if it would be place where can I check my introduction skills
08:10 DrForr Well, jobs.perl.org is a good start.
08:11 andrzejku DrForr: yeah but I have no any Perl expierience in my cv :/
08:12 FROGGS joined #perl6
08:12 andrzejku I do Perl only if I need some automate scripts
08:13 DrForr Then you have experience. What were you automating?
08:13 FROGGS o/
08:13 andrzejku in my previous job
08:14 DrForr Then put it down on your CV.
08:14 andrzejku ex. script to add VPN's after serve reboot
08:14 DrForr That's valid, don't discount any experience.
08:15 andrzejku or script to click button on power tap web interface :D
08:16 andrzejku DrForr: ye but I am looking for something like introdcution questions
08:17 andrzejku DrForr: like most recruiters ask what is difference between C and C++
08:17 andrzejku if you don't tell a log you fail
08:17 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.
08:17 andrzejku :S
08:18 andrzejku DrForr: okay I will test
08:23 DrForr You'll find out pretty fast; most of the jobs.perl.org jobs are fairly decent.
08:24 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.
08:25 andrzejku I know that all ;)
08:25 yqt joined #perl6
08:25 andrzejku I cann't decide what I want to do in my life ;d
08:26 El_Che get an xbox?
08:26 andrzejku too poor for xbox
08:27 andrzejku mostly I program in C++ near Linux
08:27 rindolf joined #perl6
08:28 El_Che andrzejku: is your job c++ programming?
08:28 andrzejku yeah
08:28 andrzejku my current yes
08:28 andrzejku but they shift me all the time in some mess departments
08:28 andrzejku ;d
08:29 andrzejku interspersed with C
08:29 andrzejku and more strange staff
08:42 g4 joined #perl6
08:54 andrzejku joined #perl6
08:54 dg joined #perl6
08:55 rindolf joined #perl6
09:04 domidumont joined #perl6
09:12 pierre_ joined #perl6
09:14 rindolf joined #perl6
09:23 canopus joined #perl6
09:27 cyphase joined #perl6
09:34 eliasr joined #perl6
09:50 AlexDaniel joined #perl6
09:56 pfortuny joined #perl6
09:57 andrewalker joined #perl6
09:59 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?
10:00 pfortuny (I'm quite new to types). I am referring to something like: my List Int $a.
10:03 DrForr $a isn't a List variable. Maybe you just want 'my Int @a;'
10:03 itaipu joined #perl6
10:04 pfortuny well, yes, sorry. but does that force "compile-time" checking?
10:07 DrForr Well, runtime checking certainly. Compile-time, I'm not certain but it'll certainly do run-time checks.
10:08 bjz joined #perl6
10:08 ocbtec joined #perl6
10:09 cschwenz joined #perl6
10:09 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
10:10 timotimo in perl6, types like "List of Int" are purely given by the programmer, not inferred by the compiler
10:10 timotimo 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:13 timotimo when you don't know that, you'll end up with code like this and the corresponding error message:
10:14 timotimo 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 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:15 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"
10:16 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
10:16 timotimo and you can - at run time - change the object in question so much that @a[3] = "not Int" would be correct again
10:16 arnsholt In Haskell, "[1, 2, 3]" is an [Int] *because* it's elements are Int
10:16 DrForr m: my Int @x=1,2,3;@x[1]='foo';
10:16 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 #perl6
10:17 pfortuny good. thanks, timotimo, arnsholt & DrForr
10:17 ab6tract pfortuny: FWIW, this can be smoothed over in the mean-time via subsets
10:17 pfortuny wut?
10:18 ab6tract don't worry, example incoming :)
10:23 ab6tract 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)␤»
10:23 ab6tract grr
10:23 ab6tract 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«18␤»
10:24 JimmyZ joined #perl6
10:24 ab6tract it still gets kind of tricky WRT positional vs scalar containers
10:24 pfortuny ab6tract: thanks.
10:24 cschwenz what is the Perl 6 equivalent of the Perl 5 `my $num = unpack("Q", $data);` ?
10:25 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.
10:25 pfortuny what if I do: "my Int @a; sub b returns Str {"hi"}; @a[1] = b();"
10:25 pfortuny is that a compile-time or runtime error?
10:26 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 https://docs.perl6.org/type/Blob , but that doesn't have Q as one of the template values.  :-(
10:27 pfortuny OK, great. thanks, jnthn, ab6tract (thanks for the example also).
10:34 cschwenz and http://perldoc.perl.org/functions/pack.html tells me exactly how many bytes n, N, v, and V consume.  unfortunately, https://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:46 wamba joined #perl6
10:49 ChoHag joined #perl6
10:49 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:50 timotimo yeah, and since the release, pack hasn't really been improved any more
10:51 cschwenz +1 DrForr and timotimo
10:52 cschwenz thanks, even if it isn't the answer i was hoping for :-)
10:52 timotimo however:
10:52 timotimo m: use NativeCall; my $a = CArray[int8].new(1, 2, 3, 4); say nativecast(CArray[int64], $a).perl
10:52 camelia rakudo-moar b1f77c: OUTPUT«NativeCall::Types::CArray[int64].new␤»
10:52 timotimo m: use NativeCall; my $a = CArray[int8].new(1, 2, 3, 4); say nativecast(CArray[int64], $a)[0]
10:52 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)
10:53 camelia rakudo-moar b1f77c: OUTPUT«4030201␤»
10:53 cschwenz ooh, shiny!  :-D
10:53 cschwenz thanks!
10:53 timotimo as close to the metal as possible
10:53 dalek doc: 8279652 | (Francis Grizzly Smit)++ | doc/Type/Proc.pod6:
10:53 dalek doc: fixed small gramatic error in doc for Proc::sink run used where it should have been ran
10:53 dalek doc: review: https://github.com/perl6/doc/commit/8279652e6a
10:53 domidumont joined #perl6
11:11 go|dfish joined #perl6
11:18 MorayJ joined #perl6
11:28 AlexDaniel what is :dba in Perl 6 grammar?
11:29 DrForr "doing business as"
11:30 AlexDaniel do I get it right that it is used for “expecting any of” messages?
11:31 AlexDaniel if so, what makes it work? Can somebody point me to the line number?
11:35 arnsholt Yeah, it's used to create the expecting any of messages
11:35 arnsholt I have so far failed to track down exactly how it works
11:35 arnsholt But it involves the high water mark and stuff
11:36 arnsholt Grep for highexpect in the source to find at least some of the places
11:36 kaare__ joined #perl6
11:43 jnthn iirc it's also used for ~
11:43 jnthn When we don't find the closer
11:44 jnthn So may want to grep for FAILGOAL also
11:50 MasterDuke joined #perl6
12:03 fumlead joined #perl6
12:12 esh joined #perl6
12:15 esh joined #perl6
12:32 woolfy left #perl6
12:39 pmurias joined #perl6
12:41 pmurias andrzejku: which city do you live in?
12:41 kurahaupo__ joined #perl6
12:41 pierre_ joined #perl6
12:45 andrzejku pmurias: Wroclaw
12:48 * pmurias is too
12:49 pmurias Perl doesn't seem to be very popular in Wrocław
12:49 andrzejku pmurias: are you from Wroclaw?
12:49 andrzejku :D
12:49 andrzejku pmurias: ye, it is fact
12:50 pmurias andrzejku: I'm not from Wrocław but I live there
12:50 jnthn Wrocław.pm? :)
12:50 andrzejku pmurias: nice ;d
12:50 andrzejku yeah lets start Wroclaw.pm
12:50 andrzejku ;p
12:51 harrison_ joined #perl6
12:51 andrzejku jnthn: wroclaw?
12:52 jnthn andrzejku: No, I'm not from there. Was just suggesting making a Pm group there ;-)
12:52 andrzejku ye, sure
12:53 jnthn It's like 6 hours travel from me :)
12:53 andrzejku organize -> code -> make workplaces
12:53 andrzejku jnthn: ohh so you may live in germany :D
12:54 jnthn No, Prague :)
12:54 andrzejku do you have prague.pm?
12:54 AlexDaniel joined #perl6
12:57 AlexDaniel m: say < = ≠ ⩵ ⩶ ≡ ≢ ≔ ⋍ >.map({“$_ .uniname”})
12:57 camelia rakudo-moar b1f77c: OUTPUT«(= .uniname ≠ .uniname ⩵ .uniname ⩶ .uniname ≡ .uniname ≢ .uniname ≔ .uniname ⋍ .uniname)␤»
12:57 AlexDaniel m: say < = ≠ ⩵ ⩶ ≡ ≢ ≔ ⋍ >.map({“$_ {.uniname}”})
12:57 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)␤»
12:57 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...
12:57 * jnthn only fairly recently moved here :)
12:58 andrzejku jnthn: I think there are more perl writers but they are scared
12:59 andrzejku jnthn: in my old job there were prohibition for perl
13:00 andrzejku they said: you can write it on your own, noone want it
13:00 andrzejku evenmore when a group of ppl tell you it is a crap you cannt arguing
13:01 andrzejku no chance
13:02 perlpilot andrzejku: you've seen builtinperl.com, yes?
13:03 DrForr I know I have :0
13:03 DrForr s/.$/)/
13:03 andrzejku perlpilot: no I will look
13:04 perlpilot Particularly look at http://www.builtinperl.com/perl-startups
13:04 cdg joined #perl6
13:06 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:07 moritz isn't there a Polish Perl Workshop?
13:08 andrzejku it was
13:08 SourceBaby joined #perl6
13:08 Undercover joined #perl6
13:08 [Coke] Blue Coke needs coffee, badly!
13:09 dustinm` joined #perl6
13:10 pmurias moritz: I was at one once
13:11 jnthn I think I spoke at two Polish Perl Workshops :)
13:11 jnthn Fun times :)
13:14 andrzejku jnthn: maybe polish perlers left poland
13:16 andrzejku maybe it will be better if Perl can game dev
13:16 andrzejku or iOS, Android
13:16 andrzejku like pygame
13:16 andrzejku or rubymine
13:16 japhb joined #perl6
13:17 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:18 DrForr SDL bindings are pretty mature.
13:18 andrzejku pmurias: why?
13:18 DrForr At least on perl5...
13:18 andrzejku I play once a good game written in pygame i forgot name but it was commercial
13:18 andrzejku kind of panzer&generals
13:19 DrForr Well, feel free to help make it more popular.
13:20 andrzejku ye, but it is a matter of time
13:21 andrzejku if pmurias will be intrested in ;d
13:21 DrForr Yep, it's easy when it's not your time.
13:21 andrzejku it is easy to dream about
13:22 skids joined #perl6
13:23 * 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:34 aborazmeh joined #perl6
13:34 aborazmeh joined #perl6
13:48 rindolf joined #perl6
13:56 neuraload joined #perl6
13:57 optikalmouse joined #perl6
14:00 maybekoo2 joined #perl6
14:02 [Coke] https://github.com/kdeldycke/awesome-falsehood
14:04 iBakeCake "People’s names have an order to them"  why is that a falsehood?
14:05 iBakeCake That list would be interesting to read if it had explanations :)
14:06 gfldex in some countries fam. names come first
14:06 iBakeCake .... which is order.
14:07 iBakeCake 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.
14:07 gfldex that you need to know in beforehand and can't auto-detect in many asian languages
14:08 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 #perl6
14:08 huf it's just different from place to place
14:08 huf gfldex: oh i love the firstname firstname sorts...
14:09 huf 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. :)
14:10 huf i was thinking of the gabor denes types
14:10 khw joined #perl6
14:10 huf which in an english text would likely be denes gabor. which is also completely valid
14:12 bjz joined #perl6
14:12 huf it's worse with far eastern names where none of the parts are familiar so you cant ever guess :)
14:21 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 optikalmouse also, sorry for  the advertisement, I just want more perl6 articles out there :D :D
14:21 iBakeCake :/
14:22 iBakeCake Is bisectable down?
14:22 iBakeCake bisectable6: open 'foo' orelse say "Something happened $!"
14:22 iBakeCake bisect: open 'foo' orelse say "Something happened $!"
14:22 moritz optikalmouse: you aren't; I've written several Perl 6 articles for a German print magazine
14:22 moritz and got paid for it :-)
14:23 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
14:23 bisectable6 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␤
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
14:23 bisectable6 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␤
14:23 iBakeCake bah
14:23 AlexDaniel iBakeCake: want me to give it a go without RESTRICTED?
14:24 iBakeCake AlexDaniel: sure
14:25 optikalmouse moritz: woah, link plz?
14:25 AlexDaniel iBakeCake: bisect log: https://gist.github.com/ee157de0dd11ae7ca7a9617801db5fec
14:25 AlexDaniel iBakeCake: (2016-09-01) https://github.com/rakudo/rakudo/commit/631e2f770e83da5420b0b3ecfe611e6892a7df4f
14:25 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
14:26 bisectable6 optikalmouse, Output on both points: this is neato
14:26 optikalmouse :O
14:26 AlexDaniel iBakeCake: I know it's not what you wanted :D
14:26 AlexDaniel iBakeCake: but join #whateverable to play with it
14:27 iBakeCake AlexDaniel: it's fine. Thanks.
14:29 AlexDaniel iBakeCake: https://gist.github.com/Whateverable/f576faeb59a3b3c6d26e94291f0ca29b
14:31 iBakeCake AlexDaniel++ perfect. Thanks.
14:33 AlexDaniel iBakeCake: https://gist.github.com/Whateverable/f3fba76d504a4b69f91014b3e3d0bd61
14:33 AlexDaniel iBakeCake: (2015-12-08) https://github.com/rakudo/rakudo/commit/fbba428d2b05f0f8132ba6480e8a50a44f26d320
14:33 AlexDaniel I don't know what were you looking for but that's the result
14:39 wamba joined #perl6
14:40 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?
14:42 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:43 AlexDaniel ah ok
14:43 AlexDaniel that's correct
14:43 tbrowder i can see my tickets, and i can search, but nothing else of much value...
14:43 tbrowder so we have to use the e-mail only now?
14:44 hudo left #perl6
14:45 AlexDaniel tbrowder: yes
14:45 tbrowder okay (bummer!)
14:45 AlexDaniel tbrowder: I can't find it in the log now, but there was some issue with it
14:45 AlexDaniel someone was ddosing RT using it or something like that
14:46 tbrowder thanks, that sounds familiar--just part of the, ugh, RT interface...
14:46 AlexDaniel https://irclog.perlgeek.de/perl6-dev/2016-10-06#i_13346585 https://irclog.perlgeek.de/perl6-dev/2016-10-01#i_13318615 xD
14:47 AlexDaniel tbrowder: ah, there: https://irclog.perlgeek.de/perl6/2016-09-29#i_13306616
14:47 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 iBakeCake https://rt-wiki.bestpractical.com/wiki/REST#Ticket_Create
14:50 kurahaupo__ joined #perl6
14:50 tbrowder thanks, folks, but i'll save the script for another day
14:52 kurahaupo__ joined #perl6
14:55 bjz joined #perl6
15:16 itaipu joined #perl6
15:16 optikalmouse joined #perl6
15:28 bjz joined #perl6
15:29 dalek Inline-Perl5: 045a0d5 | niner++ | lib/Inline/Perl5.pm6:
15:29 dalek Inline-Perl5: Fix "Attempt to free unreferenced scalar" in shutdown
15:29 dalek Inline-Perl5:
15:29 dalek Inline-Perl5: When the Perl 5 interpreter has been shut down, we may no longer call
15:29 dalek Inline-Perl5: SvREFCNT_dec on any objects. Fix Perl5Hash and Perl5Array destructors
15:29 dalek Inline-Perl5: to do the same as Perl5Object's which is to use Inline::Perl5::sv_refcnt_dec
15:29 dalek Inline-Perl5: method which checks whether the interpreter is still running.
15:29 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/045a0d5719
15:29 dalek Inline-Perl5: f0bb7c4 | niner++ | META.info:
15:29 dalek Inline-Perl5: Version 0.21
15:29 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/f0bb7c4738
15:30 optikalmouse joined #perl6
15:31 rodarmor joined #perl6
16:01 rindolf joined #perl6
16:02 optikalmouse joined #perl6
16:02 nicq20 joined #perl6
16:04 seatek joined #perl6
16:07 dalek whateverable: c35cdc1 | MasterDuke17++ | Benchable.p6:
16:07 dalek whateverable: Increase timeout and handle new commit options
16:07 dalek whateverable: review: https://github.com/perl6/whateverable/commit/c35cdc120e
16:07 dalek whateverable: 4a05be6 | MasterDuke17++ | t/benchable.t:
16:07 dalek whateverable: Add tests for Benchable
16:07 dalek whateverable: review: https://github.com/perl6/whateverable/commit/4a05be69af
16:10 u-ou joined #perl6
16:14 iBakeCake .oO( why does rakudobrew use "blead" instead of "bleed" )
16:14 iBakeCake oh god...
16:14 * iBakeCake looked up blead on UrbanDictionary...
16:14 mst iBakeCake: because that's been the perl tradition forever
16:15 mst I believe it's because that branch is the bleading edge
16:15 iBakeCake mst: I see
16:15 iBakeCake Ah
16:15 mst basically, "because we have a habit of turning larry's terrible puns into multi-generational tradition, because perl hackers"
16:16 iBakeCake :)
16:17 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:18 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
16:18 mst if you're still going to keep it going, don't mind me
16:20 nowan_ joined #perl6
16:31 telex joined #perl6
16:32 Sgeo_ joined #perl6
16:39 [particle] joined #perl6
16:39 esh joined #perl6
16:51 sufrostico joined #perl6
16:52 dalek doc: c014ce8 | adaptiveoptics++ | doc/Language/exceptions.pod6:
16:52 dalek doc: clarified / corrected wording
16:52 dalek doc: review: https://github.com/perl6/doc/commit/c014ce85ff
17:03 dalek doc: 942bd20 | adaptiveoptics++ | doc/Language/exceptions.pod6:
17:03 dalek doc: eliminated insanity
17:03 dalek doc: review: https://github.com/perl6/doc/commit/942bd2003f
17:03 yqt joined #perl6
17:04 firstdayonthejob joined #perl6
17:04 iBakeCake hah
17:06 seatek it was too much ;)
17:06 iBakeCake Are you adaptiveoptics?
17:07 seatek yeah -- there's no mention of fail in exceptions
17:07 iBakeCake :)
17:10 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:11 TimToady 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: http://www.heise.de/ix/
17:11 optikalmouse neat! :D
17:11 moritz optikalmouse: I don't believe they are available online individually
17:12 moritz optikalmouse: iirc there were 3 or 4 articles in 2009, and one this year (2016-05, iirc)
17:12 acrussell joined #perl6
17:13 moritz and they pay pretty decent (~200€ per page, or so)
17:13 iBakeCake :o
17:13 moritz though I'm too slow writing to make that a full-time job :-)
17:13 optikalmouse not bad, I got 150 USD for my article
17:13 optikalmouse 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:13 AlexDaniel joined #perl6
17:14 moritz optikalmouse: not bad either
17:14 moritz optikalmouse: if you need someone to proof-read your p6 articles, I'm willing to do that
17:14 moritz (mostly technical/understanding side, not language; I'm not a native speaker)
17:14 moritz and I could imagine others here would do that too, just ask
17:15 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.
17:15 iBakeCake m: my \term:<𝑒²ˣ> = e**(2*5);  dd (𝑒²ˣ-1)/(𝑒²ˣ+1)
17:15 camelia rakudo-moar b1f77c: OUTPUT«0.999909204262595e0␤»
17:16 seatek oo it seems github has gone away again
17:16 iBakeCake m: my \term:<𝑒²ˣ> = e**(2*5);  dd (𝑒²ˣ-1)/(𝑒²ˣ+1) ≅ tanh 5
17:16 camelia rakudo-moar b1f77c: OUTPUT«Bool::True␤»
17:16 iBakeCake \o/
17:16 TimToady seatek: fail returns a lazy die, basically
17:17 iBakeCake seatek: you can temporarily add 192.30.253.113 and it'll work
17:17 iBakeCake (resolve github.com to it, I meant)
17:17 seatek TimToday - ah so it lingers... until... ? :)
17:17 timotimo it's a lazy day to die!
17:17 iBakeCake seatek: until it's sunk, used as anything but bool
17:17 TimToady bool or defined
17:17 iBakeCake s/,/ or/;
17:18 iBakeCake Ah yeah
17:20 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...)
17:21 iBakeCake Dumb High Schoolers...
17:21 seatek TimToady, that makes sense now! :) thank you! :)
17:21 iBakeCake Dudes Hoisting Submarines
17:21 Actualeyes joined #perl6
17:22 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
17:22 iBakeCake Ah Department of Homeland Security
17:23 TimToady I don't doubt that there are some rather sensitive gamma ray detectors in the mouth of the Potomac River...
17:26 lichtkind_ joined #perl6
17:26 TimToady though I don't think they'd want to hoist such a sub by its own petard...
17:28 AlexDaniel .oO( TimToday, TimTomorrow… )
17:29 * TimToady just wonders if the russians have developed bombs with the isotopic signatures of chinese or north korean bombs, or vice versa...
17:30 TimToady it would be rather embarrassing to inflict MAD on the wrong bad guy...
17:31 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:32 TimToady well, all the phasers that would run if you returned a normal value by that route
17:32 TimToady 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
17:33 nine GitHub being down makes you really appreciate CPAN's mirror system
17:34 iBakeCake seatek: you can pass it around just like normal value
17:34 iBakeCake 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
17:34 DrForr Once ze rockets go up, who cares where zey come down...
17:34 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␤␤»
17:34 iBakeCake nine: indeed. GitHub down = Entire Perl 6 Ecosystem down
17:36 * DrForr remembers to install githubbackup on at least 2 machines.
17:49 tailgate The dns ddos?
17:50 iBakeCake Seems to be
17:51 tailgate weird. I don't seem to be affected
17:52 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 seatek that's very weird
17:52 seatek 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.,
17:53 iBakeCake seatek: and it's not it used as itself. The `or` evaluates it in Bool context, which defuses it
17:54 iBakeCake 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␤␤»
17:54 iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { say $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␤␤»
17:54 iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; good $v
17:54 camelia rakudo-moar b1f77c: ( no output )
17:54 iBakeCake The last one has a ticket for it..
17:56 AlexDaniel m: (my $x = 42) = my $y = 50; say $x; say $y
17:56 camelia rakudo-moar b1f77c: OUTPUT«50␤50␤»
17:56 AlexDaniel m: (my $x = 42) = 50; say $x
17:56 camelia rakudo-moar b1f77c: OUTPUT«50␤»
17:57 seatek that last one was what I imagined diffused it ;)
17:57 tailgate m: https://gist.github.com/ahalbert/42668ccb13502912e47913969cffc88f
17:57 seatek but you say it's supposed to be just when the object is placed in a bool context for evaluation...
17:57 iBakeCake seatek: m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x; Nil }; good $v
17:57 seatek that seems harder ;)
17:57 camelia rakudo-moar b1f77c: ( no output )
17:57 iBakeCake oops
17:57 iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x; Nil }; good $v
17:57 camelia rakudo-moar b1f77c: OUTPUT«WARNINGS for <tmp>:␤Useless use of $x in sink context (line 1)␤»
17:57 iBakeCake huh
17:58 iBakeCake 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␤␤»
17:58 iBakeCake Looks like a bug to me
18:00 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 :/
18:01 dalek doc: a377999 | (Francis Grizzly Smit)++ | doc/Type/Proc/Async.pod6:
18:01 dalek doc: fixed Proc::Async doc for new forgot the :$r parameter
18:01 dalek doc: review: https://github.com/perl6/doc/commit/a377999d24
18:01 seatek i have to think about it :)
18:01 rgrinberg joined #perl6
18:02 ugexe an adapter doesnt have to test a type from an adaptee if the client handles failures
18:03 dalek doc: 763a3a5 | (Francis Grizzly Smit)++ | doc/Type/Proc/Async.pod6:
18:03 dalek doc: fixed Proc::Async doc for new forgot the :$r parameter
18:03 dalek doc: review: https://github.com/perl6/doc/commit/763a3a5a8f
18:03 seatek yeah kinda like passing the buck
18:06 FROGGS joined #perl6
18:07 FROGGS o/
18:08 seatek clear trails...
18:08 seatek hmm...
18:10 iBakeCake \o
18:22 willena joined #perl6
18:23 willena left #perl6
18:25 itaipu joined #perl6
18:26 seatek i've changed my mind about fail. i'm cautiously liking it a bit now.
18:27 seatek still poking it
18:27 TimToady we've come to like most of the places we've installed laziness into p6 :)
18:27 seatek :)
18:28 TimToady important thing is to not lose the original information
18:29 TimToady iBakeCake: yes, looks kinda like a non-sinking sink bug to me
18:30 TimToady though obviously it knows it's in sink context or it wouldn't warn about it
18:31 iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; good $v
18:31 camelia rakudo-moar b1f77c: ( no output )
18:31 iBakeCake What about that one? Is it meant to throw the fail?
18:32 TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; sink good $v
18:32 camelia rakudo-moar b1f77c: ( no output )
18:32 iBakeCake IIRC it will with explicit return
18:32 TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { $x }; (good $v).sink
18:32 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␤␤»
18:32 TimToady same problem
18:32 TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($x) { return $x }; good $v
18:32 camelia rakudo-moar b1f77c: ( no output )
18:33 TimToady nope
18:33 seatek i think i would need to rely on that failing, with what i have managed to come to like ;)
18:34 TimToady well, the good $v should fail because that is in sink context
18:35 TimToady s/fail/throw/
18:43 itaipu joined #perl6
18:44 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␤␤»
18:44 TimToady and yet that throws, so not so simple
18:46 TimToady 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␤␤»
18:46 TimToady m: sub bad { fail "meow" }; my $v = bad; sub good ($y) { $y }; good $v
18:46 camelia rakudo-moar b1f77c: ( no output )
18:46 TimToady weird
18:46 iBakeCake heh DDoS is top trend of Twitter :)
18:46 iBakeCake Looks like the intertubes are quite clogged today
18:47 iBakeCake m: sub bad { fail "meow" }; my $v = bad; sub good ($y) { say 2+2; say "inlining mabby?"; say rand; $y }; good $v
18:47 camelia rakudo-moar b1f77c: OUTPUT«4␤inlining mabby?␤0.337825656718071␤»
18:48 iBakeCake :(
18:48 DrForr Yep, everyone's trying to get their stuff off github :)
18:48 hahainternet yeah i updated my machine and assumed bind had failed due to being unable to look up minor sites
18:49 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␤␤»
18:49 TimToady m: sub foo(&a:(Int)) { say a(42) }
18:49 camelia rakudo-moar b1f77c: ( no output )
18:49 TimToady I think signatures are only recognized on & currently
18:50 hahainternet if i wanted to monkey patch equality tests on a built in type, say bool, how would i go about that?
18:50 hahainternet just redefine operators locally?
18:50 TimToady we should probably disallow the :() form there until we generalize it though
18:50 FROGGS TimToady: generalized in what way?
18:50 TimToady just add your own multi defs in your scope that override on those types
18:51 TimToady FROGGS: to other sigils, say
18:51 FROGGS TimToady: k, just implemented $foo:(...) attributes locally
18:52 FROGGS 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) }
18:52 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) }␤»
18:53 FROGGS strange, isnt it?
18:53 FROGGS I guess the $a:(Int) declaration is a noop in nom/HEAD
18:53 TimToady looks like the name extension form is being allowed in the sig but not the body
18:53 FROGGS should one be allowed to use the longname in the body at all?
18:54 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) }
18:54 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) }␤»
18:54 FROGGS m: sub foo($a:b<foo>) { say $a:b<foo>(42) }
18:54 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) }␤»
18:55 TimToady it's admitting the :(Int) form for some other reason, but not actually declaring $a somehow
18:56 TimToady might be confusing it with sublist unpacking, for instance
18:56 TimToady though unpacking sigs are supposed to be separated by whitespace
18:57 FROGGS when I made $foo:(...) work it parsed it as variable $foo and adverb :(...)
18:57 FROGGS so, was getting 'you cannot adverb that' error message at the beginning
18:57 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
18:58 iBakeCake hahainternet: when { .so { } }
18:58 TimToady or :so
18:58 iBakeCake hahainternet: I mean given { when .so { .. }
18:58 iBakeCake }
18:58 hahainternet i don't quite understand that syntax
18:58 hahainternet iBakeCake: ok, but i need to test for false too
18:58 TimToady .not or :not
18:59 hahainternet oh ok
18:59 iBakeCake hahainternet: if {} else {} :)
18:59 TimToady default {} :)
18:59 hahainternet iBakeCake: yeah that's the right way, i'm doing something dumb for a friend
18:59 iBakeCake
18:59 TEttinger joined #perl6
18:59 iBakeCake m: given 1 { when :so { say "True!" }; say "Tis false" }
18:59 camelia rakudo-moar b1f77c: OUTPUT«True!␤»
18:59 iBakeCake m: given 0 { when :so { say "True!" }; say "Tis false" }
18:59 camelia rakudo-moar b1f77c: OUTPUT«Tis false␤»
19:00 iBakeCake :}
19:00 hahainternet oh interesting, i didn't know that given blocks worked like that
19:00 TimToady yeah, don't actually need default {} except for clarity
19:00 iBakeCake hahainternet: it's not the given block, but the when {} block
19:00 hahainternet iBakeCake: the fallthrough?
19:00 iBakeCake m: sub foo { when $^x { say "tis true!" }; say "tis false" }(1)
19:00 camelia rakudo-moar b1f77c: OUTPUT«tis false␤»
19:01 TimToady the "succeed"
19:01 iBakeCake m: sub foo { when $^x { say "tis true!" }; say "tis false" }(0)
19:01 camelia rakudo-moar b1f77c: OUTPUT«tis false␤»
19:01 * iBakeCake is confused with that
19:01 iBakeCake m: sub foo { $^x; when $x { say "tis true!" }; say "tis false" }(1)
19:01 camelia rakudo-moar b1f77c: OUTPUT«tis false␤»
19:02 iBakeCake Oh, it's smartmatching against $_?
19:02 TimToady you never set $_
19:02 iBakeCake \o/
19:02 iBakeCake m: { when :so { say "tis true!" }; say "tis false" }(1)
19:02 camelia rakudo-moar b1f77c: OUTPUT«tis true!␤»
19:03 TimToady that's 1 way
19:03 iBakeCake m: sub foo ($_) { when :so { say "tis true!" }; say "tis false" }(1)
19:03 camelia rakudo-moar b1f77c: OUTPUT«tis true!␤»
19:05 hahainternet so i guess i don't quite understand perl6's :various things
19:05 * hahainternet goes to read
19:07 * TimToady goes to lunch
19:11 BenGoldberg joined #perl6
19:36 iBakeCake m: say '−∞' ~~ /<[+−-]> ['Inf'|'∞'] >>/
19:36 camelia rakudo-moar b1f77c: OUTPUT«Nil␤»
19:37 iBakeCake Why Nil?
19:37 iBakeCake m: say '−∞' ~~ /<[+−-]> ['Inf'|'∞']/
19:37 camelia rakudo-moar b1f77c: OUTPUT«「−∞」␤»
19:37 iBakeCake hmm... might be related to the @foo >> bug
19:38 sufrostico joined #perl6
19:42 fumlead What bug?
19:43 iBakeCake fumlead: https://rt.perl.org/Ticket/Display.html?id=127906#ticket-history
19:45 iBakeCake Oh, wait, mine ain't a bug
19:45 iBakeCake ∞ isn't a word, so there's no boundary
19:52 masak joined #perl6
19:52 rindolf joined #perl6
19:59 masak ahoj, #perl6
20:04 iBakeCake \o
20:09 labster joined #perl6
20:10 cdg joined #perl6
20:11 woolfy joined #perl6
20:18 orbiting joined #perl6
20:19 pmurias masak: o/
20:20 setty1 joined #perl6
20:23 nicq20 joined #perl6
20:23 nicq20 Hello! o/
20:26 iBakeCake \o
20:33 iBakeCake |
20:33 iBakeCake /\
20:34 * [ptc] has a Saturday Night Fever flashback
20:34 [ptc] ... and it's only Friday
20:34 masak well, the night is young
20:35 masak something tells me this evening might turn into a Saturday Night :P
20:36 tadzik oh you :D
20:37 masak am I wrong? am I wrong? come here and tell me I'm wrong
20:43 masak can I switch topics and ask something about signature binders?
20:43 * masak .oO( <masak> don't ask to ask )
20:44 masak 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 masak but the problem is that this would also need to extend the routine signature binder, which is a runtime thing
20:44 masak and runtime spreads all over the place, and is not neatly confined to scopes like the parser is
20:45 masak and so you'd need to globally extend the signature binder -- which feels icky
20:46 masak ...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 masak ever*
20:53 timotimo yeah, we want to have the signature binding stuff available in the optimizer, too
20:54 dalek Inline-Perl5: fbcb648 | niner++ | / (2 files):
20:54 dalek Inline-Perl5: Simplify callback handling
20:54 dalek Inline-Perl5:
20:54 dalek Inline-Perl5: Instead of storing pointers to callbacks (call_method, free_p6_object, ...)
20:54 dalek Inline-Perl5: in the magic struct of every wrapped object, store them once per Perl 5
20:54 dalek Inline-Perl5: interpreter in a struct stored in the interpreter's modglobal hash.
20:54 dalek Inline-Perl5:
20:54 dalek Inline-Perl5: This can even give a ~ 2 % speedup in a targeted benchmark.
20:54 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/fbcb6483b6
20:55 jameslenz joined #perl6
20:58 rjbs joined #perl6
21:02 masak timotimo: yes, but that's not half as crazy as thinking it should be per routine...
21:04 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:05 timotimo oh, oh
21:05 pmurias masak: why can't you lexically overwrite the signature binder?
21:06 masak pmurias: because routines are first-class and get passed outside of their original scope all the time
21:06 masak meaning that the actuall call to the routine might happen in a completely different scope, or even a different compunit
21:07 masak actual*
21:09 pmurias masak: as would the actual syntactical addition
21:11 masak the syntax is no problem at all
21:12 masak 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 khw joined #perl6
21:13 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 masak and that needs to happen at (or close enough to) the caller side of things, otherwise the call will simply fail
21:16 pmurias it seems to be an artifact of 007 being an interpreter
21:25 canopus joined #perl6
21:25 orbiting joined #perl6
21:31 bjz joined #perl6
21:43 masak I'll need to ponder that comment. it would certainly be convenient if you were right :)
21:44 fumlead left #perl6
21:47 masak 'night, #perl6
21:47 timotimo gnite masak
22:09 wamba joined #perl6
22:26 mez_ joined #perl6
22:28 Jesmaybe_ joined #perl6
22:44 MorayJ joined #perl6
23:01 m0ltar joined #perl6
23:01 pochi joined #perl6
23:06 sammers_ joined #perl6
23:06 solarbunny joined #perl6
23:06 M-Illandan joined #perl6
23:06 Matthew[m] joined #perl6
23:06 apejens joined #perl6
23:06 imcsk8_PTO joined #perl6
23:06 cgfbee joined #perl6
23:06 grondilu joined #perl6
23:06 dalek joined #perl6
23:06 synopsebot6 joined #perl6
23:06 geekosaur joined #perl6
23:06 perlpilot joined #perl6
23:06 kaare__ joined #perl6
23:06 SourceBaby joined #perl6
23:06 Undercover joined #perl6
23:06 rodarmor joined #perl6
23:06 [particle] joined #perl6
23:06 labster joined #perl6
23:06 21WAAFZ47 joined #perl6
23:06 jervo joined #perl6
23:06 tomaw joined #perl6
23:06 Grrrr joined #perl6
23:06 stux|RC-only joined #perl6
23:06 ab5tract_ joined #perl6
23:06 pnu_ joined #perl6
23:06 cosimo joined #perl6
23:06 nine joined #perl6
23:06 rmmm joined #perl6
23:06 Praise joined #perl6
23:06 profan joined #perl6
23:06 eythian joined #perl6
23:06 bitmap joined #perl6
23:06 a3r0 joined #perl6
23:06 Unavowed joined #perl6
23:06 ruoso_ joined #perl6
23:06 mtj_ joined #perl6
23:06 [ptc] joined #perl6
23:06 avalenn joined #perl6
23:06 k-man joined #perl6
23:06 vcv joined #perl6
23:06 rblackwe joined #perl6
23:06 risou___ joined #perl6
23:06 DrForr joined #perl6
23:06 jonadab joined #perl6
23:06 shadowpaste joined #perl6
23:06 musca joined #perl6
23:06 krakan joined #perl6
23:06 petercommand joined #perl6
23:06 xdbr joined #perl6
23:06 llfourn joined #perl6
23:06 saki_ joined #perl6
23:06 xxpor joined #perl6
23:06 simcop2387 joined #perl6
23:06 richi235 joined #perl6
23:06 yeltzooo joined #perl6
23:06 broquaint joined #perl6
23:06 ft joined #perl6
23:06 konobi joined #perl6
23:06 atta joined #perl6
23:06 sQuEE joined #perl6
23:06 diegok joined #perl6
23:06 maddingue joined #perl6
23:06 jferrero joined #perl6
23:06 zoosha joined #perl6
23:06 kshannon joined #perl6
23:06 cxreg joined #perl6
23:06 Alikzus joined #perl6
23:06 charsbar______ joined #perl6
23:06 Exodist joined #perl6
23:06 abruanese joined #perl6
23:06 tony-o joined #perl6
23:06 salparadise joined #perl6
23:06 El_Che joined #perl6
23:06 skaji_ joined #perl6
23:06 lucs joined #perl6
23:06 atacama_ joined #perl6
23:06 remmie joined #perl6
23:06 timotimo joined #perl6
23:06 rpeter joined #perl6
23:06 samcv joined #perl6
23:06 Guest7479 joined #perl6
23:06 sivoais joined #perl6
23:06 mr-foobar joined #perl6
23:06 rmusial joined #perl6
23:06 mattp_ joined #perl6
23:06 notbenh joined #perl6
23:06 ranguard joined #perl6
23:06 bhm_ joined #perl6
23:06 xfix_ joined #perl6
23:06 b^_^d joined #perl6
23:06 ilbelkyr joined #perl6
23:06 roguelazer joined #perl6
23:06 woodruff- joined #perl6
23:06 literal joined #perl6
23:06 avar joined #perl6
23:06 geraud joined #perl6
23:06 huf joined #perl6
23:06 sunnavy joined #perl6
23:06 jnthn joined #perl6
23:06 bartolin_ joined #perl6
23:06 chee joined #perl6
23:06 shmibs joined #perl6
23:06 nightfrog joined #perl6
23:06 Gothmog_ joined #perl6
23:06 hcit joined #perl6
23:06 gfldex joined #perl6
23:06 avuserow joined #perl6
23:06 melezhik joined #perl6
23:06 akiym joined #perl6
23:06 camelia joined #perl6
23:06 bpmedley joined #perl6
23:06 MilkmanDan joined #perl6
23:06 salva00 joined #perl6
23:06 flexibeast joined #perl6
23:06 spider-mario joined #perl6
23:06 ssm_ joined #perl6
23:06 kent\n joined #perl6
23:06 cibs joined #perl6
23:06 [Coke] joined #perl6
23:06 pecastro joined #perl6
23:06 andrewalker joined #perl6
23:06 ChoHag joined #perl6
23:06 lichtkind_ joined #perl6
23:06 sufrostico joined #perl6
23:06 cdg joined #perl6
23:06 jameslenz joined #perl6
23:06 wamba joined #perl6
23:06 mez_ joined #perl6
23:06 SHODAN joined #perl6
23:06 nowan joined #perl6
23:06 go|dfish joined #perl6
23:06 xiaomiao joined #perl6
23:07 masak joined #perl6
23:07 moritz joined #perl6
23:07 wtw joined #perl6
23:07 ggoebel joined #perl6
23:07 pierrot joined #perl6
23:07 ilogger2 joined #perl6
23:07 yubimusubi joined #perl6
23:07 jdv79 joined #perl6
23:07 Woodi_ joined #perl6
23:07 KotH joined #perl6
23:07 smash joined #perl6
23:07 erdic joined #perl6
23:07 nebuchadnezzar joined #perl6
23:07 jast joined #perl6
23:07 sjn joined #perl6
23:07 mniip joined #perl6
23:07 raydiak joined #perl6
23:07 alnewkir1 joined #perl6
23:07 f3ew joined #perl6
23:07 freeze joined #perl6
23:07 ingy joined #perl6
23:07 dsp_ joined #perl6
23:07 yoleaux joined #perl6
23:07 Khisanth joined #perl6
23:07 adrusi joined #perl6
23:07 cognominal joined #perl6
23:07 emdashcomma joined #perl6
23:07 setty1 joined #perl6
23:07 esh joined #perl6
23:07 pyrimidi_ joined #perl6
23:07 tailgate joined #perl6
23:07 b2gills joined #perl6
23:07 awwaiid joined #perl6
23:07 TeamBlast joined #perl6
23:07 brrt[idle] joined #perl6
23:07 Lucas_One joined #perl6
23:07 xinming joined #perl6
23:07 Kaffe joined #perl6
23:07 crucialrhyme joined #perl6
23:07 obfusk joined #perl6
23:07 mohae joined #perl6
23:07 noganex joined #perl6
23:07 m0ltar joined #perl6
23:07 telex joined #perl6
23:07 seatek joined #perl6
23:07 japhb joined #perl6
23:07 cyphase joined #perl6
23:07 vytas joined #perl6
23:07 dj_goku joined #perl6
23:07 mst joined #perl6
23:07 stevieb joined #perl6
23:07 baest joined #perl6
23:07 mxco86 joined #perl6
23:07 matt| joined #perl6
23:07 MasterDuke joined #perl6
23:07 harmil_wk joined #perl6
23:07 dataangel joined #perl6
23:07 tinita joined #perl6
23:07 eyck joined #perl6
23:07 kurahaupo joined #perl6
23:07 dg joined #perl6
23:07 nadim joined #perl6
23:07 hoelzro joined #perl6
23:07 stmuk_ joined #perl6
23:07 tadzik joined #perl6
23:07 Guest46334 joined #perl6
23:07 cooper_ joined #perl6
23:07 inokenty joined #perl6
23:07 peteretep joined #perl6
23:07 zostay joined #perl6
23:07 luis joined #perl6
23:07 Peter_R joined #perl6
23:07 hahainternet joined #perl6
23:07 perigrin joined #perl6
23:07 w4and0er96 joined #perl6
23:07 notbenh_ joined #perl6
23:07 jcallen_ joined #perl6
23:07 vike joined #perl6
23:07 orevdiabl joined #perl6
23:07 isacloud joined #perl6
23:07 chris2 joined #perl6
23:07 riatre joined #perl6
23:07 ribasushi_ joined #perl6
23:07 mrsolo_ joined #perl6
23:07 Juerd joined #perl6
23:07 parisba joined #perl6
23:07 ccakes joined #perl6
23:07 Celelibi joined #perl6
23:07 stigo joined #perl6
23:07 ilmari joined #perl6
23:07 lco joined #perl6
23:07 hanekomu joined #perl6
23:07 silug__ joined #perl6
23:07 kst joined #perl6
23:07 gensym joined #perl6
23:07 kmwallio joined #perl6
23:07 TheDir_ joined #perl6
23:07 arnsholt joined #perl6
23:07 ambs joined #perl6
23:07 gabiruh joined #perl6
23:07 daxim_ joined #perl6
23:07 felher joined #perl6
23:07 Upasaka joined #perl6
23:07 sjohnsen joined #perl6
23:07 integral joined #perl6
23:08 ponbiki joined #perl6
23:08 Jonis joined #perl6
23:08 dustinm` joined #perl6
23:08 jercos joined #perl6
23:08 Util joined #perl6
23:08 khw joined #perl6
23:08 woolfy joined #perl6
23:08 TEttinger joined #perl6
23:08 Guest57568 joined #perl6
23:08 ocbtec joined #perl6
23:08 jsimonet joined #perl6
23:08 snowman_ joined #perl6
23:08 amalia_ joined #perl6
23:08 BinGOs joined #perl6
23:08 Matias[m] joined #perl6
23:08 mindos joined #perl6
23:08 tbrowder joined #perl6
23:08 mithaldu_ joined #perl6
23:08 domm1 joined #perl6
23:08 BooK joined #perl6
23:08 Bucciarati joined #perl6
23:08 hobbs joined #perl6
23:08 sftp joined #perl6
23:08 Timbus joined #perl6
23:08 evalable6 joined #perl6
23:08 committable6 joined #perl6
23:08 bisectable6 joined #perl6
23:08 iBakeCake joined #perl6
23:08 Dunearhp joined #perl6
23:08 huggable joined #perl6
23:08 NeuralAnomaly joined #perl6
23:08 buggable joined #perl6
23:08 dylanwh_ joined #perl6
23:08 DarthGandalf joined #perl6
23:08 geekosaur joined #perl6
23:10 skids joined #perl6
23:12 cgfbee joined #perl6
23:12 MorayJ joined #perl6
23:12 canopus joined #perl6
23:12 user9 joined #perl6
23:12 gypsydav15 joined #perl6
23:12 TimToady joined #perl6
23:13 sivoais joined #perl6
23:13 sivoais joined #perl6
23:14 go|dfish joined #perl6
23:14 BenGoldberg joined #perl6
23:15 Cabanossi joined #perl6
23:23 seatek Yay! I had my first accidental infinite loop that ate up all my memory!
23:23 seatek lesson - never return $.message from an exception's message() method
23:27 SmokeMachine____ joined #perl6
23:28 olinkl joined #perl6
23:30 AlexDaniel joined #perl6
23:30 Spot__ joined #perl6
23:30 kipd joined #perl6
23:32 ggherdov joined #perl6
23:33 PotatoGim joined #perl6
23:35 peteretep joined #perl6
23:35 kurahaupo__ joined #perl6
23:36 timotimo yup, $.message is sugar for self.message().item basically
23:36 BuildTheRobots joined #perl6
23:37 timeless joined #perl6
23:38 mrsolo_ joined #perl6
23:55 pierre_ joined #perl6
23:57 pecastro joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo