»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:01 rngoodn joined 00:05 tony-o left 00:06 tony-o joined 00:14 Cabanossi left 00:16 Cabanossi joined 00:18 |oLa|1 left 00:25 wamba left 00:42 gdonald joined 00:45 Cabanossi left 00:46 Cabanossi joined, geekosaur left 00:54 Lac123 left 00:58 geekosaur joined 01:07 rngoodn left, cdg joined 01:12 cdg left, rngoodn joined 01:22 Rawriful left, R0b0t1_ left 01:24 ruoso___ left, R0b0t1_ joined 01:33 rngoodn left 01:38 rngoodn joined 01:40 wander4096 left, wander4096 joined 01:46 ilbot3 left 01:51 BenGoldberg joined 01:54 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:57 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 02:07 mryan50 joined 02:26 sprocket joined, mryan50 left
sprocket hello #perl6! 02:27
teatime heyo. catch any fraggles lately? 02:28
sprocket i have a question about NativeCall and am wondering if someone might offer some insight…
i’m trying to use a shared lib but am getting the “Cannot locate native library” error 02:29
teatime - sadly no, no fraggles :) 02:30
02:31 mryan50 joined
sprocket oh, answered my own question; didn’t have the path in $LD_LIBRARY_PATH:. 02:35
02:35 sprocket left 02:41 TimToady left
wander4096 m: 'my $x; # 5' ~~ m:s/^ [\s* (.*? ';') ['#' <-[\n]>* ]? ]* $/ 02:41
camelia ( no output )
wander4096 m: say 'my $x; # 5' ~~ m:s/^ [\s* (.*? ';') ['#' <-[\n]>* ]? ]* $/
camelia 「my $x; # 5」
0 => 「my $x;」
wander4096 m: say 'my $x; # 5' ~~ m:s/^ [\s* (.*? ';')['#' <-[\n]>* ]? ]* $/
camelia False
wander4096 the difference is that i delete the space between ) and [
how can that cause different meaning? 02:42
02:43 TimToady joined
wander4096 many times i got confused in such annoying situation, should i always add space between separator? 02:46
between => around
raschipi Are you sure the whitespace doesn't match there? 02:49
geekosaur probably safest. I'm not sure that's supposed to happen in that context, but some regex constructs *do* allow postcircumfixes (indexing)
wander4096 raschipi: you are right 02:50
02:50 Sgeo_ joined 02:52 Sgeo left
wander4096 maybe i should read docs.perl6.org/language/traps#Whitespace 02:52
crazy >_< 02:53
geekosaur: yes, so when write `<statements>` it finds the rule or token `statements` but `< statements >` doesnt 02:56
02:56 noganex joined 02:58 noganex_ left 02:59 Cabanossi left 03:01 Cabanossi joined 03:02 schmause joined 03:08 mryan50 left 03:13 itaipu left 03:18 raschipi left 03:29 Cabanossi left 03:30 Cabanossi joined, schmause left, rngoodn left 03:31 eliasr left 03:49 rngoodn joined 04:03 aborazmeh joined, aborazmeh left, aborazmeh joined 04:11 kyan left 04:26 geekosaur left 04:29 rngoodn left 04:34 geekosaur joined 04:35 geekosaur left, rngoodn joined 04:36 geekosaur joined, geekosaur left 04:37 geekosaur joined, geekosaur left 04:45 rngoodn left 04:46 geekosaur joined 04:57 Lasse_ joined 05:00 foobear joined 05:10 khw left 05:16 HoboWithAShotgun joined 05:17 skids joined 05:20 rngoodn joined 05:21 Khisanth left 05:34 Khisanth joined 05:42 jeromelanteri joined 05:46 nadim joined 05:49 AlexDaniel left 05:58 Cabanossi left 06:00 Cabanossi joined 06:07 wamba joined 06:08 foobear left 06:14 aborazmeh left 06:18 setty1 joined 06:21 aborazmeh joined, aborazmeh left, aborazmeh joined 06:39 aborazmeh left 06:50 BenGoldberg left, astj joined 06:55 astj left 07:00 aborazmeh joined, aborazmeh left, aborazmeh joined 07:13 wander4096 left, |oLa| joined 07:16 andrzejku_ joined 07:17 andrzejku_ left 07:18 domidumont joined 07:19 andrzejku_ joined
HoboWithAShotgun Good sunday morning you wonderful people. 07:26
And if you are german: Go vote!
Also, how do I get/create a supply that emit keyboard events to me? 07:28
07:29 Cabanossi left
andrzejku_ AfD! 07:29
07:29 bartolin left 07:30 Cabanossi joined 07:31 rindolf joined 07:32 bartolin joined
Zoffix HoboWithAShotgun: providing you switched your terminal to non-buffering, I imagine $*IN.encoding: "latin1"; and then $*IN.getc stuck in a Supply will do the trick 07:35
There's a .Supply method on IO::Handle that takes a :size too, but `size` might be removed, I think. 07:36
07:37 piojo joined
Zoffix docs.perl6.org/type/IO::Handle#routine_getc 07:39
07:48 darutoko joined
japhb .tell HoboWithAShotgun See github.com/ab5tract/Terminal-Print...wInput.pm6 (or github.com/ab5tract/Terminal-Print...dInput.pm6 if you want it decoded) 07:50
yoleaux japhb: I'll pass your message to HoboWithAShotgun.
japhb .tell Zoffix Pretty please point people with the terminal input question to github.com/ab5tract/Terminal-Print...inal/Print (Terminal::Print::RawInput and Terminal::Print::DecodedInput) 07:52
yoleaux japhb: I'll pass your message to Zoffix.
japhb heads to bed
07:53 thou left 07:54 piojo left 07:59 Cabanossi left 08:00 Cabanossi joined
HoboWithAShotgun very nice, japhb++ 08:01
yoleaux 07:50Z <japhb> HoboWithAShotgun: See github.com/ab5tract/Terminal-Print...wInput.pm6 (or github.com/ab5tract/Terminal-Print...dInput.pm6 if you want it decoded)
Zoffix .
yoleaux 07:52Z <japhb> Zoffix: Pretty please point people with the terminal input question to github.com/ab5tract/Terminal-Print...inal/Print (Terminal::Print::RawInput and Terminal::Print::DecodedInput)
HoboWithAShotgun in his code, this line "start react { ... }", that start method is which one, the one from Thread? i can't tell from docs.perl6.org/routine/start 08:02
Zoffix That module's missing documentation.
HoboWithAShotgun: from Promise 08:03
08:03 rngoodn left
HoboWithAShotgun ah yes, because foo something is the same as something.foo 08:03
Zoffix HoboWithAShotgun: second half of this section discusses it: docs.perl6.org/language/concurrency#Promises
HoboWithAShotgun: no, it's not the same. There just exist subroutines with the same name as methods in many cases. In this case, IIRC `start` is a statement prefix. 08:04
08:05 aborazmeh left 08:06 leont joined
Zoffix .tell japhb a terminal input should be listed here: docs.perl6.org/type/IO::Handle#routine_getc However, what you linked to doesn't appear to have any documentation (at least one that talks about disabling buffering), so linking to it would just add more confusion. 08:06
yoleaux Zoffix: I'll pass your message to japhb.
Zoffix .tall japhb *terminal input module I meant 08:07
.tell japhb *terminal input module I meant
yoleaux Zoffix: I'll pass your message to japhb.
Zoffix
.oO( wonder if japhb is tall... )
HoboWithAShotgun moans
Zoffix `react {}` doesn't return until stuff inside of it is done. `start react {}` pops it into a separate thread, so code after it is executed right away, instead of waiting until react is done 08:09
HoboWithAShotgun so start react {} creates starts the react block in a new thread 08:10
s/creates//
Zoffix Yeah
HoboWithAShotgun i see
Zoffix m: react whenever Supply.interval(⅓) { .say; done if $++ > 3 }; sleep ½; say "meow"
camelia 0
1
2
3
4
meow
08:10 domidumont left
Zoffix m: my $p = start react whenever Supply.interval(⅓) { .say; done if $++ > 3 }; sleep ½; say "meow"; await $p 08:10
camelia 0
1
meow
2
3
4
08:11 domidumont joined 08:13 espadrine joined
Zoffix m: start react whenever Supply.interval(⅓) { .say; done if $++ > 3 }; sleep ½; say "meow"; sleep 2 08:14
camelia 0
1
meow
2
3
4
HoboWithAShotgun there's so much to keep in your head at once. i read about that magic state variables and forgot outright
Zoffix HoboWithAShotgun: kinda. In other languages you'd just be learning a separate parallelism/async library instead of start/react blocks. Same amount of learning and less polish. 08:15
08:15 skids left
Zoffix HoboWithAShotgun: there's a book project set to prove that point and only teach what's needed, progressively :) rakudo.party/post/The-Rakudo-Book-Project 08:15
Check back in a year and a bit ^_^ 08:16
08:16 domidumont left
HoboWithAShotgun I would prefer a new Camel over a Lhama 08:17
Zoffix has no idea what that means... 08:19
HoboWithAShotgun oh come on
sec
shop.oreilly.com/product/9780596004927.do over shop.oreilly.com/product/0636920018452.do 08:20
Zoffix still has no idea what that means... 08:21
I'm guessing one is more beginner oriented.
08:21 ufobat joined
HoboWithAShotgun How can you do Perl stuff and not know about these books? 08:22
teatime the camel book is the best technical book I have ever read.
HoboWithAShotgun That's like reading Sci-Fi and not knowing about Heinlein :)
Zoffix HoboWithAShotgun: I do Rakudo stuff :) Some core devs never coded Perl 08:25
HoboWithAShotgun: also "Modern Perl" > *
As in modernperlbooks.com/ 08:26
08:28 jeromelanteri left 08:29 Cabanossi left 08:30 Cabanossi joined 08:40 ChoHag left 08:42 eliasr joined 09:00 setty1 left 09:03 espadrine left 09:07 ChoHag joined
stmuk camel=definitive larry reference for perl 5, llama=definitive learning perl 5 09:08
typically a perl 5 programmer would buy the camel give up on it, read the llama start to understand and then return to the camel able to follow it :) 09:10
TEttinger where's the alpaca book 09:16
guanaco book
stmuk en.wikipedia.org/wiki/Intermediate_Perl <=- alpaca 09:17
never heard of guanaco is that the cookbook? 09:21
09:21 TEttinger left 09:26 wamba left 09:28 wamba joined
HoboWithAShotgun m: package Site { sub login { return "cookie"; } }; say Site::login() 09:32
camelia Could not find symbol '&login'
in block <unit> at <tmp> line 1
HoboWithAShotgun what am i missing here? 09:33
geekosaur 'our' 09:46
m: package Site { our sub login { return "cookie"; } }; say Site::login() 09:47
camelia cookie
09:48 kaare__ left 09:53 kaare__ joined 09:58 Cabanossi left 10:00 Cabanossi joined 10:07 nadim left
Geth doc: e53c6f1159 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/enumeration.pod6
add missing right curly brace
10:08
10:08 [ptc] joined 10:09 ufobat left
Geth doc: b5be80cb3a | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/enumeration.pod6
add missing right curly brace at the correct place
10:10
10:27 piojo joined 10:37 geekosaur left 10:40 geekosaur joined 10:42 ssm left 10:43 domidumont joined 10:48 ChoHag left 10:57 domidumont left 10:58 Aaronepower left 11:03 margeas joined, Aaronepower joined 11:05 Lac123 joined 11:10 nadim joined 11:13 Cabanossi left 11:15 ChoHag joined, Cabanossi joined 11:20 piojo left, mr-fooba_ left 11:21 mr-foobar joined 11:22 chakli joined
chakli hi, i was installing JSON::Fast using zef install JSON::Fast 11:25
11:25 jferrero joined
chakli but i get an error 11:25
===> Testing [OK] for JSON::Fast:ver<0.9.3> ===> Installing: JSON::Class:ver<0.0.9>:auth<github:jonathanstowe> ===> Install [FAIL] for JSON::Class:ver<0.0.9>:auth<github:jonathanstowe>: ===SORRY!=== Could not find JSON::Fast at line 4 in:
i found this irclog.perlgeek.de/perl6-toolchain/2017-07-22, but not sure if it is the same issue. 11:26
Zoffix chakli: sounds like you need to update your zef 11:28
11:28 Lac123 left
chakli i just installed it using rakudo brew, brand new 11:28
Zoffix chakli: is it the first time you installed rakudo on this system? 11:29
zef keeps cache
zef --force install github.com/ugexe/zef/archive/master.zip 11:30
chakli yes, its the first time i installed on this system
Zoffix chakli: what's the full error? 11:32
HoboWithAShotgun geekosaur: tyvm good sir 11:33
timotimo "zef install JSON::Fast" shouldn't be installing JSON::Class
yoleaux 03:55Z <MasterDuke> timotimo: instead of github.com/rakudo/rakudo/pull/1171, could nqp::join return the input string if there was only one?
Zoffix timotimo: it does, if Test::META isn't installed 11:34
timotimo oh
right, that's new in the test-depends
Zoffix Yeah, I can't install it either: "Could not find JSON::Fast:ver<0.4+> at line 62 in:" 11:35
On HEAD
timotimo oh
JSON::Class depends on JSON::Fast, doesit?
and JSON::Fast depends on JSON::Class
yeah, that's not so cool.
chakli full error text ---> pastebin.com/uSrRBVZe 11:36
Zoffix hah, yeah indeed they both depend on each other :P
timotimo: move Test::META tests to xt :)
chakli: try zef --/test install JSON::Fast 11:37
timotimo i already have moved it
but it's in the test-depends, and zef installs those by default
Zoffix chakli: basically JSON::Class and JSON::Fast ended up depending on each other by accident, through test dependencies
timotimo i'm going to remove the dependency from the meta file for now
chakli lol :D
timotimo i just pushed a fixed version 11:39
please try again
chakli ===> Install [FAIL] for Test::META:ver<0.0.13>:auth<github:jonathanstowe>: ===SORRY!=== Could not find JSON::Fast at line 4 in:
Zoffix chakli: zef install github.com/timo/json_fast/archive/master.zip
chakli now it installed :) 11:40
Zoffix timotimo: not 100% sure, but might need a version bump too?
'cause I think zef keeps version somewhere and installs from those commits
timotimo that would probably be a good idea anyway 11:41
done
11:43 llfourn left, ufobat joined
timotimo now to check why travis didn't figure out that it was a bad idea to depend on Test::META 11:44
:\
it uses zef install --force --/test Test::META first 11:45
Zoffix heh
11:45 piojo joined
timotimo "avoid circular tests" is the commit message that puts in that line 11:46
11:47 wander4096 joined 11:50 geekosaur left 11:57 geekosaur joined
HoboWithAShotgun I'd like to add a method to Str, so i can write $s.chimp instead of $s.flip.chomp.flip 12:00
is that doable?
12:00 mr-foobar left
lizmat would you like to add this to *all* Str objects, or a specific number of Str objects in your program? 12:01
HoboWithAShotgun all 12:02
otherwise i'd use a role
lizmat use MONKEY; augment class Str { method chimp() { ... } }
12:02 mr-foobar joined 12:03 mr-foobar left
HoboWithAShotgun cool. tx 12:03
12:06 BenGoldberg joined 12:08 El_Che joined
wander4096 HoboWithAShotgun: `.trim-leading`, it's different from .flip.chomp.flip, but maybe what you want 12:13
12:14 kaare__ left
timotimo why not just .substr(1)? 12:14
m: .flip.chomp.flip.perl.say andthen .substr(1).perl.say given "hello you" 12:15
camelia "hello you"
"rue"
timotimo oh, heh.
m: (.flip.chomp.flip.perl.say; .substr(1).perl.say) given "hello you"
camelia "hello you"
"ello you"
timotimo oh, chomp only removes newlines, right
HoboWithAShotgun i am consuming a supply like so: whenever Perlmonks.message -> %message, now I want to call unique on that using %message<text> as the equality comparison 12:21
i am not sure how to express that
12:22 moytrage joined
HoboWithAShotgun i am also hungry :) back in a minute 12:23
12:24 astj joined 12:27 mr-foobar joined, moytrage left 12:28 Cabanossi left, piojo left, piojo joined 12:30 Cabanossi joined
Geth doc: 7f4839590f | (Steve Mynott)++ | doc/Language/faq.pod6
Explicit answer to "is Perl 6 released". I was told on twitter it

