Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-06-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 Juerd if-defined ... -> $var { ... }
00:00 b2gills That was an early name
00:00 Juerd Same semantics as 'with', but I'd have gone for a different name.
00:00 Juerd Right. A better one imho :)
00:00 Juerd Doesn't matter anymore
00:01 Juerd But it is how I'd explain the feature to someone who's new to Perl 6
00:01 Juerd "Just read it as if-defined"
00:01 b2gills I've actually thought recently it could have been 「if $a.expensive-method where .defined -> $v {...}
00:01 Juerd And suddenly it makes sense. It would to me, at least :)
00:01 Juerd That's very unclear about execution order
00:02 Juerd Because normally with 'where', the refinement is executed much later than the declaration itself.
00:03 Juerd But maybe I'm reading your example wrong. I'm reading it as  if $a.?expensive-method -> $v { ... }
00:03 b2gills my $v = $a.expensive-method; if $v.defined {...}
00:04 Juerd Oh
00:04 Juerd Why's the expensiveness relevant?
00:04 Juerd I thought you picked an .expensive-method because you wanted to avoid that it ran unnecessarily
00:04 b2gills if $a.quick.defined { say $a.quick }
00:05 Juerd But you're running .expensive-method unconditionally...
00:05 b2gills exactly
00:05 Juerd Oh, you're just topicalizing it so it doesn't run twice?
00:05 Juerd I'd topicalize even the quick one.
00:06 Juerd Just because it's nicer code...
00:06 * Juerd loves DRY...
00:06 b2gills I'm actually responsible for pointing out that pain point that resulted in with
00:06 Juerd II see
00:06 Juerd s/II/I/
00:08 Juerd Did Perl 6 ever deliver on if being a function?
00:08 b2gills m: sub if { say 'no' }; if(0)
00:08 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling if(Int) will never work with declared signature ()␤at <tmp>:1␤------> 3sub if { say 'no' }; 7⏏5if(0)␤»
00:08 b2gills m: sub if { say 'no' }; if()
00:08 camelia rakudo-moar 865bf3: OUTPUT«no␤»
00:09 Juerd Oh
00:10 b2gills 「if」 can be thought of as a macro, and a better macro design is planned
00:10 Juerd I think I might even go for a simple   given ... -> $x { if $x.defined { ... } }
00:11 tardisx joined #perl6
00:11 Juerd I was just thinking that maybe if could take named arguments, and those could influence what if tested for, and that :D could do that.
00:11 Juerd It would look a bit like :D types
00:12 Juerd (Which I don't like much either, visually)
00:24 Hotkeys why not use http://docs.perl6.org/language/control#with%2C_orwith%2C_without
00:24 Hotkeys given ... -> $x { with $x { ... } }
00:24 Hotkeys Juerd:
00:29 b2gills Hotkeys: That's where the discussion started
00:29 Hotkeys oh
00:29 Hotkeys oops
00:29 Hotkeys I only caught the tail end
00:30 b2gills Hotkeys: I noticed you are on #p6dev which was rename to #perl6-dev
00:30 Hotkeys oh so I am
00:30 Hotkeys ty
00:31 Hotkeys I haven't really been paying much attention to this place for like a solid 2 months
00:31 b2gills now the only person that is in #p6dev, but not #perl6-dev is saaki
00:32 b2gills I've noticed your absence
00:41 rvchangue joined #perl6
00:44 ifim joined #perl6
00:47 Juerd Hotkeys: Because I find 'with' and 'without' confusing because my mind does not interpret those as conditionals
00:48 Juerd Hotkeys: While I normally wouldn't avoid idiomatic code simply because it might confuse newbies, with Perl 6, almost everyone is a newbie.
00:49 Juerd So while I would just write "sub slurp { local (@ARGV, $/) = @_; <> }" in Perl 5, I'd hesitate to write 'with' in Perl 6... :)
00:49 Juerd Er, shift, not @_.
00:52 Hotkeys yeah I don't like the names either
00:52 ifim left #perl6
01:07 tardisx joined #perl6
01:14 kid511 joined #perl6
01:18 tardisx joined #perl6
01:23 sammers_ hello, is there a way to interpolate a single quoted string later? for example, my $forlater = 'this is a $template'; then use it later like this: say "$forlater"; and have it interpolate $var. I know that example doesn't work, but I am looking for a simple way to template a string with some varibles that I will pass later.
01:24 grondilu I suspect you would need an EVAL
01:24 sammers_ maybe even something like this: my $forlater = 'this <var> should be replated later'...
01:25 grondilu my $forlater = 'this is $var'; my $var = "foo"; say EVAL '"$forlater"';
01:25 grondilu m: my $forlater = 'this is $var'; my $var = "foo"; say EVAL '"$forlater"';
01:25 camelia rakudo-moar 865bf3: OUTPUT«this is $var␤»
01:25 grondilu hum
01:25 sammers_ hmm
01:25 Juerd query jnthn
01:25 Juerd argh, missing a /
01:26 grassass joined #perl6
01:27 grondilu sammers_: are you sure you don't want to use a function?  That'd be so easier.
01:27 grondilu m: my $forlater = 'this is $var'; my $var = "foo"; say EVAL '$forlater';
01:27 camelia rakudo-moar 865bf3: OUTPUT«this is $var␤»
01:27 sammers_ yeah, I can. I was just wondering if there was something built in to handle this type of situation.
01:28 grondilu m: my $forlater = 'this is $var'; my $var = "foo"; say $forlater.interpolate
01:28 b2gills m: my $for-later = 'this %s should be replaced later'; say 'thing'.fmt: $for-later
01:28 camelia rakudo-moar 865bf3: OUTPUT«Method 'interpolate' not found for invocant of class 'Str'␤  in block <unit> at <tmp> line 1␤␤»
01:28 camelia rakudo-moar 865bf3: OUTPUT«this thing should be replaced later␤»
01:28 molaf joined #perl6
01:28 grondilu m: say ''.^methods
01:28 camelia rakudo-moar 865bf3: OUTPUT«(BUILD Int Num chomp chop pred succ simplematch match ords samecase samemark samespace word-by-word trim-leading trim-trailing trim encode NFC NFD NFKC NFKD wordcase trans indent codes chars uc lc tc fc tclc flip ord WHY WHICH Bool Str Stringy DUMP ACCEPTS…»
01:30 grondilu m: my $forlater = 'this is $var'; my $var = "foo"; say qq{}.new($forlater)
01:30 camelia rakudo-moar 865bf3: OUTPUT«Default constructor for 'Str' only takes named arguments␤  in block <unit> at <tmp> line 1␤␤»
01:31 firstdayonthejob joined #perl6
01:36 b2gills Rather than a string with a replacement, why not a code object?
01:36 b2gills m: my $forlater = -> :$var {"this is $var"}; my $var = "foo"; say $forlater( :$var )
01:36 camelia rakudo-moar 865bf3: OUTPUT«this is foo␤»
01:36 b2gills m: my $forlater = {"this is {CALLERS::<$var>}"}; my $var = "foo"; say $forlater()
01:36 camelia rakudo-moar 865bf3: OUTPUT«this is foo␤»
01:38 Hotkeys m: my $forlater = {"this is $var"}; my $var = "foo"; say $forlater()
01:38 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$var' is not declared. Did you mean '&VAR'?␤at <tmp>:1␤------> 3my $forlater = {"this is 7⏏5$var"}; my $var = "foo"; say $forlater()␤»
01:39 Hotkeys m: my &forlater = {"this is $var"}; my $var = "foo"; say forlater
01:39 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$var' is not declared. Did you mean '&VAR'?␤at <tmp>:1␤------> 3my &forlater = {"this is 7⏏5$var"}; my $var = "foo"; say forlater␤»
01:39 jack_rabbit joined #perl6
01:39 Hotkeys i c
01:39 Hotkeys repl fooled me into thinking this worked
01:39 Hotkeys but I am a fool
01:40 b2gills Yeah I regularly put braces around lines in the REPL so that variables don't show up when I don't expect them
01:46 sammers_ bg2gills, how would I pass multiple vars to "my $forlater = -> :$var {"this is $var"}; my $var = "foo"; say $forlater( :$var )"
01:46 sammers_ sorry, b2gills
01:46 sammers_ I guess I could just pass a hash
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:51 tardisx joined #perl6
02:00 tardisx joined #perl6
02:00 b2gills m: #`(you may want to use positionals) my $forlater = -> $var, $othervar {"this is $var, $othervar"}; my $var = "foo"; say $forlater( $var, 'other' )
02:00 camelia rakudo-moar 865bf3: OUTPUT«this is foo, other␤»
02:01 b2gills m: #`(you may want to use positionals) my $forlater = {"this is $^a, $^b"}; my $var = "foo"; say $forlater( $var, 'other' )
02:01 camelia rakudo-moar 865bf3: OUTPUT«this is foo, other␤»
02:01 b2gills m: my $forlater = {"this is $^b, $^a"}; my $var = "foo"; say $forlater( $var, 'other' )
02:01 camelia rakudo-moar 865bf3: OUTPUT«this is other, foo␤»
02:08 sammers_ b2gills, thanks for sharing these options, I am going to spend sometime working with passing a hash. I am trying to make this as generic as possible.
02:09 labster joined #perl6
02:09 jack_rabbit joined #perl6
02:09 b2gills m: my $forlater = {"this is %_<var>"}; my $var = "foo"; say $forlater( :$var, :other<other> )
02:09 camelia rakudo-moar 865bf3: OUTPUT«this is foo␤»
02:21 zzzzzzzz1 joined #perl6
02:22 huggable joined #perl6
02:29 noganex joined #perl6
02:44 timeless Juerd: yeah, junctions was weird
02:44 timeless i eventually figured it out from knowing/understanding enough about perl
02:44 timeless but i would have asked for an explanation
02:53 timeless yada?? https://www.irccloud.com/pastebin/elOGnSqa/
02:54 timeless can i get p6 to provide a stack trace when it dies?
02:58 MasterDuke joined #perl6
02:59 llfourn timeless: --ll-exception gives a lower level stack trace
02:59 timeless also, is `perl6` the command documented in docs.perl6.org?
03:00 [Coke] like, command line args?
03:01 [Coke] don't see it on the site, no
03:02 MasterDuke .tell lizmat Nice weekly, always an interesting read. As an FYI, myself, MasterDuke17, and Daniel Green are all one person
03:02 yoleaux MasterDuke: I'll pass your message to lizmat.
03:02 * llfourn wonders what part of the cli args are part of roast
03:04 llfourn we have "S19-command-line-options" and "S19-command-line" as dirs in roast
03:04 * llfourn wonders what the difference is
03:12 HoloIRCUser1 joined #perl6
03:13 HoloIRCUser1 left #perl6
03:34 tardisx joined #perl6
03:43 aries_liuxueyang joined #perl6
03:59 atweiden joined #perl6
04:05 timeless m: my %x = << \" => quote, % => percent, & => amp, - => dash, . => dot, / => slash, < => lt, > => gt, ? => question, \\ => blackslash >>;
04:05 camelia rakudo-moar 865bf3: ( no output )
04:05 timeless m: my %x = << \" => quote, % => percent, & => amp, - => dash, . => dot, / => slash, < => lt, > => gt, ? => question, \\ => blackslash >>; %x
04:05 camelia rakudo-moar 865bf3: OUTPUT«WARNINGS for <tmp>:␤Useless use of %x in sink context (line 1)␤»
04:05 timeless m: my %x = << \" => quote, % => percent, & => amp, - => dash, . => dot, / => slash, < => lt, > => gt, ? => question, \\ => blackslash >>; say %x
04:05 camelia rakudo-moar 865bf3: OUTPUT«{" => =>, & => =>, . => =>, < => =>, => => blackslash, ? => =>, amp, => -, dot, => /, lt, => >, question, => \, quote, => %}␤»
04:06 timeless um, that doesn't look right at all
04:08 timeless oh
04:10 gfldex m: my %x = << \" => quote, % => percent, & => amp, - => dash, . => dot, / => slash, < => lt, > => gt, ? => question, \\ => blackslash >>; dd %x
04:10 camelia rakudo-moar 865bf3: OUTPUT«Hash %x = {"\"" => "=>", "\&" => "=>", "." => "=>", "<" => "=>", "=>" => "blackslash", "?" => "=>", "amp," => "-", "dot," => "/", "lt," => ">", "question," => "\\", "quote," => "\%"}␤»
04:10 gfldex i would guess you confused camelia
04:10 timeless m: my %tm = <<    < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question    / slash    \\ blackslash    \" quote >>;
04:10 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in shell-quote words; couldn't find final '>>' ␤at <tmp>:1␤------> 3/ slash    \\ blackslash    \" quote >>;7⏏5<EOL>␤    expecting any of:␤        prefix␤        sh…»
04:11 tardisx joined #perl6
04:11 timeless m: my %x = ≪ a b c d ≫; say %x
04:11 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed initializer␤at <tmp>:1␤------> 3my %x =7⏏5 ≪ a b c d ≫; say %x␤    expecting any of:␤        prefix␤        term␤»
04:12 gfldex m: my %x = << \", quote, %, percent, &, amp, -, dash, ., dot, /, slash, <, lt, >, gt, ?, question, \\, blackslash >>; dd %x
04:12 camelia rakudo-moar 865bf3: OUTPUT«Hash %x = {"\"," => "quote,", "\%," => "percent,", "\&," => "amp,", "-," => "dash,", ".," => "dot,", "/," => "slash,", "<," => "lt,", ">," => "gt,", "?," => "question,", "\\," => "blackslash"}␤»
04:13 timeless m: my %x =  «  a b c d »; say %x
04:13 camelia rakudo-moar 865bf3: OUTPUT«{a => b, c => d}␤»
04:13 gfldex m: dd <<a => b>>
04:13 camelia rakudo-moar 865bf3: OUTPUT«("a", "=>", "b")␤»
04:13 gfldex m: dd \" => 'quote'
04:13 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"' ␤at <tmp>:1␤------> 3dd \" => 'quote'7⏏5<EOL>␤    expecting any of:␤        argument list␤        double quotes␤        …»
04:13 gfldex m: dd '"' => 'quote'
04:13 camelia rakudo-moar 865bf3: OUTPUT«"\"" => "quote"␤»
04:15 timeless my %x = «  < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question    / slash    \\ blackslash    \" quote»; say %x;
04:15 Cabanossi joined #perl6
04:15 timeless m: my %x = «  < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question    / slash    \\ blackslash    \" quote »; say %x;
04:15 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in shell-quote words; couldn't find final '»' ␤at <tmp>:1␤------> 3    \\ blackslash    \" quote »; say %x;7⏏5<EOL>␤    expecting any of:␤        prefix␤        s…»
04:15 timeless ?!@
04:16 timeless my local perl6 says this https://www.irccloud.com/pastebin/ddpI8vch/
04:16 timeless the {} output is odd
04:16 timeless because i can't roundtrip it
04:16 timeless otoh, i can't figure out how to get camelia to accept it, so,..
04:17 timeless my %x = «    < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question / slash \\ blackslash \" quote »; say %x;
04:17 timeless m: my %x = «    < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question / slash \\ blackslash \" quote »; say %x;
04:17 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in shell-quote words; couldn't find final '»' ␤at <tmp>:1␤------> 3 slash \\ blackslash \" quote »; say %x;7⏏5<EOL>␤    expecting any of:␤        prefix␤        s…»
04:18 skids joined #perl6
04:18 gfldex m: my %x = << \" quote, % percent, & amp - dash . dot / slash < lt > gt ? question \\ blackslash >>; dd %x
04:18 camelia rakudo-moar 865bf3: OUTPUT«Hash %x = {"\"" => "quote,", "\%" => "percent,", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "blackslash"}␤»
04:22 timeless so, shouldn't i be able to use your dd output? https://www.irccloud.com/pastebin/Zv9V9Iv7/
04:22 timeless m: my %x = {"\"" => "quote,", "\%" => "percent,", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "blackslash"}
04:22 camelia rakudo-moar 865bf3: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3"?" => "question", "\\" => "blackslash"}7⏏5<EOL>␤»
04:23 gfldex the REPL may have a quoting bug. If you got the time golf it please.
04:23 * timeless looks for a bot to explain `golf`
04:23 gfldex your OS and shell may provide clues too
04:24 timeless m: my %x = << \" quote, % percent, >>; dd %x
04:24 camelia rakudo-moar 865bf3: OUTPUT«Hash %x = {"\"" => "quote,", "\%" => "percent,"}␤»
04:24 timeless m: my %x = {"\"" => "quote,", "\%" => "percent,"}
04:24 camelia rakudo-moar 865bf3: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3= {"\"" => "quote,", "\%" => "percent,"}7⏏5<EOL>␤»
04:24 grassass joined #perl6
04:25 jevin joined #perl6
04:25 timeless grr, where did those `,`s come from?
04:25 timeless m: my %x = {"\"" => "quote,"}; dd %x
04:25 camelia rakudo-moar 865bf3: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3my %x = {"\"" => "quote,"}7⏏5; dd %x␤Hash %x = {"\"" => "quote,"}␤»
04:25 timeless m: my %x = << \" quote >>; dd %x
04:25 camelia rakudo-moar 865bf3: OUTPUT«Hash %x = {"\"" => "quote"}␤»
04:25 timeless m: my  %x = {"\"" => "quote"}
04:25 camelia rakudo-moar 865bf3: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3my  %x = {"\"" => "quote"}7⏏5<EOL>␤»
04:27 * timeless is thoroughly confused
04:27 gfldex m: my  %x = "\"" => "quote";
04:27 camelia rakudo-moar 865bf3: ( no output )
04:28 gfldex m: my %x = { "\"" => "quote" }(); dd %x;
04:28 camelia rakudo-moar 865bf3: OUTPUT«No such method 'CALL-ME' for invocant of type 'Hash'␤  in block <unit> at <tmp> line 1␤␤»
04:29 gfldex m: my %x = { "\"", "quote" }; dd %x; %x = "\"" => "quote"; dd %x;
04:29 camelia rakudo-moar 865bf3: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at <tmp> line 1␤␤»
04:29 gfldex m: my %x = { "\"", "quote" }; dd %x;
04:29 camelia rakudo-moar 865bf3: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at <tmp> line 1␤␤»
04:30 gfldex { a => b } creates an anon hash with a key of a => b and no value
04:30 timeless ok..
04:30 gfldex m: my %x = {}; my Hash $y; dd %x, $y;
04:30 camelia rakudo-moar 865bf3: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3my %x = {}7⏏5; my Hash $y; dd %x, $y;␤Hash %x = {}␤Hash $y = Hash␤»
04:31 gfldex m: my %x; my Hash $y; dd %x, $y;
04:31 camelia rakudo-moar 865bf3: OUTPUT«Hash %x = {}␤Hash $y = Hash␤»
04:31 gfldex m: my %x; my Hash $y .=new ; dd %x, $y;
04:31 camelia rakudo-moar 865bf3: OUTPUT«Hash %x = {}␤Hash $y = ${}␤»
04:31 gfldex assiging an empty hash to a %-sigiled container is useless indeed
04:32 gfldex m: sub f(:$a){ dd $a }; f(|{a => False});
04:32 camelia rakudo-moar 865bf3: OUTPUT«Bool $a = Bool::False␤»
04:33 gfldex you need anon hashs to turn them into a capture and feed them into subs (that got named args)
04:35 timeless ok, maybe?
04:35 gfldex and dd is not meant for round tripping. Use .perl for that.
04:36 gfldex trust me, it all makes sense :)
04:36 molaf joined #perl6
04:36 timeless m: my %x = «    < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question / slash \\ blackslash \" quote »; say %x.perl;
04:36 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in shell-quote words; couldn't find final '»' ␤at <tmp>:1␤------> 3h \\ blackslash \" quote »; say %x.perl;7⏏5<EOL>␤    expecting any of:␤        prefix␤        s…»
04:39 edehont joined #perl6
04:40 gfldex m: my %x = qw{    < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question / slash \ backslash " quote }; say %x.perl;
04:40 camelia rakudo-moar 865bf3: OUTPUT«{"\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "backslash"}␤»
04:40 gfldex timeless: ^^^
04:40 timeless m: my %x={"\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "backslash"}; say %x.perl
04:40 camelia rakudo-moar 865bf3: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3 "?" => "question", "\\" => "backslash"}7⏏5; say %x.perl␤{"\"" => "quote", "#" => "hash", "\%" => …»
04:40 timeless ...
04:41 gfldex m: my %x={"\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" =>
04:41 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3slash", "<" => "lt", ">" => "gt", "?" =>7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
04:41 gfldex m: my %x="\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "backslash"; say %x.perl
04:41 camelia rakudo-moar 865bf3: OUTPUT«{"\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "backslash"}␤»
04:42 gfldex you tried to create an anon hash with a list of pairs inside
04:44 timeless ok, i guess i did that..
04:44 jack_rabbit joined #perl6
04:44 timeless was that wrong?
04:45 gfldex you tell the compiler that you want to store a hash either with the %-sigil or with container typed as Hash.
04:46 gfldex after you got the container setup you can initialise it with a list of values (that got even elements) or with a list of Pair.
04:46 timeless ok..
04:47 gfldex stuffing an anon Hash inside makes no sense because that would be a list with 1 element. Besides Perl 6 wants to be able to warn in a few spots where you got a block (as in code) assigned to the wrong thing.
04:48 gfldex it can tell in some cases that you got an anon Hash with Pairs inside but for Hash initialisation that's not the default.
04:49 gfldex the grammar makes a difference between "normal" stuff and syntax inside function call arguments
04:50 timeless i'm trying to decide if i'm lost
04:50 timeless let's try some principles
04:50 timeless you told me there's a .perl attribute
04:50 timeless i expect it to be useful and intuitive
04:51 gfldex the .perl method should roundtrip and if it didn't that's a bug. Unless you are talking to camelia or the REPL, then the bug can be with those.
04:52 timeless m: my %x = {"\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "backslash"}; say %x.perl
04:52 camelia rakudo-moar 865bf3: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3 "?" => "question", "\\" => "backslash"}7⏏5; say %x.perl␤{"\"" => "quote", "#" => "hash", "\%" => …»
04:52 gfldex .say will truncate after 100 elements and try it's best to provide a human readable form. If you dump stuff on screen or a logfile that can be helpful to avoid out of screen or out of disk space problems.
04:52 timeless presumably that's what you mean by should roundtrip?
04:52 timeless or did i do it wrong?
04:53 gfldex m: my %x = "\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "backslash"; say %x.perl
04:53 camelia rakudo-moar 865bf3: OUTPUT«{"\"" => "quote", "#" => "hash", "\%" => "percent", "\&" => "amp", "-" => "dash", "." => "dot", "/" => "slash", "<" => "lt", ">" => "gt", "?" => "question", "\\" => "backslash"}␤»
04:53 timeless oh
04:53 timeless i'm not supposed to use the {}s?
04:53 timeless m: 5.perl
04:53 camelia rakudo-moar 865bf3: ( no output )
04:53 gfldex the problem here is that .perl on the container gives you the content of the container. The type information is lost, so .perl will stick it into {};
04:53 timeless m: (5).perl
04:53 camelia rakudo-moar 865bf3: ( no output )
04:54 timeless m: say (5).perl
04:54 camelia rakudo-moar 865bf3: OUTPUT«5␤»
04:54 timeless but it doesn't stick 5 into a container
04:54 gfldex it does not need to because integers are easy to spot
04:55 gfldex there is a difference between a Hash and a List of Pair. In the latter case order will be maintained
04:55 timeless so... naively, i expect .perl output to be useful for assignment
04:55 timeless .perl seems to be violating that
04:55 gfldex m: {b => 1, a => 1}.perl.say; (b => 1, a => 1).perl.say;
04:55 camelia rakudo-moar 865bf3: OUTPUT«{:a(1), :b(1)}␤(:b(1), :a(1))␤»
04:56 gfldex m: my $x = {b => 1, a => 1}; $x.perl.say;
04:56 camelia rakudo-moar 865bf3: OUTPUT«${:a(1), :b(1)}␤»
04:57 gfldex .perl maintains the difference between a scalar container with an anon Hash and a Hash container and it's content by using ${} or {}
05:00 gfldex http://doc.perl6.org/routine/perl
05:00 sortiz joined #perl6
05:00 sortiz \o #perl6
05:01 gfldex m: sub f(){}; &f.perl.say;
05:01 camelia rakudo-moar 865bf3: OUTPUT«sub f () { #`(Sub|69254984) ... }␤»
05:01 gfldex timeless: .perl will do it's best but don't bet on it. It's not a general serialisation solution.
05:15 grondilu joined #perl6
05:18 aries_liuxueyang joined #perl6
05:28 tardisx joined #perl6
05:33 AZ__ joined #perl6
05:34 tardisx joined #perl6
05:34 AZ__ hi
05:35 gfldex m: say "Ohai AZ__!"
05:35 camelia rakudo-moar 865bf3: OUTPUT«Ohai AZ__!␤»
05:43 domidumont joined #perl6
05:48 domidumont joined #perl6
05:54 xinming joined #perl6
05:55 FROGGS joined #perl6
06:12 Zero_Dogg joined #perl6
06:12 Zero_Dogg joined #perl6
06:14 wamba joined #perl6
06:22 huggable joined #perl6
06:26 espadrine joined #perl6
06:27 FROGGS joined #perl6
06:32 tardisx joined #perl6
06:32 FROGGS_ joined #perl6
06:43 darutoko joined #perl6
06:54 CIAvash joined #perl6
06:55 sno joined #perl6
07:04 _mg_ joined #perl6
07:09 cpage joined #perl6
07:11 rindolf joined #perl6
07:12 Zoffix joined #perl6
07:13 FROGGS joined #perl6
07:20 FROGGS_ joined #perl6
07:20 zakharyas joined #perl6
07:24 domidumont joined #perl6
07:30 grassass joined #perl6
07:33 * lizmat clickbaits  https://p6weekly.wordpress.com/2016/06/13/2016-24-speeding-to-tpc/
07:33 yoleaux 03:02Z <MasterDuke> lizmat: Nice weekly, always an interesting read. As an FYI, myself, MasterDuke17, and Daniel Green are all one person
07:34 lizmat .tell MasterDuke Daniel Green it is  :-)
07:34 yoleaux lizmat: I'll pass your message to MasterDuke.
07:36 AlexDaniel joined #perl6
07:39 bjz joined #perl6
07:40 FROGGS__ joined #perl6
07:43 FROGGS joined #perl6
07:49 grazzazz joined #perl6
07:51 grassass joined #perl6
08:01 RabidGravy joined #perl6
08:08 ocbtec joined #perl6
08:08 zakharyas joined #perl6
08:09 bjz joined #perl6
08:10 dakkar joined #perl6
08:13 _mg_ joined #perl6
08:23 iH2O joined #perl6
08:23 labster joined #perl6
08:27 Emeric joined #perl6
08:29 iH2O left #perl6
08:51 dalek gtk-simple: bb615f0 | azawawi++ | / (7 files):
08:51 dalek gtk-simple: Add LevelBar widget
08:51 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/bb615f034f
08:51 dalek gtk-simple: 77ec479 | azawawi++ | / (7 files):
08:51 dalek gtk-simple: Merge pull request #51 from azawawi/master
08:51 dalek gtk-simple:
08:51 dalek gtk-simple: Add LevelBar widget
08:51 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/77ec479f7a
09:02 _mg_ joined #perl6
09:14 araujo joined #perl6
09:26 Ven joined #perl6
09:26 Ven joined #perl6
09:27 melezhik joined #perl6
09:27 user9 joined #perl6
09:27 melezhik Hi! Does anybody give me an advise on Perl6 module to deal with ssh?
09:29 Amnez777 joined #perl6
09:30 wamba joined #perl6
09:32 azawawi joined #perl6
09:32 azawawi hi
09:33 azawawi https://github.com/niner/Inline-Perl5 and https://metacpan.org/pod/Net::SSH2 ? :)
09:33 azawawi melezhik:  Maybe use https://github.com/niner/Inline-Perl5 and https://metacpan.org/pod/Net::SSH2 ?
09:34 melezhik thanx, :azawawi , so, no pure perl6 implementation yet?
09:34 azawawi melezhik: not that im aware of atm
09:35 melezhik ok, thanks anyway, will take it for a spin ... )))
09:35 cognominal joined #perl6
09:36 azawawi melezhik: have fun :)
09:36 melezhik azawawi: I will do ))) !
09:39 azawawi The halls of #perl6 chat has been rather silent of late. Any particular reason? :)
09:39 * azawawi throws a needle
09:40 * gfldex gets a magnet
09:40 nine Everyone just happily hacking on?
09:40 gfldex i hope that better docs lead to less questions
09:40 psch FSVO "happily" :)
09:40 azawawi nine: :)
09:40 wamba joined #perl6
09:40 moritz also, we now have separate channels for several other concerns
09:41 azawawi GTK::Simple is working perfectly on MacOS X el capitan btw :)
09:41 * sortiz happily hacking
09:41 moritz like compiler development, toolchain, releases
09:41 * moritz semi-happily hacking on non-p6 stuff
09:42 abraxxa1 joined #perl6
09:42 azawawi moritz: Can we deprecate the usage of 'use GTK::Simple' in favor of loading specific modules to make loading faster?
09:43 jnthn azawawi: Why deprecate it? Folks can use it for convenience in development and if they want to optimize later just pull in what they need?
09:43 jnthn I'd certainly prefer to have one `use` statement in code examples I show :)
09:43 jnthn Not to mention that it'll likely be fast enough in the future for this not to be a concern :)
09:44 * psch wonders what's behind GTK::Simple being only a bunch of 'require's
09:44 jnthn No idea, but I struggle to see that helping matters ;)
09:44 azawawi psch: because 'use'-s are slower
09:44 jnthn That sounds...odd. As in, hiding the real issue.
09:45 jnthn (Which is fine for now, but it'd be good to understand what's actually going on there.)
09:45 psch yeah, kind of confirms my suspicion of "loading would always be slow and we shouldn't fix that by telling people to load less modules"
09:45 azawawi jnthn: when i refactored the big GTK::Simple into separate module, performance suffered a lot
09:45 azawawi jnthn: something seems to be re-parsed
09:46 jnthn Re-parsed would be odd in that we should be loading pre-comp'd stuff
09:46 azawawi psch: true but if you need x and y widgets then load x and y widgets
09:46 jnthn There was once some issue whereby any module that used NativeCall ended up with a huge precomp output though
09:46 jnthn I dunno if that got investigated/resolved or not
09:46 azawawi jnthn: ::Raw maybe?
09:47 psch azawawi: eh, if you're *that* concerned about performance, write ASM vOv
09:47 * azawawi tests that theory
09:47 jnthn azawawi: Well, how many of the modules use NativeCall?
09:47 psch ...well, that probably came of a bit more snarky than i wanted :/
09:47 azawawi psch: precompiling that list is a lot of time https://github.com/perl6/gtk-simple/blob/master/lib/GTK/Simple.pm6
09:48 jnthn azawawi: Also, if you run wiht -Ilib, could check the file sizes of *.moarvm
09:48 psch azawawi: yeah, but as soon as it's precompiled it should be fast.  and precomp usually happens at installation time
09:48 azawawi psch: 150+ wall seconds on a fresh .precomp
09:48 psch azawawi: stick with jnthn, he's more likely to help right now ;)
09:48 rurban_ joined #perl6
09:50 * azawawi removes .precomp folders and runs GTK::Simple test suite again to check file sizes
09:52 azawawi jnthn: first run  124 wall seconds. 42 MB '.precomp' folder size
09:52 kalkin- joined #perl6
09:52 kalkin- hi
09:52 kalkin- when should i use panda and when do I need zef? What is the big difference between this to apps?
09:53 jnthn azawawi: 42 MB?!?!
09:53 jnthn azawawi: OK. "Something's going on."
09:53 psch that's what, around 6 times CORE?
09:54 azawawi jnthn: https://gist.github.com/azawawi/6d58ec6c87ee50e47f82e7202f35f986
09:55 jnthn psch: Something like, yeah
09:55 jnthn psch: And I'm rather sure GTK::Simple is less code ;)
09:56 psch kalkin-: fwiw, i generally use zef when panda doesn't seem to work
09:56 azawawi jnthn: ~31 GTK widgets so far
09:56 psch kalkin-: i'm aware that's not really a good metric or explanation, but the big difference is that they're not the same implementation and thus have different features
09:57 jnthn azawawi: Yeah. Could file an RT about that? I'm tied up with $dayjob stuff now, but certainly want to look into why that's so huge.
09:58 jnthn azawawi: I suspect whatever's making them so big is also what's to blame for the slowness.
09:59 azawawi jnthn: well all of them use GTK::Simple::Raw which is like ~1k lines
10:00 azawawi jnthn: i tried dividing ::Raw into ::Raw::XYZWidget but then i hit a bigger wall when i finished with the refactor :(
10:00 psch azawawi: CORE.setting is almost 39k lines and produces something in the area of a 7 mb .moarvm file
10:00 psch azawawi: so as jnthn++ says, there's probably something weird in how NC blows up the .moarvm files
10:01 kalkin- psch: i see, thanks
10:01 azawawi any link to that bug?
10:01 azawawi the NC bug that is
10:02 jnthn azawawi: I don't know that I've seen a bug report, I just heard mentioned some time ago that things using NativeCall can end up with huge pre-comp files
10:02 jnthn And this discussion reminded me of it :)
10:02 azawawi jnthn: cool
10:03 azawawi right now more GTK widgets = worst performance because of maybe that NC bug
10:03 abraxxa joined #perl6
10:05 azawawi thus GTK::Simpler [shameful advertising :)] solves this problem https://github.com/azawawi/perl6-gtk-simpler/blob/master/examples/01-hello-world.pl6
10:05 azawawi https://github.com/azawawi/perl6-gtk-simpler/blob/master/lib/GTK/Simpler.pm6
10:07 azawawi the funny thing dividing ::Raw into smaller units (e.g. gtk_widget_ NC prefix => G:S:Raw::Widget) made matters worse
10:08 azawawi so basically more 'use NativeCall's = bigger problem because of modularization
10:11 cognominal joined #perl6
10:12 bjz_ joined #perl6
10:14 nine A.pm consisting only of "use NativeCall;" -> 48K .precomp
10:15 nine A.pm consisting of use NativeCall; sub foo is native(Str) { * } -> 984K .precomp
10:15 jnthn o.O
10:15 jnthn That's none too cheap :)
10:15 jnthn What happens if you add a second is native sub?
10:16 nine 988K
10:16 jnthn OK. I suspect some kind of accidental repossession.
10:16 melezhik HI! Anybody knows how to set LIB PATH for perl6 ( aka PERL5LIB in pelrl5) ? Thanks
10:17 nine When there's an overhead of > 900K for every module using NativeCall, it's no wonder splitting Gtk::Simple quickly adds up :)
10:17 DrForr perl6 -Ipath/to/dir/
10:17 jnthn nine: Right :)
10:17 nine melezhik: there's also PERL6LIB
10:17 nine melezhik: perl6 --help tells about it
10:18 melezhik thanks!
10:21 ggoebel116 joined #perl6
10:22 darutoko- joined #perl6
10:22 huggable joined #perl6
10:24 zakharyas joined #perl6
10:24 nine jnthn: it's NativeCall's EXPORT sub. When I remove HAS-decl related code, .precomp is down to 36K
10:26 nine jnthn: the nqp::bindkey(%*LANG, 'MAIN', $MAIN-grammar.HOW.mixin($MAIN-grammar, HAS-decl-grammar)); and nqp::bindkey(%*LANG, 'MAIN-actions', $MAIN-actions.HOW.mixin($MAIN-actions, HAS-decl-actions)); lines make all the difference.
10:26 jnthn ouch
10:27 nine Which is no wonder, isn't it?
10:27 jnthn No, that's no surprise.
10:27 jnthn It's going to end up with a derived copy of the grammar and its NFAs.
10:28 jnthn And similar for actions
10:28 jnthn Though at least no NFAs there
10:28 * azawawi watches how GTK::Simple will be faster and starts to dance :)
10:28 nine A complete copy of Perl6's grammar and whatever NFAs actually are for every little module that make up Gtk::Simple. Can't be small :)
10:28 Zoffix AlexDaniel, ROFL. I knew you were gonna bring up the colors! And I actually had a dream tonight about you questioning my commits (some different one though)
10:28 AlexDaniel :)
10:29 AlexDaniel Zoffix: which commits?
10:29 Zoffix AlexDaniel, this is the font colour https://github.com/perl6/doc/blob/master/html/css/style.css#L167 and line 150 is the background. Go wild :)
10:29 Zoffix AlexDaniel, I don't remember any more. They might've been not real commits :)
10:29 azawawi nine: https://github.com/rakudo/rakudo/blob/nom/lib/NativeCall.pm6#L452 , right?
10:30 nine azawawi: yes
10:30 AlexDaniel Zoffix: actually, I've tried several different font colors but nothing works well on such background color :/ Dunno
10:30 nine It's for supporting the HAS syntax for CStructs
10:31 jnthn If it'd just been done as a trait (`is inlined`) or some such, we'd not have this problem.
10:32 psch well, except we want Slangs in general, and they'll always have that problem, no?
10:33 jnthn psch: Well, at some point we can slog through the hard work of figuring out some smarter way to do this stuff, I guess. Like partial invalidation and stuff. But it's non-trivial.
10:33 AlexDaniel Zoffix: OK, this one works very well: https://files.progarm.org/2016-06-14-133321_227x79_scrot.png
10:33 psch right, but deprecating the existing NC interface temporarily is a bad idea aiu
10:33 timeless hrm, there's no `perl6 -d`? :(
10:33 AlexDaniel XD
10:34 jnthn We could just pull HAS up into Rakudo's Grammar.nqp/Actions.nqp
10:34 moritz ... and spell it CAN HAZ
10:35 azawawi timeless: https://github.com/jnthn/rakudo-debugger ?
10:35 Zoffix AlexDaniel, better than gray, sure.
10:35 AlexDaniel Zoffix: :D
10:35 timeless azawawi: interesting (and disappointing, since there's a grammar error on that page)
10:35 AlexDaniel Zoffix: there's something magical about this combination
10:36 timeless AlexDaniel: i had an error for you a while ago...
10:36 AlexDaniel timeless: yes, I've just woke up! :)
10:36 AlexDaniel timeless: wanna add something?
10:37 jnthn timeless: Yes, clearly a grammar error in a readme means the software must be shit! :P
10:37 vibha joined #perl6
10:37 azawawi :)
10:37 jnthn timeless: Send me your github ID and I'll give you a commit bit so you can fix it. :P
10:37 _mg_ joined #perl6
10:38 * azawawi cant wait for his new PC to be finished... AMD FX-8150 bye bye... welcome i7 6700 :)
10:38 AlexDaniel jnthn: actually, that's often the case
10:40 * Zoffix tries to figure out if AlexDaniel is being sarcastic
10:41 Zoffix though I see "zoffix" as search term and a file name with scrot[um]? in it....
10:41 AlexDaniel Zoffix: scrot is a gnu/linux thingy for taking screenshots
10:41 Zoffix Why are you ":D"ing? :)
10:42 Zoffix And "XD"ing
10:42 jnthn lunch &
10:42 AlexDaniel Zoffix: you have a really interesting monitor if that screenshot looks alright to you :)
10:43 Zoffix AlexDaniel, I'm red-green colorblind, maybe that's why
10:43 Zoffix Looks nice to me
10:43 timeless m: my %x = «  < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question    / slash    \\ blackslash    \" quote »; say %x;
10:43 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in shell-quote words; couldn't find final '»' ␤at <tmp>:1␤------> 3    \\ blackslash    \" quote »; say %x;7⏏5<EOL>␤    expecting any of:␤        prefix␤        s…»
10:43 _mg_ joined #perl6
10:43 timeless AlexDaniel: i'm not sure i get why camelia doesn't like this
10:43 AlexDaniel Zoffix: oh, alright, then my sarcasm didn't make any sense
10:43 psch m: say << # this is a comment >>
10:43 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in shell-quote words; couldn't find final '>>' ␤at <tmp>:1␤------> 3say << # this is a comment >>7⏏5<EOL>␤    expecting any of:␤        argument list␤        shell-…»
10:43 psch timeless: that ^^^ is why
10:44 timeless ah
10:44 timeless hrm... sometimes i thought i didn't need the \ ...
10:45 psch m: say < # this isn't a comment >
10:45 camelia rakudo-moar 865bf3: OUTPUT«(# this isn't a comment)␤»
10:46 timeless jnthn: can i use it on linux?
10:47 AlexDaniel Zoffix: I should actually be less stupid next time…
10:49 timeless psch: i don't get it <> is differently special from  « » ?
10:50 psch m: say q:w/# no comment/;
10:50 camelia rakudo-moar 865bf3: OUTPUT«(# no comment)␤»
10:50 psch m: say q:ww/# yes comment/
10:50 camelia rakudo-moar 865bf3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Couldn't find terminator / (corresponding / was at line 1)␤at <tmp>:1␤------> 3say q:ww/# yes comment/7⏏5<EOL>␤    expecting any of:␤        /␤»
10:50 psch timeless: they're shorthands for those two quote adverbs
10:51 psch timeless: see http://doc.perl6.org/language/quoting
10:51 timeless so, why does perl6-debug-m `s` seem to be `run`? https://www.irccloud.com/pastebin/gNfBTfwp/
10:51 timeless psch: so, is there a flavor that lets me have `<`, `>`, and `#` as values w/o quoting? :)
10:52 timeless bonus points for `"` `/` and `\` :)
10:52 Zoffix AlexDaniel, you can try it out here. Upload your image. http://www.color-blindness.com/coblis-color-blindness-simulator/ I think I got "Green-Weak/Deuteranomaly" 'cause I don't see much difference between the normal (I guess mine is just weaker)
10:52 psch m: say q:w!< > " / \ » # «!
10:52 camelia rakudo-moar 865bf3: OUTPUT«(< > " / \ » # «)␤»
10:52 timeless > bp add lib/Pod/Htmlify.pm6:1
10:52 timeless Cannot add breakpoint to unknown file 'lib/Pod/Htmlify.pm6'
10:55 literal so what's the Perl6-equivalent idiom of doing this in Perl5? "(?:" . join("|", map { quotemeta } @patterns) . ")"
10:56 timeless ~ instead of .
10:56 psch literal: /@patterns/
10:56 lizmat .oO( there is no quotemeta )
10:57 timeless hrm
10:58 timeless psch: so, i can't see the `<< >>` or `< >` article on doc.perl6 until i fix this
10:58 timeless oh
10:59 timeless q:w is that
10:59 psch timeless: the docs i linked are pretty extensive and well written :)
10:59 azawawi nine: after commenting those lines in NativeCall.pm6, first run 124 secs is now down to 95 seconds (~23% performance increase), second run 10 seconds... impressive :)
10:59 azawawi nine++
10:59 timeless m: my %x = q:w!  < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question    / slash    \\ blackslash    \" quote !; say %x;
10:59 azawawi jnthn++
10:59 camelia rakudo-moar 865bf3: OUTPUT«{# => hash, % => percent, & => amp, - => dash, . => dot, / => slash, < => lt, > => gt, ? => question, \ => blackslash, \" => quote}␤»
11:00 azawawi nine: .precomp folder size is 4 MB :)
11:00 timeless m: my %x = q:w!  < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question    / slash    \\ blackslash    " quote !; say %x;
11:00 camelia rakudo-moar 865bf3: OUTPUT«{" => quote, # => hash, % => percent, & => amp, - => dash, . => dot, / => slash, < => lt, > => gt, ? => question, \ => blackslash}␤»
11:01 timeless m: my %x = q:w!  < lt    > gt    & amp    % percent    # hash    - dash    . dot    ? question    / slash    \ blackslash    " quote !; say %x;
11:01 camelia rakudo-moar 865bf3: OUTPUT«{" => quote, # => hash, % => percent, & => amp, - => dash, . => dot, / => slash, < => lt, > => gt, ? => question, \ => blackslash}␤»
11:06 kid51 joined #perl6
11:09 timeless jnthn: i don't suppose i can `wish` for `list` (show lines in file) or `bp (future file)`
11:14 jnthn timeless: Should be easier on Linux than Windows, given terminals on Linux support ANSI colors without needing extra work :)
11:14 * timeless is on linux
11:14 timeless well, gcc112 is linux
11:14 * timeless is on windows but just uses putty
11:15 jnthn Setting a breakpoint on a file that isn't yet loaded?
11:15 timeless yes
11:16 timeless also, it'd be nice if ^C brought me back to the debugger instead of killing the app
11:16 jnthn It's probably do-able...what's the use-case, ooc?
11:16 jnthn I think it was written before we had a way in Perl 6 to capture ^C :)
11:16 timeless i'm trying to debug htmlify.p6
11:16 timeless i don't "know" it by heart
11:16 timeless it has a submodule
11:16 moritz nobody does anymore
11:16 timeless i want to breakpoint the file when it starts loading
11:17 timeless i want to be able to look at the lines it's about to debug
11:17 timeless w/o a second terminal in `vi`
11:17 timeless both future breakpoints and list are fairly standard in debuggers
11:18 jnthn Sure, but this was a debugger written in about 2 days ;-)
11:18 jnthn Agree they're both reasonable requests :)
11:19 jnthn Feel free to drop them in Issues
11:19 timeless also, given that this debugger thing exists, is there a plan to make `perl -d` map to it
11:19 timeless ok
11:20 jnthn No plan for that at present, no
11:20 jnthn It's not clear that blessing any particular debugger as The One is a good plan.
11:20 jnthn (For the long run)
11:23 timeless i suppose i could make my shell map `perl6 -d` to `perl6-debugger-m` ...
11:24 timeless any idea why the debugger just gets stuck? https://www.irccloud.com/pastebin/1kQNIi24/
11:24 literal psch: hm I see. I wonder whether I could match that with some context, so I know can do something depending on which pattern matched
11:24 timeless 80: sub p2h($pod, $selection = 'nothing selected', :$pod-path = 'unknown') {
11:24 timeless 81:    pod2html $pod,
11:30 psch m: my @patterns = < abc def ghi >; "def" ~~ /(@patterns)/; say %(@patterns.antipairs){$0}
11:30 camelia rakudo-moar 865bf3: OUTPUT«1␤»
11:30 psch literal: ^^ somewhat like that maybe
11:31 literal I suppose
11:36 timeless jnthn: also, any way for me to get `up` / `down`?
11:37 * timeless would like to see $file from a frame... https://www.irccloud.com/pastebin/D5MQGHdj/
11:42 bjz joined #perl6
11:45 darutoko joined #perl6
11:48 gregf_ oh, theres no quotemeta
11:49 cognominal joined #perl6
11:50 gregf_ m: my $str = "f-o&o"; $str ~~ s:g/$<c>=./{ my $val = $<c>; $val  ~~ /^\"\%\&|\-|\.\/|\<|\>\?$/ ?? "\\$val" !! $val }/;say $str;
11:50 camelia rakudo-moar d92722: OUTPUT«f\-o&o␤»
11:50 literal is there a regex assertion to tell it to start matching from a certain position in a string?
11:51 psch literal: you mean "everything after this part of the regex is the capture group"?
11:52 gregf_ literal: positive lookbehind?
11:52 literal I mean more like ^ where ^ would mean e.g. char 50
11:52 literal rather than the beginning
11:52 psch [ . ** 50 ] <$rest-of-the-pattern> / ?
11:53 psch with / at the front too
11:53 gregf_ literal: you can just substr and then do the regex?
11:53 literal gregf_: I can, but I was guessing that would be more wasteful than something that tells it to just start matching at a certain position
11:53 psch no, regex are currently always more expensive than substr
11:54 literal alright
11:55 psch gregf_: your quotemeta-ish s/// doesn't handle all Perl 6 meta chars.  also, we don't have it because we don't need it, because interpolation of variables in regex is explicitly either as Str or as regex pattern
11:58 gregf_ or call Inline::Perl5 ;)
12:05 AlexDaniel yeah, the question is why do you need quotemeta?
12:06 Juerd Quotemeta is useful because Perl is not the only case where \w is always safe and \ can escape everything else.
12:07 Juerd It's also pretty useful when you're *generating* a regex
12:07 Juerd That's why I resorted to writing _quotemeta in https://github.com/Juerd/p6-mqtt/blob/master/lib/MQTT/Client.pm
12:08 Juerd If there's a better way to generate regexes, than to build a string and interpolate that, I'd love to know.
12:10 * sexy-coder-girl casually points out there's also String::Quotemeta in ecosystem
12:13 psch i do think it's interesting that Juerd++s quotemeta - in control to Perl 5 quotemeta - actually quotes meta characters :)
12:13 psch s/control/contrast/
12:21 psch m: use QAST:from<NQP>; my $x = QAST::Regex.new( :rxtype<altseq>, QAST::Regex.new(:rxtype<literal>, "foo"), QAST::Regex.new(:rxtype<literal>, "bar")); # humm
12:21 camelia rakudo-moar d92722: ( no output )
12:21 psch that'd still need a CU around
12:21 psch and even if that works, it's definitely not quite a better way to generate a regex :)
12:23 sexy-coder-girl m: my $regex = rx{\w+}; say "foo bar ber" ~~ m:g/$regex/
12:23 camelia rakudo-moar d92722: OUTPUT«(「foo」 「bar」 「ber」)␤»
12:23 psch although i suppose wrapping a few bits imported from QAST with convenience methods could make that somewhat feasible
12:23 tbrowder joined #perl6
12:23 gregf_ psch: so quotemeta is not needed because its handled in Perl6?
12:24 psch *and* it'd probably help a lot with understanding how regexen work under the hood in Perl 6
12:24 psch m: my $pat = '\w'; say '\w' ~~ /$pat/
12:24 camelia rakudo-moar d92722: OUTPUT«「\w」␤»
12:24 psch m: my $pat = '\w'; say 'a' ~~ /<$pat>/
12:24 camelia rakudo-moar d92722: OUTPUT«「a」␤»
12:24 melezhik Hi! If anybode knows what is perl6 way to require a file ? ( aka require "file" in perl5 )? sorry can't find in docs ...
12:24 gregf_ hmm, that would need quoting in Perl6
12:24 sexy-coder-girl melezhik: EVALFILE
12:25 psch gregf_: that's the two ways to use a variable in a pattern in Perl 6 Regex
12:25 sexy-coder-girl melezhik: or no
12:25 gregf_ m: my $str = "foo * - bar"; print $str ~~ /foo *.*bar/ && "yep" || "nope"; # that works. psch, that would need quoting in Perl5 iirc
12:25 camelia rakudo-moar d92722: OUTPUT«yep»
12:25 sexy-coder-girl melezhik: need
12:26 sexy-coder-girl m: need Test; import Test; is-approx 4, 10
12:26 camelia rakudo-moar d92722: OUTPUT«not ok 1 - ␤␤# Failed test at <tmp> line 1␤# maximum absolute tolerance: 1e-05␤# actual absolute difference: 6␤»
12:26 gregf_ er, import? should that not be use? - ah, globals :|
12:27 sexy-coder-girl gregf_: no, it wouldn't need quoiting in P5. Only if $str were inside the regex
12:27 melezhik sexy-coder-girl:  EVALFILE seems working for me, thanks!
12:27 sexy-coder-girl gregf_: use is compile time; need+import is run time (or so I believe)
12:27 Juerd Does anyone have a complete perl6-language archive?
12:27 sexy-coder-girl melezhik: alright then :)
12:27 Juerd There doesn't seem to be any good way to search it; google groups really sucks.
12:28 gregf_ sexy-coder-girl: yep, you're right
12:28 melezhik I also need a way to localy install my perl6 module so to play with it before uploading to perl6modules repo ... if any?
12:28 melezhik something like I usualy do with "make && make install"
12:29 sexy-coder-girl melezhik: zef install .    or panda install .   depending on the packaging manager you're using
12:29 melezhik ok, sounds good!
12:29 melezhik thanks
12:29 sexy-coder-girl May need --force flag if you're installing it multiple times
12:31 timeless is there a signal i can send to perl6 / perl6-debug-m to get a stack trace?
12:31 gregf_ sexy-coder-girl: thanks
12:31 timeless 85722 timeless  20   0  299520 297152  27264 R 100.0  0.1  51:02.95 moar
12:31 * timeless wants to know what it's doing
12:31 _mg_ joined #perl6
12:32 gregf_ *does'nt remember ever doing a require in Perl5.. prolly PHP.. module::runtime::load*
12:33 * timeless has done require in perl5
12:34 gregf_ it can be done, but its risky :|
12:37 melezhik I wonder if I can declare to install bin/* scripts via META.info; panda install . works fine; but I can't see if any binaries gets installed ... ))
12:37 Woodi WOW! how I could miss:  if(1) printf("1"), printf("2\n");  all that years ??
12:38 Woodi vendethiel++
12:38 gregf_ m: if(1) printf("1"), printf("2\n");
12:38 camelia rakudo-moar d92722: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3if(1)7⏏5 printf("1"), printf("2\n");␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier␤  …»
12:38 gregf_ m: if(1) printf("1"); printf("2\n");
12:38 camelia rakudo-moar d92722: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3if(1)7⏏5 printf("1"); printf("2\n");␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier␤  …»
12:38 Woodi gregf_: I mean in C :)
12:38 gregf_ oh
12:40 Woodi m: say do if 1 { say(42), say(111) } # FROGGS++ :)
12:40 camelia rakudo-moar d92722: OUTPUT«42␤111␤(True True)␤»
12:40 kaare_ joined #perl6
12:40 vike joined #perl6
12:41 sexy-coder-girl melezhik: they get automatically installed. I installed my P6 with rakudobrew and they are installed in ~/.rakudobrew/moar-nom/install/share/perl6/site/bin on my box
12:41 Woodi also: is there some switch/module/thing that can make all dispatch compile time ?
12:41 melezhik sexy-coder-girl: so, should I have to alter the PATH then?
12:42 cognominal joined #perl6
12:43 sexy-coder-girl melezhik: no. I'm saying they should be installed automatically somewhere in your perl6 dir. Did you install Rakudo Star? type which p6doc (or where p6doc) and that should be the dir where the binaries from your module were installed
12:43 perlpilot Woodi: You mean only dispatch by type and not by value?
12:44 melezhik panda --force --prefix=/tmp/foo install  .  works fine for me
12:44 melezhik but I can't see if binaries get installed if I go without prefix
12:45 melezhik >  Did you install Rakudo Star?
12:45 melezhik hwo to check?
12:45 Woodi perlpilot: dispatch by "value" ? but I mean: at app deploy precompile it for faster execution, "freeze" becouse after deploy there are no new methods...
12:45 cdg joined #perl6
12:46 melezhik sexy-coder-girl: it is fine now, I see my binaries listed at ~/.rakudobrew/moar-nom/install/share/perl6/site/bin/
12:47 sexy-coder-girl cool
12:49 sexy-coder-girl m: multi foo ($x where * > 0) {"$x is big"}; multi foo ($x where * < 0){"$x is small"}; multi foo (0) {"tis zero!"}; say foo 5; say foo -3; say  foo 0
12:49 camelia rakudo-moar d92722: OUTPUT«5 is big␤-3 is small␤tis zero!␤»
12:49 sexy-coder-girl Woodi: ^ dispatch happens when values are known
12:49 sexy-coder-girl (in this case)
12:50 Woodi sexy-coder-girl: that's examples are by 'new type' for me :)
12:52 psch Woodi: to "freeze" like that that you'd have to decide if there's any mixins, which you can't without running the program
12:52 psch Woodi: and while you're running it you already have (pre)compiled the program
12:52 psch Woodi: so that'd probably amount to some kind of code transformation
12:52 psch across the compilation border too, which is probably hard
12:53 psch fwiw, my first impulse was "isn't that a variation on the halting problem?", but i'm not so sure of that impulse
12:54 Woodi ok, I have no good explanation what I want but eg. what is difference in dispatch between C++ and Perl6 ?
12:56 psch C++ always knows at compile time which methods exist in a class' method table
12:56 perlpilot Woodi: C++ doesn't really do multi-dispatch.  In Perl 6 all method calls are "virtual".
12:56 psch hm, actually maybe it doesn't, via "virtual"
12:57 perlpilot I guess I should have said "C++ doesn't do multi-dispatch, but there are ways that people fake it."
12:58 psch i don't think i know what "virtual method calls" are
12:58 Woodi psch: I think it's equivalent of virtual from C++. but can we "degrade" Perl6 to C level ? ;)  just as "deplay app" proces...
12:58 psch Woodi: well, only if you can guarantee that you never change the method table at runtime
12:58 psch Woodi: which you can't really, i think
12:59 psch Woodi: that's only from a "is it possible", not "is it feasible or practicable"
12:59 Woodi psch: why ? when user gets app programmers are far far away...
13:00 psch Woodi: sorry, not "you" but the *compiler* has to guarantee it doesn't happen at runtime
13:00 Woodi MONKEY-DISABLE-MONKEY_EVAL ?
13:01 sexy-coder-girl m: class Foo {}; my $f = Foo.new; $f.^methods.say; $f = $f but role { method bar {}}; $f.^methods.say
13:01 camelia rakudo-moar d92722: OUTPUT«()␤(bar)␤»
13:01 sexy-coder-girl You can modify methods at runtime
13:01 perlpilot I'm sure we can create some compiler hints so that the programmer can say "There class methods will not change at runtime".  I don't know that we can "enforce" this though so that the programmer can't break their promise.
13:02 * psch would guess it's more trouble than it's worth
13:02 psch i don't think method resolution is our bottle neck
13:02 perlpilot yeah, way more trouble I would think
13:02 psch invocation overhead, maybe, but i don't think that could be helped by "pre-solving" resolution
13:04 azawawi joined #perl6
13:04 azawawi hi
13:04 Woodi in C++ virtual methods are slower then non-virtual. so, run-time dispatch is overhead...
13:04 Woodi hi azawawi
13:04 Woodi new rig in place ? :)
13:05 azawawi http://www.raidmax.com/chassis_ninja-ii.html :)
13:05 azawawi still going to install it after iftar (breaking fast) :)
13:05 Woodi azawawi: you will be installing/using windows ?
13:05 _mg_ joined #perl6
13:05 azawawi Woodi: yup. most probably win7 or 10
13:06 psch Woodi: i mean, if you can figure it out and it doesn't break things and does help for precomp MMD it'd probably get merged, so don't let me dissuade you from trying
13:06 Woodi ah. I was wondering about installing linux on Skylake
13:06 psch Woodi: i just don't think it has a worthy cost:benefit ratio
13:07 azawawi Woodi: if i remember correctly, win10 has better performance atm since they have a microcode update for skylake... but not 100% sure
13:07 [Coke] timeless: you know you can private message camelia, yes?
13:07 timeless [Coke]: yes
13:07 skids joined #perl6
13:08 Woodi azawawi: for win10 I need other pc to work as firewall ;)
13:09 Woodi and I'm so close to buy damn windoze license for gaming purpose :)
13:10 azawawi Woodi: cool
13:11 azawawi Woodi: perl6 gaming rig? :)
13:13 timeless [Coke]: any way for me to know why perl6 is a taking a long time/what it's doing?
13:13 azawawi Woodi: i was going to buy an iMac... but they did not update the hardware in wwdc and mostly bad Apple dealer/very high pricing over here....
13:13 timeless 85722 timeless  20   0  324096 317952  28352 R 100.0  0.1  92:54.75 moar
13:13 timeless (this is running perl6-debug-m ... htmlify.p6)
13:13 stevieb joined #perl6
13:14 timeless it's only gotten to:
13:14 timeless 3/39: doc/Language/5to6-perlop.pod             => language/5to6-perlop
13:14 * azawawi time ./timeless # :)
13:14 timeless azawawi: it isn't going to finish
13:14 psch isn't htmlify always really slow?
13:14 timeless at this rate, it'd take weeks
13:14 timeless psch: somewhat
13:14 timeless and it's worse when you add things
13:14 timeless but the debugger has made the previous things see *fast*
13:15 azawawi nine: ping
13:15 nine azawawi: pong
13:16 azawawi nine: any official fix for that 'use NC' bug?
13:16 nine azawawi: while finding the slowdown was easy, we'd need another way to support that HAS syntax and I don't know of any
13:17 psch well, lifting HAS to Perl6::Grammar would help
13:17 psch and jnthn did suggest it
13:17 nine Ah, yes, of course
13:18 azawawi it would be cool that 2016.06 ships with that fix
13:19 * azawawi starts working on https://developer.gnome.org/gtk3/stable/GtkAccelLabel.html#gtk-accel-label-new
13:19 azawawi https://developer.gnome.org/gtk3/stable/ch03.html
13:19 [Coke] timeless: htmlify is slow. running it through --profile or perl6-debug-m is just going to slow it down MORE. try running it with --sparse (to htmlify) to avoid doing work. also find the other options that don't highlight syntax...
13:20 FROGGS nine: ohh, what's wrong with HAS?
13:20 FROGGS (or rather its implementation)
13:20 FROGGS I dont know of the bug in question
13:21 psch FROGGS: just the normal %*LANG cloning for new ops
13:21 azawawi FROGGS: http://irclog.perlgeek.de/perl6/2016-06-14#i_12661602
13:21 FROGGS and that causes a major slowdown? or anything else?
13:21 nine FROGGS: MAJOR slowdown :)
13:22 psch well, GTK::Simple has a few dozend modules that use a NativeCall module
13:22 psch and each of those clones %*LANG...
13:22 FROGGS I see
13:22 FROGGS I can move it to P6::G/A easily I guess...
13:22 azawawi FROGGS++
13:23 FROGGS k, will attempt to do that today on the train home
13:23 nine train++ ;)
13:23 FROGGS aye :o)
13:23 * timeless can't figure out how to get the debugger to behave remotely usefully
13:23 timeless is there a way to write something like `debugger.debughere` ?
13:24 azawawi .seen RabidGravy
13:24 yoleaux I saw RabidGravy 13 Jun 2016 14:19Z in #perl6: <RabidGravy> I can't remember the last time I actually used anything other than git diff
13:25 FROGGS timeless: I think there was a way to add a breakpoint to source code...
13:25 FROGGS timeless: jnthn will know for sure
13:25 timeless there is
13:25 timeless it seems unreliable at least the way i've tried using it
13:25 azawawi MacOS X -> macOS  # now that's a lot of installation instruction replaces
13:26 timeless maybe it's more that `s` and `\n` behave irrationally
13:26 FROGGS I dunno
13:26 timeless azawawi: people will still be running Mac OS X for a while
13:26 FROGGS I'm a printf-debugger person :o)
13:26 timeless but a of of people have been writing macos instead of a while
13:26 timeless so i think apple is taking advantage of that
13:27 timeless plus, people have trouble counting past 10
13:27 RabidGravy boo!
13:27 timeless so everyone likes to reboot their numbering systems
13:27 azawawi timeless: so basically in installation instructions, Mac OS X / macOS :)
13:27 timeless pretty much
13:27 timeless eventually macOS / Mac OS X
13:27 timeless once X% have switched
13:28 timeless say ~3 years?
13:28 FROGGS switched... to ubuntu? :P
13:29 timeless jnthn: so, `so` is unfortunate
13:29 timeless i want `step-over` and `finish`
13:29 timeless basically, the perl debugger likes substepping through complicated print for @foo; operations
13:29 timeless but i want to step past that operation
13:30 timeless and not leave the subroutine
13:30 jnthn timeless: Sorry, was tied up with work. :) So far as I remember (it's been a long time) there's not up/down, but pseudo-packages like CALLER::<$file> or so should work
13:30 timeless > s CALLER::<$file>
13:30 timeless Nil
13:30 jnthn CALLERS::<$file> maybe
13:31 jnthn I think CALLER only looks one level down
13:31 timeless bt fwiw https://www.irccloud.com/pastebin/ighwKFw4/
13:31 timeless also nil
13:32 timeless and, while it's pretty neat to watch the regex engine work, i want to finish that...
13:32 timeless i'm in the regex engine, so i can't step out?! https://www.irccloud.com/pastebin/ImqVBCmy/
13:34 timeless also, the way the debugger presents line numbers is odd... i *finally* figured out it was telling me the range of the lines it was showing
13:34 timeless i'd rather it just prefix each line w/ its line number and have the thing that shows a range tell me the line i'm on...
13:35 FROGGS timeless: create tickets or pull requests
13:35 jnthn I'm afraid, given how limited my time is, it's mostly a case of "patches welcome" for the moment.
13:35 jnthn It's entirely possible to build/ship/use alternative UIs for the debugger.
13:35 FROGGS at least let us have tickets so we dont forget these things
13:36 jnthn Though I've no problem with somebody improving the current one in-place also.
13:36 jnthn But I really don't have time to do substantial work on it. :(
13:37 Amnez777 joined #perl6
13:37 timeless FROGGS: i'm somewhat concerned about filing 100 issues
13:37 FROGGS do them in batches :D
13:41 FROGGS no really, please file them (via email, pretty simple) so we can improve
13:41 timeless email?
13:41 * timeless just opened a couple on https://github.com/jnthn/rakudo-debugger/issues/
13:42 timeless if that's the wrong place, i'm sorry, you've lost your time
13:42 FROGGS timeless: http://rakudo.org/tickets/
13:42 timeless i can allocate not more than an hour this week
13:42 jnthn timeless: No, that's the right place.
13:42 FROGGS ahh, alright
13:42 timeless i really really want to make progress on htmlify
13:42 timeless but then i have to pack
13:42 jnthn FROGGS: The debugger UI is in that repo, only the driver is in the Rakudo repo...so on issues is fine.
13:43 FROGGS I see
13:45 [Coke] timeless: are you trying to do anything on htmlify other than "make it faster" ?
13:45 timeless yes
13:46 timeless right now i want to fix symbol handling
13:46 timeless which means understanding how this stuff works
13:46 [Coke] ah, ok
13:46 timeless is there a `locals` verb?
13:46 _mg_ joined #perl6
13:46 timeless i.e. show me my local variables
13:47 psch MY::.keys?
13:47 psch not sure that works in the debugger
13:47 timeless assume i'm here https://www.irccloud.com/pastebin/f4raH2U4/
13:47 timeless MY::keys says nil, but i'm technically in call_with_capture
13:47 timeless so it probably isn't wrong
13:48 timeless i really want to be in line 5  (p2h)
13:48 timeless no, MY::keys doesn't seem to be doing anything useful https://www.irccloud.com/pastebin/hc6FiUGE/
13:50 FROGGS MY::<dot>keys
13:50 timeless i think i'll have to switch to `comment+print+die` debugging
13:50 timeless > p MY::<dot>keys
13:50 timeless Two terms in a row
13:50 FROGGS no, a literal dot
13:51 FROGGS <psch> MY::.keys?
13:51 timeless ($=pod !UNIT_MARKER $_ EXPORT ::?PACKAGE GLOBALish $?PACKAGE)
13:51 timeless ok, that doesn't seem totally wrong, i guess,  maybe?
13:51 psch that's the default vars in any scope
13:51 psch m: say MY::.keys
13:51 camelia rakudo-moar d92722: OUTPUT«($=pod !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish $/ $?PACKAGE)␤»
13:51 psch timeless: now you can stack CALLER:: infront to go up as many levels as you want
13:52 psch like, CALLER::CALLER::MY::.keys for two levels
13:52 psch m: say CALLER::
13:52 camelia rakudo-moar d92722: OUTPUT«PseudoStash.new(())␤»
13:52 timeless > p CALLER::MY::.keys
13:52 timeless ()
13:52 psch gr
13:52 psch m: say CALLER::MY::.keys
13:52 camelia rakudo-moar d92722: OUTPUT«()␤»
13:52 psch so you reach UNIT_OUTER already i guess
13:52 timeless > p CALLER::CALLER::MY::.keys
13:52 timeless ($vm_ctx $code $_ $! $*DISPATCHER RETURN $ctx $¢ $compiler $comp'd $/)
13:52 timeless ok, so, that's something, i guess
13:52 timeless $¢ ?
13:53 psch that's compiling a regex i think
13:53 timeless how do i look at it?
13:53 psch that variable is the current CURSOR while building a Match object
13:53 timeless > p CALLER::CALLER::$¢
13:53 timeless Two terms in a row
13:53 psch need <> around the variable name
13:53 FROGGS m: $_ = 42; say MY::<$_>
13:53 camelia rakudo-moar d92722: OUTPUT«42␤»
13:53 FROGGS similar to this
13:54 timeless > p CALLER::CALLER::<$¢>
13:54 timeless Nil
13:54 timeless that's helpful
13:56 timeless ok, interesting, and probably worth dumping into `help`
13:56 timeless but, not workable
13:56 * timeless gives up on the debugger and tries # + say + die
13:57 dalek doc: f5bf984 | (Zoffix Znet)++ | / (2 files):
13:57 dalek doc: Improve the look of Not In Index search result message
13:57 dalek doc:
13:57 dalek doc: Use Can Can color for text and Carmile. Closes #595
13:57 dalek doc: review: https://github.com/perl6/doc/commit/f5bf9847d5
13:59 tbrowder hi, p6 people
13:59 * timeless wonders where pod2html lives
14:00 sexy-coder-girl which pod2html
14:00 tbrowder yapc::na::2016 attendees: I have  one of these stickers for you at the event, see: <https://tbrowder.net>
14:00 timeless sexy-coder-girl: the perl6 function, not the binary
14:00 timeless short of using the debugger which hasn't helped me, can i ask perl6 to tell me what file defined a function?
14:01 moritz timeless: there's a Pod::To::HTML module (which you can find on https://modules.perl6.org/)
14:01 timeless moritz: i'm assuming that's what this is using
14:01 moritz and you can invoke it as perl6 --doc=HTML file
14:01 sexy-coder-girl timeless: &pod2html.file.say
14:01 FROGGS nine / azawawi: HAS is ported and works, I just need to convert a die and a warn to exceptions
14:01 timeless sexy-coder-girl: thx
14:01 stevieb sexy-coder-girl: that's a really cool feature
14:02 timeless [timeless@gcc2-power8 doc]$ perl6 -e 'use Pod::To::HTML; &pod2html.file.say'
14:02 timeless site#sources/342151EED413708D1E987F0AFA636072F958391F (Pod::To::HTML)
14:02 timeless that's an odd answer though
14:02 timeless can i get it in the form of an absolute path to a real file? :)
14:03 timeless it's actually moar-nom/install/share/perl6/site/sources/342151EED413708D1E987F0AFA636072F958391
14:03 timeless but, i'd rather not have to grep to find the answer :)
14:03 FROGGS what about this?  perl6 -e 'use Pod::To::HTML; &pod2html.file.IO.absolute.say'
14:03 FROGGS dunno if this will work
14:03 timeless /home/timeless/hg/perl6/doc/site#sources/342151EED413708D1E987F0AFA636072F958391F (Pod::To::HTML)
14:03 psch probably have to go via CU::PrecompRepo first to turn the spec into a path
14:04 timeless that's almost a something
14:04 timeless but i think it's totally wrong :)
14:04 FROGGS hehe
14:06 timeless sub pod2html($pod, :&url = -> $url { $url }, :$head = '', :$header = '', :$footer = '', :$default-title) is export returns Str {
14:06 timeless is there a perl6toEnglish?
14:07 psch i think doc.perl6.org qualifies, even though it's incomplete :)
14:07 timeless $pod is a normal variable
14:07 timeless :&url = -> $url { $url }
14:07 timeless otoh...
14:08 sexy-coder-girl timeless: that's a `url' named param that takes a Callable and it's got a default value
14:08 psch that's just a named Callable with an identity function as default
14:09 timeless ok...
14:10 timeless m: spurt.file.say
14:10 camelia rakudo-moar d92722: OUTPUT«spurt is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub spurt at src/RESTRICTED.setting line 17␤  in block <unit> at <tmp> line 1␤␤»
14:10 sexy-coder-girl m: sub foo (:&say) { say "42"}; foo :say({ say "No! I will not say $^a" })
14:10 camelia rakudo-moar d92722: OUTPUT«No! I will not say 42␤»
14:10 sexy-coder-girl ehehehe
14:11 sexy-coder-girl timeless: you're actually calling spurt in that instance. You missed the & sigil
14:11 timeless m: &spurt.file.say
14:11 camelia rakudo-moar d92722: OUTPUT«src/RESTRICTED.setting␤»
14:11 timeless ok... slightly less verbose-- i just wanted to confirm `internal function`
14:12 timeless ok, i think what i want to futz with is actually $*DR.add-new(..
14:13 sexy-coder-girl m: sub is-internal { say CORE::("&" ~ $^a) ?? "yup" !! "nope" }; sub foo{}; is-internal "foo"; is-internal "slurp"
14:13 camelia rakudo-moar d92722: OUTPUT«nope␤yup␤»
14:14 timeless sub find-references(:$pod!, :$url, :$origin) {
14:15 timeless so, these are named variables, pod (! -- ?), url, origin?
14:15 psch timeless: Parameters
14:15 sexy-coder-girl timeless: yes, the ! means the var is required
14:15 psch http://doc.perl6.org/type/Signature#Positional_vs._Named
14:16 timeless ok, if i want to change the value of one of these things
14:16 timeless so that i can pass its modified value into a new callee w/ the same named argument name
14:16 sexy-coder-girl timeless: http://perl6.party/post/Perl-6-There-Are-Traitors-In-Our-Midst--Part-1#iscopy
14:16 timeless been there, seen that, ok
14:17 timeless is it `$url` or `:$url` ?
14:17 timeless w/o the `:` it seems
14:17 sexy-coder-girl In which context?
14:18 timeless sub find-references(:$pod!, :$url is copy, :$origin) {
14:18 timeless # munge $:url
14:18 timeless register-reference(:$pod, :$origin, :$url);
14:18 timeless oh brother
14:18 timeless this won't work
14:18 timeless if i have an actual url, ... sigh
14:22 huggable joined #perl6
14:23 timeless would people object to me pushing something like this? https://www.irccloud.com/pastebin/imJlU7F1/
14:25 [Coke] can't see pastebin from here, sorry.
14:25 timeless um... https://www.irccloud.com/pastebin/eLqcXYGp/
14:25 timeless [Coke]: basically refactor :url("/$kind/$filename") -- used 3 times in a row as $path="/$kind/$filename"; :url($path)
14:26 timeless the second pastebin is {writing type document for nf{c,d}}*2
14:28 [Coke] sorry, I can't provide a yes/no off that... so I'd just submit a PR and see, if it's not too much work.
14:29 [Coke] if it is, I'm sure someone else will come by.
14:29 timeless ok
14:30 timeless so, fwiw, i /almost/ have tokens working
14:30 Zero_Dogg joined #perl6
14:30 timeless i now have a file named `and.html`
14:30 timeless unfortunately, it has a link to:
14:30 timeless <p><a href="slash-routine-slash-and">&#39;and&#39; is a infix operator</a> from <a
14:30 ptolemarch joined #perl6
14:31 [Coke] over eager deslashing?
14:31 timeless yeah
14:32 timeless i'm hoping it's just one call that shouldn't be
14:33 timeless actually :-(
14:33 timeless `and` already was a page
14:33 timeless eww
14:34 timeless oh, right, my page would be `amp.html`
14:34 arnsholt timeless: A useful trick with named parameters is the :$foo notation, which expands to :foo($foo)
14:34 timeless arnsholt: that's actually what confused me
14:34 timeless since that's all i saw
14:35 arnsholt Ah, right =)
14:35 timeless so, the useful trick is :foo($somethingelse) :)
14:35 arnsholt Depends, I guess =)
14:35 arnsholt But it works both in signatures and in invocations
14:35 rurban joined #perl6
14:36 * timeless should try removing most of the files from doc/
14:36 timeless (htmlify is slow, surely, processing less content would make it faster)
14:36 timotimo no need
14:36 timotimo there is an option for that
14:36 timotimo --sparse i believe
14:36 acrussell joined #perl6
14:37 timeless --sparse is too hard for me to follow
14:38 timeless grr, i really want a signal handler that when triggered dumps the current call stack
14:38 timeless Writing language document for Sets, Bags, and Mixes ...
14:38 timeless ^ great, but, it's been there for a while is it stuck, or?
14:38 girafe joined #perl6
14:39 [Coke] timeless: you're also exec'ing out to python to pygmentize stuff unless you passed in the right --arg.
14:39 timeless [Coke]: i /think/ i'm passing the right arg for that
14:40 [Coke] try: "make sparse"
14:40 [Coke] timeless: ah, ok.
14:40 * [Coke] wonders how long "make test" has been failing. :|
14:40 timeless hrm
14:41 [Coke] oh, maybe it's just my install. whew.
14:41 * timeless sighs
14:41 timeless so, um
14:41 timeless the reason for the nfc thing
14:41 timeless [timeless@gcc2-power8 Type]$ grep '=TITLE' NF*
14:41 timeless NFC.pod:=TITLE class NFC
14:41 timeless NFD.pod:=TITLE class NFD
14:41 timeless NFKC.pod:=TITLE class NFC
14:41 timeless NFKD.pod:=TITLE class NFD
14:41 [Coke] whew.
14:41 timeless lemme shelve my work and fix that
14:43 cognominal joined #perl6
14:43 dalek doc: 2f21131 | (Josh Soref)++ | doc/Type/NFK (2 files):
14:43 dalek doc: fix titles for NFK*
14:43 dalek doc: review: https://github.com/perl6/doc/commit/2f211317c2
14:43 Woodi yay :)  Weatherapp: Part 2 just clicked how-to-write-tests button in my brain! Zoffix++ :)  you want to know how ?
14:44 [Coke] could probably write a test that made sure that Type/foo.x had the right name in the title.
14:44 Woodi tests-are-good button was in masak++ blog :)
14:44 timeless [Coke]: i should have stopped all perl work for the week an hour ago
14:46 khw joined #perl6
14:47 edehont joined #perl6
14:55 Emeric how can I test if a value exist in a list ?
14:55 Emeric + s
14:56 moritz m: if 'a' eq any( <a b c> ) { say "it's there, Emeric" }
14:56 camelia rakudo-moar d92722: OUTPUT«it's there, Emeric␤»
14:57 Emeric thanks, moritz
14:58 sexy-coder-girl m: say so 'a' ∈ <a b c>
14:58 camelia rakudo-moar d92722: OUTPUT«True␤»
14:58 sexy-coder-girl Woodi: how?
14:58 moritz that's even nicer, sexy-coder-girl++
14:59 perlpilot sexy-coder-girl: I can't believe you've kept that nick this long.
14:59 FROGGS joined #perl6
14:59 sexy-coder-girl perlpilot: you remember it from 7 years ago? :)
15:00 sexy-coder-girl Not sure how long "this long" is :)
15:01 perlpilot longer than about 5 minutes is too long IMHO  :)
15:01 sexy-coder-girl Naah
15:02 perlpilot Has you gotten more ... "attention" with it?  ;)
15:02 perlpilot s/Has/Have/
15:03 sexy-coder-girl Well, I think the current conversation is a prime example of that :P
15:03 perlpilot :-P
15:13 _mg_ joined #perl6
15:17 _mg_ joined #perl6
15:27 rurban_ joined #perl6
15:27 edehont joined #perl6
15:32 acrussell joined #perl6
15:32 Woodi sexy-coder-girl: thank you for a question :)  so, realy there is no such thing like "declarative" programming (as in: "Computer! Find me a landing spot!") - declarative and imperative are jast faces of one coin - given giveMeSum(2+1) _someone_ needed to actualy implement how to give the answer. so every API is "declarative" part and implementation is needed result. so, "testing" is just "how I use that
15:32 Woodi functions" - it is *using* of API! just ...
15:32 Woodi ... like asking Computer (usually holographically displayed nice girl (in games at least)) - you can ask about non-existing (not implemented) functionality :)
15:33 Woodi ...but I do not give any guqrantee about that theory. just works for me :)
15:34 Emeric m: say ("A B C 4536".split(/Zs/)).elems;              #Why 1, and not 4 ?
15:34 camelia rakudo-moar d92722: OUTPUT«1␤»
15:35 perlpilot Emeric: what do you think /Zs/ does?
15:36 Emeric it separates by spaces ?
15:36 perlpilot Why do you think that? :)
15:36 perlpilot m:  "fooZsbarZsbaz".split(/Zs/).say
15:36 Emeric is it wrong ? :-*
15:36 camelia rakudo-moar d92722: OUTPUT«(foo bar baz)␤»
15:37 perlpilot /Zs/ matches the literal string "Zs"
15:37 edehont joined #perl6
15:39 perlpilot m:  "A B C 4536".split(/:Zs/).say;   # I'm going to guess you just misread the docs for now
15:39 camelia rakudo-moar d92722: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized regex modifier :Zs␤at <tmp>:1␤------> 3"A B C 4536".split(/:7⏏5Zs/).say;   # I'm going to guess you jus␤    expecting any of:␤        argument list␤        term␤»
15:39 Emeric oh yeah, I'm stupid
15:39 perlpilot m:  "A B C 4536".split(/<:Zs>/).say;   # I'm going to guess you just misread the docs for now
15:39 camelia rakudo-moar d92722: OUTPUT«(A B C 4536)␤»
15:39 mr-foobar joined #perl6
15:39 perlpilot blah, I couldn't even type it right
15:39 FROGGS joined #perl6
15:39 Emeric or i just can use : ("A B C 4536".split(' ')).elems
15:40 arnsholt perlpilot: Eh, a mere two attempts at getting the evalbot to do what you want counts as a success to me =)
15:40 timeless ok, i sorta have files picking reasonable names https://www.irccloud.com/pastebin/W2Aeq2j9/
15:40 timeless but, i'm still missing `&` (amp) and `#` (hash)
15:40 Emeric thanks, perlpilot ! :)
15:41 FROGGS timeless: why dont you convert these to %26 etc?
15:41 timeless FROGGS: because google searches for % whatever aren't remotely helpful
15:41 timeless and they make for crappy urls
15:42 FROGGS ohh, I was thinking this is about filesystem representation only
15:42 timeless i could split it, but that'd mean making the url handler much more complicated
15:42 timeless it helps to  think of things wholistically :)
15:43 raiph joined #perl6
15:43 FROGGS :o)
15:46 timeless Cannot use variable $english-name in declaration to initialize itself
15:46 timeless at gen/moar/m-CORE.setting:21553  (/home/timeless/hg/perl6/rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:throw)
15:46 timeless could rakudo possibly tell me the line number / column for that error?
15:46 timeless my $english-name = english-for-tokens($name.subst(/<[/\\]>/,'_',:g);
15:46 timeless print "$name -> $english-name\n";
15:46 timeless spurt "html/$kind/$english-name.html", p2h($pod, $kind);
15:47 timeless oh
15:47 FROGGS missing )
15:47 timeless what that error actually meant was ... yeah
15:47 timeless that
15:47 timeless LTA
15:47 FROGGS aye
15:48 timeless perl5 was pretty good about "you seem to have a runon/it started here"
15:49 timeless cute
15:49 timeless the old code actually remapped `/` as `_` but no one told whomever was using that
15:49 timeless which is why `/` doesn't work :)
15:50 timeless http://localhost:3000/syntax/slash%20slash
15:50 timeless Documentation for quote / /
15:50 timeless that's like readable and stuff!
15:50 timeless http://doc.perl6.org/syntax/_%20_
15:50 timeless is where that is hiding today
15:51 timeless which makes no sens
15:51 timeless e
15:51 gregf_ perlpilot: is <:Zs> the same as /\s+/?
15:53 arnsholt S05 says "\s now matches any Unicode whitespace character." so I think the two should be equivalent, yeah
15:53 gregf_ oh - unicode
15:53 gregf_ arnsholt: ta
15:54 sexy-coder-girl Woodi: the obvious flaw in that reasoning is the "testing" part can be replaced with "using it in your code" :)
15:54 sexy-coder-girl So it doesn't follow that testing is a "good idea"
15:55 sexy-coder-girl Oh, the WeatherApp was "how to write tests" not why it's good. Never mind then :D
15:55 timeless [Coke]: "Language/operators.pod" doesn't seem to have `#`
15:55 timeless am i blind, or looking in the wrong place?
15:56 gregf_ any perl regex i used could be easily translated to Java/php/python/ruby(PCRE). Perl6 seems to have changed quite a bit :|
15:57 gregf_ s/be easily/easily be/
15:57 timeless gregf_: as a warning, $1 -> $0 as of perl6
15:57 * timeless wonders what the order of operations is for `#` (comment)
15:57 sexy-coder-girl gregf_: yeah, it was kind'f the idea. Make better regexes and not merely replicate the status quo
15:58 timeless sexy-coder-girl: i don't suppose i could get you to tell me where you'd expect to find `#` documented in the perl6 docs :)
15:58 gregf_ sexy-coder-girl: and why dont \A \z work? o_O
15:59 timeless is it part of `syntax` or `operators` or ....?
15:59 sexy-coder-girl gregf_: because they are ^ and $
15:59 sexy-coder-girl gregf_: and if you want per-line, you use ^^ and $$
15:59 sexy-coder-girl m: say so "foo\n" ~~ /'foo' $/
15:59 camelia rakudo-moar d92722: OUTPUT«False␤»
16:00 sexy-coder-girl ^ also different from Perl 5
16:00 sexy-coder-girl m: say so "foo\n" ~~ /'foo' $$/
16:00 camelia rakudo-moar d92722: OUTPUT«True␤»
16:00 FROGGS joined #perl6
16:01 sexy-coder-girl timeless: I wouldn't be surprised if it's not even documented.
16:01 FROGGS nine / azawawi: done, please tell me if moving HAS to Perl6::Grammar has not the desired effect
16:01 timeless sexy-coder-girl: it doesn't seem to be
16:02 timeless i'm trying to figure out where to put it
16:02 sexy-coder-girl Do people even need to know what a comment is in a language these days? Ctrl+D in your editor DTRT
16:02 timeless comments in general are in syntax
16:02 timeless sexy-coder-girl: my favorite editor is notepad.exe
16:02 * timeless has no idea what ^D does in notepad
16:02 sexy-coder-girl timeless: it's here: http://docs.perl6.org/language/syntax#Comments
16:02 sexy-coder-girl timeless: except it isn't, is it?
16:02 timeless right
16:03 timeless ^D=bell in notepad fwiw :)
16:03 stevieb timeless: ^D in notepad.exe starts the win10 upgrade ;)
16:03 timeless (i.e. annoy user for doing something stupid)
16:03 sexy-coder-girl stevieb++
16:03 timeless stevieb: i'm running w10
16:03 timeless sexy-coder-girl: , so, i just add a =head3 of some sort?
16:04 sexy-coder-girl timeless: well, you should consider using a proper editor :) Notepad doesn't even use utf-8 by default
16:04 timeless sexy-coder-girl: um, i'm pretty sure it does
16:04 sexy-coder-girl timeless: =head3 for where?
16:04 FROGGS Notepad++.exe would be a good choice :o)
16:04 timeless ????
16:04 sexy-coder-girl timeless: uses ANSI by default on Win7. I'm sure it's still just as dumb on Win10
16:04 timeless err, yeah, you're right
16:05 * timeless isn't actually certain it's always ansi
16:05 timeless it might be something else for CJK...
16:05 sexy-coder-girl timeless: =head3 for what?
16:05 timeless comment hash
16:05 sexy-coder-girl timeless: but it's already documented.
16:05 timeless sexy-coder-girl: but there's no article in doc.perl6.org for it
16:05 timeless ther's a "comments" thing
16:05 raiph .tell TimToady FYI I added "Can a module alter the type system?" and "Is Perl 6 a universal unrestricted grammar?" to the slashdot article. Both questions were removed. Too controversial I guess...
16:05 yoleaux raiph: I'll pass your message to TimToady.
16:05 timeless but no "#" thinig
16:05 baest joined #perl6
16:06 Amnez777 joined #perl6
16:06 sexy-coder-girl timeless: well, there needn't be a separate page for that. You can add it into search index with X<> pod thingie though.
16:06 timeless sexy-coder-girl: ok
16:06 * timeless looks for an X<> example
16:06 sexy-coder-girl just do   grep -R 'X<' and you'll find lots
16:07 acrussell joined #perl6
16:07 sexy-coder-girl It may be something like X<#|syntax comment> but I'm just guessing here.
16:07 FROGGS on windows?
16:07 timeless sexy-coder-girl: fwiw, the search system is pretty lame
16:07 timeless if i do `Binding operator` as my search
16:07 timeless the result is http://localhost:3000/language/operators
16:07 timeless it should be http://localhost:3000/language/operators#infix_:=
16:09 sexy-coder-girl Well... Feel free to improve it :)
16:09 * timeless adds it to the back of the queue
16:09 ssotka joined #perl6
16:09 El_Che tadzik: sent an updated PR for config::ini
16:10 dogbert17 joined #perl6
16:10 stmuk_ is there a darker beer emoji than :beer: :/
16:11 sexy-coder-girl .u beer
16:11 yoleaux U+1F37A BEER MUG [So] (????)
16:11 yoleaux U+1F37B CLINKING BEER MUGS [So] (????)
16:12 raiph is there a .command to undo a .tell? ;)
16:12 sexy-coder-girl Try ZWSing it with dark skin tones XD
16:12 krakan joined #perl6
16:12 raiph .tell TimToady Forget my last comment. (The questions are there.)
16:12 yoleaux raiph: I'll pass your message to TimToady.
16:13 timeless sexy-coder-girl: this doesn't seem to work particularly  https://www.irccloud.com/pastebin/ICF9Sq4o/
16:14 sexy-coder-girl timeless: meaning what... you rebuilt everything and it's not showing up in search results?
16:14 FROGGS raiph: maybe they are just searching for troll questions :o)
16:14 timeless yeah
16:14 * timeless has a tiny "everything", but yeah
16:14 sexy-coder-girl Are you sure you the search index been rebuilt?
16:14 [Coke] timeless: # isn't an operator.
16:14 timeless [Coke]: ok...
16:14 * timeless still needs to be able to search for it
16:15 [Coke] sure.
16:15 domidumont joined #perl6
16:15 timeless [Coke]: ok, how about `&` ?
16:16 timeless oh
16:16 timeless yeah
16:16 * timeless sighs
16:16 timeless ok, that's just me having broken something :/
16:17 timeless sexy-coder-girl: yep, positive, make clean html-nohighlight
16:18 rindolf joined #perl6
16:18 azawawi joined #perl6
16:18 azawawi .
16:18 azawawi FROGGS: works perfectly
16:18 azawawi FROGGS++
16:18 FROGGS \o/
16:19 sexy-coder-girl .moon
16:19 yoleaux Waxing Gibbous (0.317)
16:19 azawawi FROGGS: 97 wall seconds first startup, 4MB .precomp folder
16:19 sexy-coder-girl timeless: try pressing CTRL+F5 in your browser
16:19 timeless sexy-coder-girl: i checked js/search.js directly :)
16:19 FROGGS WAT
16:20 masak hi #perl6 from a (motionless) train! o/
16:20 FROGGS azawawi: do you have timing for the second call, and then both timings fro the current code?
16:20 timeless masak: as long as your train is upright
16:21 azawawi FROGGS: first time, GTK::Simple used to take 125 seconds :)
16:21 * FROGGS hopes that 97s is not for the current code
16:21 azawawi https://github.com/perl6/gtk-simple/blob/master/lib/GTK/Simple.pm6
16:21 azawawi FROGGS: 10 seconds second run
16:21 FROGGS uff, okay
16:21 masak timeless: not only is it upright, it's also above water level
16:22 timeless masak: also good, although not strictly necessary
16:22 masak agreed.
16:22 timeless (Eurostar )
16:22 masak ok, I'll amend that. the train is not sunk, which I like.
16:22 timeless being connected to rails otoh seems like a good quality
16:22 masak it's moving now.
16:22 masak I estimate it's about 5 m above water level.
16:22 sexy-coder-girl masak: are you about to start shooting lasers and measuring the speed of light for various observers?
16:23 FROGGS azawawi: still that wants to get faster :o)
16:23 masak oh, and it's on rails.
16:23 azawawi FROGGS: yup
16:23 timeless stay away from the rubies :)
16:23 * masak .oO( eternal n00bie on rails )
16:23 azawawi FROGGS: that's on an intel i7-2600 ubuntu VM btw
16:24 FROGGS I'll clone that repo once I have proper internet
16:25 * FROGGS is also sitting in a moving train
16:26 FROGGS ... and I think I need to get off
16:26 FROGGS o/
16:27 masak sexy-coder-girl: this is one of those boring subluminal trains. 0.00139% the speed of light. :(
16:31 * timeless hates not having a good way to puzzle through htmlify.p6
16:31 timeless so... somewhere in this mess something defines a `.url` property
16:32 timeless process-pod-source i guess?
16:32 timeless Two terms in a row across lines (missing semicolon or comma?)
16:32 timeless LTA
16:33 timeless could it possibly include at least a line number??
16:33 timeless m: say "1\2";
16:33 camelia rakudo-moar ac0dcd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence (did you mean $1?)␤at <tmp>:1␤------> 3say "1\27⏏5";␤»
16:34 timeless m: say "1"␤my $t="2";
16:34 camelia rakudo-moar ac0dcd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row across lines (missing semicolon or comma?)␤at <tmp>:2␤------> 3say "1"7⏏5<EOL>␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        stateme…»
16:34 timeless no fair
16:34 timeless why is camelia giving me better error reporting than perl6?
16:35 timeless is there a flag i need to give to perl6 to get that?
16:37 parabolize were you using the REPL?
16:37 timeless no
16:37 parabolize because it doesn't need `;`
16:37 timeless i had a file where i accidentally omitted the `;`
16:37 timeless and the error sucked
16:37 timeless so i hoped camelia would show that
16:38 timeless but.. camelia spoiled my example by having a good error
16:38 mr-foobar joined #perl6
16:40 * masak makes an embarrassing mistake involving regexes and backtracking
16:40 jnthn masak: Happens to the best of us... :P
16:40 masak yes, clearly :P
16:41 * masak .oO( clealr^H^Hrly )
17:00 Fleurety_ joined #perl6
17:11 baest joined #perl6
17:11 pmurias joined #perl6
17:11 pmurias do we have a working module to allow displaying 2d graphics from Perl 6?
17:12 masak pmurias: using which kind of rendering? d3js? ASCII? GTK?
17:13 pmurias masak: I don't know what the options are ;)
17:13 tadzik we have SDL, Cairo
17:13 mst joined #perl6
17:13 mst joined #perl6
17:13 tadzik SVG probably counts too :)
17:13 tadzik erm, SVG
17:14 rurban joined #perl6
17:15 pmurias which one should I use for SDL? SDL or SDL2::Raw?
17:18 masak say you get a type T in Perl 6. how can you ask "is T a role?" ?
17:18 masak (and get a True/False answer back)
17:20 pmurias masak: you could check the metaclass object
17:21 masak m: role R {}; class C {}; say so ~.HOW ~~ /Role/ for R, C
17:21 camelia rakudo-moar ac0dcd: OUTPUT«True␤False␤»
17:21 masak this is the best I have so far. not very nice.
17:22 pmurias m: role A {}; class B {}; role Role {}; say (A.HOW ~~ (role {}).HOW.WHAT)
17:22 camelia rakudo-moar ac0dcd: OUTPUT«False␤»
17:24 pmurias m: role A {}; class B {}; role Role {}; say (A.HOW ~~ Role.HOW.WHAT); say (B.HOW ~~ Role.HOW.WHAT)
17:24 camelia rakudo-moar ac0dcd: OUTPUT«True␤False␤»
17:24 masak ok, that one trumps mine.
17:25 timeless m: $a="/this/that/"; $a ~~ m!(/[^/]*/)(.*)!; print "$0 $1"
17:25 camelia rakudo-moar ac0dcd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared␤at <tmp>:1␤------> 3<BOL>7⏏5$a="/this/that/"; $a ~~ m!(/[^/]*/)(.*)!␤»
17:25 masak m: role A {}; class B {}; say .HOW ~~ (role {}).HOW.WHAT for A, B
17:25 camelia rakudo-moar ac0dcd: OUTPUT«False␤False␤»
17:25 masak hrm
17:25 timeless m: my $a="/this/that/"; $a ~~ m!(/[^/]*/)(.*)!; say "$0 $1"
17:25 camelia rakudo-moar ac0dcd: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter / (must be quoted to match literally)␤at <tmp>:1␤------> 3my $a="/this/that/"; $a ~~ m!(7⏏5/[^/]*/)(.*)!; say "$0 $1"␤Unrecognized regex metacharacter [ (must be quoted to match literally)…»
17:25 timeless m: my $a="/this/that/"; $a ~~ m!(\/[^/]*\/)(.*)!; say "$0 $1"
17:25 camelia rakudo-moar ac0dcd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized regex metacharacter / (must be quoted to match literally)␤at <tmp>:1␤------> 3my $a="/this/that/"; $a ~~ m!(\/[^7⏏5/]*\/)(.*)!; say "$0 $1"␤    expecting any of:␤        infix stop…»
17:26 masak m: role A {}; class B {}; my role R {}; say .HOW ~~ R.HOW.WHAT for A, B
17:26 timeless m: my $a="/this/that/"; $a ~~ m!(\/[^\/]*\/)(.*)!; say "$0 $1"
17:26 camelia rakudo-moar ac0dcd: OUTPUT«True␤False␤»
17:26 camelia rakudo-moar ac0dcd: OUTPUT«Use of Nil in string context  in block <unit> at <tmp> line 1␤Use of Nil in string context  in block <unit> at <tmp> line 1␤ ␤»
17:26 timeless m: my $a="/this/that/"; $a ~~ m!(\/[^\/]*\/)(.*)! && say "$0 $1"
17:26 camelia rakudo-moar ac0dcd: ( no output )
17:26 pmurias masak: why dosn't it work with an anonymous one?
17:26 timeless m: my $a="/this/that/"; $a ~~ m!(\/[^\/]*\/)(.*)! ?? say "$0 $1" !! say "bad-re"
17:26 camelia rakudo-moar ac0dcd: OUTPUT«bad-re␤»
17:27 * timeless waves up a perl5-refugee white-flag-of-surrender
17:28 masak pmurias: I don't know.
17:28 masak pmurias: maybe something gets mixed into it?
17:30 rindolf joined #perl6
17:31 masak timeless: I think you mean <-[\/]>, not [^\/]
17:31 masak or even <-[/]>
17:31 timeless m: my $a="/this/that/"; $a ~~ m!(\/<-[/]>*\/)(.*)! ?? say "$0 $1" !! say "bad-re"
17:31 camelia rakudo-moar ac0dcd: OUTPUT«/this/ that/␤»
17:31 timeless yes
17:34 pmurias masak: anonymous roles have a different metaclass
17:35 pmurias m: role A {}; my $a := role {}; say(A.HOW.WHAT);say($a.HOW.WHAT);
17:35 camelia rakudo-moar ac0dcd: OUTPUT«(ParametricRoleGroupHOW)␤(ParametricRoleHOW)␤»
17:35 jnthn m: my $a = role A {}; say $a.HOW.WHAT
17:35 camelia rakudo-moar ac0dcd: OUTPUT«(ParametricRoleHOW)␤»
17:35 jnthn Not really. A role as an expression always evaluates to the exact variant you declared.
17:35 jnthn It's just the symbol installed in the namespace that's the group
17:36 spider-mario joined #perl6
17:37 setty1 joined #perl6
17:38 masak oh, right
17:41 sexy-coder-girl pmurias: you want SDL2::Raw. The SDL wasn't working last time I tried it. SDL2::Raw may be incomplete, but timotimo would want to know what you're missing
17:45 timotimo yo. sdl what for?
17:46 lizmat .tell FROGGS could you explain what ac0dcdd fixes (e.g. in the ChangeLog) ?
17:46 yoleaux lizmat: I'll pass your message to FROGGS.
17:46 pmurias timotimo: draw some sprites, likely just fooling around ;)
17:48 timotimo ah, yes
17:49 sexy-coder-girl .join #perl6-dev
17:49 yoleaux sexy-coder-girl: Sorry, this command is admin-only.
17:53 sexy-coder-girl .oO( is yoleaux a French for YOLO? )
17:54 sjn sexy-coder-girl: yes :)
17:54 sexy-coder-girl lol
17:54 sjn it actually is :D
17:55 sjn well, the bot name is
17:56 masak TIL about `from __future__ import barry_as_FLUFL`
18:02 DrForr from __future__ import marty;
18:04 jjido_ joined #perl6
18:05 baest_ joined #perl6
18:06 * stmuk_ wonders if sexy-coder-girl eats poutine and drinks vodka
18:06 sexy-coder-girl I don't drink.
18:06 * dj_goku_ mmm poutine
18:10 stevieb in Canada, it's poutine, hockey and beer/whisky, not in that particular order
18:10 masak hehe, there's even a test_flufl.py in the test suite :P
18:11 sexy-coder-girl The only people I've seen rave about poutine here are Americans who buy it because they can't get it in US....
18:12 stevieb I've run into the same. My girlfriend is from TX, and she loves the stuff. When her daugher flies up from SF, we have to eat poutine at least 3-4 times (she'll be arriving in ~10 days, so I'll be ready)
18:16 perlpilot stevieb: is your GF a little on the hefty side?  That stuff is just all kinds of calories.
18:16 stevieb LOL no, absolutely not at all
18:17 stevieb I have however warned her of the risk. Good thing we hike in the mountains every weekend for extended periods to burn it all off
18:17 TEttinger joined #perl6
18:18 vendethiel joined #perl6
18:20 sexy-coder-girl m: say :३४foo
18:20 camelia rakudo-moar ac0dcd: OUTPUT«Unexpected named parameter 'foo' passed␤  in block <unit> at <tmp> line 1␤␤»
18:20 sexy-coder-girl m: say %(:३४foo)
18:20 camelia rakudo-moar ac0dcd: OUTPUT«{foo => 34}␤»
18:22 huggable joined #perl6
18:33 cdg joined #perl6
18:37 [Coke] hike++
18:38 labster joined #perl6
18:40 FROGGS[mobile] joined #perl6
18:40 Xliff joined #perl6
18:45 stevieb camp++, explore++ ;)
18:45 stevieb bear spray++
18:45 sexy-coder-girl (air-conditioned couch)++
18:45 stevieb LOL
18:49 literal is there a special method like BUILD that gets called during/after object creation but where I don't need to specify all the attributes in the method signature?
18:50 alnewkirk joined #perl6
18:50 lizmat literal: not sure what you mean ?
18:50 masak literal: .new ?
18:50 lizmat could you elaborate ?
18:51 moritz BUILDALL
18:51 moritz http://doc.perl6.org/language/objects#Object_Construction
18:52 literal I guess I was just wondering which one is more analogous to Moose's BUILD
18:53 hoelzro if you don't have any private attrs, you don't need to specify them in BUILD's signature, do you?
18:54 hoelzro m: class C { has $.public; submethod BUILD { say 'building' }; }; say C.new(:public(17)).public
18:54 camelia rakudo-moar ac0dcd: OUTPUT«building␤(Any)␤»
18:54 moritz specifying a custom BUILD disables autoamtic attribute initialization
18:54 hoelzro huh, maybe you do
18:54 hoelzro ahhh
18:55 literal so if I just want to set some private attributes (derived from public ones), I should use BUILDALL?
18:56 mst < sexy-coder-girl> I don't drink.
18:57 * mst rolls to disbelieve
18:59 jdv79 is there  a way to disable precomp?
18:59 itaipu joined #perl6
19:00 dwarring joined #perl6
19:01 * [Coke] wonders why it's hard to believe that someone doesn't drink.
19:02 sexy-coder-girl [Coke]: considering mst probably has me saying "I quit drinking" more than a 100 times, I don't blame his incredulity :)
19:02 sexy-coder-girl Buut.. I actually did quit. Like mid-May I think
19:02 lizmat jdv79: "no precompilation"
19:02 [Coke] ah, he had intel.
19:03 jdv79 so the only way is to edit code?
19:04 jdv79 what if i want to run a test suite liek that:(
19:04 sexy-coder-girl mst: actually, thanks to the Internet, I know the exact date when I quit. May 6th: http://irclog.perlgeek.de/perl6/2016-05-06#i_12441561
19:04 sexy-coder-girl The "nuking the entire server while drunk" is unrelated to my reasons for quitting :P
19:04 jdv79 admittedly not a popular thing to do but would be nice to catch compilation warnings
19:06 sno joined #perl6
19:07 mst [Coke]: this will be the Nth time zoffix has publically quit drinking, at this point my rolling to disbelieve is basically a running joke
19:07 kurahaupo joined #perl6
19:07 mst over a month is unusually good progress though
19:08 jdv79 that does sound amusing
19:08 yqt joined #perl6
19:09 * masak makes a mental note that zoffix == sexy-coder-girl
19:10 vendethiel *g*
19:14 kurahaupo joined #perl6
19:23 araujo_ joined #perl6
19:25 FROGGS joined #perl6
19:43 masak is there a better way to do this and an EVAL? https://github.com/masak/007/blob/fe2ebe5a632446012ecff660de59af19132e9b1f/t/integration/val-q-classes.t#L14
19:43 masak than an*
19:44 dogbert17 anyone wants to review an attempt to document Baggy.pick? If so, look here: https://gist.github.com/dogbert17/06d296160772002c93029bd90b1d6874
19:44 moritz masak: ::($name):: ?
19:45 moritz m: my $name = 'IO'; say ::($name)::.keys
19:45 camelia rakudo-moar ac0dcd: OUTPUT«()␤»
19:45 moritz m: my $name = 'IO'; say ::($name)
19:45 camelia rakudo-moar ac0dcd: OUTPUT«(IO)␤»
19:45 moritz m: my $name = 'IO'; say ::($name)::
19:45 camelia rakudo-moar ac0dcd: OUTPUT«(IO)␤»
19:45 moritz m: my $name = 'IO'; say ::($name)::.^name
19:45 camelia rakudo-moar ac0dcd: OUTPUT«IO␤»
19:45 masak whee
19:45 masak funny, I thought I tried that
19:45 jjido joined #perl6
19:45 masak you'll get a mention in the commit that fixes it ;)
19:46 moritz wait
19:46 moritz I see that $name contains a double colon in your case
19:46 masak ...yes...?
19:46 moritz uhm, does ::() resolve them?
19:47 moritz m: say ::('Proc::Async')
19:47 camelia rakudo-moar ac0dcd: OUTPUT«Proc::Async is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method gist at src/RESTRICTED.setting line 33␤  in block <unit> at <tmp> line 1␤␤»
19:47 moritz m: say ::('Proc::Async')::
19:47 camelia rakudo-moar ac0dcd: OUTPUT«Proc::Async is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method gist at src/RESTRICTED.setting line 33␤  in block <unit> at <tmp> line 1␤␤»
19:47 moritz m: say ::('Proc::Async')::.^name
19:47 camelia rakudo-moar ac0dcd: OUTPUT«Proc::Async␤»
19:47 moritz seems like "yes"
19:47 masak seems like "no" when I try here :/
19:48 moritz m: say ::('X::Method::NotFound')::.perl
19:48 camelia rakudo-moar ac0dcd: OUTPUT«X::Method::NotFound␤»
19:48 moritz m: say ::('X::Method::NotFound').WHO.^name
19:48 camelia rakudo-moar ac0dcd: OUTPUT«Stash␤»
19:48 moritz m: say ::('X::Method::NotFound').WHO.keys
19:48 camelia rakudo-moar ac0dcd: OUTPUT«()␤»
19:48 moritz m: say ::('X::Method')::.keys
19:48 camelia rakudo-moar ac0dcd: OUTPUT«()␤»
19:48 moritz m: say ::('X::Method').WHO.keys
19:48 camelia rakudo-moar ac0dcd: OUTPUT«(NotFound InvalidQualifier Private)␤»
19:49 masak ooh, ::($name).WHO worked ;)
19:49 moritz I notice I don't understand what trailing :: does
19:49 moritz I thought it was the same as .WHO
19:49 moritz m: say X::Method::.keys
19:49 camelia rakudo-moar ac0dcd: OUTPUT«(NotFound InvalidQualifier Private)␤»
19:49 moritz seems to only work with literals
19:50 masak moritz: https://github.com/masak/007/commit/c36ca643f7d998369cb15716a2f32f7d6903d5c8
19:52 moritz m: say Stash ~~ Associative
19:52 camelia rakudo-moar ac0dcd: OUTPUT«True␤»
19:52 moritz masak: you could even use a % sigil here
19:55 masak ooh
19:57 kaare_ joined #perl6
20:00 hankache joined #perl6
20:00 hankache good evening #perl6
20:01 masak good hevening, hankache
20:02 hankache good heaven-ing masak
20:03 masak good ䷀-ing
20:04 * hankache gives up
20:04 diakopter "ow my hank hurts; I have an hankache"?
20:04 hankache diakopter ;)
20:04 Zero_Dogg joined #perl6
20:05 masak and here I thought it was a kache of hans
20:07 dalek doc: f134089 | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
20:07 dalek doc: Added docs for Baggy.pick
20:07 dalek doc: review: https://github.com/perl6/doc/commit/f134089d31
20:07 hankache where is ma sake bottle
20:19 edehont joined #perl6
20:20 moritz lol I blug: https://perlgeek.de/blog-en/automating-deployments/2016-022-unit-testing.html though no Perl 6 content
20:21 jjido joined #perl6
20:24 girafe2 joined #perl6
20:25 hankache moritz++
20:27 moritz next up will be integration tests, and then maybe a bit configuration management
20:28 moritz and then I have all the topics covered that I consider essential for the book.
20:29 stevieb moritz: signed up. will the book be language specific? Doesn't look like it if you're writing Python posts on your Perl blog ;)
20:29 moritz and then I have to decide whether I'll include some bonus topics where I have to do some more research, like containers and autoamtic migrations
20:30 moritz stevieb: no. It's specific to the toolchain I use (Debian packages, GoCD, ansible), though the principles should apply to other tools as well
20:30 awwaiid joined #perl6
20:30 moritz mostly it's about showing that you can get started without much magic
20:31 moritz if I'm bored after I'm finished, I might consider creating variants based on other tools (like Jenkins or Concourse CI instead of GoCD, RPM or Docker instead of .deb)
20:31 * masak .oO( the magic comes later? )
20:32 moritz masak: magic could be an emergent property :-)
20:32 moritz though fully automatic schema migrations sure soud like magic to me right now
20:33 moritz I guess I should implement them at $work, and only later write about them :-)
20:33 stevieb do you primarily code in Python at $work?
20:33 moritz stevieb: perl 5 and python 3
20:34 moritz stevieb: though I only started with python about 1.5 or 2 years ago, and still feel like a newbie
20:34 masak moritz: python is said to be nice for newbies :P
20:35 stevieb me too, in regards to python. 1.5 years
20:35 rurban joined #perl6
20:35 stevieb problem with python is that it's not perl
20:35 moritz masak: they say that, yes
20:35 moritz and I'm productive with it
20:35 masak stevieb: there are many things besides python which are not perl
20:35 masak moritz: yes, I know what you mean
20:36 masak moritz: my biggest problem when coding python is not that I feel like a python newbie, but that I feel like a perler using python :)
20:36 moritz but I have that feeling that I'm missing out on a lot of idioms
20:36 stevieb masak: I'm aware... I just love coding perl by far more than anything else
20:37 stevieb cool thing is that I use PyCharm (pro license so I get Coverage) for python, but with Camelcade plugin, I use the exact same IDE for perl as well
20:37 moritz also I can't help but notice some of the hypocrisis in python land, which makes me quite mad
20:37 stevieb ...with its new debugging capabilities, I have everything in one place (including vim)
20:37 arnsholt One of my Python epiphanies was that whenever I find myself writing map(...) (or wanting to grep), what I actually want is a list comprehension
20:37 stevieb [x for x in ...] :)
20:38 arnsholt I've actually written that, I think
20:38 moritz stevieb: worse, [x for x in list_ if x]
20:38 moritz why is that "if x" at the end?
20:38 arnsholt Needed to reify an iterator into a list so that I could iterate several times
20:38 moritz aaarg
20:38 arnsholt Although I may have killed that code, on second thought
20:39 stevieb moritz: appears to be a way to eliminate false values
20:39 stevieb [x for x in (0, 1, 2) if x]
20:40 stevieb (1,2)
20:40 moritz stevieb: yes, but I hate the syntax
20:40 stevieb lol so do I
20:40 moritz stevieb: the "if" coming at the end, where it looks like it applies to the whole list comprehension
20:40 moritz not to that one element
20:40 stevieb I agree with you
20:41 moritz another thing I really miss in python is compile-time checking of symbols
20:41 moritz a la "use strict"
20:41 moritz and, occasionally, block scoping
20:41 labster joined #perl6
20:42 moritz easy closures
20:42 moritz stevieb: the "if" coming at the end, where it looks like it applies to the whole list comprehensionI like slices, and "with" statements
20:43 moritz urks, sorry for duplicate
20:43 RabidGravy yeah that confused me when I first saw it
20:43 moritz I like slices, and "with" statement # that's what I actually wanted to say
20:44 stevieb moritz: you mean "with open ..." etc to scope, yes?
20:44 moritz stevieb: yes
20:44 AlexDaniel joined #perl6
20:45 moritz I also like sqlalchemy, which IMHO feels more solid than DBIx::Class
20:45 stevieb we use peewee at $work for modelling
20:46 mst moritz: if you can ever turn that into a list of suggestions, please do - I've got drunk with sqlalchemy devs and mostly they have the same opinions about stuff as the DBIx::Class team
20:47 stevieb it's been many years since I've touched DBIx::Class
20:48 moritz mst: I'll put that on my TODO list
20:48 moritz (though with a disclaimer that it's been about 2 years since I've used DBix::class; some stuff might have been fixed by now
20:49 mst moritz: but 'feels more solid' isn't really something we can use to derive missing features/etc. from
20:50 moritz mst: one thing I immediately noticed was that error messages are much better in sqlalchemy if you for example misspell a class or column name in a result/model class defintion
20:51 mst ah, yeah, there's no DBI-level standard for that and nobody's written the necessary shitton of regexps to normalise all the textual error messages across databases
20:51 mst and it's not the sort of project that's easy to get people to work on
20:51 moritz mst: nah, even before it hits the database
20:51 mst huh?
20:52 mst how can it know you misspelled something before it talks to the database?
20:52 moritz mst: well, if I in class A I have a foreign key to B->x, and either B or x doesn't exist, that could (and should) be a load time error
20:52 moritz and one that explicitly says what's wrong
20:53 mst it could, but there's lots of legitimate uses that would break
20:53 rodarmor joined #perl6
20:53 mst in fact, making that *not* a load time error is something I give advice on regularly
20:53 mst because in DBIx::Class it *is* checked in a lot of cases
20:53 mst but you often need to turn it off to do clever stuff
20:53 rurban_ joined #perl6
20:54 Zoffix left #perl6
20:54 dfcarpenterak joined #perl6
20:54 mst I'm still interested in the list, mind
20:54 mst but I do reserve the right to say "yes, but this would make several hard things impossible so we can't"
20:54 moritz well, the frustrating thing is that I tended to get *some* errors, but they didn't point to the root cause
20:55 moritz mst: re list, noted. Will ponder it a bit.
20:56 mst one of the problems here is that, e.g., having a completely unresolvable relationship loadaed is sometimes a feature, because it allows loading only the result classes you need in a CLI script etc.
20:56 mst however that doesn't mean we can't improve the error messages without breaking things
20:58 autarch I'm a bit disappointed in the Unicode support her e- https://gist.github.com/autarch/89d9faf1ebd8a601229a7f9bca996991
20:59 dsp-_ joined #perl6
20:59 trnh joined #perl6
20:59 trnh joined #perl6
20:59 autarch oh wait, my bad, a missing semicolon - it totally works
20:59 autarch good job, Zalgo!
20:59 autarch I mean, Larry
21:01 dalek doc: 346387f | util++ | doc/Language/5to6-perlfunc.pod:
21:01 dalek doc: Fix missing quote.
21:01 dalek doc: review: https://github.com/perl6/doc/commit/346387fac5
21:01 BooK joined #perl6
21:02 rjbs joined #perl6
21:04 diegok joined #perl6
21:08 jferrero joined #perl6
21:08 siriu5b joined #perl6
21:08 siriu5b joined #perl6
21:10 ilbelkyr joined #perl6
21:12 [Coke] *sigh* always use full digit years, peeps.
21:13 MilkmanDan[Han] joined #perl6
21:14 [Coke] autarch: fails here, with the semicolon
21:14 autarch yeah, I fixed it
21:14 autarch I didn't read the error carefully enough and thought it was choking on my attribute name
21:15 autarch I'm trying to emphasize how bad an idea it is to use rw attributes
21:15 DANtheBEASTman joined #perl6
21:15 [Coke] I mean, *even with* the semicolon
21:15 [Coke] oh, ok.
21:15 [Coke] carry on, then. :)
21:15 mst joined #perl6
21:15 mst joined #perl6
21:19 ptolemarch joined #perl6
21:19 mst joined #perl6
21:21 mst joined #perl6
21:30 sortiz joined #perl6
21:41 sortiz \o #perl6
21:44 itaipu joined #perl6
21:52 rindolf joined #perl6
21:53 mst joined #perl6
21:54 mst joined #perl6
21:58 mst joined #perl6
21:59 mst joined #perl6
22:00 khw joined #perl6
22:02 firstdayonthejob joined #perl6
22:02 mst joined #perl6
22:02 timotimo pmurias: do you find SDL2::Raw usable at all?
22:03 mst joined #perl6
22:04 rindolf joined #perl6
22:04 ggoebel116 joined #perl6
22:04 stux|RC-only joined #perl6
22:06 cpage_ joined #perl6
22:08 pmurias timotimo: haven't looked at it much, was afk most of the evening
22:08 kid51 joined #perl6
22:08 timotimo ah, OK
22:08 pmurias timotimo: s/much/at all/ ;)
22:16 AlexDaniel .seen zefram
22:16 yoleaux I haven't seen zefram around.
22:17 AlexDaniel anyway, it's a third time when somebody stumbled upon (;)
22:17 AlexDaniel at least, a third time when it was documented :)
22:17 AlexDaniel m: (;)
22:17 camelia rakudo-moar ac0dcd: OUTPUT«(signal XFSZ)Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Resultchild 0 can't returns! BOOTInt␤- QAST::Stmts :BY<comp_unit ua u> :context<sink> (;)␤  - QAST::Stmt :BY<comp_unit ua u u> :context<sink> :final (;)␤    - 0␤␤Non-QAST …»
22:19 diakopter ur a weird node
22:20 rurban joined #perl6
22:25 skids joined #perl6
22:37 trnh joined #perl6
22:37 jjido joined #perl6
22:38 jjido https://swtch.com/~rsc/regexp/regexp1.html <-- Rob Pike reference
22:38 jjido sorry wrong channel :D
22:39 AlexDaniel timeless: #128402
22:39 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128402
22:40 AlexDaniel timeless: I am pretty sure that there are many other errors that print just the line number. I'm not sure why it happens
22:40 sortiz With HAS in core, on the JsonC case, moar code size go from 2.3M to 440K
22:41 Xliff_ joined #perl6
22:44 AlexDaniel timeless: ah right
22:45 AlexDaniel so basically any run-time error is not giving any meaningful position because there is simply no such information?
22:46 AlexDaniel in this case it should probably give information up to semicolon precision, just the line number is not enough I think
22:46 AlexDaniel well, it's good enough most of the time, but it is LTA
22:49 girafe3 joined #perl6
22:55 bjz joined #perl6
22:59 trnh joined #perl6
22:59 trnh joined #perl6
23:09 jjido joined #perl6
23:24 ggoebel116 joined #perl6
23:26 lambd0x joined #perl6
23:30 lambd0x Hi everyone I'm a begineer in Perl6 and last reading/searching about got interested in gettin to know the new Perl. I have some doubts about the module management system, if I just get to compile the compiler (Rokudo-dô Perl) Can I have access to them by any other means? Thanks
23:31 timotimo what do you mean by module management system, and what do you mean by "just compile rakudo"?
23:31 lambd0x Hi timotimo
23:32 timotimo by module management system, do you mean panda and/or zef?
23:32 jack_rabbit joined #perl6
23:32 lambd0x timotimo: By module man. system I mean how is organized the modules..
23:33 lambd0x hm, yes. But I saw they just come with rakudo star
23:33 stevieb9 joined #perl6
23:33 timotimo oh, you mean how the source files and precompiled files get placed and stored?
23:33 lambd0x yes
23:33 timotimo you can get panda and zef by cloning them from github and then running their "install" scripts (bootstrap.pl for panda, dunno what for zef)
23:34 timotimo are you concerned about the long names of the files?
23:34 lambd0x hm...
23:35 lambd0x more or less. I use Funtoo/Gentoo but my tree does't have rakudo star
23:36 timotimo you can get everything in rakudo/star by installing Task::Star. the only difference is you'll get newer versions
23:36 lambd0x So I'll have to make updates of the repository manually.
23:36 timotimo thing is, rakudo star is a full distribution that has specific releases; usually but not always when a rakudo release has happened
23:36 timotimo it also ships with exactly tuned versions of the modules to ensure that everything works
23:37 timotimo so if you just build a rakudo-star ebuild for yourself, it's not necessarily the same thing :)
23:37 timotimo but it's not bad to just use rakudo and then install the modules by hand
23:37 lambd0x timotimo: I see.
23:38 lambd0x Task::Star is what exactly?
23:38 lambd0x An script to maintain everything up to date locally?
23:39 timotimo no, it's a module that does nothing by itself, it just has everything in its "depends" that is shipped with Rakudo Star
23:40 jjido joined #perl6
23:40 stevieb9 https://github.com/tadzik/Task-Star/
23:41 lambd0x timotimo: That's nice
23:42 lambd0x About the compiler, is it working with MoarVM by default for what I saw. How is things going since its start?
23:42 lambd0x *it started :)
23:43 lambd0x stevieb9: Thanks for the link
23:45 [Coke] moarvm's going just fine.
23:45 stevieb9 lambd0x: no problem. first time I've heard about it myself, and just had to look. currently installing ;)
23:51 tardisx joined #perl6
23:51 lambd0x [Coke]: thanks for the info \o/
23:51 timotimo yeah, going from parrot to moarvm has allowed us to do a lot decisions that will allow more and more strong optimizations later in development
23:52 timotimo actually, we've reached the stage where we are doing some of those optimizations
23:53 lambd0x That's nice, I was in doubt if I used JVM, parrot or moarVM. Fortunately at least won't have another direct relation with JVM :)
23:56 jjido joined #perl6
23:58 timotimo sadly, rakudo-jvm is currently not working very well
23:58 timotimo people are working to make it run again, but for the moment it's not really an option

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

Perl 6 | Reference Documentation | Rakudo