»ö« 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.
Zoffix m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar 00:32
camelia rakudo-moar c57ac2: OUTPUT«Any $what = Any␤»
Zoffix Is there a way for the default on $what to take even if it's specified as Any?
'cause it's pretty damn useless 00:33
gfldex m: say Any.Bool
camelia rakudo-moar c57ac2: OUTPUT«False␤»
gfldex it is takin :$what
Zoffix Yes, I know that, and I want to avoid that.
I want to propagate what was given in bar() 00:34
m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo (:$what if $what) }; bar
camelia rakudo-moar c57ac2: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub foo at <tmp> line 1␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix bisect: m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo (:$what if $what) }; bar
bisectable Zoffix: On both starting points the exit code is 1 and the output is identical as well
Zoffix: Output on both points: Too many positionals passed; expected 0 arguments but got 1␤ in sub foo at /tmp/QBu3dxVJU7 line 1␤ in sub bar at /tmp/QBu3dxVJU7 line 1␤ in block <unit> at /tmp/QBu3dxVJU7 line 1␤
Zoffix m: sub foo (Any:D :$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar 00:36
camelia rakudo-moar c57ac2: OUTPUT«Parameter '$what' requires an instance of type Any, but a type object was passed. Did you forget a .new?␤ in sub foo at <tmp> line 1␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: subset Undumb where { $_ ~~ Any:U and $_ = Nil }; sub foo (Undumb :$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar 00:38
camelia rakudo-moar c57ac2: OUTPUT«Cannot assign to a readonly variable or a value␤ in block <unit> at <tmp> line 1␤␤»
Zoffix shakes head
gfldex m: sub foo (Any:D :$what = 42) { dd $what }; sub bar (*%what) { foo |%what }; bar 00:40
camelia rakudo-moar c57ac2: OUTPUT«Int $what = 42␤»
Zoffix I may as well be using Perl 5 then
gfldex m: sub foo (Any:D :$what = 42) { dd $what }; sub bar (:$what) { foo |%($what) }; bar
camelia rakudo-moar c57ac2: OUTPUT«Int $what = 42␤»
Zoffix gfldex++ 00:41
huh
m: dd |%($what)
camelia rakudo-moar c57ac2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$what' is not declared. Did you mean '&WHAT'?␤at <tmp>:1␤------> 3dd |%(7⏏5$what)␤»
Zoffix m: my $what = 42; dd |%($what)
camelia rakudo-moar c57ac2: OUTPUT«Odd number of elements found where hash initializer expected:␤Only saw: 42␤ in block <unit> at <tmp> line 1␤␤»
Zoffix dafuq
gfldex :$what creates a colon pair, what can be turned into a Hash 00:42
Zoffix oh, you're not passing it, that's why it gets 42
m: sub foo (Any:D :$what = 42) { dd $what }; sub bar (:$what) { foo |%($what) }; bar :what(72)
camelia rakudo-moar c57ac2: OUTPUT«Odd number of elements found where hash initializer expected:␤Only saw: 72␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: sub foo (Any:D :$what = 42) { dd $what }; sub bar (:$what) { foo |%(:$what) }; bar :what(72)
camelia rakudo-moar c57ac2: OUTPUT«Int $what = 72␤»
gfldex m: sub foo (Any:D :$what = 42) { dd $what }; sub bar (:$what) { dd $what; foo |%($what) }; bar
camelia rakudo-moar c57ac2: OUTPUT«Any $what = Any␤Int $what = 42␤»
gfldex m: sub foo (Any:_ :$what = 42) { dd $what }; sub bar (:$what) { dd $what; foo |%($what) }; bar
camelia rakudo-moar c57ac2: OUTPUT«Any $what = Any␤Int $what = 42␤»
Zoffix m: sub foo (Any:D :$what = 42) { dd $what }; sub bar (:$what) { foo |%(:$what) }; bar
camelia rakudo-moar c57ac2: OUTPUT«Parameter '$what' requires an instance of type Any, but a type object was passed. Did you forget a .new?␤ in sub foo at <tmp> line 1␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix Yup, it doesn't work. 00:43
This is a real flaw in design. I came across this issue many times, but in the resorted to duplicating or moving the defaults.
m: sub foo (:$what //= 42) { dd $what }; sub bar (:$what) { foo :$what }; bar 00:44
camelia rakudo-moar c57ac2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> 3sub foo (:$what7⏏5 //= 42) { dd $what }; sub bar (:$what) ␤ expecting any of:␤ constraint␤»
Zoffix there gotta be a way to fix this with a trait or something
`is sane` XD 00:45
Zoffix And worse is you can't just $x //= 'default' in the body; you gotta mark it as `is copy` too 00:46
gfldex m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo(what => $what) }; bar; 00:51
camelia rakudo-moar aada71: OUTPUT«Any $what = Any␤»
gfldex Zoffix: is that what you want?
Zoffix No, that's exactly as my original example, except you changed :$what to what => $what; 00:52
The result should be 42, since there were not $what given to bar
So when it's propagated to foo(), foo would also see it wasn't given and assign the default
m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo(what => $what//Mu) }; bar; 00:53
camelia rakudo-moar aada71: OUTPUT«Type check failed in binding to $what; expected Any but got Mu (Mu)␤ in sub foo at <tmp> line 1␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix :(
gfldex m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { dd $what; foo(what => $what) }; bar; 00:54
camelia rakudo-moar aada71: OUTPUT«Any $what = Any␤Any $what = Any␤»
gfldex m: sub foo ($p?){ dd $p }; foo;
camelia rakudo-moar aada71: OUTPUT«Any $p = Any␤»
gfldex Zoffix: any optional parameter is given because it's a container and as such got a default value 00:55
Zoffix That doesn't help me write my software. 00:56
Xliff Does perl6 support the __DATA__ feature from perl5?
parabolize m: sub f(:$a = 2) { dd $a }; sub g(:$a) { $a ?? f(:$a) !! f() }; g(); g(:3a);
camelia rakudo-moar aada71: OUTPUT«Int $a = 2␤Int $a = 3␤»
Zoffix Xliff, I think the way to do it now is using the Pod, like the =finish marker
gfldex m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { my %h; %h.push(:$what) if $what; foo(|%h) }; bar;
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤»
Xliff Zoffix: Any docs on that?
gfldex Zoffix: if you want to do fancy stuff with signatures you have to build it by hand
Zoffix parabolize, that's not a real solution
gfldex, that's not fancy at all. 00:57
gfldex you want to lie about the value of :$what in bar. You have to expect to help Perl 6 to understand you in that case.
Xliff Zoffix++: That pointed me in the right direction 00:58
design.perl6.org/S26.html#___top
^^ Data Blocks
Zoffix I don't want it to consider the penultimate-most-undefined type object as a value when I'm giving it an int as default. It's not rocket science.
Xliff++ awesome 00:59
Zoffix m: say 'The second anti_Virtue is: ', $=data[1]; ␤=data Weeee␤ 01:00
camelia rakudo-moar aada71: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Pod variable $=data not yet implemented. Sorry. ␤at <tmp>:1␤------> 3ay 'The second anti_Virtue is: ', $=data7⏏5[1]; ␤»
Zoffix Bah
gfldex Xliff: you could use a heredoc
Zoffix m: say 'The second anti_Virtue is: ', $=finish; ␤=finish␤Weeee␤ 01:01
camelia rakudo-moar aada71: OUTPUT«The second anti_Virtue is: Weeee␤␤»
Zoffix Xliff, ^ that works tho.
Xliff gfldex: Yeah, but I am trying to keep this as close to the original p5 test as possible.
Xliff Plus, it helps me learn more about perl6 and I've done heredocs already. :) 01:01
gfldex Zoffix: if Signature would discard Any and use the default value instead, you would get in trouble if you require to hand type object around. We don't have a type for type objects. 01:04
Zoffix I don't pass around type objects when my defaults are ints 01:05
gfldex that your fault :->
Zoffix :)
holyghost Hello FROGGS_, nice modules BTW 01:14
Xliff Heya, FROGGS! 01:27
Is anyone working on P6 bindings for wxWidgets?
Zoffix m: say Parameter.^attributes 01:33
camelia rakudo-moar aada71: OUTPUT«Method 'gist' not found for invocant of class 'BOOTSTRAPATTR'␤ in block <unit> at <tmp> line 1␤␤»
Zoffix :(
Zoffix No idea how to set a value of the parameter given a Parameter object :( 01:51
skids Zoffix: Parameters and Signatures (other than literals) are actually really deeply baked into the VM. Their Perl6 interface is currently more for introspection than manipulation. 02:35
Zoffix sucks 02:36
mst skids: but how else are you supposed to chain calls? having them settable and re-callable was one of the great promises of perl6
mst I guess building stuff up as an array and a hash and then using slips? 02:36
timotimo um, i think what you're looking for is Capture, not Parameter 02:38
what do you even expect to be able to do with a Parameter object?
Zoffix timotimo, well, I was looking into creating a trait that would use the default if the value given is an Any 02:39
m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar
camelia rakudo-moar aada71: OUTPUT«Any $what = Any␤»
skids m: sub foo (:$what = 42) { dd $what }; sub bar (|c) { dd $what; foo |c }; bar
camelia rakudo-moar aada71: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$what' is not declared. Did you mean '&WHAT'?␤at <tmp>:1␤------> 3t = 42) { dd $what }; sub bar (|c) { dd 7⏏5$what; foo |c }; bar␤»
skids m: sub foo (:$what = 42) { dd $what }; sub bar (|c) { foo |c }; bar
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤»
Zoffix Hm 02:39
skids m: sub foo (:$what = 42; :$where = "there") { dd $what, $where }; sub bar (|c) { foo :$where, |c }; bar 02:40
camelia rakudo-moar aada71: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$where' is not declared␤at <tmp>:1␤------> 3dd $what, $where }; sub bar (|c) { foo :7⏏5$where, |c }; bar␤»
skids m: sub foo (:$what = 42; :$where = "there") { dd $what, $where }; sub bar (|c (:$where)) { foo :$where, |c }; bar("here")
camelia rakudo-moar aada71: OUTPUT«Too many positionals passed; expected 0 arguments but got 1 in sub-signature of parameter c␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
skids m: sub foo (:$what = 42; :$where = "there") { dd $what, $where }; sub bar (|c (:$where)) { foo :$where, |c }; bar(:where<here>) 02:41
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤Str $where = "here"␤»
timotimo you'll have to go through a capture, otherwise you won't be able to do anything much
skids m: sub foo (:$what = 42; :$where = "there") { dd $what, $where }; sub bar (|c (:$where, :$what)) { foo :$where, |c }; bar(:where<here>) 02:42
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤Str $where = "here"␤»
Zoffix m: multi trait_mod:<is> (Routine $v, :$sane!) { dd $v }; sub foo (:$what = 42) is sane { dd $what }; sub bar (:$what) { foo :$what }; bar 02:44
camelia rakudo-moar aada71: OUTPUT«Sub foo = sub foo (:$what = 42) { #`(Sub|61110648) ... }␤Any $what = Any␤»
Zoffix timotimo, by "go through capture", do you mean that skids is showing?
skids tries to remember if there is a syntax or watnot to get the capture without using a subsig
timotimo aye 02:45
Zoffix :(
damn
skids Yeah | is a capture
Zoffix Yeah, but it's still LTA a bit.
skids Also there are a few places where f(|c (stuff)) is not quite as capable as f(stuff) 02:48
gfldex m: sub f(|c){ dd c<what> = 10; }; f :what; 02:49
camelia rakudo-moar aada71: OUTPUT«Cannot modify an immutable Bool␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub f(|c){ dd c<what>; }; f :what;
camelia rakudo-moar aada71: OUTPUT«Bool::True␤»
skids (some of those places being just NYI/LTA) 02:50
gfldex m: sub f(|c is copy){ \(c.Hash<what> = 42;) }; dd f :what; 02:51
camelia rakudo-moar aada71: OUTPUT«\((42,), ())␤»
gfldex m: sub f(|c){ \(c.Hash<what> = 42;) }; dd f :what;
camelia rakudo-moar aada71: OUTPUT«\((42,), ())␤»
gfldex problem is that Capture isn't really a Hash
no idea what would happen to positionals
timotimo it seems problematic that you can change a capture's contents via .Hash; we probably want to use .Map instead 02:52
skids m: sub foo (:$what = 42) { dd $what }; sub bar (|c) { foo |c, :$what<"this"> }; bar
camelia rakudo-moar aada71: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$what' is not declared. Did you mean '&WHAT'?␤at <tmp>:1␤------> 3) { dd $what }; sub bar (|c) { foo |c, :7⏏5$what<"this"> }; bar␤»
skids m: sub foo (:$what = 42) { dd $what }; sub bar (|c) { foo |c, :what<"this"> }; bar 02:53
camelia rakudo-moar aada71: OUTPUT«Str $what = "\"this\""␤»
gfldex do we have a type that is Positional and Associative and motable at the same time?
skids m: sub foo (:$what = 42) { dd $what }; sub bar (|c) { foo |c, :what<"this"> }; bar(:what<that>)
camelia rakudo-moar aada71: OUTPUT«Str $what = "\"this\""␤»
timotimo goes to bed 02:54
gfldex i'm out of brainsteam too, gn8 02:55
Zoffix m: use nqp; subset Undumb where { $_ ~~ Any:U and nqp::bindattr($_.VAR, Scalar, '$!value', 42) }; sub foo (Undumb :$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar 03:00
camelia rakudo-moar aada71: OUTPUT«Any $what = Any␤»
Zoffix curses the Computer Gods
Zoffix lulz wut... Got this error: "replace this Array is copy logic in method" 03:10
Apparently I'm hitting this code: github.com/rakudo/rakudo/blob/aada...P.nqp#L435 03:11
AlexDaniel bisect: ++blah++ 03:16
bisectable AlexDaniel: Exit code is 1 on both starting points, bisecting by using the output
AlexDaniel: bisect log: gist.github.com/c6d5ae56b7b8477ea3...181f2fb9f7
AlexDaniel: (2015-12-27) github.com/rakudo/rakudo/commit/373adc0
AlexDaniel goddamn filenames in the output :) 03:16
parabolize Zoffix: what's wrong with using the capture? Also, what is LTA? 03:17
m: sub f($x, :$a = 2) { say 'in f'; dd $x, $a }; sub g($y, :$b, |c) { say 'in g'; dd $y, $b; f(|c) }; g(2, 3, :4a, :5b)
camelia rakudo-moar aada71: OUTPUT«in g␤Int $y = 2␤Int $b = 5␤in f␤Int $x = 3␤Int $a = 4␤»
Zoffix parabolize, because it isn't descripting on what sort of args I'm passing about. 'LTA' == Less Than Awesome
s/descripting/descriptive/; 03:18
AlexDaniel committable: releases ++blah++
committable AlexDaniel: ¦«release»: Cannot find this revision
Zoffix method foo ($cmd, :$server) { $.o($cmd, :$server) } is clearer than method foo ($cmd, |c) { $.o($cmd, |c) }
AlexDaniel wasn't it supposed to work, hmm 03:18
Zoffix Damn, this will now bug me for life ~_~ 03:19
AlexDaniel committable: releases ++blah++ 03:20
committable AlexDaniel: gist.github.com/4333c1ddb4c74d8421...0afc5b6b10
Zoffix parabolize, well that, and the fact that when I tried to use it I hit some cobwebbed error "replace this Array is copy logic in method" 03:21
m: sub foo ($cmd, *@args is copy, |c) { dd @args }; sub bar (:$foo, |c){ foo |c, 42, 55 }; bar :42server 03:22
camelia rakudo-moar aada71: OUTPUT«replace this Array is copy logic␤ in sub foo at <tmp> line 1␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
parabolize admits python code that has *arguments, **keywords drives him nuts. Especially when there is no doc string 03:23
Zoffix m: sub (*@x is copy, |c) { }( 42 ) 03:24
camelia rakudo-moar aada71: OUTPUT«replace this Array is copy logic␤ in sub at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: sub prefix:<‖> (Pair $p) { $p.value ~~ Any:D ?? $p !! Empty }; sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo |‖:$what }; bar 03:49
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤»
Zoffix m: sub prefix:<‖> (Pair $p) { $p.value ~~ Any:D ?? $p !! Empty }; sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo |‖:$what }; bar :72what
camelia rakudo-moar aada71: OUTPUT«Int $what = 72␤»
Zoffix I wish it were possible to get rid of that slip somehow :/ 03:51
psch m: sub prefix:<``> (Pair $p) { $p.value ~~ Any:D ?? $p.Slip !! Empty }; sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar :72what 03:52
camelia rakudo-moar aada71: OUTPUT«Int $what = 72␤»
psch can't get rid of it, but you can move it "up"
Zoffix m: sub prefix:<``> (Pair $p) { $p.value ~~ Any:D ?? $p.Slip !! Empty }; sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar
camelia rakudo-moar aada71: OUTPUT«Any $what = Any␤»
psch oh no
i removed the prefix call
Zoffix m: sub prefix:<``> (Pair $p) { $p.value ~~ Any:D ?? $p.Slip !! Empty }; sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo ``:$what }; bar 03:53
camelia rakudo-moar aada71: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub foo at <tmp> line 1␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
psch sorry, not actually awake apparently
Zoffix :)
m: sub prefix:<😜> (Pair $p) { $p.value ~~ Any:D ?? $p !! () }; sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo |😜:$what }; bar
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤»
parabolize m: sub f(:$a) { dd $a }; sub g(:$a, :$b) { dd $b; f(:$a) }; g(:2a, :3b) 03:57
camelia rakudo-moar aada71: OUTPUT«Int $b = 3␤Int $a = 2␤»
psch m: sub f { (:1a).Slip }; say f.perl; say f ~~ :(:$) 03:58
camelia rakudo-moar aada71: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Expected a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use a space like ~ ~)␤at <tmp>:1␤------> 3b f { (:1a).Slip }; say f.perl; say f ~~7⏏5 :(:$)␤»
psch m: sub f { (:1a).Slip }; say f.perl; say f() ~~ :(:$)
camelia rakudo-moar aada71: OUTPUT«slip(:a(1),)␤False␤»
parabolize nevermind
psch that is a bit weird i think
oh duh
m: sub f { (:1a).Slip }; say f.perl; say f() ~~ :(:$a)
camelia rakudo-moar aada71: OUTPUT«slip(:a(1),)␤True␤»
psch that is more expected
m: sub f { (:1a).Slip }; sub g(:$a) { }; say f.perl; say &g.cando(f()) 03:59
camelia rakudo-moar aada71: OUTPUT«slip(:a(1),)␤Type check failed in binding to $c; expected Capture but got Slip (slip$(:a(1),))␤ in block <unit> at <tmp> line 1␤␤»
psch ah
Zoffix m: sub K { \(@_, %_.grep: {.value ~~ Any:D}) }; sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo |K :$what }; bar :72what
camelia rakudo-moar aada71: OUTPUT«Too many positionals passed; expected 0 arguments but got 2␤ in sub foo at <tmp> line 1␤ in sub bar at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix :(
Zoffix ^ that would be the best. Some prefix or sub you sneak at the start of args and be done with it 04:00
Well, "best". The best would be making it actually work right in the first place :)
psch not really sure what "right" is here, actually 04:00
i mean, i'd say a slip should always slip exactly once 04:01
so if i return it from a sub and pass it into a call, it should then slip
Zoffix Well, in this context right == what I want it to do :) And that is not to assume Any:U is a valid value to use when I specify an Int default value to use.
dalek sectbot: dabed85 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Perl6IRCBotable.pm:
Empty string works better than 0

