»ö« 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.
00:00 reportable6 left, pamplemousse joined 00:01 reportable6 joined, [particle]1 left 00:02 nepugia left 00:03 [particle] joined 00:06 [particle]1 joined 00:08 [particle] left 00:09 aborazmeh joined, aborazmeh left, aborazmeh joined 00:10 [particle]1 left 00:11 dolmen left 00:13 [particle] joined 00:16 dolmen joined, [particle]1 joined 00:18 [particle] left 00:20 dolmen left 00:21 [particle] joined 00:23 [particle]1 left 00:24 [particle]1 joined 00:25 [particle] left 00:27 [particle] joined 00:29 [particle]1 left 00:36 [particle] left 00:37 [particle] joined 00:40 [particle]1 joined 00:41 [particle] left 00:45 [particle]1 left, pamplemousse left 00:46 [particle] joined
cpan-p6 New module released to CPAN! Console::Blackjack (1.0.1) by 03GDONALD 01:02
01:19 Ven`` joined 01:24 Ven`` left 01:37 mowotter left 01:39 pamplemousse joined 01:44 noisegul_ joined, pamplemousse_ joined 01:47 noisegul left 01:49 pamplemousse left 01:50 Xliff_ joined 01:51 Xliff_ left 01:53 Xliff left 02:04 Manifest0 left, Manifest0 joined 02:14 pamplemousse_ left 02:20 [particle] left, [particle] joined 02:21 Cabanossi left 02:22 pilne left 02:25 molaf joined 02:27 Cabanoss- joined 02:35 cpup joined 02:37 dustinm` left 02:46 dustinm` joined 02:54 aborazmeh left 02:57 dustinm` left 02:58 dustinm` joined 03:27 jaldhar_ joined 03:52 jaldhar joined, jaldhar_ left 04:34 aeruder left 04:35 aeruder joined 04:43 curan joined 04:56 jaldhar left, jaldhar joined 04:58 jaldhar left 04:59 jaldhar joined 05:24 jaldhar left, jaldhar joined 05:32 sena_kun joined 05:35 sena_kun left 05:43 [particle]1 joined 05:45 [particle] left 05:51 rindolf joined 06:00 reportable6 left 06:02 reportable6 joined, ChanServ sets mode: +v reportable6
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue "Perl" in the name "Perl 6" is confusing and irritating github.com/perl6/problem-solving/issues/81 06:03
06:04 [particle] joined 06:05 [particle]1 left 06:10 [particle]1 joined 06:11 [particle] left 06:12 Woodi joined 06:17 lizmat left
SmokeMachine Is there the Riga’s opening TimToady’s vídeo available anywhere I could watch? 06:28
06:35 [particle] joined, [particle]1 left 06:37 integfred joined
integfred Hi, does anyone know if automake, openssl, and the linux kernel is able to build with rakudo perl? 06:38
i'm currently including perl5, but it uses cmd.exe to build using mingw, perhaps perl 6 is different in that it may be able to cross compile somewhat better, assuming it can build the above 06:41
06:42 uid9164 joined 06:44 AlexDaniel left 06:45 [Sno] left
uid9164 <code>perl5 -e "my @a = split(',', 'a,b,c,d'); print @a[0];" <output> a 06:46
<code>perl -e "my @a = split('\s', 'a b c d'); print @a[1];" <output> b 06:49
sorry
<code> perl5 -e "my @a = split('\s', 'a b c d'); print @a[1];" <output> b 06:50
<code> p6 -e "my @b = split('\s', 'a b c d'); say @b[1];" <output> (Any)
How should I write the split pattern to get @b[1] = 'b' in perl6? 06:51
It works in perl6 by typing "my @b = split(' ', 'a b c d'); say @b[1];" 06:53
OK, I just felt confusing. 06:55
tadzik SmokeMachine: it was a part of day1's '$' room livestream, but I think that video is down now for some reason 06:59
I assume it was live while it was... live, and now we'll have to wait for it to be uploaded as a separate video 07:00
otoh, room @ seems to be up
Geth whateverable: 3bba6abff0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | xbin/Tellable.p6
Use :!g as a workaround for sub s issue
07:01
07:03 AlexDaniel joined, cpage left
tobs integfred: Perl 6 is not a drop-in replacement for Perl 5. It won't be able to run these build scripts correctly. 07:07
07:07 ttobioetiker joined 07:08 Black_Ribbon joined
ttobioetiker good morning all. I am preparing a docker image for a large perl6 project ... and I would like for it to be precompiled ... is there a way to just get everything precompiled, short of runnig the actuall application ? 07:08
07:19 cygx joined 07:20 lgtaube left
cygx Hey, I'm famous: just got quoted in lizmat's keynote for calling Perl6 abysmally slow ;) 07:21
SmokeMachine tadzik: thanks! 07:22
AlexDaniel`: What mean "being involved on the project"?
07:28 cpan-p6 left, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 07:29 cygx left 07:30 cygx joined
cygx ttobioetiker: gist.github.com/cygx/9b2b8add4b8ce...f597b68999 07:30
it's not yet particularly user-friendly, but there's some related Google Summer of Code work being done right now 07:31
07:35 chloekek joined 07:47 Doc_Holliwood joined, zakharyas joined 07:50 AlexDaniel left
SmokeMachine m: say "a\n\tb\n\t\tc\n".subst: /\s+/, " " 08:05
camelia a b
c
SmokeMachine is that expected?
m: say "a\n\tb\n\t\tc\n".subst: /\s+/, " ", :g # Im too dumb... 08:08
camelia a b c
08:14 irdr left 08:19 dolmen joined
kawaii Is there anyone in the community doing Perl 6 streams at all? I haven't seen anyone doing it but figured it might have some interest. 08:20
As in like, livestream working on a project or module.
08:21 [Sno] joined 08:30 [Sno] left
tadzik SmokeMachine: quoting the #yapc: That's a Google thing. Long streams take longer to process and move to viewable after stream stops. Give them time to churn the data 08:32
08:33 [Sno] joined 08:42 AlexDaniel joined 08:45 rindolf left 08:52 [Sno] left 08:55 lizmat joined 08:58 veesh1 joined 08:59 rindolf joined
discord6 <Aearnus> kawaii: that could be a lot of fun 08:59
<Aearnus> I'd be down 09:00
09:02 ravenousmoose left, rindolf left, ravenousmoose joined, rindolf joined
kawaii Aearnus: well, I recently started using my Twitch channel, and had the idea of code-reviewing an old unfinished P6 project, and working on refactoring it on stream, could be interesting :) 09:03
discord6 <Aearnus> Yes! It's late here and I might not stick around tonight, but I'll shoot you a follow 09:04
AlexDaniel SmokeMachine: well, being on that list means that you'd have to give your opinion on every such issue 09:05
SmokeMachine: so if you're doing perl6 stuff and want to be involved in that, you qualify :)
kawaii: right, well, I haven't seen anybody doing perl 6 streams yet 09:06
eiro hello people. the download page of rakudo.org is probably outdated and i would like to add the guix package in the 3rd party. any repo for pull requests ?
kawaii I don't think the rakudo.org site is public. 09:07
AlexDaniel kawaii: I personally livestream sport events using pan-tilt-zoom cameras that are operated by perl6, but that's not what you were asking for :)
kawaii At least, I've never seen a repo for it
eiro neither did i
AlexDaniel github.com/perl6/rakudo.org
eiro AlexDaniel: thanks
i checked the rakudo namespace 09:08
09:08 lgtaube joined
SmokeMachine AlexDaniel: is that list alphabetically ordered 09:08
AlexDaniel yeah, it's also weird becase moarvm website is in moarvm org github.com/MoarVM/moarvm.org 09:09
kawaii AlexDaniel: haha, not quite but I think I'll schedule a date and time for doing a trial stream just to see how it works out, then I can thinly veil my requests for help without annoying the IRC too much ;)
AlexDaniel but that inconsistency is known and we'll probably move it soon
kawaii: sounds great
SmokeMachine:
SmokeMachine: yeat
yeah* 09:10
:)
SmokeMachine PRed
chloekek Oh cool, Rakudo in Guix. 09:12
eiro chloekek: yeah :) but i spot a bug in it: NativeCall don't find the .so files
very frustrating
AlexDaniel SmokeMachine: hmm, I can't see it yet? 09:13
Geth problem-solving: FCO++ created pull request #82:
Add my name to the list
chloekek eiro: That's a feature if the .so is not an input to the build description of the Perl 6 program in question.
eiro (there was the same on debian package and it's fixed now)
SmokeMachine sorry... I should have clicked on that button... :) 09:14
09:14 Black_Ribbon left
eiro a feature ? how so? my code just doesn't work anymore ... 09:14
kawaii all bugs are features 09:15
eiro (so i have 2 rakudo on my machine: the debian one (outdated) and the guix one (without NativeCall))
chloekek Depending on files being there without them being mentioned in the build script makes the build unreproducible. :)
But if NativeCall doesn't work at all then that's bad. 09:16
eiro kawaii: protecting myself from my own sins... like a big brother
chloekek I maintain a Nix package for Rakudo and NativeCall works just fine, what does the Guix one look like?
eiro well ... i just made guix edit rakudo to see it. i'm waiting for the source 09:17
please let me some seconds 09:18
chloekek eiro.seconds++
tadzik :P
09:19 Geth left, Geth joined
Geth problem-solving: kawaii++ created pull request #83:
Adding kawaii to the reviewers list
09:19
Doc_Holliwood where do i find the sourcecode of the Promise module= 09:20
?
eiro chloekek: i'm talking with the maintainer right now on #guix
tadzik Doc_Holliwood: github.com/rakudo/rakudo/blob/mast...romise.pm6 I think
chloekek Doc_Holliwood: github.com/rakudo/rakudo/blob/mast...romise.pm6
09:22 lizmat left 09:24 efraim joined
AlexDaniel SmokeMachine++ kawaii++ 09:24
efraim hello everyone! 09:25
eiro chloekek: finally please give me some minutes :)
09:25 pat_js joined
eiro people: efraim is the maintainer of the guix package 09:26
efraim: thanks for your work and thanks for joining
efraim no problem, I figured I should take a look at it
SmokeMachine \o/ 09:27
efraim here's the package I created from SDL2::Raw dpaste.com/1Z31KW1
and this is the build-system it uses git.savannah.gnu.org/cgit/guix.git...system.scm 09:28
Geth problem-solving: 6a52fafa65 | (Fernando Correa de Oliveira)++ (committed using GitHub Web editor) | README.md
Add my name to the list
problem-solving: 1b4a81e0c3 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | README.md
Merge pull request #82 from FCO/patch-1

Add my name to the list Welcome!
problem-solving/revert-82-patch-1: 10b7c14384 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | README.md
Revert "Add my name to the list"
09:30
09:30 Ven`` joined
cygx masak's live... 09:31
09:31 pilne joined
efraim for completeness our rakudo package is here: git.savannah.gnu.org/cgit/guix.git...6.scm#n166 09:32
09:33 Ven`` left
efraim and the bug report with my notes debbugs.gnu.org/cgi/bugreport.cgi?bug=36973 09:33
tadzik "Perl 6 Userspace Explorer" reminds me of the good old Perl 6 mmorpg 09:35
which of course is masak's: strangelyconsistent.org/blog/perl-6-is-my-mmorpg
Geth problem-solving: 4c72730d38 | (Aleks-Daniel Jakimenko-Aleksejev)++ | README.md
Revert "Merge pull request #82 from FCO/patch-1"

This reverts commit 1b4a81e0c31f3bb458347b3feab834bbca8d5ad5, reversing changes made to 164f37f841186a4b678ad2fbc524ea42b4cdae5b.
09:37
eiro meeting. have to leave
cya
Geth problem-solving/merge-mishap: 7af1dfc3f9 | (Fernando Correa de Oliveira)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | README.md
Add my name to the list
09:40
09:40 [Sno] joined
Geth problem-solving: AlexDaniel++ created pull request #84:
Add FCO to the list
09:44
AlexDaniel SmokeMachine: sorry for the noise :)
09:45 dolmen left
Doc_Holliwood I struggled all morning trying to find out how to add a timeout to my code from yesterday. But now the penny dropped. 09:52
pastebin.com/B3WpFfrg
I expected Promise.anyof( PromiseIn( $timeout ), $promise ) to return whatever Promise is kept first, which is bollocks of course 09:56
09:56 dolmen joined 09:58 Ven`` joined 10:01 Ven`` left 10:12 Ven`` joined, Ven`` left 10:18 veesh1 left 10:19 pilne left 10:21 AlexDaniel left 10:23 chloekek left, chloekek joined 10:24 AlexDaniel joined 10:33 [Sno] left 10:34 AlexDaniel is now known as `|AlexDaniel 10:35 `|AlexDaniel is now known as AlexDaniel 10:36 noisegul_ is now known as noisegul 10:38 integfred left 10:44 dolmen left 10:45 Ven`` joined 10:51 Ven`` left 10:54 Ven`` joined
ugexe of course! 10:58
10:58 AlexDaniel left, sena_kun joined 11:00 marcel_ joined, sena_kun left 11:04 Ven`` left
SmokeMachine AlexDaniel`: np! 11:05
11:16 Ven`` joined 11:22 uid9164 left
Kaiepi how do you handle code examples that need to throw in the docs? 11:24
11:24 lizmat joined 11:28 zakharyas left
Kaiepi nvm, checked the exceptions page 11:29
11:29 Ven`` left 11:31 _jrjsmrtn left 11:32 __jrjsmrtn__ joined, aborazmeh joined, aborazmeh left, aborazmeh joined
Geth whateverable: dec2b50901 | (Aleks-Daniel Jakimenko-Aleksejev)++ | xt/tellable.t
Add normalization tests
11:34
11:34 AlexDaniel joined 11:41 dolmen joined 11:42 [Sno] joined 11:49 mowcat joined, dolmen left 11:52 dolmen joined 11:57 dolmen left 12:00 reportable6 left, reportable6 joined, ChanServ sets mode: +v reportable6 12:08 lizmat left 12:10 Guest73 joined 12:11 dolmen joined 12:19 dolmen left
El_Che hopefully yesterday video will be up soon. Saw half of jnthn's talk and want to see the rest :) 12:24
(there was a copyright complain so google took it offline. it will be up after shadowcat van chop the videos)
timotimo damn 12:25
tadzik ugh
timotimo i hope there will be a big shitstorm against google for this
El_Che tadzik's one is still hope 12:26
tadzik how many people can we rally up to make a peertube for this?
El_Che also saw half last night
tadzik because frankly, fuck google
El_Che some ranting about OO :)
timotimo i'm just now watching tadzik's talk about moose
www.youtube.com/watch?v=u12t4PiM7pQ&t=65s
El_Che at 1 am I decided that tadzik would forgive me if I watched the rest today and went to bed :)
(now starting liz talk) 12:27
tadzik El_Che: I will :)
in fact I already have! :P
El_Che :)
tadzik feel free to poke me about the details or whatnot
El_Che it was interesting so far
sound was sometimes less when your shirt touched the mic :) 12:28
next time use a mic like madonna or lady gaga :)
12:29 dolmen joined
tadzik hehe 12:29
I heard some complaints about the audio, yeah
from what I've heard the provided microphones weren't stellar 12:30
12:32 dolmen left 12:33 pat_js left
timotimo there's some microphone-rubs-against-fabric noise, or maybe it's radio trouble 12:34
timotimo briefly rolls a "takes" syntax for perl6 around in his head
hmm, immootability 12:35
12:37 [Sno] left
chloekek timotimo: What is takes? 12:37
timotimo one point in tadzik's talk is that people tend to abuse "has" to specify arguments to the constructor, even when the things that go there are not actually needed to be stored in the object 12:38
in a later slide he shows a "needs" syntax which is much like what i would have imagined "takes" to do 12:39
but in perl6, that's probably better done with multi submethod BUILD
damn
12:40 pat_js joined
timotimo when tadzik says "i look like this, meet me in the hallway track if you have questions", he's outside the camera's view at that moment 12:40
so how do i know if tadzik looked any different in that moment
like, does tadzik have a physical manifestation for giving talks and one for haunting the hallways?
there's no way to know 12:41
chloekek I think a solution to this would be to better document new, bless, and BUILD. 12:42
12:43 [Sno] joined
chloekek I think the current design is ok but hard to grasp. It's not clear how to write custom constructors. 12:43
timotimo yeah, the difference between "how easy is it to use" and "how easy it is to understand" is surprisingly vast for this 12:44
chloekek Took me a long time to realize BUILD is called on each class in the hierarchy, with the fitting keyword arguments from bless. 12:45
timotimo right 12:49
12:50 sena_kun joined
sena_kun El_Che, o/ 12:50
12:51 zakharyas joined
sena_kun your wish was granted! (with some grammar mistakes alas) 12:51
El_Che sena_kun: how was it? looking forward to see it
(watching liz's talk)
sena_kun El_Che, dunno, but some people have said to me it was pretty fine for the first time for someone without much experience, I didn't run out of time (wow), and I hope the mistakes were not fatal to express things. :) 12:53
El_Che I am exited about your work, so I am sure it will be fine! 12:54
and not being a native english speaker I get the extra trouble
12:55 marcel_ left
sena_kun El_Che, enjoy. :) 12:55
timotimo not everybody can have learned an excellent english like me did
12:56 nepugia joined
El_Che ttps://www.youtube.com/watch?v=5035TY5RSpg <-- loved this scene 12:56
www.youtube.com/watch?v=5035TY5RSpg <-- loved this scene
timotimo ahaha
yes, that was fantastic
sena_kun timotimo, well, by now my written one is mostly fine or fine enough, but when it coems to speaking, it is like once in a year, lol, so my mouth just doesn't do right things. :S 12:57
timotimo that actor was actually german, wasn't he?
sena_kun s/coems/comes/
timotimo i used to spend time on voice chat regularly with english speakers, i haven't done that in a long while 12:58
tadzik tadzik.net/talks/perlcon-moose/ the last two slides show this 13:02
13:02 AlexDaniel left
tadzik needs vs has 13:02
chloekek timotimo: what was this talk called? About needs.
tadzik I don't like publishing slides in general; I feel like if they're useful without the talk itself then I've become a writer, not a speaker and I should've just stayed home
chloekek: How Moose Made me a Bad Programmer, room @, day 1, first talk 13:03
jast well, the published slides might help those who attended the talk recall the key points more easily
I do agree with the general sentiment though
chloekek tadzik: Thanks! 13:04
tadzik good point; fair enough
chloekek never used moose, only bless and hashes
tadzik chloekek: re documenting things better: absolutely. But I'd also like for the better thing to be easier to write in general, even if you know what you want to do :) 13:05
so that you have to fight the tool if you want to do things wrong – not to do things right :)
13:10 lucasb joined
tadzik timotimo: right; Perl 6 has way more resources to do this right, mostly by having really powerful subroutine signatures 13:13
perhaps in our case this is indeed a documentation/education problem :)
timotimo we need a formal docucation 13:14
cygx tadzik: not entirely
you still have to jump through hoops to make Point.new(3,4) work
tadzik cygx: well, you have to do more than with named arguments, yes 13:15
whether that's jumping through hoops? Not sure 13:16
timotimo but really you want special syntax for that: sub infix:<·>($x, $y) { Point.new(:$x, :$y) }
tadzik :>
El_Che lizmat++ 13:17
tadzik but from the top of my head, I'm not sure: should I write `method new(Int $x, Int $y) { self.bless(:$x, :$y) }` or `submethod BUILD(Int $!x, Int $!y) { }` 13:18
I'd rather write the first one because I think I actually got it right
timotimo correct, BUILD doesn't get positional args
tadzik wait, at all? 13:19
timotimo that's right
13:19 AlexDaniel joined
tadzik then I truly don't get it :P 13:19
timotimo positionals don't work well with the "call every BUILD in the object's hierarchy" thing 13:20
tadzik ah right
chloekek Also, kwargs that are not taken by any of the BUILDs are silently ignored, no error.
tadzik but yeah, default .new accepts slurpies anyway
slurpy nameds I mean
13:20 Ven`` joined
timotimo chloekek: there's actually a module in the ecosystem for that! \o/ 13:21
tadzik and when you rewrite it to handle positionals you don't need your own BUILD anymore
or two :P
github.com/tadzik/ClassX-StrictConstructor that's mine
Class Constrictor
chloekek coolio 13:22
13:23 AlexDaniel left
jnthn
.oO( ClassX::StructConstrictor - disallows declaration of methods, so it's really a struct :) )
13:23
tadzik :D
chloekek BoaConstrictor 13:27
tadzik Imagine a `use Boa` that just puts more constraints on your code 13:29
timotimo "use Boa" is the new "use strict" 13:30
Geth doc: Kaiepi++ created pull request #2941:
Document missing Enumeration and Metamodel::EnumHOW methods
13:31
chloekek community service officer is written boa in Dutch
tadzik apt
chloekek use boa; for warnings and use police; for strict 13:32
13:32 FieldsaBB joined
timotimo "use bastards;" 13:32
"use pigs"? "use hogs"?
m: use hogs :amount(20..50); 13:33
camelia ===SORRY!===
Could not find hogs at line 1 in:
inst#/home/camelia/.perl6
inst#/home/camelia/rakudo-m-inst-1/share/perl6/site
inst#/home/camelia/rakudo-m-inst-1/share/perl6/vendor
inst#/home/camelia/rakudo-m-inst-1/share/perl6…
13:36 mahafyi joined, Ven`` left
timotimo Raku Roll Musak 13:39
13:40 cpage joined, Ven`` joined 13:41 Ven`` left, harmil joined, [Sno] left
timotimo timezones be blessed. i thought i wouldn't get to see the game programming thing, but it's actually now 13:42
Kaiepi tadzik, ClassX::StrictConstructor doesn't check for attributes in any roles the class mixes in in .new when it probably should
harmil Okay, I really am going to TRY to stop tinkering with ajs.github.io/tools/your-regex-here/ -- I've already posted it to r/programming and I've cleaned up quite a bit. If anyone finds problems, though, please let me know.
13:43 nepugia is now known as nephele
Geth doc: cc6e4c820f | (Ben Davies)++ | doc/Type/Enumeration.pod6
Document missing Enumeration methods
13:43
synopsebot Link: doc.perl6.org/type/Enumeration
doc: b14a563aba | (Ben Davies)++ | doc/Type/Metamodel/EnumHOW.pod6
Document missing Metamodel::EnumHOW methods
doc: 52e20d5986 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 2 files
Merge pull request #2941 from Kaiepi/enum

Document missing Enumeration and Metamodel::EnumHOW methods
synopsebot Link: doc.perl6.org/type/Metamodel::EnumHOW
13:43 dolmen joined
tadzik Kaiepi: huh, really? I thought it'd do that 13:45
can you send me a testcase that fails, if it's not too much of a bother?
Kaiepi m: role Foo {}; class Bar does Foo {}; say Foo.^parents
camelia No such method 'parents' for invocant of type 'Perl6::Metamodel::ParametricRoleGroupHOW'
in block <unit> at <tmp> line 1
Kaiepi er
m: role Foo {}; class Bar does Foo {}; say Bar.^parents 13:46
camelia ()
Kaiepi m: role Foo {}; class Bar does Foo {}; say Bar.^roles
camelia ((Foo))
timotimo tadzik: any interest in perl6 gamedev recently? :)
tadzik timotimo: I'm now on a talk from someone who writes a clone of Invisible Inc. to Perl
so: yes
I'm excited :) 13:47
timotimo is it josé joaquín atria's talk?
tadzik yes
timotimo i've just started watching at 1.25x
13:47 dolmen left
cygx m: role Constructor[*@params] { method CALL-ME(::?CLASS:U: *@args) { self.bless(|%(@params Z=> @args)) } }; class Point does Constructor[<x y>] { has $.x; has $.y }; say Point(1, 2) 13:47
camelia Point.new(x => 1, y => 2)
13:48 zingzhang joined
tadzik oooh 13:48
neato :)
Kaiepi m: use NativeCall; EXPORT::<long> := long; say EXPORT::<long> 13:50
camelia (long)
tadzik Kaiepi: aha, I see
Kaiepi can't believe i didn't think of a way to export symbols from other modules like that until now
13:51 Ven`` joined 13:52 AlexDaniel joined
tadzik Kaiepi: hmm github.com/tadzik/ClassX-StrictCon...02-roles.t 13:55
so this doesn't cover something?
ah, of course not. The attrs from roles are composed into the class so you don't need to check mro or whatever
Geth ¦ problem-solving: AlexDaniel self-assigned Update Travis configuration so that it does not compile Rakudo every single time. github.com/perl6/problem-solving/issues/85 13:56
tadzik so I think it is all good
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue Core class version syntax github.com/perl6/problem-solving/issues/80
13:58 pamplemousse joined
timotimo tadzik: bitbucket.org/gtkshooter/p6-gtk-sh...croller.p6 - did you see this? :) 13:59
13:59 Ven`` left
tadzik I remember the name 13:59
timotimo it's a new thing basically
tadzik oh!
then no, I have not
timotimo now based on clutter, which has a scene graph
tadzik Clutter, huh
timotimo that file only has a starfield that uses clutter's easing features to scroll a background with depth layers
13:59 [Sno] joined
tadzik I'm not sure what Clutter is. Is it The New Gtk? 14:00
or is the QML of GTK
timotimo slightly, vaguely similar to "the QML of GTK" 14:01
but really a bit more like QSceneView i guess?
QGraphicsScene i think
tadzik nod nod
I'll need to read this :) 14:02
The Gaming JJ suggested a new Perl SDL Game Contest
timotimo oh, cool
tadzik perhaps there should be a perl 6 representation :)
timotimo i didn't see that, was it not in the presentation itself?
maybe i was a little too distracted by @stuff 14:03
tadzik there was a suggestion at the end
timotimo would it be only for SDL1?
Kaiepi tadzik, you could also write it as a subclass of Metamodel::ClassHOW and throw the code for attribute checking in its compose method before calling self.Metamodel::ClassHOW::compose, then throw it in EXPORTHOW::DECLARE::<strict-class> or something if you want it to have its own package declarator or EXPORTHOW::SUPERCEDE::<class> if you want it to override how regular classes work 14:04
since it's entirely dealing with the MOP
timotimo ah, it's the "community participation and events for visibility" 14:05
oh is that a samcv 14:06
14:07 AlexDaniel left
timotimo ah, lightning talks, of course 14:07
14:08 lizmat joined 14:12 [Sno] left
timotimo ooh jesus the sound 14:12
that kind of sounds hella expensive 14:14
cygx role Constructor, a bit more polished: gist.github.com/cygx/23638f780f77b...00d8f7d2cd 14:18
is there a built-in way to dynamically deconstruct a capture based on a signature?
timotimo the %room stream starts in the middle of masak's talk =o
m: given \(1, 2, 3, :foo, :bar) { when -> $a, $b, $c, :$bar, :$foo { say "$a, $b, $c and $foo and $bar" } } 14:19
camelia 5===SORRY!5===
Expression needs parens to avoid gobbling block
at <tmp>:1
------> 3o { say "$a, $b, $c and $foo and $bar" }7⏏5 }
Missing block (apparently claimed by expression)
at <tmp>:1
------> 3o { say "$a, $b, $c and $foo a…
timotimo m: given \(1, 2, 3, :foo, :bar) { when (-> $a, $b, $c, :$bar, :$foo { say "$a, $b, $c and $foo and $bar" }) } 14:20
not quite
camelia 5===SORRY!5===
Expression needs parens to avoid gobbling block
at <tmp>:1
------> 3o { say "$a, $b, $c and $foo and $bar" }7⏏5) }
Missing block (apparently claimed by expression)
at <tmp>:1
------> 3 { say "$a, $b, $c and $foo a…
timotimo m: given \(1, 2, 3, :foo, :bar) { when :($a, $b, $c, :$bar, :$foo) { say "$a, $b, $c and $foo and $bar" } }
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3hen :($a, $b, $c, :$bar, :$foo) { say "7⏏5$a, $b, $c and $foo and $bar" } }
timotimo m: given \(1, 2, 3, :foo, :bar) { when :($a, $b, $c, :$bar, :$foo) -> $a, $b, $c, :$bar, :$foo { say "$a, $b, $c and $foo and $bar" } }
camelia Too few positionals passed; expected 3 arguments but got 0
in block at <tmp> line 1
in block <unit> at <tmp> line 1
14:20 curan left
timotimo *shrug* 14:20
14:25 FieldsaBB left
timotimo m: given \(1, 2, 3, :foo, :bar) { $_ ~~ -> $a, $b, $c, :$bar, :$foo { say "$a, $b, $c and $foo and $bar" } } 14:25
camelia Too few positionals passed; expected 3 arguments but got 1
in block at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo the important bit is that the variables have to be declared so they become usable
a signature literal by itself doesn't do that, i believe? 14:26
cygx there's nqp::p6bindcaptosig
I'll see if that leads anywhere
14:27 nephele left
vrurg timotimo: when doesn't pass arguments to a pointy block. 14:27
cygx that requires lexicals with appropriate names being present :(
vrurg m: given \\(1, 2, 3, :foo, :bar) { when :($a, $b, $c, :$bar, :$foo) -> |c { say c.perl } }
camelia ( no output )
El_Che sena_kun: half of the day seems to be missing on the second room 14:28
% I mean
missing your talk for now :(
sena_kun El_Che, how so? I watched it just after Masak's talk. :o 14:29
El_Che, oh goodness... well, something was certainly removed. :( I have a feeling they'll edit and re-upload it then. 14:31
El_Che they certainly will 14:32
see this twitter chat between mdk and me: twitter.com/nxadm/status/1159193860070944769
(about the removal of the room 1 videos of the first day) 14:33
vrurg m: given \\(1, 2, 3, :foo, :bar) { when :($a, $b, $c, :$bar, :$foo) { -> |c { say c.perl }(|$_) }}
camelia ( no output )
vrurg m: given \(1, 2, 3, :foo, :bar) { when :($a, $b, $c, :$bar, :$foo) { -> |c { say c.perl }(|$_) }}
camelia \(1, 2, 3, :bar, :foo)
cygx what I need is a hash mapping parameter names to argument values so I can pass that to bless 14:35
the relevant logic can be found in Perl6/Metamodel/BOOTSTRAP.nqp, class Binder 14:38
14:55 aborazmeh left, lizmat left 15:04 dolmen joined 15:07 lizmat joined, lizmat left 15:08 [Sno] joined 15:22 [Sno] left
cpan-p6 New module released to CPAN! Tomtit (0.1.1) by 03MELEZHIK 15:25
SmokeMachine there is no sound on Riga stream... 15:26
15:53 nepugia joined 15:54 lizmat joined 15:56 ambs joined 15:57 lizmat left 16:01 chloekek left 16:07 pat_js left
sena_kun El_Che, the stream is back, so you can laugh at auto-clapping all you want. ;) 16:08
sena_kun goes off
16:08 sena_kun left
El_Che sena_kun++ 16:11
16:25 Itaipu left 16:30 cpan-p6 left 16:31 cpan-p6 joined, cpan-p6 left, cpan-p6 joined, mensvaga joined 16:38 mowcat left 16:40 dolmen left 16:46 nepugia left
jdv79 looks like liz's keynote is not on the live video 17:16
anyone know if its available anywhere else? slides or other video?...
17:17 Itaipu joined 17:25 wildtrees joined 17:26 wildtrees left, wildtrees joined 17:27 wildtrees left 17:28 wildtrees joined 17:29 chloekek joined
El_Che it was this morning 17:29
Google is being an ass it seems
chloekek Hmm 17:30
El_Che jnthn's talk is back, though
17:31 wildtrees left 17:40 |oLa| joined 17:52 pamplemousse left, zakharyas left 18:00 reportable6 left, pamplemousse joined 18:04 reportable6 joined, ChanServ sets mode: +v reportable6 18:09 cygx left 18:10 MasterDuke joined
MasterDuke Elronnd: did you get rakudo-js to build in arch linux? 18:11
18:12 mowcat joined, sjm_uk joined 18:15 pamplemousse left 18:16 molaf left 18:23 efraim left 18:26 marcel_ joined 18:31 |oLa| left 18:44 jaldhar left 18:48 sena_kun joined 18:52 Black_Ribbon joined 19:10 pamplemousse joined 19:15 molaf joined, zakharyas joined
Elronnd MasterDuke: nope 19:16
I was told to ask pmurias about it, but they never seem to be on 19:17
19:30 zingzhang left 19:33 mowcat left 19:47 molaf left 19:48 MARTIMM joined 19:49 marcel_ left 20:03 pilne joined 20:11 leont joined 20:27 zakharyas left 20:31 [Sno] joined 20:35 sjm_uk left 20:37 pamplemousse left 20:42 irced joined 20:45 Guest73 left 20:52 veesh joined 20:53 Kaiepi left 20:54 Kaiepi joined
veesh why is the name change getting pushed through now? 20:54
moritz is it? 20:56
veesh i asked the wrong question
i meant to say what did Larry say that started this discussion again 20:57
20:58 chloekek left 20:59 MARTIMM left 21:00 mensvaga left 21:02 Xliff joined 21:09 netrino joined 21:10 mowcat joined 21:19 Doc_Holliwood left
irced so, Oracle is changing its java license to commercial only? java is one of the few major langauges i know nothing about. does this affect the vm in which perl6 runs at all? 21:25
21:26 zingzhang joined
moritz irced: there's still an Open Source version of that JVM (OpenJDK), so we're good 21:28
this mainly affects enterprises that want commercial support
irced moritz: thank you for your input! 21:29
21:32 zingzhang left
Xliff vrurg: How is 3075 looking? :) 21:34
21:36 lizmat joined
vrurg Xliff: sorry, but 3113 is the priority for now. Though one problem is almost fixed. 21:40
Xliff OK. 21:49
Yeek! Good luck! Let me know if you need extra hands or something. 21:50
21:58 leont left
vrurg Xliff: thanks! 22:03
22:03 mowcat left
Xliff How would you do a conditional enum? 22:13
Say... so that the contents vary due to OS?
sena_kun Xliff, BEGIN { } or sub EXPORT a-a-a-and EnumHOW module. :) 22:14
Xliff LOL! Thought so.
sena_kun ;)
Xliff sena_kun++
I take it you've tried tackling this monster as well?
sena_kun tweaks slides for MOP talk rn 22:15
Xliff, erm, moster to be...?
Xliff Conditional enums... 22:16
sena_kun ah, nope
no usecase for me
Xliff I mean, C just uses an enum definition and constants.
sena_kun but I think it is _very_ doable in Perl 6
Xliff I just canme up with one.
sena_kun I mean, I don't see how it can _not_ work...
Xliff Enum with constants that vary due to OS
sena_kun and if it's not, that'd be a bug
Xliff Think low level IO.
And flags.
sena_kun I think the problem will be how can you use them conditionally 22:17
because afaik they are checked at compile time and must be present
Xliff I want to define them once... at compile time... based on OS.
So it looks like I'll have to create them in MAIN using the MOP. Yes? 22:18
That can get problematic really quickly.
sena_kun so you can't just write, e.g., "if $*OS is Foo { $a = FooParam } else { $a = BarParam }", the compiler won't listen to your "But this branch will never be executed at the place where it is not defined! Ignore it!"
it will say to you that either FooParam or BarParam is an unknown thing. :(
Xliff The problem with that is that it's not just $a. 22:19
sena_kun I think you can workaround that defining every possible enum value, leaving the meaningless ones without a value, say just -1 or something
Xliff Enums have ALL of its values exported to MAIN.
The enum names are the same, though. It's their value that changes.
sena_kun Xliff, why MAIN? `sub EXPORT`(just look it up in the docs) is executed at compile time, MAIN is not
Xliff I may just use Linux as a default and if OS changes, reassign via MOP.
sena_kun ah, if they are the same, just values are different, then you have no such issue. :) 22:20
give me a second...
Xliff I would rather NOT have to use sub EXPORT for just this one thing. In a file where I am exporting a LOT through the normal method.
If I can use EXPORT to help me special case stuff, then fine. 22:21
timotimo did you see that cute EXPORT<bleh> := Bloop::<bleh> trick?
sena_kun Xliff, then BEGIN block somewhere in this method if you have enough data there
Xliff timotimo: No. Where?
timotimo EXPORT::<bleh> i should have said
154915* Kaiepi ? m: use NativeCall; EXPORT::<long> := long; say EXPORT::<long> 22:22
sena_kun github.com/Altai-man/ASN-META/blob...TA.pm6#L75 <- EnumHOW is very neat, Kaiepi++
Kaiepi :) 22:23
Xliff Kaiepi: Have you been reading?
sena_kun returns to slides, there are 73 of them for 20 minutes
o/
Xliff Thanks, sena_kun++ 22:24
Kaiepi wdym
Xliff Say I have "our enum TheseChangeByOS ( a => 1, b => 2, c => 3, d => 4 ) # Linux"
But the values for a, b, c, and d change for Windows. 22:25
How would I do that in Perl6?
No matter what OS, I still want "a ~~ TheseChangeByOS" to be True
Kaiepi gimme a sec 22:26
Xliff 'k thanks!
22:26 lizmat_ joined
Kaiepi something like this Xliff fpaste.scsys.co.uk/585646?tx=on 22:28
Xliff Ooooh! 22:29
Kaiepi++
Kaiepi er, add_value should be whatever the name for the meta-method for adding enum values is, it's in the docs for Metamodel::EnumHOW 22:30
22:30 lizmat left
Xliff add_enum_value. 22:32
Kaiepi yeah that
Xliff :)
22:33 epony left
Kaiepi i updated the docs earlier today to show an example of that and document the methods that were missing from Metamodel::EnumHOW's documentation 22:34
22:38 zingzhang joined
sena_kun folks, is e.g. "BEGIN block" a "(language) construction" or "(language) construct"? 22:44
22:45 rindolf left
sena_kun goes for "language construct" 22:47
22:57 wildtrees joined 23:05 sena_kun left
japhb 'construct' sounds more natural to me, but it's a pretty fine difference between those two words, I think. 23:23
23:29 Possum joined 23:42 netrino left 23:47 lucasb left
Kaiepi so you may have seen javascript code like this that's the stuff of nightmares: +((!![]+!![]+!!!![]+!!!![])+(!![]+!![]+![]+[])) 23:49
naturally i ported it 23:50
m: say (! ! !() + ! ! !() + ! ! ! ! !() + ! ! ! ! !()) ~ (! ! !() + ! ! !() + ! !() + ())
camelia 42