»ö« 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.
grondilu learns about hypot: en.wikipedia.org/wiki/Hypot 00:36
m: say hypot(1, 2)
camelia rakudo-moar 447d59: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ hypot used at line 1␤␤»
grondilu that looks LTA
though it'd be very easy to make a module. 00:45
perlawhirl yeah, that pseudocode in the wikipedia article just needs some 'my' and '$' thrown in and it's almost good to go 00:46
grondilu write it
*writes
perlawhirl gist.github.com/0racle/a6e351c878d...f45e579a38 00:47
m: gist.github.com/0racle/a6e351c878d...f45e579a38
camelia rakudo-moar 447d59: OUTPUT«47.7598157450382␤»
perlawhirl maybe change all the vars to \vars, throw in some type constraints
Zoffix m: sub hypot { abs Complex.new: $^a, $^b }; say hypot 3, 4 00:52
camelia rakudo-moar 447d59: OUTPUT«5␤»
perlawhirl or just that 00:54
Zoffix m: use NativeCall; sub hypot (num32 $x, num32 $y) returns num32 is native {}; say hypot 3e0, 4e0 00:54
camelia rakudo-moar 447d59: OUTPUT«434.445037841797␤»
Zoffix there's some way to do that, if you get the types right :)
grondilu m: sub hypot { .max*sqrt(1 + (.min/.max)²) given minmax($^x.abs, $^y.abs) }; say hypot 1, 2 00:55
camelia rakudo-moar 447d59: OUTPUT«2.23606797749979␤»
grondilu m: sub hypot { .max*sqrt(1 + (.min/.max)²) given minmax($^x.abs, $^y.abs) }; say hypot 3, 4
camelia rakudo-moar 447d59: OUTPUT«5␤»
Zoffix m: sub hypot { abs Complex.new: $^a, $^b }; say hypot 1, 2
camelia rakudo-moar 447d59: OUTPUT«2.23606797749979␤»
grondilu m: sub hypot { abs Complex.new: $^a, $^b }; say hypot 1e0, 2e0; 00:56
camelia rakudo-moar 447d59: OUTPUT«2.23606797749979␤»
grondilu the wikipedia page should give a numeric example where there is a problem with the naive implementation.
timotimo yeah 00:57
grondilu mentions it in the talk page. 01:01
geekosaur I think you wanted hypotf for the NativeCall one 01:04
unless you pass doubles (num64?) 01:05
and likewise return
Zoffix m: use NativeCall; sub hypotf (num32 $x, num32 $y) returns num32 is native {}; say hypotf 3e0, 4e0 01:07
camelia rakudo-moar 447d59: OUTPUT«5␤»
Zoffix ah
grondilu oh that's cool 01:10
grondilu m: use NativeCall; sub hypotfl(num64 $, num 64 $) returns num64 {*}; say hypotfl 3e0, 4e0 01:11
camelia rakudo-moar 447d59: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤A parameter may only have one prefix type constraint␤at <tmp>:1␤------> 3 NativeCall; sub hypotfl(num64 $, num 647⏏5 $) returns num64 {*}; say hypotfl 3e0, ␤»
grondilu m: use NativeCall; sub hypotfl(num64 $, num64 $) returns num64 {*}; say hypotfl 3e0, 4e0 01:12
camelia rakudo-moar 447d59: OUTPUT«This type cannot unbox to a native number: P6opaque, Whatever␤ in sub hypotfl at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
grondilu meh
m: use NativeCall; sub hypotfl(num64 $, num64 $) returns num64 {}; say hypotfl 3e0, 4e0
camelia rakudo-moar 447d59: OUTPUT«Cannot unbox a type object␤ in sub hypotfl at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
grondilu m: use NativeCall; sub hypotfl(num64 $, num64 $) returns num64 is native {}; say hypotfl 3e0, 4e0 01:13
camelia rakudo-moar 447d59: OUTPUT«Cannot locate symbol 'hypotfl' in native library ''␤ in method setup at /home/camelia/rakudo-m-inst-1/share/perl6/sources/24DD121B5B4774C04A7084827BFAD92199756E03 (NativeCall) line 310␤ in method CALL-ME at /home/camelia/rakudo-m-inst-1/share/perl6/s…»
grondilu m: use NativeCall; sub hypotl(num64 $, num64 $) returns num64 is native {}; say hypotl 3e0, 4e0
camelia rakudo-moar 447d59: OUTPUT«Inf␤»
grondilu jeez
geekosaur l is long double 01:14
hypot is double
grondilu isn't long double num64?
timotimo we don't have support for long double in moar 01:15
geekosaur long double is 80 bit on intel
grondilu ok
geekosaur m: use NativeCall; sub hypot(num64 $, num64 $) returns num64 is native {}; say hypot 3e0, 4e0
camelia rakudo-moar 447d59: OUTPUT«5␤»
scott cppreference says "long double - extended precision floating point type. Does not necessarily map to types mandated by IEEE-754. Usually 80-bit x87 floating point type on x86 and x86-64 architectures."
geekosaur yep
timotimo there's also long long double 01:17
but on MSVC++, a long double is 64bit
unless you give it some flag
scott I've never heard of long long double 01:18
only float/double/long double and char/short/int/long/long long
timotimo i've been fascinated by extra-long floating point types for a few weeks 01:19
geekosaur long double is nonstandard, as cppreference implied. msvc "supported" it as an alias for double, then finally when they added their own extended precision double had to invent long long double 01:20
scott lol
timotimo en.wikipedia.org/wiki/Extended_precision
geekosaur (msvc's behavior there caused much gnashing of teeth among numeric methods types, because it silently didn't provide the precision everyone expected) 01:21
scott actually, I still can't find google results for "long long double", even MSVC-related
geekosaur www.google.com/webhp?sourceid=chro...0double%22 01:23
need the quotes or google silently drops the second "long" as a duplicate
o.O
www.cplusplus.com/forum/beginner/40003/
geekosaur "long long long double" --- seems to have been a thinko... 01:24
timotimo *shrug*
grondilu that makes me wonder. Are there functions in rakudo that are defined as Native? 01:25
scott geekosaur: I had the quotes, and there is nothing official-looking in those results 01:26
timotimo grondilu: no 01:28
BenGoldberg m: use NativeCall; my $h = sub (num64 $, num64 $) returns num64 is native is symbol("hypot") {*}; say $h(3e0, 4e0); 03:18
camelia rakudo-moar 447d59: OUTPUT«5␤»
BenGoldberg m: use NativeCall; (sub (num64 $, num64 $) returns num64 is native is symbol("hypot") {*}).(3e0, 4e0).say; 03:19
camelia rakudo-moar 447d59: OUTPUT«5␤»
scott why do people write the bodies of native subs as `{*}`? 03:20
ugexe m: class Foo { proto method foo(|) {say 1; {*}; say 3; }; multi method foo { say 2;} }; Foo.foo 03:29
camelia rakudo-moar 447d59: OUTPUT«1␤2␤3␤»
scott I'm not sure how that applies to native calls (was it supposed to?) 03:31
ugexe it works the same way 03:32
scott I tried it with native sub and it said `{*} may only appear in proto` 03:34
I don't see why plain native subs have a `*`
ugexe you are declaring the signature and delegating somewhere 03:35
scott it also works without the `*`
as far as I can tell 03:36
in fact the body generally just seems to be ignored
andrzejku hello :) 05:46
perlawhirl hi andrzejku... it's quiet around this time 05:51
andrzejku ye I see
quiet and threateningly
perlawhirl threateningly? how so? 05:52
bbkr good morning perl6 06:05
perlawhirl afternoon 06:07
here anyways
lizmat clickbaits p6weekly.wordpress.com/2016/09/26/...oar-tests/ 07:38
moritz lizmat: shouldn't that be :$!a in the submethod BUILD signature? 07:39
lizmat++ 07:40
dalek osystem/MARTIMM-patch-1: 4a876a1 | (Marcel Timmerman)++ | META.list:
PRECIS framework