Turns out that setting RAKUDO_ERROR_COLOR to 0 does not work well enough across all Rakudo versions. This causes the output to be different on some commits, which may freak out bisectable or even committable if ran across many commits.
Empty string works all the time.
Zoffix As in.. it assuming my giving it Any:U is what I want rather than my wanting it to use the default. 04:01
Zoffix Happy new day! 04:02
psch how does Any:U come into this? i'm only seeing a slipping Pair not slipping into a named..?
Zoffix Well, this adventure of mine started 3.5 hours ago with this:
m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo :$what }; bar
camelia rakudo-moar aada71: OUTPUT«Any $what = Any␤»
Zoffix I want foo to use the default value, because the $what I'm giving it wasn't passed to bar, so it's an Any:U
psch well, you are giving a value 04:03
Zoffix Well, sure, I know why I get that result. 04:03
AlexDaniel committable: releases ++blah++
committable AlexDaniel: gist.github.com/93db4fc89fffe0009d...5653ddcfff
AlexDaniel ok that's much better 04:04
Zoffix But it's not what I want, as a programmer. And I hit this issue many times, but I never hit an issue where I had a param defaulting to an Int and I was dissapointed that I couldn't give it an Any:U
*excited that I could give it... 04:05
psch m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { $what ?? foo(:$what) !! foo() }; bar 04:06
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤»
psch if you give the named it takes the nameds value
Zoffix You're the second person to suggest such a thing
psch okay, sorry
Zoffix :)
parabolize m: sub f(:$a = 2) { dd $a }; multi g(:$b) { dd $b; f() }; multi g(:$a!, :$b) { dd $b; f(:$a) }; g(:3b)
camelia rakudo-moar aada71: OUTPUT«Int $b = 3␤Int $a = 2␤»
Zoffix psch, it's just the single-arg example is a simplification. That solution is already too hefty and it grows too unwieldy the minute you get a second named arg 04:07
psch Zoffix: then use multi dispatch? 04:08
parabolize I don't think I needed the ! there
Zoffix Isn't that just an even more verbose way to write a ternary?
AlexDaniel committable: 2016.02..2016.03 ++blah++
committable AlexDaniel: gist.github.com/aee7c32eab4fbdbf9b...8e996959f2 04:09
psch i don't know, maybe
AlexDaniel Zoffix: by the way, I remember you were saying that things like this ↑ will take way too long. Well, it's not paralellized, so it does take very long. But it is already usable
TimToady m: sub foo (:$what = 42) { dd $what }; sub bar (:$what) { foo(|(:$what if $what)) }; bar 04:10
camelia rakudo-moar aada71: OUTPUT«Int $what = 42␤»
AlexDaniel like you know, sometimes you have to put some effort into making a proper bisect query… why bother, just run it on every commit ;) 04:11
Zoffix Yeah, the |( if ) thing is probably the shortest you can do it now with 04:12
Well, without some weird prefix op
committable: 2016.02..2016.03 .WHERE.say 04:13
committable Zoffix: gist.github.com/f06a3ac587603fc735...d40ee16482 04:14
Zoffix neat
AlexDaniel MasterDuke: again, why do we have a 300 commit limit? 04:15
MasterDuke no reason
Zoffix But back to the Any:U -> Ideally the solution would be on the receiving end. Some sorta trait or something. I got one method to which a named param percolates from all the place to, so I don't want to put |(:) on all the calls, but rather in the sig or something 04:16
This is the actual real-world piece of code it's from and my current solution :) gist.github.com/zoffixznet/ef930e0...8c2172aff4
|(:) looks like a ninja if you angle your head right.
Zoffix will call |(:$what if $what) construct "ninjaing a param" from now on 04:17
Zoffix & sleep
AlexDaniel MasterDuke: each run is limited to 10 seconds, so if you want to kill it you can run sleep 10 over 300 commits… 04:18
AlexDaniel MasterDuke: that's gonna send it to a little 50 minute vacation 04:19
MasterDuke AlexDaniel: can we set an alarm before we start the loop that runs the code for all the commits with a larger timeout? will that conflict with the alarm for each run? 04:21
or would just that one alarm be needed at all? 04:22
AlexDaniel MasterDuke: maybe something that says “oops, sorry, will not manage to finish that job at such pace”
MasterDuke: no need for an alarm, just check the time every now and then 04:23
dalek sectbot: 942ea65 | (Aleks-Daniel Jakimenko-Aleksejev)++ | committable.pl:
Bump committable limit to 1000

