»ö« 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 supportedat <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 supportedat <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 1oh 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 1Actually 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 1Actually 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«5050» | ||
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 1Actually 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 1Actually 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 1Actually 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 1Actually 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«4inlining 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 1Actually 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 declaredat <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 parameterat <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
|