»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:00 vendethiel joined
dalek c: 9b0f023 | skids++ | lib/Type/Array.pod:
Correct the slurpies in documented signatures
00:01
00:14 Peter_R left 00:17 BenGoldberg joined 00:18 BenGoldberg left 00:19 BenGoldberg joined 00:24 abaugher left
dalek c: 7fb82bf | (David H. Adler)++ | lib/Type/Array.pod:
Added usage statements to Array.pod
00:25
c: b25a49a | (David H. Adler)++ | lib/Type/Array.pod:
Merge branch 'usage_statements'
c: 4f0449c | (David H. Adler)++ | lib/Type/Array.pod:
Merge branch 'master' of github.com/perl6/doc

Resolved conflicts between commit 9b0f0238fe073a050e1a31970fbd9b07106badb3 and pull request #141
00:26 abaugher joined
[Coke] dha: IWBNI "unlike perl5" blocks were somehow marked. 00:26
(people reading perl 6 docs shouldn't need to care about perl 5 if they don't need to)
dha IWBNI?
[Coke] S99:IWBNI 00:27
it would be nice if
dha Ok, marked... how? 00:28
[Coke] with a begin/end block perhaps?
then they could be fomratted differently by default, milder for standard docs, but highlighed if someone wanted.
=begin perl5/ =end perl5
[Coke] drops off his precarious wifi. laters. 00:29
ZoffixWork \o
ShimmerFairy [Coke], dha: it would have to be spelled Perl5, since 'perl5' is reserved :) 00:31
dha . tell skids I had to resolve a conflict with your commit on Array.pod. I think I did it correctly, but take a look to make sure I didn't mess it up. 00:32
ShimmerFairy so =begin Perl5 ... =end Perl5 (and then theoretically the doc/ repo could have a module that provides the appropriate class to implement Perl5, but I don't know how the current Pod parser handles that)
dha .tell skids I had to resolve a conflict with your commit on Array.pod. I think I did it correctly, but take a look to make sure I didn't mess it up.
yoleaux dha: I'll pass your message to skids.
skids ./ 00:33
yoleaux 00:32Z <dha> skids: I had to resolve a conflict with your commit on Array.pod. I think I did it correctly, but take a look to make sure I didn't mess it up.
skids Sorry I didn't expect you'd keep editing that file.
00:41 pyrimidine joined
dalek osystem/softmoth-pod-markdown: 0177c7a | (Tim Smith)++ | META.list:
Take over maintenance of perl6-pod-to-markdown

It appears that jpve is not available to maintain the module at this time, given no response on pull requests for over 3 months. I am willing to maintain the module in the mean time.
00:41
00:43 dha left, pyrimidi_ left 00:44 raiph left 00:46 dha joined
dha skids - did I at least not screw things up? :-) 00:46
skids looks fine
dha whew. thanks. 00:48
00:56 TEttinger left
dalek c/usage_statements: 2dd4903 | (David H. Adler)++ | lib/Type/Hash.pod:
Added usage statements to C<push>
01:15
dha Hm. There's discussion of the .kv method in Hash.pod. Should it be explicitly mentioned where that comes from so someone seeing it for the first time can find the actual docs? 01:17
ShimmerFairy dha: you could provide a link on the first mention or so of .kv 01:19
dalek osystem: 0177c7a | (Tim Smith)++ | META.list:
Take over maintenance of perl6-pod-to-markdown

It appears that jpve is not available to maintain the module at this time, given no response on pull requests for over 3 months. I am willing to maintain the module in the mean time.
osystem: e1162fa | (Zoffix Znet)++ | META.list:
Merge pull request #64 from perl6/softmoth-pod-markdown

Take over maintenance of perl6-pod-to-markdown
ShimmerFairy dha: although Hash.kv does exist, so perhaps that method should be doc'd :) 01:20
01:20 sufrostico left, ZoffixWork left
dha ShimmerFairy - the first is what I was thinking, but if Hash has its own .kv, yes, that probably should be documented. 01:21
is-prime has an optional $tries argument. Can I assume that in method form, it can be used as C<$int.is-prime($tries)> or C<$int.is-prime: $tries> ? 01:36
And, of course, I assume C<is-prime $int, $tries>
skids I think it was just removed? Don't know why. 01:41
m: 3.is-prime(:tries(400)).say
camelia rakudo-moar 61d1f9: OUTPUT«True␤»
skids or something went on with it in commit 59cb611af9 01:42
dha It certainly doesn't spit at you. 01:45
skids m: is-prime(3, :tries(400)) 01:47
camelia rakudo-moar 61d1f9: OUTPUT«WARNINGS:␤Useless use of "is-prime(3, :tries(400))" in expression "is-prime(3, :tries(400))" in sink context (line 1)␤Unexpected named parameter 'tries' passed␤ in block <unit> at /tmp/oGObJVJ67w:1␤␤»
skids Because methods are tolerant, but subs are not, so the above.
dha Ah, there it is. Shall I take it out of the docs, then? 01:50
01:51 pyrimidi_ joined
dalek c/usage_statements: 3bed9cc | (David H. Adler)++ | lib/Type/Int.pod:
Added usage statements for C<chr>, C<expmod>, and C<is-prime>
01:53
01:53 pyrimidine left 01:55 reneeb2 left
skids dha: Yes I looked at the conversation and it amounts to "we're taking it out until someone asks for it and if we put it back in it will be either a named or a different function" 01:57
dha ok. Will remove from signature and doc. 01:58
done. 02:00
dalek c: 47e2521 | (David H. Adler)++ | lib/Type/Int.pod:
Removed $tries from signature and docs of is-prime to bring docs in line
02:05 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek c/usage_statements: 2d7c132 | (David H. Adler)++ | lib/Type/Int.pod:
Added usage statements for C<lsb>, C<msb>, and C<unival>
02:05
ShimmerFairy Apparently, trying to subclass Grammar and replacing some of its various "!..." methods (since I need to add something that needs to be shared between cursors, like $!shared) gets me an unhelpful "Unknown QAST node type NQPMu" error :P 02:12
02:12 kid51 left
ShimmerFairy The problem with it is that --ll-exception is useless in telling me what I did wrong, and I can't even so much as get --target=parse output 02:15
dalek c/usage_statements: cac4619 | (David H. Adler)++ | lib/Type/Pair.pod:
Added usage statements for C<antipair>, C<value>, C<cmp>, C<fmt>, C<kv>,
02:17
ShimmerFairy The 'easiest' solution I can see for now is to basically reimplement src/QRegex/Cursor.nqp, but in a pure-P6 way :/ . Seems suboptimal, but should at least be interesting. 02:21
02:23 raiph joined
dalek c/usage_statements: 9b0f023 | skids++ | lib/Type/Array.pod:
Correct the slurpies in documented signatures
02:28
c/usage_statements: b25a49a | (David H. Adler)++ | lib/Type/Array.pod:
Merge branch 'usage_statements'
c/usage_statements: 4f0449c | (David H. Adler)++ | lib/Type/Array.pod:
Merge branch 'master' of github.com/perl6/doc