Implementation of PRECIS framework implementing rfc7564. Also rfc7613 etc. obsoleting stringprep and saslprep.
07:54
dalek osystem: 4a876a1 | (Marcel Timmerman)++ | META.list:
PRECIS framework

Implementation of PRECIS framework implementing rfc7564. Also rfc7613 etc. obsoleting stringprep and saslprep.
08:23
osystem: 8ebaf88 | RabidGravy++ | META.list:
Merge pull request #254 from perl6/MARTIMM-patch-1

PRECIS framework
lizmat moritz: good catch, fixed :-) 08:33
moritz lizmat: now you know that people actually read your posts :-) 08:35
lizmat :-)
baest lizmat: I've read it too :) Interesting as always 08:48
El_Che lizmat: much appreciated posts 09:03
dalek line-Perl5: 8331ff2 | niner++ | META.info:
Version 0.14
09:18
moritz m: say dd 42 12:19
camelia rakudo-moar 222d16: OUTPUT«42␤Nil␤»
rindolf h: dd 12:26
docs.perl6.org/routine/dd - I see. 12:27
rindolf How is it different from .perl? 12:27
dalek c: f907bcd | (Zoffix Znet)++ | doc/Type/Cool.pod6:
Document behaviour of .round at mid-points
12:30
moritz m: my Int $x = 42; dd $x 12:31
camelia rakudo-moar 222d16: OUTPUT«Int $x = 42␤»
moritz rindolf: ^^ see above; includes variable name, type, and output
hackedNODE rindolf: .perl is for roundtripping code and is part of Perl 6. dd is for dumping data for development inspection and is a Rakudo-specific function
hackedNODE m: my $x = 42; $x.perl.EVAL.say; 12:32
camelia rakudo-moar 222d16: OUTPUT«42␤»
hackedNODE m: my $x = 42; dd($x).EVAL.say;
camelia rakudo-moar 222d16: OUTPUT«Int $x = 42␤Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Nil␤»
ilmari dd prints the output, it doesn't return it 12:33
s/output/result/
hackedNODE ah
rindolf moritz: hackedNODE : OK, thanks.
[ptc] rakudo 2016.09, nqp and moar just accepted into Debian unstable (amd64). Great work by the Debian maintainer team! 12:39
RabidGravy cool 12:43
Juerd Very.
masak debian++ 12:44
RabidGravy fedora is trailing on 2016.07
rindolf [ptc]: great! 12:53
nine openSUSE is at 2016.07.1, too. Who's that sloth that fell so far behind? 12:53
yoleaux 23 Sep 2016 22:22Z <jnthn> nine: About your question about wrap of a core method in backlog, you'd better stick "no precompilation" on your code if you do that, since it's a monkey patch and those don't compose under precomp.
nine Oh, it's me
hackedNODE m: multi foo (Real) {'wrong'}; multi foo (Cool) {'wrong'}; multi foo (Numeric) {'right'}; say foo 4e0 12:54
camelia rakudo-moar 222d16: OUTPUT«wrong␤»
hackedNODE Is there a value that will hit foo(Numeric)?
.... and which can be used as a number in multiplication, without custom ops 12:55
kurahaupo maybe a Rat?
hackedNODE Rat is real
m: multi foo (Real) {'wrong'}; multi foo (Cool) {'wrong'}; multi foo (Numeric) {'right'}; say foo 4.5
camelia rakudo-moar 222d16: OUTPUT«wrong␤»
moritz hackedNODE: a Complex
psch m: multi foo (Real) {'wrong'}; multi foo (Cool) {'wrong'}; multi foo (Numeric) {'right'}; say foo 4i
camelia rakudo-moar 222d16: OUTPUT«right␤»
psch moritz++
moritz m: say Complex ~~ Cool
camelia rakudo-moar 222d16: OUTPUT«True␤»
moritz hm
maybe not
hackedNODE Well, can't use Complex either. It's a candidate too 12:56
psch but Numeric is narrower than Cool
hackedNODE (sorry, omited that one)
psch oh
kurahaupo hackedNODE: rational and floating point don't coincide
hackedNODE kurahaupo: floating point is Num 12:57
psch m: multi foo (Real) {'wrong'}; multi foo (Cool) {'wrong'}; multi foo (Numeric) {'right'}; my $val = Numeric.^pun but 0; say foo $val; say $val * 2
hackedNODE c: &postfix:<i>, \(class :: does Numeric {})
camelia rakudo-moar 222d16: OUTPUT«right␤Use of uninitialized value of type Numeric+{<anon|61261280>} in numeric context␤ in block <unit> at <tmp> line 1␤0␤»
Undercover hackedNODE, Ehhh... I'm too scared to run that code.
psch uh hmm
m: multi foo (Real) {'wrong'}; multi foo (Cool) {'wrong'}; multi foo (Numeric) {'right'}; my $val = Numeric.^pun.new but 0; say foo $val; say $val * 2
camelia rakudo-moar 222d16: OUTPUT«right␤Memory allocation failed; could not allocate 131072 bytes␤» 12:57
moritz looking at docs.perl6.org/images/type-graph-Numeric.svg I don't see a type that should hit it
ZoffixW c: &postfix:<i>, \(class :: does Numeric {})
psch right
Undercover ZoffixW, The code is NOT hit during stresstest See perl6.WTF/src_core_Complex.pm.coverage.html#L465 for details
hackedNODE Trying to hit ^ that one 12:58
psch i think that candidate is for the benefit of non-CORE Numeric types in the first place? 12:59
'cause we probably want narrower candidates for everything that we already know about
hackedNODE I see.
ZoffixW c: &infix:<*>, \(class :: does Numeric {}, i) 13:00
Undercover ZoffixW, The code is hit during stresstest See perl6.WTF/src_core_Numeric.pm.coverage.html#L198 for details
hackedNODE How can a non-core Numeric work there then? As in, how can it be used in multiplication with standard ops and still get right value? From what I see above seems like it'll just go into an infiniloop 13:01
m: class :: does Numeric {} * 42
camelia rakudo-moar 222d16: OUTPUT«WARNINGS for <tmp>:␤Useless use of "*" in expression "class :: does Numeric {} * 42" in sink context (line 1)␤Use of uninitialized value of type <anon|68069232> in numeric context␤ in block <unit> at <tmp> line 1␤»
hackedNODE m: say class :: does Numeric {} * 42
camelia rakudo-moar 222d16: OUTPUT«Use of uninitialized value of type <anon|75660368> in numeric context␤ in block <unit> at <tmp> line 1␤0␤»
hackedNODE oh
Is there a way to give it some value? 13:02
hackedNODE m: say class :: does Numeric { method Numeric { 42 } } * 42 13:02
camelia rakudo-moar 222d16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot have a multi candidate for 'Numeric' when an only method is also in the package '<anon|63683920>'␤at <tmp>:1␤»
hackedNODE wat
m: say class :: does Numeric { multi method Numeric { 42 } } * 42
camelia rakudo-moar 222d16: OUTPUT«1764␤»
hackedNODE m: say class :: does Numeric { multi method Numeric { 42 } } * i
camelia rakudo-moar 222d16: OUTPUT«0+42i␤»
hackedNODE m: use Test; cmp-ok postfix:<i>( class :: does Numeric { multi method Numeric { 42 } } ), '==', 42i 13:03
camelia rakudo-moar 222d16: OUTPUT«ok 1 - ␤»
hackedNODE Thanks, all
dalek c: a6d207f | (Zoffix Znet)++ | doc/Type/Str.pod6:
fix typo
13:42
hackedNODE The type graph on docs.perl6.org/type/Cool shows IO::Path is Cool, but... 13:46
m: say IO::Path ~~ Cool
camelia rakudo-moar 222d16: OUTPUT«False␤»
hackedNODE m: say ("foo\x[308]" ~~ /.+/).subst-mutate: 'x', 'o' 13:47
camelia rakudo-moar 222d16: OUTPUT«Cannot resolve caller subst-mutate(Match: Str, Str); none of these signatures match:␤ (Cool:D $self is rw: $matcher, $replacement, *%named)␤ in block <unit> at <tmp> line 1␤␤»
hackedNODE m: say Match ~~ Cool
camelia rakudo-moar 222d16: OUTPUT«True␤»
hackedNODE ? How come it doesn't match that candidate?
oh, nm, is rw
m: say "meow".IO ~~ Cool 13:50
camelia rakudo-moar 222d16: OUTPUT«True␤»
hackedNODE shrugs
m: say "meow".IO.^name 13:51
camelia rakudo-moar 222d16: OUTPUT«IO::Path␤»
hackedNODE m: say "meow".IO ~~ IO::Path
camelia rakudo-moar 222d16: OUTPUT«False␤»
hackedNODE what's going on 13:52
hackedNODE m: use MONKEY-GUTS; say nqp::istype("meow".IO, IO::Path) 13:53
camelia rakudo-moar 222d16: OUTPUT«0␤»
hackedNODE And the answer is... 13:56
ilmari m: "mew".IO.WHAT.say
camelia rakudo-moar 222d16: OUTPUT«(Path)␤»
hackedNODE *drumroll*
dam restricted setting :)
m: Proc::Async.WHAT.say 13:57
camelia rakudo-moar 222d16: OUTPUT«Proc::Async is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method gist at src/RESTRICTED.setting line 33␤ in block <unit> at <tmp> line 1␤␤»
hackedNODE Well, it'd say '(Async)'
Strangely, locally the .say complains: "Too few positionals passed; expected at least 2 arguments but got only 1" 13:59
timotimo that usually happens when you try to .say("foobar") on a handle, but it ended up not giving you one 14:00
moritz pro tip: say $thing.^name for debugging :-) 14:02
hackedNODE :)
moritz not sure why people are so fixed on .WHAT
hackedNODE Yeah, I use .^name instead of .WHAT, because .WHAT doesn't give you the full name 14:03
jnthn Or .WHO which is a char shorter *and* gives you the full name :)
moritz or, more to the point, .WHAT gives you the type *object* and you want the type *name*
hackedNODE m: "mew".IO.WHO.say
camelia rakudo-moar 222d16: OUTPUT«IO::Path␤»
hackedNODE m: "mew".IO.WHO.^name.say
camelia rakudo-moar 222d16: OUTPUT«Stash␤»
jnthn (And yes, this actually gives you the Stash, which gists to the name) 14:04
dalek c: ac4b28c | (Zoffix Znet)++ | doc/Type/Str.pod6:
Document :st, :nd, :rd, and :th adverbs on .subst
14:30
Ven` m: sub infix:{'+'}($a, $b) { $a - $b }; say 3 + 1; 15:20
camelia rakudo-moar 222d16: OUTPUT«===SORRY!===␤Internal error: find_var_decl could not find $_␤»
Ven` m: constant my $a = '+'; BEGIN say $a; 15:22
camelia rakudo-moar 222d16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing initializer on constant declaration␤at <tmp>:1␤------> 3constant my7⏏5 $a = '+'; BEGIN say $a;␤»
Ven` m: constant $a = '+'; BEGIN say $a;
camelia rakudo-moar 222d16: OUTPUT«+␤»
Ven` m: constant $a = '+'; sub infix:<<$a>>($, $) {} 15:23
camelia ( no output )
Ven` m: constant $a = '+'; sub infix:<<$a>>($, $) {}; say 3 + 4
camelia rakudo-moar 222d16: OUTPUT«Nil␤»
TimToady m: sub infix:['+']($a, $b) { $a - $b }; say 3 + 1;
camelia rakudo-moar 222d16: OUTPUT«2␤»
TimToady m: sub infix:('+')($a, $b) { $a - $b }; say 3 + 1;
camelia rakudo-moar 222d16: OUTPUT«4␤»
Ven` TimToady: Ugh, obviously I forgot to escape my simple quotes when I tried that. Sigh... 15:24
Ven` All works fine! Thanks. (well, I guess the error for {'x'} is a bit weird) 15:26
TimToady well, :{} is gonna make a hash or a closure for the value, which is odd 15:26
TimToady :[] actually makes a list, but it knows it can handle a list, especially when you need multiple delims 15:28
as for :(), I have no idea what it's thinking there, since there's nothing to invoke 15:29
well, no, it's not invoking, so those are just grouping parens, like foo => (1,2,3)
so probably should work just like :[] 15:30
dalek c: ba2cbe8 | (Zoffix Znet)++ | doc/Type/Str.pod6:
Document .subst-mutate returns a List when :g is used
15:43
boby rakudo: say 19+23 16:25
camelia rakudo-moar 222d16: OUTPUT«42␤»
raiph m: glot.io/snippets/eiuanq8oe9 16:26
camelia rakudo-moar 222d16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3https:7⏏5//glot.io/snippets/eiuanq8oe9␤ expecting any of:␤ colon pair␤»
boby rakudo: say (0, { $_ + 3 } ... 12);
camelia rakudo-moar 222d16: OUTPUT«(0 3 6 9 12)␤»
hackedNODE m: say 0, 3 … 12 16:27
camelia rakudo-moar 222d16: OUTPUT«(0 3 6 9 12)␤»
boby rakudo: say (0, { ($_ -1) + ($_ -2) } ... 13); 16:28
camelia rakudo-moar 222d16: OUTPUT«(0 -3 -9 -21 -45 -93 -189 -381 -765 -1533 -3069 -6141 -12285 -24573 -49149 -98301 -196605 -393213 -786429 -1572861 -3145725 -6291453 -12582909 -25165821 -50331645 -100663293 -201326589 -402653181 -805306365 -1610612733 -3221225469 -6442450941 -12884901885 …»
hackedNODE The bot also can be used via /msg 16:28
boby ok thank you 16:31
nwc10 www.youtube.com/watch?v=A1YxNYiyALg - about 30 seconds to kick-off 18:29
ie t.co/SwNQJ9Ht4D
er, thanks
this: www.spacex.com/Mars 18:30
which should explain the on-topic-ness for the off-topic
hackedNODE "Activate Adobe Flash. This plugin is vulnerable and should be updated" 18:31
hackedNODE watches intently 18:31
nwc10 is wondering how soon the soon is 18:32
nwc10 hopefully sooner than a Falcon Heavy. Is it 2013 yet? 18:32
grondilu Hello #perl6 18:33
hackedNODE \o
grondilu off-topic: SpaceX's announcement about their mars plan www.youtube.com/watch?v=A1YxNYiyALg
hackedNODE lool
nwc10 grondilu++ # confirming my opinion about what off-topic is on-topic :-)
hackedNODE So what's the plan? I can't watch anything. 18:34
nwc10 yes, I am wondering this too
it's 4 minutes late
grondilu while you wait you can watch this I guess: www.youtube.com/watch?v=0qo78R_yYFA 18:35
grondilu it's their interplanetary vessel plan 18:35
released an hour ago. 18:36
El_Che I would watch if they put the US presidential candidates on it ;) 18:37
or in :)
hackedNODE or under...
I don't know why Muricans complain about their candidates. You brought this on your own lol :) 18:38
moritz anyone want to submit some p6 repos to hacktoberfest.digitalocean.com/ and mark some issues with the hacktoberfest tag to indicate that contributions would be welcome and easy? 18:39
hackedNODE pets his two Hacktoberfest T-shirts 18:40
Woodi_ prefers they finaly declassify that Star Gate gate for general public use... ;) 18:40
nwc10 curious that this new thing is three-fold symmetry (grid fins & landing legs) not 4 18:40
hackedNODE moritz: from what I understand, you don't submit repos to anywhere. You just tag Issues in any GitHub-hosted repo with "Hacktoberfest" label 18:46
Which, sadly, excludes any of Rakudo's issues :/ 18:47
moritz why? 18:55
hackedNODE Rakudo's issue tracker is disabled
I mean, people can submit PRs, but we can't tag RT tickets with "Hacktoberfest" :)
moritz oh, right 18:56
hackedNODE Of course, we can enable it temporarily, open just some Hacktoberfest issues, and then close it at the end
hackedNODE isn't sure that's worth the effort
moritz no, we should just do it for other repos 18:57
docs, roast, website, you name it
nwc10 those might also be easier for new folks to contribute to 18:57
ooh, finally, live is live 18:58
hackedNODE First Hacktoberfest issue done: github.com/perl6/roast/issues/161 19:04
I guess all LHF in docs repo can also be that
hackedNODE marks 19:05
zengargoyle LHF? 19:07
[Coke] Low Hanging Fruit 19:07
zengargoyle ah 19:15
ugexe Inline::Perl5 + DBIx::Class + runtime generated schemas (package App::DB; use base 'DBIx::Class::Schema::Loader') is pretty nice for prototyping 19:29
dalek line-Perl5: ab7ce57 | niner++ | lib/Inline/Perl5.pm6:
Remove unused optional argument
19:30
nine ugexe: :) 19:30
ugexe I guess I see why, since some perl6 modules have .pm extension and would then see packages in perl 5 that should not exist 19:37
nine ugexe: having both in the same tree might not be a good idea because the .pm extension is ambiguious
Woodi_ is it possible to hang some station half-way to Mars ? for emergency or re supply ? 19:38
gfldex Woodi: no because of orbit mechanics it would drive away from it's half-way position fairly switfly 19:38
geekosaur also, earth and mars both move. where do you put it if earth and mars are in opposition? 19:38
geekosaur ...and rescue prospects for that station itself are kinda terrible 19:39
gfldex if you can get the timing right, you could have it at a halve way position for one mission tho
Woodi damn, everything swims :) 19:40
moritz and then what? it's hard enough to reach the half-way point that you can't have a proper hospital there anyway 19:40
hackedNODE moritz: well, I tagged a bunch: github.com/issues?utf8=%E2%9C%93&a...toberfest+ 19:40
moritz or really most of the equipment that you'd use in any kind of rescue mission 19:41
moritz hackedNODE++ 19:41
moritz hackedNODE: thanks a bunch! 19:41
harmil_wk It's turtles all the way down... qww<"{"{"{"..."}"}"}"> 19:45
dalek line-Perl5: e445bab | niner++ | / (2 files):
Save a native call per P5 method invocation

The first argument of a (non-package) method invocation is an object. No need to increase the refcnt before the call just to decrease it again while setting up the arguments on the perl stack.
19:47
dalek line-Perl5: f05da26 | niner++ | lib/Inline/Perl5.pm6:
Remove unused self argument from invoke

Passing self was probably part of earlier attempts at implementing inheritance. However the parameter has been ignored already and is now gone.
19:49
senochan Does anyone know how to specify the port to run bailador on? 20:07
[Coke] baile(12345); 20:08
senochan ahh, thanks
El_Che ahaha
bailador is polite
baila -> imperative, regular you 20:09
senochan This is the first time I've used something like bailador, I like it a lot
El_Che baile -> imperative, formal you (vous in french)
ZoffixMobile dogbert17, looks ok, but can be better. I'd use the is-deeply routine instead of just 'is', as that tests using eqv rather than just compare what the two values stringify to 20:25
ZoffixMobile oh... 20:27
ZoffixMobile star: my $list = (1, (2, 3,), "a"); duckmap(-> Int $x { $x ~~ Int ?? $x !! Any }, $list) 20:28
ZoffixMobile dogbert17, I think your block is wrong there. You ask for Int only in the sig, so the ternary will always be true. IIRC your original bug report did not have a sig on the block 20:29
oh, wrong chanmel 20:31
camelia star-m 2016.04: OUTPUT«(timeout)» 20:33
dalek line-Perl5: 101bf73 | niner++ | / (3 files):
Pass back the type of a sole return value from P5 to P6

Use another cheap int32 is rw argument for passing back the type of the return value in the very common case that there is only one. This saves another native call on such function calls or method invocations.
20:34
ZoffixMobile star: my $list = (1, (2, 3,), "a"); duckmap(-> Int $x { $x ~~ Int ?? $x !! Any }, $list) 20:36
ZoffixMobile m: my $list = (1, (2, 3,), "a"); duckmap(-> Int $x { $x ~~ Int ?? $x !! Any }, $list) 20:36
camelia star-m 2016.04: OUTPUT«(timeout)»
( no output )
ZoffixMobile dogbert17, never mind the last point :) ^^ it does hang before the fix :) 20:37
gfldex m: sub f( |c ( $a ) where { c.defined } ) {}; f 42 22:39
camelia rakudo-moar fc3160: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '&c' is not declared␤at <tmp>:1␤------> 3sub f( |c ( $a ) where { 7⏏5c.defined } ) {}; f 42␤»
gfldex m: sub f( |c ( $a ) where { $a } ) {}; f 42 22:39
camelia rakudo-moar fc3160: OUTPUT«Constraint type check failed for parameter 'c'␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub f( |c where { c.defined } ) {}; f 42 22:40
camelia rakudo-moar fc3160: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '&c' is not declared␤at <tmp>:1␤------> 3sub f( |c where { 7⏏5c.defined } ) {}; f 42␤»
gfldex m: sub f( |c ( $a ) where { True } ) { dd c }; f 42 22:41
camelia rakudo-moar fc3160: OUTPUT«\(42)␤»
gfldex m: sub f( *@a ( $b ) where { $b.defined } ) {}; f 42 22:44
camelia rakudo-moar fc3160: OUTPUT«Cannot call method 'defined' on a null object␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
MasterDuke how do i use the --git-depth=<n> option of rakudo's Configure.pl? 23:35
i thought it would just do a shallow clone of nqp (and moarvm?), assuming i also have --gen-moar