Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-07-03

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:00 chenryn joined #perl6
00:11 dayangkun joined #perl6
00:37 jnap joined #perl6
00:40 chenryn joined #perl6
00:47 rurban1 joined #perl6
00:48 BenGoldberg .w manipulexity
00:48 yoleaux Sorry, I couldn't find a definition for 'manipulexity'.
01:28 rurban1 joined #perl6
01:33 jack_rabbit joined #perl6
01:39 hoverboard joined #perl6
01:44 chenryn joined #perl6
01:54 FROGGS_ joined #perl6
01:58 klapperl joined #perl6
02:05 rurban1 joined #perl6
02:11 Alina-malina joined #perl6
02:33 rurban1 joined #perl6
02:35 rurban2 joined #perl6
02:44 xinming joined #perl6
02:47 chenryn joined #perl6
02:55 rindolf joined #perl6
03:37 cognominal joined #perl6
03:40 xfix joined #perl6
03:40 xfix joined #perl6
03:46 xinming joined #perl6
03:48 chenryn joined #perl6
03:50 [1]chenryn joined #perl6
04:02 kaare_ joined #perl6
04:13 anaeem1 joined #perl6
04:17 Alina-malina joined #perl6
04:17 gfldex joined #perl6
04:36 ren1us for (0 .. @pulled.elems - 1) {
04:36 ren1us Is there anywhere on that line that seems to be modifying an immutable int?
04:36 ren1us Because I really don't think there is
04:38 perigrin @pulled.elems - 1 ... maybe ?
04:39 ren1us that wouldn't be modifying an int, though.  it'd just be doing basic arithmetic without changing the value of an existing one
04:39 ren1us at least i assume
04:40 perigrin the assume is where I got hung too
04:40 perigrin and why there was a mabye? on the end
04:47 perigrin w/ 60
04:51 dwarring joined #perl6
04:52 xenoterracide__ joined #perl6
04:53 pdcawley joined #perl6
05:03 lue ren1us: are you by chance writing to $_ in the loop?
05:07 ren1us @list[$_ + $pos] = @pulled[$_];
05:07 ren1us ^ the only line in the loop
05:07 ren1us i don't think I am
05:07 ren1us (lue)
05:08 lue ren1us: only other thing I can think of is getting rid of the unnecessary parens, so    for 0..@pulled.elems-1 {
05:12 lue (also, if you want, you can rewrite the range as  0 ..^ @pulled.elems  or even  ^+@pulled  ☺)
05:15 ren1us i'll give it a shot, but it takes a ridiculously long time to run through each iteration and only errored about 80 iterations in last time
05:18 ren1us 34 seconds per iteration, actually, lol
05:18 ren1us i should probably try to do something about that
05:18 lue If it happens in a consistent spot, you might be able to shortcut it for testing with something like 80..^+@pulled , or even just print the element of both arrays when it errors.
05:19 ren1us i know the array element, it just shouldn't really matter
05:22 ren1us but yeah i'm printing out the indexes now so that should help fix it if it happens again
05:23 lue ren1us: One last thought: if at some point in the code you do something like    @list[$someplace] := 42    , you wouldn't be able to assign to that position in the list later.
05:23 [Sno] joined #perl6
05:28 ren1us I don't even know what the := operator does so I don't think I do that
05:29 kaare_ joined #perl6
05:30 lue OK, just thought I'd mention it :) .
05:34 moritz http://doc.perl6.org/language/containers has an explanation of := (binding)
05:36 ren1us moritz: I don't suppose you know what would be causing that error :P
05:41 moritz ren1us: sorry, I haven't seen the error, and no time to backlog
05:42 Alina-malina joined #perl6
05:42 Alina-malina joined #perl6
05:46 ren1us for (0 .. @pulled.elems - 1) { <--- after having run in its entirety a whole bunch of times, this line threw something about modifying an immutable int
05:46 ren1us and i'm pretty sure it's not modifying an immutable int
05:48 [particle] joined #perl6
05:51 Alina-malina joined #perl6
05:57 FROGGS_ .tell jnthn look at this weird patch, that helps a lot: https://gist.github.com/FR​OGGS/0c85c2e1363abb4a45c1
05:57 yoleaux FROGGS_: I'll pass your message to jnthn.
06:08 dwarring r: my $x = [a => 10, b => 20]; say @$x; say %$x
06:09 camelia rakudo-{parrot,jvm,moar} f8a933: OUTPUT«"a" => 10 "b" => 20␤("a" => 10, "b" => 20).hash␤»
06:09 dwarring r: my $x = {a => 10, b => 20}; say @$x; say %$x
06:09 camelia rakudo-{parrot,moar} f8a933: OUTPUT«"a" => 10 "b" => 20␤{"a" => 10, "b" => 20}␤»
06:09 camelia ..rakudo-jvm f8a933: OUTPUT«"b" => 20 "a" => 10␤{"a" => 10, "b" => 20}␤»
06:10 * dwarring would expect %$x to be the same in both cases
06:14 dwarring http://doc.perl6.org/language/containe​rs#Flattening%2C_Items_and_Containers - indicates that % @ both flatten
06:18 dwarring but %$hashref doesn't flatten, whereas @$arrayref does
06:26 dwarring as does %$arrayref and @$hashref
06:35 Isp-sec joined #perl6
06:39 ingy joined #perl6
06:40 hightower2 joined #perl6
06:44 FROGGS_ joined #perl6
06:45 potatogim joined #perl6
06:47 lizmat good *, #perl6
06:47 lizmat won't be doing much here today, as I will be commuting again
06:47 lizmat life is hard  :-)
06:47 lizmat &
06:49 timotimo o/
06:51 FROGGS o/
06:52 zakharyas joined #perl6
06:57 SamuraiJack_ joined #perl6
07:03 darutoko joined #perl6
07:03 moritz \o
07:04 moritz R* test summary: jsonrpc fails t/server.t, doc fails t/typegraph.t (both on parrot)
07:04 woolfy left #perl6
07:05 FROGGS moritz: moar is clean I suspect?
07:05 moritz FROGGS: it is
07:05 moritz I didn't test JVM
07:05 FROGGS okay, that is at least something
07:05 FROGGS you don't have to, the fails will be the same as the last months
07:06 igorsutton joined #perl6
07:08 moritz thought so
07:08 moritz anybody interested in investigating the failures?
07:10 FROGGS interested yes
07:10 FROGGS but I already do too much in parallel, so it will take time
07:11 * moritz has to &work :(
07:11 ChoHag if %foo contains a bunch of class attribute values, and |args from the sub's signature contains some more, some of which will overlap with %foo's entries, can I say $bar = Bar.new(%foo, \args) and have it DTRT?
07:12 ChoHag Also, is it |args in the sig to catch the arguments as is, then \args in a subsequent call to expand it to the arguments originally provided?
07:12 timotimo i think it's |args to expand it later
07:12 ChoHag I have not used containers enough for it to be second nature what does what.
07:28 moritz ChoHag: use |args to flatten something into an argument list
07:28 ren1us okay this error is starting to really annoy me
07:30 ren1us for 0..^pulled.elems { @list[$_ + $pos] = @pulled[$_]; }
07:30 ren1us is there *any* reason why that should be attempting to modify an immutable Int
07:30 moritz yes
07:31 moritz m: my @list; @list[0] := 1; @list[0] = 42;
07:31 camelia rakudo-moar f8a933: OUTPUT«Cannot modify an immutable Int␤  in method assign_pos at src/gen/m-CORE.setting:8787␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2465␤  in block  at /tmp/JcaNW2g2zX:1␤␤»
07:31 timotimo m: my @list := (1, 2, 3); @list[1] = 42;
07:31 camelia rakudo-moar f8a933: OUTPUT«Cannot modify an immutable Int␤  in method assign_pos at src/gen/m-CORE.setting:1772␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2465␤  in block  at /tmp/qfVpnAPoGr:1␤␤»
07:32 ren1us i'm not using := though, or is it implied somewhere?
07:32 moritz yes
07:32 virtualsue joined #perl6
07:33 moritz calling functions binds the parameters
07:33 moritz (it's not exactly the same as :=, but it's still binding)
07:33 timotimo aye, have "@list is copy" or "@list is rw" in your parameters
07:34 ren1us i pray this works
07:34 ren1us it's kinda funny, though, because that block runs properly over 100 times, and then almost randomly breaks
07:35 timotimo strange indeed.
07:36 ren1us oh right i was going to submit that other rakudobug
07:36 * ren1us goes to do that
07:38 sqirrel joined #perl6
07:40 telex joined #perl6
07:43 masak morning, #perl6
07:43 timotimo morning masak
07:44 dalek nqp: d7f23d9 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
07:44 dalek nqp: bump moar rev for CPointer get/set_int
07:44 dalek nqp: review: https://github.com/perl6/nqp/commit/d7f23d9411
07:44 dalek rakudo/nom: cce7f9f | (Tobias Leich)++ | tools/build/NQP_REVISION:
07:44 dalek rakudo/nom: bump nqp rev for CPointer get/set_int
07:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cce7f9fad4
07:46 timotimo sometimes i get a bit frustrated at the status of rakudo when some bug or other torments users and i have no clue/time/mojo to fix it
07:48 FROGGS timotimo: I know what you mean... the cases where I can fix a bug are in the range of perhaps 20% :(
07:48 FROGGS maybe even less
07:48 masak I know what you mean.
07:49 masak not sure how to fix that, except plodding on and occasionally gaining insights into the architecture.
07:52 kkielak joined #perl6
07:53 vaskozl joined #perl6
07:53 dalek zavolaj: b73c9b0 | (Tobias Leich)++ | lib/NativeCall.pm6:
07:53 dalek zavolaj: allow pointer math using OpaquePointer type
07:53 dalek zavolaj:
07:53 dalek zavolaj: We will now see the memory address a OpaquePointer is about when calling
07:53 dalek zavolaj: its .gist, it is also now round-trippable by calling .perl and EVAL.
07:53 dalek zavolaj: Also, it will return the memory address when being used as a number, so
07:53 dalek zavolaj: that we can walk the bytes of a CStr or obtain addresses of Ctsructs in
07:53 dalek zavolaj: a list when we know their size.
07:53 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/b73c9b0129
07:53 dalek zavolaj: 3824daf | (Tobias Leich)++ | t/04-pointers. (2 files):
07:53 dalek zavolaj: add tests for new OpaquePointer methods
07:53 dalek zavolaj:
07:53 dalek zavolaj: These tests pass on all three backends, though a most recent rakudo is required.
07:53 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/3824daf334
07:53 dalek zavolaj: 2f1be0f | (Tobias Leich)++ | / (3 files):
07:53 dalek zavolaj: Merge pull request #44 from FROGGS/pointer-math
07:53 dalek zavolaj:
07:53 dalek zavolaj: allow pointer math using OpaquePointer type
07:53 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/2f1be0fa93
07:58 vaskozl TimToady: Mr. Wall? I'm boggled by your mastery and efficiency over vim, it was amazing to watch one of your lectures. Might I be entitled to looking at some of your vimrc magic?
08:01 timotimo and with one hand only, too!
08:03 masak it's so we mere mortals will have a chance to follow along.
08:03 masak vaskozl: out of curiosity -- what's your own level of mastery over vim?
08:04 vaskozl uhm, I don't really know, on what scale?
08:05 vaskozl it's my primary editor, that's for sure!
08:06 moritz on any scale you like, really
08:06 denis_boyun_ joined #perl6
08:08 vaskozl it's feeble in comparison to #vim, but yet enough to answer the questions of ordinary warriors learning to find their way with vim
08:09 vaskozl so I'm pretty confident with it using it for everything including note taking in all my classes for over an year now
08:10 masak vaskozl: let me put it like this: if I put you on Notepad, which features would you most miss from vim?
08:10 vaskozl my vimrc is of a second order of magnitude and is only getting bigger as I expand vims features to the path of enlightment
08:10 masak (I would never put someone on Notepad, by the way. I can be cruel, but I'm not a monster.)
08:11 labster joined #perl6
08:11 vaskozl masak: / , cw($) , C-v, :s/foo/bar/
08:11 teodozjan joined #perl6
08:11 vaskozl like the ones I use all the time..
08:12 vaskozl gg, G, C-d, C-u, dd, pp,
08:12 vaskozl J, f, t, and so on so forth
08:13 ChoHag Why can't I return from inside a given inside a block which can be returned from?
08:13 vaskozl these were the ones on top of my head, oh and 0-> $
08:14 vaskozl macros would be  big thing too, not to mention be able to pipe content trough programs and return it on screen
08:14 masak vaskozl: that gives me a pretty good idea -- thanks.
08:14 ChoHag masak: vim to notepad? I'd miss all of them.
08:15 ChoHag From insert mode to the 64K limit they probably still haven't fixed since Windows 3.
08:15 masak m: sub foo { given 42 { when 42 { say "here!"; return } } }; foo; say "alive"
08:15 camelia rakudo-moar f8a933: OUTPUT«here!␤alive␤»
08:15 masak ChoHag: you can.
08:15 ChoHag >64K?
08:16 masak no, you can return from inside a given.
08:16 ChoHag Oh.
08:16 masak see above.
08:16 moritz ChoHag: I'm pretty sure Windows XP fixed the 64k limit in notepad
08:17 ChoHag Hmm interesting, now I can't return before the given.
08:17 vaskozl oh and I somewhat forgot: notepad doesn't run in a bloody console
08:17 ChoHag I'm sure I checked that last time I was in this function (days ago).
08:18 moritz ChoHag: what do you mean by "can't return"?
08:18 ChoHag vaskozl: For that, there's qbasic.
08:18 ChoHag Is ms edit still based on qbasic these days?
08:18 ChoHag Attempt to return outside of any Routine
08:18 moritz ChoHag: then the problem is that you've already returned.
08:18 ChoHag Maybe it was a sub {...} not a -> {...} when I tested.
08:18 moritz or that, yes
08:18 ChoHag Is there a difference?
08:18 moritz yes
08:18 ChoHag You can return and remain inside the function?
08:18 moritz return is bound to routines
08:18 ChoHag /block/whatever
08:19 moritz ChoHag: you can be back
08:19 moritz m: sub f() { -> { return } }; f()()
08:19 camelia rakudo-moar f8a933: OUTPUT«Attempt to return outside of any Routine␤  in block  at src/gen/m-CORE.setting:556␤  in block  at /tmp/PiF9iyKH4B:1␤␤»
08:19 ChoHag Oh that's cheating.
08:19 moritz by the time the inner code block is run, you've already returned the block from f()
08:19 ChoHag The return isn't in f, it's in f()
08:20 moritz and the same can happen with lazy list generators
08:20 ChoHag I shall have to look in to that at some point.
08:20 ChoHag More weird things to break...
08:20 moritz m: sub f { return map { return }, 1..10 }; my @x := f(); say 'alive'; say @x[0];
08:20 camelia rakudo-moar f8a933: OUTPUT«alive␤Attempt to return outside of any Routine␤  in block  at src/gen/m-CORE.setting:556␤  in block  at /tmp/4SJUV7k_ZO:1␤␤»
08:23 ChoHag Java is slow :(
08:23 moritz English is slow :(
08:23 masak Humanity is slow :(
08:24 moritz the Sun is slow :-)
08:24 vaskozl the galaxy is slow :(
08:24 moritz vaskozl: I'm glad it is
08:26 jsn_ joined #perl6
08:27 ChoHag Depends on your point of view.
08:27 vaskozl Hey, I just recompiled (or tried to) perl6, and now when I run it I get a missing dependency :/ -> https://gist.github.com/b77503eaa91b2f106d6b
08:28 moritz vaskozl: you might need to clean out the installation dir, and then run 'make install' again
08:28 vaskozl oh right, should I run configure.pl again?
08:29 moritz no need for that, usually
08:29 vaskozl got it, kudos
08:30 dakkar joined #perl6
08:44 ChoHag Gah! Run test. Fail. Run with tracer statements (say <int> every other line). Success.
08:46 masak sounds like grounds for a nice meaty rakudobug.
08:47 masak alternatively: get off my lawn! I've been with the projects since the presence or absence of a *comment* could cause a NullPMCAccess! :P
08:47 masak ah, the pain.
08:47 grondilu joined #perl6
08:48 * grondilu finally managed to write a PGN grammar that kind of works:  https://gist.github.com/gro​ndilu/1c0ef78e5deba7ba87f4
08:50 grondilu (not tested much though)
08:51 masak grondilu++ # nice!
08:51 * grondilu considers adding it to perl6-examples/parsers/
08:52 masak grondilu: had I written a grammar of that size, I would have done it with tests.
08:53 grondilu I had hard time figuring out I should put ?? after <disambiguation> and not just ?
08:53 grondilu otherwise it just failed silently :/
08:59 masak yes -- this is where tests help greatly.
08:59 masak I find the combination of grammars and tests to be quite helpful.
09:00 grondilu sure, but finding and writing examples for tests is a bit tiresome.
09:00 moritz but you do that anyway
09:01 moritz otherwise you wouldn't know it works
09:01 moritz you just do it ad-hoc
09:02 grondilu I made one manual test with a single game and truncated it for debugging.  I know it's silly to do that but I guess I'm not used to make tests properly yet.
09:02 troydm joined #perl6
09:04 pecastro joined #perl6
09:04 masak finding and writing examples for tests (a) focuses the implementation tremendously, and (b) provides excellent regression guards.
09:05 masak ...in my experience. YMMV.
09:05 moritz grondilu: well, but you already work with some examples in your head when you write the rules
09:06 grondilu yeah but that's more typing if I do things properly.  I will eventually though.
09:07 brrt joined #perl6
09:08 avar joined #perl6
09:08 jack_rabbit joined #perl6
09:10 grondilu do you think it's worth making a panda-compatible module?
09:11 FROGGS the answer is always: yes
09:11 pdcawley_ joined #perl6
09:11 grondilu ok, I will
09:13 xinming joined #perl6
09:17 sergot o/
09:18 masak \o
09:22 spider-mario joined #perl6
09:31 masak jnthn: what about origin/qast_refactor ?
09:31 masak timotimo: what about origin/qast_lazy_annotation ?
09:32 masak "what about" as in "are these branches active? should they be merged? have them been merged? should they be deleted?"
09:38 jnthn Both still contain desirable work.
09:38 yoleaux 05:57Z <FROGGS_> jnthn: look at this weird patch, that helps a lot: https://gist.github.com/FR​OGGS/0c85c2e1363abb4a45c1
09:40 masak oki
09:42 colomon_ is it just me, or is everyone having terrible problems with (parrot?) rakudo at the moment?
09:43 denis_boyun joined #perl6
09:45 teodozjan colomon_ : yes
09:46 teodozjan colomon: see https://github.com/coke/perl6-roast-data
09:47 colomon_ teodozjan++
09:53 kaleem_ joined #perl6
09:54 ChoHag It liiiives!
09:57 teodozjan ChoHag: what lives?
09:57 ChoHag Some kind of weird job scheduler thing.
09:58 teodozjan :)
09:59 woosley left #perl6
09:59 woosley joined #perl6
10:12 dmol joined #perl6
10:21 timotimo i'm not actually sure what exactly the status of qast_lazy_annotation was when i left it
10:37 ren1us m: sub a(@list is copy, $l = @list.elems) { say "Elems: " ~ @list.elems; say "l: $l"; }; a(<a b c d e f g>); a(<a b c>);
10:37 camelia rakudo-moar cce7f9: OUTPUT«Elems: 7␤l: 7␤Elems: 3␤l: 7␤»
10:37 ren1us m: sub a(@list, $l = @list.elems) { say "Elems: " ~ @list.elems; say "l: $l"; }; a(<a b c d e f g>); a(<a b c>);
10:37 camelia rakudo-moar cce7f9: OUTPUT«Elems: 7␤l: 7␤Elems: 3␤l: 3␤»
10:38 ren1us rakudobug or learning opportunity?
10:45 colomon_ sure looks like a rakudobug
10:45 * ren1us submits
10:46 ren1us i'm always hesitant about submitting something that seems buggy before making sure i'm not just being dumb :P
10:47 jnthn What the thunk...
10:47 colomon_ ren1us: I've made enough boneheaded mistakes in my time to be very cautious.
10:48 jnthn I think the first one goes through the slow-path binder thanks to the "is copy"
10:48 ren1us m: class A { method test(@list is copy, $l = @list.elems) { say "Elems: " ~ @list.elems; say "l: $l"; }; }; my $a = A.new; $a.test(<a b c d e f g>);
10:48 camelia rakudo-moar cce7f9: OUTPUT«Elems: 7␤l: 7␤»
10:48 ren1us woops
10:49 ren1us m: class A { method test(@list is copy, $l = @list.elems) { say "Elems: " ~ @list.elems; say "l: $l"; }; }; my $a = A.new; $a.test(<a b c d e f g>); $a.test(<a b c>);
10:49 camelia rakudo-moar cce7f9: OUTPUT«Elems: 7␤l: 7␤Elems: 3␤l: 7␤»
10:49 jnthn So the bug is probably in there.
10:53 sqirrel joined #perl6
10:56 virtualsue_ joined #perl6
10:57 zakharyas joined #perl6
10:57 segomos joined #perl6
10:58 Rounin joined #perl6
10:59 Grimnir_ joined #perl6
10:59 xragnar joined #perl6
10:59 ivanshma` joined #perl6
11:00 smash joined #perl6
11:03 kkielak joined #perl6
11:03 PotatoGim test: ff
11:09 kurahaupo joined #perl6
11:28 mr-foobar joined #perl6
11:29 colomon_ tadzik: ping?
11:30 tadzik colomon_: pong
11:37 colomon_ tadzik: I'm trying to sort out where the dependencies are resolved in panda
11:38 colomon_ I'm hoping to block reinstalling File::Find, because that seems to kill panda dead on moar
11:40 tadzik colomon_: it's in panda-app I think
11:41 colomon_ bin/panda, you mean?
11:41 colomon_ or Panda::App
11:41 colomon_ ?
11:41 tadzik no, Panda::App
11:43 colomon_ (looks at flie) I …. don't think so?
11:44 tadzik hmmmm, let me check then
11:45 tadzik ohhh, it might be Panda.pm
11:45 tadzik https://github.com/tadzik/panda​/blob/master/lib/Panda.pm#L117 yes
11:48 colomon_ and it's actually used at 155?
11:49 colomon_ hmmm
11:52 tadzik ayes
11:54 colomon_ huh.
11:55 colomon_ why does emmentaler installing File::Find to emmentaler/installlib break everything?
11:55 tadzik hm, good question
11:56 tadzik is that installlib in perl6lib?
11:56 colomon_ don't think so.
11:56 colomon_ but maybe I'm wrong?
11:57 tadzik I don't know :)
11:57 tadzik but installing panda deps has always been a pain
11:57 colomon_ it's /home/smoker/emmentaler/installlib
11:57 colomon_ so no
11:57 teodozjan actually panda works on moar in my install
11:58 teodozjan but it stalls infinitely on file-find.t
11:58 teodozjan while run on parrot
11:58 colomon_ teodozjan: try saying -- panda install File::Find
11:58 colomon_ under moar
11:59 colomon_ I'm getting the parrot hang on file-find.t too, mind you
11:59 nwc10 does strace show that it's looping making system calls?
11:59 nwc10 or is it CPU bound within Perl 6 code?
11:59 brrt left #perl6
11:59 teodozjan I need to compile moar ... it will take moment
12:01 teodozjan is moar default backend on purpose if not specified --backends?
12:04 jnthn What other flags did you pass to Configure?
12:04 jnthn I'm pretty sure --gen-moar implies --backend=moar for example
12:05 teodozjan i mean if i do --gen-parrot --gen-moar moar will be defailt
12:05 jnthn I suspect if you want to override that you can --backends=...
12:06 jnthn I suspect it's just the order it checks for the flags in Configure
12:06 teodozjan i know i can :D but I'm thinking about new users that are not sure what backends are and which to use
12:07 jnthn Well, Moar is the right backend for most new users.
12:08 jnthn Tends to be fastest for one, and if nothing else because it's what most Rakudo developers primarily develop against, so we spot breakage a bit faster.
12:08 jnthn Though daily test runs mean nothing goes unnoticed too long.
12:17 smls joined #perl6
12:20 nhayashi joined #perl6
12:30 teodozjan jnthn: I would also use it if my project compiles on
12:30 jnthn teodozjan: What keeps your project from compiling on it?
12:31 teodozjan when I import JSON::RPC::Client i get could not invoke null object
12:31 jnthn ugh
12:31 jnthn OK
12:31 jnthn Is there an RT for it, or a golfed test case?
12:32 teodozjan panda install LacunaCookbuk will show you
12:32 jnthn I can look at it during the weekend, or maybe tomorrow even...
12:32 jnthn ok, thanks.
12:32 teodozjan I was thinking how to isloate that
12:32 teodozjan but I'm not sure whats wrong
12:32 colomon_ tadzik: AHA!
12:33 colomon_ tadzik: emmentaler is installing in the wrong place
12:33 colomon_ Copying blib/lib/File/Find.moarvm to /home/smoker/.rakudobrew/moar-HEAD/install​/languages/perl6/site/lib/File/Find.moarvm
12:34 tadzik ah, there we go
12:34 tadzik so whose fault is that?
12:34 tadzik panda, emmentaler?
12:34 colomon_ tadzik: looking at the code now
12:34 colomon_ panda's I reckon
12:35 colomon_ Panda::Installer has $.destdir
12:35 colomon_ but it also has method destdir
12:35 jnap joined #perl6
12:35 colomon_ which doesn't even look at the value in $.destdir
12:35 tadzik lol
12:36 tadzik how could this happen
12:36 ivanshmakov joined #perl6
12:36 colomon_ very carefully, I presume.  ;)
12:36 tadzik oh, method destdir is just for setting $!destdir
12:36 tadzik but, yeah, $.destdir then calls that method again
12:36 colomon_ setting the default
12:36 tadzik it's a miracle this works
12:36 colomon_ right
12:37 colomon_ easy peasy fix, I think -- just rename the method to something else
12:38 * colomon_ would do it, except he's guessing tadzik is already doing so...
12:39 * colomon_ suspects this will improve emmentaler's performance, too
12:39 tadzik no, I'm not, go ahead :)
12:39 * tadzik at $work
12:39 colomon_ do I have a commitbit for panda?
12:39 tadzik I hope so
12:39 tadzik if not, that'll be an easy fix too
12:39 colomon_ do not
12:39 tadzik fixed
12:40 colomon_ :)
12:40 colomon_ tadzik++
12:40 brrt joined #perl6
12:40 tadzik colomon_++
12:40 tadzik I just add commit bits :P
12:44 FROGGS colomon_: always keep in mind that panda should work with older rakudos... so do not follow deprecations immediately
12:44 colomon_ FROGGS: noted
12:45 FROGGS (I don't wanna be a maintainer for P5's CPAN modules fwiw)
12:45 colomon_ Hmmm… seem to have fixed that problem, but now I'm getting
12:45 colomon_ Can't serialize an object of type Version
12:45 colomon_ at the end of the emmentaler run
12:46 FROGGS (because that must feel like working with Linus Torvalds standing behind you)
12:46 FROGGS colomon_: we had that already, you have to stringify the version first
12:46 moritz right, json doesn't like Version objects
12:47 FROGGS m: say to-json(v1.2.3)
12:47 camelia rakudo-moar cce7f9: OUTPUT«"1.2.3"␤»
12:47 colomon_ FROGGS++ # \o/
12:47 FROGGS m: say (v1.2.3).WHAT
12:47 camelia rakudo-moar cce7f9: OUTPUT«(Version)␤»
12:47 FROGGS umm
12:47 FROGGS why does that work here?
12:48 FROGGS I guess the rakudo internals json thingy knows how to do that
12:48 FROGGS internal*
12:48 moritz wwwwwat?
12:49 FROGGS *g*
12:49 moritz multi to-json(Version:D $v, :$indent = 0, :$first = 0) { to-json(~$v, :$indent, :$first) }
12:49 moritz indeed
12:49 FROGGS that wasn't me
12:49 FROGGS (I think)
12:49 jnthn I thought the JSON thingy used to support compunitrepo stuff was hidden, not exposed?
12:49 moritz 90d26eae (Tobias Leich 2013-12-09 22:02:35 +0100  94) multi to-json(Version:D $v, :$indent = 0, :$first = 0) { to-json(~$v, :$indent, :$fir
12:50 FROGGS hmmm
12:50 dalek panda: 246ad58 | (Solomon Foster)++ | lib/Panda/Installer.pm:
12:50 dalek panda: Rename method destdir so it doesn't hide $.destdir.
12:50 dalek panda: review: https://github.com/tadzik/panda/commit/246ad58c59
12:50 FROGGS ahh, two days before delivering the blog post... clearly I was under pressure!
12:51 FROGGS jnthn: it is not hidden... and given the usefulness of JSON... I mean, we don't become a PHP, do we? ó.ò
12:51 moritz I'm of two minds about JSON in core. But the day we have an XML parser in core, I quit.
12:52 FROGGS hehe
12:52 FROGGS moritz: I will never add it, that's for sure
12:52 xenoterracide__ joined #perl6
12:53 FROGGS we just needed a way to slurp and spurt human readable datastructures.... and I went for JSON in contrast to INI or custom crap
12:53 teodozjan we can always switch to .perl like format :)
12:53 FROGGS human readable<---
12:53 FROGGS and editable
12:53 moritz .perl is perl readable :-)
12:53 FROGGS sort of
12:53 tadzik I read "edible" :O
12:53 FROGGS tadzik: what ever you want, we can implement it :P
12:54 * colomon_ is not sure he wants edible data structures
12:54 jnthn I'd prefer edible functions, 'cus you can curry those...
12:54 moritz sounds tasty
12:56 tadzik :D
12:57 colomon_ I suppose you'd salt your edible hashes, too?
13:01 jnthn .oO( I thought hashes was for smoking, not eating... )
13:01 colomon_ I dunno, I'm smoking modules right now.
13:02 jnthn .oO( What on earth was in that corn beef hash my mum used to cook?! O.O )
13:02 FROGGS m: say (v1.2.3).perl
13:02 camelia rakudo-moar cce7f9: OUTPUT«Version.new('1.2.3')␤»
13:04 FROGGS star-m: say 1
13:04 camelia star-m 2014.04: OUTPUT«1␤»
13:05 jsn_ joined #perl6
13:06 PotatoGim test: ff
13:08 estrabd joined #perl6
13:09 FROGGS ok 1 - ff
13:09 FROGGS perl6eval: help
13:09 FROGGS p6eval: help
13:09 camelia FROGGS: Usage: <(rakudo-jvm|nqp-jvm|star-j|rakudo-moar|pugs​|star-p|std|niecza|p5-to-p6|nqp-parrot|b|rak​udo-parrot|nqp-moarvm|star-m|sp|nPr|rPn|Prn|​j|Pnr|nqp-mvm|nr|p6|star|p56|nqp|r-j|rakudo|​r-jvm|nqp-p|r-m|r-p|rp|nom|r|rnP|nqp-m|nqp-j​|n|rm|perl6|rj|rn|P|m|sm|p|nrP)(?^::\s) $perl6_program>
13:09 FROGGS PotatoGim: ^^
13:13 hoverboard joined #perl6
13:17 guru joined #perl6
13:17 dalek roast/S26-WHY: 970bedb | (Rob Hoelz)++ | S26-TODO:
13:17 dalek roast/S26-WHY: More things TODO for S26...
13:17 dalek roast/S26-WHY: review: https://github.com/perl6/roast/commit/970bedb734
13:23 brrt left #perl6
13:24 sqirrel joined #perl6
13:30 dalek ecosystem: 6441217 | grondilu++ | META.list:
13:30 dalek ecosystem: adding new module
13:30 dalek ecosystem:
13:30 dalek ecosystem: Chess-related stuff.  PGN grammar
13:30 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/6441217892
13:33 orafu joined #perl6
13:36 estrabd joined #perl6
13:37 Alina-malina joined #perl6
13:39 timotimo grondilu: your grammar confuses me. what is this? < + ++ # >   or this? < ?? ? !? ?! ! !! >
13:40 jnthn timotimo: A way of writing an alternation of literals
13:40 jnthn ['+'|'++'|'#']
13:40 jnthn But readabler
13:40 timotimo oh
13:41 timotimo right, it's a list-of-strings, didn't realize that works like that
13:41 jnthn Key is the space after the < :)
13:41 timotimo aye
13:43 grondilu notice that there is the same notation used for pieces, files and ranks
13:43 grondilu < K Q R B N > and so on
13:44 timotimo right
13:45 timotimo i ought to remember that
13:50 smls How do I make a grammer automatically die with helpful error message when it can't parse the inout string?
13:51 grondilu probably with Grammar::Debugger
13:51 timotimo that's an interesting thought; if it fails to match, mix in the debugger hooks and try matching again?
13:51 grondilu (though personally I've never managed to make it work)
13:51 jnthn smls: If you want a helpful error you actually need to produce it.
13:51 jnthn Just like the Perl 6 grammar does.
13:51 smls y can't it produce it for me? :)
13:51 jnthn How the heck does it know how to?
13:52 smls tell how far it managed to match tokens, what followed, and what it expoected to follow
13:52 jnthn The best you can do in a generic way is just say "something when wrong at this point"
13:52 colomon_ which is still quite useful...
13:52 timotimo it would be interesting if the highwater stuff could be autogenerated for user grammars
13:53 jnthn True. That's doable with a [ $ || { die "Failed to parse at " ~ $/.CURSOR.pos } ] or some variant.
13:53 jnthn That pattern works in general, though
13:54 jnthn token foo { thing(s) that we should always match one of || error handling }
13:54 chenryn joined #perl6
13:55 timotimo can we have something that generates an eject symbol stringie thingie?
13:55 jnthn timotimo: We actually do track that stuff anyway...
13:55 jnthn For all grammars. But it's not spec'd in any way.
13:55 zengargoyle my attempt at Text::Fortune works well enough and has enough tests to start trying to pretty it up for ecosystem maybe.
13:55 smls P5 Parse::RecDescent does it: https://metacpan.org/pod/Pars​e::RecDescent#Error-handling
13:56 jnthn Hm, that looks like it is doing the same highexpect thing...
13:57 jnthn Well, I guess we can try to spec a way to expose that
13:57 jnthn But still, notice that the || <error> went explicitly into the grammar.
13:57 TimToady the fuzzy bits are what you do after that to "recover"
13:58 TimToady "find next semicolon and assume it's a new statement"
13:58 jnthn Well, that's the sorry/panic distinction in the Perl 6 grammar, I guess...
13:58 TimToady yes, we don't try to find the next statement when there's a parse error
13:58 jnthn Aye. Probably sane.
13:58 TimToady that usually just produces cascading, confusing errors
13:58 jnthn MSVC is incredibly bad at knowing when to give up.
13:59 TimToady and if the parser is fast enough, you just fix the one and re-run
13:59 TimToady and if you find another such, assume there's a trend and fix all of 'em
14:00 TimToady trying to find more errors is a vestige of the days of punch cards and line printers
14:01 TimToady of course, if we just have a semantic error, we just worry and keep going
14:03 jnthn Anyway, we could expose the highexpect, but half the time I find its suggestions to be better at bulking up the error report than helping me know what's wrong...normally it's the message and the position indicator that help most.
14:03 TimToady well, worry or sorry
14:04 TimToady well, I think people learn to ignore the bits of it that don't apply
14:04 jnthn But given it's tied into the LTMer, I kinda had to put that stuff in Cursor, and so we do actually track highwater and highexpect for everything we parse...
14:04 jnthn ...so if we can pick an API it's no problem to expose that.
14:04 jnthn Apart from it commits us to continue collecting the info :)
14:05 smls or make it a flag: Gramma.parse($input, :show_errors)
14:05 user3 joined #perl6
14:05 timotimo hmmm
14:06 smls or  :fatal-errors
14:07 smls Also, what's the easiest way to get the line number at the cursor position?
14:08 brrt joined #perl6
14:11 timotimo it's a hard problem
14:11 timotimo in nqp and rakudo we read the whole file in and note the positions of newlines in a list
14:12 moritz $/.prematch.comb("\n").elems + 1
14:12 timotimo oh, that's not bad
14:12 moritz it's not fast either :-)
14:13 moritz if you only need it for error messages, I guess that's fine
14:13 timotimo if you only do it once, it shouldn't be much slower than what we do
14:13 moritz in rakudo, we put line annotation in every statement or expression, which means we need that number *very* often, and caching it is crucial
14:14 timotimo aye
14:14 FROGGS m: use HLL::Compiler:from<NQP>; say HLL::Compiler.lineof("abc\ndef", 5);
14:14 camelia rakudo-moar cce7f9: OUTPUT«===SORRY!===␤While looking for 'HLL/Compiler.moarvm': no such file or directory␤»
14:14 FROGGS m: use NQPHLL:from<NQP>; say HLL::Compiler.lineof("abc\ndef", 5);
14:14 camelia rakudo-moar cce7f9: OUTPUT«2␤»
14:14 FROGGS \o/
14:14 timotimo ooooh, :from<NQP>
14:14 timotimo i forgot that already works
14:15 FROGGS smls: it is not really Perl 6, but it works on rakudo :o)
14:16 timotimo seems like even though we said "multiple implementations yay" at one point, that's kinda not the way it is any more
14:16 FROGGS timotimo: which is good I think
14:16 smls I think I'll go with moritz++ suggestion :)
14:17 FROGGS I mean, it is not like there is a race between several groups of like 30 devs each
14:19 moritz FROGGS: when niecza came up, we were very happy about modules that didn't use rakudo-isms
14:19 moritz I'd like to keep it that way, to not raise the burden for new implementations (or a niecza or pugs revival) even higher
14:19 FROGGS moritz: yes, there are several benefits of having more than one impl
14:19 FROGGS I just don't see it as a priority anymore
14:20 smls moritz: So what should become of modules like NativeCall which need NQP?
14:20 jnthn I'd like to keep it that way for another reason: I don't want to get Rakudo to a point where I can't refactor nqp::foo or NQP related things without breaking userland code.
14:20 FROGGS smls: the other implementations should expose an NativeCall-like interface
14:20 jnthn smls: NativeCall arguably should be "in core"...
14:20 smls I guess
14:21 zengargoyle that was my beef with old Rosetta Code examples, comments along the lines of "this is for parrot/niecza"
14:21 SamuraiJack_ joined #perl6
14:21 FROGGS zengargoyle: but that is not because it uses compiler internal stuff, this is because the needed things are only implemented on a few compilers
14:21 FROGGS that'S a difference
14:22 FROGGS smls: so scratch my proposal and do not use the nqp module :o)
14:23 chenryn joined #perl6
14:23 FROGGS you might even have precomp problems when using it
14:25 FROGGS even in Perl 5 there are ppl who prefer pure Perl 5 modules over XS-based, and they only have one compiler
14:26 FROGGS so sticking to pure&proper Perl 6 is the way to keep things working
14:27 smls yeah   +$/.prematch.comb(/$$/)   works fine
14:28 zengargoyle is using /$$/ a better idea in general than "\n"?
14:29 smls it means the number will start from 1 not 0 :)
14:30 smls Is there still a shorthand for die'ing without a backtrace, like  « die "Message\n" »  in P5?
14:30 smls Or is it  « say "Message"; exit 1 »  now?
14:32 zengargoyle i've been wondering how IO .get is handled, is everything massaged into "\n" on various platforms?
14:32 moritz smls: there isn't a shortcut (yet)
14:35 jnthn Also, probably wants to be note "Message" to get it on stderr
14:36 smls right
14:42 kaare_ joined #perl6
14:47 zlad joined #perl6
14:53 ggoebel111116 joined #perl6
14:53 ChoHag Are there any modules with a half-decent or better set of tests I could plagiarise?
14:54 ChoHag Now that I have something which works, I ought to try and keep it that way.
14:54 moritz lots of modules have tests :-)
14:54 moritz for example JSON::Tiny
14:54 ChoHag Ah but how many have tests which would serve well as an example?
14:55 moritz how many? no idea
14:55 moritz look at https://github.com/moritz/json/tree/master/t though
14:55 moritz they aren't perfect, but they provide decent coverage
14:57 sqirrel joined #perl6
14:58 zengargoyle Test could use some documentation love.
15:00 moritz zengargoyle: you mean the Test module?
15:01 moritz http://perlcabal.org/syn/S24.html exists, but yes, could use some love
15:01 moritz contributions readily accepted. Hey, *your* chance to become co-author of a Perl 6 design document!
15:02 zengargoyle yes.  sorta whole doc system... << perl6 --doc Test >> nor << p6doc Test >> get anything... :)
15:02 ggoebel111116 joined #perl6
15:03 * zengargoyle was truly just thinking about some POD for Test.pm  (which the .pm also doesn't get installed, only the Test.mbc does, had to look in repository/lib/Test.pm)
15:04 * zengargoyle is working on git@github.com:zengargoyle/perl6-Text-Fortune.git
15:05 smls joined #perl6
15:08 vasdroid joined #perl6
15:08 zengargoyle i really miss the ease of << perldoc Foo >> << perldoc -f foo >> which was pretty much how i learned Perl5.
15:10 ChoHag Hah! [Rendering of] S26, Documentation, is "known to be incomplete".
15:10 ChoHag zengargoyle: It wouldn't have worked so well for perl 1.
15:11 zengargoyle true, and i think part of the p6doc problem is that the p6 POD spec and tools was/are in sorta draft/NYI state.
15:12 zengargoyle and it's hard to write doc if the tools to use it aren't there yet.
15:16 * zengargoyle remembers seeing some rogue *<> tags floating about in the doc.perl6.org pages
15:16 guru joined #perl6
15:17 ggoebel111116 joined #perl6
15:17 zengargoyle and noticing the lack of an easy to find link to faq.perl6.org
15:17 * zengargoyle promises to get better at actually generating pull requests :)
15:17 ChoHag It's right there, two lines above this one.
15:18 smls maybe that should be moved to   doc.perl6.org/language/faq
15:18 smls since it answers mostly language questions
15:19 smls (with "moved", I mean coverted to a p6doc POD)
15:23 vendethiel joined #perl6
15:31 brrt left #perl6
15:36 FROGGS[mobile] joined #perl6
15:40 pdcawley joined #perl6
15:48 mr-fooba_ joined #perl6
15:49 vendethiel joined #perl6
15:53 vendethiel joined #perl6
15:59 bluescreen10 joined #perl6
16:03 paraxor joined #perl6
16:04 * masak considers .classify to be way underused
16:06 timotimo m: say "masak".comb.classify({ (^3).pick })
16:06 camelia rakudo-moar cce7f9: OUTPUT«("0" => ["a", "s", "k"], "1" => ["a"], "2" => ["m"]).hash␤»
16:06 timotimo askam?
16:06 timotimo that's almost asakm, which would just be masak rotated once
16:07 timotimo m: say "masak".comb.classify({ (^3).pick(2) })
16:07 camelia rakudo-moar cce7f9: OUTPUT«("0" => {"1" => ["m", "k"]}, "1" => {"0" => ["a"], "2" => ["a"]}, "2" => {"0" => ["s"]}).hash␤»
16:07 masak m: say "masak".comb.rotate.join
16:07 camelia rakudo-moar cce7f9: OUTPUT«asakm␤»
16:07 timotimo m: say "masak".comb.categorize({ (^3).pick(2) })
16:07 camelia rakudo-moar cce7f9: OUTPUT«("0" => ["m", "s", "a"], "1" => ["m", "a", "k"], "2" => ["a", "s", "a", "k"]).hash␤»
16:07 timotimo Ms. Amak Asak
16:07 masak categorizing on random stuff hadn't occurred to me.
16:07 masak but categorizing and binding can be highly useful.
16:08 masak m: my (@odd, @even) = (1..10).classify(* % 2); say @odd; say @even
16:08 camelia rakudo-moar cce7f9: OUTPUT«"1" => [1, 3, 5, 7, 9] "0" => [2, 4, 6, 8, 10]␤␤»
16:08 timotimo m: my (@odd, @even) = (1..10).classify(* %% 2); say @odd; say @even
16:08 camelia rakudo-moar cce7f9: OUTPUT«"False" => [1, 3, 5, 7, 9] "True" => [2, 4, 6, 8, 10]␤␤»
16:08 timotimo m: my \(@odd, @even) = (1..10).classify(* %% 2); say @odd; say @even
16:08 camelia rakudo-moar cce7f9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/rzXqinR_xhâ�¤Malformed myâ�¤at /tmp/rzXqinR_xh:1â�¤------> [32mmy [33mâ��[31m\(@odd, @even) = (1..10).classify(* %% 2[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
16:08 timotimo m: my \(@odd, @even) := (1..10).classify(* %% 2); say @odd; say @even
16:08 camelia rakudo-moar cce7f9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/oKLlj1fjynâ�¤Malformed myâ�¤at /tmp/oKLlj1fjyn:1â�¤------> [32mmy [33mâ��[31m\(@odd, @even) := (1..10).classify(* %% [0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
16:09 timotimo i've done this once before
16:09 masak m: my (:@False, :@True) := (1..10).classify(* %% 2); say @Flase; say @True
16:09 camelia rakudo-moar cce7f9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/VZOyurrSdlâ�¤Variable '@Flase' is not declared. Did you mean '@False'?â�¤at /tmp/VZOyurrSdl:1â�¤------> [32m := (1..10).classify(* %% 2); say @Flase[33mâ��[31m; say @True[0mâ�¤    expecting any …»
16:09 masak er.
16:09 masak m: my (:@False, :@True) := (1..10).classify(* %% 2); say @False; say @True
16:09 timotimo misses a \, no?
16:09 camelia rakudo-moar cce7f9: OUTPUT«1 3 5 7 9␤2 4 6 8 10␤»
16:09 masak \o/
16:09 timotimo ah, it doesn't
16:09 timotimo neato
16:09 timotimo i think with a pair notation we can also get the names of the arrays to stay "odd" and "even"
16:11 masak m: enum Parity <even odd>; sub parity($n) { $n %% 2 ?? even !! odd }; my (:@even, :@odd) := (1..10).classify(&parity); say @even; say @odd
16:11 camelia rakudo-moar cce7f9: OUTPUT«2 4 6 8 10␤1 3 5 7 9␤»
16:11 masak \o/
16:11 timotimo or that way
16:11 masak :)
16:11 masak ok, leaving for curry and beer not.
16:11 masak now*
16:11 timotimo m: enum Parity <enum odd>; say Parity(1);
16:11 camelia rakudo-moar cce7f9: OUTPUT«odd␤»
16:11 timotimo that is even easier
16:11 masak see you later, #perl6
16:11 timotimo than ?? !! for that
16:12 masak m: enum Parity <even odd>; sub parity($n) { Parity($n % 2) }; my (:@even, :@odd) := (1..10).classify(&parity); say @even; say @odd
16:12 camelia rakudo-moar cce7f9: OUTPUT«2 4 6 8 10␤1 3 5 7 9␤»
16:12 masak yes, a bit shorter.
16:13 * smls added a parsing solution to http://rosettacode.org/wiki/Dinesman%​27s_multiple-dwelling_problem#Perl_6
16:13 smls comments/criticisms?
16:14 smls Other than "EVAL is evil". I could probably have used closured+currying instead, but it would have made the code much messier (and probably slower)
16:14 smls *closures
16:18 kaiserpathos joined #perl6
16:21 ren1us i suspect that i know the answer already, but am i responsible for garbage collection, or will rakudo handle that for me
16:22 moritz rakudo handles GC for you.
16:22 rurban the rakudo backends do
16:22 ren1us awesome, then i need to dig through my code to see why it's currently up to 4.2gb memory
16:23 ren1us this'll be fun lol
16:24 timotimo oh yikes
16:24 smls Does Perl 6 have built-in fork (on Unix)?
16:24 smls Or will it have?
16:25 timotimo you can fork with nativecall, but forking with a complicated VM is sometimes a very bad idea
16:25 ren1us just to make sure i'm not missing something, because i want to make sure i'm not thinking in terms of the wrong language
16:26 ren1us if i construct some big network of objects, that are all visible through one object, and that object falls out of scope, all the rest are automatically deallocated too, right?
16:26 ren1us (assuming no other references to them remain)
16:26 timotimo they should be, yes
16:26 timotimo are you on moarvm?
16:26 ren1us yeah
16:27 timotimo how long do those objects live?
16:27 ren1us assuming that the memory leak is where i think it is, they should exist only in one sub, so not very long
16:28 ren1us i don't suppose there are any profilers out there for p6 lol
16:29 ren1us oh wait i think i know what it is
16:29 ren1us damnit this is the problem with recursion lol
16:31 moritz there's no TCO in rakudo, afaict
16:32 timotimo right
16:32 timotimo i was about to suggest that all the objects may be promoted to the second generation, which doesn't shrink easily when objects die
16:41 ren1us you know what
16:41 ren1us i've been working on this for about 29 hours straight, i think it's time to sleep
16:42 ren1us 'night
16:42 timotimo oh my
16:42 timotimo yes, that is a wise decision
16:43 moritz good night, and dream of recursive TCU
16:43 moritz *TCO
16:45 vendethiel (what's non-recursive TCO ?)
16:46 moritz vendethiel: TCO!
16:46 vendethiel eh ?
16:50 psch joined #perl6
16:51 psch hi #perl6
16:51 colomon_ o/
16:51 psch colomon_: \o
16:52 psch leaving out the explicit return in the golfed URI test-failure makes it run just fine, as i just found out
16:53 psch (i did find that out by looking at what is actually looked for with Ops.getlex, which was '&return')
16:54 erkan joined #perl6
16:54 erkan joined #perl6
16:54 psch the question probably remains the same though: why do symbols disappear (or something like that)
16:54 Rotwang joined #perl6
16:55 * colomon_ is not quite awake enough to think about that, but psch++
16:57 ribasushi joined #perl6
17:03 smls_ joined #perl6
17:06 vendethiel joined #perl6
17:07 ribasushi joined #perl6
17:07 timotimo oi krunen, i got an hdmi adapter thingie that can be flexed to make a 90 degree angle that got left behind after the RaNIW and we think it was yours, did i already tell you about that?
17:08 colomon_ tadzik: X::AdHoc.new(payload => "Could not find LibraryMake in any of: /home/smoker/.rakudobrew/moar-HE​AD/install/languages/perl6/lib, /home/smoker/.rakudobrew/moar-HEAD​/install/languages/perl6/site/lib, /home/smoker/.rakudobrew/moar​-HEAD/install/languages/perl6 /home/smoker/.rakudobrew/moar-HE​AD/install/languages/perl6/site, .") returned from panda.  but that should be a special panda error, right?
17:17 guru joined #perl6
17:30 sqirrel joined #perl6
17:32 Isp-sec joined #perl6
17:40 FROGGS joined #perl6
17:43 psch hrm, jdb is definitely lacking
17:51 zengargoyle hrm... is the S24-testing.pod the spec or is the rakudo/lib/Test.pm the actual spec?
17:51 pippo joined #perl6
17:52 zengargoyle i.e. things like <<plan *>> <<throws_ok()>> <<%*ENV<PERL6_TEST_TIMES>> etc.
17:54 tadzik colomon_: usually, yeah
17:54 tadzik what's LibraryMake?
17:55 timotimo it's a neat tool/library that makes it easier to ship .c code with your perl6 modules
17:58 tadzik nice
17:59 gtodd what is the facility in perl6 that obviates or replaces a lot of XS called NativeSomething  argh
17:59 geekosaur zavolaj?
17:59 geekosaur and NativeCall
17:59 gtodd NativeCall  jeez
17:59 gtodd thanks
18:00 gtodd the existence of zavolaj  destroyed my recall :)
18:01 guru joined #perl6
18:02 gtodd I was watching the YAPC session on how easy it is to use  FFI instead of XS how it might get  even easier over time ... wanted to do a quick comparison
18:06 FROGGS gtodd: let me know about absurdities you hit, I am working on NativeCall right now
18:07 gtodd heh 1. it seems way too easy :)  ... it must be a trick
18:07 FROGGS :o)
18:08 FROGGS gtodd: easy things really are easy (and do work)
18:08 FROGGS I am failing though to return a list of structs right now for example
18:09 [Sno] joined #perl6
18:09 gtodd I guess some C apps surround themselves with protection against this kind of this .... eg I won't bother trying to use perl6 to script chrome :)
18:10 denis_boyun joined #perl6
18:14 gtodd ahah!  PerlGameDev/SDL6
18:15 FROGGS ewww, don't look at that code!
18:15 FROGGS its ugly, we have now better ways to write it
18:16 rurban1 joined #perl6
18:18 gtodd hehe still though
18:18 gtodd it looks like I do    strings /usr/local/lib/libSDL2-2.0.so.0 | grep ^SDL_ > MySDL.pm6  .... then go back and fill in a few things  ... waah??
18:18 gtodd "fill in a few things " :-)
18:18 FROGGS hehe
18:18 FROGGS lol
18:19 FROGGS *g*
18:19 zengargoyle does the general contributing workflow go like: fork github repo; create topic branch; hack...; rebase as needed; submit github pull-request
18:19 FROGGS I have to clean my SDL6 up when the nativecast lands... then it will actually work again
18:19 FROGGS zengargoyle: yes
18:20 zengargoyle thinking about stealing p5 Test::* docs into p6 rakudo/lib/Test.pm as appropriate.
18:22 gtodd FROGGS I assume strings /usr/local/lib/libperl.so > p5.pm6  has been tried :)
18:23 FROGGS you could call that blitzkost I think
18:23 gtodd (strings /usr/local/lib/perl5/5.20/mach/CORE/libperl.so )
18:24 gtodd FROGGS of course some fruit always hangs lower than others
18:25 colomon_ complete smoke test on moar!  \o/
18:25 gtodd !
18:25 FROGGS \o/
18:25 retupmoca colomon_++
18:28 gtodd is that in a branch or ...
18:33 Celelibi joined #perl6
18:36 colomon_ results now visible at host07.perl6.com:8080/report  # moritz++
18:38 sergot FROGGS++
18:38 sergot # for helping me with moar and nativecall stuff
18:39 timotimo sergot++ for handling a quite important GSoC project
18:40 moritz colomon_++
18:40 moritz colomon_: how much of that is automated now?
18:41 timotimo host07.perl6.com:8080/report/ - could this be made a redirect instead of a 404?
18:41 gtodd camelia: are you there?
18:41 moritz m: say 'yes'
18:41 camelia rakudo-moar cce7f9: OUTPUT«yes␤»
18:41 psch moritz++ # faster than me
18:42 moritz timotimo: https://github.com/colomon/SmokeResults has the code
18:42 moritz timotimo: (and if you don't want to patch it, you could open an issue)
18:42 psch colomon_++ moritz++ # smoke results online
18:42 moritz it seems that the detail pages are all 500er
18:42 colomon_ moritz: we've also got an issue where cle… right
18:42 moritz like http://host07.perl6.com:8080/project/Inline
18:43 colomon_ I think that means it's not getting through to Dancer?
18:43 moritz it gets to dancer
18:43 timotimo er
18:43 timotimo it says "powered by dancer"
18:43 timotimo so ...
18:43 moritz the error page even says "pow... "what timotimo said
18:44 colomon_ true
18:44 colomon_ hmmm
18:44 moritz _censor given incorrect input:  at /usr/local/share/perl/5.14.2/Dancer/Handler.pm line 107
18:44 moritz Can't exec "panda": No such file or directory at (eval 83) line 109.
18:44 colomon_ moritz++
18:44 moritz I think those two are unrelated
18:44 colomon_ can't exec panda is the problem
18:44 moritz colomon_: fwiw as user 'emmentaler', you can say 'tmux attach' to get the console with the errors
18:44 colomon_ it uses panda to get the information on the module
18:45 moritz colomon_: and ctrl+b d to get out of tmux again :-)
18:45 colomon_ btw, I set up a public key there so I can log into emmentaler from the smoker account on my Linux box
18:45 colomon_ so for the time being we can just scp the results from running it there
18:46 * colomon_ is going to go ahead and try to build rakudo moar there now
18:52 gtodd does one need to use a Bag to simulate 5 rolls of 2 die(dice)?   or is a list good enough ?
18:52 gtodd wait can I roll on two lists at once?
18:52 gtodd hrrmm ....   say roll 5, < 1 2 3 4 5 6>
18:54 psch m: (1..6 X 1..6).pick.say
18:54 camelia rakudo-moar cce7f9: OUTPUT«1 1␤»
18:54 moritz m: say (1..6).roll(2)
18:54 camelia rakudo-moar cce7f9: OUTPUT«1 6␤»
18:55 moritz m: say (1..6).roll(5)
18:55 camelia rakudo-moar cce7f9: OUTPUT«4 1 5 6 5␤»
18:56 colomon_ a list is fine
18:56 gtodd ok when I play monopoly I get told to roll both die at once not one after the other ;-)
18:56 psch right, roll isn't pick
18:57 dwarring joined #perl6
18:58 colomon_windows joined #perl6
18:58 colomon_windows have managed to make my MBP run very slow at the moment, switching over to windows box so I can contribute to the conversation.
18:59 colomon_windows roll is named roll precisely because it is like rolling dice
18:59 timotimo and pick is named pick precisely because it is like picking pickles out of a jar
19:00 moritz how pickturesque :-)
19:02 gtodd :P
19:03 itz_ joined #perl6
19:03 timotimo puns that are easy to pick up; it's how we roll.
19:04 timotimo pick up on*
19:06 colomon_windows moritz: okay, I've built panda and added rakudobrew to the path.
19:06 colomon_windows which works great for using panda from the command line
19:06 colomon_windows but doesn't seem to be helping the SmokeResults
19:06 gtodd ok I think I cut and pasted and changed this (i.e. it's my fault) from the interweb long ago: perl6 -e 'for (1..10) { my $b = { 1 => 2, 2 => 2, 3 => 2, 4 => 2, 5 => 2, 6 => 2 }.BagHash; $b.roll(2).say}'
19:07 gtodd but since it has no real mathematical or set theory or advanced perl6 IRC channel justification ... :)
19:07 gtodd say (1..6).roll(2) it is
19:08 moritz colomon_windows: the plack server doesn't yet see the updated path
19:12 colomon_windows moritz: is there an easy way to update that?
19:12 moritz colomon_windows: what should the new path look like
19:13 gtodd hmmm  for (1..10) { say (1..6).roll(2) }#  \o/    .....  for (1..10){ say (1..6).roll(2) } # :-( cack! lack of whitespace killed the perl
19:13 gtodd I must remember that :)
19:13 colomon_windows moritz: it needs to have /home/emmentaler/.rakudobrew/bin in it
19:14 colomon_windows I've put that first (as tadzik++ instructs) but I don't know how important that is
19:14 gfldex joined #perl6
19:17 moritz server restarted, with different $PATH
19:17 cognominal A segmentation fault with rakudo on MoarVM and some questions.  https://gist.github.com/cogn​ominal/f1cc48cab3ca8bed4257
19:18 colomon_windows moritz: and now it works!  moritz++
19:19 cognominal this is unfinished code, but it already exhibits interesting problems as it is.
19:19 Celelibi joined #perl6
19:21 gtodd wow it seemed like  say (1..6).roll(2)  didn't replace ... it took me 100 rolls to get a double ... in monopoly I roll doubles 3 in row all the time (you go to jail if you do that)
19:22 psch cognominal: i think you need a default block in your CATCH
19:22 cognominal ...on a macbook with OSX 10.9.3 if this matters
19:22 moritz m: my $d = 0; for ^1000 { my ($a, $b) = (1..6).roll: 2; ++$d if $a == $b }; say $d
19:23 camelia rakudo-moar cce7f9: OUTPUT«161␤»
19:23 moritz m: say 1000 / 6;
19:23 camelia rakudo-moar cce7f9: OUTPUT«166.666667␤»
19:23 moritz gtodd: looks pretty much expected
19:23 gtodd yeah ... it's one of those human brain expectation things
19:24 gtodd moritz: or the fact that I spend so much time in jail in monopoly
19:25 cognominal psch, good ... CATCH. I need a  default { }  to avoid the exception to be rethrown
19:30 brrt joined #perl6
19:33 dwarring lizmat++, but I've still got some hash confusion...
19:33 dwarring r: my $x = {a => 1, b => 2}; my %h = %$x; say @$x
19:34 camelia rakudo-jvm cce7f9: OUTPUT«"b" => 2 "a" => 1␤Saw 1 call to deprecated code during execution.␤====================================​============================================␤%h = { ... } called at:␤  /tmp/tmpfile, line 1␤Please use %h = ... instead.␤----------------------…»
19:34 camelia ..rakudo-{parrot,moar} cce7f9: OUTPUT«"a" => 1 "b" => 2␤Saw 1 call to deprecated code during execution.␤====================================​============================================␤%h = { ... } called at:␤  /tmp/tmpfile, line 1␤Please use %h = ... instead.␤------------…»
19:34 dwarring r: my $x = {a => 1, b => 2}; my %h = @$x; say @$x
19:34 camelia rakudo-jvm cce7f9: OUTPUT«"b" => 2 "a" => 1␤»
19:34 camelia ..rakudo-{parrot,moar} cce7f9: OUTPUT«"a" => 1 "b" => 2␤»
19:35 dwarring I guess I expect %$x to flatten (which it isn't)
19:36 TimToady looks like a bug to me
19:37 rurban1 joined #perl6
19:37 colomon_windows m: say ((1..6).roll(2) xx 100).grep(* == *)
19:38 camelia rakudo-moar cce7f9: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/efvMlGZ2aK:1␤␤»
19:38 dwarring ok I'll put in an RT and some tests
19:39 TimToady m: say ((1..6).roll(2) xx 100).lol.grep(* == *)
19:39 camelia rakudo-moar cce7f9: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/xqIoWg4JFP:1␤␤»
19:39 TimToady m: say ((1..6).roll(2) xx 100).tree.grep(* == *)
19:39 camelia rakudo-moar cce7f9: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/netxWdU6Pm:1␤␤»
19:39 TimToady m: say ((1..6).roll(2) xx 100).list.grep(* == *)
19:39 camelia rakudo-moar cce7f9: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/cNzXi8pKX8:1␤␤»
19:40 colomon_windows TimToady: I'm thinking grep is hardwired to only pass one element at a time
19:40 TimToady hmm, likely
19:40 colomon_windows m: say ((1..6).roll(2) xx 100).grep(* == 3)
19:40 camelia rakudo-moar cce7f9: OUTPUT«3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3␤»
19:40 colomon_windows yeah
19:41 TimToady m: say ((1..6).roll(2) xx 100).map: { $^a == $^b ?? $a !! () } )
19:41 camelia rakudo-moar cce7f9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/S8kOxOU396�Unexpected closing bracket�at /tmp/S8kOxOU396:1�------> [32mxx 100).map: { $^a == $^b ?? $a !! () } [33m�[31m)[0m�»
19:41 TimToady m: say ((1..6).roll(2) xx 100).map: { $^a == $^b ?? $a !! () }
19:41 camelia rakudo-moar cce7f9: OUTPUT«1 5 5 4 1 5 5 1 6 2 3 2 1 3 4 5 1 2 1␤»
19:42 colomon_windows TimToady++
19:42 colomon_windows m: say +((1..6).roll(2) xx 100).map: { $^a == $^b ?? $a !! () }
19:42 camelia rakudo-moar cce7f9: OUTPUT«100␤»
19:42 colomon_windows "\
19:42 colomon_windows :\
19:42 TimToady m: say ((1..6).roll(2) xx 100).map: { $^a == $^b ?? $a !! () }.list.elems
19:42 camelia rakudo-moar cce7f9: OUTPUT«No such method 'count' for invocant of type 'Int'␤  in method reify at src/gen/m-CORE.setting:7677␤  in method reify at src/gen/m-CORE.setting:7589␤  in method reify at src/gen/m-CORE.setting:7589␤  in method reify at src/gen/m-CORE.setting:7589␤…»
19:43 TimToady m: say ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () }).list.elems
19:43 camelia rakudo-moar cce7f9: OUTPUT«100␤»
19:43 colomon_windows not filtering out () ?
19:43 TimToady m: say ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () }).perl
19:43 camelia rakudo-moar cce7f9: OUTPUT«((), 4, (), (), (), (), (), (), 1, (), (), (), 3, (), 4, (), (), (), (), (), (), (), (), (), (), (), (), 2, (), 4, (), (), 3, (), 1, (), (), (), (), (), 5, 1, (), (), (), (), 2, (), (), (), (), (), (), (), (), 4, 4, (), 5, 1, (), (), 4, (), (), (), (), (),…»
19:43 TimToady m: say ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () }).list.perl
19:43 camelia rakudo-moar cce7f9: OUTPUT«((), (), (), (), (), (), (), 5, (), (), (), 5, (), (), (), 1, (), (), (), 1, (), (), (), (), (), 6, 5, (), (), (), (), (), (), (), 2, 2, 2, (), (), (), (), (), (), 1, (), (), (), 1, (), (), (), (), (), 4, (), 1, (), (), (), (), (), (), (), (), (), (), (), …»
19:44 * dwarring lizmat++ for uncovering %$x bug
19:44 TimToady m: say (list ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () })).perl
19:45 camelia rakudo-moar cce7f9: OUTPUT«((), (), 6, (), (), 3, (), (), (), 6, 2, (), (), 2, (), 5, (), 1, (), (), (), (), (), (), 4, (), (), (), (), (), (), 5, (), (), (), (), (), (), 5, (), (), (), (), (), (), (), 1, (), (), 1, 4, (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), …»
19:45 TimToady that's just wrong
19:45 colomon_windows m: say ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () }).grep( *.defined ).perl
19:45 camelia rakudo-moar cce7f9: OUTPUT«(4, 4, 6, 6, 5, 1, 2, 3, 3, 6, 2, 4, 2, 1, 2, 5).list␤»
19:45 timotimo m: .say for ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () })
19:45 colomon_windows m: say ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () }).grep( *.defined ).elems
19:45 camelia rakudo-moar cce7f9: OUTPUT«2␤4␤2␤1␤5␤2␤5␤1␤4␤1␤3␤1␤5␤3␤5␤2␤6␤4␤3␤»
19:45 camelia rakudo-moar cce7f9: OUTPUT«19␤»
19:45 colomon_windows 19 doubles out of 100 rolls is pretty normal
19:45 colomon_windows should be ~16 ideally...
19:46 colomon_windows m: say ((1..6).roll(2) xx 1000).map({ $^a == $^b ?? $a !! () }).grep( *.defined ).elems
19:46 moritz m: say (flat ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () })).perl
19:46 camelia rakudo-moar cce7f9: OUTPUT«163␤»
19:46 camelia rakudo-moar cce7f9: OUTPUT«(3, 1, 6, 4, 5, 1, 4, 5, 3, 6, 6, 5, 4, 2, 3, 2, 6, 5, 2, 3).list␤»
19:46 TimToady m: my @a; @a.push: ((1..6).roll(2) xx 100).map({ $^a == $^b ?? $a !! () }); say @a.elems
19:46 moritz colomon_windows: I think TimToady++ meant list() not flattening out the ()
19:46 camelia rakudo-moar cce7f9: OUTPUT«13␤»
19:46 colomon_windows moritz: right, I knew that, I was just finishing my original thought.
19:46 moritz but list() isn't flat()
19:46 TimToady well, maybe list doesn't commit between slurpy and lol
19:47 carlin joined #perl6
19:47 TimToady okay
19:48 * TimToady hopes to wake up from his nap soon
19:49 TimToady say <a b c>.WHAT
19:50 timotimo damn, am i existing only in someone's dream *again*?
19:50 TimToady m: say <a b c>.WHAT
19:50 camelia rakudo-moar cce7f9: OUTPUT«(Parcel)␤»
19:50 molaf joined #perl6
19:50 TimToady m: say <a b c>.list.WHAT
19:50 camelia rakudo-moar cce7f9: OUTPUT«(List)␤»
19:50 TimToady m: say <a b c>.flat.WHAT
19:50 camelia rakudo-moar cce7f9: OUTPUT«(List)␤»
19:53 gtodd TimToady: camelia is going to come alive and challenge us all to craps
19:53 gtodd and we are going to lose ...
19:55 avar joined #perl6
19:55 kaiserpathos joined #perl6
19:58 * colomon_ 's only useful craps-playing ability is to be able to (badly) sing the craps songs from Guys and Dolls and Porgy and Bess.
20:01 raiph joined #perl6
20:08 pippo m: my $cmd = 'ls'; qx/$cmd/;
20:08 camelia rakudo-moar cce7f9: OUTPUT«qx, qqx is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub QX at src/RESTRICTED.setting:9␤  in block  at /tmp/dANCryb6Hd:1␤␤»
20:09 pippo Hello perl6. How can I get a variable interpolated into qx/.../ ?
20:10 TimToady use qqx instead
20:10 timotimo aye, or use q:x:c and wrap the variable in { }
20:10 pippo TimToady: timotimo: thank you!
20:15 SevenWolf joined #perl6
20:19 lizmat joined #perl6
20:19 water joined #perl6
20:20 denis_boyun__ joined #perl6
20:20 woolfy joined #perl6
20:22 Alina-malina joined #perl6
20:23 frickenate joined #perl6
20:24 rurban1 joined #perl6
20:26 eternaleye joined #perl6
20:37 brrt left #perl6
20:48 dalek joined #perl6
20:53 dalek roast: fcf699a | (David Warring david.warring@gmail.com)++ | S02-types/flattening.t:
20:53 dalek roast: test @ % flattening of arrayrefs and hashrefs
20:53 dalek roast: review: https://github.com/perl6/roast/commit/fcf699a1fe
20:53 timotimo what, arrayrefs? hashrefs?
20:58 dwarring yup!!
20:58 dwarring exposed by lizmat's fix
20:59 dwarring was there before, but counteracted by the other bug
20:59 timotimo aren't we past that?
21:00 dwarring is my terminology wrong?
21:00 timotimo possibly; please explain to me what it means in this case?
21:01 jnthn We don't really have a concise alternative terminology
21:01 jnthn I could say "itemized hash" or "itemized array" perhaps
21:01 dwarring $x = [1,2,3]; # hashref
21:01 jnthn I hope you meant arrayref :P
21:01 timotimo what, there's no hash in there
21:01 dwarring ah yes
21:01 jnthn .oO( or itemized array :P )
21:02 jnthn I don't mind folks calling it arrayref/hashref, tbh. Mostly 'cus I don't have a better suggestion :)
21:02 dwarring $hashref = {a => b}; $arrayref = [1,2]
21:02 timotimo arrayref and hashref calls some really bad thoughts into my head :P
21:05 geekosaur sounds p5-y
21:05 FROGGS it is
21:05 dwarring is it better to say 'itemized' array/hash?
21:05 FROGGS this would be more correct
21:05 timotimo i'd prefer that, but i've never p5'd
21:06 FROGGS but ~ref isnt that bad
21:06 timotimo how is %hash = { a => "b" }; not also a hash ref? :P
21:06 timotimo everything ref's in perl6
21:06 timotimo .o( refs? )
21:08 masak 'night, #perl6
21:08 FROGGS nice, I can precompile Archive::Tar noe
21:08 FROGGS now*
21:09 jnthn yays
21:09 timotimo oh, that's good. but what changed?
21:09 FROGGS my code :P
21:09 timotimo ah, hehehe
21:09 FROGGS see https://github.com/FROGGS/p6-Archive-Tar/com​mit/0b047be8da7fbd179a771aaf665795655e681524
21:10 timotimo oh, that's an interesting pattern
21:10 FROGGS fault5 here shows the use-use-require bug: https://github.com/FROGGS/frame_inc
21:11 FROGGS I hope I do not get slapped by TimToady for that 'BEGIN try require' :P
21:14 hugme joined #perl6
21:17 jack_rabbit joined #perl6
21:17 * jnthn wishes "use-use-require" didn't immediately play in his head as an awful cover of "ice-ice-baby"
21:17 FROGGS *g*
21:17 FROGGS ahhh, tssss
21:18 bluescreen100 joined #perl6
21:18 timotimo in my head, it doesn't sound similar enough
21:22 dalek roast: f08c5ba | (David Warring david.warring@gmail.com)++ | S02-types/flattening.t:
21:22 dalek roast: terminology arrayref => itemized array etc
21:22 dalek roast: review: https://github.com/perl6/roast/commit/f08c5badf0
21:23 timotimo thank you :)
21:23 dwarring np :)
21:26 pippo good night perl6!
21:26 pippo left #perl6
21:37 thou joined #perl6
21:44 colomon_ okay, for now module smoke tests run in rakudo-m on my linux box and the results are automatically uploaded to http://host07.perl6.com:8080/report
21:46 carlin oh :( Crypt::Bcrypt is failing
21:47 carlin hmm, failing prereqs but NativeCall and LibraryMake are passing...
21:47 carlin colomon_: what backend is used?
21:48 colomon_ carlin: moat
21:48 colomon_ moar
21:48 carlin hmm, that should be working
21:48 colomon_ In this case I think failing prereqs may mean panda was fatalling confused
21:48 carlin ah
21:49 jnthn X::IO::Dir.new(path => "/home/smoker/emmentaler/.p​anda-work/1404422275_363", os-error => "Failed to open dir: 2")
21:49 colomon_ or rather, to be more precise, non-Panda error
21:49 carlin a case of pandamonium
21:49 jnthn yeah, that looks...curious...
21:49 colomon_ so the smoker doesn't know what stage it failed in.
21:51 ccverg left #perl6
21:51 colomon_ hmm, it does build successfully for me with a different account on the same box
21:53 * colomon_ luckily has gotten much better at running emmentaler on a small subset of the full list of projects
21:53 jack_rabbit joined #perl6
21:53 timotimo these OS Errors could really get a little more specific as to what those numbers mean ...
21:53 denis_boyun_ joined #perl6
21:53 timotimo "perl6 is all about good error messages. except all errors that come from the OS. you need man pages from random syscalls for those. which syscall? i don't know, better check all of them to be sure!"
21:55 jnthn timotimo: Yeah...should be a way to make it into a string.
22:02 orafu joined #perl6
22:02 orafu joined #perl6
22:07 psch https://gist.github.com/pe​schwa/e5aee72dcce9d4b60ec1 # some jdb-output, if anyone has an idea
22:07 psch afaiu, the outer chain seems to look ok
22:07 psch is '&return' a sensible target for a static lookup?
22:08 colomon_ carlin: https://gist.github.com/co​lomon/3e1199d6086e981716c8
22:08 jnthn yes, it should find it in the setting
22:08 jnthn which is an outer scope
22:09 psch i also noticed that the &return call in line 22 of the first file isn't the only thing that breaks, &die breaks in the same spot as well
22:10 gfldex joined #perl6
22:11 psch jnthn: the setting is outer from GLOBALish?
22:12 psch i.e. i was wrong and the outer chain breaks (at least) one element before it should?
22:14 btyler joined #perl6
22:15 psch also, tc.curFrame.oLex has a null element where i think $*DISPATCHER should be, i don't know if that's significant
22:18 carlin colomon_: it says it installed LibraryMake in /home/smoker/emmentaler/installlib/lib/ but in the error it doesn't seem to be looking for deps in that directory :s
22:19 colomon_ yes
22:26 colomon_ carlin: I wonder if the problem is in calling your Build.pm
22:32 colomon_ Yeah, I'm betting that's it.
22:33 rurban2 joined #perl6
22:33 colomon_ https://github.com/tadzik/panda/bl​ob/master/lib/Panda/Builder.pm#L57
22:34 carlin Auth::Pam::Simple which uses LibraryMake seems to have the same problem
22:34 colomon_ yes
22:34 carlin are installed deps not being made available during Build time
22:34 colomon_ I think they're not being made available during Build.pm time
22:37 colomon_ if you look at the code at that link above, it requires Build.pm right into the executing copy of Panda.  But I think (though possibly I'm wrong) it doesn't do anything to make sure the current panda can see the emmentaler install directory
22:49 jnthn psch: GLOBALish isn't a lexical scope
22:49 jnthn psch: Though UNIT is, and the UNIT scope contains GLOBALish. There should be one more scope beyond that.
22:50 psch jnthn: right, so i have confirmed your first hunch with some 6 hours of jdb debugging :)
22:51 psch let's see how long it takes me to find out what to do where to try and repair it!
22:54 jnthn Last time I saw an issue like this, it related to https://github.com/rakudo/rakudo/b​lob/nom/src/Perl6/World.nqp#L1686
22:54 jnthn The comment there is actually oudated, though; the JVM is also using the same codepath as Moar there these days.
22:56 jnthn oh, and the other place was https://github.com/rakudo/rakudo/blob​/nom/src/Perl6/ModuleLoader.nqp#L298
22:57 psch thanks, i'll look around from there tomorrow and see if i can do anything about this
22:57 psch for today it's good night o/
22:58 jnthn OK; thanks for looking at it
22:58 jnthn 'night
23:02 HACKING-FACEBOOK joined #perl6
23:02 HACKING-FACEBOOK joined #perl6
23:02 HACKING-FACEBOOK joined #perl6
23:09 * jnthn gets some rest also
23:14 cotto joined #perl6
23:14 nickpatch joined #perl6
23:15 yeltzooo joined #perl6
23:15 atta joined #perl6
23:15 Timbus joined #perl6
23:23 xragnar joined #perl6
23:43 xragnar_ joined #perl6
23:54 * lizmat made it to London but spent too much time in pubs there to make any sense anymore right now

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

Perl 6 | Reference Documentation | Rakudo