»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
tbrowder___ ref github token: i’m using the env var method 00:26
tmtvl Well, I tried that and had no issues... 00:29
AlexDaniel El_Che: more failures in the canary (rakudo is not at fault) travis-ci.org/perl6/rakudo-pkg-can.../448470149 01:49
holyghost perl6 sound software, here I come ! 03:01
yoleaux 25 Nov 2018 17:05Z <jmerelo> holyghost: nobody removed you from the schedule, you were never actually there. If you want to write something, please use some repo to publish and we'll review it before accepting.
lookatme_q what is sound software ? 03:02
holyghost I am programming a search for a pattern in the nth channel 03:03
I use a matrix to interpolate the 8bit channels in a WAV file, then I have larger numbers to compare for the search of a sample/pattern 03:05
Later on I'll do effects 03:06
all from the command line
on e.g. aiff/wave file samples
The biggest thing would be to rip a voice from a WAVE file 03:08
Then when I have my voice or other samples on disk, I can use them to make new music in a sound editor
lookatme_q Play a WAV file ? 03:10
holyghost ?
I reap WAV files then sort out patterns in the WAV file, them write those samples to disk, then I can as you say play the WAV file 03:11
lookatme_q Do you mean you make a command tools can make new music ?
holyghost yes
lookatme_q oh
holyghost then do effects on the sample WAV file 03:12
then with the pieces/samples in WAV files I can edit in a wave editor and mix 03:13
I might make a player too
lookatme_q Have you finish it yet? 03:14
holyghost no
lookatme_q Cool work
holyghost thanks :-)
lookatme_q Is this tools written in pure Perl 6 ? 03:15
holyghost yes, I do not want any dependencies 03:16
lookatme_q Cool, lunch time :) 03:16
holyghost have a nice lunch :-) 03:16
holyghost sound code is partly ready, needs to be debugged 04:26
holyghost hi jmerelo 06:27
jmerelo holyghost: hi 06:31
Woodi holyghost: how you "look into" wav files ? some module or parsing format ? 06:52
I can't find wav prosessing module in mods dir, can you extract code for parsing wav into module ? 06:53
jmerelo What does everyone think about this for the next squashathon? github.com/perl6/doc/issues/2473 06:58
holyghost Woodi: for now I use 32 bit WAV files, with my own parser 07:26
moritz .tell jmerelo I don't know if doc tooling is approachable enough for a squashaton 08:20
yoleaux moritz: I'll pass your message to jmerelo.
scimon Morning all. 09:49
sena_kun o/
Xliff scimon: o/ 10:18
.seen timotimo
yoleaux I saw timotimo 25 Nov 2018 23:55Z in #perl6: <timotimo> OK :)
Xliff .time
jkramer m: say 'lol 123 test'.words.map(* x 2) 10:22
camelia (lollol 123123 testtest)
jkramer m: say 'lol 123 test'.words.map(* xx 2)
camelia Cannot resolve caller map(Seq: Seq); none of these signatures match:
($: Hash \h, *%_)
(\SELF: &block;; :$label, :$item, *%_)
in block <unit> at <tmp> line 1
timotimo hey Xliff
Xliff Oh, hey!
jkramer Shouldn't this work?
Xliff timotimo: I am having a weird issue with Cairo. I had an example that was working a few weeks ago, but now it is not. 10:23
timotimo jkramer: i think you're running into the problem that xx thunks its LHS
Xliff: oh, that sounds interesting
Xliff timotimo: Tracked it to here -> github.com/timo/cairo-p6/blob/mast...pm6#L1250. Error message is "Cannot modify an immutable Operator (OPERATOR_OVER)
"
timotimo ah!
all those proxy returning methods require an "is rw" 10:24
Xliff Subtle change in rakudo? I can't see anything in Cairo's commit log that cause this.
timotimo let me handle that real quick
Xliff LOL! Thanks!
timotimo yeah, it was a bug in rakudo that was discovered long ago, but we decided to be bug-compatible for a while
Xliff Heh. 10:25
timotimo pushed to github 10:26
Xliff Thanks! 10:27
Bump version? 10:28
timotimo yeah
bumped 10:29
Xliff :)
Yeah, so it's official. My GTK monster is now using your module as a dependency. 10:30
Next thing is to tackle Pango.
timotimo yeah, someone else also asked for being able to render multi-line strings with cairo
oh, btw
there is a way to render two lines of text with cairo
actually, any amount of lines of text is possible 10:31
timotimo a friend found this out recently 10:31
Xliff Neat!
timotimo you can put <span></span> elements in your text
Xliff Not surprising with the push to CSS and markups from Gnome
timotimo all you need to do is give every letter its own span, give them correctly calculated horizontal offsets and vertical offsets and then just put the letters of all lines next to each other
so the text would be "hweolrldo" instead of "hello" and "world" 10:32
Xliff Yeeks! That sounds like a lot of CSS!
timotimo yeah 10:32
it's not workable in practice, of course :)
Xliff Still neat though.
Geth mu: daotoad++ created pull request #38:
Update schedule - add myself on the 11th
10:33
Xliff m: ("hello".comb Z "world".comb).join.say 10:34
camelia h we ol rl lo d
lizmat .
Xliff m: ("hello".comb(0) Z "world".comb(0)).join.say
camelia h we ol rl lo d
timotimo comb(0)? huh.
Xliff m: ("hello".comb Z "world".comb).flat.join.say
camelia hweolrllod
Xliff No. I missed a flat.
timotimo m: say "hello".comb(0).perl
camelia ("h", "e", "l", "l", "o").Seq
timotimo that's not right
Xliff Rut roh 10:35
timotimo it should give an infinite number of empty strings before it even gets to the h
or maybe throw an exception
m: say "hello".comb(-1).perl
camelia ("h", "e", "l", "l", "o").Seq
timotimo m: say "hello".comb(NaN).perl
camelia Cannot resolve caller comb(Str: Num); none of these signatures match:
(Str:D: *%_)
(Str:D: Int:D $size is copy, $limit = *, *%_)
(Str:D: Str $pat, *%_)
(Str:D: Str $pat, $limit, *%_)
(Str:D: Regex:D $pattern, :$match, *%_…
Geth doc/frithnanth-patch-1: 5055dafe16 | (Fernando Santagata)++ (committed using GitHub Web editor) | doc/Type/IO/Path.pod6
Add documentation to the test argument of sub/method dir

This would close #2474 Please review.
10:36
doc: frithnanth++ created pull request #2475:
Add documentation to the test argument of sub/method dir
Xliff m: ("hello".comb Z "world".comb Z "weird".comb).flat.join.say 10:37
camelia hwweoelrillrodd
Xliff Heh. 10:37
Xliff Is there a counterpart to the Z op? 10:41
timotimo roundrobin, i think
masak no, roundrobin keeps going after the shortest list ends 10:43
timotimo ah, right
it's not terribly simple to specify "stop at the longest" along with "fill up with spaces" 10:44
Xliff Yeah, well it worked fine for my contrived experiment. 10:45
m: say .join for roundrobin("hwweoelrillrodd".comb(3).map(*.comb)) 10:46
camelia hello
world
weird
Xliff Although I can see masak++'s point
masak m: my @L1 = 1, 2, 3; my @L2 = <a b c d e>; .say for (|@L1, "space" xx *) Z @L2
camelia (1 a)
(2 b)
(3 c)
((...) d)
masak m: my @L1 = 1, 2, 3; my @L2 = <a b c d e>; .say for (|@L1, |("space" xx *)) Z @L2 10:47
camelia (1 a)
(2 b)
(3 c)
(space d)
(space e)
masak timotimo: that's how you fill up with spaces, methinks
timotimo if you know which one is the longest, then yes :) 10:48
masak .oO( it behooves you to know which one is the longest ) 10:49
Xliff my @longest := +@L1 > +@L2 ?? @L1 !! @L2; my @shortest := +@L1 > +@L2 ?? @L2 !! @L1 10:53
Of course, there should be logic there for equals... 10:54
Geth mu: 40319b364f | daotoad++ (committed using GitHub Web editor) | misc/perl6advent-2018/schedule
Update schedule - add myself on the 11th

