Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-08-16

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:02 andreoss exit code 11
00:02 timotimo if it segfaults after a plan and a few "ok" or "nok" lines it's that output
00:02 timotimo or, er, the other one?
00:04 timotimo if someone with a hackernews account wants to clarify something:
00:05 timotimo there's someone with a piece of code that's really slow
00:05 timotimo someone else put a piece of code up that's really really fast, but sadly also wrong
00:05 andreoss how do i investigate segfaults with Perl 6? gdb?
00:05 timotimo yes, gdb is a good start; you'll likely want to run perl6-gdb-m with the env var MVM_JIT_DISABLE=yes set
00:06 timotimo the code is about substituting the first y on each line into a n; sadly, the faster code only replaces the first y in each ~65k block into an n and is therefore not equivalent
00:06 timotimo andreoss: when you're attached to moar, there's a few nice debug helpers, but you'll definitely want to rebuild your moarvm to have debug symbols and less optimization, i.e. --debug=3 --optimize=0 in moarvm's Configure.pl
00:07 timotimo andreoss: one of the debug helpers is MVM_dump_backtrace(tc) - you can pretty much always go "up" a few frames to find one that has tc available
00:09 mcmillhj joined #perl6
00:11 andreoss is "has $.value" substitutable with `method value` or it will cause problems?
00:11 timotimo if it's not rw, and you're not using introspection on your class, then yeah. should be fine
00:12 timotimo m: class A { has $.foo }; say A.^attributes
00:12 camelia rakudo-moar a3b957: OUTPUT: «(Mu $!foo)?»
00:12 timotimo m: class A { method foo { } }; say A.^attributes
00:12 camelia rakudo-moar a3b957: OUTPUT: «()?»
00:12 timotimo of course you can keep the attribute $!foo because it doesn't clash with the method
00:12 timotimo oh
00:13 pierre_ joined #perl6
00:13 timotimo i forgot about the important thing, which is that if you have "has $.foo" you can set the value for that in the constructor, and the default .perl will also output it
00:13 andreoss m: role F { has $.v = 1 }; role G { method v { 2 }} ; role H does F does G {} ; H.v.say
00:13 camelia rakudo-moar a3b957: OUTPUT: «2?»
00:13 andreoss m: role F { has $.v = 1 }; role G { method v { 2 }} ; role H does G does F {} ; H.v.say
00:13 camelia rakudo-moar a3b957: OUTPUT: «2?»
00:14 andreoss m: role Abs { method v {...} }; role F does Abs { has $.v = 1 }; role G does Abs { method v { 2 }} ; role H does G does F {} ; H.v.say
00:14 camelia rakudo-moar a3b957: OUTPUT: «2?»
00:14 andreoss $.v is considered as method here
00:14 timotimo of course, $.v is sugar for $(self.v)
00:15 timotimo the attribute is actually $!v
00:15 pilne joined #perl6
00:15 andreoss but
00:15 jdv79 i kinda agree with mr. miller on a few of his points
00:15 andreoss m: role Abs { method v {...} }; role F does Abs { has $.v = 1 }; role G does Abs { has $.v = 2 } ; role H does G does F {} ; H.v.say
00:15 camelia rakudo-moar a3b957: OUTPUT: «Attribute '$!v' conflicts in role composition?  in any protect at gen/moar/stage2/NQPCORE.setting line 1033?  in block <unit> at <tmp> line 1??»
00:15 andreoss so i can use `has $.v` only once
00:16 timotimo m: role WithPriv { has $!whoa }; class A does WithPriv { method foo { say $!whoa } }; A.new.foo
00:16 camelia rakudo-moar a3b957: OUTPUT: «(Any)?»
00:16 ugexe how else would it work?
00:16 jdv79 the curly brace thing, lack of default grammar diagnostics, the odd whatever star rules, the odd itemization rules - they are all a but unseemly
00:16 timotimo ^- you can put private attributes into classes with a role
00:18 andreoss ugexe: i keep `has $.v = ...` in Abs and can have several of those in different roles
00:18 timotimo jdv79: default grammar diagnostics may actually be coming ~soon
00:18 timotimo i don't think the whatever star rules are especially odd
00:18 * zengargoyle must read the miller thing instead of just comments. :)
00:19 timotimo if sqrt(*) would be the same as *.sqrt, that'd make whatever stars pretty much useless
00:19 zengargoyle i don't see how grammar can be smart enough to give actual errors.
00:19 timotimo <a b c d>.map(* ~ "foo") would do what?
00:19 timotimo it would give you a function that gives you a four element list of whatever-you-passed concatenated with "foo"
00:20 ugexe so use a method - an attribute is not meant to be an analog for a method even though it gets a getter/setter method
00:20 timotimo zengargoyle: it can give you the high water mark, i.e. the furthest it has gotten
00:20 jdv79 but iirc its weird that * doesn't work in all cases that $_ does
00:20 zengargoyle and isn't that just in the $/ that comes back that failed?
00:20 timotimo jdv79: i'd have to look at the article again, or do you have an example ready to paste?
00:20 jdv79 i don't.  sorry.
00:21 zengargoyle i always wondered exactly how * + * worked.... is it left to right?
00:21 zengargoyle or right to left....
00:21 timotimo jdv79: the difference between $_ vs * is that with $_ you have explicit curlies to denote the scope
00:22 timotimo you use the whatever star if the rules for what scope you'll get are clear enough to make them useful
00:22 timotimo on top of that, we want to be able to pass just * to a bunch of things, like .roll(*)
00:23 timotimo a whatever in an argument list doesn't curry to contain the function call it's in, same for .[] and .{} which arguably are also argument lists
00:25 timotimo zengargoyle: i'm not sure why you're confused about * + * tbh? the rule is textual order gives argument order
00:25 timotimo if you need something else, use the R metaop if it doesn't cause confusion, or "upgrade" to curlies and $^a, $^b, ...
00:26 zengargoyle gotcha, i just think i've only seen multiple * in things like + or *(multiply) where it wasn't clear....
00:26 timotimo ugh, i think i sound a bit grumpy; please excuse the tone, i've got a bit of a headache
00:27 ugexe regex? foo ** 0..2
00:27 timotimo ah, sure. i haven't looked, but i'd expect the docs cover this. if not, doc bug please
00:28 timotimo ugexe: i'm confused, what's that an answer to?
00:28 moop_ joined #perl6
00:28 * TimToady already has a patch for the default grammar diagnostics, but has to think about ecosystem damage first
00:29 Cabanossi joined #perl6
00:30 * timotimo gives a littl cheer
00:30 zengargoyle i might check, but i find re-reading and re-reading and re-reading docs to see what's changed headache inducing. :)
00:30 timotimo that sounds fair, but whatever star currying hasn't changed since i got onto the project :D
00:30 timotimo except if you mean only changes in the docs as to what's covered and what isn't
00:31 timotimo in which case, yeah, that's fair
00:31 timotimo not really something that can be fixed :|
00:32 zengargoyle yeah, release and p6delta or such, but for now... "gah, it wasn't there last week" is a PITA. :)
00:32 basket` joined #perl6
00:35 lookatme joined #perl6
00:37 lookatme morning
00:38 moop_ morning
00:39 * zengargoyle woot
00:40 * timotimo noot
00:42 zengargoyle m: my @f = 1, 2, * - * ... Inf;say @f[^10]
00:42 camelia rakudo-moar a3b957: OUTPUT: «(1 2 -1 3 -4 7 -11 18 -29 47)?»
00:43 zengargoyle half of my brain says that should be 1,2,2-1, ... the other half thinks it's just $^a - $^b :S
00:47 timotimo well, it's 1 - 2 which is -1, then it's 2 - -1 which is 3, then it's -1 - 3 which is -4
00:47 timotimo er, i think that's what you meant?
00:48 zengargoyle yeah, it folds the wrong way... i'd think the first * would grab the 2 and curry and the second * would grab the 1 and it would be 2-1
00:48 andreoss m: sub foo($m) { temp $*t = $m.WHAT }; foo(1).say
00:48 camelia rakudo-moar a3b957: OUTPUT: «Can only use 'temp' on a container?  in sub foo at <tmp> line 1?  in block <unit> at <tmp> line 1??»
00:49 timotimo well, you can totally do that with R-
00:49 timotimo m: my @f = 1, 2, * R- * ... Inf;say @f[^10]
00:49 camelia rakudo-moar a3b957: OUTPUT: «(1 2 1 -1 -2 -1 1 2 1 -1)?»
00:49 zengargoyle instead it's like 2 * == $^a and $^b and you count the * and go back and find that many arguments.
00:49 timotimo the reason the first * gets the 1 and the second * gets the 2 is because the ... operator gives you a "sliding window"
00:53 zengargoyle yeah, i think the often use of curry doesn't quite fit in my head.  first * shoule be 2, second * should be 1.  folding instead of sliding...
00:54 dubi0us joined #perl6
00:54 timotimo ah, i see where you're coming from
00:55 timotimo yeah, currying is kind of different here from what it's usually used for
00:55 zengargoyle but nah, i haven't thought about it that much yet.... :)
00:55 timotimo i.e. a function with two arguments being turned into a func of 1 arg returning another func of 1 arg returning the result
00:55 zengargoyle right....
00:56 timotimo i'm not actually sure where exactly the name "whatever currying" came from and what the thought process was exactly
00:56 zengargoyle i can get both ways, maybe 'curry' isn't something that should really be used to describe whatever *.
00:57 zengargoyle but i haven't really thought about any other cases than the common Inf Seq thing.... or trivial single use whatever in method calls...
00:57 timotimo fun fact: before i made an optimization, we used to generate multiple cascading calls when we parsed multiple whatever stars in one thingie
00:58 zengargoyle heh
01:00 astj joined #perl6
01:03 dubi0us joined #perl6
01:04 raschipi joined #perl6
01:11 timotimo bedtime, bye!
01:12 dubi0us joined #perl6
01:15 lookatme timotimo, bye
01:17 TimToady the design docs actually try to avoid the word "currying", and talk about autopriming instead
01:17 TimToady but it's hard to get people to use words differently than they do
01:18 TimToady partial function applicatoin is not really the same thing as currying, but people confuse them all the time
01:18 dubi0us joined #perl6
01:20 TimToady *tion
01:20 * TimToady has checking in a grammar failure message patch, now we'll see if it blows up the ecosystem...
01:24 zengargoyle TimToady: i'll try and read up on partial application vs currying and begin the crusade to stamp out 'currying' as not quite right.
01:29 Cabanossi joined #perl6
01:38 dubi0us joined #perl6
01:51 ilbot3 joined #perl6
01:51 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:57 Geth ¦ doc: 3afe181824 | (Will "Coke" Coleda)++ | doc/Language/faq.pod6
01:57 Geth ¦ doc: remove trailing whitespace
01:57 Geth ¦ doc: review: https://github.com/perl6/doc/commit/3afe181824
01:57 Geth ¦ doc: 9575dd6798 | (Will "Coke" Coleda)++ | doc/Language/faq.pod6
01:57 Geth ¦ doc: avoid double the
01:57 Geth ¦ doc: review: https://github.com/perl6/doc/commit/9575dd6798
01:57 brimonk How do I get the value for pi (3.141592...) in perl6?
01:58 andreoss m: say ?
01:58 camelia rakudo-moar 9501ed: OUTPUT: «3.14159265358979?»
01:59 brimonk m: say pi
01:59 camelia rakudo-moar 9501ed: OUTPUT: «3.14159265358979?»
01:59 brimonk I think that 'pi' makes more sense.
01:59 brimonk I don't have a '?' key on my keyboard :)
02:00 pierre_ joined #perl6
02:03 lookatme Nobody have a ? on keyboard.
02:03 andreoss Greeks do
02:04 noganex joined #perl6
02:05 lookatme :) except geeks
02:05 geekosaur <compose> p i
02:05 geekosaur and Greeks was literal there
02:06 lookatme yes, you are right
02:09 dubi0us joined #perl6
02:09 hythm_ joined #perl6
02:11 andreoss m:  sub infix:">>="($a, $b) {$b}; say (1 >>= 2)
02:11 camelia rakudo-moar 9501ed: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Missing block?at <tmp>:1?------> 3sub infix:7?5">>="($a, $b) {$b}; say (1 >>= 2)?»
02:11 andreoss m:  sub infix:«>>=»($a, $b) {$b}; say (1 >>= 2)
02:11 camelia rakudo-moar 9501ed: OUTPUT: «2?»
02:12 BenGoldberg brimonk, Depending on your keyboard, you might be able to type pi by typing ALT-(277)
02:12 BenGoldberg s/277/227/
02:12 vike joined #perl6
02:15 andreoss this doesn't work in REPL for some reason
02:18 lookatme m: sub infix:<<">>=">>($a, $b) {$b}; say (1 >>= 2)
02:18 camelia rakudo-moar 9501ed: OUTPUT: «2?»
02:18 andreoss echo 'sub infix:«>>=»($a, $b) {$b}; '; echo ; echo 'say 1 >>= 2;' | perl6
02:18 andreoss doesnt work if newline involved
02:21 lookatme No, because it not get first line
02:21 lookatme the sub define
02:21 lookatme the sub definition
02:22 andreoss { echo 'sub infix:«>>=»($a, $b) {$b}; '; echo ; echo 'say (1 >>= 2);'; }| perl6
02:22 andreoss my bad
02:24 lookatme echo 'sub infix:<<">>=">>($a, $b) {$b}'"\n\n"'say 1 >>= 2;' | perl6
02:24 lookatme but this not work too
02:25 lookatme echo 'sub infix:<<">>=">>($a, $b) {$b}; say 1 >>= 2;' | perl6
02:25 lookatme this form work
02:26 andreoss I guess it's Readline issue
02:26 lookatme seems like it not see the sub definition
02:28 lookatme echo 'sub infix:<<">>=">>($a, $b) {$b};'"\n"'say &[+>];'"\n"'say &[>>=]' | perl6
02:29 AlexDaniel lookatme: “Nobody have a ? on keyboard.” ?? O_o
02:30 lookatme AlexDaniel, it's my mistake, forget it :)
02:31 AlexDaniel I wonder what has to be done to get rid of the common misconception that keyboard layouts are unmodifiable
02:32 andreoss can i know which type a function defined to return from inside of it?
02:33 andreoss ::?ROUTINE?
02:33 AlexDaniel m: sub foo(--> Int) { say &?BLOCK.returns }; foo
02:33 camelia rakudo-moar 9501ed: OUTPUT: «(Int)?»
02:33 AlexDaniel m: sub foo(--> Int) { say &?ROUTINE.returns }; foo
02:33 camelia rakudo-moar 9501ed: OUTPUT: «(Int)?»
02:34 andreoss i see
02:35 AlexDaniel I'm thinking about removing ? from a dedicated key (and instead having nothing at all there). ?Compose * p? is good enough considering how often I need ?
02:38 andreoss there's no &?CALLER or something like that?
02:39 ugexe https://docs.perl6.org/language/5to6-perlfunc#caller
02:40 ugexe https://docs.perl6.org/language/variables#Compile-time_variables
02:49 dubi0us joined #perl6
02:52 BenGoldberg m: sub foo(--> Int) { say callframe }; foo
02:52 camelia rakudo-moar 9501ed: OUTPUT: «<tmp> at line 1?»
02:52 BenGoldberg m: sub foo(--> Int) { say callframe(0) }; foo
02:52 camelia rakudo-moar 9501ed: OUTPUT: «<tmp> at line 1?»
02:52 BenGoldberg m: sub foo(--> Int) { say callframe(-1) }; foo
02:52 camelia rakudo-moar 9501ed: OUTPUT: «SETTING::src/core/CallFrame.pm at line 55?»
02:54 BenGoldberg m: sub foo(--> Int) { dd callframe.code }; foo
02:54 camelia rakudo-moar 9501ed: OUTPUT: «Sub+{Callable[Int]} foo = sub foo ( --> Int) { #`(Sub+{Callable[Int]}|61861736) ... }?»
02:54 BenGoldberg m: sub foo(--> Int) { dd callframe.code.returns }; foo
02:54 camelia rakudo-moar 9501ed: OUTPUT: «Int?»
02:54 BenGoldberg andreoss, ^
02:55 ramortegui joined #perl6
03:00 ugexe that and an explanation is in the first link
03:07 andreoss multi's have strange call stacks
03:08 dubi0us joined #perl6
03:13 Cabanossi joined #perl6
03:14 Xliff joined #perl6
03:14 Xliff 'lo
03:14 lookatme o/
03:15 Xliff What is the best way to upgrade all perl6 modules on a system?
03:15 Xliff $ panda list --installed | grep -v panda | awk -e '{print $1}' | xargs panda install
03:16 Xliff ^^ Should work, but panda doesn't check the version until install time, and installing the same version of a module is a fatal error (and really shouldn't be if more than one module is specified on the command line)
03:16 lookatme Hmm, panda is obsolete
03:16 Xliff Yet rakudobrew stll installs it... :p
03:17 lookatme why you not use zef ?
03:17 Xliff Coz rakudobrew installs panda.
03:17 lookatme zef --upgrade
03:17 Xliff Installing now
03:17 lookatme this will update all module
03:17 pierre_ joined #perl6
03:18 khw joined #perl6
03:19 Xliff And zef install doesn't install it in the right path, it looks like.
03:19 dubi0us joined #perl6
03:19 Resol joined #perl6
03:21 Resol Hi there!  Is there something special one needs to do to get Proc::Async to work on Windows?
03:21 Resol Trying to run the simple example from the Proc::Async page on docs.perl6.org ... runs fine on MacOS
03:22 Resol Doesn't work on Windows
03:22 Resol Both systems using Rakudo 2017.07
03:25 lookatme What's the rakudo complaint ?
03:25 Xliff zef wrapper needs "#!/usr/bin/env perl6" at the top or it doesn't run.
03:25 lookatme Xliff, It should install module to the local repo
03:25 lookatme I don't know much about it
03:26 lookatme Resol, What's the rakudo complaint ?
03:26 Xliff lookatme: It does, but it is not in any shape to be executable at install-time.
03:26 Xliff I know this because I just had to do it.
03:26 Xliff 1) Installs in wrong place.
03:27 Resol Ultimately it says "no such file or directory"
03:27 Xliff 1a) Solution: "cd ~/.rakudobrew/bin; ln -sf ../moar-nom/zef/bin/zef; chmod a+x ~/.rakudobrew/moar-nom/zef/bin/zef"
03:28 cpage_ joined #perl6
03:28 Xliff 2) Does not invoke perl6 in command line mode, so it doesn't run without "#!/usr/bin/env perl6" at the top of ~/.rakudobrew/moar-nom/zef/bin/zef
03:28 Resol but given that I'm just using 'echo' in the Proc::Async.new('echo', 'foo', 'bar');  that seems odd
03:28 dubi0us joined #perl6
03:29 lookatme Resol, which example are you trying run?
03:29 Xliff lookatme: Also, the command is "zef upgrade" not "--upgrade" ;)
03:29 lookatme Xliff, oh, type mistake, sorry
03:29 Resol Hi Lookatme
03:30 Xliff lookatme: No worries. I got it working after all that.
03:30 lookatme Actually I never use that upgrade command
03:30 Resol I'm trying to run the echo foo bar one.
03:30 Resol To exit type 'exit' or '^D' > my $proc = Proc::Async.new('echo', 'foo', 'bar'); Proc::Async.new(path => "echo", args => ["foo", "bar"], w => Any, enc => "utf8", translate-nl => Bool::True, started => Bool::False) > $proc.stdout.tap(-> $v { print "Output: $v" }, quit => { say 'caught exception ' ~ .^name }); Tap.new > $proc.stderr.tap(-> $v { print "Error:  $v" }); Tap.new > my $promise = $proc.start; Promise.new(scheduler => ThreadPoolSch
03:30 Resol It works like a champ on my Mac, but not on Windows :-(
03:31 Resol I guess I pasted too much into the line
03:31 Xliff Resol: I don't think that example will run on Windows without some changes.
03:31 Resol my $proc = Proc::Async.new('echo', 'foo', 'bar');
03:32 Resol Hi Xliff ... okay, fair enough ...
03:32 Resol can you recommend the changes?
03:33 Resol The error message at the bottom is:
03:33 Resol caught exception X::AdHoc Unhandled exception in code scheduled on thread 6 > no such file or directory
03:35 lookatme If you mean the example under `class Proc::Async`, it should be run correctly
03:35 pharv_ joined #perl6
03:35 Resol Hi Lookatme ... yes, that's the one.
03:35 Xliff "echo" is not a binary command. It's part of cmd.exe
03:35 Resol If i put it into Rakudo on my Mac, works fine.
03:36 Resol If I do it on Rakudo on my Windows 10 machine, it doesn't work
03:36 Xliff Yes, because OSX runs a POSIX command line where echo is an actual command..
03:36 Resol Okay, so the Proc::Async has to be an executable?
03:36 Resol I can try a different executable in place of echo
03:36 Xliff try "my $proc = Proc::Async.new('cmd.exe', '/k', 'foo', 'bar');
03:36 Xliff Or
03:37 Xliff try "my $proc = Proc::Async.new('cmd.exe /k', 'foo', 'bar');
03:37 Xliff I think the first should work.
03:37 Xliff I don't have perl6 installed on my Windows host.
03:38 lookatme I don't use that win32 installation
03:38 lookatme I use bash on win10
03:38 Resol Okay, got it ... I swapped out the echo for another executable and it worked fine.
03:38 Resol I'll try your way too ...
03:38 Xliff Toldja. ;)
03:38 lookatme okay, Resol that make sense
03:39 Xliff Resol: You must remember, Windows is an entirely different environment than Unix-ish
03:39 Xliff So many examples will have to be rewritten for it.
03:40 Resol Hi Xliff, yes, I know its different, but I was hoping that the examples would work.
03:40 Resol I'm trying to convince some folks to consider using Perl6 at work, and we're an all Windows shop.
03:40 Resol So I started running through some examples ...
03:41 Resol I know I'll never convince anyone to give it a try if the examples on the site don't work.
03:41 lookatme yeah, echo is both a binary and a command in bash
03:41 Resol And it's not like I can convince them to move to Linux of MacOS.
03:41 pierre_ joined #perl6
03:42 lookatme we should mark it not working on windows
03:42 Xliff Resol: You could try using CygWin
03:42 Xliff It compiles on Windows and provides a unix-ish environment.
03:42 Xliff Most examples from the web page should then be doable.
03:42 lookatme bash on win10 is better than Cygwin
03:43 Xliff And I think "rakudobrew" will work on it.
03:43 Xliff Win 10 bash != bash
03:43 Xliff Win 10 bash is not a POSIX environment.
03:43 Xliff Cygwin is.
03:43 lookatme no, I mean `bash on win10`
03:43 Xliff I know what you meant. :p
03:43 lookatme a linux subsystem
03:43 Xliff Hrm.
03:43 Resol Is there a way for me to mark things as not working as I run through examples?
03:44 Xliff If it is a Linux subsustem, then it should run the examples properly.
03:44 Resol Or is it best to ask questions here?
03:44 geekosaur the problem there is, if it's a native build, echo is a cmd built-in not a command you can launch that way
03:44 Xliff My thinking is that you are still running windows environment by default when you use Proc::Async
03:44 geekosaur 'cmd', '/c', 'echo foo bar'
03:44 geekosaur yes, because there is no echo.exe
03:44 geekosaur it is a cmd built-in
03:44 Xliff geekosaur: Yeah. I told him that
03:44 lookatme Xliff, yeah, it works perfectly like Linux does. That subsystem is base on Ubuntu
03:45 Xliff lookatme: Not perfectly, as your initial attempts prove.
03:46 lookatme Xliff, yeah, maybe but better than cmd
03:46 lookatme lunch time bye
03:46 geekosaur windows is not an os x, it is not a posix, it is not a linix
03:46 Xliff Since I think it will start a cmd, not a bash shell
03:46 geekosaur yes
03:47 lookatme I recommend open that feature on win10.
03:48 geekosaur the first should work
03:49 geekosaur after the executable, it pretty much doesn't matter how you break it up, it has to be reassembled for windows to pass it anyway
03:49 Resol yes, the 'cmd.exe', '/c', 'echo foo bar' works great
03:49 Resol Makes a lot of sense to me now ...
03:50 Resol And would be great to be able to update that section of the docs with this little tip.
03:50 Resol Certainly had me scratching my head.
03:51 geekosaur if that's on the doc site, you should report a bug so the example can either be rewritten or a windows example provided
03:52 Resol Okay, sure ... how do I report a bug?
03:52 Resol I'm happy to try to do that
03:56 geekosaur we need more windows contributors
03:56 geekosaur that's not really a solution for a windows shop
03:57 dubi0us joined #perl6
03:58 geekosaur seriously, we are supposed to be leaving behind older perl's unix mindset
03:58 geekosaur suggesting that people who want to use perl 6 on windows install a bad linux emulation on windows is not a solution
03:59 geekosaur hve another window open and file doc bugs as you run across non-working examples
03:59 geekosaur this should be _fixed_
04:00 Resol Well, for this problem, since it's just a different format of the example, I can add a bug report on it ... I just need to know how to report bugs.
04:01 geekosaur but yes, also ask here and hopefully we can give you examples that work natively
04:01 Resol Gotcha ...
04:02 Resol I found the GitHub site and will report the issue now
04:03 dubi0us joined #perl6
04:08 geekosaur huggable, doc bugs
04:08 huggable geekosaur, https://github.com/perl6/doc/issues
04:09 dubi0us joined #perl6
04:10 mcmillhj joined #perl6
04:11 pierre_ joined #perl6
04:26 mr-foobar joined #perl6
04:27 mcmillhj joined #perl6
04:28 abdef1 joined #perl6
04:28 abdef1 This is a really simple question -- but how do I exist a subroutine ahead of it actually finishing
04:28 Cabanossi joined #perl6
04:28 geekosaur return
04:29 dubi0us joined #perl6
04:29 geekosaur (this is actually listed as a function/routine, because in perl 6 it works by throwing a control exception. which also means you can use it as a method on the return value!)
04:30 abdef1 ohh
04:31 abdef1 I didn't know you could return nothing
04:31 abdef1 thanks
04:32 geekosaur righ, just return without a value if you don't have a return value. you can also advertise this in the signature: sub foo (Int --> )
04:38 mcmillhj joined #perl6
04:40 abdef1 Is there another way to clear an array
04:40 abdef1 other than @a = Nil;
04:41 k-man joined #perl6
04:43 lookatme @a = [];
04:43 ckraniak joined #perl6
04:44 dubi0us joined #perl6
04:49 dubi0us joined #perl6
04:54 mcmillhj joined #perl6
04:57 mr-foobar joined #perl6
04:58 Sgeo joined #perl6
04:58 Cabanossi joined #perl6
04:58 xtreak joined #perl6
04:59 dubi0us joined #perl6
05:00 pharv_ joined #perl6
05:04 Xliff "zef upgrade" is busted (it is beta)
05:04 Xliff Filing bug.
05:05 dubi0us joined #perl6
05:15 wamba joined #perl6
05:22 Altreus joined #perl6
05:23 xtreak joined #perl6
05:29 mr-foobar joined #perl6
05:37 lowbro joined #perl6
05:37 lowbro joined #perl6
05:39 dubi0us joined #perl6
05:42 andrzejku joined #perl6
05:43 Cabanossi joined #perl6
05:49 dubi0us joined #perl6
05:50 xtreak joined #perl6
05:57 pierre_ joined #perl6
05:59 dubi0us joined #perl6
06:05 marcusramberg hey, tried installing perl6 and zef from arch AUR, but seems the zef package has invalid sha256sum, and zef-without-alacryd dies with Malformed UTF-8 at line 6 col 412
06:08 pierre_ joined #perl6
06:08 dubi0us joined #perl6
06:14 CIAvash[m] marcusramberg: It's easy to install zef manually if you want to https://github.com/ugexe/zef#manual
06:15 marcusramberg CIAvash[m]: cool, thanks. unfortunately that also fails with the Malformed UTF-8 error. Possibly it's the Rakudo in arch that's to blame.
06:16 marcusramberg https://gist.github.com/marcusramberg/2b33e0b28e3dfa2da61cf871ee5c39f8
06:17 marcusramberg (rakudo-2017.01-1) I see there's another arch package called rakudo-star that is 2017.07-2
06:18 domidumont joined #perl6
06:21 lookatme maybe you can report a zef issue
06:22 marcusramberg think I might try rakudobrew instead of arch packages. the rakudo-star package also failed sha512sums
06:25 CIAvash[m] marcusramberg: The latest version of rakudo on aur is 2017.07, is this the one you installed? https://aur.archlinux.org/packages/rakudo/
06:25 domidumont joined #perl6
06:25 marcusramberg CIAvash[m]: yes. aur/rakudo 2017.07-1 (52)
06:26 marcusramberg aur/rakudo-star 2017.07-2 (14) failed to install
06:26 CIAvash[m] hmm, I have that rakudo installed and zef installs without any problems for me
06:27 marcusramberg CIAvash[m]: from the zef package?
06:27 marcusramberg btw https://aur.archlinux.org/packages/zef/?comments=all seems somone else is also seeing that malformed utf-8 package
06:27 CIAvash[m] Didn't try that one, manually it installs fine
06:27 marcusramberg (from the commens)
06:28 Cabanossi joined #perl6
06:28 marcusramberg hmm, maybe it's my env that's causing the utf-8 error then.
06:28 marcusramberg guess I can open an issue on github zif
06:29 mr-foobar joined #perl6
06:32 ShalokShalom_ joined #perl6
06:33 pierre_ joined #perl6
06:34 xinming joined #perl6
06:34 dubi0us joined #perl6
06:38 nadim joined #perl6
06:46 ufobat joined #perl6
06:50 dubi0us_ joined #perl6
07:00 samcv so i have boyer-moore string search working on MoarVM.
07:00 samcv my $string = 'a' x 100000000 ~ 'b'; nqp::index($string, 'aaaaaaaaaaaaaaaaab', 0);
07:00 mr-foobar joined #perl6
07:00 samcv before 28.0579458s after 2.94111041s
07:00 samcv obviously this is a skewed case that shows off the algorithm
07:04 wamba joined #perl6
07:05 lookatme samcv, so `before` is normal search  ?
07:05 samcv before is before i added the algorithm
07:05 samcv but both i tested with nqp::index operator just to make sure i know what is going on
07:06 samcv and this case is more extreme than others since it causes it to skip all the repeated a's
07:06 lookatme oh I see
07:07 samcv but brute force it has to iterate through the needle 'aaaaaaaaaaab' on every single part of the haystack
07:07 lookatme yeah, do we have multi string search algorithm ?
07:07 samcv but with the algorithm it does not
07:07 samcv what is multi string search algorithm
07:08 xtreak joined #perl6
07:08 lookatme use different algorithm for different case
07:08 samcv spectest passes. neat
07:08 samcv uh
07:08 samcv well we use memmem which does krunth-morris pratt on linux but ONLY if both are flat blob strings of the SAME storage type
07:09 lookatme oh
07:09 samcv if one is a strand then it doesn't work, and if the needle and haystack are different bits, one 8 and one 32 then it doesn't work. and reverts to brute force
07:09 samcv we didn't implement it ourselves but relied on memmem in either glibc on linux, or we compiled in freebsd's libc version on mac and windows
07:10 samcv (i added that like forget when, 4 months ago?)
07:10 samcv not that long ago
07:10 lookatme oh
07:10 samcv and that just searches within one blob of memory for another piece of memory
07:10 samcv which is why it only works for same type of string, and both have to be flat
07:10 abraxxa joined #perl6
07:11 CIAvash[m] samcv: Is the slides for the "High End Unicode in Perl 6" talk available somewhere?
07:11 lookatme I'm not get it the different type of string
07:12 samcv yep
07:12 samcv https://cry.nu/YAPC-EU-2017
07:12 lookatme Does string have different type ?
07:12 samcv start here: https://cry.nu/YAPC-EU-2017/MoarVM-Internals/#/9
07:12 samcv to learn about moarvm strings
07:13 CIAvash[m] samcv: thanks
07:13 samcv from the internals talk. the start of the talk is about collation, so i jumped to the other part
07:13 lookatme oh
07:13 samcv collation probably should have come last, but
07:14 dubi0us joined #perl6
07:20 andreoss samcv: this link doesn't work for some reason
07:27 ufobat both work for me
07:28 Cabanossi joined #perl6
07:28 Kyo91 joined #perl6
07:30 mr-foobar joined #perl6
07:32 samcv andreoss, maybe copy it manually?
07:32 samcv and make you sure have javascript enabled
07:33 andreoss I guess it uses spdy or something like that which icecat/iceweasel doesn't support
07:40 moritz upgrade to HTTP/2 and other fancy stuff should be only after successful transport negotiation
07:40 moritz works for me in firefox and chromium
07:43 dubi0us joined #perl6
07:49 samcv cool knuth morris pratt algorithm is now PR'd :)
07:49 samcv just randomly did that cause i was bored
07:49 samcv but it turned out to be productive
07:49 mcmillhj joined #perl6
07:54 rindolf joined #perl6
07:56 andreoss works in midori though
08:00 jonas1 joined #perl6
08:02 mr-foobar joined #perl6
08:03 nattefrost joined #perl6
08:08 nadim joined #perl6
08:09 moritz samcv++ # boredom-driven algorithm implementation :-)
08:09 moritz the true hallmark of a software geek
08:11 moritz anybody want to implement <commit> in regexes? You'll earn a special mention in my upcoming book! :-)
08:12 * moritz decided not to do it himeself because morphing the language into what I want it to be for the book is a sure way to slip deadlines
08:12 zakharyas joined #perl6
08:13 samcv <commit> ?
08:14 moritz if the regex backtracks past a <commit> rule, it'll fail, and recursively fail all calling regexes too
08:15 moritz much like the [ expected || <.panic("oh noes")> ] pattern
08:15 samcv do we not have that yet?
08:15 samcv is that something planned NYI?
08:15 moritz it's been specced all along, but not yet implemented
08:16 moritz it's basically a more declarative way of reporting parse errors in regexes, and I'd really like to include it in my chapter on generating good parse error messages
08:16 moritz but it needs to work first :-)
08:21 El_Che joined #perl6
08:22 xtreak joined #perl6
08:23 Guest69863 joined #perl6
08:24 dakkar joined #perl6
08:25 andreoss how do i re-export symbols?
08:34 zengargoyle samcv++ woot faster
08:34 samcv :-)
08:46 xtreak joined #perl6
08:46 zengargoyle andreoss: what do you mean by 're-export symbols'?
08:47 andreoss the thing :EXPORT should do, i.e make imported stuff exportable
08:49 zengargoyle so B uses C which exports c() into B, and then if A uses B you still want c() in A?
08:50 andreoss yes
08:50 lookatme This not implement in Perl 6
08:51 andreoss i could re-export classes by augmenting them, is there a work-around for roles?
08:54 dubi0us joined #perl6
08:55 zengargoyle i think of B implementing it's own export function so it can export it's own exports and export the c().
08:57 jjatria joined #perl6
08:59 nebuchadnezzar joined #perl6
09:00 zengargoyle how hacky are you willing to try?
09:05 zengargoyle this line of questioning reminds me that i still want to know how to Test a Class/Module/Package 's internal functions that are private and not exported.
09:06 zengargoyle you can't test my-bit-of-refactored-code() unless it's actually exported so you can see it....
09:08 zengargoyle unlike p5 where almost anything is possible if you try hard enough.  i guess i don't know the appropriate magic yet. :)
09:11 aborazmeh joined #perl6
09:11 aborazmeh joined #perl6
09:12 pierre_ joined #perl6
09:18 dubi0us joined #perl6
09:20 pmurias joined #perl6
09:31 xtreak joined #perl6
09:37 samcv hmm i wonder if the spec has an NFKC regex adverb
09:37 xtreak joined #perl6
09:38 samcv if anyone saw my unicode talk or saw the slides these font varients https://cry.nu/YAPC-EU-2017/High-End-Unicode/#/18 when gotten the NFKC forms get compatibility form
09:38 samcv m: "?".NFKC.Str.say
09:38 camelia rakudo-moar 9501ed: OUTPUT: «H?»
09:39 samcv even if there isn't one i will probably want to add it
09:40 samcv yeah :nfkc is one option
09:40 samcv so is :nfd and :nfc and :nfg. not sure how nfc would be different than nfc... but eh design specs
09:41 samcv and :nfkd just sounds like ignoremark + nfkc. i think they're exactly the same
09:44 dubi0us joined #perl6
09:44 samcv though i guess you save one step since it's combined into one
09:46 samcv i'm not sure how to add regex adverbs in the grammar
09:47 samcv if someone tells me how i will add it to moarvm
09:48 samcv oh nice i just found the `file-icons` package for Atom editor
09:49 samcv it adds logos for each filetype to the tabs. and perl6 files show as a butterfly
09:50 samcv pics: http://i.imgur.com/M4s6xgW.png
09:54 cpage__ joined #perl6
09:55 dubi0us joined #perl6
09:55 sena_kun joined #perl6
09:56 Sgeo joined #perl6
09:57 cpage_ joined #perl6
09:58 Cabanossi joined #perl6
10:01 zengargoyle samcv: how is Atom?  i am long-long-long time vi/text user and fear GUI like things....
10:01 samcv i like it
10:01 samcv there's a readme for setting it up for perl 6 https://github.com/perl6/Atom-as-a-Perl6-IDE
10:01 samcv i'll have to add this module i found for the icons to the list
10:03 pmurias joined #perl6
10:04 ijneb joined #perl6
10:08 llfourn joined #perl6
10:08 zengargoyle i might have to give it a try...  see if my brain can handle it without screaming OMG it's not vim all the time. :P
10:18 dubi0us joined #perl6
10:19 sena_kun if my role A does role B, it cannot use attributes of B, right? And there is no way to overcome it?
10:25 lichtkind joined #perl6
10:25 zengargoyle m:  my role A { has $.a; }; my role B does A { has $.b; }; my class C does A { has $.c; method foo() { say self.a }; }; my $c = C.new; $c.foo();
10:25 camelia rakudo-moar 9501ed: OUTPUT: «(Any)?»
10:26 zengargoyle m: my role A { has $.a = "woot"; }; my role B does A { has $.b; }; my class C does A { has $.c; method foo() { say self.a }; }; my $c = C.new; $c.foo();
10:26 camelia rakudo-moar 9501ed: OUTPUT: «woot?»
10:26 sena_kun oh, self.a actually works, because it's a method... I've tried $! instead. thanks, zengargoyle!
10:27 moritz and if you need write access, you can model that through a private "is rw" method, iirc
10:29 zengargoyle role and class are mostly same, there is some difference, but mostly same.
10:32 zengargoyle moritz: i swear i'll actually read my dead tree p6 fundamentals :)
10:37 moritz zengargoyle: though it doesn't talk about roles in that detail
10:40 wamba joined #perl6
10:41 moritz Perl 6 OO is a topic that can fill a book on its own :-)
10:43 zengargoyle moritz: nah, that was like an aside... book looks really nice, but i probably read your RSS feed. :)
10:43 Cabanossi joined #perl6
10:46 zengargoyle really liked the colored graphs and diagrams and code highlighting and such on multiple flipping-through looks.
10:46 andrzejku moritz, whats happend to your book?:D
10:48 moritz andrzejku: to which?
10:48 andrzejku by example
10:48 dubi0us joined #perl6
10:48 moritz andrzejku: it's now called "Perl 6 Fundamentals", and has been published by Apress
10:49 andrzejku moritz, is it the same?
10:50 stmuk how's the formating in the kindle version? wondering whether to get ebook or physical?
10:50 zengargoyle the dead tree is really pretty looking. :)
10:50 moritz andrzejku: apress took over when it was 80% finished
10:51 andrzejku moritz, ohh
10:51 moritz andrzejku: so there's a bit more in P6F than in "by examples", and then there's typesetting, proof reading etc
10:51 moritz stmuk: I only know the PDF and the dead tree version, not the kindle version, so I can't comment
10:52 andrzejku moritz, I still prefer Perl6 by Example :D
10:53 moritz andrzejku: it describes the book better, but the publisher was afraid it sounded like it contained only examples
10:54 stmuk I wonder if Wendy is bringing any copies to Swiss Workshop
10:54 jjatria joined #perl6
10:55 moritz she bought 20 copies in bulk and brought them to TPC in Amsterdam, but I heard they were all sold/given away
10:55 moritz but if she learns there is interest, maybe she places a second bulk order :-)
10:55 moritz stmuk: maybe shoot her an email and ask? :-)
10:57 zengargoyle that's really cool. :)
10:58 moritz and apress will also publish my Perl 6 Regex book
10:58 moritz likely Q1/Q2 2018
10:58 gregf_ joined #perl6
10:58 moritz manuscript submission deadline is Dec. 1 for me :-)
10:59 andrzejku moritz, I don't like Apress publisher :P
11:00 andrzejku moritz, my favorite one is No starch press
11:01 moritz andrzejku: I tried :-) they turned down the idea
11:01 moritz too small of a market, they said
11:02 andrzejku moritz, ohh but they announce very cool things
11:02 zengargoyle let's teach them a lesson raar :P
11:03 * moritz has no hard feelings
11:03 andrzejku moritz, I think it is better to print book undergound
11:03 andrzejku moritz, and then sell them out
11:03 moritz I greatly appreciate any publisher who actually takes the time to consider a proposal, and respond
11:03 moritz from many publishers I never got any answer
11:04 moritz andrzejku: I considered this, but I don't really enjoy publishing as much as I enjoy writing
11:04 zengargoyle i can't even imagine the publish part, so moritz++
11:05 andrzejku :)
11:05 andrzejku https://www.nostarch.com/gtfo
11:05 moritz also having a book published by a major house makes for a *very* nice line on a resume
11:05 moritz even if it often doesn't pay off financally
11:05 ckraniak I figured out a way to re-export anyway
11:07 zengargoyle ckraniak: ???
11:08 dubi0us joined #perl6
11:08 stmuk andrzejku: but the dead trees doesn't execute :)
11:09 ckraniak Not great but better than flat nothing
11:09 ckraniak Put use in an arbitrary package
11:10 dubi0us_ joined #perl6
11:10 zengargoyle heh, i have this seed of an idea of a P6 module with POD6 that executes and self-documents and is a 'book' of sorts...
11:10 ckraniak So if module C has our sub foo()
11:11 zengargoyle so if it compiles and tests OK it's a good book. :)
11:11 ckraniak B can do "package hammerspace { use B::C; }
11:12 ckraniak ... our sub foo() is export { B::C::foo(); }
11:12 zengargoyle ckraniak: did you change your nick?
11:12 ckraniak ?
11:12 ckraniak It logged me off for a bit yesterday but no
11:13 zengargoyle ah, nm,  somebody had very similar question a short while ago.
11:13 ckraniak I had that question day before. Its why I have an answer now :-)
11:14 zengargoyle i thought you were somebody else..... :)
11:14 zengargoyle how did you do it? somebody else might be interested if you figured something out....
11:15 ckraniak ...
11:15 ckraniak see above
11:15 ckraniak Its the functionality I was mostly after for re-exporting
11:18 araraloren joined #perl6
11:19 zengargoyle ah, gotcha.  i think the person/question i was thinking about wanted automagic A uses B (exports c()) and then F uses A and they want c() in F (because A re-exported).
11:19 ckraniak Yeah I don't know that
11:20 zengargoyle yeah, my bad, it just sounded so similar.
11:20 ckraniak Maybe twiddling with OUR:: could get you there but I did not try that
11:20 zengargoyle and i missed your day-ago.
11:22 araraloren Perl 5 has similar feature, I think
11:22 zengargoyle yes, i'm pretty sure it's doable if you try hard enough, but there's no magic 'use B <foo> and re-export' syntax or anything that makes it trivial.
11:23 ckraniak S-11 talked about a possible :EXPORT tag I think
11:24 ckraniak Like "use B :EXPORT"
11:24 zengargoyle heh, :EXPORT was what the previous questioner mentioned... :)
11:25 zengargoyle i guess they tried it and it didn't work yet....
11:25 pmurias zengargoyle: re self executing book, you mean something like literate programming?
11:26 ckraniak I tried it also and it does not work
11:26 ckraniak :-)
11:28 zengargoyle pmurias: yeah, just half baked idea since POD and code and #| comments and all that is code and introspectable and it seems neat to have a book that self-tests and self-publishes...
11:28 Cabanossi joined #perl6
11:29 Kyo91 joined #perl6
11:30 zengargoyle it's just an extension of having 'MAIN("test");" to run tests and 'MAIN("doc");
11:33 zengargoyle or Notebooks if we can ever do that sort of thing.
11:33 dubi0us joined #perl6
11:35 * zengargoyle couldn't figure out how to make $=data actually work.... if POD6 is ever not NYI it seems possible.
11:37 markmont joined #perl6
11:38 Rawriful joined #perl6
11:40 rindolf joined #perl6
11:41 * zengargoyle the making $=data be available by default, i had module that parsed and created data sections but couldn't navigate nqp and settings and just making $=data a thing that just worked. :/
11:41 pmurias zengargoyle: is POD6 really NYI? I remember using it?
11:41 moritz it sorta kinda works, occasionally :-)
11:41 zengargoyle pmurias: by the spec..... there's tons of neat things that don't exist yet.
11:42 moritz docs.perl6.org is all rendered from pod6 sources, so it exists at least that much
11:42 moritz but integration with the rest of the language could be better
11:42 zengargoyle there's like =data
11:42 zengargoyle and =alias
11:43 zengargoyle where you can have your <DATA> sections named like many p5 modules and just get at them with $=data<section>
11:44 dubi0us joined #perl6
11:44 skids joined #perl6
11:45 * pmurias wonders what would encourage more people to work on docs.perl6.org
11:45 pmurias on the content specifically
11:47 zengargoyle nice deltas so you don't have to re-read them over and over and over.
11:47 zengargoyle some better than "use github and clicky at things" instructions/workflow.
11:48 zengargoyle and easy 'perl6 someprog my-doc' so you can proof your edits.
11:52 zengargoyle i need to be able to do a quick look at all of my L<> I<> B<> yadda POD formatting to make sure it's decent and working before thinking about a PR request.
11:52 zengargoyle modulo spelling mistakes or such...
11:53 pmurias zengargoyle: by nice deltas you mean the sort of thing you have on say wikipedia with the changes highlighed in the rendered document rather then a diff of the source code?
11:54 zengargoyle pmurias: yeah, sounds about right.... i just know i really don't want to go and read the docs for the N-th time to try and notice that foo() has now been documented.
11:56 zengargoyle they could have the answer now, but my brain will go "i've read this already" and just skip over it even if there's a new paragraph with what i wanted to know.
11:57 raschipi joined #perl6
11:58 Cabanossi joined #perl6
12:00 mr-foobar joined #perl6
12:02 zengargoyle pmurias: maybe my ideal is along the lines of perl5delta, where you read a big long thing that tells you all the new things.
12:02 zengargoyle or even a weekly or monthly like diff of docs...
12:03 * zengargoyle guesses github would show me if i tried hard enough. :)
12:04 pmurias zengargoyle: hand crafting a list of changes for the docs doesn't seem an optimal use of time
12:06 zengargoyle yeah, just pondering.  i haven't figured out the really easy 'just start vim and edit and fix' vs the pointy-clicky.
12:08 zengargoyle i guess i'd like it like "your patch is good, but update the CHANGES or Contributors section"
12:09 zengargoyle so you'd commit "some doc thingy" and CHANGES:"documented this thingy" at the same time.
12:12 zengargoyle and then there's the document vs spec thing...  i have quite a few cut-n-paste snippets of wisdom, but should they go in documentation?
12:12 zengargoyle are they spec? will they change?
12:13 pmurias zengargoyle: having people update a CHANGES file seems like an extra barrier
12:15 zengargoyle yeah... it's like the new ecosystem addition thing i see now where there is clicky-these-checkboxes that makes me fear adding something new to ecosystem.
12:16 sftp joined #perl6
12:16 * zengargoyle has totally had the "add yourself to contributor's list" as patch rejection.
12:18 zengargoyle and a good "this is how to fix docs" doc would be handy.  some expectations and desired things vs "just click the edit button".
12:19 nine Well the Unicode consortium may have not anticipated the use in programming languages all that well
12:19 * zengargoyle and suffer the wrath of the perl 6 gods if you get it wrong.
12:20 xtreak joined #perl6
12:21 pmurias nine: ?
12:22 zengargoyle no one expects the perl 6 unicode inquisition.
12:23 xtreak_ joined #perl6
12:29 nine pmurias: sorry, disregard :)
12:29 zakharyas joined #perl6
12:30 zengargoyle pmurias: i guess if there was like a p6hacking doc that laid out a workflow with git/hub/whatever and said "add your change", "good commit message", and "preview/check your stuff", and 'push'.
12:31 zengargoyle i'd be more up to writing docs.  i don't want to fumble through.
12:31 mr-foobar joined #perl6
12:34 zengargoyle p5 hacking was 'read perlhack' and email patch.  i'm sure git changes that a bit.  but a checklist or workflow or explicit direction and a set of expectations is better than "click the edit button"... IMHO
12:36 nine zengargoyle: I'm sure you are aware of rakudo/docs/ChangeLog?
12:36 zengargoyle perldoc perlhack --- This document explains how Perl development works. It includes details
12:37 nine zengargoyle: would you be willing to write such a document?
12:39 zengargoyle maybe? i'm in the midst of figuring out how to use 'hub' and other git thingys to just hack hack hack and push a PR.
12:41 * zengargoyle hates pointy-clicky-thingns....  not the best for that.
12:41 raschipi zengargoyle: Do you know git? Github doesn't take away the git interface. You can clone the repo locally and then push to the github repo...
12:41 raschipi All without clicking a single time.
12:42 zengargoyle raschipi: i have commit, i'm just not gonna use it except for the most minor of things. :)
12:43 zengargoyle i'd still rather do a PR for something and let others check or approve than just commit myself.
12:43 Cabanossi joined #perl6
12:44 zengargoyle i think the 'hub' program makes fork/fix/PR an easy process, but i haven't quite tried and worked everything out just yet.
12:45 raschipi I see. You could at least commit to your own ghithub fork and then only have to click to send the pull request.
12:49 mcmillhj joined #perl6
12:49 Geth ¦ doc: 4c3df89574 | rafaelschipiura++ (committed by Zoffix Znet) | doc/Language/syntax.pod6
12:49 Geth ¦ doc: Regarding separators in if/elsif/else blocks. (#1439)
12:49 Geth ¦ doc:
12:49 Geth ¦ doc: * Update syntax.pod6
12:49 Geth ¦ doc:
12:49 Geth ¦ doc: * Added back in mention of optional semicolons
12:49 Geth ¦ doc:
12:49 Geth ¦ doc: * Restored original wording
12:49 Geth ¦ doc: <…commit message has 10 more lines…>
12:49 Geth ¦ doc: review: https://github.com/perl6/doc/commit/4c3df89574
12:50 zengargoyle raschipi: yeah, i have done so...  my 'easy' is `diff ../perl.orig .` | mail -s 'bug@perl.org' like, not OMG click buttons.
12:52 raschipi Thanks Zoffix.
12:53 dubi0us joined #perl6
12:53 zengargoyle and either way, i think an actual 'perl6hack' sort of doc that describes some best workflow types and expectations that anyone (even the 12 year old girl) could follow and get a thumbs-up would help in the "get people to write documentation".
12:53 Guest69863 joined #perl6
12:53 salva joined #perl6
12:55 raschipi zengargoyle: I think POD6 has to be implemented toghether with that, doesn't it? Because having the tools but nothing to display with them would be a problem...
12:58 wamba joined #perl6
13:00 mr-foobar joined #perl6
13:00 zengargoyle yeah, that's the at least how to view your POD as text to make sure you didn't do anything terribly stupid before you commit or PR, because who knows actually how the HTML is going to render in the end.
13:04 cdg_ joined #perl6
13:11 nadim zengargoyle: Apropos serialization and remoting data. As I wrote yesterday  the biggest issue is re-creating objects on the receiving side, it's dead slow. I may be doing something wrong though. Another issue is that once serialized the data can be over the limit of a one packet size, so we also need a system to split packets, send them, and  put them together in the right order. I think there's nothing for that, so it must be build from
13:11 yoleaux 15 Aug 2017 23:56Z <zengargoyle> nadim: thanks, and good night.
13:11 nadim scratch.
13:13 nadim timotimo: ready for some testing? i need some feedback.
13:14 dubi0us joined #perl6
13:17 zengargoyle nadim: lol, i'm totally quilty of "my data fits in UDP packet". :)
13:18 zengargoyle s/quilty/guilty/
13:18 nadim :)
13:20 * zengargoyle chuckles that my UDP packets were JUMBO so 9k :P
13:28 Cabanossi joined #perl6
13:28 dubi0us joined #perl6
13:28 skids joined #perl6
13:29 pierre__ joined #perl6
13:30 mr-foobar joined #perl6
13:32 zengargoyle nadim: fatal flaw in many things is thinking that UDP is/will be better than TCP.  YMMV.
13:32 zengargoyle you will eventually end up re-implementing TCP on your UDP and doing it poorly.  most likely... :)
13:33 zengargoyle there are exceptions....
13:34 Ulti timotimo: yeah they also then went ahead and used the lang anyway :D
13:34 Ulti but unfortunately are having immediate problems with OpenSSL :(
13:34 Ulti https://www.reddit.com/r/programming/comments/6thwnx/a_review_of_perl_6/dlp6aw9/?st=j6f24mqw&amp;sh=1fc32902
13:37 Ulti its kind of lame that https is almost certainly a big thing people will want to do but making bindings to openssl is always a PIA even the Perl 5 module often gets wedged just because of system specific weirdness
13:37 Ulti I think they might be on windows given they're saying DLL
13:38 Ulti which is an extra bag of fun
13:39 timotimo huh, but we do have openssl don.t we?
13:39 Ulti yeah
13:39 Ulti but its failing to install for them
13:39 timotimo urgh
13:39 * zengargoyle warns the world not to use openssh for high speed large data transfer.
13:39 Ulti in two different ways :/ which is hardly the most reassuring intro
13:40 timotimo sorry nadim, my productive output has been miniscule over the last days, i'm not sure how much i can look into it
13:42 timotimo it's true that using google.com to test https isn't the best of ideas
13:43 Ulti yeah they are also having issues even if they dont test :S which is next level uhoh
13:43 timotimo it definitely is
13:44 Ulti does Rakudo* come with this stuff?
13:44 Ulti thats perhaps a win
13:44 MilkmanDan joined #perl6
13:45 * zengargoyle explains that openssh has it's own buffering scheme that bypasses the OS TCP buffering scheme and will not fill up a 10Gbs pipe over long banwith delay paths.... use the patched hpn-ssh, or Grid-FTP.
13:46 Ulti who are you explaining to?
13:47 zengargoyle general dis on openssh :)
13:48 dubi0us joined #perl6
13:48 zengargoyle if you go fast and long distance, openssh will bite you.
13:49 zengargoyle if you are slow or close, you'll never notice, so openssh ahoy!
13:50 Ulti if you want to go fast you want to use one of these things that opens a tonne of TCP connections and uses all of them
13:50 zengargoyle Ulti: yes, but no.
13:50 Ulti if its local network point to point I usually tar netcat and dont even bother with compression
13:51 zengargoyle 10g on single connection over long distance (continent-size-distance) is entirely possible, just not with openssh,
13:52 timotimo ah they couldn't use openssl because of work network requiring proxies and such
13:52 zengargoyle it's bandwith delay product and openssh buffers not being smart.  it's tuned for local network or slow pipes.
13:53 Ulti timotimo: orly
13:53 Ulti 10g isnt much data though
13:53 Ulti try 10TB
13:54 zengargoyle you need enough buffer to fill 2x pipe.  so it gets to the end and you get an ACK.
13:54 * Ulti wanders off because he should be working not having fun ;P
13:54 zengargoyle plain openssh doesn't have big enough buffer to do 10G halfway around the world.
13:57 zengargoyle Ulti: that's 10Gb/s continuous machine-to-machine around half the globe.  openssh ain't gonna do that.
13:57 raschipi joined #perl6
13:57 Kyo91 joined #perl6
13:57 zengargoyle it doesn't have the buffer space to acomplish such a feat.  :)
14:00 mr-foobar joined #perl6
14:01 * zengargoyle goes don't get me started on MS TCP stack brokeness. :P
14:04 * zengargoyle spent a few years doing high performance research computing networking and constantly curses my plebian AT&T consumer DSL. :)
14:06 domidumont joined #perl6
14:25 dubi0us joined #perl6
14:32 sftp joined #perl6
14:35 araraloren_ joined #perl6
14:35 dubi0us joined #perl6
14:41 TimToady joined #perl6
14:43 Cabanossi joined #perl6
14:53 wamba joined #perl6
14:55 dubi0us joined #perl6
15:01 mr-foobar joined #perl6
15:02 dubi0us joined #perl6
15:05 Kyo91_ joined #perl6
15:21 andrzejku joined #perl6
15:21 ck joined #perl6
15:22 ckraniak joined #perl6
15:23 Skarsnik joined #perl6
15:24 Skarsnik Hello
15:24 Skarsnik nadim, did you resolve your issue with has/HAS in ddt?
15:27 mr-fooba_ joined #perl6
15:28 khw joined #perl6
15:29 andrzejku joined #perl6
15:29 b2gills .tell evanm TimToady recently made Perl 6 Grammars print an error message if it fails to .parse https://github.com/rakudo/rakudo/commit/9501edae4f
15:29 yoleaux b2gills: I'll pass your message to evanm.
15:36 lizmat joined #perl6
15:37 mspo yay
15:37 mspo I'm glad grammars improves
15:37 mspo it's a big feature and people want it *tight*
15:42 troys joined #perl6
15:43 Cabanossi joined #perl6
15:46 ggoebel joined #perl6
15:51 TimToady m: sub foo (Int --> ) { say 'ok' }; foo(10)
15:51 camelia rakudo-moar 591f69: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Malformed return value?at <tmp>:1?------> 3sub foo (Int --> 7?5) { say 'ok' }; foo(10)?»
15:51 TimToady m: sub foo (Int --> Nil) { say 'ok' }; foo(10)
15:51 camelia rakudo-moar 591f69: OUTPUT: «ok?»
15:52 TimToady geekosaur: ^^^
15:52 TimToady you have to be explicit about returning nothing
15:53 cdg joined #perl6
16:02 devmikey joined #perl6
16:06 sena_kun now the curious one: hwo to shuffle a list?
16:07 timotimo you .pick(*) it
16:08 sena_kun it won't repeat values. great, thanks.
16:08 TimToady you use roll(*) if you want an infinite list with repeats
16:09 TimToady as in, rolling an infinite number of dice
16:09 sena_kun I know it is infinite, but I can slice by the list size to get a shuffle and it works perfectly.
16:09 sena_kun or just cut it with `.list` or something.
16:23 nadim joined #perl6
16:23 TimToady .roll won't give you a shuffle though, since it can repeat
16:23 yoleaux e.g. .roll 1d12
16:26 mspo wait is there a D&D bot in here?
16:26 sena_kun .roll 2d6
16:26 yoleaux 2 + 1 = 3
16:26 sena_kun .roll 1d12
16:26 yoleaux 10
16:27 mspo crit fail
16:28 sena_kun yeah, 3 is not good.
16:28 mspo m: .roll 1d12
16:28 camelia rakudo-moar 591f69: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Two terms in a row?at <tmp>:1?------> 3.roll7?5 1d12?    expecting any of:?        infix?        infix stopper?        statement end?        statement modifier?        statement modif…»
16:28 sena_kun but 10/12 is better.
16:28 cdg joined #perl6
16:28 zakharyas joined #perl6
16:28 sena_kun m: (^12).roll(1)
16:28 camelia rakudo-moar 591f69: ( no output )
16:28 sena_kun m: say (^12).roll(1)
16:28 camelia rakudo-moar 591f69: OUTPUT: «(2)?»
16:29 sena_kun ugh.
16:29 sena_kun not my day.
16:29 lizmat m: (^12).roll   # 1 is default and returns a scalar value
16:29 camelia rakudo-moar 591f69: ( no output )
16:29 mspo m: say (1,2,3,4,5).roll(2)
16:29 camelia rakudo-moar 591f69: OUTPUT: «(1 5)?»
16:29 lizmat m: say (^12).roll   # 1 is default and returns a scalar value
16:29 camelia rakudo-moar 591f69: OUTPUT: «11?»
16:29 lizmat m: dd (^12).roll   # 1 is default and returns a scalar value
16:29 camelia rakudo-moar 591f69: OUTPUT: «8?»
16:30 mspo m: say (1,2,3,4,5).roll(2).WHAT
16:30 camelia rakudo-moar 591f69: OUTPUT: «(Seq)?»
16:30 mspo m: say (1,2,3,4,5).WHAT
16:30 camelia rakudo-moar 591f69: OUTPUT: «(List)?»
16:30 lizmat if you specify a value, you will always get a Seq
16:33 mspo should there be sigils for lists and bags and seqs and stuff?
16:36 dubi0us joined #perl6
16:36 b2gills @ is for Positional values like a List or a Seq, and% is for Associative values like a Set or a Bag
16:36 b2gills my @a := (1,2,3); say @a.^name
16:36 b2gills m: my @a := (1,2,3); say @a.^name
16:36 camelia rakudo-moar 435f7e: OUTPUT: «List?»
16:37 mspo m: my @a = (1,2,3); say @a.WHAT
16:37 camelia rakudo-moar 435f7e: OUTPUT: «(Array)?»
16:37 mspo m: my @a := (1,2,3); say @a.WHAT
16:37 camelia rakudo-moar 435f7e: OUTPUT: «(List)?»
16:38 b2gills s/' or a Seq'//; # actually Seq isn't a Positional, just ignore that part
16:38 mspo is a set positional?
16:39 b2gills m: say Set.^roles
16:39 camelia rakudo-moar 435f7e: OUTPUT: «((Setty) (QuantHash) (Associative))?»
16:40 b2gills a Set is more like a Hash than an Array, that is why you often have to call `.keys` on it
16:41 b2gills Positional is for ordered values that can be accessed at random indexes (so not Seq)
16:42 b2gills A Set is unordered
16:48 raschipi joined #perl6
16:51 robertle joined #perl6
16:52 AlexDaniel say roll ^12
16:52 evalable6 AlexDaniel, rakudo-moar 435f7e36c: OUTPUT: «()»
16:52 AlexDaniel :/
16:52 AlexDaniel say roll 2, ^6
16:52 evalable6 AlexDaniel, rakudo-moar 435f7e36c: OUTPUT: «(2 2)»
16:52 AlexDaniel say roll 2, ^6
16:52 evalable6 AlexDaniel, rakudo-moar 435f7e36c: OUTPUT: «(5 0)»
16:52 AlexDaniel here's your D&D bot
16:53 sena_kun say roll 1, ^12
16:53 evalable6 sena_kun, rakudo-moar 435f7e36c: OUTPUT: «(0)»
16:53 sena_kun life is scary.
16:54 AlexDaniel why so?
16:54 mspo AlexDaniel: rolling 0? :)
16:54 sena_kun :)
16:54 raschipi say roll 1, ^100
16:54 evalable6 raschipi, rakudo-moar 435f7e36c: OUTPUT: «(90)»
16:54 mspo m: say roll 2, ^5 + 1
16:54 camelia rakudo-moar 435f7e: OUTPUT: «(2 2)?»
16:55 mspo m: say roll 2, ^5, + 1
16:55 camelia rakudo-moar 435f7e: OUTPUT: «(1 ^5)?»
16:55 mspo m: say (roll 2 ^5) + 1
16:55 camelia rakudo-moar 435f7e: OUTPUT: «one(1, 1)?»
16:55 Skarsnik m: say roll 1, 1.20;
16:55 camelia rakudo-moar 435f7e: OUTPUT: «(1.2)?»
16:55 Skarsnik m: say roll 1, 1..20;
16:55 camelia rakudo-moar 435f7e: OUTPUT: «(10)?»
16:55 raschipi say ^5 + 1
16:55 evalable6 raschipi, rakudo-moar 435f7e36c: OUTPUT: «1..^6»
16:55 mspo m: say 1 + roll 2, ^5
16:55 camelia rakudo-moar 435f7e: OUTPUT: «3?»
16:55 mspo m: say 1 + roll 2, ^5
16:55 camelia rakudo-moar 435f7e: OUTPUT: «3?»
16:55 mspo m: say 1 + roll 2, ^5
16:55 camelia rakudo-moar 435f7e: OUTPUT: «3?»
16:55 mspo huh
16:56 raschipi + knows how to operate on ranges, but not on seqs
16:56 AlexDaniel say roll 2, ^6 +1
16:56 evalable6 AlexDaniel, rakudo-moar 435f7e36c: OUTPUT: «(6 4)»
16:57 raschipi m: for ^10 {say roll 2, ^6 +1}
16:57 camelia rakudo-moar 435f7e: OUTPUT: «(1 3)?(6 1)?(1 4)?(3 5)?(1 5)?(2 6)?(1 1)?(4 6)?(3 4)?(3 5)?»
16:57 mspo m: (1 .. 6).roll(1)
16:57 camelia rakudo-moar 435f7e: ( no output )
16:57 mspo m: (1 ... 6).roll(1)
16:57 camelia rakudo-moar 435f7e: ( no output )
16:58 raschipi m: (1 ... 6).roll(1).say
16:58 camelia rakudo-moar 435f7e: OUTPUT: «(3)?»
16:58 mspo yeah there it is
16:58 Cabanossi joined #perl6
16:58 mspo m: (1 ... 6).roll(1).Int.say
16:58 camelia rakudo-moar 435f7e: OUTPUT: «1?»
16:58 AlexDaniel say roll 2, (1…6)
16:58 evalable6 AlexDaniel, rakudo-moar 435f7e36c: OUTPUT: «(1 1)»
16:58 b2gills m: say 1 X+ roll 2, ^5
16:58 camelia rakudo-moar 435f7e: OUTPUT: «(3 2)?»
16:59 raschipi m: say ^5 + 1 == 1..^6
16:59 camelia rakudo-moar 435f7e: OUTPUT: «True?»
16:59 AlexDaniel say roll 2, ‘?’..‘?’
16:59 evalable6 AlexDaniel, rakudo-moar 435f7e36c: OUTPUT: «(? ?)»
17:00 TimToady m: say roll 2, 1 + ^6
17:00 camelia rakudo-moar 435f7e: OUTPUT: «(4 6)?»
17:00 TimToady m: say roll 5, 1 + ^6
17:00 camelia rakudo-moar 435f7e: OUTPUT: «(3 6 3 1 6)?»
17:00 TimToady hmm, I'll go for a full house
17:01 TimToady m: say roll 5, '?' .. '?'
17:01 camelia rakudo-moar 435f7e: OUTPUT: «(? ? ? ? ?)?»
17:01 TimToady I'll go for a full house again :)
17:02 TimToady m: say roll 1, '?' .. '?'
17:02 camelia rakudo-moar 435f7e: OUTPUT: «(?)?»
17:02 mspo TimToady: good use of the dice
17:02 TimToady m: say roll 1, '?' .. '?'
17:02 camelia rakudo-moar 435f7e: OUTPUT: «(?)?»
17:02 mspo there are cards in utf8, I think
17:02 TimToady got it!
17:02 TimToady indeed, and they're used in rosettacode examples
17:02 setty1 joined #perl6
17:02 mspo m: say ???? ... ????
17:02 camelia rakudo-moar 435f7e: OUTPUT: «5===SORRY!5===?Argument to "say" seems to be malformed?at <tmp>:1?------> 3say7?5 ???? ... ?????Bogus postfix?at <tmp>:1?------> 3say 7?5???? ... ?????    expecting any of:?        infix?        infix stopper?        p…»
17:02 mspo aww
17:02 TimToady quotes needed
17:03 mspo m: say "????" ... "????"
17:03 camelia rakudo-moar 435f7e: OUTPUT: «(???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ????)?»
17:03 mspo love that
17:03 mspo m: say "????" ... "????"
17:03 camelia rakudo-moar 435f7e: OUTPUT: «(???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? …»
17:03 TimToady hope your game wants ????
17:03 Skarsnik thx hexchat for showing me only square xD
17:03 mspo m: say "????" ... "????".roll(5)
17:03 camelia rakudo-moar 435f7e: OUTPUT: «(???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? …»
17:03 AlexDaniel .tell moritz ???? unicode in irc log
17:03 yoleaux AlexDaniel: I'll pass your message to moritz.
17:04 Skarsnik not sure if this could show properly on a gtk2 client
17:04 raschipi m: say ('????' .. '????').List.elems #Hum, something is wrong.
17:04 camelia rakudo-moar 435f7e: OUTPUT: «14?»
17:04 mspo TimToady: a knight?
17:04 TimToady .u ????
17:04 yoleaux U+1F0AC PLAYING CARD KNIGHT OF SPADES [So] (????)
17:04 zakharyas joined #perl6
17:04 raschipi m: say ('????' .. '????').List.elems
17:04 camelia rakudo-moar 435f7e: OUTPUT: «62?»
17:04 mspo oh crap extra cards!
17:04 TimToady yup
17:04 raschipi Aren't there 52 cards in a deck?
17:05 mspo depends on the deck
17:05 mspo germany uses cups and bells and stuff
17:05 TimToady not in a Pinochle deck :)
17:05 mspo so we need a sequence that skips knights and jokers at least
17:05 TimToady Rook cards have 14 per suit too
17:06 raschipi I imagined it wasn't a standard deck. Is this defined by Unicode?
17:06 TimToady Flinch cards have 15
17:06 mspo ranguard: yeah
17:06 mspo raschipi: yeah
17:06 ab6tract joined #perl6
17:06 raschipi u: ????
17:06 unicodable6 raschipi, U+1F0AF <reserved> [Cn] (????)
17:07 ab6tract o/
17:07 mspo method skip(--> TODO)
17:07 raschipi u: ????
17:07 unicodable6 raschipi, U+1F0BF PLAYING CARD RED JOKER [So] (????)
17:07 ab6tract so i have been playing around with Evan Miller's proc async example
17:07 ab6tract my apologies if this has been discussed (to death) before, but
17:07 ab6tract https://gist.github.com/ab5tract/20d7a03e57ae8f9605bb83b5e0174a95
17:07 Skarsnik hm, what font are you using?
17:08 TimToady m: say ("????" ... "????").grep: *.uniname.match(/KNIGHT/).not
17:08 camelia rakudo-moar 435f7e: OUTPUT: «(???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? …»
17:08 AlexDaniel u: playing card
17:08 unicodable6 AlexDaniel, U+1F0A0 PLAYING CARD BACK [So] (????)
17:08 unicodable6 AlexDaniel, U+1F0A1 PLAYING CARD ACE OF SPADES [So] (????)
17:08 b2gills There is a "\c[PLAYING CARD TRUMP-21]"
17:08 unicodable6 AlexDaniel, 83 characters in total: https://gist.github.com/dea6aa7044280592aa25d4e51e074e64
17:08 AlexDaniel b2gills: right after PLAYING CARD FOOL
17:09 ab6tract I found it a bit surprising that you cannot cleanly combine Proc::Async stdout/stderr with a whenever block
17:10 mspo m: my $uscards = ("????" ... "????"); $uscards.append("????" ... "????"); say $uscards;
17:10 camelia rakudo-moar 435f7e: OUTPUT: «Cannot resolve caller append(Seq: Seq); none of these signatures match:?    (Any:U \SELF: |values is raw)?  in block <unit> at <tmp> line 1??»
17:11 mspo m: my $uscards = ("????" ... "????"); $uscards.push("????" ... "????"); say $uscards;
17:11 camelia rakudo-moar 435f7e: OUTPUT: «Cannot resolve caller push(Seq: Seq); none of these signatures match:?    (Any:U \SELF: |values is raw)?  in block <unit> at <tmp> line 1??»
17:11 mspo okay nevermind
17:11 b2gills m: my $uscards = ("????" ... "????").Array; $uscards.append("????" ... "????"); say $uscards;
17:11 camelia rakudo-moar 435f7e: OUTPUT: «[???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ????]?»
17:11 AlexDaniel ab6tract: I'm not entirely sure what you are trying to say. Why do you have to tap? For example, this is how I'm using it: https://github.com/perl6/whateverable/blob/master/lib/Whateverable.pm6#L175-L195
17:13 ab6tract AlexDaniel: hmm, without that line I get a broken Promise
17:13 ab6tract "To avoid data races, you must tap stdout before running the process"
17:13 timotimo you put $proc.start before the $proc.stdout lines?
17:13 ab6tract AlexDaniel: I see in your example that react is not within a start block. I didn't realize that this is possible
17:13 AlexDaniel ab6tract: yes, so “whenever $proc.stdout” goes before “whenever $proc.start” I think
17:14 ab6tract sorry? i declare the react block before i await $proc.start
17:14 AlexDaniel ab6tract: that's the point. It will block until all promises are kept, or until you call “done”
17:15 ab6tract oh, ok now I'm following you
17:16 timotimo the react will first run the code "inside it", so it's quite possible that you're actually legit racing there
17:17 AlexDaniel the race that I see is that it can “$proc.start” before “whenever $proc.stdout”
17:18 AlexDaniel which is what XXX comment talks about, I guess
17:18 AlexDaniel and maybe which is why "$proc.stdout.tap" is there
17:18 ab6tract so much nicer
17:18 ab6tract https://gist.github.com/ab5tract/20d7a03e57ae8f9605bb83b5e0174a95
17:19 AlexDaniel ab6tract: I think you can also omit “done” in this case. It's there in my example because of “whenever Promise.in($timeout) { … }”
17:19 AlexDaniel ab6tract: so I want it to bail out from react even though the timeout promise is not kept yet
17:20 ash_gti joined #perl6
17:21 AlexDaniel hm, too bad you can't write “whenever $proc.start;”
17:22 AlexDaniel but “whenever $proc.start {}” is not too bad anyway
17:22 ab6tract AlexDaniel: at least it recognizes '{ }' as a bare block there, rather than mistaking for a hash like it can for signatures
17:22 * AlexDaniel notices how his message use exactly the same wording to talk about opposite things. D'oh
17:22 AlexDaniel ab6tract: yes, this is what I was thinking too :)
17:22 timotimo that's because it's a method call, no?
17:23 raschipi m: my $proc = Proc::Async.new(:r, 'echo','Man is amazing, but he is not a masterpiece'); react {whenever $proc.stdout { say "OUT: $_"; }; $proc.start}
17:23 camelia rakudo-moar 435f7e: OUTPUT: «Proc::Async is disallowed in restricted setting?  in sub restricted at src/RESTRICTED.setting line 1?  in method new at src/RESTRICTED.setting line 32?  in block <unit> at <tmp> line 1??»
17:23 AlexDaniel timotimo: sorry?
17:24 timotimo you mean "whenver $proc.start { }"?
17:24 b2gills ab6tract: start, and react are statement prefixes, so your previous code could have been `start react whenever $proc.stdout { say "OUT: $_"; }`
17:24 ab6tract b2gills: good point, they thunk
17:24 AlexDaniel raschipi: I'm not entirely convinced that this is a good idea
17:25 ash_gti so, I’m curious why two pretty similar scripts have vastly different runtimes, I can make some guesses but the difference is pretty drastic
17:25 raschipi AlexDaniel: I'm not too, I was just goofing around.
17:25 Skarsnik ash_gti, example? ^^
17:25 b2gills `react` doesn't return anything, it just blocks until you get a `done` called
17:25 ash_gti `time yes | head -n1000000 | perl6 -pe 's/y/n/‘` finishes in 2 minutes, but `time yes | head -n1000000 | perl6 -e 'for $*IN.readchars { .subst("y", "n").print }’` finishes in 82 ms (according to the --profile)
17:25 AlexDaniel raschipi: it is assuming that .stdout supply is going to finish around the same time the process will finish too, and I'd love to see a written guarantee for this stuff somewhere… until then, whenever $proc.start {} :)
17:25 ab6tract AlexDaniel: so are there any differences between `react` and `start react` ?
17:26 AlexDaniel ab6tract: react blocks
17:26 b2gills I'm not really fond of `start react` by the way, it is a misuse of Promise.start
17:26 timotimo ash_gti: check the output, i believe the output differs between both scripts
17:26 ab6tract solves me problem :D
17:26 ab6tract *my
17:26 grondilu joined #perl6
17:27 grondilu https://irclog.perlgeek.de/perl6/2017-08-15#i_15016321 <= rakudo-js will target wasm?  Is that official?
17:27 raschipi grondilu: No, pmurias already corrected me
17:27 * grondilu is disappointed
17:27 ash_gti ah sorry, I pasted the wrong second one
17:28 b2gills I think there could be a corollary of `start` called `kickoff` that does `Thread.start` in the same way that `start` calls `Promise.start`
17:28 ab6tract b2gills: i can dig it
17:28 AlexDaniel ab6tract: start react is just a regular start block with react in it
17:28 ash_gti `time yes | head -n1000000 | perl6 -e 'for $*IN.readchars { .subst("y", "n", :g).print }’` < still finishes in .72 seconds
17:29 ab6tract AlexDaniel: yeah but ISTR there was a point when react could only exist within a start
17:29 timotimo OK, but then that's only correct if you use "yes" and not, for example "yes yesyes"
17:29 timotimo i.e. only because yes spits out a single y per line
17:29 b2gills `start` returns a Promise, if you aren't going to use the Promise why are you indirectly calling `Promise.start`
17:29 ab6tract but maybe i have a wire crossed and am thinking of whenever only being allowed in a react :)
17:29 Skarsnik did you try with $*IN.lines ?
17:30 ash_gti using $*IN.lines is the same time as the first example
17:30 ash_gti or really close to it
17:30 AlexDaniel ab6tract: well, if you want the processing to happen in parallel while you do something else, then sure? Like my $p = start react { … }; say ‘OK, while I'm doing the work, wanna play chess?’
17:30 b2gills whenever is also allowed in a `supply` block
17:32 b2gills m: my $p = Promise.in(1); say Thread.start({react whenever $p {done}; say 'done'}); say 'going'; await $p
17:32 camelia rakudo-moar 435f7e: OUTPUT: «Thread #6?going?done?»
17:32 ab6tract AlexDaniel: Right, I am feeling more convinced that I was mistaken. Still, I thought it `react { }` alone used to throw an exception. Like I said, maybe I am misremembering.
17:33 koto joined #perl6
17:33 ab6tract b2gills: nice one
17:34 AlexDaniel honestly, I don't entirely understand react/whenever. In a way, this gives me a possibility to do synchronous processing of asynchronous events (kind of), but is it actually what I need? For example…
17:35 AlexDaniel If I do ?whenever $proc.stdout { #`{do something} };?, then why does it have to interfere with ?whenever $proc.stderr { #`{do something else} };? ?
17:36 PerlMonger joined #perl6
17:36 PerlMonger Hey guys
17:36 b2gills For a second I thought there was debugging in Thread.start; totally forgot about the call to `say` before it
17:36 AlexDaniel so if I block for a few sceonds on stdout processing, the rest is going to wait? Do I *really* want that?
17:36 PerlMonger I'm having trouble running my perl6 files using the "perl6" command
17:37 PerlMonger But if I run the perl6 executable, I can run code inside of there
17:37 AlexDaniel PerlMonger: interesting! Are there any errors shown?
17:37 PerlMonger Yes, let me try again one sec
17:38 PerlMonger bash: perl6: command not found
17:39 mspo PerlMonger: do you mean it doesn't work via perl6 foo.pl6 or #!/usr/bin/perl6 ?
17:39 mspo PerlMonger: try the full path
17:39 AlexDaniel PerlMonger: you probably want to a path to your perl6 executable into your $PATH, that's if you're on linux
17:39 PerlMonger Okay, I'll try that now
17:41 ilmari any reason we're using the texas camelia in /topic? ???? existss…
17:41 lucasb joined #perl6
17:42 mspo p6: say 3;
17:42 camelia rakudo-moar 435f7e: OUTPUT: «3?»
17:42 b2gills I personally have a symbolic link  /home/brad/bin/perl6 that points to /opt/rakudo/bin/perl6
17:42 mspo m: say 3;
17:42 camelia rakudo-moar 435f7e: OUTPUT: «3?»
17:43 AlexDaniel ilmari: it exists now, but it didn't for a looong time
17:44 AlexDaniel ilmari: interestingly, it says “UTF-8 is our friend!” :)
17:46 PerlMonger I've now used "Open With" and found the perl6 executable in the correct directory, and tried to use that to run my file, but now nothing happens
17:48 b2gills If you are on Windows it will either not open a terminal window, or it will open a terminal it and close it as soon as it is done. which can happen quickly
17:48 mcsnolte joined #perl6
17:48 PerlMonger I am on Debian
17:49 b2gills Even more reason for it to not open a terminal window
17:49 ash_gti so, trying a few different things, `perl6 -e 'for $*IN.readchars.lines { .subst("y", "n").say }'` is about 1 second, `perl -e 'for $*IN.lines { .subst("y", "n").say }'` is about 20 seconds; however, just doing: perl6 -pe ’s/y/n/‘ takes 2 minutes
17:49 b2gills Windows has a bit that tells the computer if it is a terminal program or a gui program
17:50 b2gills * Executables on Windows
17:51 PerlMonger How would you reccomend I run my perl6 script without opening in terminal? Other than copy pasting the code into a running perl6 executable, of course :)
17:53 mspo what do you want to happen?
17:54 b2gills xterm -e perl6 -e 'say "hi"; sleep 3'
17:54 ab6tract AlexDaniel: I suppose the solution to the moment where you want something different, you can spawn multiple react blocks?
17:54 raschipi If the 'perl6' command is workig in the command line, you can use the '#!/usr/bin/env perl6' trick.
17:55 tojo PerlMonger: Atom code editor has neat Perl6 plugin on which you can execute code "without" opening the terminal just using hotkeys. Assuming that you are just playing with Perl 6 now
17:55 mspo where does that output go?
17:56 timotimo ab6tract: not sure if it helps, but you can also "whenever start { } { }" inside react
17:56 timotimo i haven't followed the exact problem closely
17:56 PerlMonger Is it called language-perl6 by any chance, tojo?
17:57 AlexDaniel ab6tract: or just use taps instead. react is very safe in a sense that you're not going to access stuff from different threads, which is great. So it's a wonderful thing to do by “default”, maybe. But I'm looking at some places where I use react, and I'm not entirely sure that it is what I wanted to write.
17:58 tojo PerlMonger: that should be it, there is only one or two plugins available
17:58 PerlMonger raschipi: Nope, doesn't work :P
17:58 b2gills you can think of `react {}` as just an extension of the `supply {}` feature
17:58 PerlMonger Okay, thanks guys!
17:59 PerlMonger Will play about with this and be back later
18:03 perlpilot Perl 6 would *so* benefit from a concurrency book right about now.  There seems to be quite a few people playing with Promise, Supply, and Channel (even if only by virtue of using one of the async modules) and not enough "easy knowledge" to point them in the right direction.
18:03 perlpilot (unless you count asking on #perl6 as "easy")
18:07 itaipu joined #perl6
18:08 Kyo91 joined #perl6
18:10 ab6tract AlexDaniel: oh, for sure
18:12 ab6tract taps are great
18:13 timotimo perlpilot: we should oint people strongly at jnthn's presentations (both videos and slides)
18:15 xinming joined #perl6
18:16 ChoHag joined #perl6
18:17 ugexe a concurrency book would be nice, although when it doesn't have to be sprinkled with  `* except in 6.d it does this`
18:19 mspo it's like you need a wiki :)
18:24 El_Che videos --how fantatisc the talk may be-- don't replace docs. You need to be very motivated to watch many of them
18:24 timotimo that's why i also pointed out the slides
18:24 timotimo they are also good on their own, i'd claim
18:25 El_Che not a fan of slides without context (although john's slides for the perl6 intro are great)
18:26 El_Che I enjoyed those a lot
18:27 ChristopherBotto joined #perl6
18:28 raschipi Do you have a link?
18:28 El_Che let me look them up
18:28 cdg_ joined #perl6
18:28 ggoebel joined #perl6
18:29 El_Che http://www.jnthn.net/papers/2015-spw-perl6-course.pdf
18:30 nadim joined #perl6
18:30 raschipi Thanks
18:33 El_Che raschipi: there is quite good stuff in the parent dir: http://www.jnthn.net/articles.shtml
18:34 El_Che I saw the talks of FOSDEM 2014+2015 and NLPW 2014, and of course with a speaker like jnthn providing context it's a lot nicer
18:38 cdg joined #perl6
18:38 wamba joined #perl6
18:42 espadrine joined #perl6
18:43 Cabanossi joined #perl6
18:47 ck joined #perl6
18:50 ckraniak joined #perl6
19:01 ash_gti is using perl6 -pe ‘1` pretty similar to doing: `for $*IN.lines { say 1; }` ? or are the command line options doing something fundamentally different?
19:02 Skarsnik hm
19:03 ash_gti I guess actually running perl6 -pe 1 doesn’t work though, hmmm
19:04 geekosaur it should be the same as for $*IN.lines { 1; say $_ }
19:08 raschipi ash_gti: It works for me...
19:15 Skarsnik m: say &1
19:15 camelia rakudo-moar 3e70d4: OUTPUT: «Nil?»
19:25 itaipu joined #perl6
19:30 [Coke] (doc examples that are OS specific) instead of marking "doesn't work on windows", perhaps noting "works on OS X" or "linux", e.g.)
19:32 geekosaur problem is, people reporting it may not be able to say that
19:32 geekosaur they know it fails on platform X, they may not be in a positon ot test on Y or Z
19:32 ryu0 joined #perl6
19:33 ZofBot joined #perl6
19:33 geekosaur the person triaging it is the one who can check working/not working pltforms
19:37 cdg joined #perl6
19:37 El_Che It looks like perl6 conquered Switserland: http://act.perl-workshop.ch/spw2017/schedule?day=2017-08-26
19:38 ash_gti joined #perl6
19:45 TEttinger joined #perl6
19:46 nadim Skarsnik: I must admit that I don't remember a issue with has/HAS, what I was, if I recal well, was surprised how they looked like. I will write a test and check it again, thank you for reminding me.
19:46 NeuralAnomaly joined #perl6
19:49 nadim I just receive a very surprising error when using Terminal::Print, "Cannot invoke this object (REPR: Null; VMNull)" I reported the error  if it interests someone https://github.com/ab5tract/Terminal-Print/issues/44
19:50 gigavinyl joined #perl6
19:51 brimonk AlexDaniel: Thanks for your assistance in fixing my problem!
19:51 brimonk It just got resolved.
19:53 raschipi m: my $n = Numeric.new; $n.Bool;
19:53 camelia rakudo-moar 3e70d4: OUTPUT: «MoarVM panic: Memory allocation failed; could not allocate 82944 bytes?»
19:54 Skarsnik nadim, HAS inline a struct in a struct, where has will put a pointer. class B is cstruct { has int150000 $.a }; class A is cstruct {has B $.b}; # 1 pointer in size; class C is cstruct { HAS B $.b} # int1500000 size;
19:54 raschipi I know this is strange, but I don't think an infinite loop and leaking memory is what's appropriate in this case, right?
19:54 Skarsnik weird lol
19:57 gigavinyl joined #perl6
19:59 Skarsnik this take forever, seem like it stuck in an infinite loop
19:59 jdv79 timotimo: yeah, that's true
19:59 gigavinyl joined #perl6
20:05 Skarsnik nadim, an attribute will get .inlined attribute to true if it's HAS
20:05 aaaa1 joined #perl6
20:05 aaaa1 What other template based things are there other than Bailador?
20:06 cdg joined #perl6
20:06 aaaa1 Is Uzu an alternative?
20:08 AlexDaniel brimonk: you're welcome! :)
20:10 AlexDaniel aaaa1: it could be, depending on your needs.
20:10 AlexDaniel but I think uzu is for static websites only, isn't it?
20:10 cdg_ joined #perl6
20:11 aaaa1 no idea
20:11 cdg joined #perl6
20:12 cdg_ joined #perl6
20:14 awwaiid joined #perl6
20:16 gigavinyl joined #perl6
20:30 dubi0us joined #perl6
20:34 ChoHag joined #perl6
20:35 dubi0us_ joined #perl6
20:38 timotimo excuse me, jdv79, what is?
20:39 dubi0us joined #perl6
20:39 timotimo aaaa1: uzu is a static site generator while bailador is a slim web app framework; both use existing template libraries. Bailador has Mojo and Mustache, whereas uzu has Template6 and Mustache; find them and others on modules.perl6.org by searching for "Template"
20:40 Kyo91 joined #perl6
20:42 raschipi buggable: eco Template
20:42 buggable raschipi, Found 14 results: HTML::Template, Template::Mojo, Template6, Template::Mustache, Plosurin. See https://modules.perl6.org/s/Template
20:42 timotimo thanks raschipi
20:43 mspo mustache and mojo are in sar
20:43 mspo star
20:46 ShalokShalom how is the overhead when calling other languages?
20:47 timotimo ShalokShalom: the benchmark Tux runs every day for his CSV module has a mode where it uses Text::CSV_XS from Perl5 to parse each individual line. it's more than 2x faster than the pure perl6 version
20:48 timotimo does that help you estimate?
20:48 ShalokShalom so Perl5 is much faster as 6?
20:49 devmikey joined #perl6
20:49 ShalokShalom and there is no overhead
20:49 raschipi ShalokShalom: The module is written in C
20:49 ShalokShalom i know
20:50 raschipi So, no Perl5 involved here at all.
20:50 ShalokShalom nearly no overhead would be as answer enough
20:50 raschipi Yes, nearly no overhead.
20:50 ShalokShalom raschipi: i am refering to "" from Perl5 to parse each individual line. it's more than 2x faster than the pure perl6 version"
20:50 ShalokShalom thanks
20:51 raschipi Yes, XS is part of Perl5, but it's not written in Perl5, it's written in C
20:51 timotimo sadly it's not possible to nativecall directly into XS code
20:51 brimonk Is there a way to still have native C modules in perl6?
20:51 timotimo of course
20:51 Skarsnik yes NativeCall
20:51 brimonk Because that would (maybe) solve everyone's problem.
20:51 brimonk If speed is really an issue.
20:51 timotimo anyway, you go through the Inline::Perl5 overhead for every line and it's not too slow
20:52 geekosaur "Text::CSV_S from Perl5"
20:52 geekosaur er CSV_XS
20:52 Skarsnik I use a C lib to parse HTML5
20:52 raschipi I see, thanks.
20:52 Skarsnik and I need to do the same for XML
20:52 geekosaur the _XS part is significant
20:52 geekosaur it s a module *for* perl 5, using Perl 5's C extensions
20:52 Skarsnik because perl6 xml parsing is slow
20:52 geekosaur I don't think XS will be doable in perl 6 since it tends to be far too tight with perl 5 internals
20:52 geekosaur er, using perl 5 XS modules
20:53 gigavinyl joined #perl6
20:53 timotimo yeah, XS modules really expect there to be a full perl5 interpreter in memory
20:53 dubi0us joined #perl6
20:54 timotimo the pypy people have done something for CPython extensions, which is basically python's XS, but it's an inredible amount of work & hassle
20:55 Skarsnik NC is so... simple
20:55 Skarsnik it's beautiful :)
20:55 El_Che It is
20:56 El_Che a work of art :)
20:57 Skarsnik (and GPTrixie make it a breeze to do binding)
20:57 El_Che maybe it's too beautiful, resulting in importing the C's insecure model into perl6 instead of a more secure perl6 program?
20:57 Skarsnik what do you can C insecure model?
20:57 raschipi Manual memory management.
20:58 Skarsnik Well you should use it to bind 'proper' lib
21:00 El_Che my point is that a C lib is a huge win for perl6 (performance, a lib when no native lib is around), but there is a price to pay
21:01 dubi0us joined #perl6
21:02 Skarsnik it's a time save for stuff like HTML5. for me it's a waste of time to do "yet another html5 parser". I don't want to know the time it could take to have some as solid as browser parser
21:03 ChoHag Has anyone attempted a grammar for html5?
21:03 ChoHag Do they still summon Cthulhu like regex do?
21:04 El_Che Skarsnik: yes, that the "a lib when no native lib is around" usecase
21:04 El_Che which I certainly appreciate
21:04 geekosaur you could write one but I suspect it'd be too strict for actualhtml in the wild
21:05 geekosaur for real, dirty, broken html5 as found in the wild, pretty much any solution that isn't tagsoup-ish will summon nasal demons
21:05 dubi0us_ joined #perl6
21:05 gigavinyl joined #perl6
21:06 ChoHag Oh I thought they'd fixed the "attempt to render linenoise" problem in html5.
21:07 raschipi ChoHag: You're thniking of XHTML, HTML5 isn't XML bacause web developers hate strict parsers apparently.
21:07 geekosaur even xhtml is something of a failure
21:07 geekosaur people will produce garbage and call you broken if you can't handle it
21:07 Skarsnik HTML5 is deeply defined, even error like non closing tag and stuff are specified
21:07 geekosaur yes, but about 3 people actually pay attention to it
21:08 geekosaur likewise xhtml
21:08 Skarsnik (the doc is pretty huge)
21:08 raschipi Yeah, they just embraced the brokeness.
21:08 Skarsnik hm, I am pretty sure all browser supporting HTML5 do the same thing (following the doc)
21:10 raschipi Skarsnik: Yes, the follow the specification, but the specification is for tag soup.
21:11 Skarsnik yeah but you ensure that a html5 page will have the same tree accross all thing supporting html5. it's a big pls
21:12 geekosaur if only
21:12 geekosaur firefox wouldn't have quirks mode if that were true
21:13 aaaa1 left #perl6
21:13 dubi0us joined #perl6
21:13 abcdef1 joined #perl6
21:14 abcdef1 How do I separate classes from the main.pm file?
21:14 kerframil joined #perl6
21:18 [Coke] geekosaur: yes, people can report a failure of a particular example, but I'm saying we advertise the good bits, not the bad bits.
21:24 abcdef1 I created a directory inside of the root directory called 'lib' and did `use lib 'lib'; use RTObjects;`
21:24 abcdef1 with `unit module RTObjects;` in '/lib/RTObjects.p6'
21:25 abcdef1 It still can't find RTObjects
21:25 markmont joined #perl6
21:26 gfldex abcdef1: try to rename the module to `.pm` or `.pm6`
21:27 geekosaur use looks for .pm or maybe .pm6, not .p6
21:27 abcdef1 That worked; thanks guys!
21:28 gfldex docs are a bit sloppy when it says: "Source files generally use the standard .pm extension, and scripts or executables use .pl."
21:28 Cabanossi joined #perl6
21:28 Skarsnik huggable, modules
21:28 huggable Skarsnik, 100 Most Popular (by github stars and recently updated) Modules:  perl6 -MWWW -e 'jget("http://modules.perl6.org/.json")<dists>.sort(-*<stars>).grep({Date.new(.<date_updated>) after Date.new: "2017-01-01"}).head(100)»<name>.grep(none |<p6doc panda v5>, /^ "Inline::"/).put'
21:31 nadim Skarsnik: I remember what one of my problems with has/HAS was, I can't see the difference in the dump and I would have liked to do that.
21:32 Skarsnik nadim, need to check for .inlined . my $has =  $attr.inlined ?? 'HAS' !! 'has';
21:32 nadim Skarsnik: cool! otherwise it looked like this http://i.imgur.com/SRGmoyC.png
21:33 nadim let me see what I can do with that inline information
21:33 Skarsnik I should have pointed to https://github.com/Skarsnik/nativecall-typediag/blob/master/lib/NativeCall/TypeDiag.pm6#L96 that could have helped for your stuff
21:33 Skarsnik since I validate CStruct in this
21:34 cdg joined #perl6
21:40 nadim Looks more accurate with HAS, I also forgot to show rw for native, that's fixed too. http://i.imgur.com/Kv3LWzX.png
21:41 cdg joined #perl6
21:43 nadim meh! size should be different
21:44 nadim copypasta error! pfiuu
21:45 nadim http://i.imgur.com/Kv3LWzX.png
21:46 Skarsnik still show 16 and 16
21:46 nadim pasted the same link :(
21:46 nadim http://i.imgur.com/Kv3LWzX.png
21:48 dubi0us joined #perl6
21:49 nadim well  ... Lol!  found a bug in imgur web page! this should be it  http://i.imgur.com/CL59VK4.png
21:50 nadim Qapla'
21:50 nadim Skarsnik: do you have a few struc definition laying around you can share so I have an example a bit more complexe than that one?
21:52 Skarsnik https://github.com/Skarsnik/nativecall-typediag/blob/master/examples/toyundatype.p6 ?
21:54 Skarsnik nadim, if you want real life stuff https://github.com/Skarsnik/perl6-gumbo/blob/master/lib/Gumbo/Binding.pm6
21:57 dubi0us joined #perl6
21:59 nadim http://i.imgur.com/Irpwuyw.png
22:06 gigavinyl joined #perl6
22:06 dubi0us joined #perl6
22:08 gigavinyl joined #perl6
22:16 abcdef1 What's the difference between a method and a submethod?
22:17 basket Submethods aren't inherited in derived classes
22:17 abcdef1 oh, I see
22:20 dubi0us joined #perl6
22:21 gigavinyl joined #perl6
22:23 gigavinyl joined #perl6
22:25 abcdef1 I'm getting a `Bus error (core dumped)` while using SDL2::Raw
22:25 abcdef1 any ideas as to why that would happen?
22:26 nadim stray pointer on the C side
22:26 abcdef1 hm
22:26 nadim timotimo:  will most probably be more helpful
22:28 abcdef1 I think I've fixed it, but I have no idea how lol
22:28 abcdef1 I just went around tweaking things and the problem disappeared
22:29 sludin joined #perl6
22:30 nadim do you have both versions of your code?
22:31 abcdef1 I think it may have been I wasn't using `SDL_RenderClear($render);` enough
22:32 nadim if you have it in your editor undo buffer, undo, make a commit, redo, make a commit, that will help the author
22:33 dubi0us joined #perl6
22:37 sludin Is there a process to follow for porting perl5 modules to 6?  I have seen the most wanted list and the "Create a module" doc but I am missing the details of 'good citizen' porting.
22:39 sludin I want to port my Protocol::ACME library but there is a wall of dependencies to port first and wanted to start picking away at those.
22:39 char_var[buffer] joined #perl6
22:40 Sgeo joined #perl6
22:41 char_var[buffer] joined #perl6
22:46 raschipi joined #perl6
22:48 ugexe generally its implement 10% of the perl5 module and then call it good
22:49 ugexe more seriously though - it can be pretty simple. but you'll find yourself wanting to redesign it to fit in better with the additional features/paradigms available to you
22:52 salva joined #perl6
22:52 BenGoldberg joined #perl6
22:56 raschipi And when you get used to it, start to feel like you're fighting every other language.
22:57 BenGoldberg joined #perl6
23:01 sludin Thanks for the responses.  I'll poke around and make some educational mistakes along the way ;)
23:06 raschipi sludin: Here is an interesting talk on using the Perl6 toolset to do better: https://www.youtube.com/watch?v=DnsUSkwnRfA&amp;list=PLfyGEwlEhJmUzPhE4RPJ8P8L3okxiRJ3p&amp;index=8
23:06 mcmillhj joined #perl6
23:14 cpage_ joined #perl6
23:21 abcdef1 What's the fastest graphics library for making a raytracer?
23:21 abcdef1 I think Cairo has been the best so far
23:21 abcdef1 out of the ones I've tried
23:23 abcdef1 could Imlib2 work faster?
23:25 pierre_ joined #perl6
23:26 abcdef1 could writing to a bmp in pure perl6 without any libraries potentially be faster?
23:28 ash_gti joined #perl6
23:36 pilne joined #perl6
23:38 mcmillhj joined #perl6
23:41 Sgeo_ joined #perl6
23:42 gigavinyl joined #perl6
23:47 stmuk_ joined #perl6
23:49 cdg joined #perl6
23:54 mcmillhj joined #perl6
23:58 Cabanossi joined #perl6
23:58 Sgeo joined #perl6

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

Perl 6 | Reference Documentation | Rakudo