If you wanted to kill it, then you could run sleep 10 over 300 commits and this will keep it busy for 50 minutes. However, most people will probably run really fast snippets, so we can bump it quite a bit.
Global timeout will be introduced later, hopefully.
04:24
MasterDuke AlexDaniel: github.com/perl6/bisectbot/issues/13 04:28
AlexDaniel yea
skids .tell Zoffix f(:$f = "foo") { $f.VAR.default.say } -- I wonder if a design modification could be sold that this should say "foo" in which case :f<Nil> would work to set the default. 04:51
yoleaux skids: I'll pass your message to Zoffix.
TimToady thunky ops now warn in sink context 04:56
m: say [1,2,3] or 42
camelia rakudo-moar 5334cb: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤[1 2 3]␤»
TimToady m: 42 with [1,2,3] 04:57
camelia rakudo-moar 5334cb: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤»
FROGGS_ Xliff: not that I am aware of 05:53
ufobat my hands feel so funny, i just wrote perl6 code ;-) 06:54
ufobat good morning 06:56
holyghost Does it somewhere have a meaning to buy an Amiga A500 ? 07:43
or should I wait for the A4000 ? 07:44
holyghost ok nm 07:47
DrForr m: my $t = Int; $t.new(3); say $t.WHAT 08:09
camelia rakudo-moar 5334cb: OUTPUT«(Int)␤»
DrForr m: my %x=(a=>Int); my $t=%a<a>; $t.new(3); say $t.WHAT 08:10
camelia rakudo-moar 5334cb: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '%a' is not declared␤at <tmp>:1␤------> 3my %x=(a=>Int); my $t=7⏏5%a<a>; $t.new(3); say $t.WHAT␤»
DrForr m: my %x=(a=>Int); my $t=%x<a>; $t.new(3); say $t.WHAT
camelia rakudo-moar 5334cb: OUTPUT«(Int)␤»
DrForr Mumble. 08:11
lizmat m: say Int.new(:value(3)) 08:37
camelia rakudo-moar 5334cb: OUTPUT«0␤»
lizmat hmmm
DrForr Well, I'm trying to do: 08:38
lizmat m: say Int.new(3) 08:39
camelia rakudo-moar 5334cb: OUTPUT«3␤»
DrForr Let me rephrase. The last code I put up works fine with the 'Int' builtin, but... 08:40
m: class Y { has $.v }; my %x=('$'=>Y); my $z = %x{'$'}.new(:v(1)); $z.WHAT 08:41
camelia ( no output )
psch m: class Y { has $.v }; my %x=('$'=>Y); my $z = %x{'$'}.new(:v(1)); say $z.WHAT 08:43
camelia rakudo-moar 5334cb: OUTPUT«(Y)␤»
DrForr Hrm, maybe I'm debugging something incorrectly then. 08:44
(and forgetting that this evalbot doesn't print the return value as well.) 08:45
El_Che I did some perl5 the last days, and while I loved perl5 I must say I really missed quite a few things of perl6. It's crazy how fast one takes stuff for granted 10:00
DrForr Mmhmm.
Zoffix . 10:26
yoleaux 04:51Z <skids> Zoffix: f(:$f = "foo") { $f.VAR.default.say } -- I wonder if a design modification could be sold that this should say "foo" in which case :f<Nil> would work to set the default.
Zoffix That doesn't really help, since I'm passing Any:U and not Nil. Also, that default is different from the signature defaults. 10:27
m: my $x is default(42) = 72; dd $x; $x = Nil; dd $x
camelia rakudo-moar 5334cb: OUTPUT«Int $x = 72␤Int $x = 42␤»
davidcsi hello guys, i'm trying to establish a memcached connection via a tunnel, the tunnel needs to be created by perl... has anyone ever done this? I've been able to do it by creating the tunnel with "my $pid = open(myh, 'ssh -L xxx:1.1.1.1:yyyy server -l user');" but the pid returned is NOT the pid for the ssh for some reason... 11:01
DrForr davidcsi: I think you want #perl, one door over. Unless this is perl 6 code and youv'e got the syntax wrong, for some reason :) 11:08
davidcsi sorry :) 11:19
DrForr No worries.
El_Che DrForr: the noisy neighbours next door? :) 11:31
davidcsi: irc network: irc.perl.org, channel: #perl 11:33
DrForr He's already over on the other channel. 11:34
El_Che yeah, I am Mr Obvious today it seems 11:36
DrForr: now you answer "onviously" :) 11:38
CIAvash El_Che: IIRC mst said that don't refer people to #perl on irc.perl.org 11:40
El_Che why? 11:41
CIAvash irclog.perlgeek.de/perl6/2016-05-23#i_12529400
irclog.perlgeek.de/perl6/2016-07-08#i_12807145 11:42
El_Che CIAvash: thx 11:44
FROGGS_ mst++ 11:59
dalek c: fc83049 | (Daniel Dehennin)++ | doc/Language/concurrency.pod6:
Fix name of Supply method which returns a Channel
12:43
c: 9fbfc11 | (Zoffix Znet)++ | doc/Language/concurrency.pod6:
Merge pull request #766 from baby-gnu/fix/channel-method-on-supply

Fix name of Supply method which returns a Channel
nebuchadnezzar ho, merge was quick 12:44
moritz nebuchadnezzar: what's your github username? 12:45
nebuchadnezzar baby-gnu ;-)
my DNS domaine
moritz nebuchadnezzar: invitation to the perl6 org sent 12:46
nebuchadnezzar ho thanks
moritz nebuchadnezzar: if you accept, you don't need to wait for merges at all :-)
(and we have less work merging)
masak Zoffix++ # blogs.perl.org/users/zoffix_znet/20...p-you.html 12:47
nebuchadnezzar Shouldn't we inverse the sythax colorization between code and output in docs.perl6.org/language/quoting ? 12:54
masak 'We used maybe 50 or 60 competing design principles in the design of Perl 6, but the most important one is: "There is no single most important design principle, including this one."' 12:55
TimToady: ...I see what you did there.
(from developers.slashdot.org/story/16/0...arry-wall)
nebuchadnezzar well for some the example blocks at least 12:56
moritz nebuchadnezzar: it would likely be easier to switch off syntax hilighting for blocks that aren't propery hilighted 12:59
nebuchadnezzar moritz: yes, I saw that the first code blocs require B to emphasize the quote characters 13:01
moritz which disables the rest of the syntax hilighting, because those two don't mix
nebuchadnezzar that's what I supposed, thanks to confirm it 13:02
dalek c: 9498349 | (Zoffix Znet)++ | doc/Type/Instant.pod6:
Document future leap second behaviour

