»ö« 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.
rindolf hi all 05:50
tyil hi 07:46
tbrowder_ tyil: hi! i enjoyed your notes on glasgow. were you offended by anything? 11:49
tyil there were things I disagreed with, surely, but those notes were part of the redacted area :p 11:50
tbrowder_ i have finished my observations and proposals for p6 pod on the rakudo wiki. comments are welcome. 11:51
tyil link?
tbrowder_ um, go to the github rakudo repo and see the wiki tab 11:52
tyil I just finished rewriting assixt documentation in pod 6
gonna re-read it all, merge it, take a glass of whisky and then I can probably read through it all
tbrowder_ is that irish, tennessee, or scotch whiskey? 11:53
tyil scotch 11:54
Arran single malt scotch whiskey, aged 10 years
tbrowder_ ah, good sipping stuff 12:00
tyil I had a taste of it in Glasgow, but it was cheaper to buy it online in NL than to buy it there in the store :p 12:01
and it was delivered this morning
buggable New CPAN upload: App-Assixt-0.5.0.tar.gz by TYIL modules.perl6.org/dist/App::Assixt:cpan:TYIL 12:22
tbrowder_ tyil: i plan to use assixt on my next module 12:48
tyil \o/
tbrowder_ which will be a nativecall wrapper around either brlcad or pango, but don’t place any bets yet! 12:49
tyil I had already pulled up my credit card :( 12:50
als, on your proposal, I personally have had no problems dealing with mixed content in a Para's @.contents
tbrowder_ i know, but for me, visualizing, walking, and manipulating the doc tree is harder 12:53
tyil I'm using multi-methods extensively to make it easy (for me) to deal with 12:54
tbrowder_ writing $obj.contents[0],contents[0].contents[0] is not fun
tyil gitlab.com/tyil/perl6-pod-to-pager.../Pager.pm6 as an example
tbrowder_ nor intuitive
stmuk_ Macallan 12 Year!
tyil I just pass on the contents to another render() which will loop through the contents array and call render() on each element 12:55
and the multi methods will resolve to the correct render() method based on the content
I was working on a role to extract that idea and implement it as an interface that can be used easily by others as well 12:57
hopefully making it easier to work with pod formatters
tbrowder_ cool, i will try that module, too
tyil it is far from finished, sadly, but feel free to try whether it works Good Enough for you :p 12:58
I'l make Pod::To::Man with that role, if I find the time and interest
and some documentation would probably be nice to have
do you have a preferred time in which you would like to start using it? 12:59
I can try to shift some priorities to spend more time on Pod::To::Anything for a while
tbrowder_ i see you moved to gitlab early this year, glad you moved? 13:00
tyil yes
tbrowder_ um, don’t make any plans based on my erratic plans :)
tyil I've found it to be a much better platform than github so far
especially with regards to automated testing
as defined here gitlab.com/tyil/perl6-pod-to-anyth...ab-ci.yml, I can just use rakudo-star docker images as a base 13:01
so I don't have to deal with ssetting up a Perl 6 bin repo, or compile it
tbrowder_ ah, did i read somewhere it’s faster because rakudo doesn’t have to be recompiled each test? 13:02
tyil it also builds a distribution after succesfully testing the master branch
yes, it's much faster than compiling
tbrowder_ ok, i’ll check it out, thnx 13:03
tbrowder_ stmuk_: hi 13:21
ever try tulomore (sp?) dew or jamesons (irish whiskeys)? 13:22
buggable New CPAN upload: Dist-Helper-0.21.1.tar.gz by TYIL modules.perl6.org/dist/Dist::Helper:cpan:TYIL
tyil I might have 13:23
I'm sure on the jamesons, might have done tilamore as well 13:24
most of my whisky experiences come from the perl mongers
they're a bad influence on my drinking habits
tbrowder_ just checked, spelling is tullamore dew
you have a pm group nearby? 13:25
tyil Amsterdam.pm 13:25
relatively nearby, about 1.5h travel by public transport
I'm going to start a job in amsterdam, then it's basically on the way home
tbrowder_ of course—very active 13:26
tyil there were plans for one in The Hague, but it's been put on hold
stmuk_ jamesons is blended ... I have had it thought it was ok .. prefer chivas regal for blended 13:27
Vlasis hello all 13:38
tyil hi 13:40
Vlasis new to Perl 6 here, I'm considering a move from Perl 5 because I read that there is a compiler available 13:44
is this already available in Rakudo?
tyil cool!
if I'm not mistaken (I'm not a core dev, so take my words with a grain of salt), Rakudo *is* the compiler 13:45
Vlasis so we could then distribute an executable instead of a script file with the source code in visible format? the reason why we are considering the shift of our code to Perl 6 is to protect it 13:46
tyil ah, like that 13:47
Vlasis this is good to hear!
thanks!
tyil I'm not sure if that's a possibility yet, but someone with more knowledge might have better answers
Vlasis thank you!
timotimo there's a perl6 module that generates an installable msi which bundles a full rakudo with your application code
the "best" way we currently have to distribute a perl6 program as "a single thing" is perhaps a docker container. there's been a prototype for creating appimages, too. 13:48
maybe at some point someone could try building tooling to build flatpaks out of perl6 programs
Vlasis and if Rakudo is already installed I suppose that I could distribute a file format that is not a script, something like bytecodes that do not show the source code? Is this already possible? 13:49
timotimo but rakudo is not a compiler that outputs a .exe or executable machine code, at least not with any of the backends we currently have
though the java backend perhaps comes close? i haven't tried building a single .jar file from rakudo and a program
Vlasis using a backend would not be problem for us, as long as we could distribute a file that does not show the source code in plain sight 13:50
timotimo you could distribute bytecode, but it would depend on your users having the exact same compilation results of rakudo's innards as well
timotimo by backend i mean that rakudo can run on the jvm, moarvm, javascript almost fully, and truffle a little bit 13:51
Vlasis @timotimo: so, if a user has Rakudo+one of the backends (for eg. MoarVM) then I could give them a bytecodes file suitable for the backend and they would be able to execute it? 13:53
timotimo i don't know for sure 13:54
but i hope you realize the bytecode is not too hard to understand
Vlasis @timotimo: yes, but at least it is not just plain code... :( 13:55
timotimo in order to actually run bytecode, you will have to run "perl6 -I folder-with-the-precomp-stuff-available -MNameOfEntryModule -e ''" 14:01
i.e. tell it to run an empty program 14:02
or have a tiny script that loads the module
Vlasis @timotimo: thanks, I will give it a try 14:09
timotimo you may want to research CompUnit::Repository::Staging which is meant to handle precompilation before distribution if i'm not mistaken 14:10
Vlasis @timotimo: many many thanks 14:13
timotimo i hope it'll work :S 14:14
it'd be great if you could give us a little write-up of your experience, regardless of success or failure
Vlasis @timotimo: sure! :) 14:18
@timotimo: I'll start reading up then!
tobs Is there an example of a module that compiles some (git submodule) C code as part of its resources? 14:38
timotimo anything that uses LibraryMake i guess? 14:42
tobs that seems to be the missing keyword, thanks timotimo 14:46
AlexDaniel notable6: nigelhamilton.com/perl-branding-proposal.html 15:09
notable6 AlexDaniel, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Notable
AlexDaniel weekly: nigelhamilton.com/perl-branding-proposal.html
notable6 AlexDaniel, Noted!
AlexDaniel clearly doesn't know how to use these bots :)
AlexDaniel Zoffix: nigelhamilton.com/perl-branding-proposal.html that's a good start for the list, right? 15:09
Geth doc: 26e34910de | (JJ Merelo)++ | doc/Language/phasers.pod6
Some reflow and minor corrections
15:16
doc: 396b8fc822 | (JJ Merelo)++ | doc/Language/phasers.pod6
Adds NYI refs #2281
synopsebot Link: doc.perl6.org/language/phasers
AlexDaniel m: say <þerl 6lang camelion century>.sort 15:19
camelia (6lang camelion century þerl)
Juerd therl? 15:24
lichtkind am i right in my observation tha the prefix op @ calls .list and not .Array? 15:34
Juerd m: my $foo = 2 but role { method list { die 42 }; method Array { die 15 } }; say @$foo; 15:44
camelia 42
in method list at <tmp> line 1
in block <unit> at <tmp> line 1
AlexDaniel Juerd: therl! 15:45
Juerd AlexDaniel: Seriously? :|
AlexDaniel Juerd: why not :)
Juerd AlexDaniel: I don't like the sound or how it's written. 15:46
Ulti tbrowder_: Ive only played with gptrixie once getting the deps going on mac was a little annoying 15:58
but yeah it did work back then 15:59
wasnt recently though
lichtkind m: @(1,2,3) 16:10
camelia ( no output )
lichtkind m: say @(1,2,3)
camelia (1 2 3)
lichtkind m: say (1,2,3).Array
camelia [1 2 3]
tbrowder_ Ulti: thnx
lichtkind m: say( @ (1,2,3) )
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3say( @7⏏5 (1,2,3) )
expecting any of:
infix
tbrowder_ afk&
lichtkind m: say( (1,2,3) )
camelia (1 2 3)
lichtkind m: say( @ (1,2,3) )
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3say( @7⏏5 (1,2,3) )
expecting any of:
infix
lichtkind m: say( @(1,2,3) ) 16:11
camelia (1 2 3)
lichtkind hm
TimToady m: say @ (1,2,3) 16:33
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3say @7⏏5 (1,2,3)
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier…
TimToady a bare @ is an anonymous state var 16:34
there is no @ operator without brackets of some sort
TimToady why the error inside say() doesn't say TTIAR, I dunno offhand 16:38
mscha Is there a simple equivalent for perl 5's 'my ($foo, $bar) = "foobar" =~ /(...)(...)/'? 16:46
m: my ($foo, $bar) = "foobar" ~~ /(...)(...)/; say $foo; say $bar;
camelia 「foobar」
0 => 「foo」
1 => 「bar」
(Any)
mscha Not this, in any case. 16:47
TimToady m: my ($foo, $bar) = ("foobar" ~~ /(...)(...)/).list; say $foo; say $bar; 16:49
camelia 「foo」
「bar」
TimToady m: my ($foo, $bar) = @$/ if "foobar" ~~ /(...)(...)/; say $foo; say $bar; 16:51
camelia 「foo」
「bar」
TimToady m: my ($foo, $bar) = .[] with "foobar" ~~ /(...)(...)/; say $foo; say $bar;
camelia 「foobar」
0 => 「foo」
1 => 「bar」
(Any)
TimToady hmm
m: my ($foo, $bar) = .list with "foobar" ~~ /(...)(...)/; say $foo; say $bar;
camelia 「foo」
「bar」
mscha m: my ($foo, $bar) = "foobar".match(/(...)(...)/).list; say $foo; say $bar; 16:52
camelia 「foo」
「bar」
16:53
mscha Thanks, TimToady
masak m: "foobar" ~~ /$<foo>=(...)$<bar>=(...)/; say $/
camelia 「foobar」
foo => 「foo」
bar => 「bar」
masak ^ is there a way to pick our $foo and $bar by name in the above? :) 16:54
mscha m: my ($foo, $bar) = "foobar".match(/(...)(...)/).list».Str; say $foo; say $bar; # if you want strings instead of matches 16:56
camelia foo
bar
TimToady m: "foobar" ~~ /$<foo>=(...)$<bar>=(...)/; say $/<foo bar> 16:56
camelia (「foo」 「bar」)
timotimo masak: i guess you could have my &first = ::('&' ~ $foo); my &second = ::('&' ~ $bar)
TimToady note those are match objects 16:57
timotimo and then use <first> and <second> in your regex?
TimToady m: my ($foo, $bar) = ~<< do "foobar" ~~ /(...)(...)/; say $foo; say $bar; 16:58
camelia foo
bar
TimToady people almost never remember prefix hypers :) 16:59
m: my ($foo, $bar) = ~«"foobar".match: /(...)(...)/; say $foo; say $bar; 17:01
camelia foo
bar
TimToady m: my ($foo, $bar) = ~«/(...)(...)/ with "foobar"; say $foo; say $bar;
camelia Regex object coerced to string (please use .gist or .perl to do that)