I have a partial article on perl6 CLI helper features like MAIN and automatic usage generation I can tune up and provide. I'd love editorial feedback before it gets shared.
11:15
mu: 3198176541 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | misc/perl6advent-2018/schedule
Merge pull request #38 from daotoad/patch-1

Update schedule - add myself on the 11th Please share it on the #perl6 IRC channel or somewhere so that we can comment on it. And thanks!
Geth doc: 5055dafe16 | (Fernando Santagata)++ (committed using GitHub Web editor) | doc/Type/IO/Path.pod6
Add documentation to the test argument of sub/method dir

This would close #2474 Please review.
11:16
synopsebot_ Link: doc.perl6.org/type/IO::Path
doc: 04375ba24e | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Type/IO/Path.pod6
Merge pull request #2475 from perl6/frithnanth-patch-1

Add documentation to the test argument of sub/method dir
timotimo trio.readthedocs.io/en/latest/refe...d-timeouts - interesting 11:31
i wonder if an awaiter implementation can be made to behave like this 11:32
tbrowder___ .tell Zoffix some of us are getting errors with Acme::Advent::Highlighter. help! 12:01
yoleaux tbrowder___: I'll pass your message to Zoffix.
nige o/ 12:06
i'd like to release a new version of module in the ecosystem - I've bumped the version number in the META6.json file - is there anything else I need to do? 12:07
timotimo if it's on the ecosystem, i.e. github or similar, zef will always install from the latest master commit anyway, though i think maybe it won't until the version was bumped? 12:08
nige thanks timotimo++ will try another commit on master bumping the version 12:28
tbrowder___ i have the original highlighter code Zoffix created (with my own mod) on Github if anyone is interested: github.com/tbrowder/Perl6-Advent/b...md2html.p6 12:29
it may not be as pretty, but it was used for my article last year, and it looks like it will be used this year, too!
nige oh - I was doing a "zef install <module>" ... as it was pre-existing I needed ... "zef upgrade <module>" <--- seems to be working now 12:36
AlexDaniel nige: also IIRC it takes some time for zef to react 12:50
so bumping it and upgrading immediately doesn't work, I think 12:51
timotimo i think zef relies on a cached combined list of everything in the ecosystem, which includes the versions 12:52
lucasb .seen ugexe 12:54
yoleaux I saw ugexe 5 Nov 2018 22:24Z in #perl6: <ugexe> i doubt you'll catch me on github or stackoverflow anymore, but i still hang on freenode and can be pm'd. its been an interesting 6 years.
holyghost .seen Zoffix 12:55
yoleaux I saw Zoffix 13 Nov 2018 13:19Z in #perl6-dev: <Zoffix> AlexDaniel: and missing bots are now online.
lucasb I wanted to request for zef to be able to specify tests files outside the "t/" dir. is this reasonable, no? 12:57
nige thanks AlexDaniel++ 12:58
lucasb maybe META6 format already contemplates this scenario and I'm not aware? 12:59
timotimo i think t and xt are currently hard-coded 13:00
holyghost lucasb: FWIW there was some talking of doing it in subdirs of t/
lucasb if this is the code that tests it, then, yeah it's hard-coded github.com/ugexe/zef/blob/master/l...AP.pm6#L12 13:02
jmerelo squashable6: status 13:12
yoleaux 08:20Z <moritz> jmerelo: I don't know if doc tooling is approachable enough for a squashaton
squashable6 jmerelo, ⚠🍕 Next SQUASHathon in 5 days and ≈20 hours (2018-12-03 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo .tell moritz it's more approachable than rakudo. Or pretty much the same. 13:13
yoleaux jmerelo: I'll pass your message to moritz.
tbrowder___ re squashathon: can we put older data in an archive dir? the list of prevs is getting very long... 13:36
SmokeMachine m: my %*a{Int} # bug? 13:46
camelia 5===SORRY!5=== Error while compiling <tmp>
The {} shape syntax with the & sigil is reserved
at <tmp>:1
------> 3my %*a{Int7⏏5} # bug?
expecting any of:
statement end
statement modifier
statement modi…
SmokeMachine it's saying & 13:49
timotimo yeah, looks wrong
it could be checking for the sigil to be % but it's %* and it just assumes "not %" means "&"
SmokeMachine timotimo: $sigil ne '%' && self.typed_sorry('X::Syntax::Reserved', reserved => '{} shape syntax with the ' ~ $sigil ~ ' sigil') 13:50
timotimo hah 13:51
SmokeMachine somehow $sigil is &
timotimo right, it perhaps gets set by imperative code, too 13:51
SmokeMachine $sigil := nqp::substr($*VARIABLE, 0, 1); 13:52
timotimo huh 13:53
that's kind of weird
SmokeMachine github.com/rakudo/rakudo/blob/mast....nqp#L2277
lizmat SmokeMachine: perhaps the & is obtained from the call to &DYNAMIC ? 13:55
timotimo: ^^
SmokeMachine lizmat: Im trying to find where $*VARIABLE is settee with "&DYNAMIC" 13:59
lizmat just search for &DYNAMIC :-) 14:05
scimon lizmat: I meant to mention on Saturday the issue I was having the Trait::Env::Attribute and precompilation. I've made a gist with a bit more details : gist.github.com/Scimon/59e82c9ff1d...b7f268ce22 14:07
lizmat scimon: am kinda distracted atm, and later busy with P6W... please ping me again if I didn't do anything about it tomorrow 14:08
lizmat FWIW, the error seems to indicate something I've seen issues for already :-( 14:09
SmokeMachine timotimo: I have to find a way to optimize the conditions, but it is how it is now: www.irccloud.com/pastebin/udyDnUP6/ 14:38
SmokeMachine what's the ~ twigil? 14:44
lizmat SmokeMachine: docs.perl6.org/language/variables#...try-Twigil 14:45
"The sublanguage seen by the parser at this lexical spot"
docs.perl6.org/language/variables#The_~_twigil # more verbose 14:46
SmokeMachine lizmat: hum!!! thanks!
tbrowder hi, all, i think i got my "real" nick back--whew! 14:50
yoleaux 12 May 2018 11:56Z <Zoffix> tbrowder: why is drawing a border on a Pod table considered "bad practice"? What's bad about it? Also, can't get a table to render without that warning github.com/rakudo/rakudo/issues/1821
10 Jul 2018 16:26Z <jmerelo> tbrowder: OK
10 Jul 2018 16:28Z <jmerelo> tbrowder: Right now sources are picked up by htmlify.p6 to generate URLs. I guess that wouldn't change, right?
13 Sep 2018 11:41Z <AlexDaniel> tbrowder: just try it? If it works then no problem (I'd expect some tests to fail if it makes a difference)
SmokeMachine lizmat: you are right, its using &DYNAMIC as the name... 14:57
lizmat: www.irccloud.com/pastebin/bygwaGtc/ 14:59
lizmat, timotimo: any idea how to fix that? 15:00
Im trying to get the sigil from $<variable><sigil> 15:03
that worked! \o/ running the spectests... 15:05
lizmat afk& 15:06
jdv79 timotimo: re cancellation and such - that's what i was inquiring about a while ago 16:06
jdv79 for instance - if you fire off a large number of tasks with "timeouts" aka anyof(start {}, Promise.in()) it'd be nice to now run all those "timeouts" if not necessary. not a huge deal "normally" but at at certain rate it may be significant. 16:10
*not
Xliff \o 16:34
Here's something interesting from a perl6-gdb-m backtrace. The answer to the imposed question is most assuredly: "YES"
gist.github.com/Xliff/600d6e0baaa1...3d9f4c05f6
Still looking for how I can figure out what caused the problem. 16:35
timotimo Xliff: this is with the jit enabled? 16:36
Xliff Yep.
Want me to rerun with it off?
timotimo yes
the jit messes up stack traces
null_args_callsite and inv_arg_callsite aren't functions, they're constants. the instruction pointer isn't supposed to land in them 16:37
and it doesn't
it's just that the stack isn't in a format that gdb expects
Xliff Yeah. I was getting floating segfault in this code.
I figure it's something I'm doing with NativeCall, but it's making it hard to track. 16:38
timotimo i seem to recall you tried valgrind already?
Xliff Turning off the JIT has prevented many of the earlier ones, but I am still getting them later in the routine.
Valgrind was for something related to CArray that I still haven't figured out yet. I did gist about it for a piece of test code I wrote. 16:39
But this is something unrelated.
timotimo OK 16:40
Xliff OK. Updated with another segfault. This one is fairly common, but there is no tc. 16:41
timotimo huh, that's interesting 16:43
timotimo if you know which thread it actually is, you can find threads from another thread's tc->instance->threads (or something) 16:43
they are a linked list
Xliff I'm worried it's my broken implementation of GList. 16:44
Well maybe broke. It's iterating just fine. Got it working on Strings, today.
tbrowder any objection to adding a Perl6-Advent repo and putting all p6advent stuff there? 17:04
tbrowder (remove from mu repo and 17:05
leave a note about the move in the README) 17:06
lucasb do you mean move all mu/misc/perl6advent-* stuff into a new repo "github.com/perl6/advent" ? 18:34
I think it's a good idea. the mu repo is filled with unrelated stuff 18:35
just making sure not to lose any files in the moving :-) 18:36
this would open way for a static site hosted at "perl6.github.io/advent" 18:39
generated by Jekyll with Perl 6 syntax highlighted, yay!
j/k, I'm not suggesting this, although I think it would be nice 18:40
lucasb and then redirect "advent.perl6.org" to there 18:44
SmokeMachine lucasb: why not Uzu? modules.perl6.org/dist/Uzu:cpan:SACOMO 19:25
lucasb even better :-) 19:31
I want to play with Uzu eventually, but didn't had the chance yet 19:32
masak +1 to moving mu/misc/perl6advent-* to its dedicated repo 20:06
the use of mu is historical, and we're not using mu actively for much else, IIRC
leont Yeah, mu is a bit awkward 20:08
masak feels old :) 20:25
Xliff Are there any blog posts on methods of tracking down segfaults in rakudo? 20:26
lizmat vaguely remembers Zoffix writing something about that ?
lucasb .oO( Ah, if only moarvm had a way to intentionally segfault ) 20:48
Xliff timotimo: Do you know why I get this error "This type cannot unbox to a native number: P6opaque, Int" when I run this: "$cr.set_source_rgb(1, 1, 1);" ? 20:56
OH! 20:58
This works: "$cr.set_source_rgb(1.Num, 1.Num, 1.Num);"
timotimo right, "number" here is supposed to mean "num"
might be a good idea to put that in there explicitly 20:59
Xliff Yeah, all Cairo objects now use Cairo *_t equivalents, so I don't have to cast. 21:00
That means I don't get the benefits of Num(Cool)
Xliff I'm getting a lot of these, lately. "MoarVM panic: Internal error: Unwound entire stack and missed handler" -- Could this be due to exceptions in C code not being handled properly? 22:06
timotimo "impossible to handle", more like 22:07
Xliff Well, shit.
Whatever is happening, is happening in the C layer, and I can't trace it to any MoarVM code.
Would be nice to know the last line executed, but I'm afraid its in a signal handler. I know what action causes the problem, though. 22:08
timotimo what i tend to do is wrap every callback in a CATCH 22:13
and since often enough the error that occurs is from binding arguments to the callback, i tend to give it a signature of |c first 22:14
Geth mu: 0430756417 | MorayJ++ (committed using GitHub Web editor) | misc/perl6advent-2018/schedule
Update schedule