Related to rt.perl.org/Ticket/Display.html?id=126119
13:42
timotimo maybe at some point we should consider offering newer builds of older rakudo releases and rakudo star releases that have more leap seconds in them 13:44
[Coke] timotimo: I think if someone cares that much about leap seconds, they can get the latest copy of rakudo 13:50
(or we can write up a doc on how they can update the leapseconds table and do a build themselves) 13:51
unmatched} Seems a bad idea. Right now you can workaround it by doing $*VM.version before '2016.07', for example, but that would either break if you use the same version number for the updated release or it'd require more conditionals for the new version
[Coke] maybe we can do a meta table that shows which seconds were available in which compiler. 13:52
(I am... only mostly kidding)
unmatched} Wouldn't be a bad idea for a module
Leap::BackToTheFuture :) 13:53
[Coke] there we go. push to module space, people who really care have a place to go. 13:57
jkramer Ahoy 13:59
unmatched} \o
jkramer Is there a way to check if an Array of stuff or something else matches a Signature? 14:00
timotimo sure, you can just smartmatch against the signature, can't you?
jkramer Like $r.signature ~~ ['string', 123, SomeClass $foo]
timotimo well, you have the smart match the wrong way around :) 14:01
jkramer Don't know, didn't try because I didn't find anything in the docs :)
Oh
jkramer Ah actually it is right there in the docs -_- 14:01
timotimo m: my Signature $s = :(Str $a, Int $b, Rat $c); say \("hello", 1234, 1.5) ~~ $s 14:01
camelia rakudo-moar 6d1e95: OUTPUT«True␤»
timotimo m: my Signature $s = :(Str $a, Int $b, Rat $c); say \("hello", 1234, "lol") ~~ $s
camelia rakudo-moar 6d1e95: OUTPUT«False␤»
jkramer \o/ 14:02
thx
timotimo np
dalek c: d0c34fa | (Zoffix Znet)++ | doc/Type/Instant.pod6:
Move prose on future leap seconds to its own section

There are many methods that have this caveat, not just .from-posix
14:06
c: 0ffd2a1 | (Zoffix Znet)++ | .gitignore:
Add html/perl6.xhtml to .gitignore
c: 1366219 | (Zoffix Znet)++ | Makefile:
Add make ctest for testing just content (tabs/traling ws)

This makes it easier to test for just the content warts, without having to install prereqs like ::ToBigPage
c: 9d6b726 | (Zoffix Znet)++ | Makefile:
Update make help
14:07
c: aabab44 | (Zoffix Znet)++ | doc/ (3 files):
Strip accumulated trailing whitespace
14:09
unmatched} [Coke]: BTW, I opened a ticket that may need to be forwarded to RT admins. Unless I'm misunderstanding how email-to-comments-on-RT-ticket works: rt.perl.org/Ticket/Display.html?id=128749 14:10
unmatched} oh, you responded. *reads* 14:12
jkramer Also is there a way to check if something has a trait? E.g. $routine.has-trait('foo') or something 14:13
unmatched} Well, I've no idea what address is the right one. It's just not the first time I see replies to tickets in the compiler list that are basically lost, since there's nothing replicated to the ticket *shrug* 14:14
dalek c: dc52b87 | coke++ | doc/Language/faq.pod6:
use actual version literal
14:15
lizmat m: sub a() is hidden-from-backtrace {}; say &a.?is-hidden-from-backtrace 14:18
camelia rakudo-moar 6d1e95: OUTPUT«True␤»
lizmat m: sub a() {}; say &a.?is-hidden-from-backtrace
camelia rakudo-moar 6d1e95: OUTPUT«Nil␤»
lizmat jkramer: something like that? ^^^
jkramer lizmat: Yes, but for random traits :) Like, my own self-defined ones
lizmat well, if they consist of mixing in something into the sub, than that would be the way to do it 14:19
unmatched} m: say $*VM.version after 2016.07
camelia rakudo-moar 6d1e95: OUTPUT«True␤»
unmatched} m: say $*VM.version before 2016.07
camelia rakudo-moar 6d1e95: OUTPUT«False␤»
jkramer You mean just inject a is-my-trait method?
unmatched} Version has this magic treatment of Rats?
m: say $*VM.version.Rat 14:20
camelia rakudo-moar 6d1e95: OUTPUT«Method 'Rat' not found for invocant of class 'Version'␤ in block <unit> at <tmp> line 1␤␤»
lizmat jkramer: you see, when you add a trait, you're basically just executing a sub at compile time
jkramer: whatever that sub does, is up to you
unmatched} m: say 2016.07.Version
camelia rakudo-moar 6d1e95: OUTPUT«Method 'Version' not found for invocant of class 'Rat'␤ in block <unit> at <tmp> line 1␤␤»
jkramer Yeah I know. I just thought it would keep track of that somewhere and I could check it later :)
lizmat this is the implementation of is-hidden-from-backtrace: 14:21
multi sub trait_mod:<is>(Routine:D $r, :$hidden-from-backtrace!) {
$r.^mixin( role { method is-hidden-from-backtrace { True } } );
}
dalek c: 17969cf | (Zoffix Znet)++ | doc/Type/Instant.pod6:
Use version literal
lizmat jkramer: there is no keeping track unless you do it yourself :-)
jkramer lizmat: Alright, thanks :) 14:27
holyghost lizmat: thanks for that (^mixin) 14:33
now I understand roles 14:34
unmatched} m: DateTime.new("2016-12-31T23:59:60") 14:38
camelia ( no output )
unmatched} star: DateTime.new("2016-12-31T23:59:60")
camelia star-m 2016.04: OUTPUT«Second out of range. Is: 60, should be in 0..^60; There is no leap second on UTC 2016-12-31␤ in block <unit> at <tmp> line 1␤␤»
unmatched} ^ another worm from the leap second can :) 14:38
harmil Sorry for the utterly weird bug report, but it was strange enough behavior I thought I should rakudobug it. 14:40
rt.perl.org/Public/Bug/Display.html?id=128751
timotimo right, you can apparently make a program crash if you can supply it with a date that's valid to the rest of the system, but not to rakudo 14:41
unmatched} I wonder how evil an idea would be to expose this to the user: github.com/rakudo/rakudo/blob/6d1e...ls.pm#L841
And have a module that adds new seconds to it. So you can keep updating the module with new leap seconds that will be effectively updating the Rakudo's leap second table 14:42
bisect: for 1..100 -> $i { say (((^$i).map: {^$_}) <<(-)>> ((^($i+1)).map: {$_ xx $i})) } 14:43
Oh shit
timotimo isn't it supposed to be "bisectable:"? 14:44
unmatched} bisect: 2+2
bisectable: 2+2
I think both work. And now it's churning my first one.
timotimo mhm 14:45
m: for 1..100 -> $i { say (((^$i).map: {^$_}) <<(-)>> ((^($i+1)).map: {$_ xx $i})) }
camelia rakudo-moar 6d1e95: OUTPUT«(timeout)WARNINGS for <tmp>:␤Useless use of $_ in sink context (line 1)␤(() ())␤(() (set(0) set(0)) ())␤(() (set(0) set(0) set(0)) (set(0) set(1) set(0)) ())␤(() (set(0) set(0) set(0) set(0)) (set(0) set(1) set(0) set(1)) (set(0) set(1) set(2) se…»
timotimo m: .perl.say for [\,] ^100 14:46
camelia rakudo-moar 6d1e95: OUTPUT«(0,)␤(0, 1)␤(0, 1, 2)␤(0, 1, 2, 3)␤(0, 1, 2, 3, 4)␤(0, 1, 2, 3, 4, 5)␤(0, 1, 2, 3, 4, 5, 6)␤(0, 1, 2, 3, 4, 5, 6, 7)␤(0, 1, 2, 3, 4, 5, 6, 7, 8)␤(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)␤(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤(0, 1, 2, 3, 4, 5, 6, 7…»
timotimo are you interested in this kind of thing?
unmatched} I was just trying to see if bisectable could point to a commit that shows what fixed harmil's bug 14:47
unmatched} harmil: there's a newer R*. Are you able to try with it? rakudo.org/downloads/star/rakudo-st...0(JIT).msi 14:48
harmil will do later, got a delivery so now I'm off to @job[0] 14:49
unmatched} I should probably do the same...
lizmat unmatched}: all for exposing the dates / posix values 14:52
but would probably not be in favour of allowing it to be added upon
rather, so it can serve as a basis of a module that *does* allow adding ?
lizmat hmmm... 14:52
nebuchadnezzar Is it on purpose that some module names or method references are not links to their definition ? like the antepenultimite and last paragraphes in docs.perl6.org/language/ipc ? 14:53
unmatched} The module can even be updated automatically, by setting a script to watch when Rakudo adds new seconds 14:54
unmatched} nebuchadnezzar: don't think there's any hard reason. Just the person writing it used a C<> Pod marker rather than an L<> OTOH, I've no idea if L<IO::Path> would automatically make a link to that type 14:55
moritz nebuchadnezzar: probably just laziness on part of the authors
nebuchadnezzar moritz: ok, so it does not hurt if I convert some C<> to L<> ? 14:56
unmatched} nebuchadnezzar: also RE your previous comments about highlighting on docs.perl6.org/language/quoting The reason code is not highlighted is because there's a bug that prevents highlighting when B<> or the like are used in the code sample. And I'm guessing the plain-text samples are highlighted as code simply because they're marked up as code. 14:57
moritz nebuchadnezzar: it would be appreciated if you do that
nebuchadnezzar unmatched}: yes, moritz confirm that too
unmatched} oh
nebuchadnezzar moritz: ok, I'll do that, it's frustrating to search a clickable link when jumping to a part of a documentation 14:59
dalek c/css_animation: 917be4d | Altai-man++ | html/ (2 files):
Css-based animation for TOC.
15:10
sena_kun Ah. 15:11
Wrong file.
unmatched} I'd say: 1 missing file. Both sass and css need to be updated 15:12
(at least until next week)
sena_kun unmatched}, I noticed it just now. :) I'll update it now... 15:12
dalek c/css_animation: 5c3916b | Altai-man++ | assets/sass/style.scss:
Actually needed SASS-file, fix for of previous commit
15:13
sena_kun Autocomplete of filepaths is evil sometimes. 15:15
sena_kun Ah, I've ruined all the PR. Maybe not my day. 15:17
s/PR/branch
unmatched} sena_kun: how did you ruin the branch? 15:18
dalek osystem: e9af3ed | (Peter Pentchev)++ | META.list:
Add Test::Deeply::Relaxed to the ecosystem.