Resolved conflicts between commit 9b0f0238fe073a050e1a31970fbd9b07106badb3 and pull request #141
02:28 mr_ron left
c/usage_statements: 9cbd4ec | (David H. Adler)++ | lib/Type/Array.pod:
Bring Array.pod in line with commit
c/usage_statements: aeab89d | (David H. Adler)++ | /:
Merge branch 'master' into usage_statements
ShimmerFairy (btw, the easier alternative to subclassing cursors and whatnot would be to force module users to declare particular dynamic variables, but that doesn't really seem cool.) 02:30
skids Yeah I was working on something the other day tat had me in the same trace-limbo situation. 02:32
dalek c: 2dd4903 | (David H. Adler)++ | lib/Type/Hash.pod:
Added usage statements to C<push>
doc: 3bed9cc | (David H. Adler)++ | lib/Type/Int.pod:
doc: Added usage statements for C<chr>, C<expmod>, and C<is-prime>
02:32 dalek left, dalek joined, ChanServ sets mode: +v dalek, noganex joined
skids (At least if you die in P6 code, you usually can figure out what died due to the error message about not being able to make the error message saying what type of exception it was trying to make) 02:33
02:33 laouji joined, geekosaur left 02:34 geekosaur joined 02:35 araujo__ left, noganex_ left
ShimmerFairy skids: sometimes I wonder how NQP would benefit if it was developed a bit more like a real language, instead of just being a stepping stone. Things I've run into frequently include NQP-level errors (though this one is a first for being unhelpful), and NQP objects not having .gist and such. 02:37
02:37 araujo__ joined 02:38 vvz left
skids Might end up being slower, though. 02:40
ShimmerFairy skids: sure, it's just the .gist issue in particular that gets annoying.
m: say Cursor.^methods 02:41
camelia rakudo-moar 61d1f9: OUTPUT«Method 'gist' not found for invocant of class 'NQPRoutine'␤ in block <unit> at /tmp/ldygB1ipq2:1␤␤»
ShimmerFairy for example ^
skids Yeah. I wonder if it would be expensive to macroize ".gist" at a P6 level and fix up NQP data structures that way. 02:43
ShimmerFairy There's nothing wrong with NQP exactly, it's just the points where NQP and P6 mix together, and don't do so very well, that's annoying. (Trying to mess with Cursor ends up bringing up this problem, since everything regex-based is rooted firmly in NQP-land) 02:44
02:48 tokuhiro_ joined 02:52 vendethiel- joined, tokuhiro_ left
skids wanted to use a vaguely fp sounding term for a meta behavior, decided he'd better look it up to see if it was an appropriate use, and got totally lost in wikipedia fp pages which may as well have been written in iambic pentameter by The Riddler. 02:53
02:54 vendethiel left
dha Hm. Arrays seem to have min and max methods that are not documented. Unless it inherits it from somewhere. 03:00
skids dha: design docs say they come from List. Codewise, after GLR, they are really from Iterable. 03:04
dha They're not documented in List either. 03:05
But I'll look at Iterable
skids S32-setting-library/Containers.pod
dha Nope. not documented in Itreable either. Hm... 03:06
lichtkind good night 03:07
03:07 lichtkind left
dha In fact, the only min and max documentation is in Range and Supply. 03:11
skids (well codewise we cheated and they are from "Any" via an augment rather than Iterable, and Any makes any non-Iterable object into a 1-list but doe not compose Iterable) 03:12
dha Yeah, not documented there either. :-) 03:13
If we ever get to the end of this class rabbit hole, we should probably document it. :-) 03:14
ShimmerFairy I think one of the biggest problems with rakudo's roles is that they're for the most part just empty roles that are effectively glorified annotations. 03:15
skids You mean most of the MetaModel things?
ShimmerFairy (And I imagine that's at least in part because you can't stub multi methods in a role to require their implementation) 03:16
skids: not Metamodel, the src/core roles. Positional, Stringy, etc.
03:17 mr_ron joined
ShimmerFairy When it comes to stubbed role methods, the RoleToClassApplier goes by name only (not checking signatures), and ignores multi methods entirely, leaving it to the dispatcher to come up with an ambiguous call error. 03:18
skids Not that there's anything wrong with using them as annotations, but probably more code would filter into them if they worked "better", yes.
03:20 laouji left
ShimmerFairy skids: of course not, if you just want to use them as a 'tag', then fine. But especially the core roles should be requiring and/or defaulting methods for things doing them. 03:21
03:25 aborazmeh left 03:30 dha left 03:54 raiph left 04:02 BenGoldberg left 04:03 maverick87 joined 04:06 mr_ron left, mr_ron joined 04:08 maverick87 left 04:12 pyrimidine joined 04:14 pyrimidi_ left 04:24 khw left 04:25 pyrimidi_ joined
[Coke] RT: 1041; xmas: 98; testneeded: 9; glr: 4; weird: 12; lta: 87 04:26
04:27 pyrimidine left 04:28 AlexDaniel left 04:36 pyrimidine joined 04:39 pyrimidi_ left 04:49 tokuhiro_ joined 04:54 tokuhiro_ left 04:58 mr_ron left 05:18 mr_ron joined 05:26 FROGGS[tab] left 05:32 araujo__ left 05:40 TEttinger joined 05:48 skids left 06:00 araujo joined 06:01 araujo left, araujo joined 06:03 vendethiel- left 06:13 mr_ron left 06:25 Ven joined 06:28 rurban joined 06:37 kaare__ joined 06:43 crux left, crux joined 06:50 FROGGS[tab] joined 06:51 tokuhiro_ joined 06:56 tokuhiro_ left 06:57 RabidGravy joined
gfldex m: my constant @fib := 0, 1, *+* ... *; @fib[^10].perl.say; 07:00
camelia rakudo-moar 61d1f9: OUTPUT«(0, 1, 1, 2, 3, 5, 8, 13, 21, 34)␤»
gfldex .tell AlexDaniel the correct correction is m: my constant @fib := 0, 1, *+* ... *; @fib[^10].perl.say; 07:01
yoleaux gfldex: I'll pass your message to AlexDaniel.
07:06 xfix joined, xfix left, xfix joined
gfldex design.perl6.org/S02.html#Names_and_Variables seams to be pre-GLRish 07:14
constant @your-name-here doesn't do Positional but Seq 07:15
TimToady: you may want to have a look at ^^^
07:18 mr_ron joined
Woodi hallo #perl6 :) 07:30
writing my $output = run($command, $arg1, $arg2, :out).out.slurp-rest; is over-terrible replacement for qqx// 07:31
but removing qqx// is not necesarry 07:32
07:32 Ven left
Woodi .out/.IO parts are realy needed ? 07:33
07:34 domidumont joined, Ven joined 07:38 domidumont left 07:39 domidumont joined 07:41 rindolf joined 07:48 pyrimidi_ joined 07:51 pyrimidine left, [ptc] joined, [ptc] left 08:03 vvz joined
Woodi as for LINQ: I think it was MS post-SQL-embaded idea and we are quite obligated to do something post-LINQ. So: something to proces one table/array is unnecesary, we needs foreign keys integration; XML have XQuery - not having it in Perl6 LINQ would be mistake; LINQ4hash is bad, LINQ4nestedData is good 08:03
08:06 mr_ron left 08:07 Ven left 08:09 Ven joined 08:11 rurban left
dalek kudo/nom: 18b7f1e | lizmat++ | src/core/List.pm:
Simplify List.pick

After sleeping on it, I realised that having two different classes
  + methods just to prevent a single native int to be incremented
every iteration, is a bit of overkill to get better performance.
08:14
08:22 darutoko joined 08:33 domidumont left 08:39 Ven left 08:40 FROGGS joined 08:43 RabidGravy left 08:53 tokuhiro_ joined 08:54 Ven joined 08:57 tokuhiro_ left 09:14 paulmr joined 09:19 mr_ron joined 09:29 rindolf left
lizmat star: say <a b c>.pick(Inf) 09:30
camelia star-m 2015.03: OUTPUT«b a c␤»
lizmat *sigh*
Ven m: say <a b c>.pick(Inf) # that works now? 09:33
camelia rakudo-moar 18b7f1: OUTPUT«Cannot coerce Inf or NaN to an Int␤ in block <unit> at /tmp/mmNsdfSFf1:1␤␤Actually thrown at:␤ in block <unit> at /tmp/mmNsdfSFf1:1␤␤»
Ven oh..
09:34 philh joined
lizmat Ven: it used to work, I broke it 09:37
but there was no test for it
Ven oh!
well, when one commits that much code, something is bound to get a bit broken at some point :-).
09:38 mattprelude joined
nine Woodi: as I see it: people hate writing SQL. To be precise, they hate writing select lists and join conditions. The rest really is quite ok, since it's a very readable and even succinct way to specify queries. In Perl 6 this could result in: my $results = from $table join .relation1 left join .relation2 where .foo > 1 and .relation1.bar = 'baz' select *; 09:39
09:40 spider-mario joined
nine And I really like how we can use Whatever there to mean exactly the same in SQL :) 09:40
cognominal [Coke] what are these numbers? 09:41
09:41 paulmr left
cognominal [06:26] <[Coke]> RT: 1041; xmas: 98; testneeded: 9; glr: 4; weird: 12; lta: 87 09:41
09:41 mattprelude left
geekosaur bug summary. 1041 open tickets; 98 tagged as needed for release, 9 tagged as fixed but test needed, 4 tagged as GLR-related; 12 tagged as [WEIRD]; 87 tagged as correct behavior but needing better error messages 09:42
s/needed for release/release blockers/ 09:43
09:44 Ven left
geekosaur ([WEIRD] might be summarized as "That isn't right. That isn't even wrong." 09:45
)
FROGGS o/ 09:46
lizmat FROGGS \o
dalek ast: 94cbbb5 | lizmat++ | S32-list/pick.t:
Remove 5-year old obsolete test

Was testing for a named parameter whose existence would only still be known by *very* few people.
09:50
ast: 7ce4a38 | lizmat++ | S32-list/pick.t:
Add test for List.pick(Inf)
09:51
FROGGS m: my $a = "oh hai"; say $a .= "uc"()
camelia rakudo-moar 18b7f1: OUTPUT«Method '' not found for invocant of class 'Str'␤ in block <unit> at /tmp/7v4KeURejK:1␤␤»
dalek kudo/nom: 880d3c8 | lizmat++ | src/core/List.pm:
Re-add support for List.pick(Inf)

