»ö« 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.
vrurg timotimo: could you have a look at strangeness on perl-dev? Perhaps you would tell me if that's ok. 00:02
timotimo emails? 00:03
oh, no, irc?
yeah i'm not sure what happened there
vrurg irc, aha. :) 00:04
timotimo i mean, scalar doesn't immediately mean writable
vrurg m: module F { our &t; say &t.VAR.^name; }; import F 00:05
camelia Scalar
vrurg That's definitely not how I'd expect it to be. :)
m: my &f; say &f.VAR.^name
camelia Scalar
timotimo wait, why? 00:07
vrurg m: my %h; say %h.VAR.^name 00:09
camelia Hash
vrurg Perhaps because of this ^
timotimo m: my &f; &f = &say; &f = &note; f("hi") 00:10
camelia hi
timotimo without a container, this wouldn't work
it'd require binding instead
OTOH, with Hash being the var, %foo = 1, 2, 3, 4 will turn that list into a hash 00:11
vrurg Makes sense.
timotimo so that's what that is, i guess
vrurg Ok, then I shall check for $ and & sigils when decont an import. Or find out why what gets re-exported via EXPORT ends up wrapped into Scalars unconditionally. 00:13
Thanks timotimo , I needed some refreshment for my brains. :) 00:15
timotimo reminds me that i should fill up the water filter for some fresh drinkage 00:16
vrurg reminds me that I need to add a line about SetHash assignment into ChangeLog... :D 00:19
sitbk I've got plenty of references for writing P6. Any recommendations for understanding the backend stuff? Trying to better understand the concepts of using MoarVM, JVM, etc. How it all comes together. 01:50
vrurg sitbk: Not much on this topic around. You could start with this: github.com/edumentab/rakudo-and-nq...als-course 01:52
Then there're some blog posts when you google for them. But mostly it is all about sources. 01:53
sitbk It's a start. I just get confused as I see the terms tossed around.
My limited scripting experience deals w/ python & bash, never really saw those kinds of topics. Anyways, much appreciated vrurg. 01:54
vrurg sitbk: welcome! How much of the language itself do you know? 01:55
sitbk Very little. I'm just getting started, going through the Think Perl6 book.
vrurg So, stick to it first. Or you might get quite a mess in your head. :) 01:56
sitbk Will do. I tend to jump down rabbit holes whenever a topic comes up. 01:57
vrurg Best if you do a project when complete the book. This would let you settle down the all your knowledge. 01:58
Oh, me is like you. I know what you're talking about. :)
sitbk I've got some goals in mind. I was torn between this and Python, but I like a challenge. P6 being in it's earlier stages doesn't have as many modules readily available so I'll be forced to do some stuff the hard way. (Yes, I know of the ability to import python and P5 modules, trying to avoid) 02:00
vrurg Good luck and welcome then! :) 02:02
sitbk I appreciate it. I have enjoyed P6's multiple ways of doing things. Sometimes it makes the book a little convoluted, but I like the single line if / then/ unless loops. 02:03
holyghost I've finished writing my Hawking Boltzmann model example 02:55
holyghost It needs to be debugged still 02:55
holyghost basically you calculate losses on a Boltzmann distribution potential 02:56
guifa2 What is a good use case for the +@slurpy?
guifa2 is writing a blog post on slurpies
holyghost using Hawking temperature (see wikipedia) 02:57
holyghost I might add another Boltzmann function (the entropial not the distribution function) 03:23
crackling upwards
then calculate (pseudo) loss function on that 03:24
guifa2 Here's the draft: any thoughts/comments/concerns/additions? tenesianu.blogspot.com/b/post-prev...;type=POST 04:31
Xliff guifa: is "multi sub foo(**bar)" supposed to be "multi sub foo(**@bar)"? 04:39
guifa2 Xliff: yes :-) 04:40
Xliff Oh good! ;)
Xliff guifa+: Nice article! 04:47
guifa++, even! 04:48
guifa2 Xliff: thanks! 04:58
Xliff m: sub aa { say '42' }; ::("aa")() 05:01
camelia No such symbol 'aa'
in block <unit> at <tmp> line 1
Xliff m: sub aa { say '42' }; ::('&aa')()
camelia 42
guifa2 That... feels like a bug? 05:09
p6: class AA {method new {say 42; self.bless}}; ::("AA").new 05:12
camelia 42
Woodi hallo today :) 05:18
Xliff guifa: Why a bug? Actually. Eyes are drooping. It's past my plop-time. 05:21
my HEAD-plop time... not that other thing.
Woodi nadim: 2nd part is perfect. other thing to do would be to show colored hiereachies in 'visual' mode but this would require implementing web browser :) now just cutting interesting part is needed 05:22
holyghost hi Woodi 05:46
I programmed a few hours this night, I'm off to the bar for some breakfast in an hour 05:47
jmerelo releasable6: status 06:11
releasable6 jmerelo, Next release will happen when it's ready. 8 blockers. 262 out of 644 commits logged (⚠ 1 warnings)
jmerelo, Details: gist.github.com/0e9144b8b6aae8430b...ad9dbcd3e8
Geth doc: 5bf9874df3 | (JJ Merelo)++ | doc/Type/Distro.pod6
Eliminates Systemic methods from Distro refs #2800
06:27
doc: 5e145ddcb8 | (JJ Merelo)++ | 2 files
Revised and adapted Kernel, closes #2800
synopsebot_ Link: doc.perl6.org/type/Distro
Geth doc: f88048a303 | (JJ Merelo)++ | doc/Type/Kernel.pod6
Adds examples to Kernel refs #2800
06:34
synopsebot_ Link: doc.perl6.org/type/Kernel
Guest71174 :2[10,20,30] # result = 110; what this expression does? 07:59
AlexDaniel uhhh I think there was something about base conversion? 08:05
m: say :1[3,2000,1000000] 08:09
camelia 1002003
AlexDaniel m: say :2[3,2000,1000000]
camelia 1004012
AlexDaniel m: say :3[3,2000,1000000]
camelia 1006027
AlexDaniel m: say :4[3,2000,1000000]
camelia 1008048
El_Che releasable6: status 08:10
releasable6 El_Che, Next release will happen when it's ready. 8 blockers. 262 out of 644 commits logged (⚠ 1 warnings)
El_Che, Details: gist.github.com/252da40d661f1f4327...1dd473d3a7
El_Che Are the new tarballs release on the same URL as before the server died? If not, I need to change my build scripts. I haven't heard about changed urls though 08:11
AlexDaniel El_Che: haa 08:15
AlexDaniel rba: ping 08:17
I don't think we have any tarball storage currently? 08:18
do we need it?
because, well, github?
AlexDaniel El_Che: by any chance do you know what's the point of tarballs? 08:20
El_Che because originally when I started packaging, the tarballs had some magic sause 08:22
dunno how it is nowadays, I don't mind whatever release method is used as long as it's reproducible
(aka scriptable)
I think "github releases" is a good way 08:23
as it combines tagging and unchangeable files
AlexDaniel IMO having separate tarballs is just another point of failure
El_Che: so you can start changing your script to fetch things from github :) 08:24
perhaps it's as easy as changing the url to github.com/rakudo/rakudo/archive/2...3.1.tar.gz or so
Guest71174 :2[1,1,1] # result 7 ( sets first 3 plases in base 2); :10[1,1,1] result 110( sets first 3 places in base 10) but :2[10,20,30] is 110 ??? 08:25
AlexDaniel El_Che: you're verifying the gpg key, right? 08:26
hmmm how to do that on github… 08:27
Guest71174 :2[1,1,1] # result 7 ( sets first 3 plases in base 2); :10[1,1,1] result 110( sets first 3 places in base 10) but :2[10,20,30] is 110 ??? 08:28
AlexDaniel OK, maybe github releases is not a great way 08:31
AlexDaniel El_Che: so it seems like it's not possible to check the gpg signature when you download a tar from github. Moreover, tar is nondeterministic, so you'll be getting a slightly different archive every time… 08:34
well, not every time, but sometimes
so in the end we'd need to attach a tarball anyway, and then you'll have two download buttons that will give you approximately the same thing… 08:35
hah, somebody wrote this wiki.debian.org/Creating%20signed%...20releases 08:37
good try, but no…
rba AlexDaniel: ping back 08:38
AlexDaniel rba: so you see, we had a place for tarballs ( rakudo.org/downloads/rakudo and rakudo.org/downloads/nqp I think) 08:40
rba: which is no longer there, so question is how should we serve the tarballs if at all
rba: github already provides this: github.com/rakudo/rakudo/releases/tag/2019.03.1
but there's no signature, so no way to check if that tarball is actually legit 08:41
moreover these tarballs change over time (though the contents remain the same), as witnessed by many projects: github.com/easybuilders/easybuild-...ssues/5151 08:42
whoever wrote that debian page has no idea
rba AlexDaniel: AFAIK the tarballs are the source at the time of the tag/release and not a builded source tarbal. 08:43
AlexDaniel rba: sorta, and? 08:44
rba AlexDaniel: github -> build -> release. so there is build step in between. This is what makes an release at the end. At least that's what I thought. 08:47
AlexDaniel: Releases on the githup page are jetzt the point in time of the github repo, yet before the build step. 08:48
s/jetzt/just/
AlexDaniel: Yet, as far as I understood, we need to define where we make available new release tar balls. And then point the download pages to this place. 08:50
AlexDaniel rba: I'll diff the differences… 08:51
rba AlexDaniel: Or after the build we upload the files side-by-side to the release in github, eg. github.com/rakudo/rakudo/releases/tag/2019.03.1
AlexDaniel fwiw I have all rakudo tarballs starting from 2014 08:52
nqp since 2012 and moar since 2014
I don't have the signatures for them, though 08:53
El_Che AlexDaniel: I don't care one way or the other, as long there is an secure and "official" way 08:56
AlexDaniel: I build a zillion of stuff, and checking keys is mostly part of the process 08:57
AlexDaniel: however, when I started packing rakudo we didn't even had TLS :(
AlexDaniel: so I am flexible, and if the release manger need opinions, I have them too :)
AlexDaniel: about everything according to my wife, but that's an other discussion :) 08:58
rba Just to make the history from the broken server available there are currently three places for the old releases: perlgeek.de/static/p6/ (moritz) files.p6c.dev/ (me) rakudostar.com/files/ (think it's form brian d foy) 09:00
El_Che AlexDaniel: we could add a travis config to rakudo, moarvm and nqp to auto create releases and a checksum on a specific form of tag, (like v2019.07) 09:01
AlexDaniel rba: prerelease one you can delete, it's a moving target and it changes all the time 09:02
rba: but that's awesome, yeah 09:03
El_Che: auto create releases… doesn't make much sense to me :)
although maybe it's a good idea, I don't know 09:04
El_Che: simple question though: people want to download a .tar.gz file, a signature, and check that file against the signature 09:05
El_Che: how to do that?
AlexDaniel with github, it means I should attach another tarball with a sig to the release? 09:05
and that's the plan? 09:06
so the user will still have `Source code (zip)` `Source code (tar.gz)` buttons
El_Che 1. you tag a release with v2019.07
El_Che 2. travis picks up the tag by matching it with a regex /^v\d+\./ 09:07
El_Che 3. travis clones the repo, creates a tar.gz and creates a checksum and uploads it to github 09:08
(or signs it, need to check that)
regular users don't care about the releases
the will download binaries elsewhere
packages will have to option to work with git tags or github releases 09:09
the releases can be some sort or archive
AlexDaniel “regular users don't care about the releases” so we don't need tarballs at all? Those who need this stuff will just keep up with the git repo, no? 09:10
El_Che brb (not at home) 09:12
AlexDaniel: it's a possibility as long as the tags are standarized
bbl
AlexDaniel so the difference between release tarballs and the source code is that release tarballs miss some dot files like .circleci, .github, .gitignore, .travis.yml 09:13
then the release tarball has a weird MANIFEST file and roast in spec/
that's about it
rba I think we still need the release tar balls. This is what's is officialy released. Then this could be used to make packages or containers.
sjm_uk Hi all - just passing and noticed the chat about installing P6 - do you want any feedback from a user perspective? I have recently required to install P6 to run an app that one of my colleagues developed. 09:16
AlexDaniel sjm_uk: yes, although if you already identified some issues maybe it's better to create a ticket (or tickets) here github.com/perl6/problem-solving/ 09:18
cpan-p6 New module released to CPAN! RPi::Device::SMBus (0.0.4) by 03JSTOWE
sjm_uk Not sure if tickets will help just yet as there is nothing precise to say. My feedback is not relating to bugs as such, more about the user expectation and process to get to the point of running Perl6 09:20
packaging essentially 09:21
AlexDaniel sjm_uk: well, there's also github.com/perl6/user-experience/
though honestly I feel like moving tickets from user-experience to problem-solving and removing that repo… 09:22
sjm_uk Thanks - that github link is just what I was after - will PR that with notes. 09:24
AlexDaniel sjm_uk: maybe create a ticket first? Not sure what a PR will do… 09:25
sjm_uk No probs - will work that out. The author of the repo looks to be addressing the problems that I have encountered and it could well develop in to the level of documentation needed to remove some of the bumps that I have found. 09:27
xinming_ releasable6: status 09:52
releasable6 xinming_, Next release will happen when it's ready. 8 blockers. 262 out of 644 commits logged (⚠ 1 warnings)
xinming_, Details: gist.github.com/ecc147e3b8bcb001b9...0ccb8f6db9
nadim_ Woodi: elated-brahmagupta-c2f792.netlify.com/ You need the latest DDT that I just pushed. Example is in exxamples.html. Now going to the beach, good luck. 10:22
Xliff Well... getting ready to update WinBlows.... 11:40
BBIABDDLHELL 11:41
Er...
BBIABDLLHELL
Xliff m: package M { sub test is export { say "M-Test"} }; M.HOW.^name.say 12:00
camelia Perl6::Metamodel::PackageHOW
Xliff m: package M { sub test is export { say "M-Test"} }; ::("\&M::test)()
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in double quotes; couldn't find final '"' (corresponding starter was at line 1)
at <tmp>:1
------> 3port { say "M-Test"} }; ::("\&M::test)()7⏏5<EOL>
expecting …
Xliff m: package M { sub test is export { say "M-Test"} }; ::("\&M::test")() 12:01
camelia No such symbol '&M::test'
in block <unit> at <tmp> line 1
Xliff m: package M { sub test is export { say "M-Test"} }; ::('&M::test')()
camelia No such symbol '&M::test'
in block <unit> at <tmp> line 1
Xliff ^^ Why is that?
m: package M { sub test is export { say "M-Test"} }; import M; ::('&M::test')()
camelia No such symbol '&M::test'
in block <unit> at <tmp> line 1
Xliff m: package M { sub test is export { say "M-Test"} }; import M; ::('&test')()
camelia M-Test
Xliff m: package M { sub test { say "M-Test"} }; import M; ::('&M::test')() 12:02
camelia No such symbol '&M::test'
in block <unit> at <tmp> line 1
Xliff m: package M { our sub test is export { say "M-Test"} }; import M; ::('&test')()
camelia M-Test
Xliff Oh hoooo....
m: package M { our sub test { say "M-Test"} }; ::('&M::test')() 12:04
camelia M-Test
cpan-p6 New module released to CPAN! Audio::Silan (0.0.7) by 03JSTOWE 12:54
cpan-p6 New module released to CPAN! Lumberjack (0.0.9) by 03JSTOWE 13:24
Geth doc: Kaiepi++ created pull request #2866:
Document how to use unicode in XTerm and URxvt, reorganise
13:43
moritz Hi all 13:56
I just nuked my rakudo installation, and run perl Configure.pl --gen-moar
and the nqp build fails
sena_kun git submodule update, maybe? 13:57
moritz ... and the backtrace is too long for the pastebin, sigh
moritz@notebook-mlenz:~/p6/rakudo/nqp$ git submodule update
Submodule path '3rdparty/nqp-configure': checked out '7411804dffa8d63c87956cc764727111537cd865'
trying again 13:58
moritz looks better this time 13:58
sena_kun \o/ 13:59
there were changes lately in this area and I just saw how people had issues and the solution was "git submodule update". :)
moritz thanks 14:00
moritz so out of touch these days
timotimo that's exactly the kind of thing we built p6lerts for :| 14:03
and then it just so happened that our infrastructure went down when we finally had a reason to use it
AlexDaniel timotimo: it should've been done as a github page 14:12
a lot of things are built without keeping in mind how they're going to be maintained in the future 14:13
timotimo actually we don't need to have a server to run our irc bots either
we just max out the time limit on appveyor of 1 hour and just keep retriggering CI builds over and over 14:14
AlexDaniel I'm serious 14:18
what happened is a great opportunity not to bring some of the services back up
or remake them in a way so that they're zero maintenance 14:19
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue Metaop semantics with QuantHashes github.com/perl6/problem-solving/issues/47 14:24
Kaiepi bastille% perl6 14:34
To exit type 'exit' or '^D'
> 😂
===SORRY!=== Error while compiling:
Bogus statement
------> <BOL>⏏😂
Kaiepi this isn't really worth making an issue over or anything, but what is the arrow pointing at? there's nothing between the emoji and the beginning of the line 14:34
lizmat Kaiepi: so where do you think it should point to ? 14:35
moritz it's pointing towards the end of the line
and to the begin, because it's the same position :D 14:36
Kaiepi it points at the emoji if you press enter before typing it
>
> 😂
===SORRY!=== Error while compiling:
Bogus statement
at line 2
------> <BOL>⏏<EOL>
Kaiepi which is where i think it should be pointing so it matches the other syntax errors 14:41
> /
===SORRY!===
Regex not terminated.
at line 2
------> <BOL>⏏<EOL>
AlexDaniel wow! Gmail is down! 15:14
ok… that didn't last very long :) 15:15
Geth doc: b4534dbe52 | (Ben Davies)++ | doc/Language/unicode_entry.pod6
Document how to use unicode in XTerm and URxvt, reorganise
15:54
doc: c453992837 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/unicode_entry.pod6
Merge pull request #2866 from Kaiepi/unicode-terminals

Document how to use unicode in XTerm and URxvt, reorganise
synopsebot_ Link: doc.perl6.org/language/unicode_entry
El_Che lo 16:22
jmerelo Hey 16:38
cpan-p6 New module released to CPAN! Inline::Perl5 (0.40) by 03NINE 16:56
Kaiepi took me waaaaay too long to notice the "at line 2" in what i was comparing that panic to 17:03
there's nothing wrong with it 17:04
at least i know more about cursors now i guess
xinming_ m: my %t; my $x := %t<x>; $x = 5; my ($a, $b) := %t<a b>; $a = 4; 19:27
camelia Cannot assign to a readonly variable or a value
in block <unit> at <tmp> line 1
xinming_ In this case, the first `my $x := %t<x>` works fine, Since it's alias to a "scalar" 19:28
the latter $a doesn't, Is there a version which I can use to make $a = 4 also work?
I think the reason for this is, the %t<a b> builds a list, and list item can't be assigned. 19:29
Is there a shortcut to make this work as spected?
guifa2 xinming: you might need to do a slip 20:21
p6: my %t; my $x := %t<x>; $x = 5; my ($a, $b) := |%t<a b>; $a = 4;
camelia Cannot assign to a readonly variable or a value
in block <unit> at <tmp> line 1
guifa2 err never mind ha
TreyHarris If I have two WhateverCodes, can I compose them somehow? Like, say I have `my $even = not * % 2` and `my $small = -5 <= * <= 5`, I can do `my $even-and-small = { $even($_) && $small($_) }`, but is there a more Whatever-y way? 21:11
lizmat TreyHarris: nothing comes to mind 21:16
tobs m: my $even = not * % 2; my $small = -5 <= * <= 5; say so ($even & $small)($_) for 2..8
camelia True
False
True
False
False
False
False
tobs using a junction, not a whatever
TreyHarris I don't understand this behavior: 21:20
m: my $even-and-small = (not * % 2) && (-5 <= * <= 5); my @a = gather for -10...10 -> $i { take "$i: {$even-and-small($i)}" }; say @a.join: ", ";
camelia -10: False, -9: False, -8: False, -7: False, -6: False, -5: True, -4: True, -3: True, -2: True, -1: True, 0: True, 1: True, 2: True, 3: True, 4: True, 5: True, 6: False, 7: False, 8: False, 9: False, 10: False
TreyHarris I know, as a rule, you shouldn't use a * twice in an expression, but I don't understand what's happening when you do like that 21:21
tobs: good trick, thanks 21:23
TreyHarris Why is the `Nil` there in `throws-like { no fatal; my $ = fails-not-throws; Nil }, Exception;` in docs.perl6.org/type/Test#sub_throws-like ? 21:59
lizmat that's the return value if it does *not* fail ? 22:01
TreyHarris I'm not sure what it's doing there in any event; Changing the `sub fails-not-throws` to do different things with and without the `; Nil` there didn't seem to change the test results 22:02
Geth ¦ problem-solving: AlexDaniel assigned to JJ Issue .head and .first github.com/perl6/problem-solving/issues/48 23:04