Took the 12th
22:55
lizmat And another Perl 6 weekly hits the Net: p6weekly.wordpress.com/2018/11/26/...onga-grep/ 22:57
[Coke] lizmat++ 22:59
Xliff lizmat++
Is there any way to determine if I have a type object in a container?
.defined does not seem to work.
[Coke] DEFINITE? 23:00
AlexDaniel lizmat: fwiw it definitely won't be a doc squashathon as we did that this month 23:04
lizmat then I will lose the bet :-)
Xliff [coke]: How is that used? 23:05
lizmat if $foo.DEFINITE
Xliff Thanks. 23:06
Nope. Didn't work.
Xliff FWIW, I'm walking a linked list and most of the methods that I expect to work... havent. 23:07
lizmat Xliff: well, if you've found bugs in Rakudo, please report them! 23:09
Xliff lizmat: As soon as I've verified. I've reported bugs before, but I'm finding them in a very large project and no one wants to go through my bug reports due to the size. And I don't blame them. 23:10
Xliff Golfing down to a manageable case is harder than it sounds. 23:10
Xliff Thanks, all! That seems to at least get me somewhere. 23:12
Manifest0 Can someone explain why this works: perl6 -e 'my @array = (()); push @array[0],1; say @array; ' ? Shouldn't this be an array containing a immutable list? 23:39
Manifest0 For example this doesn't work: perl6 -e 'my @array = ((), (), (), ()); push @array[0],1; say @array; ' 23:43
leont Because my @array = (()) creates an empty array 23:44
my @array = ((),) will fail as you expect
Manifest0 () is an empty list. Shouldn't this be an array with an empty list? 23:46
The documentation states: "There is one exception, empty lists are created with just parenthesis" 23:47
timotimo an array constructor will iterate its outermost thing passed 23:48
which is also worth knowing
m: my @array = (()); dd @array
camelia Array @array = []
timotimo m: my @array = ((),); dd @array 23:49
camelia Array @array = [(),]