Apparently, that was supposed to work but did not have a spectest.
09:52
lizmat FROGGS: seems the method name got lost in translation ? 09:53
star: my $a = "oh hai"; say $a .= "uc"() 09:54
camelia star-m 2015.03: OUTPUT«No such method '' for invocant of type 'Str'␤ in method dispatch:<.=> at src/gen/m-CORE.setting:1370␤ in block <unit> at /tmp/AGzM819C4o:1␤␤»
09:54 rindolf joined
lizmat looks like breakage of infix . 09:54
09:54 tokuhiro_ joined
lizmat (well, at least at the error reporting level :-) 09:54
09:55 Ven joined, timotimo left, timotimo joined
FROGGS lizmat: that's an old RT ticket I tackle now 09:56
lizmat ah, ok :-)
j: <a b c>.Bag.pick(*).say 09:57
FROGGS m: my $a = "oh hai"; say $a.="uc"()
camelia rakudo-jvm 18b7f1: OUTPUT«(b c a)␤»
rakudo-moar 18b7f1: OUTPUT«OH HAI␤»
lizmat j: <a b c>.Bag.pick(2).say
camelia rakudo-jvm 18b7f1: OUTPUT«(b a)␤»
FROGGS so it is just a grammar issue, and the old ticket just said that the working case should be disallowed in rakudo because std disagrees 09:58
lizmat m: map { .say; last }, *
camelia rakudo-moar 18b7f1: OUTPUT«*␤»
FROGGS but I think std is wrong here
lizmat I agree with you
FROGGS (std complains about P5 concat, which is clearly wrong IMO)
09:59 tokuhiro_ left
DrForr Just walked outside and to the end of the block. 09:59
lizmat yeah, I think we've reached the point where TimToady is no longer updating std, but directly works on rakudo :-)
DrForr++
DrForr: and back again, I hope ?
DrForr Of course.
FROGGS DrForr: did you trigger a phaser?
DrForr Damn, I *knew* I forgot something. Give me a few minutes. 10:00
FROGGS .oO( Just .walk'd to the OUTERS and to the END of the Block )
s/and/&&/
10:01 AlexDaniel joined
DrForr Yes, yes, channl theme and all ;) 10:01
FROGGS :o)
DrForr Going upstairs was decent, downstairs was the hard bit. At least I have a better idea of what to exercise now :) 10:02
10:07 philh left, mr_ron left
AlexDaniel OK gloggle, check my email! 10:08
yoleaux 07:01Z <gfldex> AlexDaniel: the correct correction is m: my constant @fib := 0, 1, *+* ... *; @fib[^10].perl.say;
10:09 roguelazer left, revdiablo joined
AlexDaniel .tell gfldex I find it a bit messy, but you are probably right. I've changed it as you recommended 10:11
yoleaux AlexDaniel: I'll pass your message to gfldex.
10:16 roguelazer joined, diana_olhovik_ joined
AlexDaniel Woodi: run() is not a replacement for qqx//, these are different beasts 10:16
Woodi: if removing qqx// is not necessary, do you know any example when qqx// is easier to use rather than a normal sub call (like suggested “shellout”)? 10:18
Woodi: in other words, why qqx// is even there?
10:21 domidumont joined
ShimmerFairy There are a number of adverbs on Q that call functions on strings (e.g. :v for val(), :w for Str.words, and ISTR a :p relating to paths that's NYI), and I've not heard a convincing argument for why just :x must be removed. 10:26
And, as stated before, we have &shell and &run if you'd rather prefer sub calls. (I don't quite get what "shellout" would provide over the existing subs)
10:28 domidumont left 10:31 domidumont joined, domidumont left
AlexDaniel ShimmerFairy: well, then maybe you have any other idea how to make this easier to type: run($command, $arg1, $arg2, :out).out.slurp-rest 10:34
ShimmerFairy AlexDaniel: ah, that's what it's for, I didn't know. I agree that that's a bit much to type :) 10:35
AlexDaniel ShimmerFairy: or how to change it so that people would first choose “run” over “shell”
ShimmerFairy
.oO(we could start by bringing back .slurp , gosh darn it! :P)
AlexDaniel I mean, run is already shorter than shell, but not shorter than qqx
Currently I'm cloning all perl6 modules to grep for qqx 10:36
because I'm still not convinced that it provides anything that could make it worth keeping 10:37
ShimmerFairy AlexDaniel: well, looking at S02, there is space for a :r/:run adverb on Q, so you could have qr// and so on for run(). Depends on if others think it could be confused with :r[atchet], I suppose. 10:38
AlexDaniel basically I'm interested in (misuse / "shell" not good enough) rate…
but somehow I feel like qqx is mostly used in user code, not in modules… 10:39
ShimmerFairy: I'm confused, how would it split arguments?
AlexDaniel opens up S02 10:40
ShimmerFairy AlexDaniel: Well, I also suggested Q:w:x (or :ww) as a way of doing run() instead of shell(), but that might be too magical for :x (so a hypothetical :r could either imply :w or require a :w or :ww, e.g. qqwwx) 10:41
nine FWIW I think quote word is a very good match for run() 10:42
my $output = Q:w:x(perl -e $code); 10:43
ShimmerFairy nine: yeah, that was my idea a bit ago: q:w:x[my args] <-> run(q:w[my args])
Ven rosettacode.org/wiki/Idiomatically_...ols#Perl_6 <- did anyone get bored enough to write a Slang::UnicodeWhitespace yet? :D
ShimmerFairy nine: you can't use parens there though, but that's the idea :)
nine One of these days I'm gonna lern Perl 6 for real :) 10:44
wooohooo!
nine@sphinx:~/install/rakudo (bool_enum *+)> perl6 -e 'say Bool::True.HOW;'
Perl6::Metamodel::EnumHOW.new
ShimmerFairy m: say q:w(a b c)
camelia rakudo-moar 880d3c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l0yJnCGU0N␤Invalid adverb value for :w(a b c)␤at /tmp/l0yJnCGU0N:1␤------> 3say q:w(a b c)7⏏5<EOL>␤»
ShimmerFairy nine: ^^^ that's why, in case you were curious. It looks like arguments to the pair 10:45
also, nine++ \o/ :)
AlexDaniel still I don't get it. "shell" basically accepts one argument – string. "run" accepts multiple arguments, that's the point. Why would it be a quoting construct – I have no idea
let's make everything a quoting construct then?
10:46 domidumont joined
nine AlexDaniel: I'd say because program invocation usually contains quite a lot of constant string arguments 10:46
AlexDaniel nine: which is why you should use a sub – run
nine AlexDaniel: that's what makes run('perl', '-e', $code) cumbersome to write
ShimmerFairy AlexDaniel: that was in response to your lament about qqx being not shorter than run --- make another adverb that is to run() like :x is to shell()
10:46 diana_olhovik_ left
AlexDaniel nine: what about this? run(«echo $test», :out).out.slurp-rest 10:47
nine AlexDaniel: what if $test contains white space?
10:48 tokuhiro_ joined
AlexDaniel I've always thought that «» would handle that. I could be wrong though 10:48
or do you need quotes there?
ShimmerFairy m: my $test = "a b"; say «echo $test».perl
camelia rakudo-moar 880d3c: OUTPUT«("echo", "a", "b")␤»
ShimmerFairy m: my $test = "a b"; say «echo "$test"».perl
camelia rakudo-moar 880d3c: OUTPUT«("echo", "a b")␤»
AlexDaniel ok, you need quotes, right… 10:49
nine Having to quote all interpolated variables is just what makes this harder to use for newbies and cumbersome for oldies
AlexDaniel nine: but you have to quote it anyway, don't you?
ShimmerFairy: that's not a bad solution, actually 10:51
10:52 tokuhiro_ left
ShimmerFairy I don't know how the specifics would work out (I personally think it would be best if you could choose between :w and :ww, and maybe q:r runs an argless command), but I personally wouldn't mind run() getting a Q adverb too :) 10:53
10:54 Ven left
AlexDaniel I think that the problem is that sometimes you might want to pipe it to some other program 10:55
for that you can set :in()
but since you have to change the code to a fullblown run(), you might feel that it is much easier to just change "r" to "x"… 10:56
10:56 pyrimidine joined
AlexDaniel nine: your argument is valid if you're to say that people will just use shell("all $stuff $unquoted") rather than splitting their arguments and using "run" 10:58
10:58 pyrimidi_ left
ShimmerFairy well, you're not meant to use the adverbs for _everything_. I think my main objection to removing :x is that I don't see a too strong reason for getting rid of it. I get the security risks, but "it might trip people up!" isn't enough for me for :x . 10:58
AlexDaniel ShimmerFairy: but you know, I'm still waiting for a code example where qqx is all that much harder than the proposed “shellout” 11:00
and until then “security risks” is a much stronger argument 11:01
some might not agree with me, and I get it. But let's help the newbies…
ShimmerFairy AlexDaniel: I certainly don't know one off-hand. It all comes down to TIMTOWTDI: if you want to do your 'shellout' in a sub-like way, then you can. If you want to think of it as a modification on how you handle a string, then you can.
AlexDaniel: there's always documentation to help the newbies :)
AlexDaniel ShimmerFairy: oh yeah! Yesterday I've edited this rosettacode.org/wiki/Get_system_com...put#Perl_6 11:02
and maybe it's not perfect, but at least it attempts to go all explaining how you should prefer run() over something else 11:03
dalek kudo/nom: 03a9e73 | lizmat++ | src/core/Baggy.pm:
Iterify Baggy.pick/roll

