Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-07-27

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:04 llfourn steven_: I forgot to mention the most important part. At the top of main.p6 you put 'use MyModule;'. Then you will get anything exported from MyModule.pm6
00:05 steven_ ok cool will add that
00:07 llfourn steven_: you have to put 'is export' on things you want to export from MyModule.pm6 to get them in main.p6
00:09 mcmillhj joined #perl6
00:09 steven_ i have been trying https://perl6advent.wordpress.com/2009/12/12/day-12-modules-and-exporting/
00:09 steven_ but cannot get it to work
00:09 llfourn what error are you getting?
00:10 steven_ Could not find MyModule at line 1
00:11 [Coke] how are you running it? probably need to specify PERL6LIB env var.
00:11 [Coke] (or use -I on the command line)
00:11 steven_ yeah i think you are right because the article references $PERL6LIB
00:11 llfourn steven_: if you do perl6 -Ilib main.p6 and MyModule.pm6 is in lib it will work
00:12 [Coke] also note that 2009 is ancient history.
00:12 steven_ btw i am REALLY NEW TO PERL
00:12 steven_ but not new to programming
00:13 steven_ i will check into that env var and then come back to this chat
00:13 steven_ success imminent
00:13 steven_ !!
00:13 llfourn steven_: good luck :)
00:14 profken Anyone have any idea about why this isn't working? https://gist.github.com/anonymous/018c83c8d4475953886c594530e4e6af
00:14 mcmillhj joined #perl6
00:18 Geth ¦ doc: bd88d704aa | (Will "Coke" Coleda)++ | doc/Type/Str.pod6
00:18 Geth ¦ doc: show OUTPUT
00:18 Geth ¦ doc: review: https://github.com/perl6/doc/commit/bd88d704aa
00:18 Geth ¦ doc: cc0c04b676 | (Will "Coke" Coleda)++ | xt/space-after-comma.t
00:18 Geth ¦ doc: convert from run to Proc::Async
00:18 Geth ¦ doc: review: https://github.com/perl6/doc/commit/cc0c04b676
00:18 profken I don't know what 'This type cannot unbox to a native number: P6opaque, Int' means
00:18 zollX is there any facility to include DATA (lines) to a program as one can in perl 5 by adding stuff after __DATA__?
00:19 llfourn profken: that sort of error
00:19 llfourn you can get like:
00:19 llfourn m: my int $a = "foo"
00:19 camelia rakudo-moar 5d89ce: OUTPUT: «This type cannot unbox to a native integer: P6opaque, Str?  in block <unit> at <tmp> line 1??»
00:19 llfourn m: my num $a = 3
00:19 camelia rakudo-moar 5d89ce: OUTPUT: «This type cannot unbox to a native number: P6opaque, Int?  in block <unit> at <tmp> line 1??»
00:19 llfourn there you go ^
00:20 llfourn it looks like it wants floating point numbers but it's getting Ints at some point
00:20 llfourn tbh I would expect it to auto convert
00:20 llfourn m: my num $a = 3e0
00:20 camelia rakudo-moar 5d89ce: ( no output )
00:22 profken how do I convert an int to a num
00:22 llfourn zollX: I think there is but tbh I don't recall. Something to do with $=pod I think.
00:22 llfourn m: my int $a = 3; my num $b = $a.Num
00:22 camelia rakudo-moar 5d89ce: ( no output )
00:22 llfourn profken: like this maybe^
00:23 geekosaur r: my num $a = 3.Num
00:23 camelia rakudo-jvm 5d89ce: OUTPUT: «java.nio.file.NoSuchFileException: /nqp/lib/Perl6/BOOTSTRAP.jar?  in <anon> (gen/jvm/ModuleLoader.nqp:92)?  in load_module (gen/jvm/ModuleLoader.nqp:79)?  in <anon> (gen/jvm/CORE.setting)?  in <anon> (gen/jvm/ModuleLoader.nqp:257)?  in load_sett…»
00:23 camelia ..rakudo-moar 5d89ce: ( no output )
00:23 zollX thanks, llfourn. that is something i do not expect perl 6 to provide but won't mind if it does indeed.
00:23 llfourn zollX: apaprently there was a SO about this: https://stackoverflow.com/questions/4269140/does-perl6-support-something-equivalent-to-perl5s-data-and-end-sections#4269362
00:24 mcmillhj joined #perl6
00:24 profken Thank you llfourn, I got it working
00:24 llfourn profken: \o/ nice!
00:25 travis-ci joined #perl6
00:25 travis-ci Doc build errored. Will "Coke" Coleda 'convert from run to Proc::Async'
00:25 travis-ci https://travis-ci.org/perl6/doc/builds/257959494 https://github.com/perl6/doc/compare/69b25a390f59...cc0c04b676e7
00:25 travis-ci left #perl6
00:25 buggable [travis build above] ? Did not recognize some failures. Check results manually.
00:26 zollX llfourn++. that SO link was much helpful
00:26 llfourn sweet. It's good to feel helpful :)
00:35 Geth ¦ doc: 513b730a85 | (Will "Coke" Coleda)++ | doc/Type/List.pod6
00:35 Geth ¦ doc: Note "not-grep"
00:35 Geth ¦ doc:
00:35 Geth ¦ doc: Fixes #1425
00:35 Geth ¦ doc: review: https://github.com/perl6/doc/commit/513b730a85
00:35 lookatme morning
00:36 Cabanossi joined #perl6
00:37 * lookatme here is 8.37
00:39 mcmillhj joined #perl6
00:39 Technaton joined #perl6
00:44 cpage_ joined #perl6
00:54 travis-ci joined #perl6
00:54 travis-ci Doc build passed. Will "Coke" Coleda 'Note "not-grep"
00:54 travis-ci https://travis-ci.org/perl6/doc/builds/257962839 https://github.com/perl6/doc/compare/cc0c04b676e7...513b730a857b
00:54 travis-ci left #perl6
00:56 mcmillhj joined #perl6
00:56 timotimo [Coke]: does anything speak against none(/foo bar/) there?
00:57 skids joined #perl6
00:58 geekosaur isn't dragging in a junction slower?
00:59 jeromelanteri morning
01:00 timotimo hm, perhaps
01:01 AlexDaniel interesting, just today we've been talking about not-grep and I'm already using the none trick for something else
01:02 timotimo there's none trick here, move along
01:02 AlexDaniel I have a feeling that pushing people towards learning none junction is far more useful than having not-grep (as it may be useful everywhere), but I'm not sure
01:02 timotimo move allong, none tricks to see, not anything at all
01:03 AlexDaniel it slightly bothers me that junctions are typically *really* slow, but maybe we can optimize none for this exact case
01:03 AlexDaniel I mean, ~~ with none
01:04 timotimo maybe a fast-path for only one thing in the junction
01:04 AlexDaniel yea
01:05 timotimo last time i looked at that hacker news post it had 208 comments, now it's 320
01:05 AlexDaniel m: say <a b c d e f>.grep({! /<[aeiou]>/})
01:05 camelia rakudo-moar 5d89ce: OUTPUT: «(b c d f)?»
01:05 AlexDaniel m: say <a b c d e f>.grep(none /<[aeiou]>/)
01:05 camelia rakudo-moar 5d89ce: OUTPUT: «(b c d f)?»
01:05 AlexDaniel which one is more readable? :)
01:05 timotimo that regex is quite easy to negate internally, though
01:05 AlexDaniel well, that's not the point, but sure
01:06 timotimo of course
01:08 mcmillhj joined #perl6
01:09 zollX AlexDaniel: both grep-not are equally readable. of course, the 2nd one has fewer characters to (humanly) parse around
01:11 colomon m: say (1, 2.3, 3, “b”).grep(Int)
01:11 camelia rakudo-moar 5d89ce: OUTPUT: «(1 3)?»
01:11 colomon m: say (1, 2.3, 3, “b”).grep(none Int)
01:11 camelia rakudo-moar 5d89ce: OUTPUT: «(2.3 b)?»
01:11 lookatme m: say (1, 2.3, 3, “b”).grep(! Int)
01:11 camelia rakudo-moar 5d89ce: OUTPUT: «Cannot use Bool as Matcher with '.grep'.  Did you mean to use $_ inside a block??  in block <unit> at <tmp> line 1??»
01:12 AlexDaniel zollX: it is also technically better because you can use it with anything, not just regexes
01:12 AlexDaniel m: say (1, 2.3, 3, “b”).grep(none Int) # case in point
01:12 camelia rakudo-moar 5d89ce: OUTPUT: «(2.3 b)?»
01:12 timotimo i wish we could figure out that the thing passed to grep was created with ! there
01:12 AlexDaniel timotimo: huh?
01:12 timotimo .grep(! Int)
01:12 timotimo says "can't use bool as a matcher!"
01:13 AlexDaniel you mean that the error message is LTA?
01:13 lookatme I prefer one have consistency
01:13 colomon are there any cases where “none” doesn’t work?
01:13 AlexDaniel colomon: this is what I'm wondering also
01:14 zollX m: say (1, 2.3, 3, “b”).grep(none Any)
01:14 camelia rakudo-moar 5d89ce: OUTPUT: «()?»
01:14 AlexDaniel colomon: very often I had revelations like this only to realize later that it doesn't always work
01:14 zollX sweet
01:15 colomon AlexDaniel: I hear you
01:16 zollX thanks people. time to step away from 'puter ...
01:18 AlexDaniel oh wow!
01:18 AlexDaniel bench: HEAD compare (^9999).grep(none /1/) ||| (^9999).grep({!/1/})
01:19 AlexDaniel ah the bot is down
01:19 AlexDaniel one sec…
01:19 statisfiable6 joined #perl6
01:19 AlexDaniel not this one though
01:19 benchable6 joined #perl6
01:19 AlexDaniel bench: HEAD compare (^9999).grep(none /1/) ||| (^9999).grep({!/1/})
01:19 benchable6 AlexDaniel, starting to benchmark the 1 given commit
01:19 benchable6 AlexDaniel, ¦HEAD: ««run failed, exit code = 1, exit signal = 0»»
01:19 AlexDaniel benchable6: wiki
01:19 benchable6 AlexDaniel, https://github.com/perl6/whateverable/wiki/Benchable
01:20 AlexDaniel bench: compare HEAD (^9999).grep(none /1/) ||| (^9999).grep({!/1/})
01:20 benchable6 AlexDaniel, starting to benchmark the 1 given commit
01:20 benchable6 AlexDaniel, https://gist.github.com/82321be4c9cf975a9c5464845a806c37
01:20 AlexDaniel bench: compare HEAD (^99999).grep(none /1/) ||| (^9999).grep({!/1/})
01:20 benchable6 AlexDaniel, starting to benchmark the 1 given commit
01:20 benchable6 AlexDaniel, https://gist.github.com/60b7a888ef4e30608ce5b260b4f696eb
01:20 AlexDaniel wrong
01:20 AlexDaniel bench: compare HEAD (^99999).grep(none /1/) ||| (^99999).grep({!/1/})
01:20 benchable6 AlexDaniel, starting to benchmark the 1 given commit
01:20 benchable6 AlexDaniel, https://gist.github.com/9d465b380c2cd0f94240fbaabce3947e
01:21 AlexDaniel … anyway
01:21 AlexDaniel e: (^99999).grep(none /1/); say now - BEGIN now
01:21 evalable6 AlexDaniel, rakudo-moar 5d89cef9f: OUTPUT: «1.0512459»
01:21 AlexDaniel e: (^99999).grep({!/1/}); say now - BEGIN now
01:21 Cabanossi joined #perl6
01:21 evalable6 AlexDaniel, rakudo-moar 5d89cef9f: OUTPUT: «8.9576913»
01:21 AlexDaniel timotimo: ?
01:22 AlexDaniel so using none junction is actually SIGNIFICANTLY faster
01:22 AlexDaniel unless I'm missing something
01:22 colomon woah
01:22 AlexDaniel e: (^99999).grep({!/1/}).elems.say; say now - BEGIN now
01:22 skids yay autothreading.
01:22 evalable6 AlexDaniel, rakudo-moar 5d89cef9f: OUTPUT: «59048?9.1152870»
01:22 AlexDaniel e: (^99999).grep(none /1/).elems.say; say now - BEGIN now
01:22 evalable6 AlexDaniel, rakudo-moar 5d89cef9f: OUTPUT: «59048?1.0630564»
01:23 timotimo that can't be true?
01:23 timotimo really strange, but i like it
01:24 AlexDaniel by the way
01:24 geekosaur I would not want to trust a bot on a vps for timing
01:24 timotimo ???? is not a valid number symbol to us :(
01:24 AlexDaniel e: (^99999).grep({/1/}).elems.say; say now - BEGIN now
01:24 evalable6 AlexDaniel, rakudo-moar 5d89cef9f: OUTPUT: «40951?8.9982822»
01:24 AlexDaniel e: (^99999).grep(/1/).elems.say; say now - BEGIN now
01:25 evalable6 AlexDaniel, rakudo-moar 5d89cef9f: OUTPUT: «40951?0.9552490»
01:25 mcmillhj joined #perl6
01:25 AlexDaniel geekosaur: this is not a vps. This is a dedicated server
01:25 AlexDaniel geekosaur: it's not completely empty, but normally it has *very* low load
01:25 colomon geekosaur: I just got similiar results (with same code) on my Mac.
01:25 AlexDaniel geekosaur: and when you have 8 TIMES the difference I don't think there's any reason not to trust it
01:26 AlexDaniel sooo, matching a regex is always significantly faster than matching a block it seems? A none junction doesn't seem to do any difference at all
01:26 skids ah. foo.
01:26 AlexDaniel like, even if we were to optimize it here, it'd give like 5% of a difference but that's not much
01:27 AlexDaniel I don't know about you folks, but for me this is a huge discovery :)
01:27 colomon AlexDaniel++ # benchmarking for the win
01:28 AlexDaniel maybe benchable can do the right thing to graph it across releases though…
01:28 AlexDaniel bench: releases (^40000).grep({!/1/}).elems.say
01:28 benchable6 AlexDaniel, starting to benchmark the 21 given commits
01:29 skids would seem to indicate a lot of time is spent in call setup for closures.
01:29 timotimo a tracing specializer could do some good here
01:31 AlexDaniel please benchable6 don't act stupid, just gist what you have…
01:31 AlexDaniel or I'll change your code even more that you'll not recognize yourself in a mirror
01:33 benchable6 AlexDaniel, «hit the total time limit of 240 seconds»
01:33 AlexDaniel bench: releases (^10000).grep({!/1/}).elems.say
01:33 benchable6 AlexDaniel, starting to benchmark the 21 given commits
01:33 AlexDaniel come on
01:33 AlexDaniel I want a graph of this
01:35 benchable6 AlexDaniel, benchmarked the given commits, now zooming in on performance differences
01:35 timotimo that was quicker
01:35 skids m: (^99999).grep(-> $a {$a ~~ /1/}).elems.say; say now - BEGIN now
01:35 camelia rakudo-moar 5d89ce: OUTPUT: «40951?1.2832665?»
01:36 skids It's probably the magic conextual variable stuff.
01:36 benchable6 AlexDaniel, https://gist.github.com/6001c5744e3c877d76928d465de31e46
01:36 AlexDaniel looks like a regression to me?
01:36 AlexDaniel let's see
01:36 timotimo fascinating
01:37 timotimo it's the same result, though, right?
01:37 AlexDaniel c: b7201a8^,b7201a8 (^99999).grep({!/1/}).elems.say; say now - BEGIN now
01:37 committable6 AlexDaniel, ¦b7201a8^: «59048?5.0481256» ¦b7201a8: «59048?9.0262629»
01:37 AlexDaniel well, there you have it
01:38 AlexDaniel this? https://github.com/rakudo/rakudo/commit/b7201a8f22338a906f2d8027a21387e8f5c77f41
01:38 timotimo Completely re-imagine Str.match internals
01:38 AlexDaniel c: b7201a8f22338a906f2d8027a21387e8f5c77f41^,b7201a8f22338a906f2d8027a21387e8f5c77f41 (^99999).grep({!/1/}).elems.say; say now - BEGIN now
01:38 AlexDaniel let's double-check
01:38 * colomon is betting no
01:38 committable6 AlexDaniel, ¦b7201a8f22338a906f2d8027a21387e8f5c77f41^: «59048?5.0645579» ¦b7201a8: «59048?9.1315745»
01:38 * colomon is wrong
01:39 AlexDaniel yup
01:39 colomon oh, those were already the two you compared
01:39 AlexDaniel note that it is still not fast at all
01:39 AlexDaniel it's like 4 times slower than junction version, at least
01:39 timotimo does it know how to bool-only for the iterator?
01:39 merced joined #perl6
01:40 AlexDaniel no idea, but I'll submit a ticket now
01:40 AlexDaniel Oct 23, 2016 damn that's a bit old
01:40 timotimo the coverage reporter could be interesting here
01:40 timotimo to see what parts of that code it hits
01:40 timotimo we have that bot yet?
01:40 AlexDaniel coverable6: help
01:40 coverable6 AlexDaniel, Like this: coverable6: f583f22 grep=SETTING say ‘hello’; say ‘world’ # See wiki for more examples: https://github.com/perl6/whateverable/wiki/Coverable
01:41 timotimo sounds great
01:41 AlexDaniel timotimo: try it?
01:41 mcmillhj joined #perl6
01:41 timotimo coverable6: b7201a8f22338a906f2d8027a21387e8f5c77f41 (^99999).grep({!/1/}).elems.say
01:41 coverable6 timotimo, https://gist.github.com/68ff88fef35f41d700c5b5c22676f3b0
01:41 timotimo well, that certainly worked
01:41 AlexDaniel well, that's too old for coverage reporting?
01:41 timotimo (coverage NYI there)
01:41 timotimo yep
01:42 AlexDaniel well, that's unfixable I think?
01:42 AlexDaniel I can add an error message for this though
01:50 timotimo not easy to fix, no
01:50 timotimo yeah, that'd be neato
01:50 AlexDaniel coverable6: HEAD (^99999).grep({!/1/}).elems.say
01:50 AlexDaniel still we can do it on head
01:50 AlexDaniel but look, benchable6 did a good job, it seems that I won't have to defenestrate it
01:50 coverable6 AlexDaniel, https://gist.github.com/f3db9e924cebe9b96a71a2b4cd67ae9c
01:50 timotimo yeah, head still has a bunch of that code
01:50 timotimo i didn't build the cover-lines-multiple-times mode yet
01:51 ilbot3 joined #perl6
01:51 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:52 timotimo oh, huh, parameter binding is really hot there
01:53 timotimo 28% BOOTSTRAP.nqp:2196 (i assume that's find_best_candidate), 22% bind_one_param, another 12.7% bind, another <anon> inside BOOTSTRAP with 4%, and is_bindable with 4%
01:53 AlexDaniel I want to point out that the reason we have all this information now is because we cared to *properly* resolve the issue one of the users was having, instead of telling them to go learn how grep works and to fuck off in general
01:53 timotimo none of the 11 top frames get jitted, only half of them get speshed at all
01:55 timotimo i'm glad i ran the profiler on this
01:56 AlexDaniel rejecting ideas and complaints is easy but not productive, addressing issues is what does the trick. Doesn't mean that we have to do the first thing that is proposed, but for the love of all that is good and decent, may I ask everyone to think a little bit deeper before being rejective about everything?
01:56 AlexDaniel sorry, this was bothering me a bit too much
01:57 timotimo um, i might be too tired to see what you are refering to?
01:59 mcmillhj joined #perl6
01:59 MasterDuke timotimo: btw, i've started on implementing nqp::coverage_control
01:59 timotimo that's nice!
01:59 AlexDaniel timotimo: https://irclog.perlgeek.de/perl6/2017-07-26#i_14925561
02:00 timotimo ah, that was when i wasn't on line i guess
02:00 AlexDaniel timotimo: TL;DR first reaction was “no, we don't need to add any features, go learn how it works”, and then we went with better “well, let's document how to do it. Ok, there is more than one way. Ok, one way is much slower. Ok, it is a regression”
02:01 AlexDaniel I attempted to express the idea of resolving issues this way in this blog post, but I'm not sure if anybody cares: https://perl6advent.wordpress.com/2016/12/23/day-23-everything-is-either-wrong-or-less-than-awesome/
02:02 MasterDuke timotimo: and BOOTSTRAP.nqp:2196 is probably `Routine.HOW.add_method(Routine, 'find_best_dispatchee', nqp::getstaticcode(sub ($self, $capture, int $many = 0) {`
02:04 AlexDaniel c: b7201a8f22338a906f2d^,b7201a8f22338a906f2d (^99999).grep({!/1/}).elems.say; say now - BEGIN now
02:05 timotimo yes, find_best_dispatchee
02:05 committable6 AlexDaniel, ¦b7201a8f22338a906f2d^: «59048?5.0902087» ¦b7201a8: «59048?9.23840074»
02:05 AlexDaniel c: b7201a8f22338a906f2d^,b7201a8f22338a906f2d (^99999).grep({/1/}).elems.say; say now - BEGIN now
02:05 timotimo whereever that pops up, things are terrible
02:05 committable6 AlexDaniel, ¦b7201a8f22338a906f2d^: «40951?4.905903» ¦b7201a8: «40951?9.032774»
02:05 AlexDaniel c: b7201a8f22338a906f2d^,b7201a8f22338a906f2d (^99999).grep(/1/).elems.say; say now - BEGIN now
02:05 committable6 AlexDaniel, ¦b7201a8f22338a906f2d^: «40951?1.12385689» ¦b7201a8: «40951?1.1106832»
02:05 AlexDaniel so only code blocks are affected
02:05 AlexDaniel well, at least
02:05 [Coke] m: say (1..*-1).WHAT; say (1..*-1).^name
02:05 camelia rakudo-moar 5d89ce: OUTPUT: «(WhateverCode)?{ ... }?»
02:05 AlexDaniel and doesn't matter if it's negated or not
02:06 AlexDaniel I submitted a ticket: RT #131805
02:06 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131805
02:07 timotimo right, the big amount of time sunk comes from the proto method match from Str
02:07 timotimo i wonder if moving the $/ out of the proto and into every candidate and making the proto much simpler will alleviate performance here
02:07 [Coke] ^^ is that a bug? for doc#1355
02:07 timotimo but i'm already half on the way to bed
02:08 timotimo no, 1..*-1 is supposed to WhateverCurry
02:08 timotimo so you can have things like @foo[*-5..*-3] work out right
02:09 MasterDuke AlexDaniel++ nice writeup in the ticket
02:09 Geth ¦ doc: 138208cef7 | (Will "Coke" Coleda)++ | 28 files
02:09 Geth ¦ doc: Don't use .WHAT, use ^name
02:09 Geth ¦ doc:
02:09 Geth ¦ doc: Part of #1355
02:09 Geth ¦ doc: review: https://github.com/perl6/doc/commit/138208cef7
02:10 timotimo oh, you weren't refering to the fact that it curries at all
02:10 timotimo yeah. i'm proving now that i ought to go sleep
02:10 [Coke] Zoffix: feedback on https://github.com/perl6/doc/issues/1355 ?
02:11 [Coke] timotimo: the bug is that ^name and .WHAT are giving different results.
02:11 [Coke] (where as in every other case in the docs, it was just (e.g.) Int vs (Int)
02:11 timotimo i'd say perhaps .^name also whatever-curries there
02:11 timotimo m: say ((1..*-1).^name)(10)
02:11 camelia rakudo-moar 5d89ce: OUTPUT: «Range?»
02:12 timotimo that's ... quite useless :D
02:12 AlexDaniel hm, I wonder if this is why unicodable6 is now very slow
02:12 AlexDaniel because that's exacly what it does, it greps with a code block if you give it one
02:12 AlexDaniel I remember it getting slower suddenly at some point, but didn't think of it much
02:12 timotimo but i thought the majority of the sluggishness comes from method match on Str .. i can't come up with a good way to make sure :|
02:13 timotimo like does grep with a regex do something special?
02:13 AlexDaniel what if we eliminate match?
02:13 timotimo does it circumvent calling .match on every entry? or is it because it's Cool, not Str and somehow the conversion does something different?
02:13 AlexDaniel c: b7201a8f22338a906f2d^,b7201a8f22338a906f2d (^99999).grep({True}).elems.say; say now - BEGIN now
02:13 committable6 AlexDaniel, ¦b7201a8f22338a906f2d^: «99999?0.1037948» ¦b7201a8: «99999?0.09883378»
02:14 AlexDaniel c: b7201a8f22338a906f2d^,b7201a8f22338a906f2d (^99999).grep({(^1).pick}).elems.say; say now - BEGIN now
02:14 committable6 AlexDaniel, ¦b7201a8f22338a906f2d^: «0?0.729757» ¦b7201a8: «0?0.75104530»
02:14 AlexDaniel so it's only a regex thing?
02:15 AlexDaniel c: b7201a8f22338a906f2d^,b7201a8f22338a906f2d (^99999).grep({.match(‘1’)}).elems.say; say now - BEGIN now
02:15 committable6 AlexDaniel, ¦b7201a8f22338a906f2d^: «40951?5.0481776» ¦b7201a8: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
02:15 * AlexDaniel shrugs
02:16 mcmillhj joined #perl6
02:18 gdonald joined #perl6
02:20 timotimo good hunting!
02:20 [Coke] m: say ((1..*-1)).^name; # close enough
02:20 camelia rakudo-moar 5d89ce: OUTPUT: «WhateverCode?»
02:21 [Coke] Zoffix: nevermind, all set.
02:25 Geth ¦ doc: 6c0d1d37fa | (Will "Coke" Coleda)++ | doc/Type/Whatever.pod6
02:25 Geth ¦ doc: fix last .WHAT instance #1355
02:25 Geth ¦ doc: review: https://github.com/perl6/doc/commit/6c0d1d37fa
02:25 Geth ¦ doc: 50731f8481 | (Will "Coke" Coleda)++ | 2 files
02:25 Geth ¦ doc: Test for inappropriate usage of .WHAT in sample code
02:26 Geth ¦ doc:
02:26 Geth ¦ doc: Provide for :ok-test<WHAT> as a way to allow it in the very few
02:26 Geth ¦ doc: examples where it makes sense.
02:26 Geth ¦ doc: review: https://github.com/perl6/doc/commit/50731f8481
02:30 mcmillhj joined #perl6
02:44 jeromelanteri try to use perl6-debug-m... failed with error: "Non ast passed to WANTED: NQPMu ===SORRY!=== Cannot find method 'named' on object of type NQPMu
02:47 lookatme what's your rakudo version ?
02:48 jeromelanteri how to see that ?
02:48 lookatme perl6 -v
02:48 jeromelanteri 2017.06 built on MoarVM version 2017.06
02:49 jeromelanteri implementing perl 3.c
02:49 jeromelanteri perl 6.v
02:49 jeromelanteri .c (zut !)
02:49 yoleaux I don't know
02:49 mcmillhj joined #perl6
02:50 geekosaur I think that was still buggy, you need 2017.07?
02:50 mr_ron joined #perl6
02:51 lookatme yeah, you can update your rakudo to last version
02:52 jeromelanteri from my packager, version has not moved... how to find the soucre ?
02:53 jeromelanteri ok found
02:53 lookatme The github release ?
02:54 jeromelanteri yes
02:54 jeromelanteri 11 days ago, a commit said: 2017.07 is now in the past
02:59 noganex_ joined #perl6
03:01 mcmillhj joined #perl6
03:03 jeromelanteri perl6 --version ==> eror unhandled exception: Missing or wrong version of dependency '/tmp/prl6/rakudo/install/bin../share/nqp/lib/MAST/Nodes.nqp' (from 'src/perl6/Pod.nqp')
03:05 jeromelanteri may i need to remove rakudo from my packager isntallation ?
03:05 jeromelanteri and what about alacryd and perl6-json-fast (installef rom packager) ?
03:06 jeromelanteri (installed from my packager)
03:06 eater joined #perl6
03:11 MasterDuke jeromelanteri: you could reinstall rakudo and manually edit the PKGBUILD to point to 2017.07
03:11 jeromelanteri ok, i removed all from packager, and try to install all from github clone, compil and install... rakudo and alacryd, maybe zef also...
03:12 jeromelanteri MasterDuke, yes, i thank about that way to, but because packages are not supported offical ones for archlinux (repos AUR) and that they have many problem for find there own dependencies sources... i decide to remove dirty things and make all clean by hand.
03:13 jeromelanteri I will do from packages when they will be maintained officialy by archlinux dudes...
03:13 MasterDuke jeromelanteri: fyi, i just flagged rakudo/nqp/moarvm as out of date
03:13 jeromelanteri yes
03:13 MasterDuke i have those packages installed, but i also have local checkouts that i build
03:13 jeromelanteri that ios why maybe also the debugger failed to run.
03:13 jeromelanteri MasterDuke, on archlinux ?
03:16 MasterDuke yeah
03:16 mcmillhj joined #perl6
03:17 jeromelanteri MasterDuke, and perl6-debug-m start running well ?
03:19 SpikeMaster joined #perl6
03:19 SpikeMaster join #emacs
03:22 MasterDuke jeromelanteri: seems to work
03:23 jeromelanteri MasterDuke, version ?
03:24 MasterDuke This is Rakudo version 2017.07-77-g5d89cef9f built on MoarVM version 2017.07-18-ga052a333
03:24 jeromelanteri MasterDuke, yeah ok, so it is not from package AUR.
03:24 jeromelanteri you modify the pkg-build then ?
03:25 MasterDuke no, just built it by hand
03:26 jeromelanteri MasterDuke,  so i not understand what you told me at 10:13:44 (UTC +7)
03:26 jeromelanteri 13 minutes ago.
03:26 jeromelanteri you have those packages installed or not ?
03:27 MasterDuke i have the packages installed (unmodified), but i also build rakudo in my home directory
03:28 jeromelanteri then when you call it, how do you do that ? (comand perl6 linked on your home construction ?)
03:29 MasterDuke i have an alias in my .bashrc
03:29 jeromelanteri i do install it from git, but then i do not see where it has been install... do the git clone repo has to be cloned inside a /usr/share/rakudo directly ?
03:29 MasterDuke `alias p6='~/Source/perl6/install/bin/perl6'`
03:29 mcmillhj joined #perl6
03:30 MasterDuke if you didn't specify a --prefix, it just went in rakudo/install
03:30 jeromelanteri MasterDuke, so the git repo is a source to keep... insatllation does not copy files on places
03:30 jeromelanteri ok
03:30 jeromelanteri which --prefix should be a good idea for system wide installation ?
03:30 MasterDuke i specified a --prefix of `--prefix=/home/dan/Source/perl6/install/`
03:32 jeromelanteri MasterDuke, yes you told me that. but for a system wide installation ? may it be /usr/share/perl6 ? may it be a good idea you think ?
03:32 MasterDuke well, if you don't use the aur packages you could always put it where they do, /usr/bin
03:32 AlexDaniel m: sub foo(+%z) { dd %z.keys }; foo %(:5a, :10b)
03:32 camelia rakudo-moar 5d89ce: OUTPUT: «(0, 1).Seq?»
03:33 AlexDaniel isn't it weird? ?
03:33 AlexDaniel like, what's the point of doing +%z at all?
03:33 jeromelanteri MasterDuke, ok, then i just do copy content of rakudo/install in good places: /usr/bin for bin, etc...
03:33 AlexDaniel m: sub foo(*%z) { dd %z.keys }; foo %(:5a, :10b)
03:33 camelia rakudo-moar 5d89ce: OUTPUT: «Too many positionals passed; expected 0 arguments but got 1?  in sub foo at <tmp> line 1?  in block <unit> at <tmp> line 1??»
03:33 AlexDaniel m: sub foo(*%z) { dd %z.keys }; foo :5a, :10b
03:33 camelia rakudo-moar 5d89ce: OUTPUT: «("a", "b").Seq?»
03:33 MasterDuke i don't think /usr/share usually has binaries
03:34 MasterDuke jeromelanteri: i don't think copying them will work, they aren't relocatable, they have hardcoded in the binaries the paths specified during configure/build
03:35 jeromelanteri MasterDuke, ok then i have to rebuild them with --prefix
03:35 Cabanossi joined #perl6
03:35 MasterDuke yep
03:39 jeromelanteri works...
03:39 MasterDuke cool
03:40 jeromelanteri MasterDuke, same for alacryd ? i have to paste a --prefix ?
03:41 MasterDuke that i don't know. i've never used it directly
03:44 MasterDuke i don't use a lot of modules, so the few i do use i just clone manually
03:45 mcmillhj joined #perl6
03:47 MasterDuke jeromelanteri: if you're not using the aur packages, you probably want to use zef instead of alacryd
03:49 jeromelanteri yes, i use zef allready... then i thank i had to install alacryd because on packages installation time, it installed it has dependency by default...
03:49 jeromelanteri so ok, i no need alacryd then.
03:50 jeromelanteri MasterDuke, thank you for your recommandations and help
03:51 MasterDuke welcome
04:02 cpage__ joined #perl6
04:04 mcmillhj joined #perl6
04:24 anser joined #perl6
04:30 mcmillhj joined #perl6
04:31 adu joined #perl6
04:42 mcmillhj joined #perl6
04:50 Cabanossi joined #perl6
04:58 mcmillhj joined #perl6
05:27 mcmillhj joined #perl6
05:35 xtreak joined #perl6
05:43 mcmillhj joined #perl6
05:56 mcmillhj joined #perl6
06:01 ufobat joined #perl6
06:11 mcmillhj joined #perl6
06:13 jaldhar joined #perl6
06:15 jaldhar Hello.  There is something I'm not understanding about Iterator.  I have a class that has a bunch of attributes and one method that updates them  (and some getters but thats not important.) ...
06:16 jaldhar I want to make this iterator so I add does Iterator to my class and implement a pull-one method which calls my update method and returns self.  Is that right?  Because it doesn't seem to be iteratinf, I just get the same values each time.
06:19 lowbro joined #perl6
06:19 lowbro joined #perl6
06:27 andrzejku joined #perl6
06:30 breinbaas joined #perl6
06:31 mcmillhj joined #perl6
06:38 lizmat joined #perl6
06:42 nadim joined #perl6
06:43 lookatme jaldhar, can u show us some code ?
06:45 mcmillhj joined #perl6
06:46 domidumont joined #perl6
06:50 Cabanossi joined #perl6
06:52 domidumont joined #perl6
06:58 mcmillhj joined #perl6
07:00 xtreak joined #perl6
07:01 xtreak joined #perl6
07:07 parv joined #perl6
07:07 ingy if I have 2 class Foo attributes@.foo and %.foo, and I make a $foo = Foo.new, can I access both attributes?
07:08 R0b0t1 joined #perl6
07:08 R0b0t1 How do I build rakduo star from a source that is verifiable?
07:09 R0b0t1 I can only access the release page over HTTP and do not want to use that download
07:09 R0b0t1 I tried to clone the star repository from github but Configure.pl refuses to run
07:09 lookatme m: class Foo { has @.foo; has %.foo; }
07:09 camelia rakudo-moar 5d89ce: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Two or more attributes declared that both want an accessor method 'foo'?at <tmp>:1?»
07:09 lookatme no way ingy
07:09 lookatme m: class Foo { has @!foo; has %!foo; }
07:09 camelia rakudo-moar 5d89ce: ( no output )
07:10 ingy thx
07:10 lookatme It can not be declare with .
07:10 ingy got it
07:10 ingy makes sense
07:11 lookatme Welcome
07:11 jaldhar lookatme: https://gist.github.com/jaldhar/bae299ee03df93fcdd3633d751581e0b
07:11 abraxxa joined #perl6
07:12 jaldhar lookatme: this is the current state of affairs pared down to the essentials.  But it is way past my bedtime now.  Will you be around in ~6 hours?
07:12 mcmillhj joined #perl6
07:12 cono R0b0t1: I usually build like this: perl Configure.pl --gen-moar --backends=moar
07:12 yoleaux 12 Jun 2017 19:38Z <eveo> cono: you should add yourself to CREDITS file: https://github.com/rakudo/rakudo/blob/nom/CREDITS
07:14 lookatme jaldhar, if I find something, I will leave message to u or comment under your gist
07:15 pecastro_ joined #perl6
07:18 |oLa| joined #perl6
07:19 TimToady joined #perl6
07:21 darutoko joined #perl6
07:26 nadim joined #perl6
07:26 rindolf joined #perl6
07:27 R0b0t1 cono: That is what I am trying to run. I see https://github.com/rakudo/star/blob/master/Configure.pl#L53
07:27 R0b0t1 However, since having just looked at the source, I will try --force
07:28 R0b0t1 cono: It fails with "Unable to read rakudo/tools/build/NQP_REVISION"
07:28 mcmillhj joined #perl6
07:29 R0b0t1 I suppose that is directed at the channel in general
07:30 R0b0t1 Hmm
07:30 R0b0t1 http://www.nntp.perl.org/group/perl.perl6.compiler/2013/05/msg8916.html
07:31 R0b0t1 Wow that is highly annoying
07:31 R0b0t1 It just downloads a tarball
07:31 R0b0t1 And one of the links 404s
07:33 wamba joined #perl6
07:34 R0b0t1 I am positive that what is being done in the star repository is supposed to be done with submodules
07:34 R0b0t1 I am trying to see if there is a verifiable chain of trust in the build system and it looks like the answer is "no."
07:35 Cabanossi joined #perl6
07:36 R0b0t1 wget --no-check-certificate https://
07:36 R0b0t1 Are you insane?
07:37 R0b0t1 I feel like a strongly worded email is in order
07:37 R0b0t1 I do declare
07:37 lookatme .tell jaldhar What do you mean same value. I test your code, and works fine. You not change public attribute, and it will be display same message when you `say` or `dd` them.
07:37 yoleaux lookatme: I'll pass your message to jaldhar.
07:40 Juerd --no-check-certificate is indeed insane.
07:43 zakharyas joined #perl6
07:44 R0b0t1 So erm
07:46 R0b0t1 Juerd, do you have any recommendations here? Should I post to perl6-user about my issues with trying to verify the releases or to perl6-compiler to suggest that their build system is a poor one
07:46 geekosaur that didn't actually end up in star, did it? I know we had someone several months ago who insisted that we couldn't be a real project without a curl|sh install, so made an install site that did that... without https
07:46 R0b0t1 Not that I think you have any relevant expertise, I just need someone to pick for me
07:46 R0b0t1 But that's not to say you seem uninformed
07:46 mcmillhj joined #perl6
07:46 geekosaur but there was general refusal to make the main rakudo site use it
07:48 R0b0t1 geekosaur: If a project has a curl|sh line on its front page it makes me think it is developed by amateurs
07:49 dakkar_ joined #perl6
07:51 astj_ joined #perl6
07:51 astj joined #perl6
07:53 linuksz joined #perl6
07:54 AlexDani` joined #perl6
07:57 linuksz why isn't it work: http://sprunge.us/EdUb
07:57 linuksz ?
08:01 R0b0t1 Well having written the email it seems most appropriate for perl6-compiler
08:01 linuksz it don't give an usage message when launched with no arguments
08:01 AlexDani` joined #perl6
08:03 jonas1 joined #perl6
08:05 mcmillhj joined #perl6
08:06 pharv_ joined #perl6
08:18 araujo_ joined #perl6
08:19 lookatme linuksz, you can add constraint for your: Str:D $english_file_name or Str $english_file_name!
08:20 araujo_ joined #perl6
08:20 mcmillhj joined #perl6
08:22 linuksz it doesn't work. http://sprunge.us/SWYL
08:23 stmuk R0b0t1: https://rakudo.perl6.org/downloads/star/ is https if that's what you want
08:23 stmuk the star github repo is used to build the tarball and not star itself directly
08:25 stmuk what do you mean "verify the release"?
08:27 lookatme linuksz, is your script correct ? It report syntax error when I try it
08:28 linuksz i think its syntax is correct
08:28 lookatme Can you run `perl6 -c your.p6` ?
08:28 linuksz i get the following error when i run it: Variable '$translation_file_name' is not declared
08:28 linuksz it isn't syntax error
08:29 lookatme No it's syntax error
08:29 lookatme so use perl6 -c check your syntax
08:29 linuksz i get the following error:
08:29 linuksz ===SORRY!=== Error while compiling /mnt/ramlemez/test.pl6
08:29 linuksz Variable '$translation_file_name' is not declared
08:29 linuksz at /mnt/ramlemez/test.pl6:135
08:29 linuksz ------> "### {?$translation_file_name.IO.basename}
08:30 lookatme linuksz, so there some error with your script
08:30 linuksz this is the output of perl6 -c test.pl6
08:33 linuksz yes, and i don't know why doesn't it give an usage message when launched without arguments
08:33 linuksz where should i search the errors? MAIN signature?
08:34 lookatme I think all parameter of your MAIN is optional
08:36 linuksz but i used '!'
08:36 mcmillhj joined #perl6
08:39 linuksz i extracted the MAIN and the USAGE to a file, and deleted MAIN body: http://sprunge.us/TYdR
08:39 linuksz it works correctly
08:42 lookatme yeah, linuksz you can test your code piece by piece
08:43 linuksz i am using the MAIN function first time
08:43 linuksz maybe the variables are declared at the wrong place
08:43 zengargoyle joined #perl6
08:44 linuksz if i use a variable in the signature of MAIN, and i use it in a subroutine, should it be declared globally?
08:45 lookatme linuksz, no the parameter is lexical scope
08:46 lookatme you can pass it to your sub
08:47 linuksz i wrote this code originally without a MAIN sub
08:48 linuksz in that version, the $translation_file_name, $english_file_name, and $translator variables was global
08:48 lookatme Oh, I think you should modify your sub, add a signature
08:49 linuksz if i declare a variable in MAIN's signature, will it be global?
08:49 lookatme Not found a way you can both declare with MAIN parameter and can access in other sub
08:50 lookatme linuksz, how to declare variable in signature ?
08:50 Cabanossi joined #perl6
08:50 linuksz MAIN($english_file_name)
08:51 lookatme No
08:51 linuksz ?
08:51 lookatme The parameter is lexical scope
08:51 lookatme you can access them outside a sub
08:51 lookatme can not
08:53 linuksz oh, so i should declare the variable globally even if it is in MAIN signature?
08:54 moritz_ no, mentioning it in a signature declares it for the block that the signature is attached to
08:54 mcmillhj joined #perl6
08:54 gfldex m: my $v; sub f($v is copy){ $v = 1 }; await start f(2); say $v;
08:54 camelia rakudo-moar 1a74a8: OUTPUT: «(Any)?»
08:54 moritz_ m: sub f($x) { say $x }; f(42); # for linuksz
08:54 camelia rakudo-moar 1a74a8: OUTPUT: «42?»
08:55 moritz_ m: sub f($x) { say $x }; $x  # for linuksz
08:55 camelia rakudo-moar 1a74a8: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Variable '$x' is not declared?at <tmp>:1?------> 3sub f($x) { say $x }; 7?5$x  # for linuksz?»
08:55 lookatme linuksz,  yeah, but it is not a good solution.
08:55 linuksz i declared the variables outside of MAIN, and it works.
08:55 linuksz thanks.
08:55 gfldex linuksz: our scoped lexical parameters would make threading rather difficulty
08:56 lookatme I think I should add a feature for my Getopt module, so it can reference a global variable, and set value when user supply a option, just like Perl5 does
08:57 lookatme So you can add your `command line option` free
08:57 gfldex lookatme: please add a note to your module that it wont be threadsafe if globals are used
08:57 lookatme gfldex, I will do it
08:58 dolmen joined #perl6
08:58 lookatme thanks
09:00 mr-foobar joined #perl6
09:01 lookatme linuksz, if your want command line option support, you can checkout my module Getopt::Advance
09:02 lookatme https://github.com/araraloren/perl6-getopt-advance#source-code, There is a sample
09:02 linuksz ok, i will try it out
09:02 lookatme Add it to your original script, and MAIN is not necessary
09:04 lookatme And sorry about the document of module is not too much, if you have some question, ask me on IRC linuksz
09:04 lookatme I will add more document soon
09:06 araujo joined #perl6
09:12 mcmillhj joined #perl6
09:16 zakharyas joined #perl6
09:18 kaare_ joined #perl6
09:34 LeCamarade joined #perl6
09:35 Cabanossi joined #perl6
09:44 iviv hey o/ sent a few PRs to https://github.com/perl6/docker
09:48 stmuk no star doesn't use curl|sudo
09:52 mr-foobar joined #perl6
09:54 cpage_ joined #perl6
09:58 daxim tell raiph https://news.ycombinator.com/item?id=14856883 what's the real (error-free) code? can I observe the autothreading in htop?
10:03 rightfold Can you automatically generate a man page from a MAIN signature?
10:05 Cabanossi joined #perl6
10:14 nowan joined #perl6
10:18 Zoffix left #perl6
10:20 mr-fooba_ joined #perl6
10:22 zakharyas joined #perl6
10:22 jeromelanteri joined #perl6
10:25 nadim joined #perl6
10:30 uktest joined #perl6
10:34 astj joined #perl6
10:38 astj joined #perl6
10:45 astj joined #perl6
11:03 nadim Hi, I get an error about and ambiguous call and I ama bit perplexed about why. first some info: https://nopaste.linux-dev.org/?1160057 . given that the signature differs with because of the :D I thought that would be enough to disambiguate
11:06 astj joined #perl6
11:11 andrzejku joined #perl6
11:16 astj joined #perl6
11:22 jnthn The other one needs to be List:U
11:23 jnthn :D/:U don't count as tighter/looser
11:34 pmurias joined #perl6
11:41 R0b0t1 stmuk: Check the release .tar.gz against signed digests
11:41 R0b0t1 stmuk: Odd, I tried changing one of the links to https and I got an error about an invalid certificate. It worked this time.
11:42 R0b0t1 stmuk: Or check the signature of the .tar.gz directly, but typically large releases have hashes of the release generated with a few different algorithms and then a file of those hashes is signed with GPG.
11:49 R0b0t1 Not to be condescending if you already knew how it works, but this is the third major language project that does extremely insecure things
11:49 R0b0t1 Overall it must be the fifth or sixth large project in general
11:51 pmurias R0b0t1: extremely insecure things being not signing releases properly or running random module code from the internet?
11:52 astj joined #perl6
11:53 araraloren joined #perl6
11:54 mr_ron joined #perl6
11:59 raschipi joined #perl6
12:10 pmurias stmuk: reading the sources in the tarballs doesn't actually get you any extra security as we bundle compiled bytecodes
12:13 pmurias stmuk: you would have to write a moarvm bytecode disassembler and read the the stage0 bytecode
12:20 pmurias how is curl|sh less safe then downloading a .tar.gz full of code and executing it?
12:21 nadim joined #perl6
12:21 nadim jnthn: thanks, let me try this
12:22 raschipi pmurias: You're supposed to check the code before executing it.
12:24 pmurias raschipi: do you read the moarvm bytecode when downloading nqp?
12:30 pmurias raschipi: manually checking everything you download before executing it is for most people as practical as rewriting it instead of downloading or visiting a Perl 6 core developer bringing the code on a usb pen drive
12:32 raschipi Just making sure it's sane and you actually have the right to use it.
12:35 araraloren evening
12:36 pmurias raschipi: that only guards you against code that's obviously stupid not intentionally malicious
12:36 raschipi sure
12:37 astj joined #perl6
12:47 espadrine joined #perl6
12:50 Cabanossi joined #perl6
12:57 stmuk pmurias: yes I know .. there are two hints in my email about that
13:02 mcmillhj joined #perl6
13:10 astj joined #perl6
13:10 astj_ joined #perl6
13:20 mr-foobar joined #perl6
13:26 nadim I am putting stuff in a junction to match and I get this error https://nopaste.linux-dev.org/?1160059, maybe I have misunderstood what smart matching can match or not.
13:26 nadim jnthn: I thought ~~ could match the same objkect on both sides even when it is in a junction
13:26 stmuk R0b0t1: I suspect most of the major language projects understand what you propose doesn't add much real security for quite a lot of effort and potential key management issues
13:31 AlexDani` joined #perl6
13:31 stmuk what would be useful is if the SHA256 hashes are being distributed widely (not from our ftp servers) by third party systems
13:31 stmuk eg. https://github.com/Homebrew/homebrew-core/blob/master/Formula/rakudo-star.rb#L5
13:35 Cabanossi joined #perl6
13:36 stmuk also fossies.org
13:44 pmurias stmuk: doesn't signing help protect people who already got the keys before our servers got compromised?
13:46 stmuk yes that's true and we could use third party keyservers but I'm still unconvinced its worth the effort
13:47 stmuk its not really the technical issues but the issues over lost keys etc.
13:54 mr-foobar joined #perl6
14:00 skids joined #perl6
14:06 yan__ joined #perl6
14:18 nicq20 joined #perl6
14:21 nicq20 When do $* vars exist? I'm trying to figure out the difference between $*LANG and $?LANG.
14:23 raschipi $* is a dynamic variable. It will be looked in the current scope and if not found, in the scope of the caller.
14:24 raschipi Normal varibles if not found in the current scope will be looked in the outer scope
14:24 raschipi $? is a compile-time variable
14:26 nicq20 Do $* vars get changed other than when changing scope?
14:26 raschipi Sorry, I don't follow.
14:28 raschipi Dynamic variables change just the same as other variables.
14:30 nicq20 For context: I'm fiddling with slangs still. I can't get a method to mixin right: https://irclog.perlgeek.de/perl6/2017-07-26#i_14926529
14:30 cdg joined #perl6
14:33 nicq20 I was trying to figure out, why the role is applied to $?LANG, but not $*LANG. It does get applied when in a new scope though.
14:35 Cabanossi joined #perl6
14:36 daxim 6: "????????????".chars
14:36 raschipi m: "????????????".chars
14:36 camelia rakudo-moar 1a74a8: ( no output )
14:36 raschipi m: "????????????".chars.say
14:36 camelia rakudo-moar 1a74a8: OUTPUT: «1?»
14:37 lucasb joined #perl6
14:40 nadim m: my %h = <a 1> ;  %h1 ~~ %h1 ;
14:40 camelia rakudo-moar 1a74a8: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Variable '%h1' is not declared?at <tmp>:1?------> 3my %h = <a 1> ;  7?5%h1 ~~ %h1 ;?»
14:40 nadim m: my %h1 = <a 1> ;  %h1 ~~ %h1 ;
14:40 camelia rakudo-moar 1a74a8: ( no output )
14:40 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 ~~ %h1 ;
14:40 camelia rakudo-moar 1a74a8: ( no output )
14:40 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 ~~ 1 ;
14:40 camelia rakudo-moar 1a74a8: OUTPUT: «match?»
14:40 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 ~~ 2 ;
14:40 camelia rakudo-moar 1a74a8: ( no output )
14:40 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 ~~ %h1 ;
14:40 camelia rakudo-moar 1a74a8: ( no output )
14:41 nadim hmmm why doesn %h1 smart match itself?
14:43 vike joined #perl6
14:48 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 ~~ %(a 1) ;
14:48 camelia rakudo-moar 1a74a8: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    a used at line 1??»
14:49 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 ~~ %(<a 1>) ;
14:49 camelia rakudo-moar 1a74a8: ( no output )
14:51 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 eqv %h1 ;
14:51 camelia rakudo-moar 1a74a8: OUTPUT: «match?»
14:51 nadim m: my %h1 = <a 1> ;  'match'.say if %h1 === %h1 ;
14:51 camelia rakudo-moar 1a74a8: OUTPUT: «match?»
14:55 raschipi nadim, it's not implemented yet in rakudo
14:55 raschipi https://github.com/perl6/roast/blob/master/S03-smartmatch/hash-hash.t
14:56 raschipi #?rakudo 2 todo "NYI"
14:58 nicq20 SourceBaby: help
14:58 SourceBaby nicq20, Use s: trigger with args to give to sourcery sub. e.g. s: Int, 'base'. See http://modules.perl6.org/dist/CoreHackers::Sourcery
15:01 nicq20 s: &~~
15:01 SourceBaby nicq20, Something's wrong: ?ERR: ===SORRY!=== Error while compiling -e?Missing required term after infix?at -e:6?------>     put sourcery( &~~ <HERE>)[1];?    expecting any of:?        prefix?        term?
15:02 nicq20 s: &~~, Set, Set
15:02 SourceBaby nicq20, Something's wrong: ?ERR: ===SORRY!=== Error while compiling -e?Preceding context expects a term, but found infix , instead?at -e:6?------>     put sourcery( &~~,<HERE> Set, Set )[1];?
15:02 nicq20 s: &~~, <HERE> Set, Set
15:02 SourceBaby nicq20, Something's wrong: ?ERR: ===SORRY!=== Error while compiling -e?Preceding context expects a term, but found infix , instead?at -e:6?------>     put sourcery( &~~,<HERE> <HERE> Set, Set )[1];?
15:13 nicq20 To fix that, could we effectively just add `method ACCEPTS(Hash:D: Hash:D \h) { self ~~ h.Set }`?
15:13 nadim raschipi: thanks, that was making me crazy
15:14 nicq20 Oh, wait. Ignore me.
15:17 moritz /ignore nicq20
15:17 khw joined #perl6
15:19 sufrostico joined #perl6
15:19 sufrostico joined #perl6
15:19 dolmen joined #perl6
15:25 jaldhar lookatme: thanks for looking at this.  But I am confused.  Am I not changing the public attributes in the evolve function?  It's still not iterating for me.
15:25 yoleaux 07:37Z <lookatme> jaldhar: What do you mean same value. I test your code, and works fine. You not change public attribute, and it will be display same message when you `say` or `dd` them.
15:26 jaldhar yoleaux: see above.  I still don't get it.
15:27 nhywyll joined #perl6
15:27 jaldhar For anyone else who might be willing to help:  see https://gist.github.com/jaldhar/bae299ee03df93fcdd3633d751581e0b
15:28 jaldhar I'm trying to make the Algorithm::DawkinsWeasel class iterable so I can do e.g.  say $weasel.current-phrase while $weasel
15:29 jaldhar but I get back the same values each time.
15:30 moritz jaldhar: $weasel.phrases that returns an iterator sounds like a better API design
15:30 moritz jaldhar: then you could say  for $weasel.phrases -> $current { say "Current phrase: $current }
15:31 moritz and method phrases could be as simple as my $current = $something; gather while $current { take $current; $current = next_phrase_for($current) }
15:35 jaldhar moritz: I don't necessarily want just the current-phrase but I think I understand you.  Let me try it...
15:35 Cabanossi joined #perl6
15:38 jaldhar moritz: btw does your book go into these kinds of topics or is it more basic?  I'm going to order it anyway but I was just interested to know.
15:38 moritz jaldhar: it does mention gather/take, but not in detail
15:39 mspo did you write your book in POD6?
15:44 itaipu joined #perl6
15:44 konsolebox joined #perl6
15:49 [Coke] I seriously doubt anyone is doing that.
15:50 araraloren jaldhar, why you think they are same value
15:51 mspo [Coke]: write a book in pod?
15:51 mspo [Coke]: https://www.perl.com/pub/2004/01/30/ttbook.html
15:51 araraloren Anyone know if there are a module can generate temp file path. Only file path.
15:52 moritz mspo: no, I wrote it in markdown, using LeanPub to render it
15:52 lizmat joined #perl6
15:53 moritz mspo: for the next book I'm starting, I'm considering using bookdown, wich is a somewhat richer markdown dialect
15:53 moritz (but leanpub has the advantage that they handle payments, and allow you to publish and sell early and incrementally)
15:53 [Coke] mspo: POD6.
15:53 mspo moritz: it must be tough to find a good format
15:53 [Coke] I know some people write in a superset of pod5.
15:54 mspo rst is the python docstring format, right?
15:55 mspo IO::Path::UNIX should probably grow mktemp
15:55 araraloren For written I prefer asciidoc
15:56 moritz mspo: I'm quite with markdown for 90% of the tasks; the rest needs a few extensions
15:57 mspo moritz: someone linked this to me earlier: https://beta.undeadly.org/cgi?action=article&amp;sid=20170304230520
15:58 mspo http://modules.zef.pm/search?terms=mktemp  giving a 500 error
15:58 araraloren OK, There is $*TMPDIR, that's enough
15:59 mspo https://github.com/ugexe/Perl6-PathTools
16:00 araraloren Oh, thanks
16:02 Grrrr joined #perl6
16:05 hythm joined #perl6
16:15 jaldhar does perl6 have something like end in C++ STL which is one past the last value?
16:16 jaldhar because my iterator works now almost but it stops on the last value so I can't get that in a loop.
16:17 noganex joined #perl6
16:18 S007 joined #perl6
16:19 cdg joined #perl6
16:20 domidumont joined #perl6
16:20 araraloren jaldhar, I think it's IteratorEnd
16:21 zakharyas joined #perl6
16:26 zengargoyle jaldhar: have you seen Zoffix's article on Sequences and Iterator stuff?  it has a few examples of writing iterator stuff that might be helpful if you haven't read it already.
16:29 vmeson joined #perl6
16:32 Zoffix joined #perl6
16:32 itaipu joined #perl6
16:33 Zoffix mspo: IO::Path::* types are IO::Path + specific $.SPEC class. They're not gonna grow anything else.
16:33 Zoffix mspo: with $*TEMP.mkdir('foo') { .do-things } or use one of the two temp path modules
16:33 Zoffix buggable: Temp::Path
16:34 Zoffix buggable: eco Temp::Path
16:34 buggable Zoffix, Temp::Path 'Make a temporary path, file, or directory': https://github.com/zoffixznet/perl6-Temp-Path
16:35 Zoffix jaldhar: as mentioned, it's IterationEnd: https://rakudo.party/post/Perl-6-Seqs-Drugs-and-Rock-n-Roll--Part-2
16:35 Zoffix jaldhar: but the more common approach is to just use gather/take instead of making your own iterators: https://rakudo.party/post/Perl-6-Seqs-Drugs-and-Rock-n-Roll#igatheryoulltakeusto...
16:37 Zoffix s/'$*TEMP'/\$*TMPDIR/
16:37 Zoffix .oO( but $*HOME and not $*HOMEDIR -_- )
16:38 Zoffix nadim: hash's ACCEPT's broken. It's still on my todo to fix it :/
16:39 * zengargoyle thinks shell-wise $TMP was too much like $FOO while $HOME had meaning.
16:40 Guest81670 joined #perl6
16:40 araraloren Zoffix, I just want generate a temp file path, I choose that PathTools
16:40 Aaronepower joined #perl6
16:41 araraloren good night!
16:41 * Zoffix backlogs
16:42 Zoffix R0b0t1: FWIW, Rakudo releases are signed
16:42 Zoffix And GitHub is the "third party" with keys. I don't know what extra effort stmuk is talking about. It's like 1 command to run
16:42 nadim Zoffix: do you think this problem is related too? https://nopaste.linux-dev.org/?1160059
16:44 Zoffix nadim: that sounds like this bug hitting the code inside Junction: https://rt.perl.org/Ticket/Display.html?id=128905#ticket-history
16:49 Zoffix skids: FWIW, we don't autothread Junctions yet.
16:50 Cabanossi joined #perl6
16:50 Zoffix m: say .^name with 1..*-1
16:50 camelia rakudo-moar 9658dd: OUTPUT: «WhateverCode?»
16:52 Zoffix jeromelanteri: "eror unhandled exception: Missing or wrong version of dependency" <-- that usually means you're running `perl6` instead of `./perl6
16:53 Zoffix jeromelanteri: debugger was fixed like a few days after 2017.06 release
16:53 Zoffix buggable: deb
16:53 nadim sounds like an error right, the only thing in the junction is a hash, I was surprised to get a callable problem
16:53 Zoffix huggable: deb
16:53 huggable Zoffix, CentOS, Debian, Fedora and Ubuntu Rakudo packages: https://github.com/nxadm/rakudo-pkg/releases
16:53 nadim huggable: youhoo!
16:53 huggable nadim, nothing found
16:53 thundergnat joined #perl6
16:54 Zoffix nadim: well, junction calls teh method on all the things inside it; that's your callable
16:55 thundergnat .tell jaldhar You may (or may not, who knows) be interested in looking at http://rosettacode.org/wiki/Evolutionary_algorithm#Perl_6
16:55 yoleaux thundergnat: I'll pass your message to jaldhar.
16:55 emeric joined #perl6
16:55 Zoffix R0b0t1: and there *is* an HTTPS download page: https://rakudo.perl6.org/downloads/star/
16:56 Guest81670 joined #perl6
16:56 mr-foobar joined #perl6
16:56 nadim the code is used to flatten a data dump a bit, it's in the next release, I wanted to be able to say ddt @whatnot, :flat(Array, %my_hash, 7) to flatten all arrays, only my hash, and anything lower than level 7
16:57 nadim it will have to wait :)
16:58 Zoffix nadim: wait for what Hash.ACCEPTS fix?
16:59 jaldhar Zoffix: thanks to moritz I'm using gather/take now but still apparently getting it wrong :(
16:59 yoleaux 16:55Z <thundergnat> jaldhar: You may (or may not, who knows) be interested in looking at http://rosettacode.org/wiki/Evolutionary_algorithm#Perl_6
16:59 Zoffix jaldhar: ok, then you don't need IterationEnd
17:00 itaipu joined #perl6
17:01 Zoffix nadim: oh the callable thing.
17:01 jaldhar zoffix: so you're saying my class should not actually do Iterator at all?
17:01 jaldhar thundergnat: that's cheating!
17:01 Zoffix jaldhar: I've not seen your code, so I don't know :)
17:03 Zoffix nadim: `if Nil !=== @flatten.first: $depth|$s`
17:03 Zoffix nadim: if that still gives the Junction callable error, try `if Nil !=== @flatten.first: { $_ ~~ $depth or $_ ~~ $s }`
17:03 AlexDani` joined #perl6
17:03 Guest81670 joined #perl6
17:04 Zoffix PSA: large changes were merged to MaroVM today. So if you spot something breaking be sure to report it. Also, performance landscape changed: https://github.com/rakudo/rakudo/commit/9658dd98c9
17:04 Zoffix MaroVM... MoarVM :)
17:04 jaldhar zoffix: if you're interested the working code is at https://github.com/jaldhar/Algorithm-DawkinsWeasel.  What I'm trying to do now is make it iterable so I can simplify loops.
17:05 * Zoffix mutters things about intermixed POD and code
17:06 [Coke] Zoffix: any feedback on the .WHAT check I added? Cover what you wanted?
17:06 Zoffix [Coke]: no feedback
17:07 Zoffix [Coke]: any word on TPF status?
17:07 Zoffix the ticket and IO grant
17:08 jaldhar Zoffix: I'll probably change that because I've noticed it's not idiomatic but personally I prefer having the POD for each method next to it.  If you have a folding editor it is not inconvenient.
17:09 cdg joined #perl6
17:09 Zoffix jaldhar: and if you happen to read the code somewhere without a syntax highligher, it's entirely unreadable, because the POD code examples are indistinguishable from actual code :)
17:10 jaldhar Zoffix: yeah I get it.
17:11 Zoffix jaldhar: and yeah, I don't think your class should do Iterator role. You generally don't directly work with Iterator objects.
17:12 Zoffix The loop looks simple enough to me.
17:12 * zengargoyle murmurs again about shadow blocks for documentation. :P
17:14 Zoffix You could make .evolution method that takes a &formatter callable returns a Seq with each of the steps. Then loop'd be just .say for $weasel.evolution: { .count.fmt('%04d'), ' ', .current-phrase, ' [', .hi-score, ']' }
17:15 * Zoffix &
17:15 Zoffix left #perl6
17:16 jaldhar Zoffix: ok I will look into this.
17:17 jaldhar Zoffix: and thanks for your articles on perl6.party ^w rakudo.party.  They were what gave me the idea to look into Iterators.
17:17 tony-o MoarVM panic: Internal error: invalid thread ID 1586853824 in GC work pass
17:18 tony-o this happens with new moar running the 'ab.pl' script in the perl6/perl6-http-server-async repo
17:19 tony-o actually, you want i should move this to the moar channel?
17:22 mr-foobar joined #perl6
17:23 cdg_ joined #perl6
17:23 zengargoyle .ask thundergnat is evolution thing your code?  i don't get the '$parent ne target;' bit, it does nothing in a sink context....  hrmmm.
17:23 yoleaux zengargoyle: I'll pass your message to thundergnat.
17:25 S007 joined #perl6
17:27 setty1 joined #perl6
17:28 [Coke] Zoffix: no feedback on the grant. I have been having trouble getting information from Dan. Last I heard he missed the initial request for disbursement and was working on int.
17:28 [Coke] *it
17:28 zengargoyle .tell thundergnat nevermind.  i mistook loop () {} for loop {} because the code was formatted to nicely.
17:28 yoleaux zengargoyle: I'll pass your message to thundergnat.
17:30 AlexDaniel [Coke]: by the way, can you check if my CLA was received?
17:35 committable6 joined #perl6
17:35 bisectable6 joined #perl6
17:35 greppable6 joined #perl6
17:35 evalable6 joined #perl6
17:35 coverable6 joined #perl6
17:35 unicodable6 joined #perl6
17:35 benchable6 joined #perl6
17:35 statisfiable6 joined #perl6
17:40 esh joined #perl6
17:42 Aaronepower joined #perl6
17:54 Aaronepower joined #perl6
17:56 suman__ joined #perl6
17:57 suman__ This woud be a good exercise for perl 6 too.https://stackoverflow.com/questions/45357866/webscraping-with-r
18:10 evanm joined #perl6
18:10 mscha joined #perl6
18:11 mscha m: say now - 1;  # works
18:11 camelia rakudo-moar 9658dd: OUTPUT: «Instant:1501179098.695875?»
18:11 mscha m: say now-1;  # doesn't work
18:11 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    now used at line 1. Did you mean 'not', 'HOW'???»
18:11 timotimo yeah, now is a term
18:11 timotimo m: say &now # does not exist
18:11 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    now used at line 1. Did you mean 'not', 'HOW'???»
18:11 mscha m: say pi-1;  # works, even though pi and now are supposedly both terms
18:11 camelia rakudo-moar 9658dd: OUTPUT: «2.14159265358979?»
18:11 timotimo m: say &term:<now> # exists
18:11 camelia rakudo-moar 9658dd: OUTPUT: «sub term:<now> () { #`(Sub|36776120) ... }?»
18:11 timotimo m: say &term<pi>
18:11 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    term used at line 1??»
18:11 timotimo no, pi is probably a constant
18:12 timotimo oops
18:12 timotimo m: say &term:<pi>
18:12 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    term:<pi> used at line 1. Did you mean 'term:<time>', 'term:<now>'???»
18:12 mscha Doc says it's a term.
18:12 timotimo sounds like a docbug, then
18:12 mscha Still, why can't you say term-1?
18:12 timotimo m: say now\-1
18:12 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Confused?at <tmp>:1?------> 3say now\7?5-1?    expecting any of:?        postfix?»
18:13 timotimo not sure
18:15 perlpilot LTM
18:16 perlpilot - can appear in identifiers
18:16 perlpilot (that's my guess as to the reason now-1 barfs anyway)
18:16 perlpilot Though, I thought - had to have alphabetics on either side, so maybe that's wrong.
18:17 timotimo hm, and we don't backtrack, so we don't go back over it?
18:17 timotimo m: my $foo = 10; say $foo-1
18:17 camelia rakudo-moar 9658dd: OUTPUT: «9?»
18:17 timotimo but then why does this work :P
18:18 geekosaur now-1 is not reporting the undefined symbol to be "now-1", but "now". for whatever reason it has decided "now" must be a sub instead of a term?
18:18 timotimo oh
18:19 geekosaur or some similar semantic hosage
18:19 timotimo m: sub term:<now-1> { now / 2 }; say now; say now-1
18:19 camelia rakudo-moar 9658dd: OUTPUT: «Instant:1501179590.453435?750589795.227994?»
18:19 timotimo now-1 is actually a valid term
18:19 geekosaur but it is only parsed as one via LTM if you define it
18:20 geekosaur m: say now-1;
18:20 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    now used at line 1. Did you mean 'not', 'HOW'???»
18:20 geekosaur undeclared routine: now
18:20 geekosaur not now-1
18:20 timotimo good catch
18:20 timotimo yeah, when it doesn't find a term with now-1, it'll try to find a sub "now", which it doesn't find
18:20 timotimo m: sub now { 1 }; say now-1
18:20 camelia rakudo-moar 9658dd: OUTPUT: «0?»
18:20 timotimo m: sub now { 1 }; say now
18:20 camelia rakudo-moar 9658dd: OUTPUT: «1?»
18:21 timotimo mhh
18:22 geekosaur that seems like ltm failure to me tbh. if a term now-1 exists then it should match, if not then now should match as a term
18:23 perlpilot m: say time-1
18:23 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    time used at line 1??»
18:23 timotimo - is dangerous like that
18:24 perlpilot time and now are the only two terms I see defined in src/core
18:27 timotimo rand
18:27 pecastro joined #perl6
18:29 [Coke] AlexDaniel: How was it sent?
18:30 AlexDaniel [Coke]: snailmail
18:30 [Coke] I'll have to reach out to someone at TPF who occasionally checks the mailbox.
18:30 [Coke] please send me an email at will at coleda .com, thanks.
18:32 AlexDaniel ok!
18:32 itaipu joined #perl6
18:33 perlpilot [Coke]: would TPF accept an image of a signed CLA (I seem to remember it being one page, but it's been so long) ?  i.e. could a copy be emailed that way?
18:33 perlpilot (just curious)
18:34 nadim m: my $a; ($a, []).map { say "{$_.VAR.name}" }
18:34 camelia rakudo-moar 9658dd: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Unexpected block in infix position (missing statement control word before the expression?)?at <tmp>:1?------> 3my $a; ($a, []).map7?5 { say "{$_.VAR.name}" }?    expecting any of:?        inf…»
18:35 nadim m: my $a; ($a, []).map: { say "{$_.VAR.name}" }
18:35 camelia rakudo-moar 9658dd: OUTPUT: «$a?Use of Nil in string context?  in block  at <tmp> line 1??»
18:36 nadim ^^ Interesting that one can call 'nam' on VAR [] but that the returned name is Nil, not undef, not empty string. Someone can explain the idea behind it?
18:38 perlpilot nadim: I think it's somewhat accidental
18:40 nadim then I'll live with the extra two lines of test before using the result :)
18:41 nadim the problem with Nil being that one can use // to shortcut it, nor ||, it seems that !=== Nil is it!
18:42 [Coke] perlpilot: yes, scanned in versions are fine.
18:42 [Coke] I believe it's the preferred method.
18:46 perlpilot oh good.  I wasn't sure if there was some "lawyers want paper documents" kind of thing.
18:47 evanm perlpilot: I'm having trouble installing File::Temp, mind taking a look? https://github.com/perlpilot/p6-File-Temp/issues/23
18:50 mcmillhj joined #perl6
18:51 perlpilot hmm
18:54 perlpilot evanm: sorry, I've got no wisdom right now.
18:56 perlpilot evanm: though, I just built the latest rakudo on my linux box at work and tried to install File::Temp and it had the same behavior.
18:56 perlpilot Maybe someone could bisect that and nail down what changed to make it so.
18:57 perlpilot Either way, I'll try to take a look at it tonight.
19:00 dogbert2 joined #perl6
19:03 evanm perlpilot: Ok, thanks for looking at it. Maybe kick off a Travis build to see if it's failing there?
19:09 nadim .tell Zoffix  using .first instead for any() did not go well, two different error!  https://nopaste.linux-dev.org/?1160072
19:09 yoleaux nadim: I'll pass your message to Zoffix.
19:10 perlpilot evanm: my guess is that it's failing everywhere and something changed in rakudo to make it fail.
19:10 perlpilot evanm: maybe something to do with GC?
19:10 perlpilot anyway ... I should be doing $work right now  :)
19:10 Zoffix joined #perl6
19:10 Zoffix .
19:10 yoleaux 19:09Z <nadim> Zoffix: using .first instead for any() did not go well, two different error!  https://nopaste.linux-dev.org/?1160072
19:11 evanm perlpilot: Fair enough, I'll watch the GitHub issue for updates
19:11 Zoffix nadim: why do you still have the &call error? There's no junctions on the line of code you included
19:12 nadim Hehe!
19:13 nadim Zoffix: eliminating the junction seemed like a good tes ;)
19:13 nadim test
19:13 Zoffix evanm: FWIW there's also Temp::Path
19:14 Zoffix m: %() ~~ 42
19:14 camelia rakudo-moar 9658dd: ( no output )
19:14 evanm Zoffix: Thanks. Right now I'm just trying to install Uzu, which has File::Temp as a dependency
19:15 Zoffix nadim: not following where the hash warning is from
19:15 nadim Zoffix: the funny thing is that we get two different errors depending on what is passed to .first
19:15 Zoffix m: Hash ~~ 42
19:15 camelia rakudo-moar 9658dd: ( no output )
19:15 nadim Zoffix: the Hash:U is in $_
19:15 S007 joined #perl6
19:16 Zoffix m: say so Nil !=== [Hash].first: 42
19:16 camelia rakudo-moar 9658dd: OUTPUT: «False?»
19:16 Zoffix nadim: that doesn't generate a warning
19:16 Zoffix nadim: { $_ ~~ $s } is pointlessly verbose. .first already smartmatches, so just $s can be used
19:17 nadim Zoffix: it may be but it is the example you wrote ;)
19:17 nadim Zoffix: didn't want to change anything before it passes the test
19:18 Zoffix nadim: no, it wasn't: https://irclog.perlgeek.de/perl6/2017-07-27#i_14931180
19:18 ugexe new GC errors are probably a result of https://github.com/rakudo/rakudo/commit/9658dd98c9dd8ecbefc606a08357e59718e328c2
19:19 nadim Zoffix:    [19:03] <Zoffix> nadim: if that still gives the Junction callable error, try `if Nil !=== @flatten.first: { $_ ~~ $depth or $_ ~~ $s }`
19:19 Zoffix That has an or in it!
19:20 Zoffix But in any case, the code in channel doesn't produce neither the errors no warnings.
19:20 nadim Zoffix: surprisingly $_ ~~ $s generates an error but $s does not!
19:22 Zoffix evanm: perlpilot that test looks bogus to me. It expects 300 iterations will definitely cause GC, but why? That's not a guarantee
19:23 Zoffix Just call .DESTROY directly if you wanna test that GC cleans up the file ¯\_(?)_/¯
19:23 Zoffix nadim: what's in $s?
19:23 perlpilot Zoffix: yeah, probably
19:24 nadim Zoffix: Nil !=== @flatten.first: $depth|$s also generates an error  and so does Nil !=== @flatten.first: |$s
19:24 nadim $_ is [1..3]
19:25 Zoffix nadim: what's in $s?
19:26 nadim it varies, can be an element that is dumped, let me check what it is in the test
19:26 nadim Ha!! Nil !=== @flatten.first: $s generates an error but Nil !=== @flatten.first: {$s} does not
19:27 Zoffix :/
19:27 * Zoffix gives up debugging by clairvoyance
19:30 nadim $_ is [1..3], when $s is [1..3] ok, when $s is {a => 1} it dies
19:32 nadim Zoffix: I'll do more tests, it seems that @flatten.first: { $s } does not generate an error, Ill check the results. If it still breaks I'll put a test branch somewhere or golf it down
19:33 Zoffix dude, just dump the variables before the call -_-
19:33 Zoffix Or publish your code
19:35 Cabanossi joined #perl6
19:39 nadim I wrote above what the variables were containing.
19:39 Zoffix perlpilot: sent you a somewhat radical PR for evanm's issue that gets rid of all the assumptions about when GC runs: https://github.com/perlpilot/p6-File-Temp/pull/24
19:40 Zoffix all test pass with it
19:40 * Zoffix &
19:40 Zoffix left #perl6
19:41 sufrostico joined #perl6
19:50 cpage_ joined #perl6
19:50 mspo Zaffix: mktemp is an important and easy security feature that should be encouraged by standard inclusion
19:51 mspo anyway
19:51 mspo $*TMPDIR/foo isn't good enough
20:00 lichtkind joined #perl6
20:00 mcmillhj joined #perl6
20:00 andreoss joined #perl6
20:01 sufrostico joined #perl6
20:18 nhywyll joined #perl6
20:19 mcmillhj joined #perl6
20:20 someuser joined #perl6
20:21 Zoffix joined #perl6
20:21 Zoffix mspo: what sort of security?
20:21 Zoffix mspo: my main point was against adding OS-specific method to
20:22 Zoffix a cross-platforn language to a type that currently only differes from parent through the spec attribute
20:22 Zoffix and can be emulated with IO::Path + that spec
20:27 Zoffix I think this is perfect place for a module; we already have two, showing vastly different preferences for control and featureset among userbase
20:29 mcmillhj joined #perl6
20:32 Zoffix and modules' security will be improved once we fix the issue in rakudo (same problem would exist for core mktemp too)
20:45 cdg joined #perl6
20:45 mcmillhj joined #perl6
20:50 mspo Zoffix: guessable tmp dirs are a very common attack vector
20:50 mspo Zoffix: mktemp must be a core thing
20:51 mspo p5 has it in File::Temp, in core since a long time
20:52 mspo it's available in most unix systems as a regular command
20:52 R0b0t1 pmurias: Both
20:53 R0b0t1 pmurias: An unsigned release makes all code "random module code" whereas if it were signed it would be code that came more or less directly from a developer
20:53 mcmillhj joined #perl6
20:53 mspo tmpfile(3) and mktemp(3) are both in posix I think
20:54 R0b0t1 stmuk: Really it doesn't add that much effort you just have to bother to set it up
20:54 R0b0t1 stmuk: I think the larger issue is the strange build system that was created, because that makes it a lot harder to verify things even if they are verifiable
20:55 Zoffix mspo: why must it be a core thing?
20:55 R0b0t1 i.e. now you have to add a bunch of code into the star setup makefile to verify those release files whereas if it all came from a git repository then it is more or less verifiable if you check it out over https
20:55 Zoffix mspo: even your mention of Perl 5 has it as a module, not core feature
20:56 mspo Zoffix: that's incorrect
20:56 mspo okay
20:56 R0b0t1 If that strange build system didn't exist then my complaint about the lack of signed releases would *almost* be a nonissue because something close would be available from the git repository
20:56 mspo Zoffix: it should be in rakudo, not necessarily in perl6
20:57 Zoffix mspo: why? because they packed it into core distro? how is that different from us packing File::Temp in Rakudo Star?
20:57 mspo Home > Core modules (F) > File::Temp    http://perldoc.perl.org/File/Temp.html
20:57 Zoffix why == why incorrwct
20:57 Zoffix yeah "modules" is a hint
20:57 mspo Zoffix: because it's an important security feature and small enough to be an easy include
20:57 mspo yeah "Core" is the other important word there
20:58 mspo I'm not sure what I'm arguing here
20:58 mspo I have no idea what distinction exists between "core" and "included in rakudo"
20:58 Zoffix mspo: yeah all features everyone wants to add are "small enough" and absolutely important
20:59 mspo just as with perl5 "Core modules" are exactly the same as "built in" or whatever
20:59 Zoffix I don't know what you're arguing either. The module's included in the userfacing distro of Rakudo, just as it's included in userfacing distro of Perl 5
20:59 Zoffix left #perl6
20:59 mspo which module?
21:00 mspo should I find it here somewhere? https://docs.perl6.org/
21:02 timotimo no, modules.perl6.org
21:03 mspo is there some tag like "Core" or "Included" or something?
21:03 pecastro joined #perl6
21:04 timotimo the only lib included in NativeCall
21:05 timotimo and Test
21:05 mspo 16:59 < Zoffix> I don't know what you're arguing either. The module's included in the userfacing distro of Rakudo
21:05 mspo so is that not true?
21:10 Aaronepower joined #perl6
21:13 Aaronepower joined #perl6
21:13 geekosaur mspo, I am wondering if you are confusing the developer distribution (containing rakudo and pretty much nothing else) with rakudo star which is the user distribution and as such includes a basic ecosystem
21:13 geekosaur ideally the rakudo distribution itself is just rakudo
21:14 pecastro joined #perl6
21:14 timotimo yeah, it's about rakudo star
21:14 Possum joined #perl6
21:14 mspo what modules are included in star?
21:15 mingdao joined #perl6
21:15 timotimo https://github.com/rakudo/star/tree/master/modules?
21:16 timotimo oh some strange character made it in there
21:16 geekosaur this seems to come up a lot in the haskell community too, people think raw ghc should contain the whole ecosystem (this is especially problematic with ghc because its dependency management is much nastier than most languages, so the more that is bundled with the raw compiler, the less you can upgrade without upgrading the compiler)
21:16 cpage_ joined #perl6
21:18 geekosaur rakudo's not *quite* that bad but the current precomp stuff does have some similar issues; replacing stuff independently is difficult to impossible without recompiling more than you expected
21:19 vike joined #perl6
21:20 tzekid joined #perl6
21:20 mspo so what does rakudobrew install
21:21 mspo I mean how can anyone confuse "rakudo" with "rakudo star"?
21:21 geekosaur a very raw rakudo from git
21:21 geekosaur and you should probably not use it unless you are actively involved with developing rakudo itself
21:21 timotimo you install rakudo star by grabbing a tarball/zipfile/msi or getting a package for your repo
21:21 geekosaur (and even then only with caveats; it has some odd behaviors)
21:22 pharv joined #perl6
21:22 mspo it was the recommended way to do it when I was last here :)
21:23 TEttinger joined #perl6
21:23 timotimo i hope that's been long ago, we've been trying to get rakudobrew out of the hands of non-core-devs
21:23 mspo <shrug> time is relative
21:23 mspo okay!
21:23 mspo so rakudo *star* includes File::Temp
21:24 mspo although that's only noted in the github directory listing :)
21:24 mspo it's like pedantic party time
21:26 timotimo yeah we should make it really hard to get rakudo itself
21:26 timotimo like, you can't get cl, you have to grab visual studio express
21:27 timotimo you can't get adobe flash player, you have to get the ask toolbar
21:27 stmuk I wish perl6/doc didn't have the website building code in it but just docs
21:27 timotimo it also has the commandline tool, doesn't it?
21:27 stmuk yes p6doc
21:28 stmuk that could either stay in or move elsewhere
21:29 stmuk maybe docs should be just doc/doc to encourage other ways of viewing it
21:30 stmuk other p6doc and other website building code
21:30 mspo I no longer have p6doc for some reason
21:30 cpage_ joined #perl6
21:30 stmuk mspo: probably just a PATH issue
21:30 timotimo yu might have to "rakudobrew rehash"
21:31 mspo Updating shims
21:31 mspo :)
21:31 mspo anyway it's not in rakudobrew
21:31 timotimo since rakudobrew is there to let yu immediately switch bwteen lots of different rakudo versions, it has to manage all bin scripts for you
21:32 timotimo but there's no mechanism to tell it to look for new scripts whenever something got installed
21:32 mspo yeah I'll probably just get rid of it
21:32 mspo maybe give getting p6 into pkgsrc another try
21:33 stmuk mspo: a very old one is in pkgsrc-wip .. I did have some patches for a recent version but never did anything with them
21:33 mspo http://rakudo.org/how-to-get-rakudo/ still features rakudobrew pretty heavily
21:34 stmuk mspo: I'm quite a pkgsrc fan and it wasn't too hard
21:34 mspo stmuk: yeah I started on it ages ago but had trouble with the star build process
21:35 mspo stmuk: wip/rakuod is 2017.06
21:36 mspo lang/nqp is way out of date (requires parrot) and is included as part of the build for wip/rakudo
21:37 mspo stmuk: I think if we update nqp we can just keep the packages in lockstep.  Not sure how to get the star stuff in there, though
21:38 bobv joined #perl6
21:38 mspo my plan was to make lang/perl6 a meta-package or something (ages ago)
21:38 stmuk the star stuff doesn't fit well with most packaging systems .. nqp/moarvm/rakudo and maybe zef would be an easier start
21:38 dct joined #perl6
21:38 thundergnat joined #perl6
21:38 stmuk with rakudo-star as a meta package
21:38 merced so what's a good resource for someone who's never experienced perl
21:39 thundergnat .
21:39 yoleaux 17:23Z <zengargoyle> thundergnat: is evolution thing your code?  i don't get the '$parent ne target;' bit, it does nothing in a sink context....  hrmmm.
21:39 yoleaux 17:28Z <zengargoyle> thundergnat: nevermind.  i mistook loop () {} for loop {} because the code was formatted to nicely.
21:39 mspo stmuk: so this creates the issue we saw earlier where there's no "core"
21:39 mspo merced: to learn for youself or to pick up something?
21:39 stmuk mspo: not sure what you mean by "core"
21:39 mspo stmuk: the modules included in star that make perl6 useful
21:40 merced mspo: well, I'm definitely attracted to the text processing aspect.. really want to abandon python entirely too
21:40 mspo stmuk: star is the "distribution" that is recommended
21:40 stmuk mspo: yes I'm the current main maintainer
21:40 mspo merced: perl6 is a pretty new language but has built in grammars and other cool stuff
21:42 merced yeah I really like the features I'm seeing, almost entirely convinced to finally learn perl now
21:42 mspo merced: https://perl6.org/resources/
21:42 mspo "For Newcomers"
21:42 stmuk mspo: I think each of the star modules should be packaged on their own as part of a meta package
21:42 mspo stmuk: you're the maintainer of star or of something in pkgsrc?
21:43 stmuk of star .. but I use pkgsrc as well
21:43 merced is perl6 used in production anywhere yet?
21:43 mspo stmuk: that's a lot of packages to keep up to date individually.  I'm just afraid of drift
21:43 thundergnat .tell zengargoyle The evolution one isn't one I wrote. I think that one was mostly grondilu and TimToady. Not too many people say my code is formatted too nicely so that was a big clue :-)
21:43 yoleaux thundergnat: I'll pass your message to zengargoyle.
21:44 mspo merced: I think it's starting to get some adoption but nothing like perl5 or python
21:44 stmuk mspo: I can probably experiment a bit tomorrow .. I've been meaning to look at pkgsrc for a while
21:44 mspo stmuk: do you have commit to wip?
21:45 mspo stmuk: I'll try to update nqp this weekend and just abandon the 2013 version that's in there :)
21:45 stmuk mspo: no
21:45 mspo stmuk: do you want it?
21:45 stmuk mspo: that would be useful .. and I can test anything you do
21:45 merced should I learn perl5 or perl6 first?
21:45 mspo stmuk: anyway send an email to pkgsrc-users@netbsd.org and maybe cc mspo@netbsd.org and wiz@netbsd.org
21:46 mspo merced: it depends :)
21:46 stmuk ok thanks ... probably likely tomorrow morning European time
21:46 mspo merced: there's no way to really answer
21:46 merced aw, was hoping you could make the decision for me :P
21:46 mspo stmuk: one big "star" package that had all of the libs from https://github.com/rakudo/star/tree/master/modules would be easier
21:47 mspo merced: perl6 might be fun to learn first for messing with grammars and stuff
21:47 mspo merced: but it's hard to say "don't learn perl5" since it's so useful day-to-day
21:47 mspo merced: especially with mojolicious
21:48 merced how about package support?
21:49 mspo perl5 will have many many many more packages
21:49 mspo https://metacpan.org/
21:49 mspo anyway g2g
21:50 merced thanks for answering :)
21:50 stmuk mspo: this is very odd .. https://github.com/NetBSD/pkgsrc/tree/trunk/lang/rakudo-star exists as well as the WIP one
21:51 stmuk rakudo-star-2013.08
21:51 stmuk !
21:56 timotimo you can use perl5 packages from perl6 and the other way around. just need Inline::Perl5 or Inline::Perl6 for that :)
21:57 hythm joined #perl6
22:05 Cabanossi joined #perl6
22:13 merced timotimo: really? that's definitely convenient
22:14 timotimo same thing with Inline::Python
22:19 timotimo but only in one direction
22:19 timotimo er, i mean
22:20 timotimo you can of course subclass python classes and subclass perl6 classes in python again
22:20 timotimo but there's no "import inline.perl6" for python
22:30 merced wait what
22:33 ttkp6 merced - https://metacpan.org/pod/distribution/Inline-Python/Python.pod
22:33 ttkp6 is that the "wait what" you meant?
22:33 timotimo that's the perl5 Inline::Python
22:33 ttkp6 oops
22:33 ttkp6 sorry
22:34 timotimo no worries. same author, probably lots of similarities in the usage
22:34 konsolebox joined #perl6
22:35 ttkp6 this appears to be for perl6 - https://github.com/niner/Inline-Python
22:35 timotimo yup
22:35 timotimo the t/ folder has lots of code that shows what it can do, though it's not meant as documentation
22:35 Cabanossi joined #perl6
22:36 Dunearhp joined #perl6
22:41 andrzejku_ joined #perl6
22:41 jaldhar_ joined #perl6
22:41 timotimo Inline::Ruby also exists, but the readme points out rather strongly that it's not so far advanced
22:41 bartolin_ joined #perl6
22:41 hoelzro_ joined #perl6
22:41 jnthn_ joined #perl6
22:43 ilbot3 joined #perl6
22:43 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
22:44 imcsk8 joined #perl6
22:46 pecastro joined #perl6
22:47 diegok joined #perl6
22:47 eater joined #perl6
22:47 garu joined #perl6
22:47 mspo stmuk: probably kill/replace that one with just the p6 packages
22:48 pochi joined #perl6
22:48 perlawhirl joined #perl6
22:48 ambs joined #perl6
22:55 R0b0t1 Every time I run Configure.pl it regenerates the already compiled moar executable which I need to mark with paxctl-ng, and removes the markings I added. Is there any way to avoid this or do I need to figure out what is happening and change the build scripts?
22:57 timotimo R0b0t1: it should only ever create a moar if you run configure.pl with the convenience feature --gen-moar
22:57 R0b0t1 I see
22:57 timotimo i seem to recall i wrote something about that in README or INSTALLING but i think it disappeared somehow
22:57 R0b0t1 timotimo: The step that generates moar does not complete, however despite using a Makefile it seems to recompile everything regardless of what completed the last time
22:57 timotimo oh, hm.
22:58 timotimo well, that step most probably also runs configure.pl
22:58 timotimo which creates the makefile anew, which causes all previous progress to be lost
22:58 timotimo ah, the readme says
22:58 timotimo Please be aware, that this will install MoarVM and NQP into your given --prefix before Configure.pl exits.
22:58 timotimo Alternatively, feel free to git clone https://github.com/perl6/nqp and https://github.com/MoarVM/MoarVM manually and install them individually.
22:58 timotimo that's perhaps not warning as loudly as it should
22:59 bwisti joined #perl6
22:59 R0b0t1 Granted I didn't read the README completely but I found elsewhere that it was strongly(?) recommended not to do what you just suggested
22:59 R0b0t1 I suppose I will have to do it
22:59 timotimo it'd be cool if you found that again and gave me a link
23:00 timotimo the problem is that nqp and rakudo grab configuration from moar and nqp post-installation by calling these programs
23:00 timotimo that's why we do a full install of moar before we even configure nqp
23:01 timotimo and do a full install of nqp before rakudo will finish Configure.pl
23:02 timotimo quite clearly not optimal if you want to have rakudo-star as a single package
23:02 timotimo nothing about the build system is optimal, honestly
23:02 R0b0t1 The order makes sense but what the build process does does not
23:02 timotimo but build system work is among the worst
23:03 timotimo what exactly?
23:03 R0b0t1 It doesn't seem to pay attention to what it's done already
23:03 timotimo oh, i even put a note into Configure.pl --help
23:03 timotimo but nobody reads that
23:04 timotimo in a package manager situation you'd never call Configure.pl twice
23:04 R0b0t1 That assumes Configure.pl never fails
23:04 timotimo if cofigure.pl fails, the whole process ought to be aborted, no?
23:05 R0b0t1 That depends, typically if something aborts most of the work isn't wasted
23:05 R0b0t1 The issue isn't that it aborts it's that it can't resume what it was doing
23:05 timotimo not wasted at all, just cd into the folder and "make install"
23:05 timotimo really, all --gen-moar does is do a git clone, cd in there, Configure.pl, make, make install, cd back
23:05 timotimo unless a moar with sufficiently new version already exists
23:06 R0b0t1 I'm trying that then, it's possible I got my pax markings wrong
23:06 timotimo pax markings, is that refering to that security subsystem?
23:06 R0b0t1 Yes
23:07 timotimo ah, i have zero experience with that
23:07 R0b0t1 libmoar.so wants executable stack space
23:07 timotimo ah indeed
23:07 timotimo i forgot why exactly. could be because of dyncall/libffi
23:07 R0b0t1 Typically one avoids doing the things that are disallowed by PaX, because there are other equally valid ways to accomplish those goals that do not open a system up to entire classes of exploits
23:08 timotimo yeah, it'd be cool if we could get rid of that requirement
23:08 timotimo it also bites people who try to install rakudo on the windows ubuntu thing
23:09 R0b0t1 That's one I didn't think of
23:09 R0b0t1 I'm actually kind of interested as to the OS of most developers, as I'm not sure of any mainstream distributions that don't ship with some form of PaX
23:10 R0b0t1 Also I can't find the thing I read that mentioned not cloning from Git explicitly
23:10 timotimo yeah dyncall asks for executable stack
23:11 R0b0t1 I thought it was on the mailing list but I was only able to turn up http://www.nntp.perl.org/group/perl.perl6.compiler/2013/05/msg8914.html
23:11 timotimo well, we do tell end-users to get rakudo star tarballs
23:11 R0b0t1 I think I found it in relation to that
23:11 R0b0t1 I am trying to be an end-user but I tend to insist that I am able to verify some kind of signature for the things I download
23:11 timotimo that post is just about forgetting to git submodule init or update or what the magic incantation is
23:13 R0b0t1 Right all it really showed me about was the --force flag
23:13 R0b0t1 I had additional issues building from the star repository involving some missing download files
23:13 timotimo that's a major footgun
23:13 timotimo you're not supposed to use Configure.pl from the rakudo star repository to build a rakudo star
23:13 timotimo major red herring
23:13 R0b0t1 I made a post on the mailing list (that I need to follow up on) about how the build system is very strange
23:13 R0b0t1 Okay
23:13 R0b0t1 So
23:13 R0b0t1 Why does that repository exist?
23:13 timotimo you make rakudo star releases using that repo
23:14 R0b0t1 Moreover if I am trying to verify all of the code I run then I am only left with that repository
23:14 R0b0t1 everything else is offered without signatures
23:14 timotimo the readme that it has at its root ought to be something entirely different
23:14 lizmat joined #perl6
23:14 R0b0t1 However the code in that repository downloads *other* code with wget --no-check-certificate so I mean that's still useless
23:15 timotimo yeah, that's pretty bad
23:15 timotimo i wonder why that's even there a tall
23:15 R0b0t1 I was wondering myself
23:15 timotimo i suspect that flag can just be tossed
23:15 R0b0t1 Well I was having issues with a perl.org domain's certificates but that went away
23:15 R0b0t1 Since it is such a large site I wonder why nobody looked into it
23:15 timotimo we don't host anything on perl.org any more i don't think
23:16 R0b0t1 Sorry, the site hosting the tars
23:16 R0b0t1 Additionally as far as I know what is being done (downloading tarballs and unpacking them) should just as well be done with git submodules, as limited as people like to think they are, or the new subtree feature
23:16 R0b0t1 That would have the benefit of providing built in security
23:16 timotimo this makefile also wasn't updated when moarvm.org got a proper https certificate
23:17 timotimo the current release is an odd one out anyway as it has the non-release nqp in it
23:18 timotimo anyway, i just pushed a commit that removes the --no-check and uses an https address for moarvm also
23:19 timotimo i'm also considering making the wording about "running configure.pl in a git repository" about five steps fiercer
23:20 R0b0t1 Okay before you do that there really needs to be a way to sign releases and make sure signed code is used in all steps of the build process
23:20 R0b0t1 Otherwise nothing has really been fixed, although a lot of code has been written to poorly implement a sort of ad-hoc package manager
23:21 timotimo which parts are you refering to as "ad-hoc package manager"? the git submodules for modules distributed with star, or the --gen-moar mechanism?
23:22 R0b0t1 The mechanism used in the star repository to generate the distribution, firstly, but that same pattern seems to be reused for the --gen* mechanisms
23:22 merced i need.. a project idea
23:23 timotimo no, --gen-* makes a git clone, whereas the star repository's mechanism is wgetting release tarballs
23:25 timotimo --gen-moar inside the star tarball will rely upon the nqp and moarvm that are already part of the release tarball itself
23:26 timotimo aha, we do have a README.star that points you at the right spots ... but it doesn't show up as the default on github and i have no idea how to make that work
23:26 R0b0t1 Okay, but the tarball isn't signed
23:27 timotimo and i'm not sure if tar lets us specify a different name for individual files
23:27 timotimo right, that's on whoever actually cuts and uploads the release
23:28 R0b0t1 So even if the release tar is signed it was generated using a method that doesn't check to make sure the right code is used?
23:29 timotimo now that we use https for every download, how would the wrong code be snuck in?
23:30 R0b0t1 timotimo: I'm in the MoarVM directory and make reports nothing to be done, and I have installed it and marked moar properly, however Configure.pl reports moar as uninstalled
23:30 R0b0t1 timotimo: HTTPS may be used, but certificates are ignored. The file could be modified on the release server.
23:30 timotimo did you mark libmoar.so, too?
23:30 timotimo that's where 95% of moar lives
23:31 R0b0t1 If the certificates are ignored a MITM will be able to replace the code
23:31 R0b0t1 Yeah I marked libmoar.so as well
23:31 timotimo the certificates are not ignored any more
23:33 R0b0t1 Any more as in
23:33 R0b0t1 right this mine?
23:33 R0b0t1 minute*
23:33 timotimo i pushed a commit a few minutes ago to remove the --no-check-certificates flag
23:33 R0b0t1 I cloned the star repository yesterday and saw it running wget --no-check-certificate-
23:33 R0b0t1 I see
23:34 timotimo Fetched in submodule path 'modules/perl6-lwp-simple', but it did not contain 5e06386e1c7e394cd3643d3f8da4b26a4858ab5a. Direct fetching of that commit failed.
23:34 timotimo wow, fantastic
23:37 timotimo okay i have the wrong remote
23:38 R0b0t1 I think I'm going to have to set up a virtual machine to get this to work
23:38 R0b0t1 Moreover I want to in any case because I can't verify the code
23:40 timotimo jesus christ how can git submodule be so stubborn?
23:40 merced lol
23:40 timotimo OK it has a gitdir somewhere else that wasn't being cleaned at all
23:40 timotimo finally it worked
23:41 timotimo "git submodule deinit" does nothing at all :)
23:41 R0b0t1 I'm going to ask on the mailing list about the problems that were being had with submodules because apparently they were being used heavily, because I do not see what issues could possibly exist
23:42 R0b0t1 A lot of the criticism I read seems to stem from people not treating the submodule directory like a filesystem object like their source code
23:42 R0b0t1 (I don't know what else it would be)
23:43 timotimo R0b0t1: it had a different remote from what was in .gitmodules
23:43 timotimo clearly changing things in .gitmodule requires the users of the repo to jump through some extra hoops every time?
23:44 zoll i would like to know the those hoop steps please.
23:44 timotimo rm -rf .git/modules/modules/perl6-lwp-simple
23:44 timotimo then git submodule update again
23:45 R0b0t1 Seems like the same kind of fix one might use for merge conflicts if they don't want to do it through git
23:45 zoll ah, i see. (i should remember summodule cleansing reference)
23:46 zoll thanks timotimo
23:46 timotimo so how do you do that through git?
23:47 * zoll in previous life resigned "submodule being dirty" after bashing against the GIanT wall to try to use git to do cleanup
23:47 timotimo for a moment i thought "oh, git submodule update has a --remote flag, that must be it!"
23:48 timotimo nope, that's something else entirely
23:48 timotimo oh, "git submodule sync" is for that
23:49 timotimo zoll: forget what i told you, there *is* an official way to do this
23:49 * zoll ... around c. 2015
23:49 zoll aye. go on please.
23:49 timotimo makes one wonder why "git submodule update" doesn't do this, and why "deinit" + "init" also doesn't do this
23:49 timotimo it's "git submodule sync"
23:50 zoll do'h!
23:51 zoll timotimo: sorry. my current projects are in hg; did not occur to me use git look up "sync"
23:52 * zoll is dropping words like there no tomorrow
23:52 zoll i meant "did not occur to me to use git to look up "sync""
23:54 timotimo i found hg to be a thousand times worse than git, it was fighting me every single step of the way when i was contributing (tiny useless shreds) to pypy

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

Perl 6 | Reference Documentation | Rakudo