Loosely compare two data structures in depth.
osystem: 204be27 | Altai-man++ | META.list:
Merge pull request #229 from ppentchev/roam-test-deeply-relaxed

Add Test::Deeply::Relaxed to the ecosystem.
sena_kun unmatched}, I forked it not from master, but from another branch, so it can't be merged without this another branch changes. 15:19
unmatched} github.com/ppentchev/perl6-Test-Deeply-Relaxed
I'm still waiting for someone to do P6 version of P5's Test::Deep(ly?) 15:20
So you could, say, compare data structures that have timestamps or other volatile info by checkign them with regexes, while doing exact matches for other keys in a hash or array
[Coke] unmatched}: I've already pinged the rt bug admins and pointed them to that ticket, I'll let you know what I hear back.
unmatched} [Coke]++ 15:21
dalek c/animated_css: 8d8f62f | Altai-man++ | / (2 files):
Css-based TOC animation
15:25
travis-ci Doc build passed. Altai-man 'Css-based animation for TOC.' 15:31
travis-ci.org/perl6/doc/builds/147786240 github.com/perl6/doc/commit/917be4d16b76
travis-ci Doc build passed. Altai-man 'Actually needed SASS-file, fix for of previous commit' 15:35
travis-ci.org/perl6/doc/builds/147787164 github.com/perl6/doc/compare/917be...3916bbb963
bisectable unmatched}: Exit code is 0 on both starting points, bisecting by using the output 15:36
unmatched}: bisect log: gist.github.com/e83b51a5a4032fced1...8d37a5cbe9
unmatched}: (2015-12-25) github.com/rakudo/rakudo/commit/07fecb5 15:37
unmatched}: On both starting points the exit code is 0 and the output is identical as well
unmatched}: Output on both points: WARNINGS for /tmp/Q_XxJSFL8Q:␤Useless use of "+" in expression "2+2" in sink context (line 1)
unmatched}: On both starting points the exit code is 0 and the output is identical as well
unmatched}: Output on both points: WARNINGS for /tmp/fY8PKahj4r:␤Useless use of "+" in expression "2+2" in sink context (line 1)
unmatched} :D
FWIW that animation code can be greatly simlified. The JS bit can just be Cookies.set('toc_state', el.text() == '[hide]' ? 'hidden' : 'shown'); el.parents('nav').find('tbody').toggleClass('hiddenTOC'); or something similar and the CSS code can use one class/classless to style + the vendor prefixes can all go away, since all browsers that we support can handle `transition` 15:39
unmatched} sena_kun: this needs to be converted to a class toggle too: github.com/perl6/doc/blob/8d8f62fe...ain.js#L40 15:40
Right now once you hide toc you can't unhide it, from what I see
err... well, the conditional below it... that still calls .hide() 15:41
sena_kun unmatched}, ah, right, this should be changed too. I didn't know about safe prefixes, so I went with all-case variant. Yes, I'll update it now. 15:42
unmatched} sena_kun++ 15:43
travis-ci Doc build passed. Altai-man 'Css-based TOC animation' 15:44
travis-ci.org/perl6/doc/builds/147789719 github.com/perl6/doc/commit/8d8f62fe7203
hursh Does anyone know if the latest star release should build on SLES11? 16:47
"make_path" is not exported by the File::Path module
moritz hursh: what's the perl 5 version? 16:48
hursh Looks like perl 5.10 is too old. I'm just wondering if that's intentional.
dalek c: 62cc649 | (Jan-Olof Hendig)++ | doc/Type/Pair.pod6:
Added docs for Pair.keys
moritz hursh: no, we don't intentionally break the build :-)
though 5.10 is *OLD* 16:49
hursh :-) I mean stop supportting version of perl older than ???
SLES11 is old.
ok
moritz afaict we still try to support 5.10.1 at least
or maybe 5.10.0
hursh I'm building it for the systems in my cluster. Just wondering I need to skip sles11. 16:50
stmuk I think there are recent dependencies on versions of perl > 5.10
hursh perl-base-5.10.0-64.72.1 is the problem here. File::Path is too old.
TimToady m: 42 xx 42 16:51
camelia rakudo-moar 4c848b: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤»
TimToady m: my method bar($a) { $a xx 42 }
camelia ( no output )
TimToady with latest change, finds a real bug in the setting 16:52
in src/core/Block.pm: my $need_cap = $sig.count == Inf and not ($slurp_p and $slurp_n);
skids: ^^^ your code, according to git :) 16:53
TimToady oh, this isn't -dev oops 16:54
dalek c/animated_css: 21893b2 | Altai-man++ | / (2 files):
Simplification of both js and css code for animation
16:56
sena_kun afk for an hour, reviews are still welcome. 17:00
unmatched} sena_kun: looks good to me
Coleoid_n Hi, #perl6! 17:29
unmatched} \o
Coleoid_n I updated to R* 2016.07 and the REPL seems kaput, is that a known issue?
unmatched} Coleoid_n: nope. What's the issue? 17:30
Coleoid_n I enter perl6 on the command line and it returns without output. I'll put together a paste if that's useful. 17:32
unmatched} 0.o
What OS?
Coleoid_n I'm on Win 10 in Powershell.
Coleoid_n I'll try it in cmd... 17:33
Coleoid_n Also weird, in cmd it reports "Access is denied." and exits. 17:34
unmatched} Coleoid_n: Would you please report it as a bug? Testing such basic operation of REPL is part of the build process, so it's really weird that it slipped through. Please include some details about OS and any installed tools and modules that may affect this.
huggable: rakudobug 17:35
huggable unmatched}, To report a bug, email detailed description and any test cases to [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
Coleoid_n I'm newly updated to Win 10, so it could be an issue with that.
unmatched} I got Win10 at home and REPL worked fine there last time I tried.
(via cmd.exe)
Coleoid_n I'll send that report, after poking it a bit more. Thanks! 17:36
stmuk maybe it's a perms/ownership issue? 17:38
do you get the same error opening a cmd.exe windows as Adminstrator? 17:39
Coleoid_n perl6 -v works in a shell with admin permissions, otherwise another "access denied", and I'm having other perms issues, so I believe you're right, stmuk.
stmuk :) 17:40
gfldex Coleoid_n: can't reproduce on a clean Win10 VM. I didn't upgrade tho (hence clean). 17:41
Coleoid_n Oh, that's another possibility. When I was upgrading, I ran into file overwrite problems. I'll do an uninstall and clean reinstall. 17:42
(of R*)
[Coke] ok, this is so off topic, but I was just followed by "Beverage Consulting, liquid brands management"... probably because I've got a coke in my name... and their handle is @liquidbm 17:55
I realize younger than me and you probably won't get why that's a.. crappy nick, but damn. 17:56
Coleoid_n Blugh.
Guess I'm >= your age, then, Coke.
unmatched} doesn't get why that's a crappy nick
[Coke] bm is what my grandmother called a bowel movement. 17:57
unmatched} heh 17:58
Yeah, google search corroborates that usage.... Right after showing Beverage Consulting as first result :P
[Coke] is 40 something.
unmatched} is 15
dalek sectbot: eee0383 | (Aleks-Daniel Jakimenko-Aleksejev)++ | bisectable.pl:
Reduce bisectable timout

Given that this timeout is per each run, 200 is a bit too much. Each bisect query should test about 12 commits, so with the previous limit it meant that it would hang for half an hour.
Now it will hang for two minutes, but that's okay.
17:59
AlexDaniel unmatched}: ↑ hehe 18:00
[Coke] unmatched}: seriously? huh.
stmuk is 31 (but not in base 10) 18:01
unmatched} [Coke]: sure, why not. It's not like I would make something like this up.
And my 10-years of Perl experience are also true :) 18:02
I started writing code when I was 3. My mother read me programming manuals in leu of children's books :D 18:03
hoelzro didn't start coding until 17 =/
unmatched}: good on you for getting an early start =)
unmatched} :D
AlexDaniel how can I do that with a loop? 18:04
m: say :4<31>; say :5<31>; say :6<31>; say :7<31>; say :8<31>; say :9<31>; say :10<31>; say :11<31>; say :12<31>;
camelia rakudo-moar 4c848b: OUTPUT«13␤16␤19␤22␤25␤28␤31␤34␤37␤»
AlexDaniel bisect: for 1..100 -> $i { say (((^$i).map: {^$_}) <<(-)>> ((^($i+1)).map: {$_ xx $i})) } 18:07
:P
[Coke] started somewhere between zz and hoelzro 18:10
lambd0x Hi everyone o/ 18:11
unmatched} I was kidding lol. I'm 30 and I started coding at 14 :)
hoelzro o/ lambd0x
gah
I'm way too gullible =S
unmatched} lol
AlexDaniel nah, still not enough 18:12
lambd0x people is there a way to take an existing image open it and show it in a program? 18:13
perlpilot lambd0x: "is there a way to ..." style questions mostly have an answer of "yes, but ..." and it's the "but ..." part you really need to know about :) 18:14
[Coke] jnthn: found another segfault for you in RT #123434 18:15
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123434
[Coke] ww
unmatched} m: use MONKEY-GUTS; nqp::radix($_, "31", 0, 0)[0].say for 4..12 18:17
camelia rakudo-moar 4c848b: OUTPUT«13␤16␤19␤22␤25␤28␤31␤34␤37␤»
unmatched} AlexDaniel: there's that. No idea how to do with P6 tho
lambd0x perlpilot: I wanted to display an image to the user I've found inumerous ways of read, manipulation, etc. but not that though. 18:18
perlpilot lambd0x: maybe one of the SDL or Gtk modules has something for you? 18:19
perlpilot lambd0x: there may be others, search modules.perl6.org 18:19
gfldex m: 31.base($_).say for 2..16;
camelia rakudo-moar 4c848b: OUTPUT«11111␤1011␤133␤111␤51␤43␤37␤34␤31␤29␤27␤25␤23␤21␤1F␤»
lambd0x perlpilot: In our modules there're some about that creates an image and even apply some effect or resize it. But not for displaying it really. 18:21
unmatched} lambd0x: there are some GTK modules modules.perl6.org/#q=GTK%3A%3A and SDL2 module: github.com/timo/SDL2_raw-p6
lambd0x: but it also depends on your audience and purpose. `run "eog", $image` works fine on my box :) 18:22
lambd0x perlpilot: yes, but I wanted something OS independent.. 18:23
unmatched} Show it in a browser :P
There's probably a way to queue what the system's default thing for browing is
lambd0x unmatched}: unmatched} hm... true. Is there a native way of doing it. or better rakudo perl already support it? 18:24
unmatched} No idea.
lambd0x unmatched}: ahahah 18:25
unmatched} heh
lambd0x unmatched}: Prob in perl 5 there is.
if not in rakudo perl 6 :)
thanks guys
geekosaur windows has a reliable way to open the default browser. os x has one with some edge cases. most linux does *not* have a reliable way; the documented one (xdg-open) is widely mis-implemented and often buggy 18:28
hoelzro hehe, edge cases =P
lambd0x ahahaha 18:30
skids Well, on sensible linux systems, you have sensible-browser 18:32
unmatched} lol. I ran it not expecting much, but turns out it works 18:34
lambd0x :)
unmatched} Event starts lynx on my headless debian server
sena_kun Since nobody is against, I'm merging css-animation for the TOC now. 18:38
unmatched} sena_kun++
dalek c: 8d8f62f | Altai-man++ | / (2 files):
Css-based TOC animation
c: 21893b2 | Altai-man++ | / (2 files):
Simplification of both js and css code for animation
c: 60aa1dd | Altai-man++ | / (2 files):
Merge pull request #767 from perl6/animated_css

Css-based TOC animation
harmil m: say [*] set(1,2,3) 19:06
camelia rakudo-moar debc7c: OUTPUT«set(3, 1, 2)␤»
harmil Is it wrong of me to expect that to be 9?
moritz yes
a set is not a list
harmil Is it wrong of me to think that I'm not the last person who is going to ask that? 19:08
unmatched} Well, also 9 is a wrong number :)
m: say [*] set(1,2,3).keys
camelia rakudo-moar debc7c: OUTPUT«6␤»
harmil Sorry, I 'm upside down :)
I meant 6
unmatched} m: say [*] set(1,2,3), set(4,5,6) 19:09
camelia rakudo-moar debc7c: OUTPUT«9␤»
unmatched} ehehe
harmil Well, obviously. 19:10
perlpilot harmil: what would a reasonable person think the result of multiplying two sets should be? (or a set by a number?)
hoelzro I understand the concern that unmatched}'s snippet above doesn't look like multiplying sets together 19:11
harmil I would expect that either it would warn, error or resort to a hyperoperation of the requested nonsensical operation.
[Coke] Looks fine to me.
m: say +set(1,2,3)
camelia rakudo-moar f0abe8: OUTPUT«3␤»
hoelzro to me as well - but I understand how newbies could get tripped up on that
[Coke] ^^ good luck keeping that and making [*] warn instead of using it.
hoelzro my $a = set(1..3); my $b = set(4..6); say [*] $a, $b; 19:12
that makes it more obvious
[Coke] m: my $a = set(1..3); my $b = set(4..6); say [*] $a, $b;
camelia rakudo-moar f0abe8: OUTPUT«9␤»
harmil The idea that set(1,2,3) and [1,2,3] are fundamentally incompatible views of collections of integers seems confusing to me
One is an ordered list one is unordered. That's really the end of it
harmil ((logically)) 19:13
hoelzro my first "real" programming language was Java, so I'm biased in thinking that it makes sense
(because the Java collections API defines a List as an ordered sequence of values, and a Set as an unordered collection of values) 19:14
the important thing about a list is order; whereas the important thing about a set is membership
unmatched} harmil: set is a collection of pairs, really 19:15
m: dd set(1,2,3)
camelia rakudo-moar f0abe8: OUTPUT«set(3,1,2)␤»
unmatched} m: dd |set(1,2,3)
camelia rakudo-moar f0abe8: OUTPUT«3 => Bool::True␤1 => Bool::True␤2 => Bool::True␤»
perlpilot Some multis for infix:<*> that took into account Set and warned might still be useful and non-onerus for those that would use sets
unmatched} m: my $s = SetHash.new: 1,2,3; $s<2> = 42; say $s 19:16
camelia rakudo-moar f0abe8: OUTPUT«SetHash.new(3, 2, 1, 2)␤»
unmatched} harmil: ^ this in particular is a curious effect.
m: my $s = SetHash.new: 1,2,3; $s<2> = 42; dd|$s
camelia rakudo-moar f0abe8: OUTPUT«WARNINGS for <tmp>:␤Useless use of "|" in expression "dd|$s" in sink context (line 1)␤block <unit>␤»
unmatched} m: my $s = SetHash.new: 1,2,3; $s<2> = 42; dd |$s
camelia rakudo-moar f0abe8: OUTPUT«3 => Bool::True␤IntStr.new(2, "2") => Bool::True␤1 => Bool::True␤2 => Bool::True␤»
unmatched} m: my $s = SetHash.new: 1,2,3; $s{2} = 42; say $s 19:17
camelia rakudo-moar f0abe8: OUTPUT«SetHash.new(3, 1, 2)␤»
unmatched} This, I guess is better. You can't have more than one member.
That's the same
harmil I understand the implementation and the concept of bags, etc. I'm just asking why we're exposing that complexity at the level of trying to iterate over an object ala [*] [1,2,3] (which does produce 6,)
[Coke] m: say "this".path.WHAT
camelia rakudo-moar f0abe8: OUTPUT«(Path)␤»
unmatched} m: say Set ~~ Iterable 19:18
camelia rakudo-moar f0abe8: OUTPUT«False␤»
unmatched} m: say [] ~~ Iterable
camelia rakudo-moar f0abe8: OUTPUT«True␤»
unmatched} m: say Hash ~~ Iterable
camelia rakudo-moar f0abe8: OUTPUT«True␤»
unmatched} *shrug*
m: say [*] set(1,2,3) but Iterable 19:20
camelia rakudo-moar f0abe8: OUTPUT«Cannot resolve caller Numeric(Pair: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at <tmp> line 1␤␤»
unmatched} m: use MONKEY-TYPING; augment class Pair { method Numeric { self.key } }; say [*] set(1,2,3) but Iterable 19:21
camelia rakudo-moar f0abe8: OUTPUT«6␤»
unmatched} ehehe. I ♥ Perl 6 :)
mniip so uh, any good resource for jumping straight into perl6? 19:25
unmatched} m: use MONKEY-TYPING; augment class Set does Iterable {}; augment class Pair { method Numeric { self.key } }; say [*] |set(1,2,3), |set(4,5,6)
camelia rakudo-moar f0abe8: OUTPUT«720␤»
unmatched} mniip: straight from where?
mniip I don't know, generic programming experience? 19:26
perl 5 perhaps?
harmil I highly recommend the docs site. It has a lot of good high-level starting points
unmatched} mniip: for P5 we have a few 5-to tuts here: docs.perl6.org/language.html
mniip: general; I guess Learn X in Y is a good site: learnxinyminutes.com/docs/perl6/
mniip what I mean is I'm not looking for tutorials on programming 19:27
unmatched} huggable: new
huggable unmatched}, See "For Newcomers" section on perl6.org/documentation/
hoelzro oh, hi mniip =)
unmatched} mniip: yeah, LearnXinY is a good place. It just goes through concepts
s/concepts/ways to do things in P6/; 19:28
mniip mhm
also hi hoelzro
what happened between you and lua :p
unmatched} There's also perl6intro.com/ but I've no idea what its target readers are 19:29
hoelzro I still use it - I've just been taking a break from #lua
[Coke] also, rosettacode is good for "I know how to solve this problem in X, how do I solve it in Y?" 19:30
Perl 6 has pretty good coverage there.
mniip huh 19:33
identifiers can contain apostrophes but not at the end? 19:34
hoelzro yup
unmatched} And hyphens too
m: my \this-is-friggin'-awesome;
camelia rakudo-moar f0abe8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Term definition requires an initializer␤at <tmp>:1␤------> 3my \this-is-friggin7⏏5'-awesome;␤»
unmatched} m: my \this-is-friggin'-awesome = 'meow';
camelia rakudo-moar f0abe8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Term definition requires an initializer␤at <tmp>:1␤------> 3my \this-is-friggin7⏏5'-awesome = 'meow';␤»
mniip I think you need an alpha between ' and -
unmatched} heh. I guess not followed by a hyphen either :D
m: my \this-is-friggin'so-awesome = 'meow'; 19:35
camelia ( no output )
unmatched} m: my \Δ = 42; say Δ
camelia rakudo-moar f0abe8: OUTPUT«42␤»
unmatched} ^_^
gfldex m: say 'foo{my $a'b}bar'
camelia rakudo-moar f0abe8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say 'foo{my $a'7⏏5b}bar'␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modifie…»
gfldex m: say Q:c'foo{my $a'b}bar' 19:36
camelia rakudo-moar f0abe8: OUTPUT«5===SORRY!5===␤Unrecognized adverb: :c'foo␤at <tmp>:1␤------> 3say Q:c'foo7⏏5{my $a'b}bar'␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3say Q:c'foo{my $a'b}7⏏5bar'␤ expecting any of:␤ …»
mniip in haskell you add ' at the end of a function name to denote some small difference, e.g more strictness, not sure what the point of having ' in identifiers is in perl with that restriction
gfldex m: say Q:c 'foo{my $a'b}bar'
camelia rakudo-moar f0abe8: OUTPUT«Use of uninitialized value $a'b of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1␤foobar␤»
unmatched} Probably something to do with single-parse parsing and it needing to know where terms end and stuff 19:39
[Coke] .u u+F8F6 19:40
yoleaux No characters found
mniip no I mean I understand why it might be ambiguous without the restriction but then why have ' at all
unmatched} mniip: to write things like doesn't-hang() (actual sub from our test suite)
There was a talk about ditching it before Christmas release, but luckily reason prevailed ^_^ 19:41
m: "\x[F8F6]".uninames.say
camelia rakudo-moar f0abe8: OUTPUT«(<Private Use>)␤»
mniip is glad he isn't using his 'm' nickname on a regular basis 19:42
unmatched} :D 19:43
mniip "Reduction operators work on lists of values. They are formed by surrounding the operator with brackets []" 19:44
is that a right fold, a left fold, or is associativity assumed
unmatched} m: say [*] ^4
camelia rakudo-moar f0abe8: OUTPUT«0␤»
unmatched} m: say [*] 1, 2, 3
camelia rakudo-moar f0abe8: OUTPUT«6␤»
unmatched} m: say [\*] 1, 2, 3 19:45
camelia rakudo-moar f0abe8: OUTPUT«(1 2 6)␤»
unmatched} I don't know what folds are :(
[Coke] [*] is on a single list, does that even have a fold? 19:46
geekosaur somehow I think you are talking different languages... 19:47
gfldex mniip: you may want to watch youtu.be/BJIfPFpaMRI?t=2053
[Coke] [*] and [\*] operate left to right, fwiw.
hoelzro [*] is a fold, [\*] is a scan 19:50
m: [*] ^10
camelia ( no output )
hoelzro m: say [*] ^10
camelia rakudo-moar f0abe8: OUTPUT«0␤»
hursh Hi. I have a stupid question. Where do we report bugs for the star releases?
hoelzro oh, ha
m: say [*] 1..10
camelia rakudo-moar f0abe8: OUTPUT«3628800␤»
hoelzro m: say [-] 1..10 19:51
camelia rakudo-moar f0abe8: OUTPUT«-53␤»
hoelzro m: say [R-] 1..10
camelia rakudo-moar f0abe8: OUTPUT«-35␤»
hoelzro I *think* using [R-] would be the right way to effectively make the fold go the other way
gfldex hursh: [email@hidden.address] 19:52
mniip hmm
geekosaur my recollection is it's supposed to introspect the operator to determine associativity? (because iirc someone was noting it didn't work with exponentiation the other day?)
hursh gfldex: Thanks 19:54
mniip all these functional-ish features crammed into syntax 19:55
harmil Tried to do the monkey typing on set... less than clear on my results: 19:56
m: use MONKEY-TYPING; augment class Set does Iterable { method iterator { self.keys }; method lazy { self.iterator.lazy } }; say [*] set(1,2,3)
camelia rakudo-moar f0abe8: OUTPUT«Cannot resolve caller Numeric(Pair: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at <tmp> line 1␤␤»
dalek c: c23d0f7 | (Jan-Olof Hendig)++ | doc/Type/Pair.pod6:
Added docs for Pair.values
[Coke] if you augment an existing class, you might have to re compose it. 19:58
jnthn um...that method iterator ain't gonna work out well, it's not returning an iterator. 20:00
harmil Should i be calling .keys.iterator? 20:02
THat gives the same error
ZoffixMobile The error is because pair can't do Numeric. See unmatched's examples above 20:04
Also note: augmentation affects your entire program. You shouldn't be using it willy-nilly 20:05
harmil m: use MONKEY-TYPING; augment class Set does Iterable { method iterator { self.keys.iterator }; method lazy { self.keys.lazy } }; say [*] set(1,2,3)
camelia rakudo-moar f0abe8: OUTPUT«Cannot resolve caller Numeric(Pair: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at <tmp> line 1␤␤»
harmil But why should a pair be produced when I'm explicitly iterating over the keys? 20:06
I'
ZoffixMobile dunno 20:07
harmil Hmm... I'll work on this more tomorrow.
konobi pmurias: how goes? 20:09
mniip why is Mu called what way? is it related to the least fixed point combinator? 20:15
ZoffixMobile huggable, Mu name
huggable ZoffixMobile, "M"ost "u"ndefined. Or philosophical: "The nothing from which everything proceeds"
rindolf ZoffixMobile: meow! Sup? 20:21
ZoffixMobile Hi
jdv79 rindolf: hows tge weather? 20:24
rindolf jdv79: it's very warm.
jdv79: and sunny - though now it's past nightfall. 20:25
jdv79 its a bit of a scorcher here as well
rindolf jdv79: how is it there?
jdv79: ah.
AlexDaniel re [*] set(1,2,3) discussion 20:35
m: say [*] set(1,2,3) # ok, I get it
camelia rakudo-moar f0abe8: OUTPUT«set(3, 1, 2)␤»
AlexDaniel m: say [*] set(1,2,3), set(4,5,6) # hmmm… 20:36
camelia rakudo-moar f0abe8: OUTPUT«9␤»
gfldex m: say [*] 3, 3
camelia rakudo-moar f0abe8: OUTPUT«9␤»
AlexDaniel gfldex: sure, I am just surprised that the first one is not 3
gfldex the first one should produce some undefined value 20:37
m: say 3 * NaN
camelia rakudo-moar f0abe8: OUTPUT«NaN␤»
[Coke] m: say [*] 3
camelia rakudo-moar f0abe8: OUTPUT«3␤»
[Coke] m: m: say [*] set(1,2,3) 20:38
camelia rakudo-moar f0abe8: OUTPUT«set(3, 1, 2)␤»
[Coke] the metaop might be returning $arg there, instead of +$arg 20:41
[Coke] m: say set(1,2,3).Numeric.perl; 20:44
camelia rakudo-moar f0abe8: OUTPUT«3␤»
AlexDaniel soooo… is it a bug? 20:47
[Coke] m: say [*] (3i+2)
camelia rakudo-moar f0abe8: OUTPUT«2+3i␤»
[Coke] m: say [*] bag(1,2,3) 20:48
camelia rakudo-moar f0abe8: OUTPUT«bag(3, 1, 2)␤»
[Coke] m: infix:<*>(3).say 20:48
camelia rakudo-moar f0abe8: OUTPUT«3␤»
perlpilot m: say [+] set(6,7,8)
camelia rakudo-moar f0abe8: OUTPUT«Cannot resolve caller Numeric(Pair: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at <tmp> line 1␤␤»
[Coke] m: infix:<*>(set(1,2,3)).say
camelia rakudo-moar f0abe8: OUTPUT«3␤»
[Coke] O_O; 20:49
gfldex AlexDaniel: there is a bug somewhere
perlpilot concurs
[Coke] I would expect [*] *THING* to match infix:<*>(*THING*)
jnthn Not the *THING* is iterable you wouldn't :) 20:50
[Coke] I would also expect [*] *THING* to be the same as [*] +*THING*
gfldex also there is ENODOCS because we don't doc what happens with lists with 1 element
jnthn I guess the set iterates through its elements
m: my @a = 1,2,3; say [+] @a
camelia rakudo-moar f0abe8: OUTPUT«6␤»
jnthn m: my @a = 1,2,3; say infix:<+> @a
camelia rakudo-moar f0abe8: OUTPUT«3␤»
jnthn Just like that 20:51
jnthn m: my @a = 1,2,3; say [+] @a, 4 20:51
camelia rakudo-moar 8ede35: OUTPUT«7␤»
[Coke] gfldex: for [*] ops, we should. (there's a default condition for each of the ops - [*] is the same as *1 on a single list, [+] is the same as +0...)
jnthn Single arg rule in action :)
gfldex m: dd [*] 3; 20:53
camelia rakudo-moar 8ede35: OUTPUT«3␤»
gfldex m: dd [*] (3,);
camelia rakudo-moar 8ede35: OUTPUT«3␤»
gfldex m: dd [-] (3,); 20:55
camelia rakudo-moar 8ede35: OUTPUT«3␤»
AlexDaniel m: 'say [*] ‘abc’
camelia rakudo-moar 8ede35: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in single quotes; couldn't find final "'" ␤at <tmp>:1␤------> 3'say [*] ‘abc’7⏏5<EOL>␤ expecting any of:␤ single quotes␤ term␤»
AlexDaniel m: say [*] ‘abc’
camelia rakudo-moar 8ede35: OUTPUT«abc␤»
sena_kun On docs.perl6.org, how update works? Isn't it preprocesses SASS file to use? It seems I need to push locally generated style.css. No good.
AlexDaniel m: say [/] ‘abc’
camelia rakudo-moar 8ede35: OUTPUT«abc␤»
AlexDaniel m: say [+] ‘abc’
[Coke] identity is the word I was trying to remember there, I think.
camelia rakudo-moar 8ede35: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5abc' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel m: say [-] ‘abc’
camelia rakudo-moar 8ede35: OUTPUT«abc␤»
AlexDaniel WAT
[Coke] sena_kun: yes, you need to build the sass file and commit it 20:56
sena_kun [Coke], thanks.
gfldex AlexDaniel++ bugs++
[Coke] commit the generated file, that is.
committable [Coke]: ¦«the»: Cannot find this revision
[Coke] commit or die!
committable [Coke]: ¦«or»: Cannot find this revision
sena_kun AlexDaniel, thanks for your notice, I've fixed animation now.
dalek c: 318cd11 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6:
doc reduction of single element lists
20:57
[Coke] maybe make commit only respond to "commit:" ?
AlexDaniel sena_kun: it seems like you have to update .css file every time you change sass file
perlpilot [Coke]: +1
hursh Is there any methods or tricks to easily commafy a number? (1000000 => 1,000,000)
moritz isn't there an sprintf formatter for that, or something?
AlexDaniel [Coke]: sure-sure, but no. I mean, we are going to rewrite these bots in Perl 6 soon and the thing will go away. 20:58
[Coke] m: say 1000000.flip.comb(3).join(',').flip.say
camelia rakudo-moar 8ede35: OUTPUT«1,000,000␤True␤»
[Coke] m: 1000000.flip.comb(3).join(',').flip.say # only need one say 20:58
camelia rakudo-moar 8ede35: OUTPUT«1,000,000␤»
dalek c: dc817e6 | Altai-man++ | html/css/style.css:
Style.css was updated
AlexDaniel sena_kun: related: github.com/perl6/doc/issues/662 20:59
sena_kun Thanks. 21:00
hursh [Coke]: cool. Thanks
moritz: I didn't see any.
AlexDaniel m: ‘1000000’.comb(-69).say 21:03
camelia rakudo-moar 8ede35: OUTPUT«(1 0 0 0 0 0 0)␤»
Zoffix sena_kun, FWIW, my comments ( github.com/perl6/doc/pull/767#issu...-235719136 ) are based on the locally built version. The ToC doesn't lose its height on narrow pages and briefly looking at it, the reason seems to be font-size on table cells. 21:06
sena_kun Zoffix, can you point me to example of the narrow page? 21:08
Zoffix sena_kun, just resize your browser a bit. The ToC will be at the top of the page instead of the side
sena_kun Zoffix, let's try it...
Zoffix sena_kun, this is what I see when I hide the ToC: blob:http%3A//imgur.com/d279d9df-4560-4e40-a06f-c3bded35dff3 21:09
sena_kun Zoffix, yes, it doesn't, I know. 21:10
Zoffix I mean i.imgur.com/ct2zOGz.png
AlexDaniel right, seeing the same thing here 21:11
Zoffix: should it also stop taking any horizontal space when it is on the left?
otherwise why hide it? 21:12
sena_kun Zoffix, the reason is: we need to know *exact* max-height of the element to "slide down". The solution can use js to determine it, but it's additional computations. We can just set some "really big" value, but it's terrible solution. Animation I used based on padding and font-size, so height is untouched. 21:12
Zoffix sena_kun, how come do we need exact max-height? 21:13
sena_kun Zoffix, to make animation with css, you need to change (max-)height - minimal(obviously 0px) and normal. This number of different for every page with ToC.
*to know two heights 21:14
Zoffix I'd think `auto` would work just fine 21:16
sena_kun Zoffix, no.
sena_kun It doesn't work. 21:16
sena_kun If it were so simple, I wouldn't come up with such solutions like font-size or padding changes. 21:17
sena_kun Of course, we can throw away idea of css-animations(since they're quite restricted) and just use js variant. Or I'm just dumb and someone smarter can patch it. 21:20
AlexDaniel noooo! js animations… 21:22
perhaps we can throw away the idea of animations…
although I have to admit that it looks nice 21:23
Zoffix I thought it was fine before with JS. 21:25
sena_kun Zoffix, jsfiddle.net/thechrisjordan/3Fc7D/23/ - you can try to play with this fiddle if you want.
Zoffix sena_kun, nah. I just tried to fix it and I can make it show/hide fine but not animate 21:26
sena_kun Also, we can use some css-framework with nice no-js animations. But it's a bit too much overkill here.
Zoffix Then I got bored with it :)
Meh. My opinion is we should revert to JS version and be done with it. We're breaking our backs for a some hypothetical case that some hypothetical person who hypothetically actually uses the show/hide slider so often that they will hypothetically dislike our animation style so much that they will hypothetically make their own user stylesheets to override it. 21:27
People with that mentality of doing some sort of nerd features are the same folks who overengineered www.wechall.net/ :) 21:28
AlexDaniel #128757 128758 21:29
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128757
AlexDaniel #128758 21:30
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128758
sena_kun There are one more way(maybe a bit hacky): check browser's width and if it's not wide enough, just hide insted. But it's ridiculously hacky.
Zoffix :o
Just hide? Then people would have to scan the entire document to get what they want 21:31
sena_kun Zoffix, no-no.
I meant "just hide, do not use animation".
Zoffix ah
¯\_(ツ)_/¯
Zoffix opens up an ice-cream shaped like a slice of watermelon and leaves to put finishing touches on IRC::Client 21:32
sena_kun AlexDaniel, why do you oppose js-animations so much? We don't use them TOO MUCH, and we already have jquery, so it can't be helped. 21:33
geekosaur finds websites with animations anywhere from annoying to near impossible to use... 21:35
(sensory issues)
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) 21:38
camelia ( no output )
hursh p6: .say
camelia rakudo-moar 8ede35: OUTPUT«(Any)␤»
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) ; .say 21:39
camelia rakudo-moar 8ede35: OUTPUT«36893488147419103230␤»
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) ; .=flip
camelia ( no output )
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) ; .=flip ; .say
camelia rakudo-moar 8ede35: OUTPUT«03230191474188439863␤»
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) ; .=flip ; .=comb(3) ; .say 21:40
camelia rakudo-moar 8ede35: OUTPUT«(032 301 914 741 884 398 63)␤»
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) ; .=flip ; .=comb(3) ; .=join(',') ; .say
camelia rakudo-moar 8ede35: OUTPUT«032,301,914,741,884,398,63␤»
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) ; .=flip ; .=comb(3) ; .=flip ; .=join(',') ; .say
camelia rakudo-moar 8ede35: OUTPUT«36 893 488 147 419 103 230␤»
hursh p6: $_=[+]((1,2,4...*)[1..8**2]) ; .=flip ; .=comb(3) ; .=flip ; .=join(",") ; .say 21:41
camelia rakudo-moar 8ede35: OUTPUT«36 893 488 147 419 103 230␤»
hursh rakudo: $_=[+]((1,2,4...*)[1..8**2]) ; .=flip ; .=comb(3) ; .=flip ; .=join(",") ; .say
camelia rakudo-moar 8ede35: OUTPUT«36 893 488 147 419 103 230␤»
AlexDaniel sena_kun: well, did I say that I oppose it “so much”? :) I slightly oppose all animations (they are rarely useful, most of the time they are just time wasters), but if there are animations, then it feels wrong to do them on JS side… If it has to be done this way, then fine, but I think that “why should we have an animation there?” is a good question 21:43
sena_kun AlexDaniel, I'll reopen issue about this now... 21:44
We need some voting system for a questions like this, eh. And the solution still wouldn't be good for everyone. Eeeh. 21:45
AlexDaniel sena_kun: 👍 👎 on GitHub work OK as a voting system, however, we are not going to have many votes ;) 21:48
sena_kun We sure aren't...
sena_kun Also, AlexDaniel, I wanted to ask you about my PR for binded search links, can you look at it, please? With this thing merged(or something similar), we can resolve part of Glossary page items and revive search terms like "Regular Expression". 21:49
AlexDaniel sena_kun: I liked it. The number of lines changed is so small! 21:51
sena_kun It's because I just moved things around, without any parsing/checking/etc. 21:54
I think, if gfldex is agree with merging, we can accept it. 21:55
AlexDaniel yeah. Like, we can have a discussion about whether we should have manually defined items or not, but we already do, so… 21:56
gfldex sena_kun: code and content should not get mixed if possible, unless is requires tons of work 22:06
dalek c: 2141eca | Altai-man++ | / (3 files):
Now we take predefined search values from outer file
c: ea3b332 | (Wenzel P. P. Peppmeyer)++ | / (3 files):
Merge pull request #763 from perl6/predefined_search