And another piece of jvm specific code bites the dust!
ShimmerFairy "Unfortunately, it is very long to type," sounds a bit too subjective, but otherwise it's a nice, concise explanation :) 11:04
11:04 pyrimidi_ joined
AlexDaniel ehhh 11:04
11:07 pyrimidine left
AlexDaniel ahaha 11:07
lizmat m: sub a { say +?$^a }; a 42; a "" # line noise in Perl 6 :-) 11:08
camelia rakudo-moar 880d3c: OUTPUT«1␤0␤»
AlexDaniel gist.github.com/AlexDaniel/176da249d1314b8cf3a9 11:09
So here I've grepped for qqx across all modules
nine AlexDaniel: my $output = qqx<mail -s $subject -c $cc -r $from $to>; # this is what people want to do and what should do the right (secure) thing
AlexDaniel What I see in that gist is a bunch of quoting errors 11:10
even when run() could have done the job just as well
I mean, not just as well, but of course much better
who is going to fix all this stuff? 11:11
some of these are not critical, I agree 11:12
But what I see is a heavy misuse… something has to be done with that… 11:14
11:15 Sgeo left, pyrimidine joined 11:16 timbunce_ joined, Sgeo joined
AlexDaniel yet can anybody see anything that could not be done without qqx? 11:16
11:18 pyrimidi_ left 11:19 TEttinger left
AlexDaniel nine: what do you mean, I don't get it 11:20
nine: so if $subject is 'rm -rf /', then what?
nine: I mean, '$(rm -rf /)'
11:21 mr_ron joined
AlexDaniel nine: I do understand that it is what people want to do, yet it is not going to work as expected 11:21
nine: and qqx does not help with that, so that's why I think it has to be deprecated
11:21 kmel joined
FROGGS that probably means that we need a shell grammar and pass the string passed to qx/qqx/(backticks?) to run() 11:21
nine AlexDaniel: qqx<mail -s $subject -c $cc -r $from $to> should just mean run('mail', '-s', $subject, '-c', $cc, '-r', $from, $to, :out).out.slurp-rest; 11:23
FROGGS that would be the final goal, yeah
ShimmerFairy I'm not sure implying :w is a good idea, though
(or :ww , in this case) 11:24
11:24 telex left
AlexDaniel ShimmerFairy: Perhaps. Any example when it does not work as expected? 11:24
I mean, sure there is redirection and stuff
qqx{$*EXECUTABLE -c $filename 2>&1}; 11:25
hm
ShimmerFairy No, I meant just in general, the only Q adverb that implies other adverbs (IIRC) would be :qq . I'm not sure having :x imply :w/:ww is a good idea, I think I'd prefer having to make that explicit
AlexDaniel ShimmerFairy: I agree 11:26
lizmat afk for a few hours&
11:26 telex joined
ShimmerFairy so q:w:x or q:ww:x or ... 11:26
nine
.oO(note to self: beef up on those quoting adverb thingies before joining a discussion like this)
11:27 pierrot left, pierrot joined
AlexDaniel FROGGS: I like your idea 11:30
Woodi AlexDaniel: I bet qqx is there becouse it is cute :) it's just fast way to do what user wants
AlexDaniel Woodi: yeah, like introduce shell injections! That's what user wants 11:31
FROGGS: however, it also means that it shouldn't pass anything to shell
FROGGS: in perl5 there was a similar issue – sometimes system() runs it in shell, sometimes it doesn't 11:32
I'm pretty confident that there must be a distinction
so basically your suggestion ends up with the same idea – deprecate qqx first…
11:33 pyrimidi_ joined
nine Should Bool::True.Int return 1.Int or Bool::True (which isa Int)? 11:34
Woodi AlexDaniel: you see, it's like with any problem domain. you can to want just get stuff from db as fast as possible. same here, if someone is writing something bigger then small-script-fo-myself then he should consider other options
AlexDaniel I really don't want to defend this position as hard as I do now, but I see no other choice… I started mentioning this problem in June, I think. And now the Christmas is coming 11:35
Woodi: if you want it quick and dirty, then my suggestion is that you should use “shellout”
Woodi AlexDaniel: but if it is a way to securely ommit such problems then I'm +1 11:36
11:36 rurban joined
Woodi AlexDaniel: I even have no idea what shellout means 11:36
AlexDaniel Woodi: so I'm not saying that you shouldn't be able to pass stuff to shell, I'm just saying that it should be easier to do it with “run”
Woodi 'shell', ok
AlexDaniel Woodi: yeah, but
11:36 pyrimidine left 11:37 kid51 joined
AlexDaniel Woodi: sub shellout(|c) { shell(|c, :out).out.slurp-rest } 11:37
so that the user does not have to type all that “:out).out.slurp-rest” stuff
Woodi AlexDaniel: I bet qqx is doing just that :) 11:38
AlexDaniel basically just a shortcut to “shell” that gets the output as string
Woodi: yeah, yet the Huffman coding is just right with this one 11:39
Woodi: “runout” is shorter than “shellout” :)
jnthn MESSAGES
yoleaux 2 Oct 2015 22:54Z <lizmat> jnthn: I get the feeling that any new class in the setting (like the anonymous once for iterators) make parsing the setting a lot more expensive
2 Oct 2015 22:54Z <lizmat> jnthn: possibly even O(n) :-(
jnthn eek, caps lock 11:40
.tell lizmat Could do with some measurements rather than feeling... 11:41
yoleaux jnthn: I'll pass your message to lizmat.
AlexDaniel By the way, this change is just a 3 line commit: runout, shellout and deprecation notice for qqx. I have it ready, and I will write tests, docs and whatever what is required for this change, just show me the green light :)
and pull request for the change itself, of course 11:42
Woodi AlexDaniel: shellout/runout names are bad, IMO
jnthn I don't see the names runout/shellout really flying.
AlexDaniel Woodi: I agree! Any better alternative?
jnthn Why not implement qqwx?
Woodi ` ;)
psch AlexDaniel: are you also deprecating the "Q :qq :x" form?
AlexDaniel nooooooooooooooooooooooo…
psch: basically, yes, you think that it is a wrong thing to do? 11:43
psch AlexDaniel: well, composability of adverbs seems like it's a core feature of Q, and i don't think forbidding certain combinations "because you have to be careful with them" is particularly perlish 11:44
that is assuming that the deprecation will lead to removal
oh, but i guess that was the core of the whole preceeding discussion, nvm then :) 11:45
AlexDaniel psch: yeah but my point is that you can pass whatever you want to shellout just as fine, :x should not be there 11:46
I know it sounds a bit too revolutionary, but what else
psch eh, it sounds like "we have the opportunity to remove this historical feature, so why didn't we yet" to me
AlexDaniel jnthn: FROGGS actually said that there could be a shell grammar for all that stuff
and I agree, but until then… 11:47
Woodi AlexDaniel: 'shell grammar' is code for: we don't know how to do this in general case :)
AlexDaniel psch: I'm sorry that I did not show up in 2000 or whatever it was with an RFC
psch: basically because I barely stopped shitting under myself at that time 11:48
Woodi AlexDaniel: we should hijack ppls mind with better huffman coding not worse one 11:49
AlexDaniel Woodi: that's what my change is about
psch AlexDaniel: you misunderstand (or i wasn't clear enough). i'm not saying that it's bad that it only happens now, i'm saying it's good that it happens at all
AlexDaniel oooh
well, thanks then 11:50
11:50 kmel_ joined
Woodi AlexDaniel: s/shellout/`/ and I'm with you :) 11:50
AlexDaniel Woodi: “run“ is shorter than “shell”, “runout“ is shorter than “shellout”
Woodi: but that's the whole point??
Woodi: basically you are saying that it should be easier to pass stuff to shell even when you don't need that 11:51
11:51 test joined, test left
Woodi AlexDaniel: now I'm lost which side you are arguing... 11:51
11:51 kmel left
Woodi ok, do not pass to shell ? pls explain. 11:52
execsomething ?
AlexDaniel my Str $output = qqx{$*EXECUTABLE -c $filename 2>&1};
what happens if $filename has spaces in it?
well, then you should quote it right? 11:53
that's how the typical logic goes
Woodi yes and no
AlexDaniel but no, there's no way to quote that…
because you have to escape all of the shell meta characters and stuff 11:54
Woodi what if $filename is '.todo' ?
AlexDaniel Woodi: that'd be ok?
Woodi you are starting with complicated examples and disaallow ppls to do simple things
AlexDaniel Woodi: gist.github.com/AlexDaniel/176da249d1314b8cf3a9 11:55
here I've greeped for qqx in all perl6 modules
“simple things” is a string without interpolation
that is, it's qx// (not qqx)
YET qx// will interpolate ENV variables… That's weird
Woodi AlexDaniel: that's other topic :) 11:56
AlexDaniel if you need qqx//, then it is not a simple thing
11:56 kmel_ left
AlexDaniel because you are trying to shove your variable in there, and that's where the security issue is 11:56
and the solution? Use “run()“!
Woodi so 'qqx' is better 'qx' but failing in what it should do ? 11:57
AlexDaniel if you end up using run to do that correctly, then why did you use shell in the first place
you say “simply things” – like running some program and passing some arguments to it (even const ones)? Good, that's exactly what run() is for 11:58
simple*
I'd be glad to hear a better name for shellout and runout… outrun and outshell? Not that much better… 12:00
but the word “shell” has to be there to clarify meaning
jnthn qqx basically *is* what you want to call shellout, no?
12:00 Ven joined
ShimmerFairy jnthn: AIUI, the argument is essentially based on making sure the secure version is more Huffman-friendly than the insecure version. 12:01
AlexDaniel jnthn: yes pretty much, but you can also use all of the named arguments and stuff that “shell“ does. So in reality it is a shortcut for “shell” that gets the output
ShimmerFairy (which I personally don't think is a very convincing argument to get rid of :x) 12:02
AlexDaniel I find that gist pretty convincing, there is a huge amount of misuse.
dalek kudo/bool_enum: 398f255 | (Stefan Seifert)++ | src/ (3 files):
Turn Bool into a proper enum
12:03
jnthn I'd be more inclined to find a way (a qqr that implies ww semantics?) to provide a shorter form of run and get out
*output
Woodi ` pleas, pleas !
ShimmerFairy It's only misuse from a security standpoint. I still think the security issue is more appropriately solved with documentation than getting rid of language features in core you don't like. 12:04
AlexDaniel jnthn: yeah, thinking about other ways since June!
jnthn Woodi: no, we decided already to leave that for user-space circumfixes.
ShimmerFairy Or with a hypothetical :r to make Huffman happy :)
jnthn ShimmerFairy: Well, it's good if the langauge guides people towards the Right Thing
AlexDaniel jnthn: yeah!
jnthn I do agree it's unfortunate there's not a succinct way to do with run what qx/qqx currently does with shell. 12:05
ShimmerFairy jnthn: that's true, I think my main issue with the idea to remove :x is that it seems like a minimally-useful way to do that. To me, it doesn't seem like it would do much more than annoy people who've come to expect :x to be available.
AlexDaniel jnthn: and then, when you need a bit more flexibility (like specifying the input), runout can be upgraded to run in your code in a straightforward way 12:06
nine Are there known sequence related spec test errors?
AlexDaniel jnthn: which I don't think will be possible with quoting constructs
ShimmerFairy jnthn: my idea would be an :r that didn't imply :w or :ww , making that explicit: q:r for a no-argument command (how useful would that be?), q:w:r, and q:ww:r for using arguments
psch nine: i had some on jvm a few days back, but that's probably not your focus :)
AlexDaniel ShimmerFairy: the problem is that people will upgrade to qqx when they need to pipe things together 12:07
nine psch: err...no, not really :)
AlexDaniel ShimmerFairy: yet you can do that with run: doc.perl6.org/type/Proc
jnthn ShimmerFairy: Hmm
Well, it's worth thinking about. I think we can do something better than what we have now.
jnthn needs to go shopping...we're getting hungry here :) 12:08
bbl :)
ShimmerFairy AlexDaniel: if someone's natural inclination for that is to use shell syntax for redirection, that's fine with me (though teaching people that P6 Does It Better™ is of course important).
12:08 mr_ron left
AlexDaniel jnthn: yeah, but at the same time I feel that qqx is way too short for what it does, you can't huffmanly beat that. So a deprecation notice looks like a right thing to me… 12:08
nine m: say (1...Inf)[3] 12:09
camelia rakudo-moar 03a9e7: OUTPUT«4␤»
ShimmerFairy AlexDaniel: and I suspect that at least a few people would sooner use shell() than learn run(), if you took away :x and they suddenly need redirection :P
AlexDaniel ShimmerFairy: yes, but as you've said there are people who really want to do that
ShimmerFairy: and in such case the rope is provided, I have no problem with that 12:10
12:10 pyrimidine joined
AlexDaniel but throwing some rakes under the feet of users is the worst case scenario 12:10
ShimmerFairy Basically, I'm OK with adding :r to the Q lang (because having an :x/shell & :r/run symmetry would be nice), but removing :x doesn't seem like it'd do much to improve the security issue, at least to me. 12:11
AlexDaniel uhhhhhh 12:12
ok I need some food
12:12 pyrimidi_ left
Woodi AlexDaniel: if you have qx than user will want something what use $ 12:13
FROGGS I think we just need a short and clear name for a sub that receives and arglist that invokes run(:out)...
nine m: say Bool::False.WHAT
camelia rakudo-moar 03a9e7: OUTPUT«(Bool)␤»
FROGGS because interpolating into a string to detangle it afterwards seems errorprone 12:14
ShimmerFairy FROGGS: how about the totally-not-system-dependent name run1(...) ? :P
psch huh, we've removed the deprecation warnings for "use ...:from<java>" but still allow it..?
i suppose that ties in with RT #126088 12:15
ShimmerFairy isn't :from<foo> an important part of the use declaration? (Or am I missing something?)
nine m: say 0.WHAT === Bool::False.WHAT
camelia rakudo-moar 03a9e7: OUTPUT«False␤»
psch ShimmerFairy: :from<java> was deprecated in favor of :from<Java>
ShimmerFairy: which is what the ticket is about, for the lazy :) 12:16
Woodi nine: about: my $results = from $table join .relation1 left join .relation2 where .foo > 1 and .relation1.bar = 'baz' select *;
ShimmerFairy psch: ah, so it's just the from<> adverb assuming anyone would be silly enough to try and make a distinction between 'java' and 'Java' :P
Woodi nine: you want it to call database ?
psch i'm inclined to say ".lc the language name when registering the loader" as a resolution for the ticket, fwiw 12:17
oh, and also ".lc the :from-value when looking for a loader" of course
ShimmerFairy psch: or .fc , since that's generally the nicer way to do caseless comparison
(in Unicode land, specifically)
psch ShimmerFairy: right, Unicode land is somewhat uncharted for me :)
Woodi nine: I think it is: a) too relational dbs specific; b) cargo-culted SQL syntax (via LINQ)...
12:18 zakharyas joined
ShimmerFairy psch: so, it'd be something like given $from.fc { when "java".fc { ... } ... } , to give you an idea :) 12:18
12:18 pyrimidi_ joined
Woodi nine: spliting it into two parts, creating structures (join tables or prepare things) and querying would be much clener 12:18
12:19 Ven left
nine Woodi: do you have a suggestion? 12:19
Woodi: I don't see a problem with cargo-culting SQL syntax, since that's exactly what it should look like. SQL is good at what it does. People know SQL. I'd really just like people to do everything SQL allows for. 12:20
psch m: say &fc
camelia rakudo-moar 03a9e7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xWLPMCGXlW␤Undeclared routine:␤ &fc used at line 1. Did you mean '&uc', '&lc', '&tc'?␤␤»
12:20 pyrimidine left
psch aww :l 12:20
ShimmerFairy I don't think fc exists yet, sadly :( 12:22
m: say "FoO".fc
camelia rakudo-moar 03a9e7: OUTPUT«Method 'fc' not found for invocant of class 'Str'␤ in block <unit> at /tmp/wsCsRTQMXL:1␤␤»
ShimmerFairy (I don't think Moar even parses the UCD file that would enable .fc yet)
psch the remaining question would be if we require the module loader to be registered with the .fc name or do assume we have to do it ourselves
[Tux] test 50000 36.227 36.111 12:23
test-t 50000 39.322 39.206
ShimmerFairy I think for clarity in the code that does the actual comparison, it'd be best to have it do .fc on both.
[Tux] tux.nl/Talks/CSV6/speed4.html
ShimmerFairy (It would also let module loader writers care less :P)
psch i'll add that to the ticket 12:24
dalek kudo/bool_enum: 017c6bc | (Stefan Seifert)++ | src/core/operators.pm:
Fix SEQUENCE not expecting Bool ~~ Real to be true
12:25
psch in any case, i think complaining about wanting a specific case-ing for the :from value seems somewhat silly 12:26
i mean, i at least wouldn't want to forbid "use ...:from<jaVa>" just because 12:27
and i hope there's no two languages (that we'll be likely to support calling from) that share a fold-case
12:29 mscha joined
mscha p6: my $ℕ = set(1..Inf); say 42 ∈ $ℕ; 12:30
ShimmerFairy psch: that's my thinking exactly. Who would create a language called 'java' and insist to everybody that it's actually different from 'Java' ? :P
camelia rakudo-moar 03a9e7: OUTPUT«(timeout)»
12:34 Ven joined 12:41 aborazmeh joined, aborazmeh left, aborazmeh joined
Woodi nine: it is to low level. dealing with tables, troubles with joins, nulls 12:42
I prefer DataSources in MS world
12:43 mattprelude joined
Woodi and still ActiveRecords are replacement for Transaction Script Pattern and then Domain Model is replacement for ActiveRecord/Gateway pattern... 12:44
nine Woodi: trying to abstract those away is exactly why ORMs fail once you start needing recursive queries (Common Table Expressions), select statements in the from clause or even something as mundane as exists subqueries. 12:45
Or window functions
SQL and relational databases are so powerful, yet we waste cycles and developer time because ORMs optimize the most simple case and make the hard cases impossible. 12:46
Woodi nine: actually I thinking about in-memory structures/operations more then constructing specific queries... 12:48
12:48 mr_ron joined 12:49 tokuhiro_ joined
nine Woodi: which is fine. It's just a different problem domain. 12:49
psch hm, i have something fix-ish for #119919, but that just makes #117737 more weird 12:53
i suspect a fix for the former that correctly deals with the latter needs more Perl6::Grammar-fu than i have lying around at the moment 12:54
12:54 tokuhiro_ left 12:59 zakharyas left, rurban left, Ven left 13:00 rurban joined 13:01 rurban left, rurban joined 13:09 Ven joined 13:14 Ven left 13:18 pyrimidine joined 13:20 pyrimidi_ left
dalek kudo/bool_enum: 31cbac7 | (Stefan Seifert)++ | src/Perl6/Metamodel/EnumHOW.nqp:
Make Bool augmentable
13:20
kudo/bool_enum: fe41cd7 | (Stefan Seifert)++ | src/Perl6/Metamodel/EnumHOW.nqp:
Fix type check for binding parameters

EnumHOW just needed an is_composed method like many other HOWs. Fixes regression in t/spec/S06-signature/optional.t
13:25 mscha left 13:29 pyrimidi_ joined 13:31 pyrimidine left 13:33 pyrimidine joined 13:34 pyrimidi_ left 13:36 bjz left, [Sno] left 13:37 [Sno] joined 13:39 bjz joined 13:40 pyrimidi_ joined
dalek kudo/bool_enum: db729c1 | (Stefan Seifert)++ | src/Perl6/Metamodel/ (2 files):
Allow for mixing into enums.

Fixes Bool but role {} and t/spec/S14-roles/mixin.t regressions
13:40
osystem/p6-HTTP-Server-Tiny: da18127 | (Tokuhiro Matsuno)++ | META.list:
Added HTTP-Server-Tiny
13:41
13:42 pyrimidine left 13:48 kaare__ left 13:49 kmel joined
nine Why is this illegal? use MONKEY-TYPING; enum Weekday <Mon Tue>; augment class Weekday { } 13:49
m: use MONKEY-TYPING; enum Weekday <Mon Tue>; augment class Weekday { }
camelia rakudo-moar 03a9e7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1BCvIxk8d_␤Cannot augment Weekday because it is closed␤at /tmp/1BCvIxk8d_:1␤------> 3Weekday <Mon Tue>; augment class Weekday7⏏5 { }␤ expecting any of:␤ generic role␤»
13:50 pyrimidine joined 13:52 rindolf left, pyrimidi_ left
kmel hello everyone, I am new to perl6 and was trying to install DBIish (panda instal DBIish). Unfortunately it filed (# Connect failed with error Cannot locate native library 'libmysqlclient.so': libmysqlclient.so: cannot open shared object file: No such file or directory). Any recommendations? 13:53
13:54 leont joined
_itz what does locate 'libmysqlclient.so' say? 13:59
13:59 pyrimidi_ joined 14:02 pyrimidine left 14:04 zakharyas joined
dalek ast: ecb2fb7 | (Stefan Seifert)++ | S06-currying/named.t:
Fix test failing for the wrong reason

priming-fails-bind-ok(sub (Int :$a!) { }, '$a', Int, :a); should actually fail to find a bind error since Bool is specced to be an enum with base type Int, IOW Bool ~~ Int. Change it, so it will still pass, once Bool is a proper enum.
14:06
timotimo kmel: these are "just" warnings that tell you that some tests have been skipped; if you were hoping to use mysql with dbiish, you'll probably have to install the -dev package, so that the libmysqlclient.so symlink gets added to your system 14:07
AlexDaniel and if you're on debian, then "apt-file search libmysqlclient.so" should give you the name of the required package
dalek osystem: da18127 | (Tokuhiro Matsuno)++ | META.list:
Added HTTP-Server-Tiny
14:08
osystem: 74d415c | timo++ | META.list:
Merge pull request #65 from tokuhirom/p6-HTTP-Server-Tiny

Added HTTP-Server-Tiny
AlexDaniel which is libmysqlclient-dev, I'm not surprised
14:11 Ven joined, FROGGS_ joined 14:13 FROGGS[tab]_ joined
kmel timotimo & AlexDaniel: Thanks. 14:13
i was missing the -dev packages 14:14
timotimo i found it a bit counter-intuitive that this is the way linux distros handle that, but whatever
psch hrm, i think for #68024, #119919 and #117737 we have to pull <circumfix> out of <coloncircumfix>
14:14 FROGGS[tab] left
psch or rather, have coloncircumfix handle all the <circumfix> cases independently 14:14
14:14 FROGGS left 14:15 khw joined, rurban left
psch 'cause it breaks in routine_def because not all <circumfix> bring a <nibble> 14:16
(well, more precise it breaks in World.colonpair_nibble_to_str)
AlexDaniel timotimo: I don't find it counter-intuitive. Once perl6 (and all of its modules) is packaged with debian, I think that installing DBIish will pull it as dependency (or at least will list it as a suggested package). If nothing on your system depends on this package, then why would you want it to be installed? 14:18
14:19 aborazmeh left
kmel Now I have a new error message (# Connect failed with error DBD::mysql connection failed: Access denied for user 'testuser'@'localhost' (using password: YES)) 14:20
AlexDaniel kmel: well! 14:21
kmel: It seems like access is denied for this user-password combo!
dalek ast/bool_enum: be773e7 | (Stefan Seifert)++ | S02-types/bool.t:
Bool is now an enum with base type Int

Fixes RT #72580
ast/bool_enum: 44e937d | (Stefan Seifert)++ | S32-exceptions/misc.t:
Enums are now augmentable

I see no reason why an enum should not be augmentable. Indeed there are tests for augmenting Bool which is an enum by spec. So remove the bogus test.
ast/bool_enum: 83c7804 | (Stefan Seifert)++ | S03-operators/relational.t:
TODOs for chaining !before and !after now pass

Don't know why though?
AlexDaniel kmel: are you sure that there is such user? Are you sure that what you are providing as a password is actually the right password? 14:22
nine .tell jnthn branch bool_enum in rakudo and roast is ready for review. Any input would be greatly appreciated :)
yoleaux nine: I'll pass your message to jnthn.
timotimo kmel: if you want the tests to run to completion, you'd need to follow the instructions in the readme - with "panda look DBIish" you can get it to check out the repository for you so you can read it 14:23
why don't we have a "panda readme" command, btw?
14:25 Ven left
AlexDaniel ah it's still about tests 14:25
kmel AlexDaniel & timotimo: Sorry to bother you, I am completely new to perl. 14:27
:)
timotimo the # at the beginning tells me it's from the tests
kmel timotimo: yes tests
AlexDaniel kmel: you are welcome! 14:28
timotimo it's hard to test the database api without a running server with a user + password that the test file knows about
AlexDaniel true
kmel ok but how 14:29
timotimo first of all: do you even want to use MySQL in the first place? 14:30
kmel how do i specify which user+pass the tests should use?
timotimo ... didn't the readme once tell exactly what you had to do to make it work? 14:31
because now it doesn't
ah
it's in the test file
github.com/perl6/DBIish/blob/maste...10-mysql.t
AlexDaniel timotimo: perhaps it will be easier to skip tests? 14:32
timotimo the tests are already skipped
14:33 Ven joined
AlexDaniel hmmmm then why does it fail? 14:33
timotimo it doesn't fail
it just looks very explosive
kmel timotimo: I see... Let me go back to reading then.
timotimo it doesn't matter if the exit code is actually 0 if it makes warning lights and alarms and sirens go off
kmel it is actually failing. 14:34
timotimo oh?
damn
can you paste the whole output on gist.github.com or something?
AlexDaniel I'll try to install it
timotimo the only fails it should care about are the ones that say "not ok" somewhere, actually
kmel let me run the scripts you pointed in the test file and come back later 14:35
maybe this should fix the issue
timotimo perhaps 14:36
otherwise: maybe your rakudo is too old? it'd be interesting to learn what exact version you're running
(via perl6 --version)
kmel This is perl6 version 2015.09-174-ge503dfc built on MoarVM version 2015.09-39-g1434283
AlexDaniel It works for me: gist.github.com/AlexDaniel/b574f2a94d2185a44b12 14:37
timotimo ah, good, it's not old 14:38
14:42 Ven left
timotimo speakerdeck.com/shoichikaji/how-to...s-with-mi6 - cool 14:43
14:46 bjz left 14:48 FROGGS_ left 14:50 mr_ron left 14:51 tokuhiro_ joined 14:55 bjz joined, tokuhiro_ left, RabidGravy joined 14:56 mr_ron joined 14:57 Ven joined 14:59 pyrimidine joined 15:01 pyrimidi_ left 15:06 pyrimidi_ joined 15:07 rivarun left 15:09 rivarun joined, pyrimidine left 15:10 kid51 left 15:17 nightfrog left 15:19 pyrimidine joined, nightfrog joined 15:21 pyrimidi_ left 15:25 isBEKaml joined
dalek kudo-star-daily: 17d36ad | coke++ | log/ (9 files):
today (automated commit)
15:27
rl6-roast-data: 1b1c239 | coke++ | / (9 files):
today (automated commit)
rl6-roast-data: 5a1f31a | coke++ | / (9 files):
today (automated commit)
mr_ron One of the old authors of URI just posted this git joke on facebook that I thought was not bad: hugelolcdn.com/i460/356078.jpg 15:28
15:30 Ven left
[Coke] (ORMS) I have never had a problem where ORM was a real solution. It always ends up getting in my way. 15:30
15:30 rurban joined
AlexDaniel mr_ron: whoops, forgot to stage files! 15:31
Zoffix heh
colomon Pod::To::Markdown failing one test?
[Coke] I feel somewhat meta, using a JS profiler to profile why the profiler html hangs. :| 15:36
15:38 spider-mario left
moritz [Coke]: next up: debugging whie the JS profiler hangs whie profiling the profiler html output :-) 15:41
[Coke] moritz: sadly, the js profile output doesn't appear to help at all (using chrome. partially because none of the click throughs are showing me any JS code, and partially because I don't use angular. 15:43
moritz: so, running htmlify, even with a sparse run generates a profile that is unusuable. Adding an exit to avoid doing work to profile part of it trips a profiler bug. whee 15:45
*unusable
timotimo replacing the angular version we're using with the next minor version would probably help with the performance quite a bit, but the most naive way to do it left big parts of the thing nonfunctional :|
15:46 spider-mario joined 15:52 kmel left, tokuhiro_ joined 15:53 rurban left 15:54 Ven joined 15:55 rurban joined
dalek kudo/nom: 0ac5dbc | lizmat++ | src/core/ (2 files):
Remove one argument boilerplate for new +@args
15:56
15:56 tokuhiro_ left 15:57 Ven left 15:59 lsm-desktop joined
timotimo here's a suggestion 16:00
when we find the end of a quote and after that experience a syntax error of some kind, look if the first character before the end-quote is a comma %)
TimToady and what? 16:02
timotimo and alert the user that in programming languages, the comma comes after the closing quote, not before it
"that's ridiculous," timo said.
"no, that's just english," the internets said
timotimo shudders
dalek kudo/curli: d028dae | lizmat++ | src/core/Any-iterable-methods.pm:
More whitespace correction for readability
16:03
rakudo/curli: e19a521 | lizmat++ | src/core/Any-iterable-methods.pm:
rakudo/curli: Some comments + code legibility
16:03 dalek left, kaare__ joined
lizmat sorry dalek 16:03
yoleaux 11:41Z <jnthn> lizmat: Could do with some measurements rather than feeling...
16:03 dalek joined, ChanServ sets mode: +v dalek
lizmat .tell jnthn looking at increasing parse times the past week while iterifying code: doesn't really get below 45 secs anymore :-( 16:04
yoleaux lizmat: I'll pass your message to jnthn.
16:04 rurban left
lizmat .tell jnthn when it used to be around 32 not too many weeks ago 16:04
yoleaux lizmat: I'll pass your message to jnthn.
TimToady I thought it was the dynvar cache getting overwhelmed, so I measured, and found it was only 2.5% of the overhead--improvable with a better cache, but not causing the slowdown 16:05
lizmat .tell jnthn flussence also notived: irclog.perlgeek.de/perl6/2015-10-02#i_11310569
yoleaux lizmat: I'll pass your message to jnthn.
TimToady nobody's disputing the slowdown, but there are many possible causes 16:06
lizmat TimToady: jnthn asked for measurements :-) 16:07
TimToady meaning of specific possible causes, not of the slowdown
could be as simple as the GC is no longer tuned for the size of our setting, but probably not 16:09
16:09 rurban joined
[Coke] timotimo: updating to angular 1.2.27 seems ok 16:09
timotimo oh, neat 16:10
16:10 rindolf joined, rurban left
timotimo i've noticed a slowdown in stage parse, too 16:10
[Coke] updating all the way to 1.4.2 explodes.
timotimo but i expect jnthn was hoping for more granular measurements
TimToady could also be that we accidentally disabled an optimization 16:11
timotimo [Coke]: is the symptom that all tabs are shown at the same time and all variants of text and such?
TimToady could be that the NFAs are going O(n**3) or something
could be lots of things
[Coke] timotimo: I can work on getting us to angular 1.4 this evening. Looks like they have a decent guide on upgrading. 16:13
lizmat ok ok ok :-) I will stop throwing hunches on the channel :-)
timotimo oooooh
that would be quite fantastic!
TimToady hunches are fine, and so is suggesting we measure :)
timotimo i've heard very good things about performance in 1.4
16:15 pyrimidine left
TimToady so, I've got this talk I'm giving Monday; what would be the best example of reactive programming to show as one slide? 16:15
and the best one-slide meta-programming example?
16:16 pyrimidine joined
TimToady is terrible at thinking up examples... 16:16
lizmat between the commit just before infix:<.> and now, settings parse went from 41 to 44 seconds (+7%) 16:17
meanwhile, the size of core setting went from 32172 lines to 32258 lines (.25% increase) 16:19
that's what giving me a O(n) feeling
16:19 rurban joined 16:20 rurban left 16:22 Ven joined
TimToady but infix:sym<.> was already there, so that didn't change the parse at all..., and while it does now to a <.ws> lookahead, that terminates LTM, so LTM should always pick a longer dot form anyway first 16:22
16:24 pyrimidi_ joined
TimToady so if infix:<.> is the culprit, the problem is likely to be elsewhere than NFA blowup 16:24
16:26 pyrimidine left
moritz did the new composition operator change compile time? 16:28
16:30 Ven left
TimToady seems unlikey to be a large delta 16:30
I did, at some point, mark a bunch more functions as 'is pure', which could have an effect 16:32
but there have been lots of other changes as well; I remember when I first remarked upon my parse time going up 10 seconds, and it was not obvious at that point what did it 16:34
16:36 AlexDaniel left
TimToady irclog.perlgeek.de/perl6/2015-09-28#i_11287048 is when I pointed it out 16:36
lizmat TimToady: it had gotten slower before that as well already, I was just taking some noticeable commit it the past 16:39
timotimo [Coke]: maybe with the new angular and better performance i'll be invigorated enough to implement some features i've wanted for a long time in the profiler ...
lizmat I mean, before it, parse time was already 40+ (when it used to be more like 32 on my machine) 16:40
16:40 Ven joined
Ven .ask lichtkind shouldn't that be a regexp? github.com/perl6/problem_solver_tu...n4.pl6#L25 16:40
yoleaux Ven: I'll pass your message to lichtkind.
lizmat unfortunately, I need to be afk tonight, cu tomorrow!
& 16:41
timotimo bye lizmat!
16:42 colomon left 16:43 colomon joined 16:46 pyrimidine joined 16:48 colomon left, pyrimidi_ left 16:49 FROGGS joined 16:50 Ven left, colomon joined 16:53 tokuhiro_ joined 16:54 Ven joined 16:58 tokuhiro_ left 16:59 pyrimidi_ joined 17:01 pyrimidine left, colomon left 17:03 colomon joined
TimToady it's not the 'is pure'—backing that out makes no difference 17:03
17:08 zakharyas left 17:10 colomon left 17:13 isBEKaml left 17:16 colomon joined 17:17 Ven left 17:19 pyrimidine joined 17:21 pyrimidi_ left 17:25 abaugher left 17:26 abaugher joined
TimToady also doesn't appear to be the infix<.> changes, based on before/after timings 17:34
17:36 [Sno] left 17:37 [Sno] joined
psch $ ./perl6-m -e'sub infix:["@"] { say $^a, $^b }; 5@5' 17:41
55
but: "infix:[$op]" should work too, i gather
and i'm pretty sure what i did for the working bit above doesn't help getting there
on the plus, i'm not relying on <semilist> but added a token that catches this correctly
what i understand from the bits of design that talk about this is that we have a colonpair after the category the content of which are BEGIN-evaluated 17:43
jdv79 RabidGravy: figured out that lame H::UA bug
RabidGravy cool
psch the colonpair delimiters still carry most of the usual Q adverb semantics
i.e. infix:<[ ]> works as expected, infix:['{', '}'] works as it would for q[] 17:44
i'm a bit confused if infix:<<$ldelim $rdelim>> should work as expected from << >> or not 17:45
TimToady seems like it oughta 17:46
jdv79 just not sure how to test it 17:47
TimToady m: my %hash = :a; my $a = 'a'; say %hash«$a»
camelia rakudo-moar 0ac5db: OUTPUT«(True)␤»
TimToady on run(), I think the default should maybe be :out, and just optimize that away in sink context 17:48
jdv79 i guess we'd need to setup a local server and watch the back and forth
bleh
psch TimToady: is there any delimiter for sub *fix: that shouldn't interpolate to an existing compile time value? 17:49
TimToady not sure I understand the question 17:50
jdv79 no. intercepting recv.
psch actually, it's probably ang
as in, circumfix:<$l $r> is literal $l 1, 2, 3 $r 17:51
TimToady correct
are you working on making the canonical form legal perl?
psch i'm working on #68024, #119919 and #117737 17:52
17:53 colomon left
TimToady well, I guess it's time to fire up the browser again; had it down for benchmarks 17:53
though I should be working on my talk, sigh...
El_Che TimToady: where are you talking? 17:58
TimToady San Francisco 17:59
special release talk sponsored by craigslist++
timotimo releasing a talk, TimToady? 18:00
TimToady only if you guys help me come up with good examples :)
El_Che TimToady: you'll tell them about Christmas? :)
TimToady well, sure
timotimo i've never exampled well 18:01
carlin m: sub foo { say "foo" }; my $t = Thread.new(code => &foo); $t.run; $t.run; 18:10
camelia rakudo-moar 0ac5db: OUTPUT«Invalid GC status observed; aborting␤»
carlin m: sub foo { say "foo" }; my $t = Thread.new(code => &foo); $t.clone.run; $t.clone.run; 18:12
camelia rakudo-moar 0ac5db: OUTPUT«Unhandled exception: Cannot invoke null object␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/share/nqp/lib/Perl6/BOOTSTRAP.moarvm::4294967295)␤ from gen/moar/m-CORE.setting:21755 (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:p…»
carlin m: sub foo { say "foo" }; my $t = Thread.new(code => &foo); $t.clone.run; $t.clone.run;
camelia rakudo-moar 0ac5db: OUTPUT«Unhandled exception: Cannot invoke null object␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/share/nqp/lib/Perl6/BOOTSTRAP.moarvm::4294967295)␤ from gen/moar/m-BOOTSTRAP.nqp:2046 (/home/camelia/rakudo-inst-1/share/nqp/lib/Perl6/BOOTSTRAP.moarvm::73)…»
carlin m: sub foo { say "foo" }; my $t = Thread.new(code => &foo); $t.clone.run; $t.clone.run;
camelia rakudo-moar 0ac5db: OUTPUT«Unhandled exception: Cannot invoke null object␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/share/nqp/lib/Perl6/BOOTSTRAP.moarvm:is_narrower:4294967295)␤ from gen/moar/m-BOOTSTRAP.nqp:1962 (/home/camelia/rakudo-inst-1/share/nqp/lib/Perl6/BOOTSTRAP.…»
carlin that occasionally segfaults here
18:16 Xor_ joined, Xor_ is now known as Kcop
jnthn .run should refuse to work more than once, and .clone on a thread should probably die telling you that's a non-sensical thing to do... 18:20
yoleaux 14:22Z <nine> jnthn: branch bool_enum in rakudo and roast is ready for review. Any input would be greatly appreciated :)
16:04Z <lizmat> jnthn: looking at increasing parse times the past week while iterifying code: doesn't really get below 45 secs anymore :-(
16:04Z <lizmat> jnthn: when it used to be around 32 not too many weeks ago
16:05Z <lizmat> jnthn: flussence also notived: irclog.perlgeek.de/perl6/2015-10-02#i_11310569
18:20 colomon joined
jnthn .tell nine Will review tomorrow if I have energy, or Monday if not. You've kinda changed the nature of enums a bit in the MOP, but it may be OK... 18:21
yoleaux jnthn: I'll pass your message to nine.
nine I think, the parse time regression is in NQP or MoarVM rather than rakudo
yoleaux 18:21Z <jnthn> nine: Will review tomorrow if I have energy, or Monday if not. You've kinda changed the nature of enums a bit in the MOP, but it may be OK...
nine jnthn: ok, thanks. Whenever you find some energy :)
jnthn TimToady: I'd take one of the examples from my Japan talk for async stuff (either the auto-test-runner or the juggling concurrent processes)
TimToady what about meta-programming? 18:22
debugger?
jnthn Depends what you want to focus on really.
TimToady just want to wow them and give them something to look at 18:23
jnthn If "we can add powerful new things that feel almost built in" then the OO::Monitors/OO::Actors example ain't bad - depends if you want to show *how* it's done rather than just show that it's possible
TimToady not to explain the details, but show we've thought deeply about things
jnthn Grammar::Tracer is a fairly neat example too
TimToady don't have time to go into much how
18:24 colomon left
TimToady just enough time (an hour) to say here's where we've got too, and you're gonna like it 18:24
but just talking *about* p6 will be deadly, so gotta show some nifty code, both deep and every-day
psch the non-multiple-inheritance-class example from the advent posts maybe? 18:25
jnthn The MVC example ("can statically check for missing URL templates by extending the langauge") wasn't a bad one also
At end of jnthn.net/papers/2015-fosdem-static-dynamic.pdf
psch although maybe that's a bit narrow in scope, not sure
TimToady might appeal to the SF crowd, who are largely webdevs 18:26
jnthn I'm not sure I'd go with the "ooh look, we can forbid MI"...some people might point out we perhaps shoulda anyway :P
TimToady but the talk is aimed more at js, python, ruby users than at p5ers 18:27
we already have the p5ers attention :)
though I do plan to give the same talk at ppw
jnthn Well, showing js-ers that our async isn't a mess of callbacks is worthwhile :) 18:28
pink_mist is there already a neat webframework build for p6? I'm not really sure how appealing to webdevs p6 will be without one ... I think I've heard mention of P6SGI?
psch jnthn: right, forbidding MI when it's widely considered bad practice anyway is a good reason it shouldn't be an example... :) 18:29
s/forbidding/showing how to forbid/ # or w/e...
TimToady what might be a really good example of role usage? 18:30
I guess something veering into generics? 18:31
maybe that's a good place to show dogfooding in the setting 18:32
jnthn Maybe...various of my talks had examples...I can't think of one that was incredibly succinct. I guess I don't think of roles as a show-offy thing any more 'cus I got used to them :)
afk for a bit again 18:33
TimToady thanks!
18:37 colomon joined 18:38 abaugher left 18:40 abaugher joined
DrForr pink_mist: Bailador maybe? 18:41
pink_mist nice =) 18:42
thanks
DrForr And yeah, I've heard of P6SGI but I've been somewhat out of touch for a little while. 18:43
18:47 yqt joined
_itz curses Visual Studio and wishes he never left the safety of UNIX 18:49
18:54 tokuhiro_ joined 18:58 tokuhiro_ left
masak evenin', #perl6 19:03
FROGGS hi masak 19:04
masak I'm trying to enumerate all the grammatical things in Perl 6 that can declare stuff. here's what I have so far: variable declarations (`my`, `our`, etc), routine declarations (`sub`, etc), type declarations (`class`, `role`, `grammar`, etc), block/routine signatures (`->`, `()`), role signatures, imports (`use`, `import`, etc) 19:06
did I miss anything? :)
FROGGS constants? 19:07
masak btw, I define "declare stuff" as "introduce a name in a lexpad or package namespace"
FROGGS: constants go under the first group.
FROGGS yeah, thought so
masak but good point
FROGGS hmmm
19:07 rindolf left
masak I'm scouring Rakudo's grammar for things I might've missed 19:08
19:08 xfix left 19:09 xfix joined
FROGGS hmmm, I think your list is complete 19:10
masak I should probably call "type declarations" "package declarations" instead...
FROGGS aye
19:12 rindolf joined
masak m: sub foo($obj) { $obj.abs }; sub bar($obj) { -$obj }; say [.] -5, &foo, &bar 19:16
camelia rakudo-moar 0ac5db: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tjrLFid24Y␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/tjrLFid24Y:1␤------> 3.abs }; sub bar($obj) { -$obj }; say [.]7⏏5 -5, &foo, &bar␤»
masak aww :)
m: sub foo($obj) { $obj.abs }; sub bar($obj) { -$obj }; say [-5, &foo, &bar].reduce(&infix:<.>) 19:17
camelia rakudo-moar 0ac5db: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8XvjVaNKs5␤Undeclared routine:␤ &infix:<.> used at line 1. Did you mean '&infix:<∖>', '&infix:<o>', '&infix:<⊎>', '&infix:<∩>', '&infix:<<>'?␤␤»
masak aww xx 2 :/
19:26 domidumont left 19:27 kaare__ left
dalek kudo/nom: 98d9b87 | FROGGS++ | src/Perl6/Actions.nqp:
fix RT #69204, allow $foo .= "bar"()
19:29
ast: 5f82bde | FROGGS++ | S03-operators/inplace.t:
test RT #69204, $foo .= "bar"()
TimToady I hope it still disallows it without the parens 19:30
FROGGS $ perl6 -e 'my $a = "oh hai"; say $a .= "uc"'
===SORRY!=== Error while compiling -e
Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.
TimToady since that's a likely P5 error
super! 19:31
FROGGS aye :o)
masak oh, that's one of mine. from 2009.
FROGGS++
TimToady maybe we can allow $a . "uc"() as well if there are parens, but we'd have to check it in the lookahead, I suspect
19:31 abaugher left
TimToady which means we'd have to parse the string twice, which is kinda bogus 19:32
19:32 abaugher joined
TimToady either that, or we delay the P5 warning till later 19:32
FROGGS TimToady: what is "uc"() ?
TimToady some old P5 thing :P
FROGGS O.o 19:33
FROGGS .oO( Who are you? - Some ol' P5 thing! )
TimToady my $a = "oh hai"; say $a."uc"()
m: my $a = "oh hai"; say $a."uc"()
camelia rakudo-moar 0ac5db: OUTPUT«OH HAI␤»
FROGGS ahh 19:34
TimToady m: my $a = "oh hai"; say $a . "uc"()
camelia rakudo-moar 0ac5db: OUTPUT«5===SORRY!5=== Error while compiling /tmp/C7J9_g3ngK␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/C7J9_g3ngK:1␤------> 3my $a = "oh hai"; say $a . "7⏏5uc"()␤»
TimToady currently disallowed
FROGGS yes, my brain parsed it differently
masak by the way, I might be fine with adding back github.com/perl6/specs/commit/9950...a69fc9e4a5 at some point. 19:35
TimToady I suppose for a heuristic we could just scan forward for a "(
masak (I saw that there was an XXX about it in the Rakudo grammar)
but I would like us to ponder whether there's a better alternative first
for example, if the main use case is to allow for commutative operators, maybe a trait would do this better
19:43 araujo left, araujo joined 19:50 BenGoldberg joined 19:56 tokuhiro_ joined 20:00 tokuhiro_ left 20:12 ZoffixWork joined
ZoffixWork Hey all. Please review this PR for a proposed new design of perl6.org: Demo website: perl6.xtatik.org/ PR: github.com/perl6/perl6.org/pull/22 20:18
moritz, ^^
moritz ZoffixWork: I like it 20:20
ZoffixWork: on first glance, the only thing that needs a bit of rework is at the bottom the "more" buttons
they have too little contrast, IMHO
20:21 Psyche^_ joined 20:22 darutoko left
ZoffixWork Sure. I can fix that. 20:23
20:25 Psyche^ left
moritz the colors are a bit muted (compared to before, at least), but it's still not boring 20:25
ZoffixWork Yeah, I've tried like 6 different palettes :) The good thing is they can be easily changed: getbootstrap.com/customize/#colors 20:27
moritz and s/unicode/Unicode/ :-)
20:28 mr_ron left
TimToady I like it; the yellowish green kinda swears at the more bluish green color in camelia's wings, but that's a minor nit 20:28
[Coke] returns from errands and starts to poke at angular. 20:29
ZoffixWork moritz, footer buttons updated: perl6.xtatik.org/ does that look better? 20:30
TimToady so maybe a slightly different hue with the same saturation would be nicer, but then it might clash with the blue buttons
moritz ZoffixWork: aye
ZoffixWork: thanks
ZoffixWork: I want to give others the chance to chime in, and then maybe merge in a day or so 20:31
ZoffixWork Of course.
[Coke] ZoffixWork: are you the same person that was working on a redesign a month or so ago in perl6-site ? 20:33
FROGGS ZoffixWork: I like it :o)
ZoffixWork: the only thing I'd try changing is the colorset of the top bar 20:34
ZoffixWork [Coke], probably not
FROGGS, sure, they are easy to change. I suck with colours. My hope is some genius designer will pick better ones :P 20:36
FROGGS *g*
ZoffixWork Anyway. I gotta bounce, but I'm still logged in here from home as "Zoffix" and will read the log and comments on the PR :) Cheers!
20:36 ZoffixWork left
FROGGS Zoffix++ 20:36
leont Hoe should temp interact with || in rules? 20:42
How
I think I'm observing it not reverting on failure of the left hand side, or is it supposed to revert with the entire rule? 20:43
Or :temp if I want to be pedantic 20:44
20:44 abaugher left
TimToady temp is only scoped to blocks, and not really intended for regexes 20:44
we revert things by throwing away cursors, generally, so you'd use make to store something you want to throw away later 20:45
20:45 abaugher joined
leont I'm not sure how else to parse context-sensitive formats 20:46
That didn't parse for me
I know cursors exist and have a rough idea of what they do, but how to use them I don't have a clue
20:50 mr_ron joined
TimToady sorry, gotto go do sysadminny stuff now, maybe someone else can help 20:50
afk &
leont Basically, I need to store an indentation level somewhere 20:51
github.com/Leont/yamlish/blob/mast...h.pm6#L172
timotimo oooh that website design is neato 20:53
[Coke]: i think that was probably smls? 20:54
20:57 rurban joined
dalek kudo/nom: 2e92038 | timotimo++ | src/core/ (2 files):
make fail, die and Failure.new cheaper
20:57
timotimo cool, my rosettacode galton box still works :) 21:01
[Coke] finds one {{ }} that appears to kill angular1.4.x and hopes he can fix it. 21:05
timotimo: I also see we're including jquery just to get tooltips; we should be able to do those with angular bootstrap instead of jquery bootstrap 21:06
21:12 TEttinger joined
[Coke] any angular users around? 21:14
timotimo sure, throw jquery out 21:15
i don't even remember any tooltips being used in there 21:16
[Coke] aha, figured it out.
I now have a functioning version with angular 1.4.2 21:17
Need to recode one of the functions to avoid an issue, but should be easy. timotimo: anything I should be looking out for? I clicked through all the tabs, no errors. 21:18
21:18 rindolf left 21:24 FROGGS[tab]_ left 21:26 vendethiel joined
timotimo oh? 21:28
no errors, eh?
that sounds great; can you gimme the code?
and what's the function that needs to be recoded?
does sorting the routine list feel faster? changing tabs, too? 21:29
perhaps even less ram usage?
oh that would be joyous
[Coke] timotimo: the function is backgroundColor - it is returning random values, which annoys later version of angular. 21:34
I'm trying to find a thing that I can hash to get a constant color in that $scope.
callee's name seems plausible? 21:35
nope. 21:36
masak [Coke]: I'm an angular user, and I'm around.
how may I be of service?
21:39 spider-mario left
[Coke] I'm looking at the profiler html. there is a CallGraphController - trying to introspect the $scope object to find a unique ID I can use. 21:39
Not sure if $scopes have something inherently unique I can use, or if I need to examine the datastructure to find something. 21:40
ah, I think I have a lead; I should update backgroundColor to take the callee, and use that, not the scope. 21:45
\o/ 21:47
Ok, I have a working local copy of a profile page working.
double working? 21:48
timotimo awesome 21:50
masak [Coke]++ 21:55
21:57 tokuhiro_ joined 21:59 kid51 joined
[Coke] testing in a build, one sec. 22:01
22:01 tokuhiro_ left 22:04 vendethiel left
[Coke] well, crap. I tried a different one liner to profile on the full build, getting new failures. 22:05
Still seems to be mostly working when clicking through, however.
timotimo: gist.github.com/coke/b1815d6a28da9dfe9e10 for the WIP 22:06
masak 'night, #perl6
cognominal Speaking of callgraph gist.github.com/cognominal/eedf4128848d4e54ab9a :) Comment on style welcome.
[Coke] timotimo: still digging. 22:08
22:09 rurban left, xfix left
timotimo hum. 22:16
22:17 schmooster left
TimToady nine: I can't seem to panda install Inline::Perl5, I get: 22:18
gcc -Wall p5helper.c `perl -MExtUtils::Embed -e ccopts -e ldopts` -shared -o /home/larry/.panda-work/1443910514_1/blib/lib/Inline/p5helper.so -fPIC -g
/usr/bin/ld: cannot find -lperl
which is odd, because I have a /usr/lib/libperl.so.5.18.2 out there, and 18.2 is what I'm invoking 22:19
FROGGS TimToady: github.com/niner/Inline-Perl5/#building
cognominal good night 22:20
TimToady okay, but it's a weird error message for that...
FROGGS TimToady: it is also possible that you need the libperl-dev package to get a libperl.so, without the version suffix
TimToady that was it 22:21
FROGGS ahh, cool 22:22
TimToady would be nice if panda could point that out somehow...
_itz I was caught by that as well .. its at least a FAQ candidate
FROGGS but it is easy to report false positives there... perhaps it should only give tips when failing
22:25 zakharyas joined 22:26 _sri left, _sri joined 22:29 raz9r joined
[Coke] masak: the icycle_graph_callee_renderer.html template is fiddly in angular 1.4x. depending on how complex your profiled code is, my patch is sufficient. however, more complicated code starts throwing infdig exceptions. 22:34
22:35 zakharyas left 22:39 ketadmin joined 22:40 atweiden joined, telex left
timotimo "infdig"? 22:41
atweiden p6: my @requested = qw<Baz Bazz BazBar FooBar>; my @found = qw<Baz Bazz BazBar>; @requested (-) @found 22:42
camelia rakudo-moar 2e9203: OUTPUT«WARNINGS:␤Useless use of "(-)" in expression "@requested (-) @found" in sink context (line 1)␤»
atweiden p6: my @requested = qw<Baz Bazz BazBar FooBar>; my @found = qw<Baz Bazz BazBar>; say @requested (-) @found
camelia rakudo-moar 2e9203: OUTPUT«set(FooBar)␤»
22:42 telex joined
atweiden p6: my @requested = qw<Baz Bazz BazBar BazBar>; my @found = qw<Baz Bazz BazBar>; say @requested (-) @found 22:42
camelia rakudo-moar 2e9203: OUTPUT«set()␤»
atweiden is there a way to make that work for detecting duplicates? 22:43
[Coke] best guess right now: need to call $rootScopeProvider.digestTtl() and up the recursion limit. 22:50
22:51 _sri left, _sri joined 22:56 RabidGravy left
[Coke] ff 23:01
woot. Fixed. 23:02
23:03 mr_ron left 23:06 raz9r left 23:12 jasanj`` left 23:13 jasanj`` joined
dalek p: 71dbe59 | coke++ | src/vm/moar/profiler/template.html:
Update MoarVM profiler output to angular 1.4.2

Use consistent bg color, avoid template recursion problems.
23:13
23:17 travis-ci joined
travis-ci NQP build failed. Will "Coke" Coleda 'Update MoarVM profiler output to angular 1.4.2 23:17
travis-ci.org/perl6/nqp/builds/83502339 github.com/perl6/nqp/compare/99a21...dbe59947d8
23:17 travis-ci left
dalek kudo/nom: c52b0b3 | coke++ | tools/build/NQP_REVISION:
bump NQP to get new moarvm profile html page
23:18
23:19 mr_ron joined
[Coke] sadly, still doesn't let me bring up an htmlify run. 23:29
(From perl6/doc) 23:30
23:36 yqt left 23:38 cognominal left 23:39 cognominal joined 23:58 tokuhiro_ joined