wasn't by someone citing the FAQ as evidence.
12:31
12:32 HoboWithAShotgun left 12:33 El_Che_ joined, El_Che_ left 12:37 Aaronepower left
chakli I installed Bailador on rakudobrew and when i just do "bailador --name=test new" i get an error "--name=Project-Name is a required parameter" 12:38
Geth doc: 4f4b366c0a | (Steve Mynott)++ | doc/Language/faq.pod6
Tweak column length, released answer and update 6.d answer.
12:39
chakli but if i call Bailadorw/o the wrapper it works "perl6 rakudobrew/moar-nom/install/share/perl6/site/resources/F3147CDB5FA175F21CCAC05B6B29A24EF5EAED7B --name=test new"
ufobat i need to leave, but if you create a ticket for it i'll take care of it :)
12:40 Aaronepower joined
chakli ok 12:40
Zoffix All the more reason not to use rakudobrew :) 12:44
12:44 ufobat left 12:47 HoboWithAShotgun joined
HoboWithAShotgun meh, pc went on hibernate. what did i miss? 12:47
Zoffix HoboWithAShotgun: irclog.perlgeek.de/perl6/2017-09-24#i_15209509
teatime but, in short, nothing.
chakli @Zoffix what else would you suggest for a quick setup? 12:48
HoboWithAShotgun suggests nesquick as there can never be enough chocolate 12:49
Zoffix HoboWithAShotgun: Supply has .unique method. Just use .unique(:as{.<text>}) and I think that'll work
chakli: just built from sauce directly
huggable: sauce
huggable Zoffix, Install untested latest development version of Rakudo from source: github.com/zoffixznet/r#table-of-contents
teatime Zoffix: that's not what you wanted, is it? 12:50
thought the whole problem w/ rakudobrew is it installs the latest untested version by default
stmuk hmm better advice would be to build the last release surely?
Zoffix That builds latest dev version. Stick `git checkout 2017.08` after `git pull` in that bash alias (I'm yet to update it to make it automatically figure out latest release tag)
teatime: no, the whole problem with rakudobrew it uses wrappers that mess with stuff 12:51
teatime I see.
MasterDuke or the binary packages 12:52
Zoffix chakli: oh yeah, we have those
huggable: debs
huggable Zoffix, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases
MasterDuke huggable: debs
huggable MasterDuke, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases
Zoffix
.oO( too many options )
moritz docker!
stmuk Zoffix: something like github.com/tadzik/rakudobrew/pull/117 might help with the "last release"
El_Che moritz: actually, the binary pkgs were built with Docker in mind (and they are built with Docker as well) :) 12:53
stmuk (likely to go into my likely to be forked rakudobrew)
Zoffix stmuk: why change $cmd_sep on windows? `&&` does a truthy check while `&` just chains the comands, don't it? 12:54
stmuk I thought '&&' didn't work on windows at all (but could be wrong) 12:55
at least on cmd.exe I don't use powershell
Zoffix C:\Users\zoffi>perl6 -e "exit 1" && echo bar 12:56
C:\Users\zoffi>perl6 -e "exit 0" && echo bar
bar
That's Win10 cmd.exe
stmuk ok
Zoffix and yeah, `&` just chains them
and ignores exit codew
stmuk OK submit a PR 12:57
12:58 geekosaur left
Zoffix A PR to PR? :D 12:58
stmuk :)
maybe I should remove the extra rakudobrew shims and leave the user to set PATH
timotimo HoboWithAShotgun: you just .unique(:as(*<text>)) on the Perlmonks.message 13:00
13:00 mr-fooba_ joined 13:01 mr-foobar left
timotimo oh, someone already told you 13:02
cool
13:03 mr-foobar joined 13:05 geekosaur joined
wander4096 gist.github.com/W4anD0eR96/b9e30fa...ce8cacd95e 13:06
13:06 astj left, astj joined 13:07 mr-fooba_ left
wander4096 `say $/.made` in `method TOP` doesn't run 13:07
timotimo i think it has to be :actions instead of :{ction
yes, indeed
wander4096 oops 13:08
unclechu hey guys, when i use `run` can i close pipe (not just redirect it to `$*SPEC.devnull`) in declaration of `run` command? i wan't smth like `run 'someapp', :in(:close), :out(:close)` 13:11
MasterDuke unclechu: i think :!in, :!out might do what you want 13:13
unclechu MasterDuke: i just tested it, it doesn't closes pipes 13:15
timotimo i'm afraid you'll probably have to let it give you the pipe and close it manually
unclechu what exclamation mark means here?
timotimo m: say (:foo); say (:!foo)
camelia foo => True
foo => False
MasterDuke ah, my bad. i guess doing that just doesn't make those available to your program 13:16
13:17 astj_ joined 13:18 margeas left 13:20 astj left 13:22 margeas joined 13:32 Aaronepower left
wander4096 any example to distinguish `/ '(' ~ ')' <expression> /` from `/'(' <expression> ')'/`? 13:34
i have seen docs.perl6.org/language/regexes#in...structures 13:35
but don't get a good understanding
or they are same
13:37 Aaronepower joined
timotimo not the same. the ~ one will call the FAILGOAL method of your grammar (or the default one you inherit) if the final thing isn't found immediately after what you matched inside 13:41
m: say "(hello world lol)" ~~ / '(' ~ ')' [ \w+ \s \w+ ] / 13:42
camelia Nil
timotimo oh, did i misremember?
m: grammar TwoWordsBetweenParens { regex TOP { / '(' ~ ')' [ \w+ \s \w+ ] / } }; say TwoWordsBetweenParens.parse("(hello world lol)");
camelia 5===SORRY!5===
Unrecognized regex metacharacter / (must be quoted to match literally)
at <tmp>:1
------> 3mmar TwoWordsBetweenParens { regex TOP {7⏏5 / '(' ~ ')' [ \w+ \s \w+ ] / } }; say T
Unrecognized regex metacharacter (must be qu…
timotimo m: grammar TwoWordsBetweenParens { regex TOP { '(' ~ ')' [ \w+ \s \w+ ] } }; say TwoWordsBetweenParens.parse("(hello world lol)"); 13:43
camelia Nil
timotimo i seem to be mistaken
13:43 kaare__ joined 13:46 astj joined
wander4096 emmmm... 13:49
so if matched, they are the same?
13:50 astj_ left
moritz m: grammar TwoWordsBetweenParens { regex TOP { '(' ~ ')' [ \w+ \s \w+ ] } }; say TwoWordsBetweenParens.subparse(("(hello world lol)") 13:50
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')'
at <tmp>:1
------> 3eenParens.subparse(("(hello world lol)")7⏏5<EOL>
moritz m: grammar TwoWordsBetweenParens { regex TOP { '(' ~ ')' [ \w+ \s \w+ ] } }; say TwoWordsBetweenParens.subparse("(hello world lol)")
camelia #<failed match>
moritz m: grammar TwoWordsBetweenParens { regex TOP { '(' ~ ')' [ \w+ \s \w+ ] } }; say TwoWordsBetweenParens.subparse("(hello world)")
camelia 「(hello world)」
moritz you need a FAILGOAL method if you want to extract a proper error message
timotimo i thought there's a default failgoal that throws an exception for you 13:51
moritz there used to be. Now it just fails. 13:52
timotimo i see!
wander4096 got it 13:55
14:01 leont left 14:02 astj_ joined 14:03 llfourn joined 14:06 astj left 14:10 ShalokShalom_ joined 14:12 Sound joined, itaipu joined 14:13 ShalokShalom left, Sgeo_ left 14:19 astj_ left 14:20 astj joined
unclechu hey guys, is there anything that help me declare short aliases for autogenerated arguments by `MAIN` subroutine declaration? i mean i can declare `--foo` but how i should declare `-f` alias for `--foo`? 14:23
moritz unclechu: try sub MAIN(:f(:$force)) { } 14:24
unclechu moritz: thanks, it works as i expected. it's time to improve documentation :) 14:26
moritz unclechu: sure. What's your github username? 14:27
unclechu moritz: @unclechu but is this importatnt? i'm just going to make pr here github.com/perl6/doc 14:28
moritz unclechu: I sent yuo an invitation so that you can push directly, if you prefer 14:29
14:30 Sgeo joined
unclechu okay, thanks 14:33
14:34 audiatorix joined
audiatorix How does NativeCall go about getting the signatures of functions in a library? 14:35
timotimo you give it to it :)
audiatorix oh... OH 14:36
oh my goodness
But wait, what about functions of the same name and different arity?
A compiled binary has no information on arity unless there's some outside information along with it 14:37
timotimo same name and different arity is not something that is possible
C++ does it by not having the same name
14:37 nadim left, nadim joined
audiatorix Oh, that's not possible in C, right 14:37
thanks a ton 14:38
timotimo fwiw, NativeCall also supports name mangling for C++ classes
wander4096 gist.github.com/W4anD0eR96/3690249...a2cc51aaa0 14:40
can i parse it right without adding rules/tokens? 14:41
moritz rule expression { 14:43
| <expression>+ % '+' { make [+] $<expression>.made }
this is left recursion, and a very bad idea
if you don't care about precendence, just have it be 14:44
rule expression { <number>+ % <operator> }
and token operator { <[+-]> }
also regarding { make [+] $<expression>.made }
since <expression> is quantified, $<expression> is an array 14:45
m: say [].made
camelia No such method 'made' for invocant of type 'Array'. Did you mean any of these?
map
max
name
race

in block <unit> at <tmp> line 1
moritz in 3 to 4 months I'll have a book published on that stuff... 14:46
basically when you do recursion, you need to make sure that at least one character is consumed on the recursion path
dogbert11 moritz: do you know the codebase in htmlify.p6? 14:49
Geth doc: 788ca954d2 | (Viacheslav Lotsmanov)++ (committed using GitHub Web editor) | doc/Language/functions.pod6
MAIN sub: added example of argument short alias
14:50
moritz dogbert11: I used to 14:51
but now git blame says only 5% of the lines are my own anymore, so all bets are off
audiatorix Where is the source for NativeCall? 14:52
dogbert11 ok, I'm looking at docs.perl6.org/type.html, as you can see there's no description for backtrace event though one is available in the pod file
I'm 99 percent certain the reason is that htmlify gets confused by this header docs.perl6.org/programs/01-debuggi...race_class 14:53
moritz audiatorix: rakudo repo, lib/NativeCall*
audiatorix thanks
dogbert11 triggering this code github.com/perl6/doc/blob/master/h...fy.p6#L583 14:54
should that code be run when going through the 'programs' directory? 14:55
moritz dogbert11: on docs.perl6.org/build-log/ you can check if that note was called
Geth doc: b0737a5ded | (Steve Mynott)++ | doc/Language/faq.pod6
Warn about vendor versions less than 2015.12 since the code fragment to

do this was deleted.
14:56
moritz Backtrace does not have an =SUBTITLE
moritz from docs.perl6.org/build-log/build-201...+00:00.log
dogbert11 it is called, I have already checked :)
in the Backtrace.pod file in the type dir there is a SUBTITLE but not in Debugging.pod 14:57
moritz dogbert11: no idea; until now I didn't even know that docs/Programs/ existed
but back then[tm] the idea was that everything under doc/ gets processes 14:58
dogbert11 which might lead to problems if it encounters a heading in a debugging pod containing 'class' and 'Backtrace' 14:59
14:59 wander4096 left
moritz there's class Backtrace::Frame 15:00
dogbert11 or the following docs.perl6.org/language/typesystem...Parameters
yes, and that looks ok on the type page, i.e. the SUBTITLE/description is shown
15:00 rngoodn joined 15:01 nadim left 15:02 nadim_ joined
dogbert11 if I changed the title from say 'The Backtrace class' to e.g. 'Backtraces' or some such the problem would be worked around 15:02
probably not the ideal solution though :) 15:03
piojo Speaking of docs, is there any magic we can do to help google searches for "perl6 argument unpacking" go to the docs for "destructuring"?
moritz piojo: SEO is a thing 15:04
piojo moritz: yeah, but I'm also asking about the philosophy of the docs and the terms
since "unpacking" means something else,
but it's such an intuitive term that it was used in the perl6 design docs 15:05
15:05 rngoodn left
piojo (S06) 15:05
moritz I think it's OK to mention that term in the docs
piojo If it were up to me, I'd let "unpacking" mean both things, and I'd rewrite the "destructuring" section so both terms were used prominently, and as synonyms
(with perhaps a note that says "for the 'unpack' function, see here")
moritz do it, see if somebody protests :-) 15:06
forgiveness > permission is one of our mottos
piojo moritz: okay, I will. Thanks
15:06 skids joined
piojo haha 15:06
When I first learned the basics of perl6, I had trouble with these terms since I couldn't remember "destructuring"
though it is a kind of cool word
Non-native speakers might also not like it as much 15:07
dogbert11 moritz: I'll do it and mention it to [Coke] when he turns up, perhaps he knows where to place a proper fix
15:08 xinming left
piojo s/non-native/nonsfluent/ 15:09
s/nonsfluent/non-fluent/
15:10 xinming joined
Geth doc: 982982d1b0 | (Steve Mynott)++ | doc/Language/faq.pod6
fix doubled more
15:10
15:12 setty1 joined 15:15 HoboWithAShotgun left
Geth doc: a3d65f2c65 | (Jan-Olof Hendig)++ | doc/Programs/01-debugging.pod6
Change headline so that it does not contain the word class and a type

This is a workaround for a problem in which htmlify.p6 can be tripped up when it encounters what looks like a type heading in a file which is not present in the type directory. This will lead to subtitles, i.e. descriptions, going missing on docs.perl6.org/type.html. See irclog.perlgeek.de/perl6/2017-09-24#i_15210015
15:16
15:19 skids left
dogbert11 The 'Parameters' type suffers from the same problem and the "role" 'auto-punning' shows up on the type page since it is believed to be a type when it really isn't 15:21
15:22 jameslenz left 15:25 Sound left
dogbert11 also, the following TITLE, "class X<utf8|utf, class>", from doc/Type/utf8.pod6, doesn't sit well with htmlify.p6, which can be seen on the very first line of docs.perl6.org/type.html 15:29
15:32 astj left 15:33 astj joined 15:34 astj_ joined, astj left 15:36 domidumont joined 15:39 astj_ left 15:41 sprocket joined
Geth doc: f1321d84f8 | (Steve Mynott)++ | doc/Language/faq.pod6
point all users not just beginners at star, more info about source build
15:42
sprocket hi #perl6 - just wanted to say that i LOVE the NativeCall library - it just saved me so much time and frustration compared to when i was faced with writing binding in C :)
so thank you, NativeCall wizards!
15:44 HoboWithAShotgun joined
Geth doc: 8952df26d3 | (Steve Mynott)++ | doc/Language/faq.pod6
mention existance of p6doc
15:45
Zoffix \o/ 15:46
15:53 khw joined 15:54 grumble left 15:55 rumble joined, rumble is now known as grumble
Geth doc: 9ba98366d3 | (Steve Mynott)++ | doc/Language/faq.pod6
define CPAN and perldoc for non-perl 5 users
15:56
15:57 Aaronepower left 15:59 Cabanossi left 16:00 HoboWithAShotgun left, Cabanossi joined, Aaronepower joined
Geth doc: 90389e3485 | (Steve Mynott)++ | doc/Language/faq.pod6
link cheat sheet
16:00
doc: e8097195f7 | (Jan-Olof Hendig)++ | doc/Type/utf8.pod6
Fix broken TITLE in utf8.pod6
16:11
16:21 Aaronepower left 16:27 Cabanossi left 16:30 Cabanossi joined
unclechu hey guys, how i can spawn a process and make it live after my app died? 16:36
in background
16:42 HoboWithAShotgun joined 16:51 rngoodn joined
Zoffix doesn't know 16:52
timotimo hm, you'll want to read up on "daemonize", right?
teatime yeah... that is a good question...
timotimo there's some kind of trick called "double fork" or something?
but really you'll probably want to rely on some tool ... daemonize? daemon-tools? 16:53
Zoffix Well, this worked :P perl6 -e 'shell qw/perl6 -e '\''loop { sleep 1; say $++}'\'' &/; say "exiting"; ' 16:54
buggable: eco daemon 16:55
buggable Zoffix, Found 2 results: Monitor::Monit, UNIX::Daemonize. See modules.perl6.org/s/daemon
Zoffix buggable: eco daemonize
buggable Zoffix, UNIX::Daemonize 'configurable daemonizing tool written in Perl 6': github.com/hipek8/p6-UNIX-Daemonize
unclechu timotimo: not that kind of daemonize, i'm just writing simple utility, i don't want to overcomplicate it
16:55 imcsk8 left
unclechu i want to just run some gui application and die 16:55
Zoffix shell q/some-gui-application &/; 16:58
HoboWithAShotgun greets the assembled genuises by ommiting the mother of all belches
unclechu Zoffix: okay, not the best way i could imagine but at least it works 16:59
16:59 chakli left 17:00 imcsk8 joined
teatime unclechu: if you exit your shell, though, will not your gui app die from SIGHUP? 17:00
unclechu answer would be: "perl6 can't do it, but you can delegate it to shell"
Zoffix unclechu: the above module suggests perl6 can do :) You'd just use a module that wraps the gnarly bits for you :) 17:01
unclechu teatime: no, but i think it depends on application
17:02 AlexDaniel joined
Zoffix m: use NativeCall; sub fork returns int32 is native {}; fork() and exit; loop { say $++; sleep 1 } 17:04
camelia 0
Zoffix This also works.
Zoffix has no idea what the double-fork trick is about. 17:05
teatime one optional means of disassociating oneself from a controlling terminal, I think 17:06
man, I used to think I knew how the unix process model worked. either I never did, or I forgot a lot. 17:07
Zoffix Ah 17:08
ugexe teatime: there is a libuv flag when spawning processes for making it detached 17:10
teatime is perl6 using libuv? 17:12
moritz yes
teatime I guess I should say, is rakudo
17:12 Cabanossi left
MasterDuke rakudo on MoarVM and JS is 17:13
unclechu hey guys, i'm confused about how i should declare explicit imports from external modules? how should i import only specific subroutine? 17:15
17:15 Cabanossi joined 17:16 astj joined 17:20 astj left
moritz a module can tag exports (sub foo is export(:bar, :baz) { }); then the use can import only certain tags (use MyModule :baz;) 17:21
unclechu moritz: so, there is no way to explicitly import exported subroutine if it isn't tagged by developer? 17:22
MasterDuke tbrowder++ has a blog post about exporting/importing blogs.perl.org/users/tom_browdef/20...erl-6.html
timotimo .o( how hard could it be to implement ) 17:23
unclechu Zoffix: i just tried UNIX::Daemonize, it isn't really detaching process, it's just forking my app and then keeps this fork alive while child application is alive, and this fork eats about 60MiB of my RAM, not cool, i see only raising shell for that is appropriate for me 17:24
17:40 BenGoldberg left
Zoffix Too bad. 17:41
What's the difference between `need` and `use`? 17:45
17:46 rngoodn left
Zoffix the docs mention `use` is like `need + import` but `need` on its own seems to import symbols, so why is import also needed? 17:47
17:47 BenGoldberg joined
Zoffix unclechu: there's a way to do it at runtime but the compile time is still on the drawing board, it looks like: rt.perl.org/Ticket/Display.html?id...et-history 17:48
m: require Test <&ok>; ok 42; # runtime being this 17:49
camelia ok 1 -
Zoffix Oh, wait, `need` doesn't import anything. I may have been using `-MFoo` in my test 17:50
17:51 ChoHag left, espadrine joined
Zoffix m: need Test; my &ok = &Test::EXPORT::DEFAULT::ok; ok 42 17:52
camelia ok 1 -
unclechu Zoffix: `need` works kinda `import qualified` in haskell, am i right?
Zoffix I guess that's another way.
17:52 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
Zoffix unclechu: I don't know Haskell. But the "qualified" stuff just passes positional args to sub EXPORT and named args are treated as tags, so it's all dependant on the author of the module. The ticket I linked to proposes reserving :ONLY tag and if it's specified to only import those symbols 17:53
:ONLY<&foo $meow> should be easy enough to implement. Just need to add handling here, I think: github.com/rakudo/rakudo/blob/ebd6...#L845-L897 18:00
Though maybe instead of :ONLY do :SYMBOLS and exclude :MANDATORY from the list if it's provided but include any other tags that are given 18:01
:SYM even
Zoffix is too lazy to do this 18:02
I mean… buzy… :)
Need to do 6.d prep
m: say Date.new('2017-12-25') - Date.today 18:03
camelia 92
Zoffix .in 91d what's happening with the :SYM<> import, bruh? irclog.perlgeek.de/perl6/2017-09-24#i_15210457 18:04
yoleaux Zoffix: I'll remind you on 24 Dec 2017 18:04Z
Zoffix q/and exclude :MANDATORY from the list if it's provided/ <-- I meant don't implictly include it. If the user provided it on the tags list, then do include it. 18:12
18:12 astj joined 18:14 ufobat joined 18:17 astj left 18:21 ufobat left 18:27 piojo left
unclechu Zoffix: i realized i could do explicit import this way: `require UNIX::Daemonize <&daemonize>;` 18:32
18:37 Rawriful joined 18:40 yht joined
Zoffix Yeah, that'll work. Though it's runtime, not compile time 18:58
19:01 HoboWithAShotgun left 19:02 skids joined
japhb . 19:02
yoleaux 08:06Z <Zoffix> japhb: a terminal input should be listed here: docs.perl6.org/type/IO::Handle#routine_getc However, what you linked to doesn't appear to have any documentation (at least one that talks about disabling buffering), so linking to it would just add more confusion.
08:07Z <Zoffix> japhb: *terminal input module I meant
19:03 |oLa| left
japhb Zoffix: I don't understand your complaint about documentation. People ask how to get individual keystrokes from the user. That code is how. If they want to know the details, they read the code. If they just want it to work, they load the module and call the function. 19:05
Zoffix rolls eyes 19:06
japhb If you're saying we should document the details of how to do that on different operating systems, that's a reasonable point -- but are we doing OS-specific docs on doc.perl6.org?
Zoffix A module without documentation is not a module. It's just a bundle of code.
I wasn't complaing about it. I was responding to your "Pretty please point people with the terminal input question to". 19:07
19:07 |oLa| joined, domidumont left
japhb Zoffix: That module is better than all the people that say something like "I'm not sure. Something to do with termios? And input buffering?" Nobody should be told to look at termios docs. They should just be given working code as a better-than-nothing-until-docs-are-written answer. 19:09
If we always waited until things were perfect before pointing people at the working-but-not-perfect thing, we'd be doing people a disservice.
Also, that code has proper variable names, it has explanatory comments, it has a .WHY ... and it's less than 50 lines. I'm not sure it's as bad as you're making it out to be. 19:11
19:13 astj joined
Zoffix japhb: but you only say that because you used that code and know what it's about. It's 300 lines of code. I know the language well and I still don't know what you want me to look at there. 19:14
19:14 epony joined
Zoffix How hard is it to write proper documentation? 19:15
19:17 astj left 19:20 eliv joined 19:21 darutoko left
Zoffix It's not code meant for users. There's no support offered for it. So I'm not gonna suggest people use it. 19:22
Zoffix &
19:23 Mrofnet is now known as Morfent
epony Zoffix Even if code is the end produce that users consume, documentation is integral part of it, otherwise it's nothing. 19:24
Morfent going back to undocumented code i wrote years ago and having no clue what's going on is fun
epony Sometimes it's only documentation that helps diagnose and fix the original intent. 19:25
Without documentation it's nothing, just scribbles with no maintenance and no reason to look at.
:-) Literate documentation 19:26
(reproducible)
I'd go even further as to apply standards as the succession to documentation and the essence to reproduce back the documentation and software. But don't try apply this strictness everywhere, it does not apply to projects at design stage (unless they really are ambitious and intend to complete historically significant objectives). 19:30
19:37 geekosaur left
Geth doc/master: 4 commits pushed by (Will "Coke" Coleda)++ 19:39
[Coke] japhb: one annoyance, all the subs are foo_bar instead of foo-bar 19:41
Morfent idk i wouldn't try to treat documentation like code 19:42
different writing styles and all
japhb Zoffix: Do you consider examples to be documentation? Do you consider a sensible API and a .signature that makes sense to be documentation? Do you consider proper comments to be documentation? Do you consider proper variable and constant naming to be documentation? Do you consider .WHY to be documentation?
Morfent some general guidelines are fine though
japhb Zoffix: Because if none of those count, then ... it will be a long time before you recommend anything I write, because I do all of those things *before* writing Pod. 19:43
[Coke]: All of mine are kebab-case. What are you referring to? 19:44
19:45 geekosaur joined, mryan50 joined 19:46 rngoodn joined
japhb I only have a limited amount of keyboard time that my RSI will allow. I spend some of it conversing in these channels (but most regulars will note, not that much and not that often). Of the remaining time, I can either write good code, or good docs. But I basically can't do both. I write in Perl 6 in large part because I can write a lot more functionality in less code, so I can be efficient at that. 19:47
But I put a lot of thought into the code that I do write. And it is insulting to be told that the limited effort I have to give to the Perl 6 community is worthless because my RSI won't let me write long Pod docs. 19:48
[Coke] japhb: in NCurses. 19:49
19:49 astj joined
Zoffix japhb: no. I consider documentation something a user can read for a few minutes and know how to accomplish their task. Usually the SYNOPSIS would even contain copy-pasteable common-case, so those few minutes would be few seconds. There's no sensible API--there's only a collection of routines. In fact, the existing documenation suggests I should not be using the undocumented routines, but only those that are 19:49
japhb [Coke]: Ah, thank you, now your comment makes sense. :-)
Zoffix documented
japhb Zoffix: OK, I understand your view, I think. 19:50
[Coke] also, having never really had to learn curses before, I don't want to have to learn how to use it now for this project either. 19:52
19:53 astj left 19:54 TEttinger joined 19:55 eliv left 19:56 thou joined
epony no docs - no users, wrists wasted with no use 19:59
thou Hi, I'm trying to fix a bug in YAMLish, and I've shrunk it to a small test case: gist.github.com/softmoth/5a3e34b04...c7d86f617b The bug can be seen by trying to parse a file with just "foo: no good\n". The problem is that "no" is a token and it's not backtracking in token element() to enable the inline-plain routine to match. 20:02
Xliff thou: You should be able to fix that by using quotes. 20:03
thou In my little test case I can change all the methods to "regex" and it still fails unless I change TOP to regex.
Xliff Ala: 'yes' | 'no'
20:04 andrzejku_ left
Xliff If I understand this correctly. 20:04
thou Xliff, I don't think that's the issue; it matches fine if it's just "foo: no\n"
Morfent i was wondering what to do for a first project, but i got it 20:05
a utility to strip all comments out of a project
idk i'm short on ideas atm 20:07
thou Xliff: I just checked, quotes don't change behavior here, unfortunately. I'm not sure how to force it to backtrack into the plain() routine after inline() fails. In my gist, it's only the middle string that fails to parse ("no bar").
Geth doc: tbrowder++ created pull request #1579:
PR for new program p6doc info is ready
20:08
Xliff OK. I misunderstood.
unclechu Zoffix: i realized that i can spawn process that will be alive after my app is done by starting this process using Proc::Async instead of just Proc 20:09
20:09 Lasse_ left
unclechu so, it is possible in perl6 20:09
Xliff thou: I just added "foo: no good\n" to the loop in your gist and I can match it just fine. What version of perl6 are you using? 20:12
tbrowder .tell Morfent check existing module Pod::Strip which is supposed to do the same thing
yoleaux tbrowder: I'll pass your message to Morfent.
Morfent oh 20:13
yoleaux 20:12Z <tbrowder> Morfent: check existing module Pod::Strip which is supposed to do the same thing
timotimo maybe it's supposed to strip regular comments, too?
20:14 astj joined, telex left
thou Xliff: Yes, my stripped down test is only the bit after the colon 20:14
Xliff: "foo: no good" fails with YAMLish itself. "no good" fails with the little grammar I made. 20:15
20:15 telex joined
thou "foo: so good" succeeds w/ YAMLish, likewise "so good" succeeds with my example. 20:16
Xliff: I've filed a bug report, hopefully YAMLish devs are more clever than I at sorting it out. 20:17
github.com/Leont/yamlish/issues/17
20:18 astj left
tbrowder Morfent: sorry, asleep again, thinking pod comments, not Perl 6 comments... 20:18
but still, there may well be perl comments inside pod comments... 20:19
Zoffix unclechu: that's weird, given Proc uses Proc::Async under the hood 20:20
20:22 ChoHag joined
Zoffix Ah. If you wait long enough for Proc to start up, it works too: start run «perl6 -e "loop \{ sleep 1; say \$++ }"»; sleep 1 20:22
(sleep for this purpose is no good; use Proc::Async :) )
unclechu yep, sleep is too dirty for that 20:23
20:26 char_var[buffer] joined
unclechu Zoffix: i have now this helper pastebin.com/cSAtfaKM 20:29
20:35 audiatorix left
Geth doc: b140908fa9 | (Tom Browder)++ | doc/Programs/02-reading-docs.pod6
PR for new program p6doc info is ready
20:35
doc: 2c866a2f96 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Programs/02-reading-docs.pod6
Merge pull request #1579 from tbrowder/p6pod