Now we take predefined search values from outer file
AlexDaniel by the way, what about github.com/perl6/doc/pull/762 ? 22:08
everything looks sane, but I know nothing about Callframes
sena_kun gfldex, actually, I've proposed to format search items with some simple markup and parse it manually in htmlify. It will be a bit more work, but for sure much reusable. What do you think about this approach? I can implement it quite easily, I suppose. 22:09
gfldex AlexDaniel: that's actually a language designer question. It may just be an implementation detail that may or may not be subject to change.
sena_kun: unless you know LaTeX well, don't fiddle with anything indexy or ToCy. We need less automatic magic in htmlify rather then more. 22:11
sena_kun gfldex, I used LaTeX, but. Things pull out other things, and the other things pull out more and more. 22:13
gfldex AlexDaniel: thinking about it, there are already modules in eco that depend on Callframe. I will merge it. 22:14
dalek c: e864f30 | (Sterling Hanenkamp)++ | doc/Language/5to6-perlfunc.pod6:
Update the caller 5-to-6 info
c: cf5210d | (Sterling Hanenkamp)++ | doc/Type/Routine.pod6:
Add documentation for Routine.package
c: ff60064 | (Sterling Hanenkamp)++ | doc/Type/CallFrame.pod6:
Add documentation for CallFrame
c: e1c155e | (Wenzel P. P. Peppmeyer)++ | doc/ (3 files):
Merge pull request #762 from zostay/callframe

