Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-14

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:13 skids grondilu: all sized types are currently faking it and stored as an int64.  They just have some magic surrounding assigments; apparently that magic is broken when the high bit is set.
00:21 labster j: say any("foo","bar") ne "";
00:21 camelia rakudo-jvm 8b639b: OUTPUT«cannot connect to eval server: Connection refused␤»
00:27 aborazmeh joined #perl6
00:27 aborazmeh joined #perl6
00:49 chenryn joined #perl6
01:05 Sqirrel joined #perl6
01:05 chenryn joined #perl6
01:14 dalek perl6-examples: 9fad392 | (Nathan Brown)++ | categories/cookbook/01strings/01-00introduction.pl:
01:14 dalek perl6-examples: Double quoted string example should use qq//
01:14 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/9fad392ce1
01:19 nbdsp Greetings! Could someone advise please how to call base class method from a derived one using WALK (not with callsame) ?
01:19 nbdsp class B { method meth() { say "Base meth" } }  class D is B { method meth()  {  my @cands := self.WALK( :super, :name<meth> ); self.*@cands(self); say "Derived meth" } }
01:19 nbdsp my $d = D.new; $d.meth;
01:20 TimToady WALK is not implemented
01:20 TimToady you can use .can to find all the candidates though
01:20 nbdsp ohh.. only callsame?
01:21 TimToady m: 42.^methods
01:21 camelia rakudo-moar 8b639b: ( no output )
01:21 TimToady m: say 42.^methods
01:21 camelia rakudo-moar 8b639b: OUTPUT«Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotan…»
01:22 nbdsp thanks! will try .can()
01:22 TimToady m: say 42.can('gist')
01:22 camelia rakudo-moar 8b639b: OUTPUT«gist gist␤»
01:22 TimToady m: say 42.can('perl')
01:22 camelia rakudo-moar 8b639b: OUTPUT«perl perl␤»
01:23 TimToady m: say 42.can('perl')[0](42)
01:23 camelia rakudo-moar 8b639b: OUTPUT«42␤»
01:23 TimToady m: say (-42).can('abs')[0](-42)
01:23 camelia rakudo-moar 8b639b: OUTPUT«42␤»
01:23 TimToady m: say Int.can('abs')[0](-42)
01:23 camelia rakudo-moar 8b639b: OUTPUT«42␤»
01:23 TimToady m: say Int.can('abs')[1](-42)
01:23 camelia rakudo-moar 8b639b: OUTPUT«42␤»
01:24 nbdsp TimToady: thanks!
01:45 vendethiel joined #perl6
01:55 Sqirrel joined #perl6
02:00 aborazmeh joined #perl6
02:00 aborazmeh joined #perl6
02:12 noganex_ joined #perl6
02:15 chenryn joined #perl6
02:15 rhr joined #perl6
02:24 Peter_R joined #perl6
02:36 Sqirrel joined #perl6
02:41 adu joined #perl6
03:01 nbdsp Greetings! Could someone advise please is there a way to specify as a default value for a subroutine parameter, the name of the calling subroutine?
03:01 nbdsp m: sub bar( Str $s = CALLER::<&?ROUTINE>.name ) { say "Function: bar, Caller: $s" };  sub foo () { bar() };  foo;
03:01 camelia rakudo-moar 8b639b: OUTPUT«Function: bar, Caller: bar␤»
03:03 davido_ joined #perl6
03:04 adu nbdsp: yes
03:04 yoleaux 9 Apr 2015 07:45Z <timotimo> adu: __FILE__ and __LINE__ don't quite compare to querycodeinfo, because we already have $?FILE and $?LINE, and also it doesn't go via the stack at all, so you don't need a stack frame and you don't need to invoke the thing you want info about
03:05 adu that was a week ago, it really has been too long
03:07 nbdsp adu: the snippet I pasted doesn't determine the caller's name (it prints the callee name)
03:11 raydiak m: sub bar( Str $s = CALLER::CALLER::<&?ROUTINE>.name ) { say "Function: bar, Caller: $s" };  sub foo () { bar() };  foo;
03:11 camelia rakudo-moar 8b639b: OUTPUT«Function: bar, Caller: foo␤»
03:11 raydiak adu! \o
03:11 nbdsp raydiak: thanks!
03:12 raydiak nbdsp: yw :)  I imagine the explanation is something along the lines of the default value being it's own little implicit closure with its own CALLER
03:13 Sqirrel joined #perl6
03:13 itz_ joined #perl6
03:13 BinGOs joined #perl6
03:13 krunen_ joined #perl6
03:13 Juerd joined #perl6
03:13 rivarun joined #perl6
03:13 cursork joined #perl6
03:13 mst joined #perl6
03:13 leedo joined #perl6
03:14 adu raydiak!
03:15 nbdsp raydiak: it seems so
03:15 adu The spec says that a CallFrame object should have a caller method, but I got "No such method 'caller' for invocant of type 'CallFrame"
03:15 aborazmeh joined #perl6
03:15 aborazmeh joined #perl6
03:16 adu raydiak: how goes?
03:17 raydiak adu: it's a mess but I won't complain :) you?
03:18 adu I'm good, I just got back from Florida
03:18 adu well, a week ago
03:19 raydiak oh cool; what for? vacation?
03:19 adu vacation
03:19 adu the sun was warm :)
03:19 raydiak very nice, can't wait till it migrates further north :)
03:20 adu yup, tell me about it
03:21 adu I've also been shifting my focus from crypto back to http, I wonder, how are Perl6 http libs coming along?
03:22 raydiak hmmm; idk to be honest...there are a few server modules but not sure how complete/maintained each one is
03:26 adu raydiak: have you heard much news about NativeCall?
03:26 adu or what was it, Inline::C?
03:27 raydiak some about nativecall...don't know much about inline::c
03:29 raydiak actually scanning the weekly is probably better than my memory :)
03:30 adu lol
03:30 adu ok
03:30 raydiak is rw for native types like int (vs Int) is a good one
03:31 raydiak which basically just treats it like a pointer
03:32 raydiak a lot of progress on unsigned types, and more things you can put in a CStruct but I don't recall what precisely
03:33 adu cool
03:33 raydiak oh you can pass a Buf to a nativecall sub, dunno if you knew that one already
03:33 adu I did not
03:36 raydiak oh you can pass a sub to is native() to generate the name of the library at runtime, so you can e.g. check different paths and versions
03:39 leedo st0nss
03:39 leedo eep, sorry
03:40 raydiak :)
03:40 * leedo changes password ;_;
03:41 raydiak hm now that we know what it was we can race to see if you used it on any of your other accounts...
03:43 raydiak adu: a few of the nativecall bindings in the ecosystem use that 'is native(&)' to support windows with included .dlls if they aren't already installed, like zlib and gtk
03:44 raydiak afkish, eating
03:49 kaare_ joined #perl6
03:49 adu lol
03:53 adu http://www.bash.org/?244321
03:53 spider-mario joined #perl6
04:12 telex joined #perl6
04:14 adu joined #perl6
04:23 dalek roast: b4e6405 | TimToady++ | S03-operators/arith.t:
04:23 dalek roast: exact error testing considered harmful
04:23 dalek roast: review: https://github.com/perl6/roast/commit/b4e6405a0e
04:24 dalek rakudo/nom: 9a29d99 | TimToady++ | src/ (2 files):
04:24 dalek rakudo/nom: don't just tell me you couldn't bind Failure!!!
04:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a29d99e9e
04:24 adu who is supernovus?
04:26 yeahnoob joined #perl6
04:30 dalek roast: 7fea29f | TimToady++ | S03-sequence/basic.t:
04:30 dalek roast: mark test with RT
04:30 dalek roast:
04:30 dalek roast: fixes #114326
04:30 dalek roast: review: https://github.com/perl6/roast/commit/7fea29f128
04:30 synbot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=114326
04:46 tony-o .tell supernovus is supernovus
04:46 yoleaux tony-o: I'll pass your message to supernovus.
04:46 tony-o oops
04:46 tony-o .tell adu supernovus is supernovus
04:46 yoleaux tony-o: I'll pass your message to adu.
04:54 labster tell tony-o longcat is long
04:54 labster and tautologies are tautologies :)
05:04 chenryn joined #perl6
05:21 chenryn joined #perl6
05:23 KCL_ joined #perl6
05:45 Patterner joined #perl6
05:46 nbdsp Greetings! Could someone advise please how to export enumerations with the same name from different classes?
05:46 nbdsp m: class B { enum E is export <A B C> }; class D is B { enum E is export <A D F> };
05:46 camelia rakudo-moar 9a29d9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0lxuHOzMa3␤A symbol 'E' has already been exported␤at /tmp/0lxuHOzMa3:1␤»
05:59 adu joined #perl6
06:02 tinyblak_ joined #perl6
06:04 PerlJam nbdsp: From the inside, I think the answer is "don't do that".  Or, if you must export them both, rename one of them.
06:05 moritz nbdsp: don't export, use B::E and D::E to access the enums instead
06:06 raydiak yes what would you expect E to mean in a context which imports both? better to export neither and always...what moritz++ said :)
06:06 diana_olhovik_ joined #perl6
06:11 PerlJam Though, there is the isomorphic situation where "I'm trying to use these two modules (that I have no control over) together, but they both export a symbol of the same name"
06:12 domidumont joined #perl6
06:13 nbdsp moritz: thanks! will use D::E
06:14 moritz raydiak: it could open an interactive prompt asking which was meant each time it's used :-)
06:14 TimToady note that it's not fatal if the individual enums conflict, they just poison each other
06:15 TimToady (on import, at least)
06:24 Sqirrel joined #perl6
06:30 domidumont joined #perl6
06:30 masak I always liked that part.
06:30 masak morning, #perl6
06:31 masak m: enum A <g h i j>; enum B <d e f g>; say g
06:31 camelia rakudo-moar 9a29d9: OUTPUT«Potential difficulties:␤    Redeclaration of symbol g␤    at /tmp/X5uopa1NJc:1␤    ------> 3enum A <g h i j>; enum B <d e f g>7⏏5; say g␤Cannot use poisoned alias g, because it was declared by several enums.␤Please access it via explicit pa…»
06:31 masak oh, maybe it's just for import.
06:31 domidumont joined #perl6
06:32 masak oh wait -- it does the right thing, I think.
06:32 masak I was thrown off by the redeclaration warning :)
06:35 FROGGS joined #perl6
06:40 gfldex joined #perl6
06:42 TimToady m: my $fale = 3 % 0; $fale.abs
06:42 camelia rakudo-moar 9a29d9: OUTPUT«Earlier error:␤  Divide by zero using infix:<%>␤    in file Who Knows? at line Beats Me!␤␤Type check failed for return value; expected 'Int' but got 'Failure'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:639␤  in sub infix:<%> at src/gen/…»
06:44 TimToady now is someone will just figure out how to pass a file and line through along with the failure...
06:45 TimToady s/is/if/
06:45 masak "Who Knows?" and "Beats Me!"? really?
06:45 TimToady those are...placeholders :)
06:45 masak I don't think a compiler should try to be witty in the face of lack of knowledge...
06:45 arnsholt I was amused by those, but probably LTA for actually helpful error messages, yeah =)
06:46 TimToady well, motivation for someone to fix it :)
06:46 masak before release.
06:53 tinyblak joined #perl6
06:54 tinyblak joined #perl6
06:54 rurban_ joined #perl6
06:57 Rounin joined #perl6
07:03 pdcawley joined #perl6
07:11 oetiker joined #perl6
07:12 rindolf joined #perl6
07:15 robinsmidsrod joined #perl6
07:18 mathw o/
07:23 masak \o
07:25 sjn o7
07:25 silug joined #perl6
07:28 masak ᕕ( ᐛ )ᕗ
07:28 virtualsue joined #perl6
07:29 tadzik (☞゚ヮ゚)☞
07:31 sjn .u ᕕ( ᐛ )ᕗ
07:31 yoleaux U+0020 SPACE [Zs] ( )
07:31 yoleaux U+0028 LEFT PARENTHESIS [Ps] (()
07:31 yoleaux U+0029 RIGHT PARENTHESIS [Pe] ())
07:31 tadzik so simple
07:31 sjn good to know :)
07:31 jnthn TimToady: WALK is implemented: https://github.com/rakudo/rakudo/blob/nom/src/core/Mu.pm#L514
07:33 TimToady interesting, I've never seen it used...
07:35 brrt joined #perl6
07:35 jnthn Me either, but it's there and tested, I believe
07:35 jnthn You can probably get file/line numbers out of the Exception contained inside of the Failure.
07:36 jnthn Snarky placeholders are worse than just leaving them out.
07:36 TimToady I tried getting a backtrace out and failed miserably
07:37 TimToady but I figured something was better than nothing
07:38 TimToady and I was working on my taxes, which will make anyone snarky... :)
07:39 dalek rakudo/nom: 7ae1e89 | (Jonathan Stowe)++ | src/core/Process.pm:
07:39 dalek rakudo/nom: Crude implementation of $*HOME
07:39 dalek rakudo/nom:
07:39 dalek rakudo/nom: Currently we get:
07:39 dalek rakudo/nom:
07:39 lizmat sorry dalek
07:39 yvan1 joined #perl6
07:39 dalek joined #perl6
07:39 jnthn TimToady: From what I understand of taxes in your part of the world yes... :)
07:40 * jnthn has lived in Sweden for the last several years, had a simple income structure, and so "doing the taxes" has boiled down to "send an SMS to the tax office saying I agree with their numbers" :)
07:41 zakharyas joined #perl6
07:41 xiaomiao jnthn: be glad it's that simple for you
07:41 xiaomiao I had my tax form rewritten wrongly three times by german bureaucrats
07:41 xiaomiao if I had been closer to their office I would have asked them in person why they think that inventing income for me makes any sense at all
07:42 jnthn Urgh
07:42 bjz joined #perl6
07:42 * jnthn sees he has been spoiled
07:43 xiaomiao oh. and they double-taxed me
07:43 xiaomiao which means about 120% peak tax load
07:43 xiaomiao that should have been impossible with the unique tax id, of which I was asigned two
07:43 xiaomiao which should have been impossible ... but ... hmm ... FUUU ;)
07:44 jnthn Germany. It's so darn efficient they give you *two* unique IDs!
07:44 mathw That sounds annoying.
07:44 mathw Haven't they heard of relational database theory?
07:44 xiaomiao jnthn: I'm a foreigner
07:45 xiaomiao thus most simple forms tend to not be able to capture me properly
07:45 RabidGravy joined #perl6
07:46 jnthn Ah. I'd say "me too in Sweden", but maybe me only being an EU-foreigner helps there. :)
07:48 psch hey #perl6 \o
07:49 [Tux] tadzik, is it still needed to RT the precompilation error? Did you inform jnthn ?
07:50 tadzik [Tux]: yeah, there is, no I did not :)
07:50 [Tux] I have no idea how to describe it other than "precomp fails (segfault)"
07:51 dalek rakudo/nom: ecaf8ea | lizmat++ | src/core/Process.pm:
07:51 dalek rakudo/nom: We don't need to check for definedness anymore
07:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ecaf8ea22c
07:53 Ven joined #perl6
07:55 psch boxed "0" is apparently still False on jvm
07:55 psch which, i think, means that Str still uses MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO?
07:55 psch i can't find anything that looks like it sets that, though
07:57 jnthn [Tux]: Please RT things as well as / rather than telling me; my memory isn't *that* good :)
07:57 [Tux] I just realized that we didn't. It was not on purpose
07:58 lizmat psch: I'm not seeing that?
07:58 lizmat perl6-j -e 'say ?"0"'
07:58 lizmat True
07:58 jnthn [Tux]: Wasn't sayin' it was, just requesting an RT when you get chance :)
07:59 psch lizmat: oh, right, i was imprecise
07:59 psch lizmat: i'm seeing test failures in S04-statement-modifiers/values_in_bool_context.t
07:59 lizmat ah, ok, will look at them
07:59 psch lizmat: i.e. "0" in statement_mod if
08:00 psch lizmat: e.g. «say 1 if "0"» doesn't print
08:00 psch on jvm
08:01 tinyblak joined #perl6
08:02 lizmat confirmed
08:02 psch FROGGS++ had patched it, but that broke stage0 or so iirc
08:02 psch and jnthn++ fixed that, but not it's not working quite right
08:03 FROGGS hmmm
08:08 abraxxa joined #perl6
08:09 chenryn joined #perl6
08:13 darutoko joined #perl6
08:16 chenryn joined #perl6
08:29 dalek rakudo/newio: 7ae1e89 | (Jonathan Stowe)++ | src/core/Process.pm:
08:29 dalek rakudo/newio: Crude implementation of $*HOME
08:29 dalek rakudo/newio:
08:29 dalek rakudo/newio: Currently we get:
08:29 dalek rakudo/newio:
08:29 lizmat sorry again, dalek
08:29 lizmat afk&
08:30 dalek joined #perl6
08:30 LordVorp joined #perl6
08:34 bjz joined #perl6
08:35 dakkar joined #perl6
08:35 Ven joined #perl6
09:16 Ven joined #perl6
09:31 masak at some point I would like to get a handle on and catalogue how different languages handle the unification (or lack thereof) of methods vs subroutines.
09:31 masak strategies like bound methods etc.
09:32 masak maybe compare Python, JavaScript, Perl 5 and Perl 6.
09:35 espadrine_ joined #perl6
09:40 dalek nqp: 2f20465 | paultcochrane++ | examples/rubyish/ (23 files):
09:40 dalek nqp: Remove executable bit on rubyish example text files
09:40 dalek nqp: review: https://github.com/perl6/nqp/commit/2f20465c23
09:47 vendethiel joined #perl6
09:52 pochi_ joined #perl6
09:52 |Tux| jnthn, https://rt.perl.org/Public/Bug/Display.html?id=124298
09:52 bjz joined #perl6
09:54 iv_ joined #perl6
09:55 Akagi201_ joined #perl6
09:56 agentzh_ joined #perl6
09:56 agentzh_ joined #perl6
10:00 kaare_ joined #perl6
10:02 jnthn |Tux|: Thans.
10:02 jnthn *Thanks
10:04 Ven joined #perl6
10:07 tinyblak joined #perl6
10:09 tinyblak_ joined #perl6
10:18 Ven masak: js' eta-expansion is completly broken
10:19 Ven (other languages have it rough... scala's is broken as well, mostly due to multiple argument lists)
10:21 DrForr I've lost my link to the grammar debugging tools, any idea?
10:22 coffee` joined #perl6
10:27 jnthn Top hit on google for "grammar debugger" :)
10:27 Timbus have you checked your pockets. or the kitchen table
10:27 DrForr thanks. I've been assuming Google has the same problem with perl6 as it does with perl5 :)
10:28 itz_ I'm generally finding better perl search results with DDG
10:28 jnthn itz_: Thanks for getting my blog on pl6anet :)
10:28 itz_ np
10:29 * jnthn tries to work out how to say "pl6anet" out loud :)
10:29 itz_ yeah it works better written :)
10:30 RabidGravy pluh-six-a-net
10:31 DrForr Hrm, it'd be nice if panda warned me that I skipped 'install' on the CLI.
10:35 xfix joined #perl6
10:35 xfix joined #perl6
10:46 Ven jnthn: wow, it actually is, even without any prior perl6 searchings!
10:46 Ven itz_: they're biased :P
10:47 * Ven says "pl6anet" very successfully out loud.. in french :P
10:47 jnthn .oO( French spoken loudly enough will be successful anywhere... )
10:49 * cdc pronounces "planet 6"
10:53 chenryn joined #perl6
10:58 rurban_ joined #perl6
11:06 konsolebox joined #perl6
11:11 vendethiel joined #perl6
11:13 dalek specs/newio: 438163b | (Stéphane Payrard)++ | S99-glossary.pod:
11:13 dalek specs/newio: bundle, Task::Star, irc related infos
11:13 dalek specs/newio: review: https://github.com/perl6/specs/commit/438163bfab
11:13 dalek specs/newio: ecda04f | (Stéphane Payrard)++ | S21-calling-foreign-code.pod:
11:13 dalek specs/newio: S21: removing now obsolete mentions of zavolaj
11:13 lizmat .oO( loving dalek means never having to say sorry )
11:13 dalek joined #perl6
11:23 moritz .oO( extermi..love )
11:28 dalek specs/newio: f7ab575 | lizmat++ | S (2 files):
11:28 dalek specs/newio: Introducing nl-reading/nl-saying, comments welcome
11:28 dalek specs/newio:
11:28 dalek specs/newio: Earlier versions of the spec and the implementation used only the rather
11:28 dalek specs/newio: verbose "input-line-separator".  This was later shortened to "nl", but we
11:28 dalek specs/newio: lost the inputness of the separator.  Since we only use the new line separator
11:28 dalek specs/newio: on "say", I thought it would be approriate to name that case "nl-saying".
11:28 dalek specs/newio: Consequently, extending "nl" to "nl-reading" seemed appropriate.
11:28 dalek specs/newio: review: https://github.com/perl6/specs/commit/f7ab575df4
11:28 lizmat masak moritz others: comments ?  ^^^
11:29 jnthn reading and saying aren't really opposites...
11:29 jnthn Givne we have .ins and .outs for counting, maybe nl-in and nl-out
11:29 lizmat do we have .outs ?
11:29 jnthn I dunno :)
11:29 moritz we have not
11:30 lizmat we only have .ins
11:30 jnthn I was assuming we may given we have .ins :)
11:30 lizmat do we really want to keep counting the number of new lines, or the number of says ???
11:30 moritz iirc the reason for not having .outs is the possible confusion about what it means if you do  $fh.say("abc\nde") (1 or two outs)?
11:30 moritz lizmat: no
11:31 lolisa joined #perl6
11:31 nwc10 surely we also need to count all the .shake-it-all-abouts ?
11:31 jnthn If you want it you can wrap the IO ahndle object I guess
11:31 lizmat nwc10: that's easy
11:31 jnthn but you could argue that for .ins too :)
11:31 lizmat indeed
11:32 moritz well, for ad-hoc parsing it's very handy
11:32 Akagi201_ joined #perl6
11:32 moritz next if $handle.ins == 0; # ignore title row
11:32 lizmat seems to me that could be done with a once block  :-)
11:33 lizmat once next
11:33 Woodi joined #perl6
11:35 lizmat m: sub a { once return; say "a" }; a; a; a
11:35 camelia rakudo-moar ecaf8e: OUTPUT«a␤a␤»
11:35 Ven :o
11:35 Ven lizmat++ # tricks!
11:37 lizmat jnthn: I would be against "nl-out" because that could give the impression that $*OUT.print would also do an nl-out
11:37 jnthn lizmat: Hmm
11:37 jnthn OK
11:38 jnthn lunch and shopping time here...bbiab
11:42 aborazmeh joined #perl6
11:42 aborazmeh joined #perl6
11:48 telex joined #perl6
11:52 [ptc] domidumont: only just realised you are one of the Debian Rakudo maintainers.  Doh!  Sorry, if I've been talking more nonsense than usual!
11:54 domidumont [ptc]: no problem :-)
11:54 vendethiel joined #perl6
11:55 dalek rakudo-star-daily: fe043b2 | coke++ | log/ (2 files):
11:55 dalek rakudo-star-daily: today (automated commit)
11:55 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/fe043b260d
11:57 lucasb joined #perl6
11:59 nwc10 does debian have MoarVM packaged yet? Or is it going to be a bunch of pain?
12:00 domidumont nwc10: moar is packaged and under review by ftp-masters (the gatekeepers that inspect new packages), see https://ftp-master.debian.org/new/moarvm_2015.03-1.html
12:01 nwc10 ooooooh
12:01 nwc10 but just amd64?
12:01 domidumont Many thanks to Daniel for the work
12:01 nwc10 anyway, amd64 alone is wonderful. Please pass on my thanks
12:02 domidumont nwc10: the build will be tried on all available archs. We'll see which one will make it ...
12:02 nwc10 should pass on i686
12:02 nwc10 will fail some tests on power64 and power32
12:03 nwc10 er, wait
12:03 nwc10 that's Rakduo failing tests on those architectures
12:03 Ven joined #perl6
12:03 nwc10 sould work, dammit, on i686, power32, power64 and hopefully still arm
12:04 nwc10 and hopefully anything else, as that's most of big and little endian, 32 and 64 bit, various alignments, signed and unsigned char
12:06 domidumont minor update: many thanks to nebuchadnezzar for the work (just realised he's also on this channel ;-) )
12:06 nwc10 nebuchadnezzar++
12:06 nwc10 (then)
12:09 dalek rakudo/nom: 2d379e4 | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
12:09 dalek rakudo/nom: Set the correct boolification spec for Str.
12:09 dalek rakudo/nom:
12:09 dalek rakudo/nom: Moar apparently handles this somewhat different than JVM, but this passes
12:09 dalek rakudo/nom: S04-statement-modifiers/values_in_bool_context.t again.
12:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2d379e467d
12:10 itz_
12:11 Adam12 joined #perl6
12:13 Guest16638 is there any per6 cpan in the works?
12:14 moritz Guest16638: well, there's modules.perl6.org, and panda, which can install those modules
12:14 moritz Guest16638: and there's work in progress to be able to upoad Perl 6 modules to CPAN
12:15 Guest16638 so trying to make a new repository for perl 6 is sort of redundant?
12:16 Guest16638 is CPAN going to be the offical place to store P6 modules?
12:16 nwc10 CPAN
12:16 nwc10 it feels like it ought to be. PAUSE already has some idea how not to get confused by them
12:16 nwc10 FROGGS++
12:16 [ptc] Guest16638: afaik the short answer is: yes
12:17 Guest16638 if I wanted to help with the perl6 on CPAN, is there a project page on it or a working group?
12:18 [ptc] domidumont: so once moarvm is in, will the rest follow, or do you want to make a complete moar, nqp, rakudo set of packages at the same time?
12:18 [ptc] domidumont: what is the best way to feed changes back to you?  Can one submit patches to the Debian git repo?
12:19 rmgk_ joined #perl6
12:19 domidumont [ptc]: the rest will follow as separate packages. parrot will be dropped
12:19 [ptc] domidumont: very good :-)
12:19 [ptc] domidumont: so is it even worthwhile us keeping the Debian stuff in os-build?
12:19 [ptc] domidumont: probably not, right?
12:19 itz I think I actually prefer github (although vendor lock in bad) to CPAN :)
12:20 domidumont [ptc]: I think not. I'd rather you spend you energy directly contributing to Debian repo by joining the rakudo team
12:20 domidumont I mean debian-rakudo team
12:20 [ptc] domidumont: ok
12:21 nwc10 I like the *A* and *N* bits.
12:21 nwc10 I wonder how much code history is going to be lost when gitorious and google code both turn off.
12:21 domidumont [ptc]: by joining the team, you get commit right to Debian repo. I review package and upload them in Debian. We did this for moarvm package
12:22 nwc10 (not *massive* amounts, but I think that both are canonical upstreams for various dormant-but-useful projects)
12:22 vendethiel joined #perl6
12:23 domidumont [ptc]: See https://ddumont.wordpress.com/2014/07/18/looking-for-help-to-package-perl6-moar-and-others-for-debian/ and https://alioth.debian.org/projects/pkg-rakudo/
12:23 FROGGS Guest16638: there is no project page, but I can try to supply information about that topic...
12:24 [ptc] domidumont: thanks!
12:24 FROGGS Guest16638: in the meantime you can check https://usev5.wordpress.com/ (which mentions the CPAN work, though is dated june 2014), and this: https://github.com/tadzik/panda/tree/CPAN
12:25 [ptc] domidumont: great to have you around.  The Debian perl* maintainers have been doing a fantastic job
12:26 domidumont [ptc]: thanks. perl5 team is much more active. pkg-rakudo has only 2 more or less active members (I count myself on the "less" side)
12:29 yqt joined #perl6
12:30 lucasb IO::Path is not allowed here in restricted setting. In my old rakudo, I get my homedir with this: perl6 -e 'say IO::Path.new("")'
12:31 lucasb Is this supposed to be so?
12:31 moritz with an empty string?
12:31 moritz that sounds... weird
12:31 lucasb Yes, an empty string
12:31 lucasb What did you get?
12:32 moritz I haven't tried
12:32 lucasb Oh :)
12:32 [ptc] domidumont: request to join maintainers submitted :-)
12:32 domidumont great ! welcome aboard :-D
12:32 nwc10 ++[ptc]
12:33 Guest16638 itz:  are you talking about CPAN pulling modules from GitHub?
12:34 lucasb I was thinking about HOME env var being tested for truth instead of definedness. I think an env var can be set to an empty string before invoking the process.
12:35 lucasb Since this is at user resquest, then maybe it should be respected, and the value should be tested for definedness?
12:36 FROGGS Guest16638: panda should allow to install from github and/or CPAN
12:36 xfix joined #perl6
12:39 Guest16638 FROGGS:  it would be cool if there was an easy way to import a module from GitHub into CPAN... and have CPAN run checks on it before.  I find uploading to CPAN a pain in the ass.
12:40 Guest16638 Python is annoying because modules are stored all over the place... CPAN rules because they're all in one spot
12:41 DrForr Guest16638: Dist::Zilla has some wonderful hooks for that.
12:41 * DrForr muses on 6::Zilla.
12:41 FROGGS Guest16638: aye, though we have to take small steps...
12:42 FROGGS Guest16638: what you imagine might work some day, but we have to make it work at all first :o)
12:42 FROGGS Guest16638: the current "blocker" is the not so small dependency chain we have to put into panda in order to work with CPAN
12:44 moritz maybe we need a bootstrapping minipanda, and that can install the "real" panda
12:44 FROGGS moritz: that idea ain't bad...
12:44 Guest16638 FROGGS:  yeah that's why I was wondering if there was a P6CPAN being built from the ground up.  If possible I'd like to help with that. :)
12:45 FROGGS moritz: we might just 'try require' the stuff needed for CPAN...
12:46 grondilu joined #perl6
12:46 FROGGS Guest16638: my way of thinking is: use PAUSE+CPAN (the storage/servers) to deploy the dists, and build up our own metabase.org/search.cpan.org website
12:51 * masak thinks with a name like 'minipanda', how could we not do it that way? :)
12:52 masak .u panda
12:52 yoleaux U+1F43C PANDA FACE [So] (????)
12:53 nwc10 um, but surely if you're running from CPAN you've got a fully featured bootstrapping language available :-)
12:56 aborazmeh joined #perl6
12:56 aborazmeh joined #perl6
12:57 moritz Guest16638: help would certainly be appreciated
13:04 Guest16638 why's everybody on freenode and not irc.perl.org?
13:05 * [ptc] has wondered that for a while, but was too shy to ask
13:06 moritz well, when au++ started this channel, she wanted to lower the bar for non-perl folks to join
13:06 Guest16638 smart move :)
13:06 moritz I mean, *everyone* else is on freenode; it's just those p5 folks that stick to their own servers
13:06 moritz (ok, that was exaggerated; the Debian folks also aren't on freenode)
13:07 Guest16638 I just mean there are like 10 people on the perl IRC server and way way more on freenode
13:08 Guest16638 taking a lot of the simplicity around Python and adopting it to Perl 6 would go a long way
13:08 Guest16638 it would get a lot more kids trying it
13:11 * grondilu did not even know irc.perl.org existed.
13:12 Ulti I didnt realise the freenode one existed
13:12 Ulti the official one is irc.perl.org right?
13:12 [ptc] Ulti: to a certain degree, yes.  Just not for perl6
13:13 moritz I don't think there's an "official" community :-)
13:13 Ulti there is another #perl6 on irc.perl.org?
13:14 moritz Ulti: only one to send people over here
13:14 nwc10 no, there's just an official test suite.
13:14 * moritz declares himself official
13:14 Ulti moritz there are official IRC channels though in the sense they are linked from perl.org
13:14 dalek nqp: c229bc7 | paultcochrane++ | examples/ (2 files):
13:14 dalek nqp: Purge trailing whitespace in examples/ dir
13:14 dalek nqp: review: https://github.com/perl6/nqp/commit/c229bc7e75
13:14 moritz there, you have it!
13:19 timotimo o/
13:20 vendethiel joined #perl6
13:22 alini joined #perl6
13:24 tinyblak joined #perl6
13:25 Ven joined #perl6
13:37 ShimmerFairy joined #perl6
13:38 LordVorp joined #perl6
13:41 Ven joined #perl6
13:42 bjz joined #perl6
13:42 nwc10 https://raw.githubusercontent.com/iblech/talk-pugs-retrospective/master/slides.pdf
13:44 Ven timotimo++ # weekly
13:46 vendethiel joined #perl6
13:46 Ven I'm a little bit "worried" about Str.chars being 40% faster when on its own class – is it being it calls one less method? (say, .Stringy)
13:46 Ven or is the inheritance mechanism slow
13:46 nwc10 which is public, given it's linked from here http://mail.pm.org/pipermail/augsburg-pm/2015-April/000052.html
13:46 Rounin joined #perl6
13:50 moritz Ven: afaict it's just that two method calls are slower than one
13:50 Ven fair enough. levels of indirection are always slow :)
13:50 moritz Ven: inheritance doesn't make method calls slower; it's all just a lookup in the method cache
13:51 Ven isn't it built on-demand?
13:51 moritz no, it's built at class composition time
13:52 moritz which makes it possible to make the cache authorotative in some cases (that is, a method missing from the cache can't ever be found, and so the MOP doesn't need to be consulted to generate the exception)
13:54 Ven so you need to mark in the cache that you have a FALLBACK method somewhere in the inheritance chain?
13:55 moritz right
13:57 arnsholt Makes the methodcache non-authoritative, I guess?
13:58 moritz aye
14:00 konsolebox joined #perl6
14:01 arnsholt The 6model design makes a lot of sense to me. It's just a shame it's not a good fit for the Python object model =)
14:05 Ven joined #perl6
14:07 Ven September 23, 2014
14:11 lichtkind joined #perl6
14:16 timotimo what about it?
14:18 tinyblak joined #perl6
14:23 tinyblak_ joined #perl6
14:24 PerlJam timotimo: http://en.wikipedia.org/wiki/September_23  :-)
14:25 [ptc] PerlJam: still not understanding the point
14:27 PerlJam I didn't think there was a point.  Seemed totally random to me.
14:27 [ptc] ok...
14:32 skids joined #perl6
14:33 Perl6_newbee joined #perl6
14:33 vendethiel joined #perl6
14:36 chenryn joined #perl6
14:39 gfldex joined #perl6
14:40 pierrot joined #perl6
14:42 timotimo maybe accidentally pasted something somewhere?
14:43 Ven joined #perl6
14:43 tinyblak joined #perl6
14:47 rindolf joined #perl6
14:50 raiph joined #perl6
14:51 dalek nqp: 13212ec | paultcochrane++ | src/NQP/ (4 files):
14:51 dalek nqp: Purge trailing whitespace in src/NQP
14:51 dalek nqp: review: https://github.com/perl6/nqp/commit/13212ecfac
14:51 [Coke] I would suggestion nl-in/nl-out instead of -reading/-saying
14:53 [ptc] would it annoy the nqp people if I did some basic source code cleanup?  Just non-functional stuff, nothing major
14:54 [Coke] we try not to be as strict about code cleanup as parrot was.
14:54 [Coke] I think it would depend on how invasive the cleanups were before anyone minded.
14:55 molaf__ joined #perl6
14:57 jnthn [ptc]: Just say what you're intending to do and see how pepole feel. "cleanup" is a bit too generic for me to have a good feel for :)
15:01 timotimo ohai jnthn
15:02 [Coke] I am remided that I want to make a CF grammar for rakudo so I can use it to pretty print my evil work code.
15:03 jnthn hi timotimo
15:04 [ptc] jnthn: that's why I thought I'd ask in the channel before I start wildly changing stuff
15:05 [ptc] jnthn: I'm a bit picky about trailing whitespace, tabs in source code etc., so cleanup means doing stuff like that
15:05 timotimo [Coke]: you think i should try to get a job in developing ColdFusion? :P
15:05 [ptc] jnthn: maybe I'll look into the docs if I stumble across something
15:05 jnthn [ptc]: Tabs to spaces I'm fine with, we should really be using spaces consistently except makefiles...
15:06 [ptc] jnthn: I really don't mind cleaning around people to try and keep some of the entropy down.  Just so long as the changes don't annoy people, as I know this is possible
15:06 PerlJam [ptc]: The only comment I have is (and this may be completely obvious, but I'm a fan of being explicit) that the "cleanup" commits be atomic and clearly labeled.
15:06 [ptc] PerlJam: will try to keep them small and clearly labelled :-)
15:08 FROGGS yes, a tiny patch (bugfix or whatever) that removes a hundred trailing space chars is not the best thing one could do :o)
15:08 jnthn I don't get the desire to clean up trailing whitespace. On lines with content it should be rare already. On space-only lines, who cares.
15:09 PerlJam .oO( What happened here?  This commit touched every line of the source! )
15:09 FROGGS jnthn: some ppl just configure their editors to clean them up, though that will result in a mess with 3k loc files
15:10 [ptc] jnthn: also git likes to clean such things up.  For me it's just a bad habit that I change stuff like that, it feels sort of "messy"
15:10 [ptc] jnthn: anyway, that's why I wanted to ask in the channel before I start annoying people
15:10 hernan604 joined #perl6
15:10 jnthn [ptc]: Yes, it makes life suck for those of us hunting problems using "git blame".
15:10 jnthn I guess there's a way to tell it "ignore whitespace only changes" though.
15:11 [ptc] I thought git handled whitespace-only changes...
15:12 [ptc] there's an option somewhere that allows git blame to ignore such commits
15:14 [ptc] jnthn: git blame -w (just so you know) :-)
15:15 [Coke] timotimo: CF is an ok language to do web stuff in. I don't prefer it.
15:15 timotimo mhh
15:16 PerlJam [Coke]: I bet you can find a BNFish grammar for coldfusion out there somewhere that you could relatively easily turn into a Perl 6 grammar
15:17 rurban_ joined #perl6
15:18 konsolebox joined #perl6
15:19 [Coke] PerlJam: pretty sure the state of the art for cf parsing is antlr.
15:20 Sqirrel joined #perl6
15:22 [ptc] another way of putting what I'm saying is: would it be useful for me to make changes a la the way the Cage Cleaners used to?
15:22 timotimo i didn't know "the Cage Cleaners" was a thing that actually exists
15:23 hoelzro good morning, #perl6!
15:23 [Coke] [ptc]: I don't think anyone working on nqp would find it particularly helpful, nope.
15:23 [Coke] what would be  helpful is running the doc tests and documenting more nqp opcodes.
15:23 [ptc] [Coke]: ok, that's a clear answer :-)  Thanks.  Good to know
15:24 [Coke] https://gist.github.com/coke/ac078396e8f216b83e9a#document-an-nqp-opcode
15:24 PerlJam [Coke]++
15:25 timotimo i just recently added one, jnthn added a bunch
15:26 [Coke] timotimo++ jnthn++
15:26 timotimo i mean
15:26 timotimo we added new opcodes
15:26 timotimo at least mine was added without the documentation
15:26 [Coke] Hey, someone broke the tests. :)
15:26 [Coke] t/docs/opcodes.t .. No registered operation handler for 'substr2'
15:27 [Coke] wonder if we relied on a parrot backend before to run the tests.
15:27 timotimo huh
15:27 jnthn I think substr2 was actually an implementation detail (a badly hidden one, mind)
15:27 timotimo could very well be
15:29 dalek nqp: 622e465 | coke++ | t/docs/opcodes.t:
15:29 dalek nqp: substr2 doesn't exist everywhere; use substr
15:29 dalek nqp: review: https://github.com/perl6/nqp/commit/622e465055
15:29 timotimo am i the only one who can't install JSON::Fast via panda
15:30 [Coke] Failed 288/1685 subtests
15:30 timotimo wow
15:40 TimToady timotimo: even the pattern doesn't have to be flipped, it's just offset: .after('foo') just means .before('foo',-3)
15:41 timotimo oh!
15:41 TimToady it's in the variable case that *both* the pattern and the text have to be flipped
15:41 timotimo i bet nobody else notices and it'll turn out all right
15:42 * TimToady crosses his fingers and hopes real hard
15:44 timotimo i'm afraid i'm going too much into details for "outsiders" anyway :(
15:45 TimToady well, there has to be a balance, and I think you come pretty close to the optimal
15:46 timotimo why, thank you very much :)
15:46 TimToady please don't think I'm unappreciative of how much effort this is
15:46 timotimo my latest "style" of writing is heavily borrowed from lizmat
15:46 timotimo i wasn't thinking that at all :)
15:47 timotimo if you didn't appreciate it, i'm sure you wouldn't even mention it
15:47 TimToady thing is, our lawns are all drying out in California, so I have to be grumpy about something else insted...
15:48 * abraxxa doesn't even have a lawn in his garden ;_(
15:50 TimToady lawns make some sense in, oh, England, where it's wet all the time, but in a desert, not so much...
15:50 abraxxa Top Gear lawn++
15:50 * colomon ’s lawns have verged on being wetlands…
15:50 huf yes, england declares drought conditions and everything is still vibrant and green...
15:50 Ven timotimo: talking about balance of what to say in the weekly?
15:51 timotimo yes
15:51 timotimo you know the feeling, right? from the learnxinyminutes?
15:52 Ven yes
15:52 Ven I even got feedback at salzburg from tim bunce on that
15:52 timotimo i recall
15:53 Ven "yak shaving!"
15:53 Ven timotimo: maybe, say, "Uni" should link to *something* to explain what it is (or a parenthesized sentence)
15:54 timotimo mhh
15:54 Ven timotimo: I find that sentence to have the perfect balance: "TimToady improved [...] for a regexp match."
15:55 Ven I know what it changed technically if I actually want to look it up, but I also know what's it's about if I'm a complete newcomer
15:55 timotimo i'll try to keep that in mind
15:56 timotimo but usually i write the weekly very late in the evening and when my brain is already asking for bedtime :P
15:56 Ven timotimo: it didn't struck me when I first read it, so I came back to it, and it seems okay to me. I know what "push/pop, elems" etc are (or at least should be if I'm interested in p6 :).). Maybe only "reprops" could be explained
15:56 timotimo maybe i should start improving the weekly by not writing it so late in the night
15:56 Ven (then again, it seems obvious it's the JIT's ops from name/talking about JIT right after)
15:56 timotimo that'll also give the benefit of appearing on a monday even to the USians
16:00 timotimo the nqp repo is HUEG
16:00 timotimo almost 100 megabytes
16:01 timotimo i'm suffering from that right now
16:01 arnsholt One of the SVN repos I work with is almost 8 gigs
16:01 arnsholt If you add more extras, I've had it clock in at 20 =)
16:01 timotimo oh my lord
16:01 timotimo at least you don't have to clone 100% of it to work locally ...
16:01 [Coke] timotimo: how is it making you suffer?
16:02 arnsholt No, that's the size of the checked out copy
16:02 arnsholt I don't want to know the size on the server...
16:02 timotimo building lots of rakudos under perl6-bench
16:02 timotimo oh god
16:02 [Coke] timotimo: ok. at least bench (i think) has a local copy it uses as a master so you don't need to clone it every time over a network
16:02 timotimo this one time i didn't use perl6-bench's built-in deduplication feature
16:02 timotimo right
16:03 timotimo i'm only getting 100 kilobyte/s from github
16:04 arnsholt timotimo: Yeah, it's a bit insane
16:05 timotimo the moarvm build stage ought to learn about --git-reference, too
16:05 timotimo at least under petl6-bench
16:05 timotimo "updating submodules"
16:08 spider-mario joined #perl6
16:09 timotimo damn, version bumpage made things harder than necessary
16:09 * timotimo AFK
16:15 bobkare What is eqv between arbitrary objects supposed to do? I'm not sure what's meant by canonical representations in http://design.perl6.org/S03.html#Comparison_semantics
16:16 moritz bobkare: two objects can only be equvialent if they are of the same type
16:16 bobkare It would be quite handy to be able to easily test the AST generated by my parser by comparing it with a set of hand-built objects using is_deeply
16:17 bobkare I have something where the .perl output for both sides is identical but is_deeply say they are different
16:17 moritz bobkare: and you can write multi candidates for infix:<eqv> for user-defined types
16:17 eli-se joined #perl6
16:18 moritz bobkare: if nothing is defined for a type, it uses object identity (===)
16:18 bobkare OK, so it's not meant to work like that out of the box
16:18 moritz nope
16:19 eli-se hi
16:20 bobkare I don't have the link any more, but I found an article about p6 testing saying is_deeply would by default compare all attributes for objects. Guess that's outdated information then.
16:20 TimToady arguably the degenerate case should be serialize both sides to something like JSON and see if those match, but not everything is serializable
16:24 TimToady the point of eqv is "Would these produce the same serialization if we were stupid enough to actually implement eqv that way?"
16:24 vendethiel joined #perl6
16:34 konsolebox joined #perl6
16:49 vendethiel joined #perl6
16:52 rhr joined #perl6
16:53 yvan1 joined #perl6
16:54 mr-foobar joined #perl6
17:00 * [Coke] is bitten by having an object with a same name as a builtin, which is then cached somewhere in the object model so a complete restart is the only way to fix it. <coldfusion problems>
17:04 mohij joined #perl6
17:06 preyalone joined #perl6
17:07 preyalone Will Perl 6 be packaged like python3, with a dedicated perl6 binary?
17:07 nwc10 for the next decade or so, probably yes
17:08 syedi joined #perl6
17:08 literal can Rakudo's error messages be made a little more...parsable? I'm writing a syntax checker, and parsing the error messages from "perl6 -c" is a bit tedious since it always uses color codes even when output is not a terminal, and the column number has to be derived in a very roundabout way
17:08 nwc10 unlike Python, new Perl 5 versions will keep coming out as long as people want to work on it (or someone wants to organise paying people to work on it)
17:08 ugexe literal: --ll-exception ?
17:09 psch literal: any reason you can't catch the Exceptions and get line numbers and all from those?
17:09 nwc10 that feels like a work around. I think that literal's request is reasonable
17:09 nwc10 (may not be totally reliably easy)
17:09 PerlJam psch: he might be parsing them with some non-perl thing.
17:09 psch nwc10: oh, it's definitely a workaround
17:10 alini joined #perl6
17:10 psch PerlJam: true, but there's still rounding-it-with-perl6 somewhere, and that could wrap with a CATCH etc.
17:10 espadrine joined #perl6
17:11 literal ugexe: --ll-exception is even worse, it does not indicate line or column number of the original source file, and prints a terser error (i.e. no "I was expecting this instead")
17:11 nine nwc10: I still believe it possible to have one binary for both Perl 5 and Perl 6 as S01 talks about
17:11 PerlJam nine: the desire for that should fade into irrelevance with time :)
17:12 psch eh, s/rounding/running/
17:12 nine PerlJam: why wait?
17:13 literal psch, PerlJam: yes, this is non-perl, for showing syntax errors in a text editor
17:14 psch literal: Perl6/Grammar.nqp is a bit under-equipped for supporting something like that
17:14 psch literal: e.g. we don't have a "keep parsing, reset on the next sensible token"-mode
17:14 psch (that's of course not saying that efforts to use the existing capabilities are discouraged, they're just harder)
17:15 literal only catching the first error is good enough, but it would be nice if I could get the the column number as a number, and not have to skip over terminal color codes
17:15 nwc10 nine: pmichaud thinks that it's hard to get the comamnd line option parsing to work reliably
17:15 nwc10 Perl 5 has different rules
17:16 nwc10 I've not "studied" this in detail to see if it's really insurmountable
17:16 nwc10 but there is a problem
17:16 psch literal: RAKUDO_ERROR_COLOR="" should turn color escapes off i think
17:16 PerlJam literal: set RAKUDO_ERROR_COLOR
17:16 PerlJam what psch said
17:16 literal ah, nice
17:17 PerlJam literal: that's an environment variable btw
17:17 psch that's a spot where «"0" is True» kinda sorta bites us, i think
17:18 psch 'cause env vars are Stringy, apparently
17:18 syedi left #perl6
17:18 lucasb joined #perl6
17:20 psch m: say %*ENV.pairs.map: { $_.value.WHAT }
17:20 camelia rakudo-moar 2d379e: OUTPUT«(Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str)␤»
17:20 psch so RAKUDO_ERROR_COLOR=0 doesn't turn them off
17:21 Woodi joined #perl6
17:21 literal it does on my rakudo (star 2015.03)
17:22 psch star-m: say so "0"
17:22 camelia star-m 2013.03: OUTPUT«False␤»
17:22 psch m: say so "0"
17:22 camelia rakudo-moar 2d379e: OUTPUT«True␤»
17:22 psch literal: ^^^
17:22 literal I see
17:22 psch changed on april 9th according to git log
17:23 psch it's more consistent now, i think
17:23 preyalone How do I get the script's own name in Perl 6? $0 no longer seems to work
17:23 KCL joined #perl6
17:23 literal m: say $*PROGRAM_NAME
17:23 camelia rakudo-moar 2d379e: OUTPUT«/tmp/MoIHWQaCX3␤»
17:23 preyalone literal: Thanks!
17:24 [Coke] m: say $0;
17:24 camelia rakudo-moar 2d379e: OUTPUT«Nil␤»
17:24 [Coke] I was kind of expecting a warning there.
17:25 psch "Match variable used with unset $/"?
17:25 lucasb m: say $42.foo.bar; say 'oh yeah'
17:25 camelia rakudo-moar 2d379e: OUTPUT«Nil␤oh yeah␤»
17:25 lucasb .say for $_, $/
17:25 lucasb m: .say for $_, $/
17:25 camelia rakudo-moar 2d379e: OUTPUT«Nil␤Nil␤»
17:25 lucasb Wasn't an idea about making $_ starting out as Any?
17:25 psch m: say $<ident>
17:25 camelia rakudo-moar 2d379e: OUTPUT«Nil␤»
17:26 psch lucasb: yeah, $_ and $/ should be Any
17:26 psch it's on RT somewhere...
17:26 lucasb m: /o/
17:26 camelia rakudo-moar 2d379e: ( no output )
17:26 lucasb m: /o/; 1
17:26 camelia rakudo-moar 2d379e: OUTPUT«Cannot call match(Nil: Regex); none of these signatures match:␤    (Cool:D: Any $target, *%adverbs)␤  in method Bool at src/gen/m-CORE.setting:16620␤  in block <unit> at /tmp/Vw_PDR2RFu:1␤␤»
17:26 lucasb m: /o/ // 1
17:26 camelia rakudo-moar 2d379e: ( no output )
17:26 lucasb m: /o/ || 1
17:26 camelia rakudo-moar 2d379e: OUTPUT«Cannot call match(Nil: Regex); none of these signatures match:␤    (Cool:D: Any $target, *%adverbs)␤  in method Bool at src/gen/m-CORE.setting:16620␤  in block <unit> at /tmp/sdywne9x1H:1␤␤»
17:27 psch m: given Any { /o/ || 1 }
17:27 camelia rakudo-moar 2d379e: OUTPUT«No such method 'match' for invocant of type 'Any'␤  in method Bool at src/gen/m-CORE.setting:16620␤  in block <unit> at /tmp/IqlFqdb0jF:1␤␤»
17:33 vendethiel joined #perl6
17:37 liztormato joined #perl6
17:37 preyalone Does Perl 6 have an equivalent to main unless caller;, the Perl 5 way to write modulinos?
17:37 psch preyalone: http://stackoverflow.com/questions/29281305/how-do-i-make-a-modulino-in-perl6
17:38 liztormato psch: making $_ Any will disallow Nil being passed around currently
17:38 hernan604 modulino ?
17:38 psch liztormato: yeah, i suspected there's some hangup.  i'm fairly sure it's above what i'd want to touch :)
17:39 preyalone hernan604: A modulino is a script that can be run as a self-contained CLI program, or imported as a library into other scripts.
17:39 liztormato psch: I recall making it typed Nil specifically
17:39 hernan604 oh, never seen such thing
17:40 psch liztormato: RT #123175 is still open, so i suspect it's still supposed to be initialized as Any
17:40 synbot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=123175
17:40 psch liztormato: maybe that can work in some implicit BEGIN?
17:41 * psch is mostly guessing there
17:41 liztormato No, $_ and friends are initialized deep in the nqp bowels, if I remember correctly
17:42 preyalone psch: cheers!
17:44 liztormato Thinking about this more, I think it was needed to have a failed match return Nil, as per speculation
17:45 arnsholt The automatics like $_ and $/ are initialized by the Rakudo NQP code, no?
17:45 FROGGS joined #perl6
17:46 psch according to the ticket we want it as "my Mu $_ = Any;"
17:46 psch i might misremember $/ to be initialized as Any, though
17:46 psch it doesn't seem sensible to have it like that, so i probably am
17:50 Rounin joined #perl6
17:50 jnthn m: say $_; sub foo() { say $_ }; foo;
17:50 camelia rakudo-moar 2d379e: OUTPUT«Nil␤Nil␤»
17:50 jnthn ah, it is consistent there at least
17:50 FROGGS o/
17:50 jnthn But yeah, I'm a tad surprised, but maybe we don't need it for match
17:50 psch o/ FROGGS
17:50 jnthn These days
17:51 liztormato jnthn: psch will look at it when returned from cycling
17:51 jnthn No hurry, enjoy the ride :)
17:51 * jnthn has just about finished cooking dinner :)
17:51 liztormato Unless someone beats me to it ;-)
17:51 liztormato &
17:52 * psch has to start cooking dinner about now
17:52 liztormato left #perl6
17:53 psch hrm
17:53 psch i'm getting a SEGV in isDEPRECATED.t on moar
17:53 FROGGS is there still inconsistent boolness of "0" on jvm?
17:53 psch in MVM_coerce_istrue
17:53 psch FROGGS: no, but my patch that fixed it is probably the cause for the SEGV
17:53 FROGGS but you are talking about moar
17:53 psch yes
17:54 zakharyas joined #perl6
17:54 psch i fixed jvm by setting the boolification spec to 3 instead of 4 in BOOTSTRAP.nqp
17:54 psch and moar did the right thing before that
17:54 psch so the change of the boolspec mode did something breaky on moar
17:54 psch but fixed jvm
17:54 FROGGS ahh
17:54 psch (3 is MODE_UNBOX_STR_NOT_EMPTY, 4 is ~_OR_ZERO
17:55 psch )
17:55 * psch back in ~20
17:55 nine psch: 20 seconds are over :)
17:56 * psch back in ~20 minutes
17:56 psch :P
17:57 domidumont joined #perl6
17:57 * tadzik pictures nine with a timer, grinning "you won't get away this time..."
18:00 preyalone How do I append an array to a matrix in Perl 6? I used to push @($matrix), \@array;
18:03 pippo joined #perl6
18:03 pippo o/ #perl6
18:04 aborazmeh joined #perl6
18:04 aborazmeh joined #perl6
18:04 hoelzro preyalone: $matrix.push: @array.item # should do it, I think
18:05 FROGGS preyalone: $matrix.push( [@array] ) # same
18:05 hoelzro that .item call may be redundant, as well
18:05 pippo m: my enum date <Date>; my date = Date.today;
18:05 camelia rakudo-moar 2d379e: OUTPUT«5===SORRY!5===␤Type 'date' is not declared. Did you mean 'Date'?␤at /tmp/_mJXM3IeHW:1␤------> 3my enum date <Date>; my date 7⏏5= Date.today;␤Malformed my␤at /tmp/_mJXM3IeHW:1␤------> 3my enum date <Date>; my date 7⏏5= Date.today;…»
18:05 nwc10 OK, so on ARM
18:05 nwc10 t/04-nativecall/03-simple-returns.t
18:05 nwc10 # Failed test 'returning char works'
18:05 nwc10 # at t/04-nativecall/03-simple-returns.t line 18
18:05 nwc10 # expected: '-103'
18:05 nwc10 #      got: '153'
18:05 pippo How can I tell perl6 which date to use?
18:05 nwc10 oh, 1 more line than you needed
18:05 nwc10 same error on Power32
18:05 nine m: my @matrix; my @array = 1, 2; push @matrix, $@array; push @matrix, @array; say @matrix.perl;
18:05 camelia rakudo-moar 2d379e: OUTPUT«[[1, 2], 1, 2]<>␤»
18:05 nwc10 but not Power64
18:05 nwc10 which is a bit strange
18:06 pippo m: my enum date <Date>; my $date = Date.today;
18:06 camelia rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'date'␤  in block <unit> at /tmp/TInzEdOgeD:1␤␤»
18:06 nwc10 but Power32 and ARM are both 32 bit plaforms with unsigned char
18:06 FROGGS nwc10: that's known
18:06 FROGGS err
18:07 FROGGS nwc10: I am mistaken, I thought this is about the other test (which is marked as todo)
18:07 atweiden joined #perl6
18:07 preyalone How can I reuse $i for several, unrelated loops in the same scope?
18:07 FROGGS m: my enum date <Date>; say Date.WHAT
18:07 camelia rakudo-moar 2d379e: OUTPUT«(date)␤»
18:08 FROGGS pippo: it is not the Date type from the setting you got there
18:08 telex joined #perl6
18:08 FROGGS preyalone: use a pointy block for example... for @array -> $i { ... }; for @array2 -> $i { ... }
18:09 FROGGS preyalone: or declare $i before these loops, if you mean something else then I showed
18:09 preyalone FROGGS: I'm not iterating over a pre-defined collection, I'm using the loop semantic
18:09 preyalone yeah
18:09 pippo m: my enum record <Date>; say Date.WHAT;
18:09 camelia rakudo-moar 2d379e: OUTPUT«(record)␤»
18:09 FROGGS ahh, C-style loops
18:10 FROGGS pippo: Date is just a string of the enum
18:10 FROGGS m: my enum record <Date>; say Date.perl # more explicit
18:10 camelia rakudo-moar 2d379e: OUTPUT«record::Date␤»
18:10 FROGGS m: my enum record <Date>; say Date()
18:10 camelia rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/unHLD4F0pa␤Variable '&Date' is not declared␤at /tmp/unHLD4F0pa:1␤------> 3my enum record <Date>; say 7⏏5Date()␤»
18:10 FROGGS err
18:10 FROGGS m: my enum record <Date>; say +Date
18:10 camelia rakudo-moar 2d379e: OUTPUT«0␤»
18:11 FROGGS right
18:11 pippo FROGGS: I know. But how can I tell perl6 to use the Date that returns a date after I defined the enum?
18:11 FROGGS m: my enum record <Date>; say record(0)
18:11 camelia rakudo-moar 2d379e: OUTPUT«Date␤»
18:11 eli-se joined #perl6
18:11 [Coke] FROGGS: no, that's getting the date he just defined. :)
18:11 [Coke] m: Date.WHAT.say # he wants this one.
18:11 camelia rakudo-moar 2d379e: OUTPUT«(Date)␤»
18:11 FROGGS I know
18:12 [Coke] ok. the code you were giving seemed to indicate otherwise, apologies.
18:12 pippo m: my enum record <Date>; my $date = Date.today;
18:12 camelia rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'record'␤  in block <unit> at /tmp/q60TJxb5Fi:1␤␤»
18:12 FROGGS pippo: can't you just have other enum values?
18:12 pippo Of course yes. :-)) Was only curious
18:13 FROGGS m: my constant CopyOfDateBecauseIMessWithIt = Date; { my enum record <Date>; my $date = CopyOfDateBecauseIMessWithIt.today; }
18:13 camelia rakudo-moar 2d379e: ( no output )
18:13 FROGGS pippo: ^^
18:13 FROGGS it is lexical...
18:13 pippo FROGGS: Thank you!!
18:13 [Coke] enums only poison other enums, not classes.
18:14 [Coke] m: class Foo { sub new() { say "class"}}; enum Foo <Frob>; say Foo.WHAT;
18:14 camelia rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ve247xYWUo␤Redeclaration of symbol Foo␤at /tmp/ve247xYWUo:1␤------> 3oo { sub new() { say "class"}}; enum Foo7⏏5 <Frob>; say Foo.WHAT;␤»
18:14 FROGGS and like everything it poisons your namespace
18:15 [Coke] Seems like a bug that the enum declaration where you override a class should give that same message.
18:15 [Coke] (even if that class isn't user defined)
18:15 FROGGS hmmm, I don't see a bug there
18:15 [Coke] but also dihwidt
18:16 [Coke] er, to be clearer, I think pippo's code should give the error "redeclaration..." as my example with Foo did.
18:17 FROGGS [Coke]: you only redeclare something if it is in the same scope
18:17 FROGGS m: class Foo { sub new() { say "class"}}; { enum Foo <Frob>; say Foo.WHAT; }
18:17 camelia rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hfgKk8e0uW␤Redeclaration of symbol Foo␤at /tmp/hfgKk8e0uW:1␤------> 3 { sub new() { say "class"}}; { enum Foo7⏏5 <Frob>; say Foo.WHAT; }␤»
18:17 FROGGS err
18:18 FROGGS ahh, they are our-scoped by default
18:18 FROGGS m: class Foo { sub new() { say "class"}}; { my enum Foo <Frob>; say Foo.WHAT; }
18:18 camelia rakudo-moar 2d379e: OUTPUT«(Foo)␤»
18:18 pippo [Coke]: it will be better. The example I gave is from one of my programs that was not working. That error message would have been more helpful.
18:21 preyalone Am I supposed to loop from $i = 0; to $i <= @array.end? In most programming languages, I would use $i < array.length or similar
18:21 moritz you can do that too
18:21 moritz though we call it .elems
18:22 moritz or you can iterate over @array.keys
18:22 pippo or +@array
18:22 arnsholt preyalone: Basically "length" is a discouraged term in Perl 6, it's just too ambiguous
18:23 FROGGS m: my @a = 'a' .. 'z'; for @a.kv -> $k, $v { say "$k => $v" } # preyalone
18:23 camelia rakudo-moar 2d379e: OUTPUT«0 => a␤1 => b␤2 => c␤3 => d␤4 => e␤5 => f␤6 => g␤7 => h␤8 => i␤9 => j␤10 => k␤11 => l␤12 => m␤13 => n␤14 => o␤15 => p␤16 => q␤17 => r␤18 => s␤19 => t␤20 => u␤21 => v␤22 => w␤23 => x␤24 => y␤25 => z␤»
18:23 FROGGS preyalone: .kv gives you the index and the value...
18:24 FROGGS which is what I miss in other languages
18:24 preyalone FROOGS: cool
18:25 moritz iteritems in python2, items in python3
18:27 masak moritz: but only on dicts. in Perl 6, both arrays and hashes have .kv
18:28 moritz masak: aye
18:29 moritz and I never understood why only on dicts
18:29 moritz or wtf "iteritems" was supposed to mean
18:29 masak moritz: it's an iterator which gives you items
18:29 masak "item" is, I think, Python's word for Pair
18:29 moritz oh.
18:30 masak the original method .items in py2 predates the iterator model
18:37 FROGGS psch: I've got a patch but that break nqp pretty hard
18:37 RabidGravy is there any facility whatsoever to do something like  "as 'nobody' {   ... } "   sort of like start but with a setuid?
18:38 psch FROGGS: that's curious
18:39 moritz RabidGravy: uhm, can threads even have separate permissions?
18:39 moritz RabidGravy: I thought that only works on the process level
18:39 timotimo there's "enumerate" in python
18:39 timotimo which is my friend
18:39 Rounin joined #perl6
18:40 rindolf joined #perl6
18:41 FROGGS psch: https://gist.github.com/FROGGS/6dde2440e37351c834fe
18:42 psch FROGGS: what's confusing me is that moar did «if "0" { ... }» even though Str had the wrong boolification mode
18:42 psch FROGGS: and jvm only did «if nqp::unbox_s("0") { ... }» correctly
18:43 preyalone How can I import a subroutine meaning_of_life() defined in a sister file, ScriptedMain.pl? use ScriptedMain; doesn't seem to work.
18:43 psch FROGGS: so i'd assume there might be an unbox somewhere between Op::if and MVM_coerce_true
18:43 psch *an *additional* unbox
18:43 moritz preyalone: iirc require has an option to specify a file name
18:43 moritz preyalone: though the better style is to put the common subroutine into a modulle
18:44 xtreak joined #perl6
18:44 dalek doc: a24d845 | moritz++ | lib/Language/syntax.pod:
18:44 dalek doc: Talk about identifiers
18:44 dalek doc: review: https://github.com/perl6/doc/commit/a24d8459bf
18:44 preyalone Declaring a module name prevents my MAIN function from running >(
18:45 ugexe declare it as a class
18:46 rhr joined #perl6
18:46 ugexe preyalone: see https://github.com/ugexe/zef/blob/master/lib/Zef/App.pm6 and https://github.com/ugexe/zef/blob/master/bin/zef
18:46 * TimToady wonders what "column" means in the age of Unicode...
18:46 geekosaur "wishful thinking"
18:47 preyalone ugexe: Thanks, I'll check those out. Should I be using .pm6, .pl6 as my file extensions, by the way?
18:48 FROGGS preyalone: that's up to you
18:49 preyalone ugexe: I'm used to sub MAIN { ... }, but in a module, should I use something else like multi MAIN { ... } ?
18:50 ugexe you dont have to declare sub or method for MAIN if you use multi
18:50 ShimmerFairy TimToady: reminds me of the idea I've had before of a monospace font that's actually designed as a "discrete font", to avoid squishing/stretching various characters too badly.
18:50 * TimToady has wished for such a thing himownself
18:51 preyalone Do I have to say 'is export' for every method I want to expose?
18:51 ugexe i believe so
18:51 masak um you shouldn't need to export methods.
18:51 masak methods sit on objects, no?
18:51 RabidGravy :)
18:51 ugexe MAIN is built at a different time than normal methods and stuff
18:51 ugexe i think is the reason
18:52 preyalone I need to learn the syntax for defining static, class-level methods.
18:52 ShimmerFairy (and obviously variable-width fonts could be considered "continuous fonts" ☺)
18:52 masak m: class C { method foo { say "OH HAI" } }; C.foo
18:52 camelia rakudo-moar 2d379e: OUTPUT«OH HAI␤»
18:52 TimToady so it would know how to deal with a character like ????
18:52 masak preyalone: ^^
18:52 masak preyalone: so easy! :)
18:53 ugexe m: class C { multi MAIN { say "OH HAI" } }; C.MAIN
18:53 camelia rakudo-moar 2d379e: OUTPUT«No such method 'MAIN' for invocant of type 'C'␤  in block <unit> at /tmp/_mXN8xfoOF:1␤␤»
18:53 masak ugexe: you forgot 'methgod'
18:53 masak er, method*
18:53 masak gah, lag
18:53 RabidGravy preyalone, they're just normal methods just can't access the object attributes in the same way
18:54 * masak .oO( Heisenberg is the methgod )
18:56 TimToady m: my enum date <Date>; my $date = OUTER::Date.today;
18:56 camelia rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'Any'␤  in block <unit> at /tmp/mpdCY6ZCKj:1␤␤»
18:56 TimToady m: my enum date <Date>; my $date = OUTERS::Date.today;
18:56 camelia rakudo-moar 2d379e: ( no output )
18:56 TimToady m: my enum date <Date>; my $date = OUTERS::Date.today; say $date
18:56 camelia rakudo-moar 2d379e: OUTPUT«2015-04-14␤»
18:57 TimToady m: my enum date <Date>; my $date = SETTING::Date.today; say $date
18:57 camelia rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'Any'␤  in block <unit> at /tmp/WSrGuFHd5D:1␤␤»
18:57 preyalone My syntax isn't quite right. https://gist.github.com/mcandre/05d70f5871247078cb9b
18:57 TimToady m: my enum date <Date>; my $date = CORE::Date.today; say $date
18:57 camelia rakudo-moar 2d379e: OUTPUT«2015-04-14␤»
18:57 FROGGS psch: I think I found it
18:57 FROGGS ahh, the CORE:: pseudo package... of course
18:57 TimToady pippo: ^^
18:58 TimToady there's a reason we made all these things outer lexical scopes, and not a "prelude"
18:58 ugexe preyalone: try the way i showed and it will work
19:00 psch FROGGS: an extra unbox?  neat, that'd mean my hunch wasn't totally off :)
19:00 RabidGravy and in the second case "use lib '.';" will fix
19:00 FROGGS psch: no, the P6Str in moar had the old boolspec
19:01 ugexe MAIN_HELPER or whatever builds the MAIN stuff doesnt happen at the same time as the rest of object construction. or something
19:01 psch FROGGS: ah!  i hadn't thought to look for that.  jvm doesn't declare P6Str, only P6str which is the native wrapper, afaiu
19:01 * TimToady wonders how difficult it would be to teach irssi about characters outside the BMP...
19:01 FROGGS psch: err P6str, yes
19:01 fhelmberger joined #perl6
19:01 FROGGS psch: I just managed to break nqp build by fixing the segfault
19:02 psch oh, i see it.  bootstrap.c:604 has MVM_BOOL_MODE_NOT_EMPTY_OR_ZERO
19:02 FROGGS though that means I need to bump stage 0 again :/
19:02 FROGGS stage0*
19:02 FROGGS aye
19:03 psch i'm a bit surprised only isDEPRECATED.t segfaulted with that bool spec mode, though
19:03 psch which means there's weird code paths all around, i suspect
19:03 FROGGS psch: I can tell you why
19:03 psch FROGGS: do tell :)
19:04 FROGGS MVM_coerce_istrue with the MVM_BOOL_MODE_NOT_EMPTY case was an unused code path until you changed the boolspec in rakudo
19:05 preyalone Code updated. ScriptedMain.pm now runs, but test.pl can't import its code. https://gist.github.com/mcandre/05d70f5871247078cb9b
19:05 FROGGS so rakudo still used the MVM_BOOL_MODE_NOT_EMPTY_OR_ZERO boolspec, which did what MVM_BOOL_MODE_NOT_EMPTY should have done
19:05 ugexe because it needs to find its symbol. see https://github.com/rakudo/rakudo/blob/49f168e42d7bd98307c9370b16cbae1bce4b4c21/src/Perl6/Actions.nqp#L309
19:05 rmgk joined #perl6
19:05 rhr joined #perl6
19:06 nwc10 Files=973, Tests=38912, 3762 wallclock secs (83.44 usr 13.34 sys + 14199.48 cusr 322.47 csys = 14618.73 CPU)
19:06 psch FROGGS: i'm still wondering.  changing the bool spec mode is what got me the right behavior for jvm in e.g. «if "0" {...}», but moar passed the file that tests for that
19:06 nwc10 Result: FAIL
19:07 ugexe i keep dreaming of MAIN as a trait
19:07 nwc10 t/spec/S02-types/isDEPRECATED.rakudo.moar and t/spec/S04-exceptions/pending.rakudo.moar  seem to have SEGVd
19:07 FROGGS psch: yes, because I accidently made the old boolspec do what the new should
19:07 nwc10 FROGGS++ perl6-valgrind-m
19:08 FROGGS :o)
19:08 nwc10 valgrind+- # disInstr(arm): unhandled instruction: 0xEE073FBA                 cond=14(0xE) 27:20=224(0xE0) 4:4=1 3:0=10(0xA)
19:08 RabidGravy preyalone, "use ScriptedMain;" in the script
19:08 FROGGS nwc10: we are about to push a fix
19:08 FROGGS (after spectest)
19:08 nwc10 FROGGS++ # after spectest
19:08 nwc10 those two are known SEGVs right now?
19:08 psch FROGGS: oh, i see
19:09 FROGGS nwc10: I just knew about the former
19:09 nwc10 the latter was
19:09 psch i didn't investigate pending.t, but saw it fail too
19:09 nwc10 30          return s->body.num_graphs;
19:09 nwc10 (gdb) p s
19:09 nwc10 $1 = (MVMString *) 0x0
19:09 FROGGS but: t/spec/S04-exceptions/pending.rakudo.moar ..................... ok
19:09 nwc10 OK, this is ARM
19:09 FROGGS nwc10: yes, that sounds very much related
19:09 nwc10 so I don't know for sure if it's someting differently funky
19:10 eli-se joined #perl6
19:10 nwc10 aha, same place, same NULL
19:10 nwc10 30          return s->body.num_graphs;
19:10 FROGGS aye
19:10 nwc10 anyway, will take a while to re-run spectest
19:10 nwc10 SpaceX will launch (or scrub) by then
19:11 nwc10 T-3600s
19:11 Vlavv_ joined #perl6
19:11 preyalone RabidGravy: When I code "use ScriptedMain;", Perl 6 can't find the pm sitting in the same directory as test.pl. https://gist.github.com/mcandre/05d70f5871247078cb9b
19:11 moritz preyalone: you need a  use lib '.';  for that to work
19:11 DrForr Because you haven't added '.' to your path. -I. or -Ilib depending upon where the module is.
19:12 RabidGravy which was there before :-\
19:12 preyalone Do I type use lib '.'; before use ScriptedMain;, or do I pass that to the perl6 shebang?
19:12 DrForr Or the 'use lib...' method, I guess :) I prefer the latter as it's less fuss.
19:13 dalek perl6-roast-data: 625b657 | coke++ | / (9 files):
19:13 dalek perl6-roast-data: today (automated commit)
19:13 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/625b65708a
19:13 * DrForr gets ready to file YA grammar bug...
19:13 preyalone Thanks all! Works! https://github.com/mcandre/scriptedmain/tree/master/perl6
19:15 adu joined #perl6
19:15 FROGGS k, spectest passes
19:18 DrForr How am I failing in
19:18 DrForr Guh, one sec.
19:19 DrForr https://gist.github.com/drforr/65c0664143cfccbb7a79 # The 'ok' tests are failing.
19:19 dalek nqp: 5a13871 | FROGGS++ | / (12 files):
19:19 dalek nqp: bump moar and stage0 for boolspec fixes
19:19 dalek nqp: review: https://github.com/perl6/nqp/commit/5a13871a67
19:20 dalek rakudo/nom: c2c8dcb | FROGGS++ | tools/build/NQP_REVISION:
19:20 dalek rakudo/nom: bump nqp/moar for boolspec fixes
19:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c2c8dcb6b2
19:23 raiph joined #perl6
19:24 preyalone rakudo-star doesn't seem to offer a cpan6. How do I install something like LectroTest for testing Perl 6 code?
19:25 DrForr panda.
19:25 preyalone Oh, neat. panda!
19:25 preyalone So no quickcheck-like unit test library on panda yet?
19:27 ugexe what exactly is 'quickcheck-like unit test library'
19:27 DrForr 'use Test;' doesn't do what you want?
19:28 DrForr Can't get much quicker in my book than 'use Test; ok $g.parse("fo");'
19:28 preyalone QuickCheck is a unit test library that can generate random test cases, and check properties (lambdas) against them.
19:29 hoelzro preyalone: I was thinking about writing a generative testing library for Perl 6, but ENOTIME/ETAKINGONTOOMUCHALREADY
19:29 preyalone lol
19:30 vendethiel hoelzro: that's actually a very interesting idea
19:30 preyalone I've written basic ports of QuickCheck to a few languages, maybe Perl 6 would be an easy new port. http://www.yellosoft.us/quickcheck
19:30 psch osfameron++ was pondering porting hypothesis as hypothe6
19:30 vendethiel would be much more amazing with ADT though
19:30 DrForr Any comments on my gist, or should I just file another bug?
19:30 hoelzro psch: hehe, I like that name
19:30 masak preyalone: there was talk the other day about porting Python's new library, *mumble mumble*
19:31 hoelzro my thoughts on it were inferring generators to used based on the signature, and automatically generating properties based on PRE/POST and friends
19:31 RabidGravy use Test;   for MyClass.^methods -> $meth { ok(MyClass.can($meth), "can $meth"); }
19:31 RabidGravy ;-)
19:31 masak Hypothesis, it's called.
19:32 vendethiel RabidGravy: that seems totally useless :P
19:32 vendethiel "the things you told me you have... do you have them?"
19:32 RabidGravy er, of course
19:33 RabidGravy it's called "a joke"
19:33 vendethiel hence the ":P"!
19:34 vendethiel hoelzro: that's interesting, but you need to build the instance as well
19:34 psch DrForr: sigspace is messing with you somehow
19:34 hoelzro vendethiel: yeah, I just have some vague ideas at this point
19:34 vendethiel so, you need to introspect the class's members' types, then check the .^methods, check the signature for that, and generate arguments for those?
19:34 vendethiel do we have *any way* to access PRE/POST? (that doesn't rely on nqp)
19:34 hoelzro vendethiel: I believe they're in the MOP
19:35 psch DrForr: changing 'rule' to 'token' in your gist passes
19:35 vendethiel hoelzro: alright
19:35 psch (i don't remember if rule is ratchet, if it is that could be it as well i suppose)
19:35 psch *isn't
19:35 DrForr psch: Nod, I'll look. Incidentally this is a fragment of https://github.com/drforr/perl6-ecmascript
19:36 hoelzro vendethiel: I think it's in &code.phasers?
19:36 psch DrForr: mind, that's not saying it's not a bug, just that one thing i could think of helps :)
19:36 DrForr Right, backtrack on HexDigit.
19:36 vendethiel m: sub f{PRE{$_ > 5;}; say 1}; f(5); say &f.^phasers; # maybe .^?
19:36 camelia rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lWiyxkWU1K␤Whitespace required after keyword 'PRE'␤at /tmp/lWiyxkWU1K:1␤------> 3sub f{PRE7⏏5{$_ > 5;}; say 1}; f(5); say &f.^phasers␤»
19:37 preyalone Yuck, I have to explicitly {2..2} in Perl 6 regexes.
19:37 vendethiel m: sub f($a){PRE {$_ > 5;}; say 1}; f(5); say &f.^phasers; # ouch; that segfaults
19:37 camelia rakudo-moar 2d379e: OUTPUT«(signal SEGV)use of uninitialized value of type Nil in numeric context»
19:37 psch m: say "aa" ~~ / a ** 2 /
19:37 camelia rakudo-moar 2d379e: OUTPUT«「aa」␤»
19:37 vendethiel segfaults are bad :[
19:37 masak ...mmkay?
19:38 psch preyalone: you don't, the ** quantifier takes integer constants as well
19:38 TimToady and bare ranges without braces
19:38 vendethiel m: sub f{PRE{$_ > 5;}; say 1}; f(5); say &f.phasers; # sig?
19:38 camelia rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xygvxyf8vd␤Whitespace required after keyword 'PRE'␤at /tmp/xygvxyf8vd:1␤------> 3sub f{PRE7⏏5{$_ > 5;}; say 1}; f(5); say &f.phasers;␤»
19:38 tinyblak joined #perl6
19:38 vendethiel m: sub f{PRE {$_ > 5;}; say 1}; f(5); say &f.phasers; # sig?
19:38 camelia rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/N3cH1irBW0␤Calling f(int) will never work with declared signature ()␤at /tmp/N3cH1irBW0:1␤------> 3sub f{PRE {$_ > 5;}; say 1}; 7⏏5f(5); say &f.phasers; # sig?␤»
19:38 DrForr psch: Yeah, confirmed here. I do want this to handle whitespace on its own globally though, I'll look into the :sigspace adverb.
19:40 FROGGS joined #perl6
19:41 psch DrForr: fwiw, the rakudo grammar only defines those regexen that need to handle whitespace implicitly as rules
19:41 psch DrForr: and i don't imagine you want "0  x f \n A" parsed as one hex int literal
19:41 psch (unless ECMAscript is *that* crazy..?)
19:42 moritz .oO( perl 5 )
19:43 DrForr Quite correct. I guess the name 'token' in this case is apt.
19:43 vendethiel .u ⋄
19:43 yoleaux U+22C4 DIAMOND OPERATOR [Sm] (⋄)
19:43 [particle] joined #perl6
19:46 vendethiel how would you register "Arbitrary" instances for quick6check?
19:47 nwc10_ joined #perl6
19:48 kbenson m: sub pmap(Code $func, @items) { await @items.map: { start { $func($_) } } }; pmap { .say }, (1,2,3,4);
19:48 adu joined #perl6
19:49 camelia rakudo-moar c2c8dc: OUTPUT«2␤4␤3␤Unhandled exception: Cannot invoke this object (REPR: Null)␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:23653  (/home/camelia/rakudo-inst-1/share/per…»
19:50 kbenson That a known error?
19:52 lizmat jnthn psch: the commit that made $_ default to Nil is b6e89999 from 13 Aug 2013
19:53 rurban_ joined #perl6
19:54 psch lizmat: RT #123175 is newer
19:54 synbot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=123175
19:54 * psch is trying to bring his tr/// PR back to mergeable
19:55 psch kbenson: i'm also building perl6-j on the side to see what it says to your code.  our evalbot doesn't run it at the moment
19:55 preyalone Do I have to do anything special in order to send custom -e, -d, -q -w -r -t -y flags to my Perl 6 scripts?
19:55 skids kbenson: that actually works for me locally.
19:55 kbenson psch: FYI it doesn't cause an error every run, and sometimes the error is different (for MVM)
19:56 psch preyalone: you can put named parameters onto MAIN, if you type them as Bool they don't accept values either
19:56 cognominal joined #perl6
19:56 masak http://www.spacex.com/webcast/
19:56 yqt joined #perl6
19:57 kbenson I've also gotten: Cannot call say(Int); none of these signatures match:
19:57 kbenson ()
19:57 kbenson (Obsolete:D \o)
19:57 kbenson (Str:D \x)
19:57 kbenson (Any \x)
19:57 kbenson (Any |)
19:57 kbenson at <unknown>:1
19:57 colomon masak++
19:57 skids kbenson: Ah  yes about half the time on my r-m it just hangs.  And once in a while I get the backtrace.
19:58 * psch dimly remembers a recent gist that showed similar behavior
19:58 psch but that one seems much golfederer
19:58 RabidGravy masak++
19:58 kbenson skids: sometimes for me it just works, maybe 20% of the time
19:58 vendethiel if I were to create a quickcheck lib in Perl6 -- should you register how to instantiate types in an object?
19:58 RabidGravy (had forgotten)
19:58 vendethiel "Obsoselete:D \o" amazing sig
19:59 masak it's a person waving to someone grinningly obsolete
20:01 lizmat m: say $*OS  # that's what we need that for
20:01 camelia rakudo-moar c2c8dc: OUTPUT«opensuse␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*OS called at:␤  /tmp/BRr7t6h0gt, line 1␤Deprecated since v2014.9, will be removed with release v2015.9!␤…»
20:01 lizmat *why
20:03 FROGGS m: my \a = any set <1 2 3>; EVAL "say 1 ~~ a"
20:03 camelia rakudo-moar c2c8dc: OUTPUT«===SORRY!===␤Object of type Junction in QAST::WVal, but not in SC␤»
20:03 * lizmat is testing a fix for $_ becoming Any by default
20:04 preyalone How do I test for string non-equivalence?
20:04 lizmat ne
20:04 lizmat m: say "foo" ne "bar"
20:04 camelia rakudo-moar c2c8dc: OUTPUT«True␤»
20:04 lizmat m: say "foo" ne "foo"
20:04 camelia rakudo-moar c2c8dc: OUTPUT«False␤»
20:04 nwc10 T-6 min
20:05 nwc10 (attention space cadets)
20:05 pippo TimToady: thank you very much. Now that I see it I can definitely say that it is what I was looking for. :-))
20:05 nwc10 particualrly as I seem to be lagged
20:06 * lizmat is checking some spectest fallout
20:06 grondilu off topic:  F9 launch in 5 minutes:  https://youtu.be/csVpa25iqH0
20:07 lizmat T-4 mins here
20:07 preyalone How do I format an integer as a lowercase, two-zero minimum width hexadecimal number? Perl 6 doesn't like unpack("H*, 255)
20:08 preyalone sprintf?
20:08 grondilu or fmt
20:08 PerlJam m: say 1234.fmt("%h");
20:08 camelia rakudo-moar c2c8dc: OUTPUT«'h' is not valid in sprintf format sequence '%h'␤␤»
20:08 PerlJam m: say 1234.fmt("%x");
20:08 camelia rakudo-moar c2c8dc: OUTPUT«4d2␤»
20:08 arnsholt r-m: printf "%02x", 1
20:08 camelia rakudo-moar c2c8dc: OUTPUT«01»
20:09 skids kbenson: just 'await (1,2,3,4).map: { { start { .say } } }' also fails for me, just less often.
20:09 arnsholt Or %03x, if you want at least two leading zeroes
20:10 FROGGS m: printf "%#02x", 1
20:10 camelia rakudo-moar c2c8dc: OUTPUT«0x1»
20:10 FROGGS m: printf "%#03x", 1
20:10 camelia rakudo-moar c2c8dc: OUTPUT«0x1»
20:10 arnsholt In general, if you want to print stuff, printf can do it
20:10 FROGGS m: printf "%#04x", 1 # I'm not sure that this is right
20:10 camelia rakudo-moar c2c8dc: OUTPUT«00x1»
20:10 kbenson skids: making w/jvm to test more, so I can't help golf it down lower for a few more minutes
20:10 timotimo launch prep looks very good so far
20:11 masak T-30 seconds
20:11 nwc10 masak: you're lagged
20:11 nwc10 (This time it's you, not me)
20:11 colomon buffering!
20:11 masak oh!
20:11 timotimo GOD DAMN IT
20:11 timotimo "three! too! one! buffering"
20:11 retupmoca up and away
20:11 timotimo no joke
20:11 arnsholt One of the neatest printf formats is %g, for rounding to significant digits
20:11 masak o.O
20:12 * masak cries
20:12 colomon We actually skipped from T-10 to T+24 with buffering.  :(
20:12 masak I may be lagged, but at least I'm not buffering
20:12 TimToady so another few minutes we should know about the landing try?
20:13 nwc10 yes
20:13 retupmoca 7m or so
20:13 nwc10 (or buffering...)
20:13 nwc10 I'm bufferring now
20:13 retupmoca (T+8.5m I think for the landing)
20:13 nwc10 so I guess I miss stage separation :-(
20:13 TimToady hopefully the rocket buffering works :)
20:13 colomon dunno if they tell us what happened right away, though.
20:14 masak why the strange star-like shape of the exhaust fire?
20:14 TimToady probably get a tweet fist
20:14 TimToady *first!!
20:14 nwc10 wow. can see first stage
20:14 TimToady watch out for that tweet fist though
20:14 colomon masak: I presumed that had something to do with having 9 (?) engines?
20:14 kbenson is the first stage what's supposed to land back at the platform?
20:15 nwc10 kbenson: yes
20:15 kbenson or a barge, this time
20:15 masak colomon: that would explain it
20:15 masak the Earth looks so pretty from up here
20:15 colomon stage one boost-back startup, that’s good.
20:16 colomon boost-back shutdown, dunno if that’s bad or not.  :\
20:16 retupmoca normal, I think
20:16 nwc10 IIRC there are 3 burns on stage 1
20:17 nwc10 3rd burn is the actual landing
20:17 colomon hope you guys are right
20:17 retupmoca right, next is the reentry burn
20:17 nwc10 I don't care if *I'm* right. I hope that *they* get it right :-)
20:17 colomon that too.  :)
20:17 colomon yes!
20:17 colomon “stage one entry burn has started"
20:18 nwc10 aha, you're less lagged than I am
20:18 labster go for it, stage one!
20:18 preyalone Does ~= concatenate with self?
20:18 FROGGS preyalone: it appends to the left hand side
20:19 masak m: my $s = "yes"; $s ~= ", it does"; say $s
20:19 camelia rakudo-moar c2c8dc: OUTPUT«yes, it does␤»
20:19 TimToady landing burn started
20:19 colomon fingers-crossed
20:19 colomon errr, s/-/ /
20:21 colomon go newfoundland!  ;)
20:22 masak lag..g...g..
20:23 bobkare yeah, I'm stuck at T+10m
20:23 colomon T+12 here
20:23 TimToady I have to ^R every 10 seconds or so
20:23 * masak moved closer to his wifi router, and that helped
20:24 nwc10 masak: proving that the future is not yet evenly distributed? :-)
20:24 TimToady dragon has wings now
20:24 geekosaur raar
20:24 colomon yeah, that part of the mission is “nomial”
20:24 preyalone What's the correct syntax for matching two decimal numbers followed by hexadecimal digits?
20:24 masak nwc10: proving that these Linux wifi drivers leave a lot to be desired.
20:25 moritz preyalone: \d\d <xdigit>*
20:25 preyalone moritz: Thank you! How could I do this using quantifiers?
20:26 kbenson yoda-speak - remember us to follow online
20:27 preyalone And if I wanted to capture these as groups? /^(\d**2)(<xdigit>+)/)
20:27 * psch was buffering every 10-30 seconds on a wired connection to the router
20:28 kbenson psch: Somebody needs to teach those people at Google how to scale their services. ;)
20:28 brrt joined #perl6
20:28 psch kbenson: livestream.com is google?  i didn't know that
20:28 geekosaur oddly, once I got it to load at all it was pretty stable --- and my local network is being more of a notwork today
20:29 bobkare mine was fairly stable until about T+10m. And now I guess we just have to wait and see where they announce what happened with the landing
20:29 kbenson psch: Oh, was it?  It looked just like a youtube embed for me at the space x site.  It said livestream, but I tbhrough that was a youtube branding thing
20:30 kbenson s/tbhrough/thought/
20:30 psch kbenson: i think it was embedded from livestream.com/spacex
20:30 bobkare @elonmusk on twitter: Rocket landed on droneship, but too hard for survival.
20:31 kbenson webcas
20:32 masak aww
20:32 kbenson psch: I don't doubt it, but I followed masak's link to http://www.spacex.com/webcast/
20:32 RabidGravy bobkare, yeah saw that :(
20:33 masak keep trying, SpaceX. you're heroes.
20:34 preyalone How do I parse hexadecimal strings into numbers? No such method 'hex' for invocant of type 'Str' :/
20:34 masak m: my $s = "DEADBEEF"; say :16($s)
20:34 camelia rakudo-moar c2c8dc: OUTPUT«3735928559␤»
20:34 masak preyalone: ^^
20:36 psch kbenson: yeah, that's where i watched too
20:36 * psch also just remembered why he put his tr/// PR aside again
20:36 psch there's something wrong with getlexcaller and proto methods
20:36 psch https://gist.github.com/peschwa/4fe16e5c5aa2e5b8370c
20:36 masak 'night, #perl6
20:36 psch m: https://gist.github.com/peschwa/4fe16e5c5aa2e5b8370c
20:36 camelia rakudo-moar c2c8dc: OUTPUT«Nil␤==========␤「b」␤»
20:37 psch that Nil should also be 「b」
20:37 psch g'night masak \o
20:37 kbenson psch: Looking at the highlights reel there now, it doesn't remind me too much of youtube, so if it looked like that, I guess I just assumed and let my mind fill in the details I wasn't paying attention to.
20:37 pippo o/ #perl6!
20:37 pippo left #perl6
20:38 colomon :(
20:38 dalek rakudo/nom: 9862a14 | lizmat++ | src/Perl6/ (2 files):
20:38 dalek rakudo/nom: Make $_ default to Any (fixes #123175)
20:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9862a14abf
20:38 synbot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=123175
20:39 bobkare Is there an easy way to see what multi dispatch candidates are considered for an operator?
20:39 psch m: class A { proto method f { callframe.say; {*} }; multi method f { callframe.say } }; A.f
20:39 camelia rakudo-moar c2c8dc: OUTPUT«CallFrame.new(level => 2, annotations => {:file("/tmp/QGPBVra9JQ"), :line("1")}<>, my => EnumMap.new(:RETURN(Mu), "\$!" => Mu, "\&*CURRENT_DISPATCHER" => Mu, :CURRENT_DISPATCH_CAPTURE(Mu), "\&?ROUTINE" => Mu, "\$_" => Mu, "\%_" => Mu, :self(Mu), "\$*DISPAT…»
20:40 psch ehh...
20:40 psch m: class A { proto method f { callframe.level.say; {*} }; multi method f { callframe.level.say } }; A.f
20:40 camelia rakudo-moar c2c8dc: OUTPUT«2␤2␤»
20:40 kbenson skids: interestingly, wrapping the await in a "for 1..1 {}" seems to prevent the problem
20:40 dalek roast: 4499063 | lizmat++ | S (2 files):
20:40 dalek roast: Fix faulty tests now $_ default to Any
20:40 dalek roast: review: https://github.com/perl6/roast/commit/449906317d
20:40 dalek roast: 6afe651 | lizmat++ | S0 (3 files):
20:40 dalek roast: Skip tests that fail now $_ defaults to Any
20:40 dalek roast:
20:40 dalek roast: These were previously either todo or working for the wrong reason, I think,
20:40 dalek roast: since calling *any* (even non-existing methods) on Nil, will give you Nil and
20:40 dalek roast: not blow up.
20:40 dalek roast: review: https://github.com/perl6/roast/commit/6afe6512ab
20:41 lizmat $ 6 '.say'
20:41 lizmat (Any)
20:41 psch lizmat++
20:42 preyalone Yay! Here's a Cisco password encrypter/decrypter in Perl 6: https://github.com/mcandre/ios7crypt/blob/master/perl6/IOS7Crypt.pm
20:43 skids kbenson: Got just 'await (1,2,3,4).map: {start { 1; }}' to fail.  So it isn't IO.
20:46 FROGGS preyalone: nice collection of languages :o)
20:47 lizmat m: .WHAT .say  # I wonder how hard it would be to *not* make this a TTIAR but instead just say (Any)
20:47 camelia rakudo-moar c2c8dc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/glSas6RhKI␤Two terms in a row␤at /tmp/glSas6RhKI:1␤------> 3.WHAT7⏏5 .say  # I wonder how hard it would be t␤    expecting any of:␤        infix␤        infix stopper␤        statement end…»
20:48 FROGGS though I probably would: my $encrypted = $password.chars.map: (*.ord +^ @xlat[($seed++) % $xlat_len]).fmt("%02x");
20:48 FROGGS lizmat: implicit unspace?
20:48 lizmat yes
20:49 FROGGS you'd probably pleas [Tux] but perhaps not many others :o)
20:49 lizmat I mean, that's the only real big thing, grammar wise, I don't like about Perl 6
20:49 lizmat m: .WHAT . say  # we handle this already differently
20:49 camelia rakudo-moar c2c8dc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ImRkTdX7Nz␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/ImRkTdX7Nz:1␤------> 3.WHAT . 7⏏5say  # we handle this already differentl␤»
20:50 psch that's the same bump as «$foo\n  .bar\n  .baz» isn't it?
20:50 lizmat yup, it would be
20:50 lizmat std: .WHAT .say
20:50 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Method call found where infix expected (change whitespace?) at /tmp/KD8Qmrr28I line 1:␤------> 3.WHAT7⏏5 .say␤    expecting any of:␤ infix or meta-infix␤    infixed function␤Parse failed␤FAILED 00:00 136m␤»
20:51 FROGGS I can see that breaking up method call chains might make the code look nicer, though I dunno about the consequences
20:52 lizmat std: .WHAT . say
20:52 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/3hm5exE4Eb line 1:␤------> 3.WHAT . 7⏏5say␤Parse failed␤FAILED 00:00 135m␤»
20:52 lizmat the former is not up to std, in any case  :-)
20:53 psch i suspect it'd be in EXPR, which is scary :P
20:54 kbenson skids: same here, and on the very latest version, rebuilt after lizmat's commit
20:55 japhb Greetings, gentlebeings ...
20:55 psch o/ japhb
20:55 * japhb returns from nice (but short) vacation
20:56 * vendethiel will try to write some kind of quickcheck lib in perl6 tomorrow, given enough time between classes
20:56 kbenson O/
20:56 japhb o/
20:56 japhb So what have you broken this time, kbenson?  :-)
20:56 vendethiel \o japhb
20:56 kbenson japhb: oh, just await...
20:56 japhb Nothing important then ...  ;-)
20:57 kbenson hehe
20:57 japhb In all seriousness, what's the break?  Link?
20:59 kbenson m: await (1,2,3,4).map: { start { .say } }
20:59 camelia rakudo-moar c2c8dc: OUTPUT«1␤3␤2␤4␤Unhandled exception: Cannot invoke this object (REPR: Null)␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:23653  (/home/camelia/rakudo-inst-2/share…»
20:59 japhb Ewww.  Yeah, I've seen that.
21:00 japhb Sadly, that particular snippet is rather behavior-dense (meaning, there's actually quite a bit of code that gets executed to run it), making it easy to show and hard to debug.  :-(
21:00 kbenson but it's not consistent, so it's some race condition
21:01 japhb Yeah.
21:01 japhb I started work a while ago to add tests in nqp for the concurrency primitives, but I did not complete the task.  Worth continuing with that, methinks.
21:01 japhb Also perl6-bench needs more concurrency stress tests.
21:02 lizmat_ joined #perl6
21:02 lizmat_ removing the .say seems to not break stuff anymore
21:02 lizmat_ hmmm.... break it less often
21:03 cognominal joined #perl6
21:03 kbenson lizmat_: It does, just much less often
21:03 lizmat_ indeed  :-(
21:04 [Coke] m: 42\     .say
21:04 camelia rakudo-moar c2c8dc: OUTPUT«42␤»
21:05 kbenson skids++ btw for the golfed version that causes the error
21:06 japhb skids++ # Bug repro golf is best golf
21:06 kbenson japhb: yes on tests :)
21:06 brrt i'm positively surprised by the quality of doc.perl6.org
21:08 lizmat seems to happen inside reification
21:10 [ptc] brrt: you should mention that to moritz++, he's the driving force behind doc.perl6.org
21:10 lizmat m: await (1,2,3,4).map: { start { sleep .05; .say } }
21:10 camelia rakudo-moar c2c8dc: OUTPUT«(signal SEGV)34␤␤»
21:10 brrt .tell moritz that doc.perl6.org is awesome. moritz++
21:10 yoleaux brrt: I'll pass your message to moritz.
21:11 lizmat this golf seems to consistently segfault
21:11 lizmat m: await (1,2,3,4).map: { start { sleep .05; .say } }   # segv?
21:11 camelia rakudo-moar c2c8dc: OUTPUT«1␤3␤2␤4␤»
21:11 lizmat m: await (1,2,3,4).map: { start { sleep .05; .say } }   # segv?
21:11 camelia rakudo-moar c2c8dc: OUTPUT«(signal SEGV)»
21:11 grondilu m: say (my @ = []).perl; # what
21:11 camelia rakudo-moar c2c8dc: OUTPUT«[[]]<>␤»
21:11 lizmat m: await (1,2,3,4).map: { start { sleep .05; .say } }   # segv?
21:11 camelia rakudo-moar c2c8dc: OUTPUT«(signal SEGV)»
21:11 lizmat m: await (1,2,3,4).map: { start { sleep .05; .say } }   # segv?
21:11 camelia rakudo-moar c2c8dc: OUTPUT«13␤␤4␤2␤»
21:11 lizmat m: await (1,2,3,4).map: { start { sleep .05; .say } }   # segv?
21:11 camelia rakudo-moar c2c8dc: OUTPUT«42␤␤3␤1␤Unhandled exception: Cannot invoke this object (REPR: Null)␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:23653  (/home/camelia/rakudo-inst-2/share…»
21:11 grondilu m: say (my @ = []).perl; # what's with the <> ??
21:11 camelia rakudo-moar c2c8dc: OUTPUT«[[]]<>␤»
21:11 lizmat m: await (1,2,3,4).map: { start { sleep .05; .say } }   # segv?
21:11 camelia rakudo-moar c2c8dc: OUTPUT«3␤4␤2␤1␤Unhandled exception: Cannot invoke this object (REPR: Null)␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:23653  (/home/camelia/rakudo-inst-2/share…»
21:11 lizmat ah well...  :-(
21:12 psch grondilu: it's the generic zen-slice/decont
21:12 psch m: say (my $ = []).perl
21:12 camelia rakudo-moar c2c8dc: OUTPUT«[]␤»
21:12 psch grondilu: there's some controversity about using <> for that
21:13 PerlJam psch: nah, I think TimToady invoked rule #1 on it. :)
21:13 psch PerlJam: oh.  it seemed to me that he went with it because it already worked
21:13 psch PerlJam: i don't mind it though
21:14 lizmat m: await (1,2,3,4,5).map: { start { sleep .05; .say } }   # segv?
21:14 camelia rakudo-moar c2c8dc: OUTPUT«3␤4␤2␤5␤1␤»
21:14 PerlJam it already worked and no one came up with a better idea that TimToady liked.
21:14 lizmat grrr, that consistently segfaults for me
21:14 psch PerlJam: fair 'nuff :)
21:15 grondilu m: say [1, 2] Z* [3, 4]
21:15 camelia rakudo-moar c2c8dc: OUTPUT«4␤»
21:15 grondilu ^is that ok?
21:16 * lizmat has done enough damage today and tries to sleep more than .05 before driving to Berlin tomorrow
21:17 PerlJam lizmat: locally I get one of four outcomes so far 1) it works 2) SEGV 3) "Unhandled exception: Cannot call say(Int); none of these signatures match" and 4) "Unhandled exception: Cannot invoke this object (REPR: Null)"
21:17 [Coke] sleep good.
21:17 * psch doesn't think lizmat++ did damage
21:17 psch also, good night lizmat \o
21:18 vytas joined #perl6
21:19 RabidGravy is this related to the
21:20 RabidGravy m: (1,2,3,4,5).map: { return }
21:20 camelia rakudo-moar 9862a1: OUTPUT«Unhandled exception: Cannot look up attributes in a type object␤   at src/gen/m-CORE.setting:9642  (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm::116)␤ from src/gen/m-CORE.setting:9632  (/home/camelia/rakudo-inst-1/share/perl6/ru…»
21:20 RabidGravy that someone pointed out last night?
21:21 PerlJam dunno, but I'd guess not.
21:21 psch m: { return }()
21:21 camelia rakudo-moar 9862a1: ( no output )
21:21 TimToady m: say [1, 2]<> Z* [3, 4]<>
21:21 camelia rakudo-moar 9862a1: OUTPUT«3 8␤»
21:21 PerlJam (no rationale, just my gut)
21:22 TimToady grondilu: your Z* is just adding the .elems of the two arrays
21:22 grondilu indeed, but I was not sure that was ok with spec
21:22 grondilu it does make sense though
21:22 TimToady yes, they are list infixes, which pay attention to containerization
21:23 TimToady unlike hypers, which are on objects rather than lists
21:23 grondilu it was not used in http://rosettacode.org/wiki/Cholesky_decomposition#Perl_6,  I fixed it.
21:24 cognominal m: my $rx-a = rx/a/; say 'a' ~~ m/$a/  # how to use a regex as part of another one? I expected this to match
21:24 camelia rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ns8vxnzxoB␤Variable '$a' is not declared␤at /tmp/Ns8vxnzxoB:1␤------> 3my $rx-a = rx/a/; say 'a' ~~ m/$a7⏏5/  # how to use a regex as part of anoth␤»
21:24 cognominal oops
21:24 grondilu TimToady: don't you think there should be a basic support for linear algebra in the core, eventually?
21:24 grondilu at least matrix algebra and inversion that is.
21:24 cognominal it does, tripped by the non strict :(
21:25 TimToady m: my @a = 1,2; my @b = 3,4; say @a[0,1] Z* @b[0,1]
21:25 camelia rakudo-moar 9862a1: OUTPUT«3 8␤»
21:25 TimToady I don't think you need the [] in that RC entry
21:25 grondilu I tried without and got wrong numerical results.
21:25 TimToady slices are already deconted, as far as Z* is concerned
21:26 TimToady well, see ^^, which shows slices are not conted
21:26 grondilu but in the RC the arrays are itemized.
21:26 grondilu it's more like my @a = [ 1, 2] ; ...
21:26 TimToady oh, wait, that's AofA there
21:27 TimToady so yeah, you need the extra [], nevermind
21:32 TimToady grondilu: it can perhaps be more clearly written as (@L[$i;*] Z* @L[$j;*])
21:33 * grondilu is not used to the semicolons there yet.
21:33 espadrine joined #perl6
21:33 grondilu it looks better indeed
21:35 TimToady unfortunately that notation doesn't work on all the other [][], just the first @L lvalue
21:36 TimToady dunno whether that's a bug or not, but seems likely
21:36 TimToady I could understand it not autovivifying right, but why the @L[$j][$j] can't turn into @L[$j;$j] is a puzzler
21:46 cognominal m: my $rx = rx/(a)/; say 'a' ~~ $rx; say '--'; say 'a' ~~ m/$rx/;
21:46 camelia rakudo-moar 9862a1: OUTPUT«「a」␤ 0 => 「a」␤--␤「a」␤»
21:47 TimToady grondilu: @L[$i;0..$j] Z* @L[$j;0..$j] or so, and then you can lose the subscript slice
21:47 rmgk joined #perl6
21:47 cognominal I nailed my problem. The captures from the included regex is not carried over into the composed regex. I don't know what the specs say.
21:47 psch m: my $rx = rx/(a)/; say 'a' ~~ $rx; say '--'; say 'a' ~~ m/<$rx>/;
21:47 camelia rakudo-moar 9862a1: OUTPUT«「a」␤ 0 => 「a」␤--␤「a」␤»
21:48 psch hm, that's not it
21:49 TimToady m: my $rx = rx/(a)/; say 'a' ~~ $rx; say '--'; say 'a' ~~ m/<inner=$rx>/;
21:49 camelia rakudo-moar 9862a1: OUTPUT«「a」␤ 0 => 「a」␤--␤「a」␤ inner => 「a」␤  0 => 「a」␤»
21:49 cognominal yea
21:49 grondilu TimToady: I wrote that first, but not factoring the 0..$j seemed very inelegant.
21:50 psch related to #111518?
21:50 synbot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=111518
21:50 TimToady well, either size can take the 0..$j, and the other side *
21:50 TimToady *side
21:50 grondilu oh yeah
21:50 TimToady but I don't think it's inelegant to repeat that
21:50 TimToady DRY is just a rule of thumb
21:51 TimToady sometimes it's better to show the parallisms
21:51 TimToady and I think that overrules DRY here
21:51 cognominal TimToady++
21:51 grondilu DRY?
21:51 TimToady or say my \range = 0..$j;
21:51 PerlJam S99:DRY
21:51 synbot6 Link: http://design.perl6.org/S99.html#DRY
21:51 TimToady Don't Repeat Yourself
21:51 grondilu ok
21:52 PerlJam huh ... S99 doesn't mention DRY'
21:52 TimToady well, not our concept originally
21:53 cognominal The necessity of <inner=$rx> makes composition quite complex though.
21:53 PerlJam still, S99 mentions lots of thigns we didn't come up with, but use all the time.
21:53 grondilu well, that' LTA
21:53 grondilu :)
21:53 TimToady it's TLA at any rate...
21:54 TimToady cognominal: most of our composition is not run-time composition
21:54 TimToady in which case it just looks like <inner>
21:55 TimToady so don't use <$rx> unless you're forced to; inheritance and mixins work much better
21:55 dalek specs: 5b1cef7 | PerlJam++ | S99-glossary.pod:
21:55 dalek specs: Add DRY
21:55 dalek specs: review: https://github.com/perl6/specs/commit/5b1cef7322
21:56 Akagi201_ joined #perl6
21:56 cognominal ok. still slightly disappointed. probably don't get the big picture.
21:56 TimToady m: my regex inner { (a) }; say 'a' ~~ m/<inner>/;
21:56 camelia rakudo-moar 9862a1: OUTPUT«「a」␤ inner => 「a」␤  0 => 「a」␤»
21:57 cognominal probably a case where the implementor did not want to suffer in place of the user :)
21:57 TimToady or you don't have to use grammars, with a lexically scoped regex method
21:58 TimToady we tend to optimize for declarations over operations, but the declarations are really just operations underneath that usually happen at compile time, but don't have to
21:59 cognominal I agree on that.
21:59 TimToady m: my $f = 3 % 0; say $f.exception.backtrace
21:59 camelia rakudo-moar 9862a1: OUTPUT«Earlier error:␤  Divide by zero using infix:<%>␤    in file Who Knows? at line Beats Me!␤␤Type check failed for return value; expected 'Int' but got 'Failure'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:639␤  in sub infix:<%> at src/gen/…»
21:59 atweiden i have a main Nightscape class that stores an instance of Nightscape::Config in the variable $conf: https://github.com/atweiden/nightscape/blob/develop/lib/Nightscape.pm#L9
22:00 atweiden during parsing, I want to access $Nightscape::conf
22:00 atweiden i am able to run an unqualifed Nightscape.perl from within my parser's Action.pm class, which i take to mean the Nightscape class has been imported successfully
22:00 atweiden however, i am unable to access the value of $conf from Actions.pm (here): https://github.com/atweiden/nightscape/blob/develop/lib/Nightscape/Parser/Actions.pm#L67
22:00 TimToady er, I wanted to call .exception on the failure
22:00 cognominal But is there a rational for my initial expression not to work as expected (by me)?
22:00 atweiden $conf is being set, because I print its contents to console before parsing
22:01 TimToady cognominal: we never capture a subrule unless it begins with alphanumeric
22:02 cognominal anyway, TimToady solved my particular problem. But I always tend it to think as a particular instance of a more general one.
22:02 TimToady so <$rx> will never capture
22:02 TimToady it's a simple rule that prevents you from having to memorize a list of which assertions will capture
22:03 cognominal ok, so, at least, that's a deliberate thing.
22:03 psch atweiden: Nightscape might be imported, but $conf isn't exported by it
22:04 cognominal TimToady, thx
22:04 TimToady m: my \inner = rx/(a)/; say 'a' ~~ inner; say '--'; say 'a' ~~ m/<inner>/;
22:04 camelia rakudo-moar 9862a1: OUTPUT«「a」␤ 0 => 「a」␤--␤No such method 'inner' for invocant of type 'Cursor'␤  in method match at src/gen/m-CORE.setting:7665␤  in block <unit> at /tmp/gAmBvDrOnb:1␤␤»
22:04 psch m: module A { our $foo = "bar" }; class A::B { method quux { say $A::foo } }; A::B.quux # as here
22:04 camelia rakudo-moar 9862a1: OUTPUT«bar␤»
22:04 psch atweiden: note that $foo is qualified there
22:05 TimToady m: module A { our $foo = "bar" }; class A::B { method quux { package A { say $foo } } }; A::B.quux
22:05 camelia rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u2dVnAeBWj␤Variable '$foo' is not declared␤at /tmp/u2dVnAeBWj:1␤------> 3::B { method quux { package A { say $foo7⏏5 } } }; A::B.quux␤    expecting any of:␤        postfix␤»
22:05 atweiden psch: it isn't? how can i access its value here https://github.com/atweiden/nightscape/blob/develop/bin/nightscape.pl#L31
22:06 atweiden but not in Actions.pm
22:06 cognominal whoa, TimToay provides the rule and the way to defeat it even if that eventually defeats the compiler
22:06 TimToady m: module A { our $foo = "bar" }; class A::B { method quux { package GLOBAL::A { say $foo } } }; A::B.quux
22:06 camelia rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MzX0xAMyOY␤Redeclaration of symbol A␤at /tmp/MzX0xAMyOY:1␤------> 3s A::B { method quux { package GLOBAL::A7⏏5 { say $foo } } }; A::B.quux␤    expecting any of:␤        generic role␤»
22:06 psch atweiden: you're qualifying it there
22:06 psch m: module A { our $foo is export = "bar" }; class A::B { import A; method quux { say $foo } }; A::B.quux # an alternative
22:06 camelia rakudo-moar 9862a1: OUTPUT«bar␤»
22:06 TimToady m: module A { our $foo = "bar" }; class A::B { method quux { package A { our $foo; say $foo } } }; A::B.quux
22:06 camelia rakudo-moar 9862a1: OUTPUT«(Any)␤»
22:06 psch atweiden: note there it «is export»
22:06 TimToady m: module A { our $foo = "bar" }; class A::B { method quux { package GLOBAL::A { our $foo; say $foo } } }; A::B.quux
22:06 camelia rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7trUaadlTF␤Redeclaration of symbol A␤at /tmp/7trUaadlTF:1␤------> 3s A::B { method quux { package GLOBAL::A7⏏5 { our $foo; say $foo } } }; A::B.quux␤    expecting any of:␤        generic role␤»
22:07 psch atweiden: and it's imported explicitly as well, in my last example
22:07 atweiden psch: i see
22:07 atweiden is it because Actions.pm doesn't directly `use Nightscape`?
22:07 TimToady m: module A { our $foo = "bar" }; class A::B { method quux { module GLOBAL::A { our $foo; say $foo } } }; A::B.quux
22:07 camelia rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E_A2aqqQqz␤Redeclaration of symbol A␤at /tmp/E_A2aqqQqz:1␤------> 3ss A::B { method quux { module GLOBAL::A7⏏5 { our $foo; say $foo } } }; A::B.quux␤    expecting any of:␤        generic role␤»
22:07 TimToady modules shouldn't care if they're re-opened, I don't think
22:08 psch atweiden: that's my understanding, yes
22:08 TimToady std: module A { our $foo = "bar" }; class A::B { method quux { module GLOBAL::A { our $foo; say $foo } } }; A::B.quux
22:08 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Illegal redeclaration of symbol 'GLOBAL::<A>' (from line 1) at /tmp/rt18pNMeWC line 1:␤------> 3s A::B { method quux { module GLOBAL::A 7⏏5{ our $foo; say $foo } } }; A::B.quux␤Check failed␤FAILED 00:00 139m␤»
22:08 TimToady hmm
22:08 cognominal I probably need to write a code fuzzer that feed camelia as a way to probe TimToady process of thinking. :)
22:09 timotimo http://t.h8.lv/p6bench/2015-04-15-virtual_devirtual_reprops.html - i wonder if i did anything wrong to get such a terrible result :\
22:10 * TimToady fuzzes into a nap &
22:11 atweiden psch: adding `is export` to $conf in Nightscape.pm didn't make a difference
22:12 psch atweiden: you'd still have to «use Nightscape»
22:12 cognominal In fact the rule makes sometimes a lot of sense, I do a grep then a map using the same $rx. I need the capture(s) in the second but not in the first
22:12 psch atweiden: although i think qualifying your access might look neater, e.g. «Nightscape::<$conf>» or somesuch
22:13 atweiden if i `use Nightscape` from Actions.pm, i get "Circular module loading detected involving module 'Nightscape'"
22:13 atweiden i believe Nightscape is already imported, because i can do say Nightscape.perl
22:13 psch oh, right.  so it's not only neater but also workier to qualify there
22:13 psch m: module A::B { sub f { say A.perl } }; A::B::f()
22:13 camelia rakudo-moar 9862a1: OUTPUT«Could not find symbol '&f'␤  in method <anon> at src/gen/m-CORE.setting:16122␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2908␤  in any find_method at src/gen/m-Metamodel.nqp:1052␤  in block <unit> at /tmp/qDVkYnASp1:1␤␤»
22:13 psch hrmpf
22:14 psch m: module A::B { sub f { say A.perl } }; A::B.f
22:14 camelia rakudo-moar 9862a1: OUTPUT«No such method 'f' for invocant of type 'A::B'␤  in block <unit> at /tmp/FoOasDeXw9:1␤␤»
22:14 psch m: class A::B { sub f { say A.perl } }; A::B.f
22:14 camelia rakudo-moar 9862a1: OUTPUT«No such method 'f' for invocant of type 'A::B'␤  in block <unit> at /tmp/quF6rRoBWO:1␤␤»
22:14 psch arg
22:14 psch m: class A::B { method f { say A.perl } }; A::B.f
22:14 camelia rakudo-moar 9862a1: OUTPUT«A␤»
22:14 psch atweiden: B knows A, but B doesn't know what's in A
22:15 psch atweiden: except if it's our and you qualify with the package name
22:15 psch m: module A { our $foo = "bar" }; class A::B { method f { say A.perl; say A::<$foo> } }; A::B.f;
22:15 camelia rakudo-moar 9862a1: OUTPUT«A␤bar␤»
22:15 psch (OUTER shenannigans not withstanding)
22:17 psch m: module A { our $foo = "bar" }; class A::B { method f { say A.perl; say $foo } }; A::B.f; # this dies
22:17 camelia rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u9Cq2s7P2y␤Variable '$foo' is not declared␤at /tmp/u9Cq2s7P2y:1␤------> 3s A::B { method f { say A.perl; say $foo7⏏5 } }; A::B.f; # this dies␤    expecting any of:␤        postfix␤»
22:17 psch atweiden: i hope i'm being helpful.  i'm trying to track down a bug on the side :)
22:19 BenGoldberg joined #perl6
22:32 atweiden i'm still a bit confused. would Actions.pm get its own instance of Nightscape?
22:32 atweiden i can set $Nightscape::conf from Actions.pm
22:32 atweiden it's empty if i don't do that, even though i set its value and printed its value to console before parsing with Actions.pm
22:34 psch m: class A { our $f; method set-f { $f = "foo" } }; class A::B { method say-f { say A::<$f> } }; A.set-f; A::B.say-f
22:34 camelia rakudo-moar 9862a1: OUTPUT«foo␤»
22:35 psch atweiden: fwiw, i don't see any occurence of the string "conf" in Nightscape/Parser/Actions.pm
22:35 psch atweiden: so i'm having a bit of trouble following what exactly you're trying
22:35 japhb .ask TimToady What was the purpose of rakudo commit 872d74cd2c320217894a3b0d5331b4c625b13022 (don't cache Rat literals)?
22:35 yoleaux japhb: I'll pass your message to TimToady.
22:36 atweiden psch: http://ix.io/hT9
22:40 colomon joined #perl6
22:46 psch atweiden: TOML doesn't have a provides section in its META.info, which i think is why i can't try Nightscape locally
22:46 psch (i don't know if that's your module, though)
22:46 atweiden it's at https://github.com/mouq
22:46 psch ah, ok
22:47 psch .tell Mouq TOML doesn't have provides yet, FYI
22:47 yoleaux psch: I'll pass your message to Mouq.
22:47 colomon joined #perl6
22:47 psch atweiden: i don't immediately see the problem, tbh
22:50 psch atweiden: afaict you mkconfig and then mkjournal, and the latter needs $conf set somewhere in its calls
22:50 psch but it's not set when you get where it's needed?
22:53 psch fwiw, i'm not sure «our»-scope variables are the right idea there
22:54 psch but that's probably just a style difference, and not really cause for concern
23:06 psch m: class A { our $f }; class A::B { method foo { A::<$f> = "bar" } }; class A::C { method bar { say A::<$f> } }; A::B.foo; A::C.bar # this is what i think should happen
23:06 camelia rakudo-moar 9862a1: OUTPUT«bar␤»
23:06 psch 'cause an action class isn't really different than a normal class
23:06 psch but maybe grammars mess with that somehow :/
23:06 psch atweiden: fwiw, the code as-is on github "works" with an empty journal (if that can be called "works")
23:07 colomon joined #perl6
23:07 psch atweiden: i'm also not really making sense of the ~40 commented lines in the paste you posted
23:07 psch (which is probably partly cause by the local time and partly by me having very little insight into what you're trying)
23:15 psch atweiden: the commented lines in your paste seem to be unsure about what Nightscape::<$conf> actually is
23:16 psch i.e. there's quite a few lines that treat it as a hash and want to access keys, but Nightscape::Config doesn't do Associative
23:18 psch aside from that i can't really make sense of it without test data
23:21 atweiden psch: yea, it's pseudo code
23:22 psch atweiden: right, removing those lines runs fine, but that's probably because the actions don't get called because i don't have anything to parse :)
23:22 atweiden oh, point it to examples/sample.transactions
23:22 atweiden PERL6LIB=lib bin/nightscape.pl examples/sample.transactions
23:28 psch atweiden: right, that gets me far enough that i'd have to guess what your pseudocode should do :)
23:29 psch atweiden: i'm not sure if subparse works with :actions, but i have a hunch it does
23:29 psch atweiden: i'd write tests for your bottom-rules with their actions and see if that gets you further
23:30 psch (and maybe implement stuff like Nightscape::<$conf>.prices.lookup too ;) )
23:31 psch i definitely need sleep, good luck further :)
23:31 * psch &
23:39 raiph joined #perl6

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

Perl 6 | Reference Documentation | Rakudo