(Any)
in block at <tmp> line 1
TimToady m: my ($foo, $bar) = ~«m/(...)(...)/ with "foobar"; say $foo; say $bar;
camelia foo
bar
TimToady m: my ($foo, $bar) Z= "foobar" ~~ /(...)(...)/; say ~$foo; say ~$bar; 17:04
camelia foo
bar
TimToady m: my Str() ($foo, $bar) Z= "foobar" ~~ /(...)(...)/; say $foo; say $bar; 17:04
camelia 5===SORRY!5===
Coercion Str(Any) is insufficiently type-like to qualify a variable
at <tmp>:1
------> 3my Str() ($foo, $bar)7⏏5 Z= "foobar" ~~ /(...)(...)/; say $foo;
Coercion Str(Any) is insufficiently type-like to qualify a variab…
17:05
TimToady that should work someday
m: my (Str() $foo, Str() $bar) := "foobar" ~~ /(...)(...)/; say $foo; say $bar; 17:07
camelia Unexpected named argument '' passed
in block <unit> at <tmp> line 1
TimToady weird
TimToady m: my (Str() $foo, Str() $bar, *%) := "foobar" ~~ /(...)(...)/; say $foo; say $bar; 17:08
camelia Cannot find method 'gist': no method cache and no .^find_method
in block <unit> at <tmp> line 1
TimToady cool 17:08
TimToady m: my (Str() $foo, Str() $bar, *%) := "foobar" ~~ /(...)(...)/; say $foo.WHAT; say $bar.WHAT; 17:11
camelia (Str)
(Str)
TimToady m: my (Str() $foo, Str() $bar, *%) := "foobar" ~~ /(...)(...)/; say $foo.^name; say $bar.^name; 17:12
camelia BOOTStr
BOOTStr
TimToady heh
TimToady wonders if Str() should box up the BOOTStr there... 17:14
timotimo maybe it says "that's stringy enough" 17:31
TimToady m: my (Str() $foo, Str() $bar, *%) := "foobar" ~~ /(...)(...)/; say $foo.Str; say $bar.Str; 17:46
camelia Cannot find method 'Str': no method cache and no .^find_method
in block <unit> at <tmp> line 1
TimToady m: my (Str() $foo, Str() $bar, *%) := "foobar" ~~ /(...)(...)/; say ~$foo; say ~$bar;
camelia Type check failed in binding to parameter '<anon>'; expected Any but got BOOTStr (?)
in block <unit> at <tmp> line 1
TimToady m: my (Str() $foo, Str() $bar, *%) := "foobar" ~~ /(...)(...)/; say ''~$foo; say ''~$bar;
camelia foo
bar
TimToady
.oO(if it's good enough to concatenate, it's good enough for everything else!)
17:47
buggable New CPAN upload: Git-Log-0.1.2.tar.gz by SAMCV modules.perl6.org/dist/Git::Log:cpan:SAMCV 17:52
rindolf hi all, sup? 18:18
buggable New CPAN upload: Test-Foo-0.0.0.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...0.0.tar.gz 19:22
rindolf Test-Foo? 19:41
and why does buggable link to a tarball instead of an html page? 19:42
rindolf buggable: help 19:50
buggable rindolf, tags | tag SOMETAG | eco | eco Some search term | author github username | speed | testers CPANTesters report ID
rindolf github.com/zoffixznet/perl6-buggable 19:51
tyil rindolf: its to test uploading functionality of one of my modules 19:55
rindolf tyil: what? 20:02
tyil 21:41 <+rindolf> Test-Foo? 20:03
rindolf tyil: ah
tyil: so it is a dummy dist? 20:04
tyil yes 20:05
rindolf tyil: ah 20:06
tyil: does buggable always link to the tarballs? 20:07
tyil no 20:08
just this specific one it seems
usually it links to the modules.perl6.org page
rindolf tyil: ah 20:09
tyil: good
Altreus: meow 20:10
buggable New CPAN upload: Dist-Helper-0.21.2.tar.gz by TYIL modules.perl6.org/dist/Dist::Helper:cpan:TYIL 21:32
masak Perl 6 mentioned here: docs.google.com/presentation/d/1Ew...21a69_3_49 21:47
(slide title "Things to avoid" -- slide contents "Python 2/3" and "Perl 5/6") 21:48
jnthn If your plan is "don't break back-compat for rather little" and "don't break back-compat for rather a lot", then that boils down to "don't break back-compat at all"? :) 21:51
tyil its a good intention to never break backwards compat 22:08
but it's *very* rare to never have this lingering feeling of "maybe, we couldve done this better" when looking at older code 22:09
it feels mostly like the 2 in Go 2 is supposed to lack any significance, from what I gather from the slides 22:13
oh neat, notable6 is back :D 22:15
weekly: www.tyil.nl/post/2018/08/23/the-pe...n-glasgow/
notable6 tyil, Noted!
AlexDaniel weekly: “I was extremely young when I first read and understood Larry Wall’s explanation about the virtue of laziness” matrix.org/blog/2018/08/24/this-we...8-24/#bots 22:41
notable6 AlexDaniel, Noted!
AlexDaniel weekly: ↑ note that the section talks about a “This Week In Matrix” bot, which is like notable6… woah :) 22:43
notable6 AlexDaniel, Noted!