Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-06-22

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 zhmylove joined #perl6
00:12 huggable joined #perl6
00:26 Zoffix joined #perl6
00:26 Zoffix drforr1, DrForr_ where's this Prancer's at then? I'm not seeing it in the ecosystem
00:27 Zoffix Hm. https://github.com/drforr/perl6-App-prancer ..
00:32 Zoffix Doesn't look like it's ready yet.
00:32 Zoffix left #perl6
00:47 vike joined #perl6
00:53 sammers good morning
00:53 wamba joined #perl6
00:56 BenGoldberg joined #perl6
00:58 Ben_Goldberg joined #perl6
01:02 sammers is there a way to get IO::Notification.watch-path to only add to the supply files that are not already in the supply?
01:02 sammers I guess, that isn't what I am looking for...
01:18 molaf joined #perl6
01:18 nanis joined #perl6
01:22 FROGGS_ joined #perl6
01:23 Actualeyes joined #perl6
01:27 sammers ok... is there a way to see all of the paths registerd by IO::Notification.watch-path?
01:27 addison joined #perl6
01:30 nanis Just built Rakudo version 2016.06-17-g5ca24cc built on MoarVM version 2016.06 on Windows 10 w/ MSVC 2013. I have some spectests failing. Should I file one bug report per test file or one report listing all failing test files?
01:31 nanis s/2013/2015/, but that doesn't matter much.
01:36 Zoffix joined #perl6
01:37 Zoffix nanis, can you pastebin the failures?
01:37 nanis Of course ...
01:39 nanis Zoffix, here is one https://gist.github.com/nanis/d4f5c945eda35e09b21afe3db7cd1feb
01:40 nanis Here is another https://gist.github.com/nanis/997ff5a28f120d3b92a9c7f076286e87
01:42 nanis Another https://gist.github.com/nanis/baea84f991af14e3b74d31d52cd3dc2d
01:46 Zoffix ¯\_(ツ)_/¯ Yes, please file them. You can stuff them into a single report.
01:46 nanis OK, just for the sake of completeness, here is one more: https://gist.github.com/nanis/c23a1a6a70c69b92ecc1e934bc73451b
01:46 nanis I'll submit the bug report in a few hours. Thank you.
01:46 Zoffix The last one are just passed TODOs,  those are ok
01:47 ilbot3 joined #perl6
01:47 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:48 mspo camelia: (1 .. 10).roll
01:48 mspo m: (1 .. 10).roll
01:48 camelia rakudo-moar 5ca24c: ( no output )
01:49 Ben_Goldberg This morning, I was not on a roll.  I was on a bagel.
01:50 mspo m: <1 .. 10>.roll
01:50 camelia rakudo-moar 5ca24c: ( no output )
01:50 mspo okay forget it ;)
01:51 BenGoldberg m: <roll muffin biscuit bagel donut>.roll.say
01:51 camelia rakudo-moar 5ca24c: OUTPUT«bagel␤»
01:51 BenGoldberg camelia++
01:53 BenGoldberg mspo, Unlike perlbot (the perl5 eval bot), camelia is not going to automatically print the result of the expression; instead you have to put an explicit print/say/note/whatever.
01:56 Zoffix m: constant $foo, constant $bar = 2, 3; say foo
01:56 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing initializer on constant declaration␤at <tmp>:1␤------> 3constant $foo7⏏5, constant $bar = 2, 3; say foo␤»
01:56 Zoffix No way to initialize two constants in one go, is there?
01:57 grondilu joined #perl6
02:00 _28_ria joined #perl6
02:03 kaare__ joined #perl6
02:08 geekosaur m: constant ($foo, $bar) = 2, 3; say 'alive'
02:08 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing initializer on constant declaration␤at <tmp>:1␤------> 3constant7⏏5 ($foo, $bar) = 2, 3; say 'alive'␤»
02:08 geekosaur bah
02:10 kid51 joined #perl6
02:15 addison joined #perl6
02:19 noganex_ joined #perl6
02:20 Zoffix Yeah, tried that first :)
02:27 kurahaupo joined #perl6
02:30 sammers hello, I am trying to use IO::Notification.watch-path to monitor file edits. But every edit triggers several FileRenamed / FileChanged events.
02:31 sammers so I am trying to find a way to only run a subsequent function once after any file edit event.
02:34 sammers I have tried tracking the paths in a global list, and once the subsequent funtion completes remove the path from the list, but that doesn't seem to solve this...
02:35 Zoffix sammers, do you have any code we could play around with?
02:36 Zoffix sammers, I have this example and IIRC it triggers just once per edit: https://github.com/zoffixznet/perl6-Bailador-Dev-AutoRestarter/blob/master/bin/rebailador#L38
02:36 Zoffix (same thing with syntax highlights: https://gist.github.com/zoffixznet/ccfb5936ec3b6aaeb03b8069c97fbe05 )
02:36 sammers thanks, basically I am using this https://github.com/jnthn/perl6-reactive-samples/blob/master/inter-commit/inter-commit.p6 with a few modifications
02:37 Zoffix "Latest commit d0bb243  on Apr 28, 2014".... that smells like bitrot :P
02:39 kid51 joined #perl6
02:45 Zoffix m: supply { }.uniq
02:45 camelia rakudo-moar 5ca24c: OUTPUT«Method 'uniq' not found for invocant of class 'Supply'␤  in block <unit> at <tmp> line 1␤␤»
02:45 Zoffix It was removed?
02:45 dj_goku joined #perl6
02:53 pmichaud good evening, #perl6
02:53 Zoffix \o
03:03 rgrinberg joined #perl6
03:04 dalek DBIish: 00617dc | (Zoffix Znet)++ | README.pod:
03:04 dalek DBIish: Fix typo
03:04 dalek DBIish: review: https://github.com/perl6/DBIish/commit/00617dcc0a
03:04 aborazmeh joined #perl6
03:04 aborazmeh joined #perl6
03:08 sammers hi Zoffix, ok here is a modified version of your example https://gitlab.com/snippets/21397
03:09 Zoffix sammers, and you still get multiple notifications?
03:09 sammers I only added a filter in main to limit the test on html files
03:09 sammers yeah
03:09 sammers it spits out four changes when I edit the file in vim
03:09 sammers and atom
03:09 sammers so I have a subdirectory called partials, and I run that script ./tester.pl6 partials
03:10 sammers but I added the partials dir to the MAIN watch list
03:11 sammers anyway, yeah, one file edit spits out two FileRenamed and two FileChanged events
03:11 Zoffix Oh
03:11 Zoffix :)
03:11 sammers this has to be related to the way vim writes files
03:11 Zoffix That's a "feature" of atom. It does things with files twice
03:12 Zoffix Try with another editor and you'll see you get just one event.
03:12 sammers but... I need to fine a way of only adding events if the current path isn't in an event
03:12 sammers I use vim mainly, and it does the same
03:12 Zoffix Really? pico doesn't
03:12 sammers atom is just for test
03:13 sammers yeah, pico triggers once
03:14 sammers hmm
03:14 Zoffix ¯\_(ツ)_/¯
03:15 sammers enacs triggered 0 times...
03:15 Zoffix 0.o
03:16 sammers ok, it triggered 3 times
03:16 sammers man, this blows
03:20 sammers other than that issue, which appears to be non-p6 related, the supplies features seem to be working great.
03:20 Zoffix \o/
03:21 mcmillhj joined #perl6
03:24 sammers ok, enabling backupcopy in vimrc got it down to 2 events
03:30 sammers is there any way to ignore events if they occure withing a few seconds?
03:33 Zoffix return unless $last - now > $few-seconds;  $last = now;  ... do things ...
03:34 kurahaupo joined #perl6
03:34 sammers ok
03:43 mohae joined #perl6
03:45 Ben_Goldberg joined #perl6
04:12 huggable joined #perl6
04:17 Actualeyes joined #perl6
04:42 xinming_ joined #perl6
04:44 ssotka joined #perl6
05:03 Cabanossi joined #perl6
05:36 sno joined #perl6
05:41 buharin joined #perl6
05:46 buharin hi
05:50 FROGGS_ .tell Xliff we care about that after the merge, aye
05:50 yoleaux FROGGS_: I'll pass your message to Xliff.
06:06 CIAvash joined #perl6
06:07 ssotka joined #perl6
06:08 rurban_ joined #perl6
06:17 kaare__ joined #perl6
06:17 d^_^b joined #perl6
06:18 buharin how can I check all globals $*
06:19 llfourn m: my $*foo = True; note DYNAMIC::.keys
06:19 camelia rakudo-moar 5ca24c: OUTPUT«($=pod !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish $/ $?PACKAGE $*foo)␤»
06:19 llfourn buharin: note $* variables are dynamic rather than global
06:19 buharin huh
06:20 jjido joined #perl6
06:20 llfourn { my $*foo = "bar" }; say $*foo # error -- not global
06:20 buharin $*DISTRO
06:20 llfourn m: { my $*foo = "bar" }; say $*foo # error -- not global
06:20 camelia rakudo-moar 5ca24c: OUTPUT«Dynamic variable $*foo not found␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
06:20 buharin $*PID
06:20 buharin are they all dynamic?
06:20 llfourn yes
06:21 buharin so they are allocated on stack?
06:22 psch i think that's too low-level a concept to properly translate
06:22 psch dynamic variables are resolved via the caller chain, in contrast to lexical ones, which are resolved via the outer chain
06:22 psch m: my $lex = 1; { say $lex }; sub f { try say $lex; say "can't find $f" if $! }; f
06:22 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$f' is not declared␤at <tmp>:1␤------> 3; sub f { try say $lex; say "can't find 7⏏5$f" if $! }; f␤»
06:22 buharin mm I got this chapter in learnxyminutes will check it
06:23 buharin Perl6 scopes
06:23 psch m: my $lex = 1; { say $lex }; sub f { try say $lex; say "can't find \$lex" if $! }; f
06:23 camelia rakudo-moar 5ca24c: OUTPUT«1␤1␤»
06:24 psch well, i'll get back to my coffee i suppose
06:24 llfourn I'm not sure how $*PID works but I guess the compiler sticks it into DYNAMIC:: just before runtime
06:24 llfourn m: BEGIN say $*PID
06:24 camelia rakudo-moar 5ca24c: OUTPUT«11121␤»
06:25 llfourn and I guess you could get different answers between $*PID at BEGIN and runtime due to precompilation
06:25 buharin llfourn, PID it is runtime variable
06:25 psch i think you more often than not should get different pids in that scenario
06:26 llfourn right but compile time has it's own runtime :)
06:26 buharin ya I know
06:28 buharin llfourn, ahh okay
06:28 buharin dynamic variable is called from current stack
06:28 llfourn well there is a kind of stack but it's not a lexical stack
06:28 buharin so I calling say pids should returns always a different values
06:29 llfourn m: BEGIN say $*PID; say $*PID;
06:29 camelia rakudo-moar 5ca24c: OUTPUT«11176␤11176␤»
06:29 buharin nooo
06:29 buharin in function
06:29 buharin create 2 funds
06:29 psch m: sub f { say $*PID }; sub g { say $*PID }; f; g
06:29 camelia rakudo-moar 5ca24c: OUTPUT«11178␤11178␤»
06:29 buharin fuck
06:29 buharin xD
06:30 llfourn buharin: $*PID is defined in the outer scope of the compunt
06:30 llfourn so it gets set before your code is called
06:31 buharin llfourn, I just thinking about how Perl execute code
06:31 buharin I thought it is forking for every instruction
06:31 buharin ;p
06:31 psch ...why would you think that
06:31 llfourn that would be painful :P
06:32 buharin it is all did in one thread?
06:32 llfourn local in perl 5 and shell works the same as dynamic
06:32 llfourn no it's done in multiple threads
06:32 buharin okay
06:32 llfourn m: say $*THREAD; await start { say $*THREAD }
06:32 camelia rakudo-moar 5ca24c: OUTPUT«Thread #1 (Initial thread)␤Thread #3␤»
06:33 psch well, the interpreter itself is mostly single threaded i think
06:33 psch i do know the jvm backend has a watch thread running, but that's probably a jvm technicality
06:34 buharin is it true that Perl got weak performance on os x?
06:34 llfourn I don't think it's that much worse than everywhere else?
06:34 buharin I didn't check it, but my cousin is Perl master and he told me this
06:35 nine buharin: I doubt that.
06:37 firstdayonthejob joined #perl6
06:45 perlpilot_ joined #perl6
06:45 Sgeo_ joined #perl6
06:46 dupek joined #perl6
06:47 zhmylove_ joined #perl6
06:47 dylanwh_ joined #perl6
06:47 NEveDko__ joined #perl6
06:47 El_Che_ joined #perl6
06:47 lucs_ joined #perl6
06:47 b^_^d joined #perl6
06:47 leedo joined #perl6
06:48 Jonis_ joined #perl6
06:48 _mg_ joined #perl6
06:48 dj_goku_ joined #perl6
06:48 dj_goku_ joined #perl6
06:48 wamba joined #perl6
06:48 gnull` joined #perl6
06:48 vike1 joined #perl6
06:49 erdic_ joined #perl6
06:54 yossarian joined #perl6
06:54 Guest42010 joined #perl6
06:55 mtj__ joined #perl6
06:57 remmie2 joined #perl6
06:57 cpage__ joined #perl6
07:00 siriu5b_ joined #perl6
07:00 siriu5b_ joined #perl6
07:00 orevdiabl joined #perl6
07:00 Actualeyes left #perl6
07:01 finanalyst joined #perl6
07:02 olinkl_ joined #perl6
07:03 b2gills1 joined #perl6
07:04 Actualeyes joined #perl6
07:09 abraxxa joined #perl6
07:12 darutoko joined #perl6
07:16 eugen joined #perl6
07:17 Ven_ joined #perl6
07:19 Actualeyes joined #perl6
07:25 Actualeyes joined #perl6
07:40 remmie joined #perl6
07:41 sjoshi joined #perl6
07:43 cur8or joined #perl6
07:45 g4 joined #perl6
07:52 Ven_ joined #perl6
07:54 Actualeyes joined #perl6
07:54 lizmat joined #perl6
07:56 Actualeyes joined #perl6
07:58 b2gills joined #perl6
08:06 finanalyst joined #perl6
08:12 huggable joined #perl6
08:14 ocbtec joined #perl6
08:16 xiaomiao joined #perl6
08:21 dalek doc: 1a08bb7 | Altai-man++ | doc/Language/5to6-perl (4 files):
08:21 dalek doc: SOURCES sections were removed due to https://github.com/perl6/doc/issues/612
08:21 dalek doc: review: https://github.com/perl6/doc/commit/1a08bb716a
08:31 inokenty joined #perl6
08:33 dakkar joined #perl6
08:35 llfourn m: -> $a, $b { True }.ACCEPTS(1,2) # hmmmm
08:35 camelia rakudo-moar 5ca24c: OUTPUT«Cannot resolve caller ACCEPTS(Block: Int, Int); none of these signatures match:␤    (Mu:U $: \topic, *%_)␤    (Mu:U $: Mu:U \topic, *%_)␤    (Any:D $: Mu:D \a, *%_)␤    (Any:D $: Mu:U \a, *%_)␤    (Any:U $: \topic, *%_)␤    (Code:D $self: Mu $t…»
08:35 llfourn m: -> $a, $b { True }.ACCEPTS(<1,2>) # hmmmm
08:35 camelia rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at <tmp> line 1␤␤»
08:36 llfourn m: -> $a, $b { True }.ACCEPTS(\(1,2)) # =(
08:36 camelia rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at <tmp> line 1␤␤»
08:37 RabidGravy joined #perl6
08:40 psch m: -> $x { 1 }.print
08:40 camelia rakudo-moar 5ca24c: OUTPUT«Block object coerced to string (please use .gist or .perl to do that)  in block <unit> at <tmp> line 1␤»
08:40 psch llfourn: precedence
08:40 psch llfourn: wait, actually i think you mean .signature.ACCEPTS
08:41 psch m: say -> $a, $b { True }.signature.ACCEPTS(\(1,2)) # =(
08:41 camelia rakudo-moar 5ca24c: OUTPUT«True␤»
08:41 psch m: say \(1, 1) ~~ -> $, $ { }
08:41 camelia rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at <tmp> line 1␤␤»
08:41 llfourn psch: my problem is that I can't do accepts against code that takes more than one arg
08:41 psch m: say \(1, 1) ~~ (-> $, $ { })
08:41 camelia rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at <tmp> line 1␤␤»
08:41 llfourn ie I want to call it
08:42 llfourn I think the capture version should work
08:42 llfourn if not the list version
08:42 psch why do you want to call code via ACCEPTS?
08:43 llfourn long story. I want to have parameterized subset so I'm messing around with MOP.
08:43 llfourn so subset Foo of int where -> $_,$param { ... }
08:43 psch m: (1, 1) ~~ { { say $^a - $^b }(|$_) }
08:43 camelia rakudo-moar 5ca24c: OUTPUT«0␤»
08:44 psch llfourn: well, you get the whole LHS in $_
08:44 psch llfourn: so you can lower that into the sig if you really need it like that
08:44 llfourn yeah I think named args is the way to go
08:44 psch i'm not using named args? :)
08:44 llfourn oh right >.<
08:46 psch m: \(1, 2, :3c) ~~ { { say "$^a $^b $:c" }(|$_) } # i mean, you can...
08:46 camelia rakudo-moar 5ca24c: OUTPUT«1 2 3␤»
08:46 psch but then you have to have a Capture again
08:47 psch llfourn: do you have an almost-working snippet?
08:47 llfourn hang on I'll gist it :)
08:51 llfourn psch: https://gist.github.com/LLFourn/17eed8f486e7b79471c12ad21174f6a0
08:51 luiz_lha joined #perl6
08:51 llfourn I would like $.refinement($obj).($checkee,|@!ss-params) to be $.refinement($obj).ACCEPTS($checkee,|@!ss-params)
08:51 llfourn or at least that's what I was trying to get to work
08:52 psch llfourn: i don't think that's how you get there
08:52 psch llfourn: ACCEPTS always has :(\topic)
08:52 psch it needs to, really
08:53 llfourn You're probably right. Oh wells.
08:53 llfourn it works anyway -- I'll just have to check whether the refinement is code and whether there is params to the subset
08:56 psch m: role IntsGreaterThan[::T] { method ACCEPTS(\topic) { $_ > T } }; sub f($x where IntsGreaterThan[4]) { say $x }; f 2
08:56 camelia rakudo-moar 5ca24c: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
08:56 psch m: role IntsGreaterThan[::T] { method ACCEPTS(\topic) { $_ > T } }; sub f($x where IntsGreaterThan[4]) { say $x }; f 5
08:56 camelia rakudo-moar 5ca24c: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
08:56 psch hm
08:56 psch oh duh
08:56 psch \topic but $_ /o\
08:56 psch well, doesn't help :P
08:56 psch probably because role parameterization doesn't work like that :)
08:57 llfourn I think it would work for ~~ ?
08:57 psch m: role Foo[::T] { method m { T.say } }; say Foo[5]
08:57 camelia rakudo-moar 5ca24c: OUTPUT«Cannot unbox a type object␤  in block <unit> at <tmp> line 1␤␤»
08:57 psch m: role Foo[::T] { method m { T.say } }; say Foo[5].new
08:57 camelia rakudo-moar 5ca24c: OUTPUT«Foo[Int].new␤»
08:57 llfourn but it wouldn't work in signatures
08:57 psch m: role Foo[::T] { method m { T.say } }; Foo[5].new.m
08:57 camelia rakudo-moar 5ca24c: OUTPUT«(Int)␤»
08:58 psch i don't think it would, considering the role doesn't care about the value, but only the type
08:58 llfourn I mean it would work in 'where' but not on the LHS but by hacking subset should work like sub foo(IntsGreaterThan[5] $x) { ... }
08:58 llfourn hmm
08:59 llfourn m: role Foo { method ACCEPTS($) { say "called" } }; say 1 ~~ Foo
08:59 camelia rakudo-moar 5ca24c: OUTPUT«False␤»
08:59 llfourn I see.
09:00 llfourn m: class Foo { method ACCEPTS($) { say "called" } }; say 1 ~~ Foo
09:00 camelia rakudo-moar 5ca24c: OUTPUT«called␤True␤»
09:03 psch m: constant &IntsGreaterThan = sub { class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $^a) }; say 5 ~~ IntsGreaterThan(4); say 4 ~~ IntsGreaterThan(4)
09:03 camelia rakudo-moar 5ca24c: OUTPUT«True␤False␤»
09:03 psch but that doesn't work as parameter
09:04 psch (probably "thank god" at the end there :) )
09:04 psch well, as parameter *type*
09:04 llfourn yep
09:04 psch m: constant &IntsGreaterThan = sub { class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $^a) }; sub f($x where IntsGreaterThan(4)) { say $x }; f 5
09:04 camelia rakudo-moar 5ca24c: OUTPUT«5␤»
09:04 psch m: constant &IntsGreaterThan = sub { class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $^a) }; sub f($x where IntsGreaterThan(4)) { say $x }; f 4
09:04 camelia rakudo-moar 5ca24c: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
09:04 llfourn also it doesn't cache
09:04 psch well, yeah, but caching is rather trivial there
09:05 psch just add '@cache[$^a] //= ' ;)
09:05 donaldh joined #perl6
09:06 llfourn I mean the the subset IntsGreaterThan[5] is calculated at compile time where as that one will create a new class each call (or won't it?)
09:06 psch well, it stays runtime, but it can cache
09:07 llfourn m: sub new-class { class :: { } }; say new-class ~~ new-class
09:07 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Expected a term, but found either infix ~~ or redundant prefix ~␤  (to suppress this message, please use a space like ~ ~)␤at <tmp>:1␤------> 3class { class :: { } }; say new-class ~~7⏏5 new-class…»
09:07 llfourn m: sub new-class { class :: { } }; say new-class() ~~ new-class()
09:07 camelia rakudo-moar 5ca24c: OUTPUT«True␤»
09:07 llfourn hmmm
09:08 psch m: constant &IntsGreaterThan = sub { state @cache; @cache[$^a] //= do { say "calculating...";  class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $a) } }; sub f($x where IntsGreaterThan(4)) { say $x }; f 5; f 6
09:08 camelia rakudo-moar 5ca24c: OUTPUT«calculating...␤5␤6␤»
09:08 psch ^^^ there, with caching :)
09:09 psch but as mentioned, it only gives you runtime checks, because it relies on where
09:10 llfourn right, what I meant was that I *think* rakudo caches answers to paramterize at compile time so the type itself is cached. So IntsGreaterThan[5] only ever exists in one place in memory. The answer is not cached of course and will have to be runtime as well.
09:10 psch and, well, it's definitely a of more work just to replace the where block { * > 4 } with something longer *and* slower
09:11 llfourn (if the parameter is known at compile time)
09:12 psch yeah, i think we do cache role parameterizations
09:12 eiro joined #perl6
09:13 Actualeyes left #perl6
09:34 cpage__ joined #perl6
09:39 domidumont joined #perl6
09:43 user9 joined #perl6
09:44 domidumont joined #perl6
09:49 gregf_ /o\
09:50 pmurias joined #perl6
09:52 gregf_ m: say \(1,2).^name
09:52 camelia rakudo-moar 5ca24c: OUTPUT«Capture␤»
09:57 silug joined #perl6
09:59 cyphase joined #perl6
09:59 rindolf joined #perl6
10:01 guardianJ joined #perl6
10:01 guardianJ left #perl6
10:11 domidumont joined #perl6
10:34 _mg_ joined #perl6
11:03 kid51 joined #perl6
11:15 Roamer` joined #perl6
11:16 Roamer` hmmm, is there a way to distinguish "system" types from user-defined classes?  Yes, I know this is vague :)
11:17 Roamer` thing is, I just found out my Serialize::Naive doesn't work with 2016.06, since it tries a $obj.^attributes[$i].type.WHICH === $basic-type.WHICH comparison
11:17 Roamer` where $basic-type is taken from a predefined list containing Int, Int:D, UInt, UInt:D, Str, and so on
11:18 Roamer` and it turns out that this doesn't work in 2016.06 any more, at least for UInt:D
11:18 Roamer` err, sorry, not .WHICH
11:19 Roamer` I'm thinking of changing it to use .type.WHICH eq $basic.WHICH, but... is there a way to find out that a type is not user-defined and so I should not try to recurse into its .^attributes?
11:20 Roamer` just to clarify, what Serialize::Naive does now is check $obj.^attributes[..].type === $basic-type, and this doesn't work on 2016.06
11:24 psch Roamer`: i'd probably check if it's in CORE::, although you'd have to go via .^base_type for smilied types
11:25 psch Roamer`: so something like CORE::.keys.grep($attr-type.HOW ~~ DefiniteHOW ?? /{ $attr-type.^base_type.^name }/ !! /{ $attr-type.^name }/)
11:27 psch m: sub is-core($a) { so CORE::.keys.grep(($a.HOW ~~ Metamodel::DefiniteHOW) ?? /{ $a.^base_type.^name }/ !! /{ $a.^name }/) }; say is-core(Int:D); class A { }; say is-core(A)
11:27 camelia rakudo-moar 5ca24c: OUTPUT«True␤True␤»
11:27 psch but apparently that doesn't work :/
11:28 psch m: sub is-core($a) { so CORE::.keys.grep(($a.HOW ~~ Metamodel::DefiniteHOW) ?? $a.^base_type.^name !! $a.^name ) }; say is-core(Int:D); class A { }; say is-core(A)
11:28 camelia rakudo-moar 5ca24c: OUTPUT«True␤False␤»
11:29 psch but only due to unneeded regex, apparently
11:31 Roamer` psch, that looks nice, I'll play with it... thanks!
11:34 Roamer` psch, and a grep over CORE::.keys is needed because Bad Thin... err, side effects may happen if I just try a :k check?
11:34 psch Roamer`: nah, :k should work too i think
11:34 psch well, if it parses at least
11:34 Roamer` m: say CORE::<Any>:k
11:34 camelia rakudo-moar 5ca24c: OUTPUT«Any␤»
11:35 Roamer` it worked for me here, too
11:35 psch right
11:35 psch m: say (CORE::<Int>:k).WHAT
11:35 camelia rakudo-moar 5ca24c: OUTPUT«(Str)␤»
11:43 mcmillhj joined #perl6
11:43 bjz joined #perl6
11:47 ___ joined #perl6
11:48 Guest78619 left #perl6
11:48 Ven_ joined #perl6
11:49 Roamer` ok, another question: if I define a sub in a role and I don't mark it as "is export", does it pollute the namespace of classes that use it?  It looks to me like it doesn't, but I'm not sure I'm checking in all the ways I need to be :)
11:49 gfldex it does
11:50 gfldex it will not overrule existing methods
11:50 llfourn huh? if it's a sub it won't....
11:50 gfldex the behaviour is still undefined tho (there are not spec tests that say otherwise)
11:50 gfldex sorry, i missed that bit
11:51 psch m: role R { sub f { say "f" } }; class C does R { method g { say f() } }; C.g
11:51 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    f used at line 1␤␤»
11:51 psch m: role R { our sub f { say "f" } }; class C does R { method g { say R::f() } }; C.g
11:51 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot declare our-scoped sub inside of a role␤(the scope inside of a role is generic, so there is no unambiguous␤package to install the symbol in)␤at <tmp>:1␤------> 3role R { our sub f { say "f" }…»
11:52 psch the lexical scope of role (or classes for that matter) isn't composed or inherited
11:53 psch +s
11:53 psch m: class C { our $x = "foo" }; class D is C { }; say D::<$x>
11:53 camelia rakudo-moar 5ca24c: OUTPUT«(Any)␤»
11:53 psch m: class C { our $x = "foo" }; class D is C { }; say C::<$x>
11:53 camelia rakudo-moar 5ca24c: OUTPUT«foo␤»
11:53 gfldex m: role R { sub s() { say 'oi' }; method m(){ s } }; class C does R { method n() { self.m() } }; C.new.n
11:53 camelia rakudo-moar 5ca24c: OUTPUT«oi␤»
11:53 gfldex m: role R { sub s() { say 'oi' }; method m(){ s } }; class C does R { method n() { self.m() }; method o() { s() }}; C.new.n
11:53 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    s used at line 1␤␤»
11:54 gfldex m: role R { sub s() is export { say 'oi' }; method m(){ s } }; class C does R { method n() { self.m() }; method o() { s() }}; C.new.n
11:54 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    s used at line 1␤␤»
11:54 Roamer` yeah, I was just going to say that -e testing doesn't always seem to work properly with "is export"
11:54 psch well, you have to import too :)
11:55 Roamer` m: use v6.c; role Meow { sub mmsign(Int:D $val) is export { "fooo" } }; import Meow; say mmsign(4);
11:55 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    mmsign used at line 1. Did you mean 'sign'?␤␤»
11:55 psch but roles aren't really packages
11:55 psch m: class C { sub s() is export { say 'oi' } }; import R; say s
11:55 camelia rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Could not find module R to import symbols from␤at <tmp>:1␤------> 3b s() is export { say 'oi' } }; import R7⏏5; say s␤»
11:55 psch m: class C { sub s() is export { say 'oi' } }; import C; say s
11:55 camelia rakudo-moar 5ca24c: OUTPUT«oi␤True␤»
11:55 Roamer` wif I put the role in a file and 'use lib', it works, but, well
11:56 psch that's probably because it gets a package because it's a single CompUnit
11:56 psch or something along those lines...
11:57 psch m: say IO.HOW
11:57 camelia rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW.new␤»
11:57 psch m: role R { }; say R.HOW
11:57 camelia rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW.new␤»
12:03 lizmat joined #perl6
12:09 woolfy joined #perl6
12:12 huggable joined #perl6
12:12 Roamer` ah, and I just found out I'll have to recalibrate my brain WRT precedence; a sub binds more loosely than 'eq' in Perl 6?
12:13 llfourn m: say "foo" eq "foo" # of course
12:13 camelia rakudo-moar 5ca24c: OUTPUT«True␤»
12:13 llfourn same in in p5
12:13 stevieb9 joined #perl6
12:13 Roamer` llfourn, mm, not quite sure...
12:13 Roamer` perl -e 'use v5.012; use strict; use warnings; use Data::Dumper; sub duu($) { say Dumper(\@_); }; duu 5 == 3;'
12:14 Roamer` this passed only "5" to the sub and then gave me a warning about a numeric comparison in void context
12:14 geekosaur try it with a proto of @ instead of $, which is more comparable with say
12:15 geekosaur (perl5 protos are moderately evil that way)
12:15 Roamer` geekosaur, yeah, but in Perl 6 I have a sub get-type-name($type), which is closer to ($) :)
12:15 psch m: sub s($a) { $a }; say s 1 == 1
12:15 camelia rakudo-moar 5ca24c: OUTPUT«True␤»
12:15 psch m: sub s(Int $a) { $a }; say s 1 == 1
12:15 camelia rakudo-moar 5ca24c: OUTPUT«True␤»
12:15 jnthn In Perl 6, a sub's signature does not affect its parsing.
12:15 jnthn The parsing of calls to it, that is.
12:16 geekosaur ^ whereas perl 5 protos essentially exist to mutate the parser
12:16 llfourn yeah p5 "protos" do though p5 signatures don't afaik
12:16 Roamer` to be fair, yes, I apologize if I sounded a bit offended; I *do* know that prototypes in Perl 5 are patched over everything else and that they're weird and sometimes evil
12:16 Roamer` it's just that, yeah, as I said, I'll need to recalibrate my brain :)
12:17 psch i don't get it
12:17 psch but i suppose that's fine vOv
12:17 Roamer` whoa
12:17 Roamer` m: use v6; my Int $foo = 1 == 1; say $foo.perl;
12:17 camelia rakudo-moar 5ca24c: OUTPUT«Bool::True␤»
12:18 Roamer` *head scratch* now I don't get it either
12:18 psch m: say Bool ~~ Int
12:18 camelia rakudo-moar 5ca24c: OUTPUT«True␤»
12:18 geekosaur Enum-s are Int-s
12:18 Roamer` ahhhhh
12:18 geekosaur with some extra stuff on top
12:18 gregf_ m: my Int $foo = 1 == 1;
12:18 camelia rakudo-moar 5ca24c: ( no output )
12:19 gregf_ er, how can a bool be assigned to an Int?
12:19 psch Bool isa Int
12:19 gregf_ oh :|
12:20 gregf_ so true and false are enums
12:20 Roamer` should've been obvious in retrospect
12:20 psch enum values, yes
12:20 gregf_ oh, psch++
12:20 psch m: say Bool.HOW
12:20 camelia rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::EnumHOW.new␤»
12:20 psch m: say True.HOW
12:20 camelia rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::EnumHOW.new␤»
12:21 psch well, i suppose enum values are enums too
12:22 geekosaur enum values can be thought of as constants whose type is the enum
12:29 woolfy Several people at YAPC::NA have asked me where my Perl 6 brochure is.  Here.  https://github.com/wendyga/Perl6Brochure
12:30 kid51 joined #perl6
12:31 woolfy Feel free to propose alterations to me.  I got a bunch already, mostly from Salve.  Also, feel free to use the contents.  Or link to it.
12:34 wamba joined #perl6
12:35 sjn woolfy: who is this Salve? I don't recognize that nick. :)
12:36 rgrinberg joined #perl6
12:36 nine sjn: it's clearly a code word
12:36 nemsys joined #perl6
12:36 sjn IT'S A CONSPIRACY!
12:37 * sjn puts on his alu foil hat
12:38 tadzik if conspiracy is an art, are virtuosos of it con-artists?
12:38 woolfy Salve Joshua Nilsen sjn: ah, I looked for 'sjn' and didn't realise you were using the long version now...  :-)
12:43 donaldh joined #perl6
12:45 * sjn has been "sjn" on irc for more than 20 years :-P
12:46 woolfy But I see you now appearing here as "Salve Joshua Nilsen sjn", and on top of the list of "331 people in room", and I did look for your name 'sjn' further down in the list.  That's why I didn't spot you.  My bad.
12:47 cdg joined #perl6
12:47 BrokenRobot 331 people in room :o
12:48 woolfy Yeah, this is a nice community.  And on the Facebook 'Perl6' page, we have 250+ as well.
12:48 BrokenRobot Holy crap
12:51 _mg_ joined #perl6
12:51 BrokenRobot .tell AlexDaniel An awesome feature for bisectable would be ability to give a gist with multiple files and it test with those files. /me trying to hunt down a precomp bug ATM :)
12:51 yoleaux BrokenRobot: I'll pass your message to AlexDaniel.
12:52 BrokenRobot botsnack
12:52 synopsebot6 om nom nom
12:52 BrokenRobot synopsebot6: bad bot!
12:52 * BrokenRobot hits synopsebot6 with a digital newspaper
12:52 tbrowder joined #perl6
12:52 Bucciarati joined #perl6
12:55 avar joined #perl6
12:56 literal joined #perl6
12:56 tbrowder woolfy:  can you make the doc in letter format and put a pdf version of each in yr github repo?
12:57 bjz joined #perl6
12:58 tbrowder hm, a ltr size might run over 2 pages
12:58 BrokenRobot It doesn't open at all for me :/ "loading component library failed: file:///usr/lib/libreoffice/program/../program/libdbalo.so"
12:59 kid51 joined #perl6
12:59 nemssy joined #perl6
12:59 musca joined #perl6
13:01 BrokenRobot nm... actually cloning the repo instead of using GitHub raw worked
13:02 brrt joined #perl6
13:06 woolfy tbrowder: I will do, when I get to it...  :-)
13:07 BrokenRobot tbrowder: here's US Letter PDF: http://temp.perl6.party/Perl 6 Brochure.pdf
13:07 BrokenRobot That brochure needs an update :) It still talks about 2015 Christmas release as something in the future :)
13:08 BrokenRobot http://temp.perl6.party/Perl%206%20Brochure.pdf
13:08 pmurias joined #perl6
13:12 lizmat joined #perl6
13:16 Sgeo_ joined #perl6
13:16 lembark joined #perl6
13:18 lembark Q: Does p6doc support the equivalent of "perldoc -l" or "perldoc -m"?
13:18 sufrostico joined #perl6
13:18 BrokenRobot Not that I know of
13:19 skids joined #perl6
13:20 BrokenRobot Looking at its source: nope
13:25 moritz p6doc is very bare-bones at the moment
13:25 moritz I've focused basically all of my doc efforts on the web
13:29 pmichaud good morning #perl6
13:30 moritz \o pmichaud
13:32 bjz joined #perl6
13:35 abruanese joined #perl6
13:38 sdf_ joined #perl6
13:40 brrt i'm going to summon the powers of people which are more mathematically gifted than me
13:40 brrt i have the following problem
13:41 brrt I have three basic vectors:
13:41 BrokenRobot The answer is 42 :)
13:41 brrt A,B, and D;
13:41 BrokenRobot m: 'Life, the Universe, and Everything'.WHY.say
13:41 camelia rakudo-moar 5ca24c: OUTPUT«42␤»
13:42 brrt I have an equation that x*A + y*B = D - c;
13:42 brrt x, y, and c are scalar numbers
13:42 brrt i want to find x and y for minimal c
13:43 lucs_ brrt: How do you subtract a scalar from a vector?
13:43 brrt how...
13:43 brrt well, D - c = [D_0 - c, D_1 - c, D_2 - c, ... D_n - c]
13:43 brrt the usual way
13:44 lucs_ Ah, I see
13:44 * lucs_ is not the mathematically gifted person you are looking for...
13:45 Woodi brrt: what if there is more then one pair of x and y solving this ?
13:46 brrt preferably all pairs?
13:46 brrt actually, you can transform that to
13:46 brrt (x-c)*A + (y-c)*B = D
13:47 brrt hmmm
13:47 lucs brrt: You may want to try #math ...
13:47 brrt perhaps
13:48 buharin joined #perl6
13:48 buharin hello my friends
13:48 BrokenRobot \o
13:52 domidumont joined #perl6
13:53 llfourn m: my @a  where { .elems < 4 }; @a := <one two three> # is this meant to work?
13:53 camelia rakudo-moar 5ca24c: OUTPUT«Type check failed in binding; expected Positional[<anon>] but got List ($("one", "two", "three"))␤  in block <unit> at <tmp> line 1␤␤»
13:54 moritz brrt: this equation is under-determined. Can, for example, chose y = c and then resolve x to D/A +c
13:54 moritz *You can
13:54 brrt you are correct
13:54 moritz (for A != 0)
13:54 brrt that is not in any way helpful unfortunately ^^
13:55 brrt but that is my own mistake
13:56 gregf_ m: say "foo".elems
13:56 camelia rakudo-moar 5ca24c: OUTPUT«1␤»
13:56 gregf_ m: say ["foo"].elems
13:56 camelia rakudo-moar 5ca24c: OUTPUT«1␤»
13:59 lizmat joined #perl6
14:00 andreoss joined #perl6
14:03 Actualeyes joined #perl6
14:05 user9 joined #perl6
14:10 user10 joined #perl6
14:10 Timbus joined #perl6
14:10 pmurias joined #perl6
14:15 cdg joined #perl6
14:20 Kaffe joined #perl6
14:20 buharin how to be Perl6 philosopher?
14:20 buharin become
14:20 BrokenRobot a wat?
14:20 brrt philosophize
14:21 brrt and focus on perl6
14:21 brrt i wonder what philosophical question you have in mind
14:21 moritz well, write a class Philosopher with a rather generic coercer, and use it appropriately
14:22 BrokenRobot m: class Philosopher is Perl6 {}
14:22 camelia rakudo-moar c3bb41: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤'Philosopher' cannot inherit from 'Perl6' because it is unknown.␤Did you mean 'Perl'?␤␤at <tmp>:1␤»
14:22 BrokenRobot aww
14:22 BrokenRobot m: class Philosopher is Perl {}
14:22 camelia rakudo-moar c3bb41: ( no output )
14:22 BrokenRobot :o
14:22 andreoss m: Perl.^methods.say
14:22 camelia rakudo-moar c3bb41: OUTPUT«(BUILD VMnames DISTROnames KERNELnames Str gist compiler name auth version signature desc)␤»
14:23 andreoss m: Perl.new(v7.0).say
14:23 camelia rakudo-moar c3bb41: OUTPUT«Default constructor for 'Perl' only takes named arguments␤  in block <unit> at <tmp> line 1␤␤»
14:23 andreoss m: Perl.new(version => v7.0).say
14:23 camelia rakudo-moar c3bb41: OUTPUT«Perl 6 (7.0)␤»
14:24 cdg joined #perl6
14:24 buharin believe me I said truth
14:24 buharin I study philosphy
14:24 user9 joined #perl6
14:24 DrForr_ Zoffix: It's not on the ecosystem yet, true. Still working on bits.
14:24 moritz si tacuisses, philosophus mansisses
14:25 BrokenRobot DrForr_: cool
14:26 cdg_ joined #perl6
14:26 buharin moritz: Puto multos potuisse ad sapientiam pervenire, nisi putavissent se pervenisse.
14:26 andreoss what's this Perl class? there's no doc for it
14:27 zostay joined #perl6
14:28 kid51 joined #perl6
14:30 moritz andreoss: iirc information about the current language version
14:30 andreoss m: $*PERL.WHAT.say
14:30 camelia rakudo-moar 7b2710: OUTPUT«(Perl)␤»
14:31 moritz m: say $*PERL
14:31 camelia rakudo-moar 7b2710: OUTPUT«Perl 6 (6.c)␤»
14:31 moritz m: say $*PERL.^name
14:31 camelia rakudo-moar 7b2710: OUTPUT«Perl␤»
14:36 dha joined #perl6
14:41 acrussell joined #perl6
14:41 woolfy BrokenRobot: I did not put anything in temp.perl6.party (didn't even know that existed), somebody else must have done that.
14:42 lizmat joined #perl6
14:45 BrokenRobot woolfy: yeah, I did :)
14:48 BooK I was wondering about this:
14:48 BooK $ ack -c nqp:: src/core/Version.pm
14:48 BooK 55
14:48 moritz BooK: it's mostly for optimization
14:49 BooK oh
14:49 moritz most of these uses could be done with high-level operators, just a bit slower
14:49 moritz multi method gist(Version:D:) { nqp::concat("v",$!string) }
14:49 moritz could be  "v" ~ $!string  just as easily
14:50 uniejo joined #perl6
14:50 BooK shouldn't there be a perl6 repo with perl6 written in pure perl6?
14:50 woolfy BrokenRobot: ah, ok
14:50 moritz BooK: maybe, eventually
14:51 * BrokenRobot wishes there was a prettier alternative for $_
14:51 BrokenRobot Some single-char unicode thing.
14:51 kid51 joined #perl6
14:51 BrokenRobot $_ just feels jarring when used with the rest of the code :/
14:51 dalek doc: 5549fcb | Altai-man++ | / (14 files):
14:51 dalek doc: Old 'http' links were replaced with 'https' versions.
14:51 dalek doc: In examples too. Fix for https://github.com/perl6/doc/issues/616
14:51 dalek doc: review: https://github.com/perl6/doc/commit/5549fcb36b
14:51 lizmat BooK: this year the emphasis is on optimizing, which unfortunately means more nqp in the core atm
14:54 BooK make a note to remove that at some point :-)
14:54 moritz the note is right here, in the IRC logs :-)
14:54 lizmat indeed
14:55 * lizmat looks forward to removing nqp from the settings (well, at most places)
14:55 BrokenRobot m: sub term:<━> { OUTER::("$_") }; ^4 .map({━ + 10}).say
14:55 camelia rakudo-moar 7b2710: OUTPUT«Use of uninitialized value $_ of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in sub term:<━> at <tmp> line 1␤No such symbol 'OUTER::'␤  in sub term:<━> at <tmp> line 1␤  in block <…»
14:55 moritz really, it's not something we'll forget once can
14:55 BrokenRobot How to use OUTER, I thought there was a way?
14:55 moritz BooK: CALLER
14:55 moritz sorry, meant BrokenRobot
14:55 BrokenRobot Isn't CALLER meant only for dynamic variables?
14:56 moritz m: sub term:<━> { $CALLER::_ }; (^4).map({━ + 10}).say
14:56 camelia rakudo-moar 7b2710: OUTPUT«(10 11 12 13)␤»
14:56 moritz BrokenRobot: and guess what $_ is? :-)
14:56 BrokenRobot Alright. Thanks, moritz++
14:56 moritz BrokenRobot: OUTER:: looks in the lexical outer scope, so always in the scope in which you declared term:<━>
14:56 psch m: $_ = "foo"; say DYNAMIC::<$_>
14:56 camelia rakudo-moar 7b2710: OUTPUT«foo␤»
14:57 BrokenRobot Ah. Thanks!
14:58 moritz dear Debian, why do I always end up having avahi-daemon installed (and it spamming my logs), even if I never recall installing it deliberately?
14:58 donaldh joined #perl6
14:59 lizmat joined #perl6
15:01 dha joined #perl6
15:03 uniejo joined #perl6
15:04 yx_ joined #perl6
15:04 BrokenRobot Omg! I totally deuglified $_ with a module <3 Perl 6!
15:04 lizmat ??
15:05 BrokenRobot lizmat: I didn't like how $_ looks like so I created a module that lets you change what it looks like :)
15:06 grondilu joined #perl6
15:07 pdcawley joined #perl6
15:07 lizmat looking forward to mentioning it in Ecosystem Additions next week  :-)
15:07 BrokenRobot :)
15:08 BooK I need to write my META.json to add my own module to the Ecosystem
15:09 BrokenRobot This module can be helpful (and it's meta used as a base to start from): https://metacpan.org/pod/Test::META
15:09 MilkmanD1n joined #perl6
15:10 ocbtec_ joined #perl6
15:10 sjohnson joined #perl6
15:10 BooK one thing I was wondering, was that I saw version numbers in META files, so is there a publication process?
15:10 BooK other than "grab master on github" ?
15:11 lizmat not right now, but there will be  :-)
15:11 Timbus joined #perl6
15:11 as joined #perl6
15:11 noganex joined #perl6
15:11 jervo joined #perl6
15:12 ugexe zef will use versions if it finds them, such as with jdv's metacpan demo
15:21 ssotka joined #perl6
15:35 maddingue joined #perl6
15:41 tokomer joined #perl6
15:46 kurahaupo joined #perl6
15:51 adu joined #perl6
15:53 freezerburnV joined #perl6
15:57 dalek doc: 821b6ae | (Zoffix Znet)++ | html/.htaccess:
15:57 dalek doc: Always use HTTPS
15:57 dalek doc:
15:57 dalek doc: (Closes #621)
15:57 dalek doc: review: https://github.com/perl6/doc/commit/821b6ae36f
16:00 kid51 joined #perl6
16:00 dalek gtk-simple: 40b71e0 | timotimo++ | Build.pm:
16:00 dalek gtk-simple: downloader for dlls was missing a "flat"
16:00 dalek gtk-simple:
16:00 dalek gtk-simple: symptom was "couldn't parse url http://blah HASHHASHHASH
16:00 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/40b71e09cf
16:03 domidumont joined #perl6
16:12 cognominal hi; is there any other container than Scalar ?
16:12 yoleaux 21 Jun 2016 01:19Z <raiph> cognominal: I've posted some questions about your slang proposal at https://gist.github.com/cognominal/d181082b41595d6f41588faf6d51a42d
16:12 huggable joined #perl6
16:12 timotimo Proxy is a container other than Scalar
16:12 timotimo our NativeRefs are containers, too
16:13 cognominal nice to know
16:13 lizmat joined #perl6
16:22 dalek doc: aa31ec8 | (Zoffix Znet)++ | doc/Language/testing.pod:
16:22 dalek doc: Remove needless Perl 5 module reference
16:22 dalek doc: review: https://github.com/perl6/doc/commit/aa31ec8c22
16:23 moritz Zoffix: I'm worried about your commit 821b6ae36fa630ed9b205d4321c63156587735a2 in the docs repo, because let's encrypt uses the HTTP URLs for verification
16:23 moritz Zoffix: so the next certificate update will fail
16:24 mohae joined #perl6
16:24 moritz should exclude .well-known/.* URLs
16:25 hahainternet really enjoying the yapc vids this year
16:25 dalek doc: 6c18da7 | (Zoffix Znet)++ | doc/Language/testing.pod:
16:25 dalek doc: Reword
16:25 dalek doc:
16:25 dalek doc: “Substitute 'damn' every time you're inclined to write 'very;' your editor will delete it and the writing will be just as it should be.”― Mark Twain
16:25 dalek doc: review: https://github.com/perl6/doc/commit/6c18da7edf
16:26 hahainternet still audio issues, but listenable, especially cause i have ardour running :D
16:26 timotimo you're piping the audio through ardour? :)
16:27 hahainternet timotimo: all my system audio goes pulseaudio -> jack -> ardour -> jack -> alsa
16:27 dalek doc: b227d47 | moritz++ | html/.htaccess:
16:27 dalek doc: Unbreak let's encrypt domain verification
16:27 dalek doc: review: https://github.com/perl6/doc/commit/b227d4764b
16:27 moritz Zoffix: ^^ should fix it, I hope
16:27 moritz (untested)
16:27 hahainternet timotimo: i have a few different pulse jack sinks, hooked up to different ardour inputs, so i can switch with two clicks to a compressor chain for badly mastered audio, for example
16:28 hahainternet or a high-pass filter chain, for when i'm listening to things at night
16:28 hahainternet highly recommended
16:28 timotimo that's totally sensible
16:28 hahainternet it also means when someone publishes a video with a left channel only, i can just drag the panner to reduce the stereo imaging to 0, and problem solved
16:28 timotimo though as i mentioned before, i bet there's a pulseaudio one-liner that'd give me a "make only-left-channel audio enjoyable" sink, too
16:29 hahainternet there is channel mapping, so yeah you'd just have to declare a 1 channel sink i think, but panning is a bit more than the standard
16:34 dalek doc: 88515a0 | (Zoffix Znet)++ | html/.htaccess:
16:34 dalek doc: Use more specific HTTPS exclusion rule
16:34 dalek doc: review: https://github.com/perl6/doc/commit/88515a0f50
16:34 BrokenRobot moritz: letsencrypt updates certificates over unencrypted HTTP?
16:41 [Coke] doing a doc build with rakudo-latest. still slowww.
16:51 sno joined #perl6
16:59 dalek ecosystem: 63a826e | (Zoffix Znet)++ | META.list:
16:59 dalek ecosystem: Add Pretty::Topic to ecosystem
16:59 dalek ecosystem:
16:59 dalek ecosystem: Alias $_ topical variable to something prettier: https://github.com/zoffixznet/perl6-Pretty-Topic
16:59 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/63a826edd0
17:04 donaldh joined #perl6
17:05 timotimo fantastic
17:06 BrokenRobot Mr. Fantastic!
17:07 ilmari Mr. Bombastic!
17:09 hahainternet i'd like an enum, but also need an association between a single character and each enum, so for example, 'A' => ALPHA .. I can do this with an enum type and a hash, but is there anything 'nicer' i should be doing?
17:09 timotimo you need multiple keys to point at the same enum value?
17:10 stevieb I have a bunch of subroutines (yep, subs, not methods) that are named as such: log0(), log1()..log7(). I'd like to do something like ``for (0..7){ "log$_"()}''. How in perl6 can I call a stringified sub name?
17:10 timotimo you can grab it from the lexical environment with ::('...')
17:10 cognominal timotimo: how would you exhibit this containers using .VAR ?
17:10 hahainternet timotimo: something akin to that, i want the safety of the enum type
17:10 ilmari hahainternet: I'd use a reference table instead of an enum type
17:10 ilmari then make the columns that use it foreign keys to the table
17:10 ilmari that way you can more flexibly modify it too
17:10 hahainternet ilmari: there's no database :)
17:10 timotimo m: my int $foo = 10; sub do-it(int $bar is rw) { say $bar.VAR.WHAT }; do-it($foo)
17:10 camelia rakudo-moar 7b2710: OUTPUT«(IntLexRef)␤»
17:11 cognominal or is that things internal to rakudo
17:11 firstdayonthejob joined #perl6
17:11 BrokenRobot m: use Test; my $s = "is"; ::("&" ~ $s)(2, 3)
17:11 camelia rakudo-moar 7b2710: OUTPUT«not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: '3'␤#      got: '2'␤»
17:11 ilmari hahainternet: doh, I confused this channel with #postgresql for a moment
17:11 BrokenRobot stevieb: ^
17:11 timotimo hahainternet: you can have a bunch of consts that are bound to the values of the enum
17:11 hahainternet ilmari: :D
17:11 stevieb BrokenRobot: cool, thanks!
17:12 timotimo cognominal: did you see my eval up there among the other stuff?
17:12 ilmari hahainternet: I've been hacking on some enum type functionality there, so my mind went enum -> postgres
17:12 hahainternet timotimo: well that's equivalent to the hash method isn't it? { A => ALPHA } etc
17:12 timotimo hahainternet: it is, except you don't have to access a hash for that to work
17:12 BrokenRobot m: use Test; my $s = "is"; my &another-is = ::("&" ~ $s); another-is 2, 3 # stevieb <-- you can store the look up in a var too
17:12 camelia rakudo-moar 7b2710: OUTPUT«not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: '3'␤#      got: '2'␤»
17:12 timotimo as in, the enum exports its symbols for you. if you have consts you'll also be able to export these extra names
17:12 hahainternet timotimo: you mean declare a const 'A' or similar? that'd work but i am happy with the hash lookup, just wondered if there was any facility i missed
17:13 hahainternet ilmari: i do like postgres' type system limited as it is, it makes things 'strong enough'
17:13 timotimo const A = ALPHA; const B = BETA; ...
17:13 cognominal m: sub a(int $a is rw ) { say $a.VAR }; my int $a; a($a)
17:13 camelia rakudo-moar 7b2710: OUTPUT«0␤»
17:13 hahainternet timotimo: i'm with you, yeah that doesn't offer any giant advantage for me, i'll stick with the simple hash which does the job
17:13 hahainternet thanks for the thoughts though
17:14 BrokenRobot Maybe Map a better type, since it's immutable?
17:14 cognominal btw, a suboptimal error message...
17:14 cognominal m: sub a(int $a is rw ) { say $a.VAR };  a(0)
17:14 camelia rakudo-moar 7b2710: OUTPUT«Expected a native int argument for '$a'␤  in sub a at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:14 hahainternet BrokenRobot: merci, exactly the info i want :)
17:14 timotimo ah, yes, it should complain it's not read-write
17:15 hahainternet i'm evangelising perl6, and i have to add the caveat that i've no idea what i'm talking about half the time :D
17:15 timotimo cognominal: i'm working on a fix right now
17:15 cognominal timotimo, sorry I missed it
17:16 cognominal exactly what I wanted. timotimo++
17:16 cognominal I needed the .WHAT, silly me.
17:17 timotimo is it "modifiable" or "modifyable"?
17:17 timotimo i think the former
17:17 cognominal me too
17:17 geekosaur the former
17:17 timotimo good
17:17 hahainternet 'mutable', just to annoy people
17:18 timotimo the commit just landed and is now open for more bikeshedding
17:19 cognominal timotimo++
17:19 ilmari muteable
17:20 timotimo cognominal: pretty much everything deconts, that's why you get the value in the container rather than the container itself when you say it
17:20 timotimo zefram has a ticket open about it, but i haven't had the energy to properly address his concerns
17:20 hahainternet ilmari: mutateable :)
17:20 * ilmari mutes hahainternet
17:21 * hahainternet mutates
17:21 ilmari as long as you dont metastasize
17:21 * timotimo muus
17:21 hahainternet ilmari: isn't that the principle purpose of life?
17:21 hahainternet we call it something nicer though, 'childbirth'
17:21 timotimo please don't do it publically on the #perl6 irc, though
17:21 hahainternet s/principle/principal?
17:22 hahainternet my grammar is poor
17:22 cognominal Can we have multiple level of containers, like multiple pointer indirection in C. Does that even make sense?
17:22 cognominal I want to make slides about boxing and containers but I don't master the suject. :(
17:23 timotimo it should be possible if you write MAST directly, but not when you write perl6 code
17:23 timotimo i'm not sure if you can do it if you write nqp code. perhaps you can.
17:23 timotimo you'll have to be very careful, though
17:24 cognominal ok.
17:25 cognominal timotimo, do you have a similar example for proxies ?
17:25 timotimo that's because rakudo pretty much deconts everywhere
17:25 timotimo let me quickly whip one up
17:25 timotimo m: my $foo := Proxy.new(FETCH => -> | { "yo" }); say $foo.VAR.WHAT; say $foo
17:25 camelia rakudo-moar 7b2710: OUTPUT«Required named parameter 'STORE' not passed␤  in block <unit> at <tmp> line 1␤␤»
17:26 timotimo m: my $foo := Proxy.new(FETCH => -> | { "yo" }, STORE => -> | { }); say $foo.VAR.WHAT; say $foo
17:26 camelia rakudo-moar 7b2710: OUTPUT«(Proxy)␤yo␤»
17:26 timotimo m: my $foo := Proxy.new(FETCH => -> | { "yo" }, STORE => -> | { }); say $foo.VAR.perl
17:26 camelia rakudo-moar 7b2710: OUTPUT«Str.new␤»
17:26 timotimo ^- see how the .perl method also deconts?
17:26 cognominal yes
17:26 timotimo WHAT doesn't because it's not an actual method
17:26 timotimo it behaves a bit like a macro, but it's actually implemented as a special case in the grammar if i'm not mistaken
17:27 cognominal yes, that's a compile time generated code.
17:27 firstdayonthejob joined #perl6
17:28 timotimo oh
17:28 timotimo could someone do me a big favor and rip out @*INC from GTK::Simple::NativeLib? it's used on windows to find the .dll files it downloads during Build.pm
17:28 timotimo it should instead be using %*RESOURCES
17:28 timotimo but i've never worked with %*RESOURCES, and i don't have a windows machine handy to test that stuff
17:30 cognominal https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L5240   # here the code generator for .WHAT
17:32 BrokenRobot m: -> $x is rw {}(1)
17:32 camelia rakudo-moar 053729: OUTPUT«Parameter '$x' expected a writable container, but got Int value␤  in block <unit> at <tmp> line 1␤␤»
17:32 BrokenRobot timotimo: FWIW ^ other errors call it "a writeable container" not modifiable Foo
17:33 timotimo ah!
17:33 timotimo in this case it's not really a container as the user would understand it
17:33 timotimo after all, they declare "my int $foo" in order to not have a container
17:34 BrokenRobot Ah
17:34 parabolize topics shall for evermore be known as 💩 if they are generally disgusting or the_goddamnit if they are forgettable
17:35 timotimo so i'm not sure "writable container" is the best wording here
17:37 BrokenRobot I find it amusing that we have a poop emoji, yet Unicode Consortium rejected the rifle one.
17:37 mspo BrokenRobot: agreed
17:37 mspo there is tons of weird stuff in there
17:37 BrokenRobot And man shooting a gun was one of the rejected too, wasn't it? I wonder what they'll say for man throwing poop
17:37 mspo is't :gun: already a thing anyway?
17:37 BrokenRobot Yeah
17:38 mspo I only use custom king of the hill emoji anyway :)
17:38 mspo :boomhauer:
17:38 pmichaud good afternoon, #perl6
17:38 parabolize its worth a try. I would use it incessantly on irc
17:39 cognominal the rifle emoji was part of an olympic serie but google or Apple strongly objected.
17:39 timotimo is there also a "stabbing with knife" emoji that you can combine with the different "person" emoji?
17:39 mspo guess you have to use :skier: :gun:
17:39 timotimo "adult male stabbing young child"
17:40 cognominal I think the character will be there but without a associated glyph
17:40 mspo timotimo: is that an olympic sport now?
17:40 girafe joined #perl6
17:40 timotimo could be!
17:40 lizmat joined #perl6
17:41 cognominal Probably a good way to make a pedagogic distinction between the character and its glyph.
17:41 * timotimo AFK
17:42 cognominal not yet a unicode proposal for unicode composition ?
17:42 cognominal s/unicode/emoji/
17:42 cognominal s:2nd/unicode/emoji/
17:46 BrokenRobot m: '䘕'.uninames.say
17:46 camelia rakudo-moar 053729: OUTPUT«(<CJK Ideograph Extension A>)␤»
17:46 BrokenRobot "Unicode Han Character 'prostitute, a trade; an occupation; a profession' (U+4615)"
17:48 mspo cognominal: great idea
17:48 cognominal mspo: not so sure but bound to happen someday
17:49 hahainternet doesn't it already work to some extent?
17:49 hahainternet damian's yapc talk showed something along those lines
17:50 hahainternet i believe showing two men kissing vs the alternatives, but i'd have to go back and re-watch
17:50 dha joined #perl6
17:50 BrokenRobot I don't think that's in Rakudo. Wasn't that still an unfinished spec?
17:51 mr-foobar joined #perl6
17:53 uniejo joined #perl6
17:53 spider-mario joined #perl6
17:53 cognominal two men and cat in quantum superposition within a box ?
17:53 parabolize heh, that was a cool talk
17:53 cognominal probably not legal in every state
17:54 hahainternet ah no sorry it was ricardo's talk
17:54 hahainternet https://www.youtube.com/watch?v=gmmVGPdcItM#t=20m
17:54 hahainternet (and in perl5)
17:54 cognominal especially with cyanure involved
17:57 mspo m: Ⅲ+Ⅷ.print
17:57 camelia rakudo-moar 053729: OUTPUT«WARNINGS for <tmp>:␤Useless use of "+" in expression "Ⅲ+Ⅷ.print" in sink context (line 1)␤8»
17:57 BrokenRobot precedence
17:58 cognominal Is larry talking in an hour. I don't want to miss the feed
17:58 mspo m: (Ⅷ + Ⅷ).say
17:58 camelia rakudo-moar 053729: OUTPUT«16␤»
17:59 hahainternet the only scheduled livestream listed was for the Q&A in 90 mins i think, but please let me know if you know more cognominal
17:59 mspo who decided that should work? :)
17:59 hahainternet mspo: the unicode consortium i guess
17:59 timotimo anything that has a unival can be used as numbers
18:00 BrokenRobot m: say $_ %% Ⅴ*Ⅲ ?? 'Fizz Buzz' !! $_ %% Ⅲ ?? 'Fizz' !! $_ %% Ⅴ ?? 'Buzz' !! $_ for ^Ⅹ*Ⅹ
18:00 camelia rakudo-moar 053729: OUTPUT«Fizz Buzz␤1␤2␤Fizz␤4␤Fizz Buzz␤Fizz␤7␤8␤Fizz␤Fizz Buzz␤11␤Fizz␤13␤14␤Fizz Buzz␤16␤17␤Fizz␤19␤Fizz Buzz␤Fizz␤22␤23␤Fizz␤Fizz Buzz␤26␤Fizz␤28␤29␤Fizz Buzz␤31␤32␤Fizz␤34␤Fizz Buzz␤Fizz␤…»
18:00 hahainternet that would be beautiful if not for the poor font rendering in my terminal :(
18:00 mspo m: say ↂ + ⅿ
18:00 camelia rakudo-moar 053729: OUTPUT«11000␤»
18:00 cognominal hahainternet, https://www.youtube.com/watch?v=O8ZmqhaqaYw yea, there is even a count down
18:01 BrokenRobot m: my %h = :ↂ foo, :ⅿ bar; say %h
18:01 camelia rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed initializer␤at <tmp>:1␤------> 3my %h = :7⏏5ↂ foo, :ⅿ bar; say %h␤    expecting any of:␤        colon pair␤»
18:01 mspo BrokenRobot: that belongs on the resumé
18:01 hahainternet cognominal: i didn't know if that was the full session or not, i'm not really following too closely
18:03 BrokenRobot mspo: trust me, I don't want to work for any company that evuates their developers based on whether they can do FizzBuzz :)
18:03 hahainternet i just finished a perl test for a company, it was a card game one, nothing exciting really
18:03 hahainternet had another test which was to make a simple webpage for retrieving from a REST API, that was a pretty good test
18:04 mspo make a web page for retrieving from a rest api?
18:04 mspo so a web page that calls another web page?
18:04 hahainternet a webpage that aggregates some stats from an upstream page
18:04 mspo okay
18:05 hahainternet it was all json so it's fair to call it an API imo
18:05 BrokenRobot Last one I had was a GUI for data + upload from CVS file with very little details given to judge how you can make decisions.
18:05 hahainternet but it was a nice freeform test, so i could show off a little bit
18:05 * BrokenRobot had a JS injection vuln in that thing by mistake >_<
18:05 mspo the real trick is good timeouts when you are gathering from other places
18:05 hahainternet mspo: i used Go but didn't have time to add cancellation support from the start using contexts :(
18:06 cognominal I have a questionning for TimToady Larry Wall btw. Can you forward to him? There is a rakudo release every month. I don't know the version numbers. Some (Many?) linux include the december 2015 rakudo which is sloooow. When will it be time to trumpet a better rakudo even if still 1.0. When better jit has landed ?
18:06 hahainternet but i showed off a bit by implementing background workers and dispatching in parallel for paginated replies
18:06 BrokenRobot .tell TimToady message for you: http://irclog.perlgeek.de/perl6/2016-06-22#i_12713791
18:06 yoleaux BrokenRobot: I'll pass your message to TimToady.
18:06 hahainternet cognominal: diwali i think is the next milestone of note
18:06 BrokenRobot cognominal: just use .tell command :)
18:06 hahainternet but rakudo is its own project
18:07 BrokenRobot cognominal: the versions follow YYYY.MM pattern
18:07 pmichaud cognominal: what problem is it you're really wanting to solve there?
18:07 BrokenRobot cognominal: for compiler, not the language.
18:08 BrokenRobot I'd imagine 2016.06 rakudo is way faster than 2015.12
18:08 cognominal pmichaud linux distributions giving a stale aka sloooow rakudo version.
18:08 pmichaud we don't get to tell the linux distros which version of rakudo to package
18:08 dupek joined #perl6
18:08 pmichaud that's really up to them.  We always advise that they should package the most recent star release
18:08 cognominal but we can trumpet we are way faster than in december
18:09 pmichaud trumpet where?  how?
18:09 pmichaud at least for debian, they already know that later versions are way faster than the one they have
18:09 cognominal I think this QA can be a good occasion.
18:10 BrokenRobot cognominal: here are some speed charts: http://tux.nl/Talks/CSV6/speed4.html
18:10 BrokenRobot That's not for the whole language just a CSV module.
18:11 pmichaud here's where rakudo packaging for debian stands:  https://packages.debian.org/search?keywords=rakudo
18:11 cognominal And the question of versionning is not clear to me. Do we support module versionning as well.
18:11 BrokenRobot As for trumpeting, we avoid anouncing Rakudo releases to avoid confusion and only do Rakudo Star. This means the latest trumpeting would be about 2016.04 Rakudo Star, despite many speed improvements that landed since then
18:12 BrokenRobot m: use Test:ver<4343>
18:12 camelia rakudo-moar 053729: OUTPUT«===SORRY!===␤Cannot resolve caller Numeric(Version: ); none of these signatures match:␤    (Mu:U \v: *%_)␤»
18:12 BrokenRobot :S
18:12 BrokenRobot m: use Test:ver<v4343>
18:12 camelia rakudo-moar 053729: OUTPUT«===SORRY!===␤Could not find Test:ver<v4343> at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUni…»
18:12 pmichaud it looks as though debian is currently packaging 2016.05 ... ?
18:13 cognominal I think I was looking manjaro when I saw a stale rakudo
18:13 mspo did the build ever grow destdir support for the build-time dependencies of nqp and moar?
18:13 mspo if so I will restart getting into pkgsrc
18:13 BrokenRobot I got Version: 2014.07-4 in my repos :/
18:14 ilmari BrokenRobot: that's i debian stable
18:14 BrokenRobot Ah
18:14 perl-lover hi
18:14 perl-lover ;)
18:14 pmichaud cognominal: you can certainly talk to packagers and suggest they upgrade to later rakudos.  My general feeling is to encourage whatever release corresponds to star (because there we have some feeling that modules work with that version of rakudo)
18:14 ilmari which only gets security and critical bugfixes once it's released
18:14 * BrokenRobot didn't know that
18:14 cdg joined #perl6
18:15 cognominal pmichaud, ok
18:15 pmichaud I wouldn't expect packagers to keep up with bleeding rakudo... that's not normal for any language.
18:16 ilmari pmichaud: .06 has been out less than a week. but .05 was packaged only 4 days after it was released upstream
18:16 ilmari no, 9 days
18:16 mspo if the build is easy then packagers will do a better job keeping things up to date :)
18:16 cognominal so manjaro, if my memory serves me well, is not representative
18:17 ilmari .04 was packaged 6 days after the release
18:17 pmichaud mspo: agreed completely... I've always held that if packagers will tell us what we can do to make their lives easier, we'll do it (if we can)
18:17 pmichaud that doesn't always mean that we can, unfortunately.
18:17 mspo pmichaud: don't try to install/rely on system-global nqp during moar build
18:17 mspo or whatever the dependency tree is/was
18:17 BrokenRobot .06 has issues with generating an .rpm
18:17 pmichaud mspo: that's one where we currently can't fix that
18:17 mspo :)
18:18 pmichaud precompiled-modules aren't currently transportable across instances of nqp
18:18 ilmari mspo: are you trying to package all of moar, nqp and rakudo as one package?
18:18 mspo ilmari: yes, the rakudo star package, aliases to lang/perl6
18:19 mspo I don't really get why nqp is its own thing
18:19 BrokenRobot mspo: you can build things other than Perl 6 compiler with it
18:19 mspo is it acceptable to develop things directly in nqp?
18:19 ilmari debian does it as separate packages, and nqp Build-Depends: moarvm-dev, and rakudo Build-Depends moarvm-dev and nqp
18:20 nine BrokenRobot: the .rpm issue seems to have been a one time fluke
18:20 BrokenRobot Ah. Awesome!
18:20 domidumont joined #perl6
18:20 mspo I recall some drama about a pod parser in nqp
18:21 mspo ilmari: yeah that's how we will do it once there is round-tuits from someone(tm) (me, probably)
18:21 nine pmichaud: I'm not sure if we still need star for module compatibility. We do try to stay compatible with 2015.12 as much as possible.
18:21 ilmari does rakudo need the moarvm headers to build?
18:21 mspo ilmari: but then we are making our own "rakudo star" and have to just track it sort of manually
18:21 mspo ilmari: rakudo calls moar during the build
18:22 uniejo joined #perl6
18:23 cognominal joined #perl6
18:24 pmichaud I have always positioned nqp as "it's completely normal to develop things here"
18:24 nine ilmari: I'm quite sure, yes.
18:24 mst pmichaud: I didn't parse that
18:24 pmichaud I see NQP as being more than simply "a language for creating Perl 6".  It's designed and intended to eventually host other languages as well
18:24 ilmari mspo: yeah, but I'd have thought just the binary to run bytecode files. moarvm-dev is just the headers (/usr/include/moar/*)
18:25 nine ilmari: src/vm/moar/ops/perl6_ops.c includes moar.h
18:25 freezerburnV What's the proper way to create a process that persists after the perl6 process has quit?
18:25 mst pmichaud: ah, so, you're sorrrrt of regarding it as an asm.js ?
18:25 pmichaud I don't know what asm.js is
18:25 mst except rather more amenable to manual implemenattion
18:25 acrussell joined #perl6
18:26 pmichaud to me, nqp is largely what parrot was trying to be
18:26 pmichaud it's a platform for developing multiple HLLs that can then be run on multiple backends
18:27 jdv79 except parrot only had one backend ever, right?
18:27 nine Well parrot was the backend :)
18:28 ilmari nine: I see tools/build/Makefile-Moar.in adds -I$(PREFIX)/include/dyncall, but I don't see any actual references to dyncall elsewhere
18:29 ilmari nine: ah, but moar.h includes dyncall.h, so it needs that in the include path
18:30 cognominal joined #perl6
18:34 _mg_ joined #perl6
18:34 FROGGS joined #perl6
18:36 brrt joined #perl6
18:37 |2321 joined #perl6
18:48 zacts joined #perl6
18:48 perl-lover joined #perl6
18:51 z8 joined #perl6
18:52 BrokenRobot How can I build an older rakudo commit from a checkout? It seems to still be using latest and greatest nqp/moarvm versions. I see this in the make log "Using /tmp/tmp.kAwzO2rhvR/rakudo/install/bin/nqp-m (version 2016.06 / MoarVM 2016.06)" and it fails with "failed to load library 'dynext/libperl6_ops_moar.so'"
18:52 nine BrokenRobot: run config.sh before make
18:53 nine BrokenRobot: if that doesn't work, you need to manually install an older nqp/moar
18:53 nine BrokenRobot: or wipe your install directory
18:53 moritz BrokenRobot: if you clean out install/ (and thus the "older" newest nqp/moarvm), then Configure.pl --gen-moar will build the corresponding versions for you
18:54 BrokenRobot Ah. Thanks!
18:54 cognominal m: my buf $buff
18:54 camelia rakudo-moar 053729: OUTPUT«5===SORRY!5===␤Type 'buf' is not declared. Did you mean 'Buf'?␤at <tmp>:1␤------> 3my buf7⏏5 $buff␤Malformed my␤at <tmp>:1␤------> 3my7⏏5 buf $buff␤␤»
18:54 BrokenRobot Check it out :) https://twitter.com/unicode/status/745677089760698368
18:55 BrokenRobot \o/ butterfly is sponsored :)
18:57 BrokenRobot And they even managed to misspell my name on the adoption list rofl: http://unicode.org/consortium/adopted-characters.html#g1F98B
18:57 telex joined #perl6
18:58 hahainternet BrokenRobot: doh!
19:01 timotimo zol-fix
19:03 timotimo will we get a "sponsorship" module for unicode that exposes this list?
19:06 cognominal timotimo, another question. The specs talk about types like buf, but they exists only in the spec. Is there unboxed types in Perl 6 besides int and num ?
19:07 timotimo m: say buf
19:07 camelia rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    buf used at line 1␤␤»
19:07 xtreak joined #perl6
19:07 addison joined #perl6
19:07 cognominal m: my num $i = 1.1
19:07 camelia rakudo-moar 053729: OUTPUT«This type cannot unbox to a native number: P6opaque, Rat␤  in block <unit> at <tmp> line 1␤␤»
19:07 cognominal m: my num $i = 1.1.Num
19:07 camelia rakudo-moar 053729: ( no output )
19:07 timotimo buf isn't really "unboxed", it's "unboxing"
19:07 setty2 joined #perl6
19:07 timotimo like my int @foo has integers in a tightly packed array
19:08 timotimo Buf is actually very much like a buf would be, i expect
19:09 cognominal I don´t get the unboxed versus unboxing
19:09 BrokenRobot cognominal: there's int8, int16, int32, int64, same for num
19:09 BrokenRobot there's also str
19:10 timotimo cognominal: well, when you have an array of Int, you'll have scalar containers on top of Int objects
19:10 cognominal my int8 $i = 0
19:10 timotimo with an array of int, you've got only ints in it
19:10 cognominal m: my int8 $i = 0
19:10 camelia rakudo-moar 053729: ( no output )
19:10 BrokenRobot Oh and uint
19:10 BrokenRobot (and uint8 ... and so on)
19:10 timotimo oh, hold on a minute, my num $i = 1.1 should tell you to try .Num on it
19:10 timotimo m: my Num $foo = 1.1
19:10 camelia rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot assign a literal of type Rat (1.1e0) to a variable of type Num. You can declare the variable to be of type Real, or try to coerce the value with 1.1e0.Num or Num(1.1e0), or just write the value as 1.1…»
19:10 timotimo ah, only for the capitalized versions it seems
19:11 timotimo we should make that also work with the native versions
19:11 cognominal beside integers, string and nums. Is there anything that is available in the unboxed (that is non OO form)
19:11 timotimo you want the term "native", probably
19:11 cognominal yea
19:11 timotimo there's plans for native Complex, but no implementation
19:11 timotimo not sure about rat vs Rat
19:19 |2321 was kicked by mst: |2321
19:20 cyphase joined #perl6
19:20 mst (user repeatedly abused people including homophobic slurs in assorted channels, just /msg-ed them to try and deal with it got 'you know I got your dox fagboi', ran out of patience)
19:20 timotimo "your dox"?
19:20 timotimo i know "doxxed" or "to dox", but "a dox"?
19:20 BrokenRobot .oO( dox? )
19:20 timotimo anyway, AFK for dinner reasons
19:20 mst it means "I could publish your details if I wanted to"
19:21 mst of course, as a director and shareholder of shadowcat, Companies House already did
19:21 BrokenRobot heh
19:21 timotimo since you're not a women, i'm pretty sure you won't have many people trying to murder or rape you when your details get out there
19:21 lizmat joined #perl6
19:21 timotimo so ... yay i guess?
19:22 kid51 joined #perl6
19:22 vendethiel Q&A time!
19:23 khw joined #perl6
19:29 acrussell joined #perl6
19:29 smls joined #perl6
19:30 hahainternet haha someone unplugged the stream D:
19:30 smls m: my \term = 42; say term\ .Str
19:30 camelia rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '&term' is not declared␤at <tmp>:1␤------> 3my \term = 42; say 7⏏5term\ .Str␤»
19:30 cognominal Not even Chartreuse
19:30 smls ^^ Sigil-less terms do not like unspace after them...
19:30 smls Is it a parser bug, or a known limitation?
19:31 hahainternet smls: probably the worst time to ask!
19:31 BrokenRobot Why?
19:31 hahainternet there's a room full of people not ircing that would normally help
19:32 hahainternet BrokenRobot: https://www.youtube.com/watch?v=O8ZmqhaqaYw
19:32 BrokenRobot Doesn't mean anyone else can't help :)
19:32 * BrokenRobot can't watch youtube ATM
19:32 hahainternet BrokenRobot: it's just the livestream of yapc for context
19:33 vendethiel whoops, no mic?
19:36 hahainternet vendethiel: i've got it compressed and you can hear larry clearly, so just turn it up and pray nobody claps :)
19:36 BrokenRobot sub foo ($c) { say $c }; foo \(4)
19:36 BrokenRobot m: sub foo ($c) { say $c }; foo \(4)
19:36 camelia rakudo-moar 053729: OUTPUT«\(4)␤»
19:36 BrokenRobot m: sub foo ($c) { say $c }; foo\(4)
19:36 camelia rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo() will never work with declared signature ($c)␤at <tmp>:1␤------> 3sub foo ($c) { say $c }; 7⏏5foo\(4)␤»
19:37 BrokenRobot smls: I'd say it's a bug. The spec says "Any contiguous whitespace (including comments) may be hidden from the parser by prefixing it with \"
19:37 smls Ok, I'll submit an RT.
19:37 BrokenRobot m: say 1+3\      i
19:37 camelia rakudo-moar 053729: OUTPUT«1+3i␤»
19:45 AlexDaniel joined #perl6
19:46 AlexDaniel .
19:46 yoleaux 12:51Z <BrokenRobot> AlexDaniel: An awesome feature for bisectable would be ability to give a gist with multiple files and it test with those files. /me trying to hunt down a precomp bug ATM :)
19:46 AlexDaniel BrokenRobot: you can always give me some files and I'll run it for you
19:46 BrokenRobot AlexDaniel: well, do you have Inline::Perl5 installed?
19:47 AlexDaniel BrokenRobot: uh… does it mean that I have to install Inline::Perl5 for every build? :D
19:47 BrokenRobot It's specifically a bug having to do with using a P5 and P6 modules in the same module
19:47 lizmat AlexDaniel: probably, yes
19:47 AlexDaniel /o\
19:47 BrokenRobot AlexDaniel: ah, don't worry about it then :) I'm narrowing it down it nicely already
19:47 AlexDaniel ok
19:47 BrokenRobot AlexDaniel: not only Inline::Perl5 but also some ecosystem module :D
19:48 BrokenRobot It doesn't happen with just adding one P6 module by hand :P
19:48 AlexDaniel well, for such complex cases I think that it's better to bisect it yourself
19:48 BrokenRobot Yeah
19:48 AlexDaniel even though it will take more than an hour probably
19:48 BrokenRobot There's probably a saner way that what I'm doing right now :)
19:48 * BrokenRobot never used "bisect"
19:49 xenowoolfy joined #perl6
19:49 hahainternet BrokenRobot: the git facility? it's pretty straightforward
19:49 AlexDaniel BrokenRobot: try it, it's pretty easy
19:49 BrokenRobot I don't like learning things /o\
19:49 uniejo joined #perl6
19:50 BrokenRobot I narrowed it down to 67 commits already :P
19:50 * BrokenRobot & # commute
19:55 masak BrokenRobot: I highly recomment (a) git bisect, (b) liking learning things ;)
19:55 masak recommend*
19:57 xdg joined #perl6
19:58 timeless jnthn: hey...
19:58 timeless https://github.com/jnthn/rakudo-debugger/blob/master/lib/Debugger/UI/CommandLine.pm#L167
19:59 xdg Hi.  I just tried updating rakudo with "rakudobrew build moar" and got this error: https://gist.github.com/xdg/094377d4455766590ecec81b2c3dafb4
19:59 timeless why does that file `use nqp` twice?
19:59 xdg (I did update rakudobrew first)
19:59 xdg Any suggestions?
20:00 moritz looks like a busted installation
20:00 xdg so... blow away .rakudobrew and start over?
20:01 moritz that's what I'd do, yes
20:01 moritz no idea if there are less invasive approaches
20:03 xdg trying that now
20:03 timeless m: for $b ('1 2 3' ~~ /\d/) { say $b; }
20:03 camelia rakudo-moar fd98fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤This appears to be Perl 5 code␤at <tmp>:1␤------> 3for 7⏏5$b ('1 2 3' ~~ /\d/) { say $b; }␤»
20:03 jdv79 or dont use rakudobrew:)
20:04 uniejo joined #perl6
20:05 ZoffixMobile joined #perl6
20:05 xdg jdv79, that's not a helpful response unless you offer an alternative
20:06 nine xdg: unless you are a developer who needs several parallel rakudo installations, rakudobrew is not the right tool
20:06 timeless m: for ('1 2 3' ~~ /\d/:g) -> my $a { say $a }
20:06 camelia rakudo-moar fd98fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤You can't adverb ␤at <tmp>:1␤------> 3for ('1 2 3' ~~ /\d/:g7⏏5) -> my $a { say $a }␤    expecting any of:␤        pair value␤»
20:07 nine xdg:         self!resources-dir.child($dist<files>{$prefix ~ $key})
20:07 moritz m: for '1 2 3.comb(/\d/) -> $a { say $a } # for timeless
20:07 camelia rakudo-moar fd98fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in single quotes; couldn't find final "'" ␤at <tmp>:1␤------> 3mb(/\d/) -> $a { say $a } # for timeless7⏏5<EOL>␤    expecting any of:␤        single quotes␤        …»
20:07 moritz m: for '1 2 3'.comb(/\d/) -> $a { say $a } # for timeless
20:07 camelia rakudo-moar fd98fc: OUTPUT«1␤2␤3␤»
20:07 timeless nine: that might be the case, but i've yet to see a decent "here's how to get perl6" on a non standard system (e.g. mine ppc64le)
20:07 ZoffixMobile masak, (just looked up bisect) it's basically the same as I were doing, except my method is better because (a) since I know what are the bug is in, I can choose the bisecting commit more intelligently; (b) I can blow away the repo and still continue my manual bisect :)
20:07 timeless moritz: thanks
20:08 nine xdg: git clone https://github.com/rakudo/rakudo.git && cd rakudo && perl Configure.pl --gen-nqp --gen-moar --backends=moar --make-install
20:08 hahainternet ZoffixMobile: you can automate bisect with a relatively simple script though, which is where its real advantage is
20:08 nine xdg: that's really all you should need
20:08 nine timeless: what's wrong with that ^^^?
20:09 timeless nine: well, for one, that doesn't give you a package manager
20:09 timeless for another, panda didn't build when i tried it :)
20:09 addison joined #perl6
20:09 nine timeless: git clone https://github.com/tadzik/panda.git && cd panda && perl6 bootstrap.pl
20:09 timeless just perl6 alone doesn't get a mortal very far
20:09 ZoffixMobile I'm not in a hurry and each bisect requires me to just adjust the commit sha and re-run the command. I'm failing to see the advantage in this particular complicated case.
20:09 moritz nine: --backends=moar and --gen-nqp are  implied by --gen-moar
20:09 nine moritz: oh thanks :)
20:10 timeless nine: seriously, i tried building panda, it failed, w/ a totally unhelpful error
20:10 timeless (zef built)
20:10 timeless but... my point is that if someone comes along asking for perl6
20:10 nine timeless: may be due to panda using File::Which which uses NativeCall
20:10 timeless the odds are that they want something similar to perl5+cpan
20:11 nine timeless: and I wouldn't be surprised by NativeCall being broken on obscure platforms
20:11 lizmat maybe we want to revert the inclusion of File::Which on panda in the mean time ?
20:11 timeless i pasted the error i got a few weeks back here
20:11 xdg reinstalled rakudobrew worked: This is Rakudo version 2016.06-21-gfd98fc3 built on MoarVM version 2016.06
20:11 nine timeless: yes and two lines pasted in the shell will give them the equivalent to perl5+cpan. You could even put them in a script and have them curl | bash it
20:12 huggable joined #perl6
20:12 ZoffixMobile timeless, those folks should just get latest R*
20:12 * timeless asks brew what its opinion of panda is today
20:13 timeless wow, panda built
20:13 * timeless shrugs
20:13 timeless i suppose i could clean everything out and see if it fails, but at this point, i don't care :)
20:14 timeless the basic help from `panda` is um... not particularly readable
20:14 timeless 'list', 'update', and 'smoke' don't take a list of module names to
20:14 timeless install. 'search' takes a string to search case-insensitively for in the
20:14 timeless database.
20:15 timeless the fact that `install.` gets wrapped to the wrong line is just plain weird.
20:15 timeless --force      Install even if the same version of the module is already installed
20:15 timeless is a much longer line that wasn't wrapped
20:15 timeless ZoffixMobile: in case you want to just fix that :)
20:15 ZoffixMobile timeless: :/
20:16 ZoffixMobile Didn't realize I was your personal code monkey for fixing bugs in software I don't use.
20:16 mst timeless: paste what you got into an issue please so the exact badwrong is recorded?
20:16 xdg is there a simple summary of panda vs zef?  Google failed to find anything insightful.
20:17 * timeless looks for panda's bug tracker
20:17 nine timeless: fix pushed
20:17 timeless nine: thanks :)
20:17 ZoffixMobile github.com/tadzik/panda
20:18 AlexDaniel not sure if anybody mentioned it: https://www.youtube.com/watch?v=O8ZmqhaqaYw
20:18 ZoffixMobile xgd, none that I know of. zef has more features and is in more active development
20:18 xdg ZoffixMobile++
20:21 uniejo joined #perl6
20:21 dha joined #perl6
20:22 adu joined #perl6
20:24 timeless ZoffixMobile: sorry...
20:24 ZoffixMobile :)
20:24 timeless mst: thankfully, a bunch of people here are really fast about fixing things w/ just a line or two on irc
20:25 trnh joined #perl6
20:25 ugexe the biggest difference, other than features/configurability, is that zef will do each step in batches. So it will fetch a module and all its deps, then test all of those modules, *then* install ALL those modules. panda will test then install each dependency before testing/installing the next. fwiw i plan to add an option to zef to allow that style of install, but the batch method makes it easier to add
20:25 ugexe concurrency and also doesn't leave unwanted deps if something upstream fails testing
20:26 mst timeless: yar, I was more thinking 'if it's programmatic line breaking they'll need to see the exact output'
20:26 nine timeless: for the protocol, it would still have been nicer for you to just submit a pull request
20:26 timeless nine: yeah, if i had a good sense of which repo it was in/where it was, i'd do that
20:27 timeless i'm really just trying to write like 3 lines of something else
20:27 timeless otherwise i might never get what i'm doing done
20:27 nine timeless: well I did post the repo URL just 5 minutes before you wrote about the wrong line breaks ;)
20:28 timeless what am i doing wrong w/ perl6-debug ? https://www.irccloud.com/pastebin/NPVRQaL5/
20:29 timeless mst: yeah, you did, sorry... it's also somewhere on my computer in the rakudo space....
20:29 ugexe `zef info <module-name>` will list the bugtracker for a project if one is listed
20:30 * timeless tries `zef info panda`
20:30 ZoffixMobile :o
20:30 timeless wow, impressive
20:31 timeless I suppose i should bug zef about its help https://www.irccloud.com/pastebin/L75YX6DM/
20:32 timeless if i'm using rakudo for zef, do i use zef or rakudobrew to update zef? :)
20:32 timeless zef info zef
20:32 timeless Description:     It's like [cpanm] wearing high heels with a tracksuit
20:32 timeless what's `cpanm`?
20:32 mst timeless: a well loved perl5 module installer
20:32 mst timeless: CPAN, CPANPLUS, cpanm(inus)
20:32 ugexe zef --help, otherwise that usage message you see is generated by rakudo itself
20:32 timeless mst: distinct from `cpan`?
20:33 mst timeless: replacing 'cpan' for most use cases
20:33 nine ugexe: I have a fix for the resources issue with PR 729 :)
20:33 timeless ugexe: oh
20:34 timeless ugexe: ? https://www.irccloud.com/pastebin/O1gzGImI/
20:34 ugexe nine: oh cool. was it related to !file-id() needing to generate a new hash with resource/ prefixed?
20:34 timeless so...
20:34 ugexe timeless: the help is lame, you cannot ask for help on a specific thing. Just `zef --help`
20:34 nine ugexe: no, much much simpler :) Instead of having to add resources/ to the key in method resources, I have to strip it for v1 repos. I just didn't realize that you add the resources/ part already
20:35 timeless ugexe: oh...
20:35 nine ugexe: updated https://gist.github.com/niner/92a8e8e577ba4ebd00cac0af5e2bdbc1
20:35 AlexDaniel timeless: nice to see you again
20:35 AlexDaniel ;)
20:35 timeless AlexDaniel: likewise
20:35 timeless unfortunately, i'm still between jobs
20:36 * timeless is trying to get the perl6-debug -D hooks to do something useful
20:36 AlexDaniel sure, like we all are :)
20:36 * timeless is failing miserably
20:36 nine ugexe: so now there's only the issue with the Makefile left where we still overwrite the version files with a "2" without performing a real upgrade
20:39 tony-o https://travis-ci.org/bbkr/GeoIPerl6
20:39 tony-o why does travis show that as passing in the image but failed in the current tab ? ..
20:40 ugexe because the newest build passes
20:42 tony-o the current tab shows build #8, the api also shows #8
20:43 ugexe nine: cool, and if I understand correctly that just means reverting that part of it altogether?
20:43 wisti joined #perl6
20:43 ugexe Build History shows #9 as the latest
20:43 ugexe so api must be confused
20:44 tony-o yea i see now, the api is just mucking it up
20:44 lizmat battery low&
20:44 tony-o the /builds bit of the api shows it correctly
20:49 sno joined #perl6
20:50 nine ugexe: no because then we would reset the repo version to 1 after a rakudo build even if it has already been upgraded to 2
20:50 AlexDaniel BrokenRobot: by the way, just in case you haven't noticed, the sources for bisectable are here: https://github.com/perl6/bisectbot
20:52 nine ugexe: /win 14
20:53 nine ugexe: fixed in https://github.com/rakudo/rakudo/commit/12568089c2
20:56 tony-o modules.zef.pm will have travis statuses, now - still working on a reporter for zef.  does panda have a way for me to hook into the build/test process so i can send reports ?
20:59 AlexDaniel .oO( hmm… reminds me of http://smoke.perl6.org/report )
21:01 uniejo joined #perl6
21:01 tony-o AlexDaniel: it will be similar, except it will have all of the module information + build reports in one place
21:02 tony-o readme + repository browser + repository link + other modules that meta<auth> has in the ecosystem -
21:05 rurban_ joined #perl6
21:05 tony-o this is the plan, anyway
21:07 timeless perl6-debug-m -D myTrace.pm htmlify.p6 --no-highlight
21:07 timeless Could not find -Ilib at line 1 in:
21:08 timeless AlexDaniel: don't suppose you can explain what that error message means/how to get past it?
21:08 Zoffix left #perl6
21:08 AlexDaniel timeless: unfortunately I have no idea. I've never attempted to use perl6-debug-m :/
21:09 AlexDaniel hm but it looks like some problem with command line arguments
21:11 BooK er so I `panda install`ed some module, and I'm trying to read the docs
21:11 BooK but perl6 --doc Test::META does not seem to cooperate
21:11 TEttinger joined #perl6
21:11 timeless BooK: you might want `p6doc` instead
21:11 timeless mind you, i haven't gotten either to work well
21:12 dha Documentation of p6 modules is... not well standardized.
21:13 timotimo yes :(
21:13 timeless goes the glossary define ALAP?
21:14 timeless ah, it does
21:14 AlexDaniel https://doc.perl6.org/language/glossary.html#ALAP
21:14 AlexDaniel :)
21:16 timeless Post-condition for block
21:16 timeless POST {...} #  assert postcondition at every block exit, after LEAVE
21:16 timeless ^ is it me, or is the inconsistent hyphenation somewhat jarring for others?
21:17 AlexDaniel timeless: sure, it can be fixed
21:17 timeless that's from `p6doc phasers`
21:17 * timeless isn't sure where that comes from
21:18 AlexDaniel timeless: which one do you think is more right?
21:19 AlexDaniel postcondition is right
21:19 AlexDaniel done
21:19 dalek doc: 51a824a | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/phasers.pod:
21:19 dalek doc: Post-condition → Postcondition
21:19 dalek doc: review: https://github.com/perl6/doc/commit/51a824aa0e
21:20 timeless Execution in the context of a block has it's own phases.
21:20 timeless `its` is right
21:20 * timeless looks for a grammar checker for the file
21:20 dalek doc: 68b14e2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/phasers.pod:
21:20 dalek doc: it's → its
21:20 dalek doc: review: https://github.com/perl6/doc/commit/68b14e2482
21:21 AlexDaniel hmmm
21:21 AlexDaniel phases or phasers?
21:22 hahainternet i noticed in damian's talk that $xᵢ and $xⱼ now seem to work, anyone know when that was added? i was whining a few months ago about that and 2² for example, and the latter was added immediately
21:23 mr-foobar joined #perl6
21:23 timeless AlexDaniel: the article /seems/ to think both things exists
21:23 timeless i can't tell if it's correct
21:23 AlexDaniel timeless: it's alright then
21:25 timeless the last instance of `Supply` should probably be C<> or L<> or something... probably C<> ?
21:26 * timeless chuckles @ `p6doc Str.split | tail -20`
21:27 geekosaur hahainternet, if you mean the literal letter subscripts, those work because they're in the Unicode category Letter
21:27 geekosaur *subscript *numbers* were deemed ambiguous
21:30 timeless AlexDaniel: do you see this too? https://www.irccloud.com/pastebin/oeHwkQFA/
21:31 * timeless can't figure out why that would happen
21:31 addison joined #perl6
21:31 hahainternet geekosaur: i'm sure that that didn't work previously, but perhaps i was doing things incorrectly
21:32 timeless AlexDaniel: also, there's a space missing after the `,` in https://doc.perl6.org/language/glossary#JIT
21:32 * timeless could fix but really wants to fight the debugger
21:32 geekosaur star: my $xⱼ
21:32 camelia star-m 2016.04: ( no output )
21:33 AlexDaniel timeless: hmmm I hate it when there's no space after a comma
21:33 AlexDaniel timeless: OK I'll grep for more things like this
21:33 timeless thanks
21:33 timeless that's definitely something we should automate
21:33 AlexDaniel you mean, add tests for that?
21:33 timeless yeah
21:34 timeless p6doc -l |xargs -n1 p6doc |less
21:34 timeless ?
21:34 AlexDaniel yup, I'm all for it. But right now you'd probably have to separate text from code examples somehow. Sure that is possible with pod parser, someone just has to do this
21:34 geekosaur wonder if there's more than one such character for some reason. the one I used lives in Latin Extended-C
21:35 AlexDaniel what kind of tests do we have now by the way
21:35 timeless dunno
21:36 AlexDaniel timeless: hmm there are no such tests right now
21:36 geekosaur doesn't look like it, at least for ⱼ
21:36 AlexDaniel there are some tests for pod stuff and for typegraph, but these are not about the text content
21:38 xdg left #perl6
21:39 AlexDaniel timeless: it looks like I don't have p6doc installed the same way, so I can't run it with Str.split :/
21:40 timeless p6doc -l|xargs p6doc | perl -n https://www.irccloud.com/pastebin/FeHTpKhu/
21:40 timeless that seems to get a reasonable ish output
21:40 timeless the code blocks like to not include space after comma, which is definitely annoying
21:40 timeless I suppose it could look for [a-z],
21:41 timeless since if it's a number of UPPERCASE, it's not a word
21:41 timeless anyway, i'm not sure i found any other cases
21:43 AlexDaniel timeless: usually I just do something like grep -PR ',\w' * | less
21:44 AlexDaniel which gives a lot of code blocks but… the output is not that huge, I can handle that
21:44 * timeless nods
21:44 AlexDaniel though I'm not sure why people don't put spaces after commas in code
21:44 timeless i'd be tempted to ask
21:44 timeless because it'd make this much easier :)
21:44 AlexDaniel dd @twodim[0,1;1] – it's probably OK in cases like this one
21:46 timeless yeah..
21:47 * timeless can't parse that, but, it's clearly code
21:52 masak timeless: maybe I can help. it says "index @twodim in two dimensions. the first dimension has the values 0 and 1. the second dimension has the value 1."
21:53 masak so, for a matrix @twodim such as [[1, 2, 3], [4, 5, 6]], the indexing would capture [[2], [4]], I guess
21:53 masak er, [[2], [5]], I mean
21:56 timeless masak: thanks...
21:56 timeless tbh, i'm more interested in how to get perl6-debug-m -D myTrace.pm ... to run
21:58 Zoffix joined #perl6
21:58 timotimo what's -D?
22:00 timeless timotimo: odd, it's undocumented?
22:01 timotimo maybe? i dunno
22:01 timeless https://github.com/Altai-man/perl6-Devel-Trace
22:01 timeless You can invoke tracer like perl6-debug-m -DDevel::Trace example.p6.
22:01 timotimo neat. is that much like "use trace"?
22:02 timotimo probably a bit better, i guess :)
22:02 Zoffix left #perl6
22:04 timeless oh
22:06 * timeless sighs
22:07 timotimo ah, it uses the debug hooks
22:07 timotimo that's good
22:07 timeless so, i can't figure this out
22:09 timotimo how does it fail?
22:09 timeless like this (more or less) https://www.irccloud.com/pastebin/Qr799RMA/
22:10 timotimo you did install it?
22:10 timotimo and can you "use myTrace"? or -MmyTrace from a regular script without -debug?
22:10 timeless ok
22:11 timeless by moving it into a local `lib/` directory instead of ~/.perl6, i got it to do something
22:11 timotimo right, inside ~/.perl6 it'd have to be installed rather than be copied over, i think
22:17 timeless you can't adverb? https://www.irccloud.com/pastebin/UPmCOBaB/
22:18 timotimo adverbs go in the front of regular expressions
22:18 timotimo s:g/.../.../
22:18 timeless could the error be changed to say that?
22:19 timotimo it's definitely LTA
22:19 timotimo please file a rakudobug
22:20 rgrinberg joined #perl6
22:20 * timeless asks zef for the info about perl6 to get the bugtracker -- and fails
22:21 timotimo oh
22:21 timotimo it's rakudobug@perl.org
22:21 timeless oops, i needed to eat dinner 20 mins ago
22:21 * timeless is almost late to something
22:21 timotimo oh!
22:21 timotimo bon appetit
22:22 timeless here's the script i'm using (it doesn't work) https://www.irccloud.com/pastebin/B2dCL6m8/myTrace.pm
22:22 timeless perl6-debug-m -DmyTrace htmlify.p6 --no-highlight
22:22 timeless as long as it's in lib/
22:23 timotimo i didn't realize it'll look in lib/ without -Ilib
22:23 timotimo you should make extra sure you're loading the version of the script you're editing
22:27 lizmat joined #perl6
22:38 masak 'night, #perl6
22:39 hahainternet nn masak
22:39 skids joined #perl6
22:43 timotimo in method sink-all at /home/timo/perl6/install/share/perl6/runtime/./CORE.setting.moarvm line 1
22:43 timotimo whhhyyyyy ;(
22:45 timotimo aaah, with .full i get the lines, yay
22:46 timotimo ah, the Num comes from the lines() iterator, which can have an Inf in it
22:48 lambd0x joined #perl6
22:50 lambd0x Hi everyone! Does anyone know When will the Rakudo Perl compiler be able to generate an executable bytecode file?
22:59 tbrowder ref  docs: functions
23:01 AlexDaniel huggable: dunno
23:01 huggable AlexDaniel, ¯\_(ツ)_/¯
23:01 AlexDaniel lambd0x: ↑
23:02 AlexDaniel lambd0x: by the way, why?
23:02 snarkyboojum joined #perl6
23:07 lambd0x AlexDaniel: I coding something and noticed that as rakudo perl is kinda new, most distros, might not ship it updated or even not ship it yet.
23:08 AlexDaniel lambd0x: yeah, but an executable bytecode file still means that you should have rakudo installed, right? :)
23:08 AlexDaniel what you probably want is bundle rakudo with your program…
23:09 AlexDaniel which at this moment is not possible because rakudo hardcodes some of the installation paths :(
23:09 lambd0x :(
23:10 tbrowder Today, I, as a newbie to p6, learned that a sub may be declared as "sub foo($a, $b){}" [no space before '('] or "sub foo ($a, $b){}" [space before '('] BUT the call must be "foo($a, $b)" because "foo ($a, $b)" is an error since only on arg is seen.  It seems to me that a best practice should be to never have a space between the sub name and any use of an
23:10 tbrowder opening paren whether as a call or a declaration. I see many examples in the docs of space and no space before parens in decls.  In the interests of consistency alone, IMHO, we should not use the "sub foo (" form.  Likewise, the doc Language | "Traps to avoid" needs to mention that incorrect usage.  I'll take a stab at it if there is no objection and I have
23:10 tbrowder stated the situation correctly.
23:11 lambd0x AlexDaniel: thanks
23:13 AlexDaniel lambd0x: maybe we should open a bug report with a title like “rakudo cannot be moved after installation” or something
23:14 AlexDaniel lambd0x: this way it may partially solve your problem… well, some day
23:15 AlexDaniel tbrowder: I've never thought that somebody may call a function with exactly the same spacing as in declaration
23:15 AlexDaniel tbrowder: but you are probably right
23:16 lambd0x AlexDaniel: I saw something in StackOverFlow, an answer to a similar question made in January, explaining that since the MoarVM is kinda premature it'll take sometime but 'll be added to the maintree in the future (seems that it does exist an push suggestion there for such)
23:17 lambd0x AlexDaniel: Hope won't take long.
23:17 AlexDaniel lambd0x: do you have a link to that answer?
23:18 tbrowder m: sub foo ($a, $b){}; foo (1, 2);
23:18 camelia rakudo-moar 09cc2f: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
23:19 AlexDaniel lambd0x: I don't think that anybody is working on this issue. In fact, I think that nobody has it in his top 10 todo-s.
23:19 lambd0x AlexDaniel: https://stackoverflow.com/questions/34663117/how-do-i-create-a-stand-alone-executable-with-perl-6
23:20 AlexDaniel oh, so there was such feature
23:20 AlexDaniel cool
23:21 lambd0x Yes, but with parrot. Since the change from Parrot to Moar.. it has not been updated to work yet.
23:21 lambd0x But seems, that with JVM it works
23:21 lambd0x https://stackoverflow.com/questions/27178599/how-to-compile-perl6-file-to-exe look the answwers to the last question
23:21 lambd0x *answers
23:22 AlexDaniel lambd0x: cool, right. Just keep in mind that JVM backend is lagging behind a bit
23:23 AlexDaniel by the way, what's the current status of JVM backend?
23:23 lambd0x Nothing is perfect, right? Just have to wait a bit. Things seems very promissing
23:24 AlexDaniel lambd0x: yup. Right now it depends on your needs. Some people are very happy with what we have now (me! Yay!), but others are very disappointed :)
23:24 lambd0x I don't now much, I have the Moar backend here. Gentoo portage so far just offers this one. As I don't want to manually rebuilt in case of a new ebuild package release I'm sticking to the Moar
23:25 AlexDaniel and that's fine, as long as we are moving forward
23:25 lambd0x AlexDaniel: Agreed.
23:26 AlexDaniel lambd0x: one of the biggest complaints right now is “it is too slow!”, so most efforts are put into performance issues
23:26 inokenty joined #perl6
23:27 lambd0x Everything that's new is mostly unstable or limited in one aspect in order to improve others, people must have patience. Things for sure gonna improve by the end of the year or closer
23:27 AlexDaniel lambd0x: by the way, if you really want perl6 executables, maybe you can help?
23:28 lambd0x AlexDaniel: Yeah I'm aware of it. I was reading about this transition from Parrot to JVM, then to MoarVM
23:28 AlexDaniel was there any transition at all? If I'm not mistaken, all three were supported simultaneously at some point in time
23:29 cognominal joined #perl6
23:29 AlexDaniel it's just that parrot was dropped
23:29 lambd0x :)
23:31 lambd0x I spoke a few days ago to a dev in here that explained to me that they had support for the three but had maintream dev at some and the moved the achievements to the next one
23:31 lambd0x *then...
23:32 lambd0x because at some point parrot became limited to the project needs
23:33 lambd0x then learned a lot about the good acpects of JVM and now are trying to apply most of these and improve performance (at this moment)
23:34 timotimo oh, i think you're right, AlexDaniel
23:34 timotimo there was a stretch of time where all three back-ends were supported on rakudo
23:34 lambd0x timotimo: hm...
23:36 geekosaur yes, there was. but the addition of moarvm led to a considerable reduction in work on the parrot backend, culminating in its removal
23:36 lambd0x So I was wrong, sorry all :S
23:36 AlexDaniel :P
23:37 timotimo are you sure about that, geekosaur?
23:37 timotimo oh, the parrot backend
23:37 timotimo i thought you meant parrot itself
23:37 AlexDaniel well, eventually kinda both
23:37 geekosaur (mostly because (a) parrot internal politics were looking bad for p6 at the time (b) moarvm was easier to work with than parrot, being designed to work with rakudo)
23:38 AlexDaniel lambd0x: but it's pretty cool that rakudo can work on different backends
23:38 AlexDaniel and js backend is coming
23:38 AlexDaniel if somebody cared enough, maybe it would be possible to revive parrot backend… for whatever reasons…
23:39 geekosaur rakudo unicode stuff was heating up around then and parrot's unicode support at the time was being found woefully insufficient
23:39 lambd0x AlexDaniel: Sure it is :). Also, good to learn more about this interesting dev history
23:39 timotimo huh? i don't think i knew about that unicode stuff
23:39 timotimo it's just that parrot uses libiuc or what's it called...
23:39 timotimo moar's unicode database should be easy-ish to transfer to parrot if we want. we might also be using it for the jvm later in development
23:40 geekosaur parrot's unicode was reworked a couple months after rakudo dropped support iirc. but the earlier version, while it used libicu, did not make parts of it available that rakudo needed
23:42 dalek doc: a9fd27e | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/ (28 files):
23:42 dalek doc: Space after commas
23:42 dalek doc:
23:42 dalek doc: As per #624
23:42 dalek doc: review: https://github.com/perl6/doc/commit/a9fd27e3f3
23:43 geekosaur (there were also questions about parrot's thread support --- but that was being rewritten from scratch around the same time that rakudo dropped the parrot backend)
23:54 parabolize tbrowder: you can do a function call with a space between the function name and the capture if the capture isn't wrapped in parentheses like: `sub foo($x, $y){$x + $y}; foo 2, 3`
23:56 addison joined #perl6
23:56 tbrowder correct, and that is called the "list op" form; but if you use the "function call" form, the whitespace causes an error
23:57 parabolize or if you declare the capture elsewhere and you pass it in: sub foo($x, $y){$x + $y}; my $c = \(2, 3); foo |$c
23:57 tbrowder sub foo($x){}; foo ($x);
23:57 tbrowder m: sub foo($x){}; foo ($x);
23:57 camelia rakudo-moar 09cc2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$x' is not declared␤at <tmp>:1␤------> 3sub foo($x){}; foo (7⏏5$x);␤»
23:57 tbrowder m: sub foo($x){}; foo (1);
23:57 camelia rakudo-moar 09cc2f: ( no output )
23:57 AlexDaniel good night o/
23:58 tbrowder m: sub foo($x){say $x}; foo (1);
23:58 camelia rakudo-moar 09cc2f: OUTPUT«1␤»
23:58 tbrowder m: sub foo($x, $y){say "$x, $t"}; foo (1,2);
23:58 camelia rakudo-moar 09cc2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$t' is not declared␤at <tmp>:1␤------> 3sub foo($x, $y){say "$x, 7⏏5$t"}; foo (1,2);␤»
23:58 tbrowder m: sub foo($x, $y){say "$x, $y"}; foo (1,2);
23:58 camelia rakudo-moar 09cc2f: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
23:59 tbrowder m: sub foo($x, $y){say "$x, $y"}; foo(1,2);
23:59 camelia rakudo-moar 09cc2f: OUTPUT«1, 2␤»
23:59 tbrowder m: sub foo($x, $y){say "$x, $y"}; foo 1,2);
23:59 camelia rakudo-moar 09cc2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected closing bracket␤at <tmp>:1␤------> 3sub foo($x, $y){say "$x, $y"}; foo 1,27⏏5);␤»
23:59 tbrowder m: sub foo($x, $y){say "$x, $y"}; foo 1,2;
23:59 camelia rakudo-moar 09cc2f: OUTPUT«1, 2␤»
23:59 tbrowder xcuse the fumbly noise

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

Perl 6 | Reference Documentation | Rakudo