Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-31

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 timotimo retupmoca: also, could Compress::Zlib::Raw also grab the dll from that website?
00:05 kurahaupo joined #perl6
00:06 aborazmeh joined #perl6
00:06 aborazmeh joined #perl6
00:07 retupmoca timotimo: currently, I have the .dll right in the repo for zlib and openssl, since they're pretty small (very small, in the case of zlib)
00:07 retupmoca but I'll add cairo and SDL to my todo list :)
00:08 retupmoca and I can change the zlib/openssl .dll bundling to download like GTK does as well, if it's preferred
00:09 timotimo thank you very much
00:09 timotimo that'd be pretty cool
00:11 timotimo https://p6weekly.wordpress.com/?p=​468&shareadraft=5519e63255847 - does anything seem to be missing or wrong?
00:20 aborazmeh joined #perl6
00:20 aborazmeh joined #perl6
00:29 larion joined #perl6
00:40 laouji joined #perl6
00:42 fhelmberger joined #perl6
00:44 laouji joined #perl6
00:45 tinyblak joined #perl6
00:46 tinyblak_ joined #perl6
01:01 Augustus joined #perl6
01:02 Augustus is anyone here familiar with the internals of NQP's regex engine?
01:04 timotimo i am a little bit
01:04 timotimo what in particular are you interested in?
01:05 Augustus I am wondering what is involved to create custom cursors
01:05 Augustus It looks like some of the matching logic is in the cursors
01:05 Augustus I was hoping that cursors were just handling walking through the input
01:06 timotimo may i ask what you're hoping to get from a custom cursor?
01:06 timotimo m: say "foo" ~~ / f { $/.CURSOR.WHAT.say } /
01:06 camelia rakudo-moar 01e174: OUTPUT«(Cursor)␤「f」␤»
01:06 timotimo m: say "foo" ~~ / f { $/.CURSOR.^mro.say } /
01:06 camelia rakudo-moar 01e174: OUTPUT«(Cursor) (Any) (Mu)␤「f」␤»
01:06 Augustus well I would like to make a cursor that generalizes from character sequences to sequences of arbitrary objects for one
01:07 Augustus but I would also like to make a bit-stream cursor
01:07 timotimo oh, i like the sound of that
01:07 timotimo but i'm not sure if that'll work well without also changing code-gen
01:07 tony-o Augustus++
01:07 Augustus it would also be nice to be able to make a cursor that walks other structurs
01:07 Augustus certain tree structures have in-order walks etc
01:08 timotimo walking tree structures can already be done quite nicely with gather/take at least :)
01:08 timotimo and since gather/take will keep generated values around, backtracking is also possible in a way
01:08 arnsholt Yeah, you don't want grammars if you want to traverse a structure
01:08 timotimo but using rules etc for that would be much better of course
01:08 Augustus can you use that to match a regex against it?
01:08 timotimo no, you cannot :(
01:09 timotimo but the design document says things about matching lists/streams/whatevs of objects against rules (that are specifically designed to handle that)
01:09 Augustus is that in an apocalypse somewhere?
01:10 Augustus I have not read through 100% of all of them
01:10 timotimo i thought it was in the synposes actually
01:10 Augustus even if there's no implementation I would love to read what other people were thinking on this subject
01:11 timotimo http://design.perl6.org/S05.htm​l#Matching_against_non-strings
01:12 timotimo sadly rather short :(
01:12 Augustus arnsholt: so long as you can reverse your walk in a well defined manner, or if you can suffice with simple look ahead, it makes sense to do regex matching against other structures
01:12 Augustus timotimo: thanks
01:12 timotimo hm
01:12 timotimo not as glorious as i had remembered
01:14 Augustus Forcing objects into Str can work for many interesting applications, but I think dealing with bit-streams is going to really require a custom cursor
01:14 timotimo you want non-byte-aligned specifically, right?
01:15 Augustus yeah
01:15 arnsholt Yeah, parsing non-strings is wanted, but not at all figured out ATM AFAIK
01:16 Augustus my idea is to basically compile textual regexes written with 0/1 or 0-9A-F into bit patterns
01:16 Augustus and hopefully be able to do effecient byte operations when possible
01:17 Augustus and fall back to arbitrary bit stuff as needed
01:17 Augustus oh and obviously a special adverb on the regex to compile it to binary
01:18 Augustus probably also some special handling to deal with endianness so you can treat larger groups of bits as native integers
01:18 timotimo i wish you the best of luck with this
01:19 timotimo i'm going to bed now :)
01:19 timotimo gnite!
01:19 Augustus gn
01:31 Sqirrel joined #perl6
01:39 SomeStrangeTest joined #perl6
01:41 SomeStrangeTest hi - I'm having a problem installing Task::Star with Panda using rakudobrew
01:41 SomeStrangeTest Cannot look up attributes in a type object
01:41 SomeStrangeTest in method files at src/gen/m-CORE.setting:26719
01:42 SomeStrangeTest that mean anything to anybody?
01:46 SomeStrangeTest line in question is: (add-to-list 'auto-mode-alist '("\\.vm$" . html-mode))
01:46 SomeStrangeTest oops, not that one
01:46 SomeStrangeTest for %!dists.kv -> $path, $repo {
01:46 SomeStrangeTest which I guess means dists is a type?!
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
01:47 aborazmeh joined #perl6
01:47 aborazmeh joined #perl6
01:48 TimToady SomeStrangeTest: means self is a type, rather than an instantiated object
01:48 raydiak that error message might be better if it somehow mentioned or implied that type objects also mean "undefined"
01:49 SomeStrangeTest ok, that seems more likely...I see %!dists used here and there in the file and it really doesn't look like a type
01:50 SomeStrangeTest this is from a fresh install of rakudobrew...what are the chances that it's broken?
01:50 TimToady the chances are always 50-50  :)
01:50 SomeStrangeTest :)
01:51 SomeStrangeTest it appears my panda is altogether broken...just the command panda alone produces it
01:51 SomeStrangeTest I may have confused it by installing in a weird directory
01:52 raydiak probably a totally different problem but I get a broken dependency on SVG when I try to install Task::Star...not sure where SVG went but it's...gone? from the whole ecosystem
01:56 raydiak I see the problem...trailing comma in it's new "provides" is invalid json
02:00 raydiak .tell moritz https://github.com/moritz/svg/pull/2
02:00 yoleaux raydiak: I'll pass your message to moritz.
02:16 tony-o timotimo: https://github.com/tony-o/perl6-overwatch
02:17 tony-o tossed that together, no meta and incomplete readme so far but the thing seems to work (and it seems to react faster than supervisor)
02:19 noganex_ joined #perl6
02:27 dalek roast: 74bd2ec | Coke++ | S32-list/squish.t:
02:27 dalek roast: reduce scope of TODO
02:27 dalek roast:
02:27 dalek roast: some of these already pass
02:27 dalek roast: review: https://github.com/perl6/roast/commit/74bd2ec377
02:31 Sqirrel joined #perl6
02:32 aborazmeh_ joined #perl6
02:32 aborazmeh_ joined #perl6
02:34 dalek roast: e20a16b | Coke++ | S32-io/io-handle.t:
02:34 dalek roast: These tests pass, unfudge them.
02:34 dalek roast:
02:34 dalek roast: Also track deprecation warning
02:34 dalek roast: review: https://github.com/perl6/roast/commit/e20a16b2be
02:34 dalek rakudo/nom: 6186f03 | Coke++ | t/spectest.data:
02:34 dalek rakudo/nom: Run these pre-fudged tests
02:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6186f03e5d
02:35 jdv79 is the GLR underway?
02:39 [Coke] no. waiting on pmi
02:40 [Coke] *pmichaud
02:44 [Coke] m: use Test; ok (chars "abcdef" > 4),     "chars() has the right precedence (1)";
02:44 camelia rakudo-moar 01e174: OUTPUT«Cannot call Real(Failure: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in method Real at src/gen/m-CORE.setting:4823␤  in sub infix:<>> at src/gen/m-CORE.setting:5351␤  in block <unit> at /tmp/wv90q9SFar:1␤␤»
02:44 [Coke] m: say chars "abcdef" > 4
02:44 camelia rakudo-moar 01e174: OUTPUT«Cannot call Real(Failure: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in method Real at src/gen/m-CORE.setting:4823␤  in sub infix:<>> at src/gen/m-CORE.setting:5351␤  in block <unit> at /tmp/jZlb7mKLKf:1␤␤»
02:44 [Coke] m: say chars "abcdef"
02:44 camelia rakudo-moar 01e174: OUTPUT«6␤»
02:45 [Coke] m: (chars "abcdef" ) >6
02:45 camelia rakudo-moar 01e174: ( no output )
02:45 [Coke] m: say (chars "abcdef" ) >6
02:45 camelia rakudo-moar 01e174: OUTPUT«False␤»
02:45 [Coke] Should that fail without parens? t/spec/S32-str/length.t thinks not.
02:47 Possum joined #perl6
02:49 larion joined #perl6
02:49 raiph joined #perl6
02:50 colomon hmmm
02:51 colomon m: say sin 1
02:51 camelia rakudo-moar 01e174: OUTPUT«0.841470984807897␤»
02:51 colomon m: say sin 1 - 1
02:51 camelia rakudo-moar 01e174: OUTPUT«0␤»
02:52 colomon [Coke]: if it never worked in niecza, I wonder if it just worked in rakudo by accident.
02:52 jdv79 just curious if anyone knew if pmichaud was privately making awesome happen
02:59 dalek roast: e566f87 | Coke++ | S05-modifier/perl5_9.t:
02:59 dalek roast: remove old pugs fudge, add rakudo fudge
02:59 dalek roast: review: https://github.com/perl6/roast/commit/e566f8795a
02:59 dalek rakudo/nom: fbf5f2c | Coke++ | t/spectest.data:
02:59 dalek rakudo/nom: run recently fudged test
02:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fbf5f2c9b8
02:59 [Coke] jdv79: not to my knowledge.
03:01 kaare_ joined #perl6
03:06 dalek rakudo/nom: a7b6849 | Coke++ | t/spectest.data:
03:06 dalek rakudo/nom: run recently fudged test
03:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a7b6849915
03:07 dalek roast: 28a9fc9 | Coke++ | S03-smartmatch/hash-hash.t:
03:07 dalek roast: reduce scope of todo, some of these already pass
03:07 dalek roast: review: https://github.com/perl6/roast/commit/28a9fc9864
03:08 albert joined #perl6
03:10 albert Greetings! When I try to install Task::Star with Panda I get the following error: "*resolve stage failed for Task::Star: Dependency SVG is not present in the module ecosystem". What can be the cause?
03:11 [Coke] albert: http://irclog.perlgeek.de/p​erl6/2015-03-31#i_10366478
03:12 [Coke] Can folks examine S12-class/parent_attributes.t ? It's not run by default, fails, and dates from 2008. I suspect it might be no longer valid p6.
03:12 albert Thanks, Coke!
03:26 albert Sorry, Coke, but how this kind of error with meta.info files is supposed to be corrected?
03:30 raydiak albert: moritz (the module's owner) has to pull the fix after he wakes up (in Germany), which contains this change: https://github.com/moritz/svg/pull/2/files
03:31 albert Ohh, thanks!
03:31 raydiak yw :)
03:43 labster [Coke]: I use quotemeta in Perl 5 for two things: passing untrusted data into a regex, and passing untrusted data onto the command line.  The first is deprecated now with double quoted strings, but the second use is still useful.
03:44 labster Though tbh, single quotes at the command line with that single quote escape '\'' would probably be better
03:49 larion joined #perl6
03:56 raydiak can't backslash-escape in single-quoted strings in bash, have to escape like '"'"'
04:12 KCL_ joined #perl6
04:24 BenGoldberg joined #perl6
04:30 laouji joined #perl6
04:50 larion joined #perl6
05:12 tony-o that '"'"' trick works p well
05:22 laouji joined #perl6
05:31 Sqirrel joined #perl6
05:45 TimToady m: say infix:<~>('a','b','c')  # oopsie on list associative operator
05:45 camelia rakudo-moar a7b684: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JILrnivzqY␤Calling infix:<~>(Str, Str, Str) will never work with proto signature ($?, $?)␤at /tmp/JILrnivzqY:1␤------> 3say 7⏏5infix:<~>('a','b','c')  # oopsie on list␤»
05:52 raydiak .tell moritz also SVG::Plot is missing from projects.json though I haven't a clue why...errors.json is empty, and it's even still listed on modules.perl6.org atm
05:52 yoleaux raydiak: I'll pass your message to moritz.
06:11 yeahnoob joined #perl6
06:13 Rounin joined #perl6
06:21 dalek Inline-Perl5: c9e8e30 | PerlJam++ | META.info:
06:21 dalek Inline-Perl5: Add {test,build}-depends to META.info
06:21 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/c9e8e30ba6
06:21 dalek Inline-Perl5: 14b2b74 | niner++ | META.info:
06:21 dalek Inline-Perl5: Merge pull request #18 from perlpilot/meta
06:21 dalek Inline-Perl5:
06:21 dalek Inline-Perl5: Add {test,build}-depends to META.info
06:21 dalek Inline-Perl5:
06:21 dalek Inline-Perl5: Thanks to perlpilot++
06:21 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/14b2b74017
06:26 telex joined #perl6
06:28 moritz raydiak: yes, I've noticed. Need to investigate
06:28 yoleaux 02:00Z <raydiak> moritz: https://github.com/moritz/svg/pull/2
06:28 yoleaux 05:52Z <raydiak> moritz: also SVG::Plot is missing from projects.json though I haven't a clue why...errors.json is empty, and it's even still listed on modules.perl6.org atm
06:28 [Tux] nine_, "META.info".IO ~~ s{author} = "auth"; # and maybe add "authors" : "Your Real Name"
06:28 [Tux] nine_, "META.info".IO ~~ s{author} = "auth"; # and maybe add "authors" : [ "Your Real Name" ],
06:32 dalek roast: 7c4672c | usev6++ | S02-types/capture.t:
06:32 dalek roast: Add tests for RT #116002
06:32 dalek roast: review: https://github.com/perl6/roast/commit/7c4672ced8
06:32 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=116002
06:34 gfldex joined #perl6
06:35 moritz raydiak: http://ecosystem-api.p6c.org/projects.json lists SVG::Plot
06:37 FROGGS joined #perl6
06:37 moritz raydiak: you probably just need to update your projects.json; my hypothesis is that the ddos on github made the META.info URL unavailable for some time
06:39 FROGGS o/
06:41 moritz raydiak: in fact, I can now install it with a newly bootstrapped panda
06:41 moritz \o FROGGS
06:43 jack_rabbit joined #perl6
06:51 larion joined #perl6
06:54 dalek rakudo/nom: 978607a | TimToady++ | src/core/Str (2 files):
06:54 dalek rakudo/nom: infix:<~> needs list associative implementation
06:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/978607a634
06:54 dalek rakudo/nom: 437fd11 | TimToady++ | src/core/precedence.pm:
06:54 dalek rakudo/nom: add associativity into prec info carried by ops
06:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/437fd11ee0
06:54 dalek rakudo/nom: f96ad35 | TimToady++ | src/core/LoL.pm:
06:54 dalek rakudo/nom: use correct assoc for :with in cross and zip
06:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f96ad358bb
06:54 dalek rakudo/nom: 2b303a0 | TimToady++ | src/core/traits.pm:
06:54 dalek rakudo/nom: don't copy assoc on tighter/looser
06:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2b303a0dcf
06:58 Akagi201 joined #perl6
07:00 dalek doc: 335b030 | paultcochrane++ | lib/Language/5to6.pod:
07:00 dalek doc: Document PERL6LIB
07:00 dalek doc: review: https://github.com/perl6/doc/commit/335b0307b4
07:02 xprime joined #perl6
07:05 RabidGravy joined #perl6
07:08 masak good morning, #perl6
07:09 zakharyas joined #perl6
07:09 bartolin_ o/ masak
07:10 moritz \o masak, bartolin_
07:17 spider-mario https://p6weekly.wordpress.com/2015/0​3/31/2015-13-the-first-weekly-of-2015​-that-wont-be-mistaken-for-a-monthly/
07:17 spider-mario so that’s what they were!
07:17 spider-mario I must admit that I was confused
07:17 spider-mario I thought we were talking about 2015.12 because it was supposed to be 1.0 (Christmas)
07:18 bartolin_ btw timotimo++
07:20 moritz timotimo++
07:23 jack_rabbit joined #perl6
07:24 TimToady m: say infix:<~>('a','b','c')  # better
07:24 camelia rakudo-moar 2b303a: OUTPUT«abc␤»
07:25 TimToady m: say cross(<a b>;<c d>;<e f>):with(&infix:<~>)
07:25 camelia rakudo-moar 2b303a: OUTPUT«ace acf ade adf bce bcf bde bdf␤»
07:26 TimToady m: say zip(1,2;2,3;3,4):with(&infix:<**>)
07:26 camelia rakudo-moar 2b303a: OUTPUT«1 2417851639229258349412352␤»
07:26 TimToady m: say 2 ** 3 ** 4
07:26 camelia rakudo-moar 2b303a: OUTPUT«2417851639229258349412352␤»
07:27 dalek doc: aa53797 | paultcochrane++ | lib/Language/5to6.pod:
07:27 dalek doc: Add note about PERL6LIB being a developer convenience
07:27 dalek doc:
07:27 dalek doc: Thanks to masak++ for pointing this out
07:27 dalek doc: review: https://github.com/perl6/doc/commit/aa537978a3
07:27 nwc10 r: say 0 ** 0
07:27 camelia rakudo-moar 2b303a: OUTPUT«1␤»
07:27 nwc10 r: say 2 ** 95
07:27 camelia rakudo-moar 2b303a: OUTPUT«39614081257132168796771975168␤»
07:28 [ptc] m: say -1 ** 0
07:28 camelia rakudo-moar 2b303a: OUTPUT«-1␤»
07:28 nwc10 r: say -1 ** 0.5
07:28 camelia rakudo-moar 2b303a: OUTPUT«-1␤»
07:28 nwc10 r: say (-1) ** 0.5
07:28 camelia rakudo-moar 2b303a: OUTPUT«NaN␤»
07:29 nwc10 r: say (-1) ** 0.6
07:29 camelia rakudo-moar 2b303a: OUTPUT«NaN␤»
07:29 nwc10 r: say (-1) ** (1/3)
07:29 camelia rakudo-moar 2b303a: OUTPUT«NaN␤»
07:29 [ptc] nwc10: shouldn't that be complex?
07:29 nwc10 possibly
07:29 moritz m: say (-1 + 0i) ** (1/3)
07:29 camelia rakudo-moar 2b303a: OUTPUT«0.5+0.866025403784439i␤»
07:29 nwc10 but IIRC the cube root of -1 doesn't need to be complex
07:29 [ptc] the square root has to be though...
07:29 nwc10 so I was curious if the implementation is smart enough to know that
07:30 nwc10 any even root has to be
07:30 moritz there are three cube root of -1
07:30 nwc10 (I think)(and any odd root isn't)
07:30 nwc10 there are 2 square roots of 4, but we only return one :-)
07:30 moritz one of them is real
07:30 nwc10 r: 4 ** 0.5
07:30 camelia rakudo-moar 2b303a: ( no output )
07:30 nwc10 r: say 4 ** 0.5
07:30 camelia rakudo-moar 2b303a: OUTPUT«2␤»
07:31 nwc10 (and don't ask me about irrational roots of negatigve numbers, or whatever "all the cases that aren't m/n are called)
07:31 moritz m: say (-1).roots(3)
07:32 camelia rakudo-moar 2b303a: OUTPUT«0.5+0.866025403784439i -1+1.22464679914735e-16i 0.5-0.866025403784439i␤»
07:32 rindolf joined #perl6
07:32 masak I believe there's a notion of "canonical nth root" or something
07:32 masak it's whichever one has the smallest angle against the real axis in the complex plane
07:33 masak for square roots of positive reals, that's always a positive real
07:33 masak but yeah, there is some level of arbitrary in all of this
07:34 masak the most notable one probably being that -i could have been chosen as the imaginary unit, and it would've "all worked out", due to symmetry
07:34 * masak .oO( how do you know they *didn't* choose -i as the imaginary unit, and that's what we have been calling i all this time ) o.O
07:34 moritz "by convention"
07:35 masak right.
07:35 masak the convention is largely sane, though.
07:39 masak anyway -- don't think it was pointed out above -- you only get complex numbers from a calculation if you put in complex numbers as inputs.
07:39 masak that's why nwc10 got NaN
07:40 eli-se joined #perl6
07:40 masak I think it's a good default -- over the years, the only people I see being surprised by it are people who are testing Nth roots of negative numbers to see if complex numbers fall out ;)
07:40 masak and so it's a case like with `4..3`-style ranges. we could do more, and it might even seem cute today to do so, but it'd be more surprising and scary than useful.
07:43 eli-se Hello, Perl!
07:43 eli-se hello?
07:45 laouji joined #perl6
07:45 masak eli-se: come back! don't leave so quickly!
07:47 eli-se joined #perl6
07:48 eli-se Internet is borked. :[
07:48 masak have you tried turning it off and then on again?
07:49 eli-se m: my ($a, $b) = 42 xx 2; say $a, $b;
07:49 camelia rakudo-moar 2b303a: OUTPUT«4242␤»
07:49 eli-se nice :)
07:49 eli-se however 42 is evaluated twice
07:49 masak that's a feature
07:50 rurban_ joined #perl6
07:50 masak m: my @board = ['.' xx 3] xx 3; @board[1][1] = "X"; say @board.perl
07:50 camelia rakudo-moar 2b303a: OUTPUT«Array.new([".", ".", "."], [".", "X", "."], [".", ".", "."])␤»
07:50 masak eli-se: then ^^ works :)
07:50 eli-se yes :P
07:51 TimToady I don't think the 42 is re-evaluated; we notice it's a constant
07:51 masak of course, for something like 42 it could likely be optimized. but that's a diff'rent thing. I don't know if we do that.
07:51 masak right.
07:51 eli-se TimToady: that's an optimisation
07:51 eli-se in this case it's irrelevant since the behavior is the same
07:51 masak well, optimizations are not irrelevant.
07:51 TimToady performance is a side effect :)
07:52 eli-se the lack of heat as well
07:52 masak in fact, Perl 6 relies so heavily on optimizations that if optimizations didn't make a difference, Perl 6 wouldn't be fun to use :)
07:52 Akagi201_ joined #perl6
07:54 eli-se My terminal is bad at guillemets
07:55 eli-se or maybe it's perl6' input stuff
07:55 TimToady the REPL is bad at unicode
07:55 TimToady perl6 -e '...' works better
07:56 eli-se ok nice
08:04 eli-se I want custom sigils.
08:05 moritz make a slang!
08:06 abraxxa joined #perl6
08:07 abraxxa morning guys!
08:07 kjs_ joined #perl6
08:07 brrt joined #perl6
08:08 moritz good morning abraxxa, guys, gals, bots, and all other sentient entities
08:08 eli-se moritz: OMG
08:08 eli-se "Slang" is Dutch for snake. And Python is Dutch. Half Life 3 confirmed.
08:09 brrt good morning moritz and all
08:11 moritz bartolin_: re people who don't have a commit bit, just /msg me their github IDs
08:11 brrt yes, slang is dutch for snake, also for garden hose
08:11 eli-se tuinslang
08:12 dakkar joined #perl6
08:13 darutoko joined #perl6
08:13 masak eli-se: "slang" is short for "sublanguage" in Perl 6 lingo :)
08:14 eli-se masak: I suppose that isn't coincidental!
08:14 eli-se I have no commit bit!
08:14 Ven joined #perl6
08:14 * masak .oO( subnake )
08:14 moritz eli-se: what's your github userid?
08:14 eli-se rightfold
08:14 masak :)
08:14 masak stand by and watch magic happen
08:14 moritz fwiw english also has slangs
08:14 moritz or dialects
08:14 eli-se sigils are magic
08:15 moritz eli-se: github says "already a member of this team"
08:15 eli-se I see.
08:15 eli-se I didn't know that meant I could commit
08:15 moritz eli-se: which gives you access to nearly all repos on the perl6/ organization
08:15 moritz eli-se: in this particular case, it means that :-)
08:15 eli-se neat
08:16 moritz we're too lazy and liberal for fine-grained access control
08:16 moritz and are only a bit more restrictive for rakudo itself
08:16 * masak .oO( MLP: sigils are magic )
08:17 eli-se sigils are love. sigils are life.
08:18 masak sigils are marriage, husband and wife.
08:18 masak #perl6poem
08:19 moritz eli-se++, masak++
08:19 moritz and why do I have to think of Peter V. Brett's "Keep calm and draw wards" twitter tagline? :-)
08:20 jnthn morning, #perl6
08:20 moritz \o jnthn
08:20 azawawi joined #perl6
08:20 eli-se hello jnthn
08:20 azawawi hi
08:21 azawawi m: Supply.on_demand(sub {})
08:21 camelia rakudo-moar 2b303a: OUTPUT«Saw 1 call to deprecated code during execution.␤======================================​==========================================␤Method on_demand (from Supply) called at:␤  src/gen/m-Metamodel.nqp, line 1634␤Deprecated since v2015.3, will be remove…»
08:21 Ven we don't have anything related to double semicolons implemented, do we?
08:21 moritz Ven: yes we do
08:22 moritz Ven: you can use them as separators in a signature, indicating that multi-dispatch should only consider stuff before it
08:22 moritz (iirc)
08:22 * Ven has never really understood what that meant
08:22 eli-se paamayim nekudotayim
08:22 Ven so, how can I pass the extras arguments in then? Multi dispatch will fail to match my signature
08:22 eli-se oh wait that was colon not semicolon
08:22 Ven eli-se: they changed it ;)
08:22 eli-se Ven: noooo :(
08:23 moritz Ven: depends on how you write the signature after the ;;
08:23 eli-se Ven: look!
08:23 Ven moritz: I'm interested in an exemple, or a test. the syns weren't very clear last 3 times I looked ;)
08:23 moritz m: multi a($x;; *%a) { say %a.perl }; a 1, a => 42
08:23 camelia rakudo-moar 2b303a: OUTPUT«("a" => 42).hash␤»
08:24 dalek rakudo/nom: c8cab23 | jnthn++ | tools/build/NQP_REVISION:
08:24 dalek rakudo/nom: Bump NQP_REVISION for moreinput NQP bits.
08:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8cab23940
08:24 moritz Ven: S06-multi/syntax.t has some test(s)
08:24 masak eli-se++ # paamayim nekudotayim
08:24 masak eli-se: you are my kind of people :)
08:24 moritz Ven: the multi candidates are compile-time sorted by narrowness; this sorting ignore the part after the ;;
08:25 moritz (iiuc)
08:25 pecastro joined #perl6
08:25 moritz *ignores
08:25 Ven there are only one test and it doesn't make sense to me, though
08:27 moritz Ven: it tests exactly what I just wrote
08:27 moritz Ven: &foo can't sort the candidates, because (S, T) is neither narrower nor wider than (T, S)
08:28 moritz Ven: but &bar sorts (S, T) as (S) and (T, S) as (T), and S is narrower than T
08:28 Ven how is it night?
08:28 Ven not*
08:28 Ven depends what you pass to it..
08:28 jnthn psch++ # moreinput
08:28 moritz Ven: no
08:28 * jnthn just tried it for the first time :)
08:29 moritz Ven: a narrower type constraint is always narrower
08:29 Ven well, yeah
08:29 moritz Ven: independently of what you pass in
08:29 sdo joined #perl6
08:29 Ven m: class T{}; class S is T{}; multi foo(S $){0}; multi foo(T $){1}; say foo(T); # this should be a no-brainer
08:29 moritz because S ~~ T and T ~~ T, but not T ~~ S
08:29 camelia rakudo-moar 2b303a: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
08:29 Ven uh-ho.
08:29 sdo hello
08:29 Ven o/, sdo
08:30 moritz Ven: try with a space before the {
08:30 Ven m: class T{}; class S is T{}; multi foo(S $) {0}; multi foo(T $) {1}; say foo(T); # this should be a no-brainer
08:30 camelia rakudo-moar 2b303a: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
08:30 Ven m: class T {}; class S is T {}; multi foo(S $) {0}; multi foo(T $) {1}; say foo(T); # that one?
08:30 camelia rakudo-moar 2b303a: OUTPUT«1␤»
08:30 * masak submits rakudobug
08:30 jnthn I bet it's the is T{} parsing as a postcircumfix...it's still a bizzare error.
08:30 Ven incomprehension-based debugging
08:31 Ven I guess my real question is something else
08:31 Ven m: class T{}; class S is T{}; multi foo(S $) {0}; multi foo(T $) {1}; multi foo(T $;; S $ = Mu) say foo(T);
08:31 camelia rakudo-moar 2b303a: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
08:31 Ven m: class T {}; class S is T  {}; multi foo(S $) {0}; multi foo(T $) {1}; multi foo(T $;; S $ = Mu) say foo(T); # whoops
08:31 camelia rakudo-moar 2b303a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CgS9sMtgGv␤Missing block␤at /tmp/CgS9sMtgGv:1␤------> 3 foo(T $) {1}; multi foo(T $;; S $ = Mu)7⏏5 say foo(T); # whoops␤    expecting any of:␤        new name to be defined␤»
08:32 Ven I'll /msg camelia instead.
08:32 moritz you forgot to give the last multi a routine body
08:33 Ven I know. that's just enough spam for now :)
08:33 Ven so, ;; basically means "treat every next argument as Any + no where clause"
08:33 Ven s/next/following/
08:33 larion joined #perl6
08:34 moritz no
08:34 moritz Ven: you know how you can sort by a transformed value?
08:34 eli-se m: my @xs = 1..10; say for @xs
08:34 Ven moritz: sort(:as) ?
08:34 camelia rakudo-moar 2b303a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4JafY5jtgr␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/4JafY5jtgr:1␤------> 3my @xs = 1..10; say7⏏5 for @xs␤»
08:34 sdo _my friends u r heroes
08:34 Ven eli-se: .say
08:34 eli-se dammit
08:34 moritz m: say (-1, 2, -3, 4).sort(*.abs)
08:34 camelia rakudo-moar 2b303a: OUTPUT«-1 2 -3 4␤»
08:34 masak sdo: _you are a hero too, I'm sure
08:35 eli-se moritz: that's the kind of sort I like! none of that confusing comparator stuff
08:35 moritz Ven: the ;; tells the multi sorter to sort by only stuff before the ;;
08:35 moritz Ven: just like the above example told sort to only sort by *.abs
08:35 moritz eli-se: me too
08:35 Ven moritz: yeah, and "Any" doesn't weigh anything either in sorting, does it :)?
08:35 sdo i am rarzan you r jane 😊
08:35 moritz Ven: it does
08:35 masak sdo: every person is the protagonist of their own subjective experience ;)
08:35 moritz Ven: it sorts tighter than Mu
08:36 Ven moritz: alright, then, "Mu".
08:36 sdo yep
08:36 moritz masak++
08:36 * masak .oO( of this I have no proof )
08:36 moritz Ven: that, in turn, prevents junction autothreading
08:36 Ven moritz: sorry?
08:36 moritz m: sub f(Mu $x) { say $x.^name }; f 1|2
08:36 camelia rakudo-moar 2b303a: OUTPUT«Junction␤»
08:36 moritz m: sub f($x) { say $x.^name }; f 1|2
08:37 camelia rakudo-moar 2b303a: OUTPUT«Int␤Int␤»
08:37 Ven ah, I thought you needed to explicitly use "Junction", just like Whatever
08:37 moritz so no, replacing it with Mu is also not an accurate mental model
08:37 moritz Ven: no, autothreading is a fallback mechanism for failed dispatches, and Junction ~~ Mu
08:39 eli-se I wonder whether it's much effort to rewrite my compiler in Perl 6 from Perl 5.
08:39 eli-se I should look into Perl 5 interop.
08:39 moritz eli-se: there's Inline::Perl5
08:40 eli-se perfect
08:40 Ven eli-se: I had a hard time convincing you... :P
08:41 eli-se oh, only 549 LOC
08:43 Ven eli-se: will be less with p6 :P
08:43 eli-se probably :P
08:44 eli-se Nicest thing is multis for AST visiting
08:44 eli-se instead of type key and hash of subroutines
08:45 Ven write an adt, write an eval function, profit :P
08:45 Ven .oO( so long it's not uppercased )
08:45 espadrine joined #perl6
08:46 eli-se and then delete my VM? :(
08:46 Ven just output the same bytecode. isn't that why the VM is separated? :P
08:47 eli-se but why eval
08:48 Ven that's how ADT-using people call their adt-evaluating function
08:48 eli-se I don't evaluate ASTs
08:48 Ven m: eval 1; # it's EVAL in p6 (and doesn't have the same "try" semantics as perl5
08:48 camelia rakudo-moar 2b303a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BXvyRSSJJL␤Undeclared routine:␤    eval used at line 1␤␤»
08:49 eli-se I evalute bytecode found in obejct fiels.
08:49 Ven troo
08:57 * masak uses #| pod comments on MAIN multis for the first time
08:57 masak someone++
09:00 [ptc] yeah, that's very cool
09:00 * Ven remember discovering that in time just for his calendar post
09:00 [ptc] today I learned about the read-write version of a for loop  for @array <-> $array {}
09:01 [ptc] cool stuff
09:01 masak Juerd++ # ISTR
09:01 Ven [ptc]: i think <-> is the default for $_
09:01 masak yeah, it reads *really* well
09:01 masak it is.
09:01 Ven m: my @a = <a b c>; for @a {.=succ;}; say @a;
09:01 camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
09:02 rararara joined #perl6
09:04 moritz m: $_++ for (my @a = <a b c>); say @a
09:04 camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
09:05 jnthn m: say (my @a = <a b c>)>>++
09:05 camelia rakudo-moar c8cab2: OUTPUT«a b c␤»
09:05 jnthn Darn1
09:05 moritz keep calm and use the prefix version
09:05 moritz :-)
09:06 jnthn m: (my @a = <a b c>)>>++; say @a # but it did mutate, right? :)
09:06 camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
09:06 jnthn phew :)
09:06 jnthn Bug in me, not Rakudo :)
09:06 * FROGGS reports jnthnbug
09:06 jnthn EQUEUEFULL
09:07 masak m: say ++<<(my @a = <a b c>)
09:07 camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
09:09 eli-se joined #perl6
09:10 laouji joined #perl6
09:12 rararara left #perl6
09:12 arnsholt So:
09:12 arnsholt m: my $x = Proc::Async.new('ls');
09:12 camelia rakudo-moar c8cab2: OUTPUT«Proc::Async is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method new at src/RESTRICTED.setting:32␤  in block <unit> at /tmp/MQjLWaS65S:1␤␤»
09:12 arnsholt j: my $x = Proc::Async.new('ls');
09:12 camelia rakudo-jvm c8cab2: OUTPUT«Could not find symbol '&Async'␤  in method <anon> at gen/jvm/CORE.setting:15804␤  in any find_method_fallback at gen/jvm/Metamodel.nqp:2897␤  in any find_method at gen/jvm/Metamodel.nqp:1052␤  in any  at gen/jvm/BOOTSTRAP.nqp:1752␤  in block <unit…»
09:12 arnsholt But also:
09:12 arnsholt j: use Proc::Async;
09:12 camelia rakudo-jvm c8cab2: OUTPUT«===SORRY!===␤Could not find Proc::Async in any of: /home/camelia/rakudo-inst-2/share/perl6/runtime, /home/camelia/rakudo-inst-2/share/perl6/lib, /home/camelia/rakudo-inst-2/share/nqp/lib, /home/camelia/.perl6/2015.03-120-gc8cab23/lib, /home/camelia/.perl6…»
09:12 arnsholt JVM, y u no Proc::Async?
09:13 jnthn Not implemented yet :(
09:13 arnsholt Awww
09:13 arnsholt Was hoping going to JVM would shed light on the segfaults I got with Moar
09:13 eli-se JVM is good.
09:14 eli-se arnsholt: so instead you get NPEs :P
09:14 rararara joined #perl6
09:14 jnthn We've made the JVM SEGV plenty too in the history of r-j development ;P
09:14 arnsholt True that
09:14 arnsholt But with NPE's you usually at least get some context
09:14 jnthn Aye
09:15 * jnthn wants to kill all Moar SEGVs :)
09:15 eli-se What sigil do you need to get NPE context?
09:15 moritz eli-se: the nqp::null() sigil :-)
09:15 jnthn 💩
09:15 arnsholt Yeah, me too. I'll see what I can do, but likely this has something to do with the files I'm processing being big
09:17 rararara what is the newio branch?
09:18 jnthn rararara: I bunch of cleanups/improvements to the IO classes, largely their internals iiuc.
09:19 jnthn Though I think it implements a few missing features too
09:19 rararara why is it there a branch for that?
09:20 jnthn Same reason you'd use a branch for anything: you want the freedom as a developer to break some things for a while.
09:20 laouji joined #perl6
09:20 jnthn And since we do time-based releases, we try to keep the main branch as something we can always ship.
09:23 brrt joined #perl6
09:25 lichtkind joined #perl6
09:26 FROGGS ++arnsholt # for porting Proc::Async to JVM
09:26 arnsholt =p
09:27 arnsholt I suspect it's not Proc::Async that needs porting, it's the underlying process communication primitives
09:27 jnthn Right, the nqp:: ops
09:28 arnsholt And I'm kind of busy doing stuff for my PhD ATM =)
09:28 arnsholt Although...
09:28 arnsholt =D
09:28 arnsholt If I get a hankerin' for some procrastination, I might give it a whack
09:29 * jnthn wonders if the Perl 6 scripts arnsholt has been hacking on lately are PhD stuff :)
09:30 arnsholt They are =)
09:30 jnthn Neat :)
09:31 arnsholt I've extracted som data from the clammy hands of my boss's 20-year old (that is, developed for 20 years) Common Lisp codebase, and now it has to go into a DB
09:31 arnsholt So I dump the data to file from Lisp, and munge it into the DB with Perl 6
09:33 arnsholt Something went wrong when processing the largish (11M) files though, not sure what
09:33 arnsholt Rerunning the scripts now to see if it's consisten
09:33 arnsholt t
09:34 arnsholt I'm doing the text parsing line-by-line, so it shouldn't be the grammar bits nomming all of my memory at least
09:36 arnsholt Yeah, looks consistent
09:38 konsolebox joined #perl6
09:43 timotimo o/
09:58 brrt joined #perl6
10:03 nine_ nine@sunshine:~/Inline-Perl5 (master=)> panda gen-meta
10:03 nine_ Cannot look up attributes in a type object  in method files at src/gen/m-CORE.setting:26732  in sub MAIN at /home/nine/install/rakudo/insta​ll/share/perl6/site/bin/panda:3  in block <unit> at/home/nine/install/rakudo/inst​all/share/perl6/site/bin/panda:2
10:03 timotimo hm, do we have a ~/public_html on one of our p6c's?
10:03 yqt joined #perl6
10:03 nine_ FROGGS: ^^^^
10:03 eli-se joined #perl6
10:04 eli-se m: 1 && 2 || 3
10:04 camelia rakudo-moar c8cab2: ( no output )
10:04 eli-se allowed :[
10:04 masak m: say 1 && 2 || 3
10:04 camelia rakudo-moar c8cab2: OUTPUT«2␤»
10:04 timotimo nine_: this already came up; i'm not sure if someone is already trying to fix this
10:04 eli-se Oh right you can have non-Booleans there.
10:05 masak eli-se: did you expect that not to be allowed? why?
10:05 eli-se No I thought it was restricted to Booleans.
10:05 eli-se clang disallows it with -W{all,extra,error} flag
10:05 masak no, that's boring :)
10:06 masak Bool is the most covertable-to type of them all, and thus the most sensible one to coerce to implicitly
10:06 masak hm, maybe something like Void is more convertable-to, or maybe they tie...
10:06 moritz you can convert anything to Mu
10:06 eli-se that conversion would be the identity function
10:07 moritz or maybe I should have said: you can convert muthing to Mu :-)
10:07 moritz eli-se: that's the best one, IMHO :-)
10:08 masak m: say int ~~ Mu
10:08 camelia rakudo-moar c8cab2: OUTPUT«True␤»
10:08 masak rockin
10:08 eli-se implicit conversion from socket to hash
10:08 eli-se or from temporary directory to socket
10:08 timotimo yeah, it turns into a hash from mac address to contents of the computer
10:08 eli-se in Scala you define these.
10:08 timotimo *all* contents
10:11 azawawi I think http://modules.perl6.org is not using the latest Perl6 ecosystem API URLs. (i.e. http://ecosystem-api.p6c.org/projects.json)
10:11 tadzik it used to sync hourly
10:14 moritz I ran it today several time
10:14 moritz so it can't be *that+ much out-of-date
10:14 nine_ Seems like files cannot be called on the CompUnitRepo::Local::Installation class. It expects to be called on an object.
10:15 moritz also http://ecosystem-api.p6c.org/update.log contains the last log output, including a timestamp right at the top
10:15 moritz so, 7 minutes old
10:15 tadzik oh, that's nice
10:15 tadzik moritz++
10:16 timotimo it only outputs that the likely-to-work parts succeeding, but not the upload itself? );
10:16 timotimo ;)
10:17 azawawi moritz: Browser::Open is not on the list in modules.perl6.org
10:17 moritz timotimo: which upload?
10:17 moritz azawawi: oh, modules.perl6.org is a different beast
10:18 timotimo ah, i thought this also built modules.perl6.org
10:18 moritz my $list_url = 'https://raw.githubusercontent.com/​perl6/ecosystem/master/META.list';
10:18 * azawawi runs nmake spectest on his newly built win32 rakudo using visual studio community 2013
10:18 moritz is that still up-to-date?
10:19 azawawi moritz: yes, browser-open is on that list
10:19 timotimo it doesn't seem like it redirects, either
10:19 tadzik is it legal JSON?
10:20 tadzik seems like
10:20 moritz Invalid source-url found: git@github.com:azawawi/perl6-browser-open.git
10:20 tadzik aha!
10:20 moritz azawawi: iirc you need to use git:// source URLs
10:21 moritz seems not all errors end up in errors.json :(
10:21 azawawi just found it... had "Farabi6" in provides instead of "Browser::Open"... lol... azawawi--
10:22 tadzik hah :D
10:22 tadzik copypasta happens :)
10:22 timotimo git@github.com will not let you in unless you have a ssh key registered with github, isn't that right?
10:22 moritz timotimo: right
10:23 timotimo that's problematic at least
10:23 moritz though it could just accept any ssh key, and only allow cloning of public repos
10:23 moritz (though maybe that makes debugging of permission problems harder)
10:24 azawawi tadzik: copy&paste lol
10:24 azawawi tadzik: fixed the URL also
10:24 * azawawi panda install Browser::Open works now... thanks :)
10:26 azawawi tadzik: Interesting panda error after perl6 bootstrap.pl and running panda https://gist.githubusercontent.com/azawawi/a42f3​0fd161bfe13a57e/raw/dd964e8806bbef06cec8c98fd71a​dfbd5ddc9f32/Strange%20panda%20error%20on%20win7
10:27 fhelmberger joined #perl6
10:28 moritz azawawi: modules.perl6.org updated
10:28 azawawi moritz: so modules.perl6.org is not maintained anymore or runs different update bots?
10:28 tadzik azawawi: huh, indee
10:28 tadzik d
10:28 nine_ I may have a fix
10:28 nine_ It seems to be a rakudobug actually
10:29 tadzik *relief*
10:29 moritz azawawi: it updates less often, and uses different logic than the ecosystem API / panda
10:29 moritz azawawi: and it's by no means unmaintained
10:29 tadzik moritz: is it now on life support, deprecated?
10:29 tadzik oh, no
10:29 tadzik I confused things, nevermind
10:29 moritz where do you get those strange ideas? :-)
10:30 azawawi the rakudo deprecation warnings? :)
10:30 tadzik I mistook ecosystem api from the modules page :)
10:30 nine_ Does https://github.com/rakudo/rakudo/pull/398 make sense? Fixes the panda problem for me.
10:36 masak crazy idea: automatic Levenshtein on mis-typed constant-string MAIN parameters
10:36 nine_ not crazy at all if you ask me
10:39 FROGGS nine_: I commented
10:42 azawawi nine_: trying your branch https://github.com/niner/rakudo... brb
10:44 FROGGS m: say @*INC
10:44 camelia rakudo-moar c8cab2: OUTPUT«file:/home/camelia/.pe​rl6/2015.03-120-gc8cab23/lib inst:/home/camelia/.perl6/2015.03-120-gc8cab23 file:/home/camelia/rakudo-inst-1/share/perl6/lib file:/home/camelia/rakudo-in​st-1/share/perl6/vendor/lib file:/home/camelia/rakudo-in​st-1/share/perl6/site/lib…»
10:44 FROGGS m: say @*INC.grep(CompUnitRepo::Local::Installation)
10:44 camelia rakudo-moar c8cab2: OUTPUT«inst:/home/camelia/.​perl6/2015.03-120-gc8cab23 inst:/home/camelia/rakudo-inst-1/share/perl6 inst:/home/camelia/rakudo-​inst-1/share/perl6/vendor inst:/home/camelia/rakudo-​inst-1/share/perl6/site␤»
10:44 Ven joined #perl6
10:45 nine_ FROGGS: whould this be better? https://github.com/niner/rakudo/commit/9​c833e4bf0ff30029a71154292b7608f1467aea4
10:46 brrt new rule: if the customer differentiates semantically between two types of data, make two different tables, not one
10:46 FROGGS nine_: I dont spot the difference...
10:46 FROGGS nine_: and I suggested the proper fix in the PR
10:46 psch \o
10:47 nine_ FROGGS: oh, push failure, I meant https://github.com/niner/rakudo/commit/0​11c3ec704f1b6014eb704071ce5f92cb4ef7fe6
10:49 psch i'm wondering how to treat the history with moreinput
10:50 nine_ Created a new pull request with the updated fix https://github.com/rakudo/rakudo/pull/399
10:51 psch i.e. should «say "foo"\nif True;» come up as one entry in the history or rather as two
10:51 psch the former probably needs hoelzro++'s no-linenoise branch, in any case
10:54 dalek rakudo/nom: 011c3ec | (Stefan Seifert)++ | src/core/CompUnitRepo/Local/Installation.pm:
10:54 dalek rakudo/nom: Fix "Cannot look up attributes in a type object" in generated scripts
10:54 dalek rakudo/nom:
10:54 dalek rakudo/nom: The panda script failed with "Cannot look up attributes in a type object
10:54 dalek rakudo/nom: in method files at src/gen/m-CORE.setting:26732". Seems like files()
10:54 dalek rakudo/nom: expects to be called on an object. CompUnitRepo objects are to be found
10:54 dalek rakudo/nom: in @*INC.
10:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/011c3ec704
10:54 dalek rakudo/nom: c5f2d09 | FROGGS++ | src/core/CompUnitRepo/Local/Installation.pm:
10:54 dalek rakudo/nom: Merge pull request #399 from niner/nom
10:54 dalek rakudo/nom:
10:54 dalek rakudo/nom: Fix "Cannot look up attributes in a type object" in generated scripts
10:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c5f2d09169
10:55 psch hm, python and pry both stick with lines.  that's probably neater if we can't supply a way to navigate up a line
10:55 psch and if we did supply that it'd probably be weird (FSVO weird) because ↑ means "previous line from the history"
10:57 kurahaupo1 joined #perl6
10:59 bartolin_ psch: I'd be fine with lines, too
11:00 * psch realizes "line" is somewhat overloaded in that context
11:01 psch bartolin_: you mean "up to each \n" i think?
11:01 bartolin_ psch: yes
11:02 Alina-malina joined #perl6
11:04 psch i've wanted a "give me the whole previous statement" a few times in the python REPL at least
11:04 psch maybe we can get something like bash does for ^X^E
11:04 psch but not for the current, but the previous parse unit
11:06 psch although ↑ should probably be "the bit between two \n", yeah
11:06 psch the ^X^E idea might even work on windowses that have $EDITOR set
11:08 timotimo psch: if you can, try to be like ipython :)
11:09 * psch installs ipython
11:10 psch ah, ipython brings up the whole parse unit
11:10 psch timotimo: is there a way to go up a line inside what the history brought up?
11:11 timotimo yes, with the up arrow key
11:12 eli-se joined #perl6
11:13 psch does that need configuring?  up arrow just goes through the history for me
11:14 psch if i do up arrow until i have something from the history and then left arrow i can't go through the history anymore
11:14 psch i suppose that's when i should be able to up arrow to go up a line inside what i brought up from the history, but it doesn't work
11:15 timotimo oh
11:16 timotimo well, all i can say is: history is HARD.
11:21 psch yeah, the potential double meaning of ↑ is the most obivous hard thing
11:22 timotimo we actually need a full TUI
11:22 timotimo how does bpython control, btw?
11:22 timotimo (it even syntax-highlights as you type)
11:22 psch bpython?
11:23 dalek doc: 221a53d | paultcochrane++ | lib/Language/5to6.pod:
11:23 dalek doc: Add quotes around environment variable assignments
11:23 dalek doc: review: https://github.com/perl6/doc/commit/221a53dc26
11:23 psch oh, bpython is a TUI for ipython?
11:23 timotimo yes
11:23 timotimo based on ncurses or actually maybe urwid
11:23 psch i just ran ipython from the shell
11:23 timotimo you should also check out "ipython qtconsole", which we could totally interface with, btw
11:24 psch ah, bpython does the "between two \n" history
11:24 timotimo all we need is for the ZMQ binding to be in a slightly better shape, but i don't know what exactly is missing
11:24 KCL joined #perl6
11:25 psch (also the "can't go through the history anymore" from above is apparently just matching-prefix history)
11:27 azawawi nine_, FROGGS: panda is now working again perfectly thanks. nine_++
11:27 timotimo ah, matching-prefix history, eh?
11:27 timotimo fish has "stuff before cursor matches anywhere in the history" lookup
11:27 timotimo so basically ^R without having to press ^R before you start typing what you're looking for
11:28 * azawawi is debugging an HTTP::Server::Async test failure on win7
11:28 psch yeah, that's what i mean
11:28 timotimo interesting, i hear that the chinese government may be behind the github ddos
11:28 psch although i didn't check if it actually tosses stuff behind the cursor on up arrow when there's something matching
11:29 timotimo right
11:29 timotimo neither did i check with fish
11:31 eli-se joined #perl6
11:32 eli-se is the Perl 6 formatting functionality in existence or documented?
11:32 eli-se all I can find is http://search.cpan.org/~dcon​way/Perl6-Form-0.04/Form.pm
11:33 tadzik there's https://github.com/mathw/form/
11:34 eli-se I see.
11:39 xfix joined #perl6
11:46 dalek Heuristic branch merge: pushed 75 commits to rakudo/newio by lizmat
11:46 xinming joined #perl6
11:48 * Ven 's fairly sure it's not a branch merge, just another day for lizmat++
11:49 Akagi201 joined #perl6
11:50 arnsholt "Perl v5.120.0 required (did you mean v5.12.0?)--this is only v5.16.2" \o/
11:50 Akagi201_ joined #perl6
11:52 nwc10 you tried 'use 5.12' ?
11:55 coffee` joined #perl6
12:07 arnsholt Yup!
12:07 nwc10 that's not going to work
12:07 arnsholt Adding the v helped =)
12:07 nwc10 blame, um, someone, um, foresight, something
12:08 nwc10 for why this mess exists
12:09 arnsholt Yeah. Thankfully I've done this enough times to remember the correct way once I get smacked over the fingers like that
12:24 eli-se joined #perl6
12:26 dakkar joined #perl6
12:29 eli-se joined #perl6
12:35 Ven joined #perl6
12:35 spider-mario joined #perl6
12:36 eli-se joined #perl6
12:39 rmgk_ joined #perl6
12:45 hoelzro morning #perl6
12:51 * f3ew waves at hoelzro
12:58 psch o/ hoelzro
12:59 psch hoelzro: do you have any input re: the REPL history discussion in the backlog?
12:59 eli-se joined #perl6
13:01 RabidGravy joined #perl6
13:08 * hoelzro looks
13:09 aborazmeh joined #perl6
13:09 aborazmeh joined #perl6
13:12 hoelzro psch: re: multiline editing?
13:12 psch hoelzro: multiline history mostly, yeah
13:12 hoelzro there's a multiline function in lineniose
13:12 hoelzro linenoise, even
13:13 hoelzro https://github.com/hoelzro/p6-lineno​ise/blob/master/lib/Linenoise.pm#L23
13:15 psch do you know how it handles up/down navigation, if at all?
13:16 hoelzro I do not
13:16 hoelzro I haven't tried it =/
13:16 * hoelzro gets the feeling we're going to need to write our own line editor
13:16 eli-se ed 6
13:16 psch i'm hacking something together to shell out to $EDITOR on a line that's only ^X, but that's not particularly great either
13:17 hoelzro I dunno, though; I feel like keeping the default REPL simple is good, but providing a fancy REPL as a package on the side
13:17 hoelzro like how timotimo mentioned bpython/ipython
13:17 psch right, i guess then orienting on python/irb (where history is line based) is good enough
13:19 hoelzro speaking of my linenoise/completion branch; could someone review it? I would really like to merge it into nom!
13:19 psch tab completion also goes to the fancy REPL package then?
13:20 hoelzro hmm
13:20 hoelzro good question
13:20 hoelzro I would like it in the default REPL, but I'm biased since I've spent time on it =)
13:23 eli-se liblinenoise looks neat
13:23 psch fwiw, i'd rather just a have a powerful REPL in rakudo than having to install a package
13:24 psch 'cause i often don't run panda when hacking on rakudo, but like using the REPL
13:24 tadzik +1
13:25 eli-se except that it doesn't support NUL inside line
13:25 hoelzro that would be an argument for including Linenoise.pm inside of Rakudo as well, then
13:25 nwc10 Star?
13:25 psch right.  or some PP equiv
13:25 hoelzro nwc10: that was my original thought
13:25 tadzik I'm thinking it may end up like NativeCall eventually
13:25 hoelzro I guess it depends on the people who use it
13:25 tadzik core enough to just this pit along
13:25 tadzik ship*
13:26 tadzik erm, "just ship it", dangit
13:30 bartolin_ psch: do you have thoughts about tests for the REPL?
13:31 bartolin_ the other day I added t/S02-rakudo/repl.t to rakudo which has 2 or 3 tests right now
13:34 psch bartolin_: the first thing that comes to mind is that i probably should've run those against moreinput :)
13:34 psch i think testing it is definitely sensible, but i'm not sure how we can test e.g. tab completion
13:34 psch Files=1, Tests=3,  1 wallclock secs ( 0.02 usr  0.00 sys +  0.96 cusr  0.12 csys =  1.10 CPU)
13:34 psch on current nom for t/02-rakudo/repl.t :/
13:35 muraiki joined #perl6
13:36 bartolin_ regarding tab completion I have no idea how to test it :/
13:36 bartolin_ but at least multiline input seems to be testable with subshells:
13:37 bartolin_ $ (echo {; echo say 1 }) | perl6
13:37 tadzik well, it should be enough to test the backend mechanics
13:38 muraiki if I get a "longjmp causes uninitialized stack frame" error from moarvm when trying to use a p5 object via Inline::Perl5 inside of await/start, is it right to assume that the problem lies in the underlying p5 code not being thread safe?
13:39 psch ah
13:39 psch 2/3 pass actually on repl.t
13:39 bartolin_ psch: with a rakudo from 2-3 days ago the tests in t/02-rakudo/repl.t pass for me
13:39 bartolin_ *nods*
13:39 bartolin_ it's only one of them
13:40 psch yeah, the last failure is expected with moreinput
13:40 psch because we want to allow «say "hi"\n  if True;» we can't insert semicolons for every \n
13:40 bartolin_ it's the missing semicolon?
13:41 bartolin_ and it emits an additional newline if I add a semicolon
13:41 arnsholt Yaaay. Not being a moron means my page is generated in .3 seconds instead of 3.8 \o/
13:42 psch bartolin_: what do you mean? adding a semicolon to the end of @input-lines[0] passes the test for me
13:42 Ven arnsholt: what did you change :P?
13:42 hoelzro bartolin_: I have some thoughts on testing tab completion
13:42 hoelzro I'm (not secretly anymore) working on a PTY module
13:42 raiph joined #perl6
13:42 arnsholt Ven: DBI->fetchall instead of loop with individual fethrow =)
13:42 hoelzro so we can leverage that
13:43 hoelzro but including that in Rakudo seems like overkill =
13:43 hoelzro =/
13:43 bartolin_ psch: oh, you're right. It fails, if I also add a semicolon to @input-lines[1]
13:43 nine_ muraiki: are you using Inline::Perl5 in a threaded program?
13:43 Ven arnsholt: hahaha
13:43 Ven nine_: seems he is :P
13:43 bartolin_ ++hoelzro
13:43 arnsholt Ven: As I said, not being an idiot helps tremendously =D
13:43 hoelzro I'm going to use it to add tests to Linenoise.pm
13:44 hoelzro hmm...if we include Linenoise.pm in Rakudo, should I get rid of my repo?
13:44 hoelzro or maybe it's time to talk about "dual life" modules
13:44 muraiki nine_: yes; I was trying to play with await
13:44 psch hoelzro: a commit that empties the repo and adds a "has been moved to rakudo core" is what NativeCall does i think?
13:45 nine_ muraiki: you should be fine as long as you access a $p5 only from one thread. You can use multiple Inline::Perl5 objects from different threads. That said, this is very much untested territory.
13:46 muraiki nine_: thanks. sorry that I keep finding weird ways to break things :)
13:47 tinyblak joined #perl6
13:49 psch hm, that's definitely a bug though
13:50 bartolin_ psch: btw, S02-rakudo/repl.t is not run with 'make test' at the moment
13:50 psch the additional newline when we echo into the interpreter and end on a ;
13:50 psch 'cause it already happens with e.g. «echo 'say "hi";' | ./perl6»
13:52 nine_ muraiki: no need to be sorry. Thanks for helping to improve Inline::Perl5 :)
13:56 skids joined #perl6
13:56 bartolin_ psch: so you wouldn't mind if I add tests like '(echo {; echo say 1 }) | perl6'? (with your work one or two tickets from RT can be closed and it would be nice to have tests for those.)
13:59 psch bartolin_: please do, i've been neglecting tests a bit for moreinput
14:00 bartolin_ psch++ # work on moreinput
14:01 psch bartolin++ # tests for moreinput
14:02 Tux__ nine_, did you see my META.info remark (here on IRC) for Inline::Perl5?
14:04 Tux__ "META.info".IO ~~ s{author} = "auth"; # and maybe add "authors" : [ "Stefan Seifert" ],
14:06 nine_ Tux__: yes, thanks. That led to me trying panda gen-meta and fixing the rakudobug that broke panda. Unfortunately panda gen-meta still doesn't work for me, since it runs into an endless loop. I guess I'll just do what you say ;)
14:07 lucas2 joined #perl6
14:09 lucas2 Hello there
14:12 lucas2 What do you call the "..." in sub foo(...), my (...)? Can I call it a "declaration list" for example purposes?
14:12 hoelzro lucas2: yada yada operator, iirc
14:13 psch lucas2: in sub foo(...) it's a signature, in my (...) it's a declaration list
14:13 lucas2 oh, the "..." was just a placeholder, I didn't mean the real yada yada
14:13 hoelzro oh, ok =)
14:13 psch or declarator list i think
14:13 lucas2 ok, thanks
14:16 lucas2 The two cases are very similar lists, I understand. But they behave exactly the same. Shouldn't they be distinct things?
14:16 lucas2 m: my (--> Int)
14:16 camelia rakudo-moar c5f2d0: ( no output )
14:17 eli-se joined #perl6
14:17 lucas2 m: my (Int:)
14:17 camelia rakudo-moar c5f2d0: ( no output )
14:17 lucas2 ^^^ These things mean something in a signature, but in a "my" declaration, they doesn't mean much, or do they?
14:18 lucas2 If these 2 kinds for lists were distinct, these erroneous usages could get caught, right?
14:19 moritz in general, what goes after a 'my' is a signature, not an ordinary list
14:21 shinohai joined #perl6
14:24 lucas2 m: my (&c --> Str) = -> { 42 }; say c
14:24 camelia rakudo-moar c5f2d0: OUTPUT«42␤»
14:26 masak lucas2: yes, a lot of things should be caught in a 'my' declaration that aren't yet.
14:26 masak that '--> Str' there does not mean that &c returns a Str
14:31 raiph joined #perl6
14:32 lucas2 moritz, masak: thanks
14:33 lucas2 I'm sorry for the lazy question, but is there any way I can disassemble a piece of P6 code into an AST structure or NQP ops or Moar ops?
14:33 StavroMueller joined #perl6
14:34 hoelzro lucas2: you can specify --target
14:34 moritz lucas2: run with --target=ast
14:34 hoelzro ex. perl6 --target=ast code.p6
14:35 hoelzro or perl6 --target=mast code.p6
14:35 lucas2 hoelzro, moritz: thanks
14:36 rindolf joined #perl6
14:36 hoelzro you can also do moar --dump on a .moarvm MBC file
14:38 telex joined #perl6
14:41 dalek rakudo/nom: 459a0cc | peschwa++ | src/Perl6/Compiler.nqp:
14:41 dalek rakudo/nom: Insert a semicolon when we are in moreinput but get nothing.
14:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/459a0ccebf
14:41 dalek rakudo/nom: 63888cf | peschwa++ | t/02-rakudo/repl.t:
14:41 dalek rakudo/nom: Un-TTIAR a REPL test.
14:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/63888cfb59
14:42 psch bartolin_: tests in repl.t now all pass again, with the added semicolon
14:43 psch bartolin_: more tests welcome, as mentioned :)
14:43 * psch afk a bit
14:48 Ven do we have a sexpr parser in the ecosystem already?
14:49 * Ven looks at jnthn++'s old courses repo
14:50 * Ven looks at masak's ipso :P
14:52 Ven m: my %h = not => True;
14:52 camelia rakudo-moar c5f2d0: ( no output )
14:53 Ven seems like RT#123084 was fixed
14:53 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123084
15:09 RabidGravy joined #perl6
15:11 moritz Ven: yes, it was closed on 2015-03-02
15:11 Ven moritz: I used synopsebot to know that :)
15:16 Ven joined #perl6
15:24 phdphil joined #perl6
15:37 xfix left #perl6
15:44 FROGGS joined #perl6
15:46 tinyblak joined #perl6
15:46 FROGGS #124214 is quite interesting, I intend to look into that this evening
15:46 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=124214
15:47 TimToady ++FROGGS
15:50 eli-se joined #perl6
15:51 sjn__ joined #perl6
15:51 Tux__ short (beginner?) question. I I get passed a Sub in $x, what is the perl6 way to write «my @x; while (my $r = $x->()) { push @x, $r; }» ?
15:51 dalek rakudo/nom: 9aecf6e | usev6++ | src/ (2 files):
15:51 dalek rakudo/nom: Add typed exceptions for conditional operator
15:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9aecf6e38e
15:51 dalek rakudo/nom: 5668f29 | moritz++ | src/ (2 files):
15:51 dalek rakudo/nom: Merge commit 'refs/pull/upstream/397' into nom
15:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5668f299c9
15:52 tadzik Tux__: just use $x.() :)
15:52 moritz Tux__: while $x() -> $r { @x.push: $r }
15:52 jnthn my @x; while $x() -> $r { push @x, $r; }
15:52 Tux__ that is DWIM
15:52 PerlJam Also, make sure you really want a while loop at all (laziness is often your friend :)
15:52 jnthn I don't object to moritz's solution, but mine functions well too :P
15:53 moritz { $x() } ... !*
15:53 Tux__ I don't know at this point if I want lazyness. I think I do, but that is not the qquestion right now
15:54 TimToady gather while $x() -> $r { take $r }
15:54 moritz if you want laziness, the obvious... what TimToady++ said
15:55 TimToady (while $x() -> $r { $r })  # also supposed to work
15:55 Perl6_newbee joined #perl6
15:55 moritz m: sub f() { state $x = 5; --$x }; say {f()}...*.not
15:55 camelia rakudo-moar 63888c: OUTPUT«4 3 2 1 0␤»
15:56 TimToady m: sub f() { state $x = 5; --$x }; say &f...*.not
15:56 camelia rakudo-moar 63888c: OUTPUT«4 3 2 1 0␤»
15:57 moritz oh, ... is intelligent enough not to pass an argument to it
15:57 eli-se when is a library considered in-scope to be shipped with perl 6 and appear on doc.perl6.org?
15:57 moritz all the time I'm wondering if there's a sane way to write f() xx * and make it abort on the first Falsy value
15:58 moritz eli-se: shipped iwht what perl 6?
15:58 moritz *with
15:58 moritz eli-se: Perl 6, the language? (likely roast + design docs)
15:58 eli-se well it would be quite reasonable if all Perl 6 implementations shipped with the same library
15:58 moritz or rakudo Perl 6
15:58 moritz or rakudo star
15:58 eli-se otherwise it's kinda impossible to write any portable code
15:58 * TimToady looks around for a ship
15:58 gfldex joined #perl6
15:59 ugexe how so?
15:59 moritz eli-se: well, if there's a module installer that can install a module for multiple compilers, and it uses only core functionality, depending on it doesn't reduce portability
15:59 PerlJam eli-se: does NQP count as a "perl 6 implementation"?
15:59 eli-se I don't know.
16:00 moritz I wouldn't count it
16:00 moritz since it doesn't aim to implement some very fundamental Perl 6 elements
16:01 moritz like lazy lists, the container model (assignment!), flattening
16:01 moritz nor does it aim to provide most built-in types
16:01 TimToady and awesome error messages :P
16:01 PerlJam mostly awesome :)
16:02 grondilu joined #perl6
16:02 TimToady well, there will always be corners where arcane semantics produce arcane messages, but we try to keep those corners in the corners
16:03 TimToady there's some kind of conservation of pretzel logic principle there
16:04 TimToady probably related to Gödel's Theorem
16:04 * ugexe wishes there was a moduleloader exception that separated the missing module name from the rest of the message
16:05 ugexe i wrote a silly dependency installer that just kept running the module over and over, parsing the missing module names from the exception message and installing them lol
16:07 tadzik ehh, I build a fresh panda and it doesn't have a gen-meta, wtf
16:07 PerlJam some simple tools that can answer the questions:  which modules are installed? and which modules does this software use?  would be nice
16:07 tadzik ugexe: hahah, nice
16:07 ugexe tadzik: where would gen-meta be
16:07 tadzik ugexe: it's in bin/panda
16:07 tadzik https://github.com/tadzik/pan​da/blob/master/bin/panda#L54 here
16:08 ugexe ah its new. cool
16:08 tadzik yeah
16:09 PerlJam tadzik: how did you build a fresh panda?
16:09 tadzik PerlJam: with rakudobrew
16:09 tadzik build-panda
16:09 ugexe maybe need to wipe the git_reference folder?
16:09 arnsholt What source are the docs on doc.perl6.org generated from?
16:09 tadzik I don't think panda comes from git_reference
16:09 tadzik and moar-nom/panda is the lastest repo version
16:09 Tux__ m: sub foo { state int $foo = 1; }
16:09 PerlJam aye, that's what I thought. It's in ~/.rakudobrew/moar-nom/panda/bin/panda though, right?
16:09 camelia rakudo-moar 63888c: OUTPUT«===SORRY!===␤Natively typed state variables not yet implemented␤»
16:09 Tux__ :(
16:09 tadzik PerlJam: yeah
16:10 tadzik oh, paths changed
16:10 tadzik or, I have old rakudobrew
16:10 ugexe i was gonna say, hope my PR to rakudobrew path stuff isnt borked
16:11 tadzik I had merge conflicts, maybe I screwed it up
16:11 tadzik well, my ~/.rakudobrew/moar-nom/install/​languages/perl6/site/bin/panda is old
16:11 tadzik it should be the one in /home/tsosnierz/.rakudobrew/moar-​nom/install/share/perl6/site/bin
16:11 tadzik argh, fffffuu
16:12 tadzik when did those change
16:12 eli-se alright, time to rewrite my compiler in Perl 6
16:13 ugexe like a month ago
16:14 sirdancealot joined #perl6
16:15 tadzik heh, I ran gen-meta on IO::Capture::Simple and it ended up with "provides" : null :)
16:17 tadzik I wonder if rakudobrew should update self every now and then
16:18 eli-se Does Grammar.parse take a file handle? Or only works with strings?
16:19 adu joined #perl6
16:19 arnsholt Only strings ATM, AFAIK
16:19 jnthn There.s a .parsefile that takes a filename
16:19 arnsholt Oh, right
16:20 eli-se cool
16:20 eli-se takes no encoding though I think
16:21 TimToady yet
16:21 jnthn It can
16:21 jnthn oh, wait
16:21 jnthn I canny
16:21 jnthn I misread.
16:22 jnthn (Thought %opts went to slurp)
16:23 Tux__ m: $in=\"1,2,3";@in = gather $in.list -> $x { take $x; }
16:23 camelia rakudo-moar 5668f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/37GOshoWvZ␤Variable '$in' is not declared␤at /tmp/37GOshoWvZ:1␤------> 3$in7⏏5=\"1,2,3";@in = gather $in.list -> $x { ␤    expecting any of:␤        postfix␤»
16:23 Tux__ is that supposed to work?
16:23 TimToady read the error
16:24 ugexe hmm somehow i ended up with .rakudobrew/bin being a file containing the panda source
16:24 jnthn Even if the vars were declared, it's still not valid.
16:24 jnthn Need a "for" after the gather
16:24 TimToady and .list won't do that
16:25 arnsholt jnthn: Shouldn't Supply.close call done on the invocant?
16:25 TimToady unless you're expecting a list of 1 argument
16:26 Tux__ m: my $in=\"1,2,3";@in = gather $in.list -> $x { take $x; }
16:26 camelia rakudo-moar 5668f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Uf7HKpCmbl␤Variable '@in' is not declared. Did you mean '$in'?␤at /tmp/Uf7HKpCmbl:1␤------> 3my $in=\"1,2,3";@in7⏏5 = gather $in.list -> $x { take $x; }␤    expecting any of:␤        postfix␤»
16:26 Tux__ m: my $in=\"1,2,3";my @in = gather $in.list -> $x { take $x; }
16:26 camelia rakudo-moar 5668f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zCO19aHuii␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/zCO19aHuii:1␤------> 3my $in=\"1,2,3";my @in = gather $in.list7⏏5 -> $x { take $x;…»
16:26 TimToady what jnthn++ said
16:27 Tux__ I had a while, and it looped forever
16:27 Tux__ when I removed the while I lost it
16:27 TimToady yes, it should
16:27 TimToady jnthn said "for"
16:28 Tux__ I.AM.IMPRESSED!
16:28 dalek rakudo/nom: a07f735 | jnthn++ | src/core/Grammar.pm:
16:28 dalek rakudo/nom: Add enc named arg to parsefile for eli-se++.
16:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a07f735828
16:30 * TimToady wonders how much work it would be for the parser to intuit missing keywords based on statistics... :)
16:30 masak "the rest of the code makes it look like you wanted to write 'gather for' instead of just 'gather'..."
16:31 jnthn "It looks like you're trying to form a syntactically valid program. Would you like me to..." :)
16:32 Tux__ "the code is taking rather long, did you mean 'gather for' instead of 'gather while'?"
16:32 mr-foobar joined #perl6
16:33 PerlJam These all sound like excellent Perl 6 modules ;)
16:33 masak that last one would show up *all the time* though, with my legitimate but long-running gather while loops
16:34 masak just like Chrome's JavaScript hang heuristic drop-down dialog does
16:34 masak &
16:37 dalek perl6-roast-data: b35776f | coke++ | / (9 files):
16:37 dalek perl6-roast-data: today (automated commit)
16:37 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/b35776ffe6
16:38 yqt joined #perl6
16:39 ugexe would it be better if MAIN's did not show the entire filepath of the script in its usage message?
16:39 tinyblak joined #perl6
16:39 timotimo agreed
16:39 eli-se Can you get the error position from Grammar.parse?
16:39 kjs_ joined #perl6
16:43 ugexe hmm it looks like the usage message is already supposed to strip the path?
16:43 ugexe there is a strip_path_prefix in Main.pm
16:44 larion joined #perl6
16:49 dalek rakudo/nom: 3aaee92 | TimToady++ | src/Perl6/Grammar.nqp:
16:49 dalek rakudo/nom: unexpected block is probably missing keyword
16:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3aaee922f6
16:51 ugexe ah i see why
16:53 ugexe https://github.com/rakudo/rakudo/bl​ob/d4eb903ebe89b39fd0606ba7bb191ca1​3e2f250f/src/core/Main.pm#L78-L79
16:53 ugexe removing that "fixes" the full path in MAIN usage, but im not sure what those 2 lines were supposed to do
16:54 timotimo probably to ensure entering the exact thing that's in the output gives you the very same binary
16:54 ugexe (probleming being it returns on the first iteration, although you are likely to have multiple PATHs)
16:54 ugexe for me its trying to match to .rakudobrew/bin
16:55 ugexe not the actual perl6 installation path
16:55 ugexe as .rakudobrew/bin shows up first in my PATH
16:55 timotimo it probably also doesn't count sym links?
16:56 pmichaud joined #perl6
16:56 pmichaud good morning, #perl6
16:57 PerlJam pmichaud:  o/
16:57 larion joined #perl6
16:57 TimToady more morning left here than there... :)
16:57 pmichaud Agreed, it soon will not be morning here.  Although it still feels very much like morning.
16:58 jnthn o/ pmichaud
16:59 * pmichaud works on setting up his new p6c account
16:59 ugexe yeah i dont think it counts symlinks
17:02 shinohai left #perl6
17:02 arnsholt jnthn: Any hints on debugging why Proc::Async doesn't seem to be outputting to its stdout supply?
17:02 timotimo greetings pmichaud
17:02 shinohai joined #perl6
17:02 spider-mario <masak> just like Chrome's JavaScript hang heuristic drop-down dialog does
17:02 spider-mario firefox often tells me that about one of its own scripts
17:03 spider-mario I’d rather not try and click “stop the script”
17:03 nwc10 good *, Pm
17:03 pmichaud_ joined #perl6
17:03 dalek rakudo/nom: bb3a17e | TimToady++ | src/Perl6/Grammar.nqp:
17:03 dalek rakudo/nom: might be more than a term on the left
17:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb3a17e44b
17:03 pmichaud_ hello again
17:04 pmichaud_ I seem to have lost connection to p6c   :-(
17:04 nwc10 good_ *_, Pm_
17:05 timotimo works on my end, pmichaud_ :\
17:05 pmichaud_ I'm getting "Network is unreachable" errors.
17:05 timotimo try with ssh -v maybe?
17:05 timotimo er
17:05 timotimo -4
17:05 timotimo could be ipv6 trouble between you and p6c?
17:05 nwc10 I was wondering exactly that
17:05 PerlJam traceroute and see where it dies
17:06 pmichaud_ traceroute is successful.  so is http://hack.p6c.org/
17:06 PerlJam huh
17:06 timotimo well, if ssh uses v6 and fails and traceroute uses v4 and succeeds, that'll answer it
17:06 timotimo you'd want traceroute6 instead
17:06 pmichaud_ "port 22: Connection refused"
17:06 TimToady the Great Chinese Firewall ran out of ports
17:07 * moritz can connect both via v4 and v6
17:07 lucas2 "before the prior" :)
17:07 nwc10 pmichaud_: I can get this after 3 or 4 failed ssh connection attempts:
17:07 nwc10 ssh: connect to host irc.p6c.org port 22: Connection refused
17:07 nwc10 so, it's running something like faile2ban
17:07 nwc10 and you've been temporarily firewalled
17:07 pmichaud_ that could be it.  I mistyped my password.
17:07 nwc10 the perl5 git server is running it
17:07 timotimo oh, yeah, that may be it
17:08 pmichaud_ I was in the process of setting up my sshkey when I did it :)
17:08 nwc10 it was funny when someone (whom I'm not going to name) managed to get users.perl5.git.perl.org firewalled from perl5.git.perl.org
17:08 timotimo moritz: if you unban pm from fail2ban, would you be so kind to document the steps needed to do that
17:09 pmichaud_ how temporary is "temporarily firewalled"?  ;-)
17:09 nwc10 it will be the IP, not the user that gets banned
17:10 timotimo "Connection refused" won't even allow you to say who you are
17:10 nwc10 I've just hammered it from something in 194.166.189.32
17:11 bartolin_ pmichaud_: according to fail2ban.log "temporarily" should be over already
17:11 pmichaud_ bartolin_: aha, it is.  Thanks!
17:12 bartolin_ yw
17:12 * timotimo buys groceries
17:12 pmichaud ...and my other irssi session seems to have survived the firewalling somehow.  :)
17:12 pmichaud s/survived/recovered from/
17:13 pmichaud and ssh is now working and I'm happy.  :)
17:13 PerlJam yay!
17:14 jnthn :)
17:15 adu :)
17:15 PerlJam pmichaud: Are all of the robotics competitions done?
17:15 pmichaud PerlJam: not quite.  World championship is Apr 22-26.
17:16 nwc10 and, inferred from this, your team is still astoundingly successful?
17:16 pmichaud successful, yes.  Astoundingly -- well, we've met our goals.  :)
17:17 pmichaud but it does mean that robotics prep is much less.  We don't have to worry about trying to advance beyond the World Championship.  :)
17:17 pmichaud and I did successfully get a new car, so that's a time sink that has been done away with.
17:18 TimToady if they're bored, maybe you should set your robotics team to work on the GLR :)
17:18 nwc10 pmichaud: for a decade or two, depending on how successful Elon Musk is.
17:18 pmichaud oh, the robotics team is still hard at work on their preparations.  :)
17:19 pmichaud and yes, GLR is very much on my mind.
17:20 * PerlJam tries to rework "Always On My Mind" lyrics to be about the GLR ...  ;)
17:20 FROGGS o/
17:21 pmichaud PerlJam: as long as it's the Pet Shop Boys version, I'm fine with that.  :)
17:22 TimToady m: my $in=\"1,2,3";my @in = gather $in.list -> $x { take $x; }
17:22 camelia rakudo-moar bb3a17: OUTPUT«5===SORRY!5=== Error while compiling /tmp/42fcTTk5l5␤Unexpected block in infix position (missing statement control word before the prior expression?)␤at /tmp/42fcTTk5l5:1␤------> 3my $in=\"1,2,3";my @in = gather $in.list7⏏5 -> $x { take $x; …»
17:22 Rounin joined #perl6
17:23 dalek rakudo/nom: db9bd81 | TimToady++ | src/Perl6/Grammar.nqp:
17:23 dalek rakudo/nom: word "prior" adds nothing
17:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/db9bd810a8
17:24 jnthn .oO( The prior for tweaking error messages is high... )
17:24 * TimToady gets triple karma for one prior fix
17:25 moritz what's a statement control word?
17:25 PerlJam .oO( quadruple karma soon )
17:27 FROGGS isnt more like s/word/keyword/? though, I would not know what to do here also as a user
17:30 * TimToady contemplates changing the message to "You can't just make shit up and expect it to work, retardo!"
17:31 FROGGS :P
17:31 [Coke] MJD-11901
17:31 pmichaud My Github connection seems to have become blindingly fast.
17:32 TimToady they upgraded the Great Firewall
17:32 pmichaud Indeed.
17:32 FROGGS perhaps they've stolen the firewall from $work, because ours is no more :S
17:33 TimToady apologies to MJD for the misquote :)
17:40 ugexe is there a global for the full path of the current p6 interpretter? like say shell("which $*EXECUTABLE_NAME")
17:42 ugexe well i guess that doesnt give the currently running perl6. more like perl -e 'print $^X'
17:43 TimToady maybe 'no strict' should "internationalize" all the error messages to MJD quotes...
17:43 RabidGravy joined #perl6
17:44 FROGGS m: say $*EXECUTABLE
17:44 camelia rakudo-moar bb3a17: OUTPUT«"./rakudo-inst/bin/perl6-m".IO␤»
17:44 TimToady or maybe just do that every year on, er, tomorrow
17:44 FROGGS ugexe: ^^
17:45 FROGGS m: say $*EXECUTABLE.absolute
17:45 camelia rakudo-moar bb3a17: OUTPUT«./rakudo-inst/bin/perl6-m␤»
17:45 TimToady some absolutes are relative...
17:45 FROGGS this is supposed to work though...
17:46 FROGGS ugexe: I bet this is just borken here because of the way camelia works...
17:46 ugexe cool. but yea im getting some relative pieces in my path
17:46 FROGGS :S
17:46 FROGGS dang
17:46 ugexe nickl@localhost:~/perl6$ perl6 -e 'say $*EXECUTABLE.absolute'
17:46 ugexe /home/nickl/.rakudobrew/bin/.​./moar-nom/install/bin/perl6
17:47 FROGGS yes, but that is correct
17:47 FROGGS we are not cleaning it up
17:48 tinyblak joined #perl6
17:51 arnsholt Has anyone here used Proc::Async for anything non-trivial?
17:58 FROGGS no
17:59 TimToady it's very flakey, see https://gist.github.com/ano​nymous/16e85e7c3e1b95ce1577
18:00 TimToady written by a compatriot of mine at craigslist...
18:01 jnthn Not that it helps, but that looks like a more general bug than something Proc::Async specific.
18:01 Hor|zon joined #perl6
18:01 arnsholt Yeah, I'm starting to realize that it's a bit weird
18:02 arnsholt Can't for the life of me figure out how to wait for the entire stdout to be read
18:05 Sqirrel joined #perl6
18:10 TimToady in addtion to the hang and the "P6opaque: no such attribute '$!tappers_lock'", I also get: "This representation (Null) does not support elems" and "No appropriate parametric role variant available for 'Buf'"
18:11 mohij joined #perl6
18:11 TimToady maybe we could base a random number generator on all the entropy...
18:11 dalek nqp: 0ccec45 | FROGGS++ | src/vm/jvm/runtime/org/perl6/n​qp/runtime/NativeCallOps.java:
18:11 dalek nqp: [RT 124214] return type object for NULL CPointer/CArray/CStruct case
18:11 dalek nqp:
18:11 dalek nqp: This brings the jvm backend code in line with MoarVM.
18:11 dalek nqp: review: https://github.com/perl6/nqp/commit/0ccec451ed
18:11 dalek nqp: e204d8a | FROGGS++ | src/vm/jvm/runtime/org/perl6/n​qp/runtime/NativeCallOps.java:
18:11 dalek nqp: handle type objects as source in nativecallcast on jvm
18:11 dalek nqp:
18:11 dalek nqp: Type objects represent a typed NULL.
18:11 dalek nqp: review: https://github.com/perl6/nqp/commit/e204d8a454
18:11 ugexe use the rng from losethos
18:11 TimToady ohh, a new one: Cannot assign to a readonly variable or a value
18:12 dalek rakudo/nom: c5c2702 | FROGGS++ | tools/build/NQP_REVISION:
18:12 dalek rakudo/nom: bump nqp rev for nativecall@jvm fixes
18:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c5c270264d
18:13 TimToady and another: *** Error in `/home/larry/nom/install/bin/moar': double free or corruption (fasttop): 0x0000000001d67950 ***
18:13 TimToady it's almost like a magical 8-ball
18:13 TimToady except it also apparently tries to solve the halting problem
18:14 arnsholt Right. Even more variation than I'm seeing. I think I'll try to get by with shell()/run()
18:15 TimToady ooh, a combo:
18:15 TimToady Unhandled exception in code scheduled on thread 139977559275264
18:15 TimToady ===SORRY!===
18:15 TimToady P6opaque: no such attribute '$!tappers_lock'
18:16 TimToady and: No appropriate parametric role variant available for 'Mu'
18:16 TimToady so not just 'Buf'
18:16 moritz TimToady: I've had trouble with several Proc::Async instances at once
18:17 moritz using just one is usually fine
18:17 TimToady and the most amazing message of all:
18:17 TimToady p1 ("stdout" => "task1 ok\n").hash
18:17 TimToady p2 ().hash
18:17 TimToady p3 ("stderr" => "/bin/ls: cannot access lksdfasdfasdf: No such file or directory\n").hash
18:17 tbrowder joined #perl6
18:18 TimToady not much point in Proc::Async if you can only do one thing at a time with it...
18:18 TimToady I guess it's arguably two things...
18:18 moritz not saying I approve of the limitations :-)
18:19 TimToady but certainly the errors seem highly reproducable here...
18:19 TimToady or at least the presence of some random error :)
18:20 colomon yeah, same sort of thing I’ve gotten every time I tried getting the parallel version of the mandelbrot script to work.
18:21 jnthn If only we had as many people interested in fixing this stuff as breaking it :P
18:21 TimToady jnthn: then you would spend all day rejecting patches :P
18:21 dalek rakudo/nom: 76ba0a2 | FROGGS++ | t/04-nativecall/04-pointers. (2 files):
18:21 dalek rakudo/nom: [RT 124214] add tests for returned NULL pointers
18:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76ba0a26e3
18:23 retupmoca m: await do for ^6 { start { buf8.new } } # my best golf
18:23 camelia rakudo-moar db9bd8: OUTPUT«Unhandled exception: No appropriate parametric role variant available for 'Buf'␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/share/perl6/run​time/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:23214  (/home/camelia/rakudo-inst-2/s…»
18:23 retupmoca (from #123702 )
18:23 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123702
18:26 yqt joined #perl6
18:29 FROGGS sadly valgrind is happy :/
18:37 travis-ci joined #perl6
18:37 travis-ci Rakudo build errored. Tobias Leich '[RT 124214] add tests for returned NULL pointers'
18:37 travis-ci http://travis-ci.org/rakudo/rakudo/builds/56608663 https://github.com/rakudo/rakudo/c​ompare/c5c270264d84...76ba0a26e3fa
18:37 travis-ci left #perl6
18:37 adu joined #perl6
18:42 FROGGS hmmm, probably just a hickup
18:42 FROGGS nom&
18:43 kurahaupo joined #perl6
18:43 ugexe is it possible to do something like capture the path of a script A from script B when script A runs script B? not sure if thats possible at even the OS level or not...
18:45 FROGGS I dont think that this is possible
18:46 ugexe bummer. trying to figure out how to get a variable with .rakudobrew/bin/perl6 in it after *that* runs .rakudobrew/moar/install/perl6
18:46 ugexe i suppose theres no clean way to do it :(
18:49 Hor|zon joined #perl6
19:06 dalek roast: 82a4dd3 | usev6++ | S03-operators/ (2 files):
19:06 dalek roast: Use typed exceptions for conditional operator
19:06 dalek roast:
19:06 dalek roast: add test for RT #123115
19:06 dalek roast: review: https://github.com/perl6/roast/commit/82a4dd308c
19:06 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123115
19:07 yqt joined #perl6
19:08 dalek roast: 6fb9590 | usev6++ | S03-operators/ternary.t:
19:08 dalek roast: Fix copy-and-pasto in test for RT #123115
19:08 dalek roast: review: https://github.com/perl6/roast/commit/6fb9590e5e
19:08 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123115
19:14 jdv79 the yapc na sched seems like on p6:(
19:14 jdv79 i guess the q&a with TimToady is the p6 highlight
19:14 jdv79 *light
19:15 eli-se joined #perl6
19:16 masak jdv79: many of us are in Europe, and going to NA is nontrivial :/
19:19 jdv79 most or just many?
19:19 masak maybe even most.
19:20 masak depends how you count; certainly there are core people even in the Americas.
19:20 masak TimToady++ comes to mind ;)
19:21 eli-se .tell vendethiel if expressions work!
19:21 yoleaux eli-se: I'll pass your message to vendethiel.
19:21 vendethiel gg eli-se :)
19:21 yoleaux 19:21Z <eli-se> vendethiel: if expressions work!
19:21 vendethiel yoleaux: maybe you could stop delivering messages that have been submitted <1 minute ago? free algorithm for you..
19:22 masak but also (off the top of my head) PerlJam, pmichaud, colomon, [Coke], particle, rjbs, Util...
19:23 nwc10 I see that rjbs is doing a talk: http://www.yapcna.org/yn2015/talk/6038
19:23 nwc10 (but not on six. I'm unaware of rjbs ever doing a six talk)
19:24 nwc10 Ovid is a doing a talk. Util is doing a talk
19:24 masak rjbs++ Ovid++ Util++
19:25 PerlJam er, what?
19:25 masak sorry to highlight you like that.
19:25 PerlJam oh ... USAian
19:25 masak but while we're at it, PerlJam++ :)
19:25 PerlJam :)
19:26 jdv79 pretty sure pmichaud is in the usa
19:27 masak ...which is why he was on my list...
19:27 masak ...unless you don't consider Texas to be a state... :P
19:27 nwc10 he's in Texas - is that part of the USA? :-)
19:27 * masak beat nwc10 to it ;)
19:27 PerlJam Well ... Texas *is* like a whole other country   ;)
19:28 labster nwc10: don't mess with Texas
19:28 jdv79 never been to Tx
19:28 * masak has only been in Austin, which (from what he hears) is like a whole other country compared to *Texas*, so...
19:28 nwc10 labster: I am not planning to
19:28 jdv79 masak: where are you from?
19:28 masak jdv79: .se
19:29 masak jdv79: we're the country where you need a license to *dance*... :(
19:29 labster .uk is the best, they issue licenses to kill
19:30 jdv79 i have a friend that moved from here (nyc area) to stockholm i think
19:30 moritz ♪ dance, dance, wherever you may be ♩
19:30 jdv79 nyc is not like much of the US as well
19:31 PerlJam jdv79: New Orleans isn't like much of the US either.
19:31 dalek doc: b31bdbf | (Zoffix Znet)++ | lib/Language/5to6.pod:
19:31 dalek doc: Removed trailing whitespace on two lines (maintain consistency)
19:31 dalek doc: review: https://github.com/perl6/doc/commit/b31bdbf65d
19:31 dalek doc: ab48f45 | (Zoffix Znet)++ | lib/Language/5to6.pod:
19:31 dalek doc: Fixed typos
19:31 dalek doc: review: https://github.com/perl6/doc/commit/ab48f45791
19:31 dalek doc: 0221dca | moritz++ | lib/Language/5to6.pod:
19:31 dalek doc: Merge pull request #69 from zoffixznet/fix_typos_in_5to6
19:31 dalek doc:
19:31 dalek doc: Fix typos in 5to6
19:31 dalek doc: review: https://github.com/perl6/doc/commit/0221dcab54
19:31 PerlJam Seattle isn't like much of the US either  ;)
19:31 labster The US is actually not very much like itself.
19:32 moritz right, it's not fractal, so it can't be self-similar :-)
19:32 nwc10 I was just wondering if there's going to be a whole long list, and it will end up with Rhode Island being like the US, after every other bit is ruled out
19:32 PerlJam nwc10: I was resisting the urge to do something like that
19:33 jdv79 why RI?
19:33 TimToady well, that's where Cthulhu comes from
19:33 * TimToady has actually visited the grave of Lovecraft...
19:34 TimToady (wasn't his idea though)
19:34 labster Iä camelia ftaghn.
19:34 labster I'm starting to feel like quotemeta isn't necessary in Perl 6.  Is there a major use case?
19:36 PerlJam labster: to answer the FAQ of how to do P5's quotemeta in P6 ?
19:36 egrep joined #perl6
19:36 * [Coke] still has his honorary Texan cert somewhere.
19:36 TimToady to answer the question, What's a meta?
19:36 mst anything quotemeta quotes, obviously
19:37 mst just write a for loop over 0..255
19:37 labster to the left of an ortho
19:37 jdv79 its doesn't quote though; it escapes
19:37 PerlJam labster: really, there's nothing in P6 that intrinsically *needs* quotemeta AFAICT
19:38 labster possibly use v5 blocks
19:39 dalek rakudo/nom: f65ba97 | TimToady++ | src/core/L (2 files):
19:39 dalek rakudo/nom: generalize List.reduce
19:39 dalek rakudo/nom:
19:39 dalek rakudo/nom: Now does both N-ary reducers with left or right associativity, and
19:39 dalek rakudo/nom: all the standard reducers for binary functions of any associativity.
19:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f65ba97911
19:39 dalek roast: 849f96c | TimToady++ | S32- (2 files):
19:39 dalek roast: update various reduction-related tests
19:39 dalek roast: review: https://github.com/perl6/roast/commit/849f96c60e
19:43 PerlJam I'm looking at the spec on open and the flags look weird.  :r, :rw, :wa, :a once they are all implemented are essentially mutually exclusive.  Also, they don't replicate the functionality of fopen's  r, r+, w, w+, a, a+ and I'm not sure what we would call those things if we did them.
19:44 PerlJam Seems like we should have :r, :rw, :w, :wr, :wa, :rwa map to the respective fopen thingies
19:44 moritz what's w vs w+ ?
19:44 PerlJam w+ is read/write, w is just write (which implies truncation)
19:44 moritz PerlJam: it seems like we should have :r, :w, :a, and be able to use, like, more than one
19:45 moritz :r :w instead of :rw
19:45 PerlJam sure, but how do you distinguish between read/write that clobbers the file, and one that doesn't
19:45 PerlJam ?
19:45 moritz :w clobbers, :a doesn't?
19:46 moritz or have a separate :clobber or :noclobber or whatever we call it?
19:46 dalek ecosystem: f32a560 | tony-o++ | META.list:
19:46 dalek ecosystem: Adding 'overwatch' to ecosystem
19:46 dalek ecosystem:
19:46 dalek ecosystem: overwatch - help keep your scripts and other crap running
19:46 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/f32a560c38
19:49 masak I've always had the differene between :w and :a as :w clobbers, :a doesn't.
19:49 masak similar to `>` vs `>>`
19:50 PerlJam okay, what does read/write look like when you're appending vs. not appending?
19:50 PerlJam I guess I'm wondering if there's a use-case to support fopen's  a+
19:50 moritz :r :w vs, :r :a
19:51 * moritz thinks he missed the point of PerlJam's question
19:52 PerlJam I'm probably just not thinking or explaining clearly :)
19:52 moritz there seem to be several dimensions here:
19:52 moritz 1) the allowed operations: reading and/or writing
19:52 moritz 2) whether the file is created if it doesn't exist
19:53 moritz 3) where the stream is positioned
19:53 PerlJam aye.
19:53 moritz did I miss anything?
19:53 travis-ci joined #perl6
19:53 travis-ci Rakudo build passed. TimToady 'generalize List.reduce
19:53 travis-ci http://travis-ci.org/rakudo/rakudo/builds/56620111 https://github.com/rakudo/rakudo/c​ompare/76ba0a26e3fa...f65ba97911ef
19:53 travis-ci left #perl6
19:54 retupmoca whether the file is truncated
19:54 moritz right
19:55 moritz so, one could start by making a matrix, marking those combinations that the POSIX API offers
19:55 moritz and then thinking about how to best represent them
19:56 larion joined #perl6
19:58 brrt joined #perl6
19:58 PerlJam Why do VM versions use a string for the mode, but P6 uses Bool parameters?
19:58 PerlJam or, why not continue to use a string?
20:00 moritz because those strings aren't exactly user-friendly
20:06 [Coke] they do have the advantage of being standard.
20:07 PerlJam and small in number.
20:10 masak m: my @foo; macro x($val) { quasi { @foo.push: {{{$val}}} } }; say @foo; x 5; x 6; say @foo
20:10 camelia rakudo-moar 76ba0a: OUTPUT«␤Cannot call push(AST: Int); none of these signatures match:␤    (Any:U \SELF: *@values, *%_)␤  in any  at /tmp/zC0TnNvR5L:1␤  in block <unit> at /tmp/zC0TnNvR5L:1␤␤»
20:10 masak why does it think here that the invocant to .push is an AST?
20:10 masak that seems very wrong.
20:12 [Coke] because it's wrapped in {{{}}} ?
20:12 PerlJam not the invocant
20:13 tony-o does panda support packages bundled that contain only a '/bin/<file>' and no actual 'lib/*' filres?
20:13 [Coke] I'm sure it thinks the integer you passed in and is wrapped by {{{}}} is the AST: Int it's complaining about, though.
20:13 kjs_ joined #perl6
20:13 tinyblak joined #perl6
20:14 masak I don't really see how
20:14 masak AST: Int isn't one type, it's two types.
20:14 masak and the colon indicates invocant
20:15 [Coke] ah, ok.
20:20 TimToady m: say (2,3,4).reduce(&infix:<**>), ' ', 2 ** 3 ** 4  # right yet? (pun intended)
20:20 camelia rakudo-moar 76ba0a: OUTPUT«4096 2417851639229258349412352␤»
20:21 TimToady m: say (2,3,4).reduce(&infix:<**>), ' ', 2 ** 3 ** 4  # right makes might, or at least power in this case
20:21 camelia rakudo-moar f65ba9: OUTPUT«2417851639229258349412352 2417851639229258349412352␤»
20:25 masak how did you manage to do two evals in a row on either side of the recompile?
20:25 * masak now believes TimToady has magic powers
20:26 TimToady it usually flips at about 21 minutes past the hour
20:26 * PerlJam figured it was a timing thing
20:26 vendethiel Oo
20:26 * TimToady admits to checking it in a different window though :)
20:26 masak TimToady: you're scary :)
20:39 Zoffix joined #perl6
20:41 * Zoffix waves to the few familiar faces
20:41 Zoffix It's time to get my Perl 6 cherry popped :)
20:41 masak welcome!
20:42 masak unsavory metaphor, but still :)
20:42 jercos hot
20:42 Zoffix \o/
20:43 vendethiel o/
20:43 * masak .oO( is there a particular reason people in IT circles need to phrase completely unrelated things in terms of virginity... ) :P
20:47 TimToady It really doesn't matter what you do in IT, you're just screwed.
20:48 telex joined #perl6
20:49 skids masak: I think we're all just looking for an excuse to curse since we can't do it right at our PHBs.
20:50 jdv79 repressed profanity?
20:51 Zoffix Where do these types of links supposed to lead http://doc.perl6.org/type/S05%2FSubstitution ? It's a 404. I see other S\d+ links here http://design.perl6.org/ , but there's no S05/Substitution
20:51 jdv79 i too notice it and find it unpleasant
20:51 Zoffix (I found that link on 5to6 doc)
20:51 jdv79 the docs are not in perfect shape
20:53 adu joined #perl6
20:53 Zoffix Found it: http://design.perl6.org/S05.html#Substitution
21:01 sjn___ left #perl6
21:07 eli-se joined #perl6
21:07 masak m: say chr(0x2F)
21:08 camelia rakudo-moar f65ba9: OUTPUT«/␤»
21:08 masak 'night, #perl6
21:08 colomon o/
21:10 Zoffix o/
21:13 dalek doc: dcda32b | paultcochrane++ | lib/Language/5to6.pod:
21:13 dalek doc: Correct link to S05/Substitution
21:13 dalek doc:
21:13 dalek doc: Noticed by Zoffix++ in IRC
21:13 dalek doc: review: https://github.com/perl6/doc/commit/dcda32b88c
21:13 Zoffix Awww
21:13 Zoffix There's a bunch more, I was about to submit a pull :D
21:14 [ptc] Zoffix: go for your life, submit more PRs :-)
21:15 [ptc] Zoffix: you'll have a commit bit before you know it ;-)
21:16 espadrine joined #perl6
21:18 rararara joined #perl6
21:20 jnthn I'll very likely be offline all tomorrow. Back Thursday morning. :)
21:20 jnthn 'night o/
21:22 Zoffix [ptc], oh, seems like I already have it...
21:22 Zoffix Never had commit bits before.
21:22 Zoffix </disclaimer>
21:23 dalek doc: 0736f88 | (Zoffix Znet)++ | lib/Language/5to6.pod:
21:23 dalek doc: Fixed broken links
21:23 dalek doc: review: https://github.com/perl6/doc/commit/0736f88cd2
21:23 dalek doc: 468dbc7 | (Zoffix Znet)++ | lib/Language/5to6.pod:
21:23 dalek doc: Merge pull request #70 from zoffixznet/fix_links_perl5to6
21:23 dalek doc:
21:23 dalek doc: Fixed broken links
21:23 dalek doc: review: https://github.com/perl6/doc/commit/468dbc78d9
21:23 Zoffix ... so f I'm doing something wrong let me know :D
21:23 Zoffix Would I be just cloning and pushing to perl6/doc instead of my own fork?
21:25 jdv79 what is the p6 equiv of quotemeta for a regex context?
21:25 timotimo you just match "$foo"
21:26 timotimo aaw, a no-jnthn day :|
21:26 jdv79 ah, right
21:29 tony-o timotimo: did unbuffer do anything for your HSA woes?
21:30 TimToady you don't even need the quotes, since $foo matches literally
21:33 timotimo tony-o: haven't tried yet
21:34 timotimo TimToady: does it automatically .Str for you, too?
21:37 sno joined #perl6
21:43 TimToady m: my $foo = 234; say "12345" ~~ / $foo /
21:43 camelia rakudo-moar f65ba9: OUTPUT«「234」␤»
21:43 TimToady so it would seem
21:55 [Sno] joined #perl6
22:07 tony-o timotimo: i have a version that uses supplies instead of channels but the only part that seems better about that is that it errors instead of segfaults
22:07 timotimo oops :)
22:07 timotimo supplies instead of channels where exactly?
22:08 tony-o for the parsing/responding/timeout
22:08 timotimo oh
22:08 timotimo i kind of like having parsing and responding on different workers
22:08 tony-o https://gist.github.com/to​ny-o/dcd443f2b83bf6dae130
22:09 timotimo supplies don't introduce multithreading by themselves, unless you put a "schedule on this scheduler" thing into the chain (i think it's called .cue? and then you can .start or something)
22:09 tony-o i like that too, figured i'd try supplies temporarily while the other stuff seemed to be causing issues
22:10 timotimo i see
22:14 tony-o although this is less stable
22:15 timotimo tony-o: Pluggable lacks a provides section btw
22:16 tinyblak joined #perl6
22:17 tony-o fixed
22:17 timotimo thanks :)
22:18 timotimo hm, how come gen-meta proposes test-depends nqp?
22:19 vendethiel joined #perl6
22:20 sno joined #perl6
22:23 timotimo huh, panda install Pluggable still complains about the lack of "provides" in the META.info
22:24 timotimo ah
22:24 timotimo you forgot a , after the provides section closes, tony-o
22:24 tony-o oops
22:24 tony-o yea fixing it
22:26 tony-o comma is uploaded
22:28 timotimo ===SORRY!=== Error while compiling lib/Pod/Convenience.pm6
22:28 timotimo Please use !! rather than :
22:28 timotimo at lib/Pod/Convenience.pm6:106
22:28 timotimo ------> d::Heading.new :level(.level - $by + $to⏏) :contents[.contents]
22:29 timotimo m: Str.new: :level(my $foo - my $bar) :foobar<hello>
22:29 camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/1sQoe1y0tu:1␤␤use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/1sQoe1y0tu:1␤␤»
22:29 timotimo m: Str.new: :level(my $foo - my $bar) :foobar[.hello]
22:29 camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/pwwlYzgCQh:1␤␤use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/pwwlYzgCQh:1␤␤»
22:29 timotimo m: Str.new: :level(.?foo - .?bar) :foobar[.?hello]
22:29 camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Nil in numeric context  in block <unit> at /tmp/kuu_SpIdpS:1␤␤use of uninitialized value of type Nil in numeric context  in block <unit> at /tmp/kuu_SpIdpS:1␤␤»
22:29 timotimo hum.
22:30 timotimo ah, of course
22:30 timotimo m: 1 ?? Str.new: :level(.?foo - .?bar) :foobar[.?hello] !! "omg"
22:30 camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Nil in numeric context  in block <unit> at /tmp/oIv5cwcehM:1␤␤use of uninitialized value of type Nil in numeric context  in block <unit> at /tmp/oIv5cwcehM:1␤␤»
22:30 timotimo ...
22:31 timotimo m: 1 ?? Str.new :level(.?foo - .?bar) :foobar[.?hello] !! "omg"
22:31 camelia rakudo-moar f65ba9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8w3Eh2s9Iq␤Please use !! rather than :␤at /tmp/8w3Eh2s9Iq:1␤------> 1 ?? Str.new :level(.?foo - .?bar7⏏5) :foobar[.?hello] !! "omg"␤    expecting any of:␤        statement end␤        statem…»
22:31 timotimo that's it
22:31 timotimo but i'm not sure how this happened, or how it worked before
22:31 spider-mario joined #perl6
22:31 timotimo star-m: 1 ?? Str.new :level(.?foo - .?bar) :foobar[.?hello] !! "omg"
22:31 camelia star-m 2015.02: OUTPUT«use of uninitialized value of type Nil in numeric context  in block <unit> at /tmp/73oCevRZI6:1␤␤use of uninitialized value of type Nil in numeric context  in block <unit> at /tmp/73oCevRZI6:1␤␤»
22:35 tony-o timotimo: the issue appears to be with the IO::Socket::Async.tap
22:36 timotimo tap?
22:36 tony-o if i tap a new server and then just hard code a response in (without channels or supplies open outside of the ISA) i segfault after 2.5k connections
22:36 timotimo tap which of them?
22:36 tony-o tap the $!server which is a IO::Socket::Async.listen(...)
22:37 dalek doc: 479d63b | timotimo++ | lib/Pod/Convenience.pm6:
22:37 dalek doc: this slightly adventurous syntax used to work
22:37 dalek doc:
22:37 dalek doc: now calls forth a suggestion to "use !! instead of :"
22:37 dalek doc: after $to.
22:37 dalek doc: review: https://github.com/perl6/doc/commit/479d63bd4f
22:37 dalek doc: 60aff10 | timotimo++ | t/pod-htmlify.t:
22:37 dalek doc: footer-html now takes a path to the pod file.
22:37 dalek doc: review: https://github.com/perl6/doc/commit/60aff10ccf
22:38 skids joined #perl6
22:38 timotimo this makes p6doc panda-installable again
22:43 timotimo someone found the weekly from the search term "nqp xxx vlpqs", wtf?
22:46 BenGoldberg joined #perl6
22:47 tony-o nqp is hawt3~
22:49 timotimo .tell azawawi for some reason i had this change locally: $file-name .= subst('~', %*ENV<HOME>); → $file-name ~~ s/'~'/{%*ENV<HOME>}/;   inside method open-file in Editor.pm6
22:49 yoleaux timotimo: I'll pass your message to azawawi.
23:04 kurahaupo joined #perl6
23:24 KCL_ joined #perl6
23:28 SomeStrangeTest hi...trying to get rakudo installed and I'm stuck on the Task::Star step
23:28 SomeStrangeTest error is "        say defined %!dists;
23:28 SomeStrangeTest "
23:28 SomeStrangeTest oops
23:28 SomeStrangeTest error is Could not find Template::Mojo"
23:28 SomeStrangeTest this causes Bailidor to fail to install
23:29 tony-o how are you installing rakudo
23:29 SomeStrangeTest it lists a bunch of places it's looking for it, but I don't know where Panda puts things when it's trying to install so I don't really know how to proceed
23:30 SomeStrangeTest following Linux instructions from here: http://rakudo.org/how-to-get-rakudo/
23:30 SomeStrangeTest I'm using rakudobrew
23:30 tony-o try doing 'panda install Template::Mojo'
23:31 SomeStrangeTest In hindsite that was obvious! :D
23:31 SomeStrangeTest well I have a better clue now:
23:31 Zoffix I had the same error today.
23:32 Zoffix Why does it do that?
23:32 SomeStrangeTest The distribution Template::Mojo does not seem to have a "provides" section in its META.info file,
23:32 SomeStrangeTest and so the packages will not be installed in the correct location.
23:32 SomeStrangeTest Please ask the author to add a "provides" section, mapping every exposed namespace to a
23:32 tony-o task::star probably doesn't have template::mojo listed as depends
23:32 Zoffix It does
23:32 SomeStrangeTest that error message suggests the problem is Template::Mojo
23:33 Zoffix https://github.com/tadzik/Task-​Star/blob/master/META.info#L20
23:33 tony-o you can still install it without panda if you're just looking get past that step
23:34 SomeStrangeTest Yeah, Bailidor still fails to install with same error
23:35 tony-o clone git@github.com:tadzik/Template-Mojo.git  and copy the 'lib' folder to one of the directories listed when perl6 complains it can't find Template::Mojo (or one of the dirs listed by perl6 -e '@*INC.join("\n").say;')
23:38 SomeStrangeTest well that got me past that...on to this!
23:38 SomeStrangeTest Compiling lib/Bailador/App.pm to mbc
23:38 SomeStrangeTest ===SORRY!===
23:38 SomeStrangeTest No STable at index 12
23:38 SomeStrangeTest build stage failed for Bailador: Failed building lib/Bailador/App.pm
23:39 arnsholt Success, sort of!
23:40 arnsholt Using qqx rather than Proc::Async gets rid of the segfaults
23:40 SomeStrangeTest where does Panda put stuff it's trying to build?
23:40 tony-o SomeStrangeTest: can you gist the full error?
23:40 tony-o arnsholt: for what?
23:41 arnsholt tony-o: Running a subprocess and capturing its output
23:42 SomeStrangeTest tony-o: https://gist.github.com/Jus​tDust/e3f2a76edf5897be25e4
23:43 tony-o arnsholt: are you using the .stdout.act or stderr.act  on it?
23:44 arnsholt Supply has an act method?
23:44 tony-o arnsholt: https://github.com/tony-o/perl6-over​watch/blob/master/bin/overwatch#L62
23:45 arnsholt Huh. Didn't find that in the docs =D
23:45 flussence joined #perl6
23:47 tony-o i found it yesterday digging around in core
23:47 SomeStrangeTest is it more normal to just manually install rakudo and modules?  I get the sense that I'm just making things hard on myself trying to use the magical stuff
23:48 tony-o SomeStrangeTest: not really, i'm looking for where rakudobrew panda does it's thing - can't really find it
23:49 SomeStrangeTest hah...yeah I'm wondering whether it's very careful about cleaning up because I don't seem to have any Bailador files anywhere :D
23:49 tony-o you might have better luck with manual install if you just want to play around with perl6 instead of debugging panda stuff
23:51 tony-o SomeStrangeTest: looks like panda creates a directory called .panda-work that it cleans up when panda exits
23:51 SomeStrangeTest bad panda!
23:52 ugexe thats not bad?
23:52 ugexe if you dont want it to go away do `panda look module::name`
23:52 tony-o yea i'd rather it clean up than leave .panda-work folders everywhere lol
23:53 tony-o i already have too much .DS_store
23:53 arnsholt Heh. 392 lines per second processed by my script
23:53 SomeStrangeTest well I suppose you don't want the files unless you want them!
23:53 arnsholt Blindingly fast =D
23:53 tony-o arnsholt: did that .act thing fix the segfault?
23:54 ugexe SomeStrangeTest: you dont keep or need all the files
23:54 arnsholt tony-o: Didn't try it
23:54 ugexe the modules need to be put somewhere to be compiled
23:54 ugexe which are then installed
23:55 tony-o arnsholt: i haven't had any issues with piping it to &print for a few thousand lines so i'm curious to know if there are issues
23:55 tony-o so i can fix it and make overwatch stable-r
23:55 arnsholt The script processes 1.4 million lines of text, which in its current incarnation takes an hour. Couldn't be bothered to try another approach right now =)
23:55 tony-o nice
23:56 arnsholt Probably a lot of time spent in NativeCall (for DB interaction) and grammars for parsing
23:57 SomeStrangeTest ugexe:sure I understand.  It's nice though when things go wrong to be able to see what's happening.  My preference is to leave a trail, but tastes differ.
23:57 SomeStrangeTest particularly on a failed install it makes sense to me.  When everything works, yeah blow away the temp stuff
23:59 SomeStrangeTest but hey, that look command addresses that perfectly so I'm satisfied :)

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

Perl 6 | Reference Documentation | Rakudo