»ö« 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.
buggable 🎺🎺🎺 It's time for the monthly Accidental /win Lottery 😍😍😍 We have 14 ballots submitted by 10 users! DRUM ROLL PLEASE!... 00:00
And the winning number is 7! Congratulations to alphah! You win a can of WD40!
00:05 troys joined
dwarring heh 00:07
00:10 mcmillhj joined
BenGoldberg WD40 is good for half as many things as perl ;) 00:11
00:14 mcmillhj left
pilne why would google ban for using it to get time in different locations???? 00:24
00:25 mcmillhj joined
ugexe www.youtube.com/watch?v=EIDZn8NHHfM perl6 graphql live talk 00:29
00:30 mcmillhj left 00:39 lookatme joined
lookatme morning .o/ 00:39
00:41 mcmillhj joined 00:46 mcmillhj left 00:55 Cabanossi left
BenGoldberg Does anyone know if there's a perl6 binding for Glib? In particular, GObject Introspection? 00:56
00:56 Cabanossi joined 00:57 mcmillhj joined
pilne buggable: tag glib 00:57
buggable pilne, There are no tickets tagged with GLIB
pilne whoops wrong bot
grebbable6: glib 00:58
greppable6 pilne, gist.github.com/15719059ecdd0ce448...8561a45dd8
00:58 awwaiid left
pilne that thing is quite nifty 00:58
BenGoldberg greppable6: \bglib\b 00:59
greppable6 BenGoldberg, gist.github.com/042ff1d0975d073d84...e7a1b18d96
01:02 mcmillhj left
BenGoldberg A heap of modules which *depend* on glib, but nothing exposing glib itself 01:04
01:04 Actualeyes joined
pilne i'm new here too 01:08
although it might be possible to use a perl5, python, or ruby wrapper with the inline modules. 01:09
01:10 mr-foobar left 01:12 mcmillhj_ left, mr-foobar joined 01:13 mcmillhj joined 01:14 mcmillhj_ joined 01:17 mcmillhj left 01:20 mcmillhj_ left, mcmillhj joined 01:23 Cabanossi left 01:26 Cabanossi joined 01:28 troys is now known as troys_ 01:38 dj_goku left
lookatme How to create a role with meta-object protocol like class ? 01:41
01:44 mcmillhj_ joined
ugexe m: role Foo { .^add_method("^shit", method { die "shit" }) }; class Bar does Foo { }; Foo.new.^shit 01:45
camelia Could not instantiate role 'Foo':
Package 'Mu' already has a method '^shit' (did you mean to declare a multi-method?)
in any protect at gen/moar/stage2/NQPCORE.setting line 1029
in block <unit> at <tmp> line 1
ugexe heh, guess not
01:46 ilbot3 left 01:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:49 mcmillhj_ left
lookatme ugexe, oh, thanks. Another question, do you know how can I add an attribute declare with HAS(not has) with meta-object protocol ? 01:50
m: role A { }; say A.HOW; 01:53
camelia Perl6::Metamodel::ParametricRoleGroupHOW.new
lookatme This metamodel class not have document yet.
01:56 curt_ left
skids ParametricRoleGroup is an abstract role group from which a ParametricRole has not yet been chosen. 01:59
m: role Foo [1] { }; role Foo [2] { }; say Foo[1] ~~ Foo # the last Foo is a ParametricRoleGroup, IIRC. 02:00
camelia True
02:00 mcmillhj_ joined
skids But roles are only lazily collapsed, and even non-parametric ones are actually paramteric under the hood. 02:00
To get meta object protcol on a role need to figure out how to collapse it from ParametricRoleGroup to ParametricRole without collapsing all the way to CurriedRole 02:01
I don't know how to do that off the top of my head.
pilne any idea where i need to start looking to fix this up?: gist.github.com/anonymous/c8aef88b...538da411bd 02:02
lookatme skids, me too, there are not document about that. 02:03
skids m: role Foo[$n] { }; my \c = Foo[1]; c.WHAT.say; c.^add_method("^covfefe", method { die "covfefe!" }); class Bar does Foo[1] { }; Foo[1].new.^covfefe # Collapsed too far.
camelia (Foo[Int])
No such method 'add_method' for invocant of type 'Perl6::Metamodel::CurriedRoleHOW'
in block <unit> at <tmp> line 1
lookatme What's the mean of `propdivsum($)`, pilne 02:04
The `$`
02:04 mcmillhj_ left
pilne goddamnit 02:05
that's the second time today i've done that
ty lookatme
02:06 Kaffe left, cdg joined
skids m: role Foo { }; my \c = Foo; c.^candidates[0].^add_method("^covfefe", method { die "covfefe!" }); class Bar does Foo { }; c.^candidates[0].^methods[0](c); 02:09
camelia covfefe!
in method <anon> at <tmp> line 1
in block <unit> at <tmp> line 1
skids m: role Foo { }; my \c = Foo; c.^candidates[0].^add_method("covfefe", method { die "covfefe!" }); class Bar does Foo { }; Foo.new.covfefe.say 02:13
camelia covfefe!
in method <anon> at <tmp> line 1
in block <unit> at <tmp> line 1
02:16 mcmillhj_ joined 02:17 cdg left, cdg joined
lookatme m: role A {}; say A.HOW.^methods; 02:20
camelia No such method 'gist' for invocant of type 'NQPRoutine'
in block <unit> at <tmp> line 1
02:20 mcmillhj_ left 02:21 mcmillhj_ joined 02:27 mcmillhj_ left 02:28 Miller_d joined, Miller_d is now known as cbd_
cbd_ noob question: does rakudo pass all the test as github.com/perl6/roast? 02:30
s/as/at/ 02:31
geekosaur no, there are a number skipped as Not Yet Implemented or TODO 02:37
i.e. known deviations
02:40 xinming_ joined
cbd_ Okay. I've never contributed to open source, or given a pull request before... 02:40
And I believe I've found a bug in Rakudo, and submitted one, but I figured that adding a test for the issue on perl6/roast would also help
how do I do that? 02:41
Or better: which direct should I head in? Just send someone an email through github and they're sort things out? 02:42
02:42 xinming left
cbd_ good grief, excuse the incorrect words 02:42
MasterDuke cbd_: click the "fork" button here github.com/perl6/roast, clone your fork to your computer, create and checkout a branch, add and commit and push your change, then click the "new pull request" button back on github.com/perl6/roast 02:46
02:50 noganex_ joined
cbd_ ok thanks 02:50
and they'll let me know if they don't think it is a bug that needs a test/ or if they don't like the test or whatever 02:51
MasterDuke yep. you said you already created an RT ticket? 02:52
02:52 mcmillhj left
cbd_ yes, but there hasn't been any action on the ticket 02:53
02:53 noganex left, Zoffix joined
MasterDuke what's the number? 02:53
Zoffix cbd_: what's the ticket and what's the bug?
02:54 troys_ is now known as troys
cbd_ rt.perl.org/Public/Bug/Display.html?id=131381 02:54
Zoffix Hm. Looks like perl6.fail hasn't been updated for hours
cbd_ The bug is that a sub can't declare a parameter of type Array of Subset 02:56
Zoffix cdg: sidenote: we already have PositiveInt subset in core under the name UInt 02:57
m: say -5 ~~ UInt; say 5 ~~ UInt
camelia False
lookatme Seems like I have seen this bug before.
cbd_ I confess I did not really check through RT to see if this bug already existed 02:58
Zoffix: Looking though perl6/roast I just noticed that (type Int::Positive), was just using that as a simple example to showcase the bug 02:59
Zoffix Seems to work if you use `(Array[UInt] $x)`
cbd_ oh hey, so it does 03:00
Zoffix cdg: it's not always the easiest task :) Though perl6.fail/ lists all the open tickets on one page so it's a bit easier.
m: -> UInt @ {}(Array[UInt].new) 03:01
camelia Constraint type check failed in binding to parameter '<anon>'; expected UInt but got Array[UInt] (Array[UInt].new())
in block <unit> at <tmp> line 1
Zoffix golfed
cbd_ it is supposed to work as I originally wrote it? it is a legitimate bug? 03:02
Zoffix cbd_: yeah, it's a bug 03:03
lookatme m: subset PInt of Int where * > 0; sub f(PInt @p) { }; my PInt @a; f(@a)
camelia Constraint type check failed in binding to parameter '@p'; expected PInt but got Array[PInt] (Array[PInt].new())
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix cdg: as for tests. Yeah, as was described, clone the perl6/roast repo, find some relevant file to put the test in, bump the `plan` at the top by the number of tests you're adding, add the test. Check the file works by running `t/fudgeandrun S-watever/your-test.t` and if it's all pass, then submit a PR. 03:04
There are a few articles on perl6.party (with "core hacking" in titles) that mention the test-writing process 03:05
And then "they" will comment on the PR or merge it :)
cbd_ t/fudgeandrun came with Rakudo*? 03:06
Zoffix cdg: it's a script in perl6/roast repo
cdg: oh, sorry, if you're in roast checkout, it should be just ./fudgeandrun some-test-file.t
This is the script: github.com/perl6/roast/blob/master/fudgeandrun 03:07
03:07 Cabanossi left
pilne so far 100% of my bugs have just been my babelfish going too deep into my ear >.< 03:09
03:10 Cabanossi joined, mr-foobar left 03:12 mr-foobar joined
Zoffix AST shows it typechecking for Positional[Int] and then typechking with UInt :S 03:13
MasterDuke ha 03:15
03:16 awwaiid joined, awwaiid left 03:18 cdg_ joined
Zoffix doesn't know how any of this stuff works, gives up, and hopes MasterDuke will figure it out :) 03:19
night \o
03:19 Zoffix left, cdg left
MasterDuke well, not tonight for sure, about to head to bed myself 03:20
03:21 awwaiid joined 03:25 khw left 03:30 pilne left 03:38 cbd_ left, cbd_ joined 03:52 cdg_ left 03:59 dj_goku joined 04:00 troys is now known as troys_ 04:01 Kaffe joined 04:12 fatguy left, xerx joined 04:17 xerx left 04:19 cbd_ left, xerx joined 04:39 mcmillhj joined 04:43 troys_ is now known as troys, mcmillhj left 04:44 xtreak joined, Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 04:46 bwisti left 04:53 curan joined 04:55 xtreak left 05:04 AlexDaniel joined 05:13 ufobat joined 05:22 Cabanossi left 05:25 Cabanossi joined 05:31 domidumont joined 05:37 domidumont left, domidumont joined 05:43 domidumont left 05:49 skids left 05:53 BenGoldberg left 06:01 domidumont joined 06:06 wamba joined 06:09 Cabanossi left 06:10 mr-foobar left, Cabanossi joined, klapperl left 06:11 klapperl joined 06:13 mr-foobar joined 06:24 xtreak joined 06:29 xtreak left 06:31 kyan left 06:35 mcsnolte left 06:38 Cabanossi left 06:39 Cabanossi joined 06:41 troys left 07:00 sammers joined 07:07 mr-foobar left 07:13 mr-foobar joined 07:14 TEttinger left 07:15 darutoko joined 07:16 salva left 07:21 salva joined 07:22 rindolf joined 07:25 cpage_ left 07:31 dakkar joined 07:32 parv joined 07:54 kalkin- joined 07:56 aborazmeh joined, aborazmeh left, aborazmeh joined, g4 joined, g4 left, g4 joined 08:00 jonas2 joined 08:01 nadim_ joined 08:05 zakharyas joined 08:12 cpage_ joined
timotimo perl6.fail: Frontend for All Interesting Lapses 08:14
08:16 xtreak joined 08:17 kalkin- left, kalkin- joined 08:20 wamba left 08:22 kalkin- left 08:29 kalkin- joined 08:34 domidumont left 08:35 domidumont joined 08:38 cpage_ left 08:40 mr-foobar left 08:42 cyphase left 08:44 mr-foobar joined 08:47 cyphase joined 08:51 AlexDaniel left 08:54 lowbro joined 08:55 lowbro left, lowbro joined 09:07 wamba joined 09:08 Cabanossi left 09:09 Cabanossi joined 09:10 lookatme left 09:17 kalkin- left 09:34 dakkar left, dakkar joined 09:36 domidumont left 09:37 xtreak left 09:40 mr-foobar left, pmurias joined 09:41 mr-foobar joined, geekosaur left 09:42 geekosaur joined 09:44 simonm joined 10:17 margeas joined 10:20 robertle joined 10:38 parv left 10:39 Cabanossi left 10:40 Cabanossi joined 10:42 mr-foobar left, mr-foobar joined 10:45 notbenh left, cpage_ joined, notbenh joined 10:46 simonm left 10:47 simonm joined 11:11 mr-foobar left 11:15 mr-foobar joined
grondilu ls 11:29
11:37 Cabanossi left
zengargoyle that GraphQL prestenation was pretty cool even with google hangout technical difficulties. 11:39
11:40 simonm left, Cabanossi joined
zengargoyle *presentation 11:40
11:44 curt_ joined 11:51 aborazmeh left 12:03 domidumont joined 12:07 mcmillhj joined 12:08 Cabanossi left 12:10 Cabanossi joined 12:13 khw joined 12:15 simonm joined 12:34 rindolf left 12:37 Cabanossi left, wamba left 12:40 Cabanossi joined 12:42 pilne joined 12:50 wamba joined 12:52 xerx left
pilne yawns 12:52
12:56 cdg joined 13:10 mr-foobar left 13:11 mr-foobar joined 13:19 raschipi joined 13:23 curan left 13:41 mr-foobar left 13:46 mr-foobar joined 13:47 AlexDaniel joined 13:53 Cabanossi left 13:55 Cabanossi joined 14:00 dct joined 14:02 rindolf joined 14:03 raschipi left 14:05 skids joined
tbrowder question: is there a rule of thumb about the order of declaring vars in a script? i have a messy script that was working reasonably well but suddenly, after an unknown change (haven't checked git history yet), file scope vars defined early in the script are now throwing an undeclared error when referenced later. i also have a scattering of constants. should i always declare all such mutable vars at the top (after any modules) 14:10
and define initial values in a BEGIN block as a matter of course?
masak tbrowder: I'm kind of partial to the rule of "declare a variable at the latest possible point (when you need it), in the smallest possible scope" 14:13
lucs masak++
El_Che masak: constants are an exception, surely?
lucs Constants aren't variables ;)
masak El_Che: yes, but I'm not super-strict about putting them at the top either 14:14
but yeah, they are more likely to go at the top
El_Che lucs: haha, excellent point
masak tbrowder: anyway, something about your question tells me you're somewhat overwhelmed by too many variables in too wide scopes. I find that doesn't happen to me so much these days. 14:15
(not because I'm more clever than before -- I wish -- but because I try to constrain the scope of my variables)
lucs The fewer globals, the better, eh.
masak I even greatly appreciate linters these days that tell me when I have unused variables, or variables that I've declared but not assigned to, etc 14:16
those things are not compiler errors, but they're indicative of loose ends and I like to have them pointed out to me 14:18
lucs masak: Does P6 have such tools as far as you know?
El_Che masak: they are compiler errors in languages like go
rightfold Don't write messy code and you won't have those problems
Not even to "fix it in a minute"
It does not make you go faster in the short or long term
lucs rightfold: We all strive to avoid messy code, but, you know, things happen :)
timotimo tbrowder: don't forget that for "constant foo = bar" you already get BEGIN semantics 14:24
m: constant first-time = now; BEGIN sleep 2; constant second-time = now; say second-time - first-time
camelia 2.05492837
14:30 wamba left
rightfold Woot 14:32
That's rad 14:33
timotimo it can be unexpected when you move code from a script to a module
and suddenly precompilation lets the code run less often 14:34
this is also why we don't offer "assign-once constants" under the "constant" keyword
tbrowder masak: i agree, but i'm in a "messy" dev state at the moment and haven' taken time to refactor and hide stuff yet... 14:35
masak: you are right, of course, thanks 14:36
14:36 g4 left
tbrowder timotimo: thanks 14:36
14:39 wamba joined 14:41 mr-foobar left 14:45 mr-foobar joined
Geth doc: 6e00889cca | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Proc/Async.pod6
Fix Proc::Async.new

  - There's no :$path, *@args candidate
  - There's no `:r` argument
  - Include the positional multi
  - Include :enc and :translate-nl args
15:00 wamba left 15:05 wamba joined 15:10 dct left 15:11 lowbro left 15:14 zapwai joined 15:28 committable6 left, committable6 joined, ChanServ sets mode: +v committable6
Geth doc: 8f695f2d22 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Proc/Async.pod6
Fix typo; Fixes #1354
tbrowder ref my prob: found a "=comment" that was meant to be an "=end comment", fixed and turned on torrent of errors, need to use a linter (not sure it would be easy to find that, though, given that p6 pod can have nested comments and no worries running through to eof).
[Coke] syntax highlighter might've been helpful there. 15:42
15:43 troys joined 15:45 zacts left 15:46 zacts joined 15:49 pilne left 15:50 domidumont left, pilne joined 15:54 Sgeo left 16:02 Sgeo joined 16:05 grondilu left
tbrowder my real error was not using my git history (actually, bzr) when the error popped up (and my emacs perl6-mode doesn't have a highlighter, anyway) 16:09
16:13 mr-foobar left 16:16 mr-foobar joined 16:17 robertle left, troys is now known as troys_ 16:19 Do joined 16:20 Do is now known as Guest88768, this joined
this Hi 16:20
16:24 Guest88768 left 16:25 this left 16:32 mcmillhj left 16:34 zacts left 16:35 wamba left 16:37 domidumont joined, Cabanossi left 16:38 zacts joined 16:40 Cabanossi joined 16:41 Zoffix joined, Zoffix left 16:42 mr-foobar left, mcmillhj joined 16:45 mr-foobar joined 16:47 kalkin- joined, mcmillhj left 16:48 setty1 joined, kalkin- left 16:51 robertle joined 16:52 dakkar left 16:54 Actualeyes left 16:58 margeas left 16:59 mcmillhj joined 17:08 Actualeyes joined 17:12 mr-foobar left 17:15 mr-foobar joined 17:23 st_elmo joined 17:34 zakharyas left 17:36 wamba joined 17:41 mr-foobar left 17:43 mr-foobar joined 17:55 aindilis` joined 17:57 aindilis left, CacoS joined 18:48 raschipi joined 18:52 Cabanossi left 18:55 Cabanossi joined 19:02 Exodist left
moritz hi all. I'm considering writing something about P6 regexes and grammars. Here's a first draft of an outline: gist.github.com/moritz/471edf9f716...5d3526bb8e 19:03
feedback would be very welcome
19:04 Exodist joined
curt_ m: my Array[Int] $x; say $x>>.Str; 19:07
camelia (timeout)
19:12 Actualeyes left, domidumont left
timotimo bisectable6: my Array[Int] $x; say $x>>.Str; 19:15
bisectable6 timotimo, On both starting points (old=2015.12 new=92c187d) the exit code is 0, exit signal is 1 (SIGHUP) and the output is identical as well
timotimo, Output on both points: ««timed out after 10 seconds»»
timotimo huh, it has been like this forever 19:16
moritz m: my Array[Int] $x; say $x.new()>>.Str; 19:18
camelia []
moritz m: my Array[Int] $x; say $x.defined
camelia False
19:18 jonas2 left 19:20 darutoko left 19:24 troys_ is now known as troys 19:27 Actualeyes joined 19:31 Zoffix joined
Zoffix It's a bug in &deepmap, needs `&& $value.DEFINITE` on this line, at a guess: github.com/rakudo/rakudo/blob/92c1...s.pm#L1489 19:33
Need to relocate and will fix in ~2hrs.
m: dd Array.list
camelia (Array,)
Zoffix ^ it basically makes a 1-el list of Array type object, then goes to descend into it and finds the inner Array and recurses and makes 1-el list with the type object and hence infiniloop :) 19:34
eater What's the difference between <50/7> and (50/7)? 19:35
moritz m: say .^name for <50/7>, (50/7)
camelia Rat
Zoffix eater: the first one is a Rat literal, the second one is two Ints divided with the &infix:</> operator. The former can be used as a literal in the signature, for example, the latter can't as it';s an expression not a literal
eater thanks :) 19:36
Rat's are rad
awwaiid Rats are the BEST! 19:37
Zoffix They're indeed delicious!
19:37 Cabanossi left
Zoffix Oh, we're talking about Perl 6 objects? 19:38
awwaiid I want all the langs to switch to Rats by default
19:40 Cabanossi joined
Zoffix curt_++ # thanks for presenting about Perl 6 last night! 19:41
GraphQL and Perl 6 if anyone wanna watch: www.youtube.com/watch?v=EIDZn8NHHfM 19:42
raschipi moritz: what about using a regex with .grep? It's not included in the 'Using Regexes' section. 19:43
curt_ I love Perl 6... It makes a perfect partner for GraphQL
Zoffix :)
moritz raschipi: I'll certainly mention that (though it's "just another" application of smart matching) 19:44
raschipi It's the most common regexp use, and I think giving a simple example is nice. 19:45
19:48 huggable left, huggable joined, ChanServ sets mode: +v huggable
raschipi A section on Grammar::Debugger would also be nice, giving the ropes on how to use it. 19:49
19:49 simcop2387 left
eater hmm those NF* functions are new? 19:49
19:50 simcop2387 joined 19:51 captain-adequate joined
Zoffix Well, I lied. I was able to fix it before relocating \o/ 19:51
m: my Array[Int] $x; say $x>>.gist;
camelia [(Array[Int])]
Zoffix Drive-by bug fixing.... zoom ZOOM! 19:52
19:52 Zoffix left, st_elmo left 20:04 cdg left, cdg joined 20:15 espadrine_ joined 20:22 CacoS left 20:37 circ-user-HlKVf joined 20:38 circ-user-HlKVf left 20:39 Cabanossi left 20:40 Cabanossi joined
tbrowder .tell dwarring i just filed a new issue for Font::AFM 20:50
yoleaux tbrowder: I'll pass your message to dwarring.
20:55 troys is now known as troys_
tbrowder the issue i found is that the IsFixedPitch method is returning a string of 'true' or 'false', not a Boolean (to be fair, that what the README says), so a Boolean test shows no difference, one has to test for 'true'. is there any way to coerce those strings to a Boolean? 20:59
raschipi The other way around, turning it into a String when it's a boolean is trivial in P6, so it makes sense to return the Bool. 21:03
bye my loves 21:04
21:08 raschipi left 21:10 skids left, TEttinger joined 21:17 troys_ is now known as troys 21:18 mcmillhj left, grondilu joined 21:26 committable6 left 21:27 pmurias left
ufobat ${ ... } is an itemized hash, right? so when is {} an itemized has and when is {} a code-block-thingy? 21:28
m: say ('GET' => {foo => 1}).value.WHAT
camelia (Hash)
21:29 pmurias joined
Geth doc: d3d3fa3666 | (Jan-Olof Hendig)++ | doc/Language/functions.pod6
Fixed a few typos
pilne my roguelike obsession is really nagging at me... i think i might pickup timotimo's libtcod bindings and also implement a pure perl6 one, just for yaknow.... poops and giggles perhaps they are both just out of my comfort zone as projects tbh, but i don't think that they are so far as to be something i'll hate myself for doing.
21:29 nadim_ left 21:32 kyan joined 21:33 pmurias left
Juerd Search appears broken on doc.perl6.org 21:37
Especially short things like "io" or "try" don't get you anywhere near what you're looking for.
21:38 Cabanossi left
[Coke] Juerd: there's a fuzzy search, which may be slightly too fuzzy. Additionally, exact matches are not preferred. 21:39
[Coke] hurls github.com/perl6/doc/issues?q=is%3...l%3Asearch for a list of currently open search related issues which probably cover this.
Juerd Er, I wouldn't call this "slightly" too fuzzy :)
[Coke] github.com/perl6/doc/issues/247 in particular.
21:39 Cabanossi joined
[Coke] Juerd: search for "routne" for example. 21:40
21:40 colomon_ joined
Juerd Sure, try "try" 21:40
21:40 pmurias joined
Juerd I'd make a screenshot but the drop-down closes as soon as the input field loses focus. 21:40
[Coke] I see it, yes.
21:41 colomon left, colomon_ is now known as colomon
Juerd So, yep, pretty fuzzy :) 21:41
21:42 ufobat left
[Coke] for things that are short, we shouldn't return even shorter things. 21:43
say, if the term length is 4 or less, only return matches that are least 4 long?
Juerd Not just that, "try" should also not return things like "utc", "rwx", or "ord"
[Coke] that would cut that list down a bit, but perhaps not too much. 21:44
Juerd Or maybe it should find those things, but prioritize exact matches, then substrings, and then fuzziness
[Coke] right, the ordering of results is one ticket that's already out there. reducing the fuzz set would be something else. we have a few knobs we can try there.
Can you open a ticket and assign it to me? 21:45
Juerd I have no idea if I can do that 21:46
I'll try :)
[Coke] danke 21:47
dwarring tbrowder: got it thanks! 21:48
yoleaux 20:50Z <tbrowder> dwarring: i just filed a new issue for Font::AFM
21:49 committable6 joined, ChanServ sets mode: +v committable6 21:52 setty1 left 21:53 pmurias left 21:54 mcmillhj joined, rindolf left 21:56 itaylor57 left 21:57 wamba left 21:59 mcmillhj left, itaylor57 joined
[Coke] Juerd: I think the result you're looking for, btw, is under "try blocks" 21:59
Juerd Could be. I'd expect an exact match for keywords, though. 22:00
Especially since try can be used without a block :)
[Coke] ok, that's an actual doc issue, then, rather than a search-js-bug. 22:01
Juerd (Note: I'm trying to use Perl 6 for an actual project, so not taking the time to figure out how I can help to fix bugs or documentation; I'll just work around anything I encounter)
[Coke] I'll copy the ticket and deal with at least one of those 2 issues. :) 22:02
Juerd Great, thanks :)
[Coke] Juerd: sure; thanks for opening the ticket, it helps.
Juerd Another thing I'm working around is that serializing an object with "has Hash @foo" to/from json is hard, because after deserializing, it complains that the array is not a hash... Working around it simply by removing the type constraint. Finding out what I'm doing wrong takes too long :) 22:03
22:05 robertle left
Juerd I'm falling in love with if ... -> $x { ... } 22:05
22:05 itaylor57 left, espadrine_ left 22:07 Cabanossi left
pilne it is quite elegant and useful 22:08
timotimo don't forget about the wonderful with ... -> $x { ... } as well
22:09 haxmeister left
Juerd timotimo: I can't stand with/without because my brain can't be convinced they're conditionals. 22:09
22:09 Cabanossi joined
Juerd timotimo: It messes with my comprehension of my own code if I use them. 22:10
22:10 mcmillhj joined
pilne i'm noticing in a couple of SO questions and tutorials the line "... you can use $ for everything and ignore @ and %..." (one in context of using a % for something associative that isn't a hash, and the other in the docs on nativecall) 22:11
and i'm quite confused
jnthn In certainly contexts it may be true, but I don't think it's good general advice. 22:13
pilne k, i'll generally ignore it then (: 22:14
Juerd Heh, sigils were simplified but continue to confuse newbies :)
jnthn Not least because `my $x = Array.new; $x = ...` means something totally different to `my @x = ...`
If you move the sigils off the variables, you'll end up with them (or their method equivalents) at usage sites. 22:15
22:15 majensen1 joined
jnthn And then the code will look like @$blah :) 22:15
22:15 mcmillhj left
pilne i've never been adverse to sigils or sigil-esq things (like clojure using [] {} () for different data types) to make it immediately apparent what something is. although having the sigil on the name of the thing makes it a lot easier to not have to dig back up (or down...) in code to find out exactly "what" that thing is (: 22:18
22:19 haxmeister joined 22:23 majensen1 left 22:26 mcmillhj joined, haxmeister left 22:30 mcmillhj left 22:33 mcmillhj joined
Juerd "Unsupported use of $. variable; in Perl 6 please use the .kv method on e.g. .lines" when trying $.^name instead of self.^name; bug or my mistake? 22:41
22:41 mcmillhj left
AlexDaniel m: class Foo { method foo { say $\.^name } }; Foo.new.foo 22:47
camelia Any
AlexDaniel ah no, this is doing something else
or… does it? 22:48
m: class Foo { method foo { say ($).^name } }; Foo.new.foo
camelia Any
AlexDaniel m: class Foo { method foo { say (self).^name } }; Foo.new.foo
camelia Foo
AlexDaniel right, because… because that's an anon variable I think 22:49
Juerd: bug. 22:50
Juerd: I think this is where you would fix it: github.com/rakudo/rakudo/blob/8e0d...2080-L2083 22:53
like, maybe this: !before ‘^’? \w 22:54
Juerd Mind if I copy/paste that into a ticket? 22:55
AlexDaniel sure
Juerd: you can fix it yourself if you have time 22:56
Juerd Can't find the RT email address :( 22:57
AlexDaniel: That's the thing, I don't...
AlexDaniel huggable: rakudobug
huggable AlexDaniel, Report bugs by emailing to [email@hidden.address]
Juerd AlexDaniel: I'm not sure if I'm wasting time by using Perl 6 for actual work, or saving time
AlexDaniel well, $.^name issue doesn't take any time, just use self. :) 22:58
Juerd It's very little code compared to what I'd need if I had to put type checks everywhere in Perl 5
AlexDaniel For now, I mean
Juerd But I've already run into a handful of issues in 2 hours of coding :)
Yep, I'm happily working around anything I find
22:59 itaylor57 joined
AlexDaniel Juerd: well, actually we need more people like you using perl 6 for real stuff 22:59
Juerd Mail sent 23:02
23:05 aindilis` left 23:09 Herby_ joined
Herby_ o/ 23:09
timotimo yo herb
Herby_ hey timotimo 23:10
I'm working my way through the Think Perl 6 book and am stumped on an example 23:13
gist.github.com/anonymous/bc6f0e58...875fcdefc4 23:14
whether the user enters 1 or 50000, it will say One digit
timotimo huh, interesting 23:16
Herby_ I'm guessing its due to perl not making the user input a integer when it enters the given statement?
timotimo m: say "50000" ~~ 0..9
camelia True
timotimo bisect: say "50000" ~~ 0..9
bisectable6 timotimo, On both starting points (old=2015.12 new=b667e81) the exit code is 0 and the output is identical as well
timotimo, Output on both points: «True»
timotimo how does string vs int-range work ...
jeek m: say "50000" == 0 23:17
camelia False
jeek m: say "50000" == -1
camelia False
jeek m: say "50000" == 1
camelia False
jeek Hrm.
timotimo ah, lexicographic
it only does int vs int if both the target and value are ints 23:18
m: say val("50000") ~~ 0..9
camelia False
timotimo we may want to give prompt the "val" treatment? so we can get IntStr and such?
Herby_ say "50000".Int ~~ 0..9
evalable6 False
Herby_ say "50000".Int ~~ 45000..55000
evalable6 True
timotimo has think perl already been printed? 23:19
Herby_ i got the early release a few months back but yes i believe its gone into print
timotimo ah, perhaps it has been fixed since then
Herby_ i'm reading the ebook
eh, i downloaded the newest copy a few days ago
In my novice opinion the book is great. That example just stood out to me 23:20
timotimo thanks for pointing it out anyway :) 23:22
i'm not sure the author's reading the irc, though 23:23
Herby_ and to be fair, the example doesn't ask for user input. the book example starts at the given statement 23:24
timotimo oh, ok
right, so the example was expecting Int rather than Str
Herby_ likely, i added the user input part to test it 23:25
Juerd I'm slightly amazed that "my Foo|Bar @x" is not supported. Working around it with "my @x where Foo|Bar", but I wonder why the former can't work 23:27
23:32 AlexDaniel left
timotimo hm, perhaps because you can't just put a Foo|Bar into an empty slot if the array grows or something 23:36
going to bed, seeya 23:38
Juerd Good night!
23:49 cpage_ left 23:50 cdg left