Add documentation for Callframe
zostay comparing CallFrame/callframe to Backtrace and S06, callframe is missing pieces, but it'll be pretty important to future introspection, profiling, debugging, etc. as the language matures 22:22
gfldex sena_kun: in a ideal world the entire search index and targets for L<> would depend in X<>. Right now there are tons of shortcuts that depend on htmlify. If you write L<Foo> it rewrites the link to L</type/Foo> what corresponds to doc/Type/Foo.pod. That violates S26 and makes LaTeX output really hard.
zostay e.g., there's at least one method that is marked with an NYI exception and the .my information has seems to have some omissions when you actually try to use it 22:23
gfldex sena_kun: my current idea to fix that is Pod::To::Source, that takes $=pod and turnes it back into Perl 6 code. That would allow to transform all bad links into good ones and would allow us to add missing X<> entries for headings. Many headings already got them, so something has to be done there anyway. 22:24
gfldex sena_kun: also, there are quite a few duplicated anchors thanks to generating them automatically from headings, without taking heading numbers into account. That needs to be fixed for sure. 22:27
sena_kun gfldex, I can be sleepy or dumb right now, but how will it fix our need for pairs of "Term -> Page address(not anchor)"? We really need to fix indexing for sure, I agree with that, but it seems to be a bit different issue. Except that htmlify is overflowing with magic now, of course. 22:29
gfldex sena_kun: if you parse $=pod and rewrite it you also must have checks. With the checks we can catch all missing bits and problems. Not everything can be fixed automatically but we can warn on odd stuff and fix that by hand. 22:32
sena_kun It's time to read S26.
gfldex, and hard-coded content surely "pass" all checks by design... Yes, it's a problem. 22:34
tbrowder re Hinrik's emacs perl6-mode: I have submitted a PR that adds a rudimentary imemu Index for subs and vars. If interested my fork is at github.com/tbrowder/perl6-mode (branch "my-branch") 23:21
sena_kun tbrowder, I doubt he is here now. But updates of emacs perl6-mode are always welcome(at least for me). 23:27
.seen hinrik
yoleaux I haven't seen hinrik around.
tbrowder sena_kun: give it a try if you have time--it doesn't sort names yet, but PRs are welcome! 23:31
sena_kun tbrowder, my elisp code is terrible, sorry. Hinrik merged my little typo fix a few month ago quite quickly, so, I suppose, he can merge your PR too. 23:33