PR for new program p6doc info is ready
Morfent is .pm or .pm6 the typical convention for how you name perl module files? 20:36
timotimo i use .pm6 20:37
unclechu i use `.pl6` 20:38
20:39 skids left
Geth doc: ee22b967b3 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Programs/02-reading-docs.pod6
correct typo
20:40
20:43 leont joined, raiph joined 20:48 astj joined 20:52 astj left 20:56 itaipu left 20:59 Cabanossi left
jdv79 what if i just want the first line out of a supply? is there a better way than .lines.tap,(get one line),tap.close? 20:59
21:00 rindolf left, Cabanossi joined
timotimo isn't there a .head method? 21:01
21:01 Aaronepower joined
timotimo yup, there is. it should do what you want 21:01
jdv79: ^ 21:02
jdv79 thanks 21:03
21:05 char_var[buffer] left 21:06 epony left
tbrowder .tell stmuk please check the docs (Programs | Reading the docs | p6doc - the Perl 6 pod reader) and see if the blurb needs changes 21:07
yoleaux tbrowder: I'll pass your message to stmuk.
21:08 leont left
tbrowder p6doc isn't indexed...will fix 21:08
21:09 robertle left 21:10 leont joined 21:13 kyan joined
Geth doc: e1a42aba75 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Programs/02-reading-docs.pod6
need an indexing header
21:13
21:14 raiph left 21:17 astj joined 21:21 Rawriful left, astj left 21:22 Rawriful joined 21:27 Rawriful left 21:28 BenGoldberg left 21:29 Rawriful joined, travis-ci joined
travis-ci Doc build failed. Tom Browder 'need an indexing header' 21:29
travis-ci.org/perl6/doc/builds/279302339 github.com/perl6/doc/compare/ee22b...a42aba75bd
21:29 travis-ci left
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 21:29
thou Morfent: For fun I checked ecosystem-api.p6c.org/projects.json, and for files listed in "provides" there are 2,543 ".pm6" and 788 ".pm". There are no ".pl6".
21:41 kurahaupo joined
Morfent ah 21:41
i'll go with .pm6 then
thanks
21:42 wamba left
rngoodn Is it possible to get one of the stuffed Camelia's somewhere or did you have to be at a conference or something like that to get one? 21:42
21:42 j_b_s joined 21:43 astj joined 21:47 astj left 21:56 geekosaur left 21:59 ChoHag left 22:03 astj joined 22:04 ChoHag joined 22:06 geekosaur joined 22:07 astj left
lizmat rngoodn: we usually only sell them at Perl / open source events 22:07
rngoodn lizmat: Ok, thanks. 22:09
lizmat next events: Amsterdam.pm meeting on 3 Oct, 7 Nov, NR.PM (in Cologne) on 19 Oct, 16 Nov
London Perl Workshop
emergency social in Bruxelles on 6 Oct 22:10
rngoodn: so where would you need one ?
jdv79 where is say implmented?
method say in Mu is say(self)
lizmat src/core/io_operators I believe 22:11
jdv79 oh
22:11 itaipu joined
lizmat or do you mean .say ? 22:11
that would IO::Handle 22:12
jdv79 so there's no IO::Socket.Async.say() then
even though its inherited from Mu and that prints to stdout
seems very weird
rngoodn lizmat: I live in Albuquerque, NM and am just a CS student learning the language as a hobby. Thought it would be cool to own one if they were available for purchase online somewhere.
lizmat well, maybe we should make them available for purchase online :-) 22:13
lemme discuss that with woolfy 22:14
please ping me again in about 18 hours or so
time for me to hit the sack now :-) 22:15
afk&
rngoodn lizmat: Will do. Thanks!
22:23 astj joined 22:24 geekosaur left 22:25 geekosaur joined, espadrine left 22:27 astj left, margeas left 22:28 jameslenz joined 22:33 mryan50 left 22:43 astj joined 22:46 skids joined 22:47 astj left 23:01 leont left, mryan50 joined 23:04 mcmillhj joined 23:11 itaipu left, profan left, profan joined 23:12 astj joined 23:17 astj left 23:18 epony joined 23:22 kurahaupo_ joined 23:24 kurahaupo left 23:27 astj joined 23:30 kurahaupo_ left 23:31 kurahaupo_ joined, kurahaupo_ left 23:32 astj left
kyan Why's Grammar::Tracer sometimes give output with lots of extra spacers at the beginning? 23:35
E.g., one parse in my test suite has as its first line: "| | | | | | | | | | | | | | | | | | TOP"
I wonder if it's because there are a couple of tests that deliberately throw exceptions previously in the program — maybe the indentation level isn't reset correctly after an exception is thrown? 23:36
AlexDaniel kyan: do you have some code to reproduce the issue? I'd like to play with it
kyan AlexDaniel: I don't have a minimal test case, but I can put one together in a few 23:37
23:39 yht left
kyan Hm, well, my hypothesis about exceptions isn't the cause 23:41
23:41 timotimo left, timo joined 23:44 Rawriful left 23:46 Ven`` left 23:49 kurahaupo joined
kyan I've gotten it down to a specific pair of tests that are triggering it, now to pair down the grammar to the minimum... 23:50
23:51 astj joined 23:53 timo is now known as timotimo 23:55 kurahaupo_ joined, kurahaupo_ left
kyan AlexDaniel: I haven't really been able to pare down the grammar that much, but: gist.github.com/ethus3h/26a84e752c...87d186c465 23:55
23:55 kurahaupo_ joined 23:56 astj left
kyan It does seem like some exceptions are causing it to act up, after all 23:56
23:56 kurahaupo__ joined, kurahaupo__ left 23:58 kurahaupo left, Cabanossi left
timotimo kyan: i know where to point you 23:59