Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-30

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 BenGoldberg joined #perl6
00:01 thou r: try { dir('foobar'); CATCH { note "catch block"; } }; note "ALIVE";  # simplified test case, this would work on 2015.03 build
00:01 camelia rakudo-jvm c10232: OUTPUT«catch block␤Failed to get the directory contents of '/home/camelia/foobar': nqp::opendir: unable to get a DirectoryStream␤  in method dir at gen/jvm/CORE.setting:18754␤  in sub dir at gen/jvm/CORE.setting:19080␤  in block <unit> at /tmp/tmpfile:1␤␤»
00:01 camelia ..rakudo-moar c10232: OUTPUT«catch block␤Failed to get the directory contents of '/home/camelia/foobar': chdir failed: Unknown system error␤  in method dir at src/gen/m-CORE.setting:18994␤  in sub dir at src/gen/m-CORE.setting:19313␤  in block <unit> at /tmp/tmpfile:1␤␤»
00:03 thou please comment on issue if anyone knows the right fix.
00:03 thou thanks!
00:05 pierrot joined #perl6
00:13 geekosaur joined #perl6
00:21 raydiak m: try { dir('foobar'); CATCH { default { note "catch block"; } } }; note "ALIVE";
00:21 camelia rakudo-moar c10232: OUTPUT«catch block␤ALIVE␤»
00:22 * raydiak goes to comment
00:24 tinyblak joined #perl6
00:26 laouji_ joined #perl6
00:33 tinyblak joined #perl6
00:35 tinyblak_ joined #perl6
00:40 laouji_ joined #perl6
00:46 pecastro joined #perl6
00:50 laouji_ joined #perl6
00:56 TimToady .tell jnthn I don't there's any good reason to support placeholders in { $^a } for @list and not support lambdas; I'd rather lose blocks in loopless if than lose lambdas in list comprehensions
00:56 yoleaux TimToady: I'll pass your message to jnthn.
00:58 tinyblak joined #perl6
01:01 TimToady .tell jnthn *think (and placeholders make no sense in bare blocks, so that analogy is flawed anyway, plus there is RC code that depends on list comprehensions using lambdas)
01:01 yoleaux TimToady: I'll pass your message to jnthn.
01:12 flussence is "panda install Linenoise" the intended replacement for building rakudo with --use-readline now? 'Cause I just did that, and now I get "Cannot locate native library 'liblinenoise.so'" instead of a REPL...
01:13 labster m: ('cc' x 2.5).perl.say # /me hopes for 5 chars
01:13 camelia rakudo-moar c10232: OUTPUT«"cccc"␤»
01:14 labster awwww :P
01:19 flussence .oO( and panda --help tells me "install/share/perl6/site/36" has no uninstall subcommand... great. )
01:42 b2gills flussence: The way I fixed the liblinenoise.so problem is ^C panda after its built and copy it to the same folder as moar.so
01:46 flussence ah, thanks. I'll just leave it with the default repl for the time being, if I need fancy editing I'll fire up a fancy editor :)
01:58 Akagi201 joined #perl6
01:59 rmgk joined #perl6
02:01 konsolebox joined #perl6
02:05 dayangkun joined #perl6
02:11 konsolebox joined #perl6
02:27 rmgk joined #perl6
02:38 aliraju joined #perl6
02:39 jack_rabbit joined #perl6
02:39 davido_ joined #perl6
02:40 aliraju left #perl6
02:48 ir2ivps4 joined #perl6
02:49 laouji__ joined #perl6
02:52 noganex_ joined #perl6
02:58 vendethiel joined #perl6
03:06 telex joined #perl6
03:19 tinyblak joined #perl6
03:27 hobbs joined #perl6
03:44 FROGGS_ joined #perl6
03:49 BenGoldberg m: say 'abcdefg' x 0.5
03:49 camelia rakudo-moar c10232: OUTPUT«␤»
04:09 kaare__ joined #perl6
05:04 quester joined #perl6
05:07 hobbs joined #perl6
05:21 diana_olhovik_ joined #perl6
05:22 pierrot joined #perl6
05:46 alini joined #perl6
06:02 Foxcool joined #perl6
06:03 koo6 joined #perl6
06:07 domidumont joined #perl6
06:09 diana_olhovik joined #perl6
06:13 domidumont joined #perl6
06:27 Akagi201 joined #perl6
06:28 abraxxa joined #perl6
06:29 Akagi201_ joined #perl6
06:30 moritz m: say dir('nosuchdir').^name
06:30 camelia rakudo-moar c10232: OUTPUT«Failure␤»
06:32 Akagi20__ joined #perl6
06:33 _mg_ joined #perl6
06:42 espadrine_ joined #perl6
06:46 mr-foobar joined #perl6
06:49 dolmen joined #perl6
06:51 FROGGS joined #perl6
06:52 FROGGS good morning #perl6
06:52 RabidGravy joined #perl6
06:54 masak good morning FROGGS, #perl6
06:54 FROGGS .tell flussence panda does not know how to install dlls
06:54 yoleaux FROGGS: I'll pass your message to flussence.
06:54 FROGGS hi masak
06:54 masak m: say 'abcdefg' x 0.999
06:54 camelia rakudo-moar c10232: OUTPUT«␤»
06:54 masak m: say 'abcdefg' x i
06:54 camelia rakudo-moar c10232: OUTPUT«Can not convert 0+1i to Int: imaginary part not zero␤  in method Int at src/gen/m-CORE.setting:13953␤  in sub infix:<x> at src/gen/m-CORE.setting:1632␤  in block <unit> at /tmp/WmGGwmKyD7:1␤␤»
06:54 labster hail FROGGS, masak
06:55 * masak .oO( rain FROGGS, masak. sleet FROGGS, masak. snow FROGGS, masak. )
06:56 labster I thought "ave" might be too archaic
06:56 XP joined #perl6
06:57 darutoko joined #perl6
06:58 rurban joined #perl6
06:59 masak not if the listener is named "Maria".
06:59 masak or "Cesar".
07:04 dalek rakudo/nom: 5455ace | TimToady++ | src/core/Complex.pm:
07:04 dalek rakudo/nom: use new complex literal notation for .perl
07:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5455acef16
07:04 dalek rakudo/nom: 480bd7f | TimToady++ | src/core/ (8 files):
07:04 dalek rakudo/nom: implement 'is nodal'
07:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/480bd7f606
07:09 konsolebox joined #perl6
07:11 XP test
07:11 FROGGS ok 1 - test
07:11 XP start hacking...
07:11 FROGGS :o)
07:12 XP attack victim no. 1
07:12 XP shell code executing...
07:12 TimToady there are probably a couple of tests failing from the nodal change, which I'll look at tomorrow if no one else does first
07:13 XP victim no 1 killed. selecting another victim...
07:14 moritz 'is nodal' is this know-where-to-stop-on-hypers thingy, right?
07:15 TimToady yup
07:15 TimToady m: say [[1,2,3],[4,5,6]]».abs
07:15 camelia rakudo-moar c10232: OUTPUT«3 3␤»
07:16 TimToady that will be different in about 5 minutes
07:16 TimToady m: say [[1,2,3],[4,5,6]]»i  # likewise this
07:16 camelia rakudo-moar c10232: OUTPUT«0+3i 0+3i␤»
07:18 moritz TimToady++
07:19 TimToady m: say [[1,2,3],[4,5,6]]».abs
07:19 camelia rakudo-moar 480bd7: OUTPUT«1 2 3 4 5 6␤»
07:19 TimToady m: say [[1,2,3],[4,5,6]]».abs.perl
07:19 camelia rakudo-moar 480bd7: OUTPUT«([1, 2, 3], [4, 5, 6])␤»
07:19 TimToady m: say [[1,2,3],[4,5,6]]»[1]
07:19 camelia rakudo-moar 480bd7: OUTPUT«2 5␤»
07:20 TimToady m: say [[1,2,3],[4,5,6]]»i.perl
07:20 camelia rakudo-moar 480bd7: OUTPUT«([<0+1i>, <0+2i>, <0+3i>], [<0+4i>, <0+5i>, <0+6i>])␤»
07:20 TimToady m: say [[1,2,3],[4,5,6]]».reverse.perl
07:20 camelia rakudo-moar 480bd7: OUTPUT«([3, 2, 1]<>, [6, 5, 4]<>)␤»
07:21 TimToady one thing I didn't quite solve is looking up methods on the proto; at the moment I have to put 'is nodal' on all the multis
07:22 TimToady for operators, though, marking the proto suffices
07:22 XP joined #perl6
07:23 FROGGS that might be the same bug that does not export multi subs when the proto is marked 'is export'
07:24 XP left #perl6
07:24 TimToady could be, though in this case, I have to do a trial dispatch with .can, and I just look at the 1st candidate, which is a multi
07:25 moritz failures in four spectest files
07:26 TimToady cause the problem is that we generate a closure around the method for hyper(), which hides the trait
07:26 moritz # Failed test 'right exception type (X::Syntax::Adverb)'
07:26 moritz in t/spec/S03-operators/ternary.t
07:26 TimToady that one doesn't look familiar
07:26 moritz guess that might be related to timotimo++'s adverb error message patch yesterday
07:27 moritz t/spec/S32-num/stringify.t has several passing TODOs
07:27 TimToady t/spec/S03-smartmatch/array-hash.t and t/spec/S09-typed-arrays/arrays.rakudo.moar are mine
07:27 TimToady those TODOs may be new complex notation
07:27 moritz aye
07:28 FROGGS nice
07:28 dalek roast: fe39e51 | moritz++ | S32-num/stringify.t:
07:28 dalek roast: Unfudge passing tests, TimToady++
07:28 dalek roast: review: https://github.com/perl6/roast/commit/fe39e51606
07:28 moritz that was the easy part of reducing test noise :-)
07:29 TimToady well, I need to crash now, so have fun with the others
07:29 TimToady zzz &
07:29 moritz m: try EVAL '1 ?? 2,3 !! 4,5'; say $!.^name
07:29 camelia rakudo-moar 480bd7: OUTPUT«X::Syntax::ConditionalO​perator::PrecedenceTooLoose␤»
07:30 FROGGS gnight TimToady
07:30 moritz m: try EVAL '1 ?? (3:foo) !! 2'; say $!.^name
07:30 camelia rakudo-moar 480bd7: OUTPUT«X::AdHoc␤»
07:30 moritz m: 1 ?? (3:foo) !! 2
07:30 camelia rakudo-moar 480bd7: OUTPUT«===SORRY!===␤Cannot find method 'name'␤»
07:31 FROGGS lizmat and me was working on that too, at the qah
07:31 FROGGS but that error is new
07:31 moritz $/.CURSOR.typed_panic('X::Syntax::Adverb', what => $target.name);
07:31 moritz that's the line that fails
07:32 moritz I guess it needs an   if nqp::can($target, 'name')
07:32 lizmat good *, #perl6!
07:32 zakharyas joined #perl6
07:32 lizmat .oO( barely awake )
07:32 FROGGS morning lizmat
07:33 * moritz tries a patch
07:35 * FROGGS checks what $target is
07:37 moritz a QAST::Op
07:39 FROGGS moritz: no, it is a QAST::Want
07:39 moritz QAST::Want isa QAST::Op
07:40 FROGGS so yeah, if it can .name (and that name is not empty)... that makes more sense here I guess
07:41 dalek rakudo/nom: 2825467 | moritz++ | src/Perl6/Actions.nqp:
07:41 dalek rakudo/nom: Fix error reporting on adverbed things whose name we cannot extract
07:41 dalek rakudo/nom:
07:41 dalek rakudo/nom: fixes the test failure in S03-operators/ternary.t
07:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/282546746a
07:41 tadzik joined #perl6
07:41 FROGGS moritz: you left a debugging statement in there
07:42 moritz FROGGS: thanks for catching that
07:42 moritz FROGGS: I removed it, but only from the generated file :(
07:43 dalek rakudo/nom: ee116a5 | moritz++ | src/Perl6/Actions.nqp:
07:43 dalek rakudo/nom: Remove debugging statement, FROGGS++
07:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee116a5bdd
07:43 moritz (code review)++
07:43 FROGGS aye
07:43 moritz given enough FROGGS++, all bugs are shallow
07:43 FROGGS that's what I miss at work
07:43 nwc10 bugs? :-)
07:44 FROGGS no, the other thing :o)
07:44 lizmat shallow bugs?
07:44 lizmat :-)
07:44 moritz FROGGS :-)
07:44 domidumont joined #perl6
07:44 nwc10 and, yes, sorry, my "miss" was ambigous - I meant the more daft sense of "they are missing", not "you miss spotting them"
07:44 nwc10 I figured that it was the other thing.
07:45 FROGGS the code review here is more like that a user comes by and says: That app is broken
07:45 lizmat and that's the complete report then, yeah, nothing changes :-(
07:45 FROGGS not that "the app" really is broken
07:45 nwc10 hey, yes, it had some detail. It said which thing was broken. Not simply "a bug exists"
07:46 FROGGS and not that we had a single application
07:46 FROGGS users... gah!
07:47 lizmat ah well, at least you don't have a user who manages to push in an RS232 plug in the wrong way, to complain the printer doesn't work
07:48 lizmat or manage to put in floppies upside down
07:48 lizmat or forget to close the door
07:49 lizmat and when you tell them to close the door (on the phone), hear them get up and close the door of the room
07:50 RabidGravy I found some some 5¼" floppies a while back, of course I have nothing to read them with
07:50 FROGGS lizmat: we have such users :o)
07:51 FROGGS like, putting both ends of an ethernet cable into a switch in a meeting room and so doing quite funny things in our office lan
07:51 lizmat RabidGravy: there are need usb-powered external floppy drives you can still get  :)
07:51 FROGGS or connecting a private router (with dhcpd enabled) to our network
07:52 FROGGS network => notwork
07:52 lizmat FROGGS: they had to, otherwise the internet will leak!
07:52 Rounin joined #perl6
07:52 DrForr FROGGS: That's why you "accidentally" leave an etherkiller around.
07:53 lizmat $ perl6 t/spec/S03-smartmatch/array-hash.t
07:53 lizmat 1..6
07:53 lizmat Type check failed in binding &call; expected 'Callable' but got 'Method+{<anon>}
07:53 lizmat this feels like an "is nodal" victim
07:53 FROGGS and we have super talented technicians that staple important 3.5" floppy to an envelope to send it to the office quickly
07:54 FROGGS yeah, most likely
07:55 lizmat we also seem to have a regression on #120506
07:55 synbot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=120506
07:55 DrForr FROGGS: Don't forget sticking them on the refrigerator with their fancy new neodymium magnets.
07:55 FROGGS *g*
07:55 FROGGS yeah
07:56 lizmat tests fail in t/spec/S09-typed-arrays/arrays.t for #120506
07:56 synbot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=120506
07:57 lizmat judging from the comment "Type is maintained (binding)", feels like another "is nodal" casualty
07:58 domidumont joined #perl6
08:00 lizmat m: class A { method a() is nodal {} }; say A.can("a")[0].WHAT; say A.can("a")[0] ~~ Callable   # hmmm.. not a simple problem :-(
08:00 camelia rakudo-moar 480bd7: OUTPUT«(Method+{<anon>})␤True␤»
08:02 alini joined #perl6
08:02 brrt joined #perl6
08:05 lizmat m: [] ~~ {}  # golfed down
08:05 camelia rakudo-moar 480bd7: OUTPUT«Type check failed in binding &call; expected 'Callable' but got 'Method+{<anon>}'␤  in method AUTOTHREAD at src/gen/m-CORE.setting:4568␤  in method ACCEPTS at src/gen/m-CORE.setting:12270␤  in block <unit> at /tmp/yMpua_TbNu:1␤␤»
08:09 lizmat .oO( way too dissonant with my current capabilities )
08:11 larion joined #perl6
08:13 quester left #perl6
08:24 cschwenz joined #perl6
08:28 dalek rakudo/nom: 6337a9c | lizmat++ | src/Perl6/Actions.nqp:
08:28 dalek rakudo/nom: Naive exposure of lexical pragmas as %?PRAGMAS
08:28 dalek rakudo/nom:
08:28 dalek rakudo/nom: Mainly intended for debugging atm.  Its usefulness to be discussed.  If it
08:28 dalek rakudo/nom: stays, we probably want to turn it into an immutable EnumMap.
08:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6337a9c706
08:30 dakkar joined #perl6
08:30 lizmat afk for a few hours&
08:35 tadzik labster: hah, that sounds like an interesting one :)
08:36 Ven joined #perl6
08:38 labster tadzik: It wasn't that interesting, just me checking for case sensitive filesystems in File::Spec::Case -- .lc eq .uc when all you have is numbers (and you're checking the wrong file).
08:40 travis-ci joined #perl6
08:40 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Naive exposure of lexical pragmas as %?PRAGMAS
08:40 travis-ci http://travis-ci.org/rakudo/rakudo/builds/60661512 https://github.com/rakudo/rakudo/c​ompare/ee116a5bdd18...6337a9c706f8
08:40 travis-ci left #perl6
08:40 dave joined #perl6
08:40 fhelmberger joined #perl6
08:41 David74 joined #perl6
08:42 FROGGS that travis build fail is just: fatal: The remote end hung up unexpectedly
08:42 FROGGS the other two workers succeeded
08:42 FROGGS (when clone submodules from github)
08:48 rurban joined #perl6
08:50 Ven joined #perl6
08:50 dustinm` joined #perl6
08:54 xfix joined #perl6
08:55 RabidGravy I asked this last night but it was a bit quiet at the time: would it be  reasonable to describe "earliest" as being like given/when but specialised to channels?
08:55 * FROGGS has no idea about async
09:04 RabidGravy afaik earliest is only documented in the spec and nowhere else so it's a bit tricky describing it
09:04 espadrine_ joined #perl6
09:10 andreoss joined #perl6
09:12 hobbs joined #perl6
09:19 donaldh joined #perl6
09:25 domidumont joined #perl6
09:36 andreoss literal: consider my pull request for perl6-mode
09:38 literal will do!
09:42 H2O1 joined #perl6
09:43 H2O1 left #perl6
09:54 diana_olhovik_ joined #perl6
10:03 noganex joined #perl6
10:10 coffee` joined #perl6
10:19 Ven joined #perl6
10:34 coffee` joined #perl6
10:40 spider-mario joined #perl6
10:42 Alina-malina joined #perl6
10:57 tinyblak joined #perl6
11:02 lizmat RabidGravy: perhaps t/spec/S17-channel/earliest.t can be of inspiration ?
11:10 rindolf joined #perl6
11:14 RabidGravy :) It does help my understanding of how "earliest * { }" is meant to work though
11:15 masak it's only a given/when construct in the very loosest of senses.
11:15 masak for example, it doesn't topicalize on anything from what I can see.
11:15 masak I'm not sure using pointy blocks with `earliest` is even legal syntax.
11:15 _mg_ joined #perl6
11:15 masak std: earliest * { }
11:15 camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
11:16 masak std: earliest * -> $x { }
11:16 camelia std 28329a7: OUTPUT«Potential difficulties:␤  $x is declared but not used at /tmp/X6doe_q0yh line 1:␤------> 3earliest * -> 7⏏5$x { }␤ok 00:00 138m␤»
11:16 RabidGravy yeah, but it's sort of unique
11:16 masak std: earliest * -> $x { $x }
11:16 camelia std 28329a7: OUTPUT«ok 00:00 139m␤»
11:16 masak seems it's legal.
11:16 masak (kvetch: why is std still making me use all my declared variables? that's my business if I use them or not.)
11:18 lizmat std: foobar * -> $x { $x }  # nothing special here?
11:18 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/D44BRN70DS line 1:␤------> 3foobar * 7⏏5-> $x { $x }  # nothing special here?␤    expecting infix or meta-infix␤Undeclared r…»
11:18 lizmat std: sub foobar{}; foobar * -> $x { $x }  # nothing special here?
11:18 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/6L1II0vmNu line 1:␤------> 3sub foobar{}; foobar * 7⏏5-> $x { $x }  # nothing special here?␤    expecting infix or meta-infix…»
11:18 lizmat ok, so there *is* something special there  :-)
11:19 masak yes.
11:19 masak I was specifically testing whether STD thought `earliest` could accept a pblock.
11:24 RabidGravy I think that earliest.t possibly wants at least one more test, the case where a list of channels is provided and there are specific more and done blocks for one or more channels
11:24 lizmat RabidGravy: do you need a commit bit ?  :-)
11:25 RabidGravy I think I have one already :-)
11:26 RabidGravy that is I can push to perl6/doc already
11:30 lizmat if you can't, make it a PR and I will merge
11:30 lizmat or maybe moritz can give you a commit bit  :-)
11:32 FROGGS I can hand these out too me thinks
11:33 RabidGravy let me add the test and see
11:33 lizmat RabidGravy++
11:34 telex joined #perl6
11:34 dalek rakudo/nom: bbadad1 | lizmat++ | src/Perl6/Grammar.nqp:
11:34 dalek rakudo/nom: Get rid of obsolete "quit" rule
11:34 dalek rakudo/nom:
11:34 dalek rakudo/nom: It doesn't break any spectests and doesn't break panda, so I assume it can go.
11:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bbadad1090
11:39 alini joined #perl6
11:42 ShimmerFairy joined #perl6
11:43 moritz RabidGravy: if you can push to perl6/doc, you can also push to perl6/roast directly
11:44 moritz they are in the same github team
11:44 RabidGravy cool, that's what I thought
11:44 travis-ci joined #perl6
11:44 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Get rid of obsolete "quit" rule
11:44 travis-ci http://travis-ci.org/rakudo/rakudo/builds/60682445 https://github.com/rakudo/rakudo/c​ompare/6337a9c706f8...bbadad10908a
11:44 travis-ci left #perl6
11:46 masak is this huge news? https://lists.debian.org/debi​an-hurd/2015/04/msg00047.html
11:46 masak is it the first release of any Debian GNU/Hurd?
11:46 masak (or of any complete distribution with Hurd as the kernel)
11:47 masak if so, it seems accompanied with very little fanfare...
11:47 moritz masak: debian gnu/hurd wheezy also existed, but it wasn't an officially supported platform
11:47 FROGGS you could install GNU/Hurd for years now
11:49 masak FROGGS: oh, that bit I know.
11:50 masak I'm thinking whether the Hurd people want to have a "big release -- this is it" kind of thing. and whether that email that was it.
11:51 FROGGS maybe domidumont knows
11:51 masak ok, so has anyone ever tried to run Rakudo on GNU/Hurd?
11:52 masak what about Rakudo on Plan 9?
11:52 FROGGS no, my Hurd experience is from before joining #perl6 :o(
11:55 domidumont I remember some questions about whether Debian on hurd was still viable or not. I guess that this announce was done to answer this question.
11:56 domidumont Take my opinion with a grain of salt as I don't follow this group at all
11:56 Akagi201 joined #perl6
12:00 ShimmerFairy joined #perl6
12:03 dalek roast: d4f7aca | (Jonathan Stowe)++ | S17-channel/earliest.t:
12:03 dalek roast: Test for channel specific selectors for more and done
12:03 dalek roast: review: https://github.com/perl6/roast/commit/d4f7aca25c
12:03 Akagi201_ joined #perl6
12:04 lizmat RabidGravy++
12:04 masak a more pointed question is perhaps what would attract someone to choose Hurd over the Linux kernel.
12:05 tadzik andor someone else than a kernel hacker
12:05 btyler masak: looks like a similar release was made in at least 2013: http://www.gnu.org/software/hurd/new​s/2013-05-debian_gnu_hurd_2013.html
12:06 masak oh!
12:06 masak well, then it's not all that much news, I guess.
12:07 btyler http://www.gnu.org/software/h​urd/hurd/running/debian.html (IRC logs as documentation...where have I seen that before? :) )
12:07 * lizmat is trying to golf down a case where :foo becomes false when passed as a parameter in a loop
12:09 masak m: sub foo(:$bar) { say $bar }; for 1, 2, 3 { foo :bar } # lizmat: at least it isn't this easy ;)
12:09 camelia rakudo-moar bbadad: OUTPUT«True␤True␤True␤»
12:09 lizmat no, it isn't  :-)
12:10 masak the golf is on.
12:12 lizmat $callsite = $bt[
12:12 lizmat $index = $bt.next-interesting-index($index, :noproto, :setting)
12:12 lizmat ] for ^$up;
12:12 lizmat :setting becomes false in the 2nd interation
12:12 lizmat part of the deprecation code
12:13 moritz are you sure there's no other call to next-interesting-index which might have $setting=False?
12:14 lizmat yea  :-(
12:14 RabidGravy so lizmat++, yes looking at that was useful as it made me realise something about "done" that hadn't been entirely obvious and is worth documenting
12:14 RabidGravy :)
12:16 RabidGravy actually if I change that test slightly it can test two things
12:17 * lizmat prefers 2 tests in that case, so it is easier to track failures
12:21 lizmat moritz: in case you're interested: https://gist.github.com/li​zmat/7e0401a79615aff3c094
12:22 lizmat hmmm....
12:24 moritz lizmat: but Backtrace.pm has three calls to next-interesting-index
12:25 [Coke] lots of new failures in jvm, came in on the test of a5f38ae, after 1c96bc.
12:25 lizmat the dd $up after the for loop never shows
12:27 Ven joined #perl6
12:28 nwc10 masak: the state of Perl 5 on Plan 9 is not well known. Hence it's unclear how far through the Configure process anyone would get, let alone attempt the build
12:29 lizmat .oO( now, if we would get rid of the Perl 5 dependence, it would all be a lot easier :-)
12:29 nwc10 oh, I'd love that too
12:30 nwc10 but I believe one open question is how to de-dupe build tool code between NQP and Rakudo
12:30 BinGOs my attempts to install Plan9 have always ended in WTF
12:31 nwc10 before that, could someone else (re)write me an IRC logger in Perl 6? :-)
12:31 [Coke] (jvm) ah, it's cross backend. and I see timtoady said he broke something.
12:31 RabidGravy nwc10, surely they need to write a mail list manager first ;-)
12:33 nwc10 Only the core should be in Perl 6. They can keep the web UI in Perl 5.
12:33 nwc10 also, would my liver stand it?
12:33 nwc10 :-)
12:33 lizmat moritz: this seems to fix it:
12:34 lizmat #    $callsite = $bt[
12:34 lizmat #      $index = $bt.next-interesting-index($index, :noproto, :setting)
12:34 lizmat #    ]
12:34 lizmat $index = $bt.next-interesting-index($index, :noproto, :setting) for ^$up;
12:34 lizmat my $callsite = $bt[$index];
12:34 lizmat # ] for ^$up
12:34 RabidGravy hmm the behaviour of earliest appears to differ from my understanding from the spec
12:35 lizmat that could be bug in the implementation :-)
12:35 RabidGravy yeah or a bug in my reading
12:36 nwc10 context of that well, seemingly random comment is that "Mailman needs Python 3.4+ but Postorius and HyperKitty still run on 2.7"
12:36 nwc10 mailman 3, that is
12:39 RabidGravy my take is that   "earliest @channels { more $channel { ... } more * { ... } done $channel { ... } done * { ... } }"  assuming that $channel is in @channels, that the wildcard done and more should get called for any that aren't $channel
12:39 andreoss joined #perl6
12:40 RabidGravy but it seems that the done * doesn't get called
12:40 lizmat RabidGravy: you probably should ask jnthn about this, as it is largely modelled on .NET behaviour, afaik
12:42 hoelzro o/ #perl6
12:42 lizmat hoelzro o/
12:42 tinyblak joined #perl6
12:43 hoelzro ahoy lizmat
12:44 RabidGravy what makes me think it may be a bug is that if I change the test I just added so that the "more $c_b" is "more *" and leave the rest the same, the "done $c_b" never gets called
12:47 hoelzro is there a trait one can use with NativeCall to specify that a char * return value from a native function should be free'd after making a Perl 6-y copy?
12:49 lizmat hoelzro: not yet, afiak
12:49 hoelzro I thought not =/
12:50 hoelzro hmm...perhaps there's a way I can get around it, though
12:50 hoelzro instead of returning Str, I can return an OpaquePointer $p, somehow copy that to a Str, and free($p)
12:55 masak RabidGravy: I'm also no expert, but that sounds like a bug, yes.
12:55 masak RabidGravy: enough so that I'd just go ahead and RT it, if I were you.
12:56 lizmat agree
12:57 skids joined #perl6
13:00 RabidGravy just looking it asyncops with a view to fixing, if that doesn't work out I'll RT it
13:10 dalek joined #perl6
13:14 lizmat dalek missed this: https://github.com/rakudo/r​akudo/commit/a7c5b181a4acb   "Exclude all setting code from backtraces"
13:15 lizmat and now I cannot reproduce the weirdness I saw earlier  :-(
13:19 * lizmat gives up
13:19 lizmat probably *was* something stupid I did myself
13:26 |Tux| https://gist.github.com/Tux/01705c381bb9721a39b3
13:26 |Tux| :(
13:27 |Tux| 2015-04-30 - [moar] panda install Inline::Perl5 fails (again)
13:27 FROGGS hoelzro: I'd also try: return Pointer[Str]; my $str = $ptr.deref; free($ptr)
13:28 lizmat |Tux|: fwiw, confirmed here as well
13:32 hoelzro FROGGS: ah, thanks! I'll try that
13:34 colomon hmmm, Inline::Perl5 won’t install for me: “Unhandled exception: No exception handler located for warn”
13:34 dalek rakudo/nom: 7af7eb4 | lizmat++ | / (18 files):
13:34 dalek rakudo/nom: Kill is hidden-from-backtrace from core
13:34 dalek rakudo/nom:
13:34 dalek rakudo/nom: We don't need it anymore, as all settings entries are now not shown in a
13:34 dalek rakudo/nom: standard backtrace.
13:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7af7eb4464
13:35 lizmat colomon: yeah, known issue atm  :-(
13:35 colomon ok
13:40 FROGGS does --ll-exception give some insights about the I::P5 issue?
13:45 skids lizmat: while you have the backtrace hood open, I do have one last pending rakudo PR, #405
13:48 * lizmat looks
13:48 tinyblak joined #perl6
13:48 FROGGS 405 looks good
13:49 lizmat yeah, can't merge it automatically apparently, will do manually
13:50 FROGGS lizmat++ # Exclude all setting code from backtraces
13:55 Ven joined #perl6
13:57 [Coke] is there a way to get it back in the backtraces for developers?
13:57 [Coke] does --ll still work in that cases?
13:57 [Coke] *case
13:57 lizmat yes, --ll-exception is unaffected
13:59 [Coke] woot.
14:06 Ven joined #perl6
14:07 hoelzro .tell FROGGS thanks for the tip, that worked!
14:07 yoleaux hoelzro: I'll pass your message to FROGGS.
14:10 dalek rakudo/nom: 91eaacf | lizmat++ | src/core/Exception.pm:
14:10 dalek rakudo/nom: Gracefully handle .gist on unthrown exceptions
14:10 dalek rakudo/nom:
14:10 dalek rakudo/nom: Inspired by PR #405, skids++
14:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91eaacff36
14:10 skids lizmat++ Thank you!
14:11 lizmat no, thank you!  :-)
14:15 lizmat I'm wondering how cool it would be to have each entry in the stacktrace be accompaniied by N lines of code around that location
14:16 RabidGravy I'm beginning to doubt whether the behaviour of earliest is a bug, at least in the mind of the person who implemented it, the "if there are any channel specific more or done statements completely ignore the wildcard ones" seems pretty deliberate
14:17 lizmat well, that's why I would like to see jnthn opinion about it
14:17 lizmat I merely prettified his code, really
14:17 RabidGravy but the spec is not specific at all
14:19 cognominal joined #perl6
14:20 skids .oO(spectastic!)
14:29 donaldh joined #perl6
14:41 lizmat m: sub a() { my @a = ^10; return |@a }; say a.perl   # flattening into a Parcel
14:41 camelia rakudo-moar 7af7eb: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)␤»
14:41 lizmat m: sub a() { my @a = ^10; |@a }; say a.perl   # return not needed if last value, but WAT ?
14:41 camelia rakudo-moar 7af7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2xcz2WmtBu␤Arg-flattening | is only valid in an argument list␤at /tmp/2xcz2WmtBu:1␤------> 3sub a() { my @a = ^10; |7⏏5@a }; say a.perl   # return not needed i␤»
14:41 lizmat I guess we will have to live with that one
14:43 gfldex joined #perl6
14:44 ugexe i haven't been able to golf it down yet, but im running into a problem where a module isnt being loaded when dynamically required inside a role but after the class it will apply to has already been initiated. the RAKUDO_MODULE_DEBUG actually it shows it tryign to load '' (which also outputs warning messages to stdout about moduleloader)
14:44 lizmat RabidGravy: yeah, spec is slushy there, I guess we're all trying to figure out what makes sense
14:49 RabidGravy it would be a very small change to make a "@todo" entry for any channels in @earliest that haven't already been seen but clearly jnthn took something different from the spec than I would have inferred
14:51 PerlJam guten tag meine freunde  (I've now exhausted 90% of the german I know :)
14:52 ugexe use of uninitialized value of type Any in string context  in any load_module at src/gen/m-ModuleLoader.nqp:223 (MODULE_DEBUG: chosen: pm =>  key => ) is the actual message
14:53 PerlJam lizmat: re surrounding code in stacktrace.  Assuming that's with a :verbose option or something selectable, that's sounds like it could be really neat.
14:54 lizmat env variable setting, I was thinking about
14:54 lizmat and, once we have is-a-tty on a handle, only if that is true
14:55 lizmat to prevent it from showing up in web page output or so
14:55 PerlJam lizmat++  nice.
14:57 dalek rakudo/nom: 35266ad | lizmat++ | src/core/ (16 files):
14:57 dalek rakudo/nom: Remove unneccessary return statements
14:57 dalek rakudo/nom:
14:57 dalek rakudo/nom: At one point, the optimizer should fix these.  Until then, this should help
14:57 dalek rakudo/nom: a (tiny) bit in performance.
14:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/35266ad93d
14:57 aborazmeh joined #perl6
14:57 aborazmeh joined #perl6
14:57 skids http://irclog.perlgeek.de/p​erl6/2015-04-26#i_10507020 ?
15:00 * lizmat looks
15:02 lizmat yeah, except I would like to see ±5 lines around the code for each entry
15:02 lizmat and I don't see anything mergable, is that correct ?
15:05 dalek Heuristic branch merge: pushed 78 commits to rakudo/newio by lizmat
15:05 skids lizmat: I dunno it isn't my stuff.
15:05 konsolebox joined #perl6
15:05 konsolebox joined #perl6
15:11 dalek rakudo/newio: 018dbe5 | lizmat++ | src/core/ (7 files):
15:11 dalek rakudo/newio: Some more return removals
15:11 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/018dbe5c39
15:22 ugexe this error  message could use a tweak it looks like: Start argument to substr out of range. Is: 1, should be in 0..0; use *1 if you want to index relative to the end
15:23 lizmat ugexe: how did you do that?
15:23 ugexe well its not golfed down, but
15:23 Ven joined #perl6
15:23 ugexe perl6 -Ilib -e 'use Zef::Builder; my $b = Zef::Builder.new; try { $b.pre-comp($*CWD) }; say 1; try { require Zef::Plugin::PreComp }; say 2; say ::("::Zef::Plugin::PreComp"); say 3; my $c = Zef::Builder.new( :plugins(["Zef::Plugin::PreComp"]) ); say ::("Zef::Plugin::PreComp")'
15:24 ugexe say ::("::Zef::Plugin::PreComp"); is the statement that causes it
15:24 vendethiel joined #perl6
15:25 pochi joined #perl6
15:27 ugexe if i dont do $b.pre-comp first it works fine (Zef::Plugin::PreComp is a role that supplies a pre-comp method to an interface role that is applied to Zef::Builder)
15:28 lizmat sorry, but I can't really do much with that  :-(
15:28 * lizmat is hoping for a non-module related golf
15:28 ugexe yea, im still in the process of that
15:33 hoelzro what's the proper way to override postcircumfix:<[ ]> functionality, if one wants to write one's own Positional type?
15:34 lizmat provide methods AT-POS/ASSIGN-POS/EXISTS-POS/DELETE-POS
15:36 lizmat m: class A { method AT-POS($i) is rw { $i*$i } }; say A.new[4,5]
15:36 camelia rakudo-moar 35266a: OUTPUT«16 25␤»
15:39 hoelzro oh, I see
15:39 hoelzro thanks lizmat!
15:40 dalek rakudo/nom: 9f5632b | lizmat++ | src/Perl6/Actions.nqp:
15:40 dalek rakudo/nom: Introduce $?RAKUDO_MODULE_DEBUG
15:40 dalek rakudo/nom:
15:40 dalek rakudo/nom: At least for now to facilitate module loading debugging.  Should be easily
15:40 dalek rakudo/nom: optimizable by any optimizer.
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f5632bdaf
15:43 hoelzro .tell FROGGS for the %?RESOURCE<lib/liblinenoise.so> suggestion, will %?RESOURCE contain Str values, or perhaps IO::Path ones?
15:43 yoleaux hoelzro: I'll pass your message to FROGGS.
15:43 Ven joined #perl6
15:44 lizmat in my opinion, they would be .IO objects, or something that encapsulates that
15:45 hoelzro ok, that's what I'm hoping for
15:45 lizmat otherwise, they wouldn't make much sense, I think
15:45 hoelzro I was thinking that for NativeCall, calling is native(Str) could perhaps find the appropriate object in the invoking module's %?RESOURCE
15:45 lizmat the values need to be wrangled to something you can open, or copy, or whstever
15:46 hoelzro so is native('liblinenoise.so') would "just work"
15:46 lizmat yep, that's defiinetly on the board  :-)
16:00 eli-se joined #perl6
16:01 eli-se hi
16:12 lucasb joined #perl6
16:13 vendethiel joined #perl6
16:20 atweiden joined #perl6
16:20 hoelzro good to hear =)
16:20 ugexe m: role Interface { multi method meth { ... } }; class SomeClass does Interface { multi method meth { say "using default meth()" }; }; my $c = SomeClass.new; $c.meth
16:20 camelia rakudo-moar 9f5632: OUTPUT«Ambiguous call to 'meth'; these signatures all match:␤:(SomeClass $: *%_)␤:(SomeClass $: *%_)␤  in block <unit> at /tmp/5UnmGDp_KW:1␤␤»
16:21 ugexe what am i doing wrong with that?
16:24 koo6 joined #perl6
16:27 lizmat hmm... try removing the multi ?
16:27 lizmat m: role Interface { method meth { ... } }; class SomeClass does Interface { method meth { say "using default meth()" }; }; my $c = SomeClass.new; $c.meth
16:27 camelia rakudo-moar 9f5632: OUTPUT«using default meth()␤»
16:28 hoelzro what would be the proper way to get this for loop invocation to include the 12 I'm pushing? my @values = 1..10; for @values -> $v { if $v == 8 { @values.push: 12 } ; say $v }
16:29 lizmat not with a for, but with a while
16:31 hoelzro ah ha
16:31 hoelzro I figured that's how it would be, but I was wondering if it was possible with for
16:31 lizmat m: my @values = 1..10; while @values { my $v := @values.shift; if $v == 8 { @values.push: 12 }; say $v }
16:31 camelia rakudo-moar 9f5632: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤12␤»
16:32 lizmat this came up a little while ago
16:32 lizmat if you could hide the condition somehow in a iterator, then it could be a lazy list, then it would work
16:33 * lizmat is not sure how to do that though, and whether it would survive the GLR
16:36 japhb Is there a plan written down now of what all is changing in the GLR?
16:36 lizmat m: my @values := gather for 1..10 -> $v { take $v; if $v == 8 { take 12 } }; say @values   # similar, but different  :-)
16:36 camelia rakudo-moar 9f5632: OUTPUT«1 2 3 4 5 6 7 8 12 9 10␤»
16:37 lizmat japhb: nothing more than pmichaud's post: http://pmthium.com/2014/10/apw2014/
16:37 lizmat afaik
16:43 lucasb some GLR info here too: https://github.com/perl6/specs/issues/70
16:43 lizmat lucasb++
16:53 alini joined #perl6
16:53 [Coke] we've been kind of on hold. Hopefully, pmichaud's time is going to free up a bit soon.
17:12 lizmat m: sub a { say $*FOO }; my $*FOO = 42; a  # FROGGS moritz jnthn
17:12 camelia rakudo-moar 9f5632: OUTPUT«42␤»
17:12 fhelmberger joined #perl6
17:12 lizmat what is the nqp equivalent of my $*FOO = 42 ?
17:13 lizmat install_lexical_symbol doesn't seem to cut it
17:13 vendethiel joined #perl6
17:15 japhb [Coke]: I thought pmichaud was free after robotics, and it's after robotics ...?
17:22 andreoss can i use :nth with split?
17:22 andreoss m: my $x = "1 2 3 4 5 6"; $x.split(/\s/, :nth(3)).perl.say;
17:22 camelia rakudo-moar 9f5632: OUTPUT«("1", "2", "3", "4", "5", "6")␤»
17:27 tony-o tadzik: ping
17:30 tadzik tony-o: pong
17:33 tony-o thanks for nativecall and nativecast
17:35 dalek perl6-roast-data: bf8b466 | coke++ | / (9 files):
17:35 dalek perl6-roast-data: today (automated commit)
17:35 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/bf8b46600e
17:35 [Coke] japhb: yes. that's why my hope is probably reasonable.
17:35 itz_ "You'd hold the whole world in your metal claws / if it wasn't for the Three Laws"
17:37 mr-foobar joined #perl6
17:38 thou joined #perl6
17:39 sue__ joined #perl6
17:39 flussence Oh no :( https://news.ycombinator.com/item?id=9465999
17:39 yoleaux 06:54Z <FROGGS> flussence: panda does not know how to install dlls
17:41 timotimo oh damn, that's sad news :(
17:41 Patterner joined #perl6
17:41 ugexe_ joined #perl6
17:41 TimToady_ joined #perl6
17:42 sjn__ joined #perl6
17:42 hahainte1net joined #perl6
17:42 nine joined #perl6
17:42 hernan605 joined #perl6
17:44 Timbus_ joined #perl6
17:45 tinyblak joined #perl6
17:46 eli-se joined #perl6
17:46 mtj__ joined #perl6
17:49 pecastro_ joined #perl6
17:49 ab5tract_ joined #perl6
17:49 pierrot joined #perl6
17:49 Vlavv joined #perl6
17:49 rjbs joined #perl6
17:49 breinbaas joined #perl6
17:49 ilogger2_ joined #perl6
17:50 notjack joined #perl6
17:50 telex joined #perl6
17:52 ShimmerFairy joined #perl6
17:53 felher joined #perl6
17:53 koo6 joined #perl6
17:53 tadzik joined #perl6
17:54 danaj joined #perl6
17:54 bayprogrammer joined #perl6
17:59 thou Thanks raydiak++ and moritz++ for helping me clear up a misunderstanding about try/CATCH
18:04 * japhb is glad that TimToady++ is getting started on the user-visible side of the GLR at least
18:04 lizmat yeah, there's plenty of stuff for many omelets
18:05 japhb That way even before the performance changes, I can fix up any code that was depending on old behavior
18:05 lizmat :-)
18:25 raydiak thou: glad to help :)
18:31 dalek rakudo/nom: 64b0d48 | lizmat++ | src/core/Backtrace.pm:
18:31 dalek rakudo/nom: Introduce RAKUDO_BACKTRACE_SETTING env variable
18:31 dalek rakudo/nom:
18:31 dalek rakudo/nom: If true, setting frames will be included in any stack trace.  By default, they
18:31 dalek rakudo/nom: will not.
18:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/64b0d48a75
18:32 pierrot joined #perl6
18:32 rvchangue joined #perl6
18:44 vendethiel joined #perl6
18:45 thou timotimo: do you have access to perl6.org DNS (cpandatesters.perl6.org should cname testers.perl6.org, I guess; right now it goes to the design page)
18:52 moritz it's not a matter of DNS, but rather of apache config
18:56 moritz thou: FTFY
18:57 cognominal joined #perl6
19:02 cognominal joined #perl6
19:05 lucasb A tiny issue that maybe would be easy to patch is this: in "@a xx *", when @a is empty, I think the return value should be a 0-elem list, not a infinite list.
19:05 lucasb m: my @a; my @b = @a xx *; @b[0]
19:05 colomon What’s the current status of C++ nativecall?
19:05 camelia rakudo-moar 64b0d4: OUTPUT«(timeout)»
19:06 lizmat hmmm.. what is an infinitely empty list
19:06 lucasb lizmat: an infinite list of "what?" :)
19:07 moritz that, on the other hand, is easy
19:07 moritz m: my @a = (WHAT ()) xx *; say @a[0]
19:07 camelia rakudo-moar 64b0d4: OUTPUT«(Parcel)␤»
19:07 flussence colomon: I wondered the same a few weeks ago, it's in a branch but github says nothing's happened on it for quite a while.
19:09 flussence this one specifically: https://github.com/rakudo/rakudo/compare/cpp
19:14 skids probably an infinite list of "not yet check back later"
19:15 Alina-malina joined #perl6
19:25 colomon flussence++
19:26 raydiak .tell jnthn I've documented the Grammar::Generative segfault at https://github.com/jnthn/g​rammar-generative/issues/1 ...if it's not a very involved fix, more than zero people would like to play with it :)
19:26 yoleaux raydiak: I'll pass your message to jnthn.
19:26 molaf joined #perl6
19:30 baest_ joined #perl6
19:32 lucasb joined #perl6
19:33 ycaymanbo joined #perl6
19:35 masak raydiak++
19:44 yqt joined #perl6
19:44 zakharyas joined #perl6
19:45 timotimo thou: i don't, sorry
19:45 timotimo ah, moritz++ already fixed it
19:47 diana_olhovik_ joined #perl6
20:00 itz_ http://perltricks.com/article/170/201​5/4/30/Parsing-Perl-5-pod-with-Perl-6
20:02 hobbs joined #perl6
20:04 lizmat "as copy"  ???
20:08 dalek rakudo/nom: b689a84 | lizmat++ | src/core/Backtrace.pm:
20:08 dalek rakudo/nom: Introduce RAKUDO_VERBOSE_STACKFRAME env variable
20:08 dalek rakudo/nom:
20:08 dalek rakudo/nom: If specified, it should indicate the number of *extra* lines before and after
20:08 dalek rakudo/nom: of the *code* should be shown whenever a stack frame is stringified.  This
20:08 dalek rakudo/nom: can happen for any warning, or when an exception is thrown and not caught.
20:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b689a84731
20:08 * lizmat has done an export RAKUDO_VERBOSE_STACKFRAME=3
20:08 [Coke] itz_: nifty. question: do you need the .Str in the last code block, or will that get called implicitly since you're interpolating into a {} in a string?
20:09 dolmen joined #perl6
20:13 vendethiel joined #perl6
20:22 koo6 joined #perl6
20:23 lizmat .tell jnthn Something weird when inadvertently using $_: https://gist.github.com/li​zmat/b005de9b024c73a10608
20:23 yoleaux lizmat: I'll pass your message to jnthn.
20:37 lizmat m: my @l := ^Inf; for ^10 -> $i { say @l[$_] }   # golfed down a bit, maybe
20:37 camelia rakudo-moar b689a8: OUTPUT«Method 'name' not found for invocant of class 'Range'␤  in block <unit> at /tmp/VMLRMCqDgl:1␤␤»
20:39 PerlJam m: my @l = ^10; for ^10 -> $i { say @l[$_] }  # different but equally strange (to me at least)
20:39 camelia rakudo-moar b689a8: OUTPUT«Indexing requires an instance, tried to do: @l[ (Any) ]␤  in block <unit> at /tmp/OGzP1sTxP8:1␤␤»
20:40 PerlJam (the message is just really LTA)
20:40 lizmat actually, *that* one makes perfect sense
20:40 lizmat as $_ is (Any) at that time
20:40 lizmat it's the combination of binding and $_ that creates weird effects (at least in this golf)
20:40 PerlJam yes, I a suppose so.
20:41 masak m: my @l := ^Inf; say @l[Any]
20:41 camelia rakudo-moar b689a8: OUTPUT«Method 'name' not found for invocant of class 'Range'␤  in block <unit> at /tmp/SJb2p5YElV:1␤␤»
20:41 masak m: my @l = ^Inf; say @l[Any]
20:41 camelia rakudo-moar b689a8: OUTPUT«Indexing requires an instance, tried to do: @l[ (Any) ]␤  in block <unit> at /tmp/r4oQ1beirJ:1␤␤»
20:41 masak shorter, y'all.
20:41 PerlJam masak++
20:42 lizmat masak: wow
20:42 PerlJam also shows that the for loop isn't part of the problem
20:42 lizmat yup
20:42 masak I don't feel the second one is an error, really.
20:42 masak it's more or less what I'd expect.
20:42 lizmat the second one is ok, like I said before
20:43 masak right.
20:43 masak the first one... is at least LTA.
20:43 lizmat well, the Any is somehow converted to the Range that @l is
20:44 lucasb m: (1..5)[$_]
20:44 camelia rakudo-moar b689a8: OUTPUT«Method 'name' not found for invocant of class 'Range'␤  in block <unit> at /tmp/5a7ZCJuXMx:1␤␤»
20:44 lucasb :D
20:45 lizmat m: (^5)[Any]
20:45 camelia rakudo-moar b689a8: OUTPUT«Method 'name' not found for invocant of class 'Range'␤  in block <unit> at /tmp/tcWofnw6GO:1␤␤»
20:45 lizmat sameo
20:46 lizmat m: my $a := ^5 but role { method name { "FOO" } }; $a[Any]
20:46 camelia rakudo-moar b689a8: OUTPUT«Indexing requires an instance, tried to do: FOO[ (Any) ]␤  in block <unit> at /tmp/tvuX0NI9z1:1␤␤»
20:47 lizmat so it *is* referring to the range it is trying to index
20:48 * lizmat rakudbbugs
20:51 lizmat actually, thinking about it more, it is a problem in the reporting
20:52 konsolebox joined #perl6
20:53 dalek rakudo/nom: c03f82d | lizmat++ | src/core/array_slice.pm:
20:53 dalek rakudo/nom: Fix LTA error for (^5)[Any]
20:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c03f82d5e7
21:03 rurban joined #perl6
21:05 vendethiel joined #perl6
21:25 dalek rakudo/nom: d09e62c | lizmat++ | src/core/CompUnitRepo.pm:
21:25 dalek rakudo/nom: Some preliminary work on CompUnitRepo
21:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d09e62c818
21:25 lizmat before I start breaking the rest, I'm going to get some sleep
21:26 lizmat so good night, #perl6!
21:26 dolmen joined #perl6
21:30 Zoffix left #perl6
21:33 [Coke] ~~
21:33 lucasb Given any operation (a sub/method call, an operator), how can I know to which method the operation will ultimately be dispatched to?
21:36 lucasb I mean, there's is a hierarchy of objects, there are several candidates with different signatures for each method. I would like to know the exact class, the exact method candidate to look at.
21:36 hoelzro lucasb: I think you can use methods on a Routine object
21:36 hoelzro like cando
21:37 hoelzro from there, you could determine which variant will be called
21:37 hoelzro although I don't know if cando will help you disambugiate which variant of a multi will be called
21:40 hoelzro class C { multi foo(Str $) {} ; multi foo('bar') {} ; } ; say C.can('foo').cando(Capture.new(list => ['bar']))
21:40 hoelzro m: class C { multi foo(Str $) {} ; multi foo('bar') {} ; } ; say C.can('foo').cando(Capture.new(list => ['bar']))
21:40 camelia rakudo-moar c03f82: OUTPUT«Method 'cando' not found for invocant of class 'Parcel'␤  in block <unit> at /tmp/mRj96Swgm0:1␤␤»
21:40 hoelzro =/
21:40 lucasb hoelzro: hey o/, thanks for the comment. At the moment, I don't know how to do these things but I'll look for more information.
21:41 hoelzro good luck!
21:42 lucasb Maybe I'm asking something difficult. It's like, given the code "1 + 2", you say to the interpreter: "please don't execute that, just tell me what method you will run"
21:42 hoelzro I think that's doable
21:44 hoelzro m: my $f = &infix:<+>; say $f.cando(Capture.new(list => [1, 2], hash => {}))[0];
21:44 camelia rakudo-moar c03f82: OUTPUT«sub infix:<+> (Int:D \a, Int:D \b --> Int) { #`(Sub|38412680) ... }␤»
21:44 hoelzro lucasb: ^
21:44 hoelzro I don't know for sure if cando sorts its results by multi matching rules, though
21:45 lucasb hoelzro: Interesting! That's something like this I was looking for.
21:48 japhb Can we rely on the builtin string/buffer-like objects knowing their own length in their standard unit (Str.chars, Uni.codes, utf8.bytes, etc.) in O(1) time?
21:49 hoelzro lucasb: it's looking like it *is* sorted in order of multi matching
21:51 lucasb So, the sub that is at index 0 is what I'm looking for?
21:52 japhb .ask jnthn Can we rely on the builtin string/buffer-like objects knowing their own length in their standard unit (Str.chars, Uni.codes, utf8.bytes, etc.) in O(1) time?
21:52 yoleaux japhb: I'll pass your message to jnthn.
21:52 hoelzro lucasb: I believe so
21:53 airdisa joined #perl6
21:55 coffee` joined #perl6
22:08 jnthn japhb: In their own units, O(1)
22:08 yoleaux 00:56Z <TimToady> jnthn: I don't there's any good reason to support placeholders in { $^a } for @list and not support lambdas; I'd rather lose blocks in loopless if than lose lambdas in list comprehensions
22:08 yoleaux 01:01Z <TimToady> jnthn: *think (and placeholders make no sense in bare blocks, so that analogy is flawed anyway, plus there is RC code that depends on list comprehensions using lambdas)
22:08 yoleaux 19:26Z <raydiak> jnthn: I've documented the Grammar::Generative segfault at https://github.com/jnthn/g​rammar-generative/issues/1 ...if it's not a very involved fix, more than zero people would like to play with it :)
22:08 yoleaux 20:23Z <lizmat> jnthn: Something weird when inadvertently using $_: https://gist.github.com/li​zmat/b005de9b024c73a10608
22:08 yoleaux 21:52Z <japhb> jnthn: Can we rely on the builtin string/buffer-like objects knowing their own length in their standard unit (Str.chars, Uni.codes, utf8.bytes, etc.) in O(1) time?
22:09 jnthn japhb: In any other units, O(n)
22:10 jnthn japhb: And that's in a "we support NFG" implementation; r-j doesn't yet. On r-m you can rely on Str.chars, Uni.codes, and Buf.bytes to be O(1) though.
22:11 jnthn japhb: I guess you can rely on them to be on JVM too, you just won't get the right answers for .chars, and Uni is NYI there so far.
22:28 skids joined #perl6
22:44 japhb Still, that's good to hear.
22:45 japhb I didn't want to have to carry around ancilliary caches for .chars in order to make some multi-pass algorithms on AoA of Str more efficient.
22:55 ShimmerFairy joined #perl6
23:00 * jnthn writed up the last week's work while traveling: https://6guts.wordpress.com/2015/04/30/this​-week-the-big-nfg-switch-on-and-many-fixes/
23:00 jnthn Going to get some rest now, and will be doing Perl 6 things tomorrow. :)
23:03 dalek rakudo-star-daily: b983917 | coke++ | log/ (2 files):
23:03 dalek rakudo-star-daily: today (automated commit)
23:03 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/b983917126
23:06 japhb m: my @columns = "", "" => {"max-width" => 130}; say @columns.perl; say .WHAT for @columns; say @columns.map({ $_ ~~ Pair ?? $_ !! $_ => {} }).perl
23:06 camelia rakudo-moar d09e62: OUTPUT«["", "" => {:max-width(130)}]<>␤(Str)␤(Pair)␤("" => {}, ("" => {:max-width(130)}) => {})␤»
23:06 japhb OK, WTH am I doing wrong there?
23:07 japhb I want Str to be paired with an empty hash, and Pair to pass through.  Clearly something is bogus.
23:08 jnthn m: my @columns = "", "" => {"max-width" => 130}; say @columns.map({ $_ ~~ Pair ?? $_ !! ($_ => {}) }).perl
23:08 camelia rakudo-moar d09e62: OUTPUT«("" => {}, "" => {:max-width(130)})␤»
23:08 jnthn Precedence strikes!
23:08 japhb OH GAH
23:09 japhb I *knew* it was going to be simple and annoying
23:09 japhb Thanks, jnthn++
23:09 * japhb goes to read jnthn's post
23:13 fhelmberger joined #perl6
23:24 cognominal jnthn++
23:25 * jnthn goes to sleep :) o/
23:26 vendethiel joined #perl6
23:26 brrt joined #perl6
23:29 BenGoldberg joined #perl6
23:31 jepeway hey, so raiph++ for gist comments.
23:31 yoleaux 27 Apr 2015 00:57Z <raiph> jepeway: I've added a comment to your gist
23:31 yoleaux 29 Apr 2015 17:27Z <raiph> jepeway: I've changed/extended my commentary at https://gist.github.com/cje​peway/42215154aff709d3efd7
23:32 jack_rabbit joined #perl6
23:34 telex joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo