»ö« 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.
cpan-p6 New module released to CPAN! BitEnum (0.1) by 03CTILMES 01:08
Herby_ o/ 01:39
tbrowder Herby: \o 02:00
Herby_: \o
Herby_ tbrowder: How goes it? 02:05
tbrowder fine, thank you. and you? 02:06
Herby_ good good. Downloading the Comma IDE, looking forward to trying it out 02:08
quipa Hello! New to perl6, trying it out on a Linux Mint box. When running a perl6 in the terminal I get "Reading from filehandle failed: Resource temporarily unavailable" error 02:45
And I can't input anything
thanks for any help!
Kaiepi is there a way to bind lexical symbols at runtime? i tried using nqp::bindlex, but it complains about the value being QAST::Node 03:03
quipa hum close the terminal and opened a new one that seemed to solve it.. Maybe because I just installed it 03:07
closed*
cpan-p6 New module released to CPAN! Libui (0.0.2) by 03GARLANDG 03:27
Herby_ Saw something on the Rust subreddit talking about rewriting linux coreutils as an exercise in learning the language 03:46
Seems like that would be a good exercise for p67
*p6
lookatme_q Herby_, cool idea, perl5 also has something like this named PPT 03:59
Herby_ lookatme_q: I'll give that a look. Thanks! 04:02
lookatme_q And there is project about this : github.com/briandfoy/Perl6PowerTools 04:03
Herby_ lookatme_q: Thanks. That one looks pretty dead. I might start something fresh purely as a learning exercise 04:07
If I do get something going, I might post it to the subreddit (and elsewhere) to see if people want to contribute
lookatme_q welcome
Herby_, that would be awesome
noon break & 04:08
andrew_ hello 06:10
lookatme_q andrew_, hi 06:14
andrew_ sup
jmerelo squashable6: status 06:24
squashable6 jmerelo, Next SQUASHathon in 18 days and ≈5 hours (2019-04-06 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
kawaii Morning :) 08:58
scimon Morning
sena_kun o/
leont o/ 09:14
lookatme_q good afternoon :) 09:17
masak m: say "good {now}" 09:18
camelia good Instant:1552900763.240331
sena_kun m: say "good {now.DateTime}" 09:26
camelia good 2019-03-18T09:26:49.213388Z
sena_kun m: say "good now.DateTime()"
camelia good now.DateTime()
sena_kun m: say "good now().DateTime()"
camelia good now().DateTime()
masak sena_kun: it won't interpolate unless it also starts with a sigil 09:27
sena_kun so it is not a sub. :|
masak it's not, but that's not why it doesn't work 09:27
m: say &now
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
now used at line 1. Did you mean 'not', 'HOW'?
sena_kun docs say it's a term. 09:28
masak m: "good &term:<now>().DateTime()"
camelia WARNINGS for <tmp>:
Useless use of "good &term:<now>().DateTime()" in expression "good &term:<now>().DateTime()" in sink context (line 1)
masak m: say "good &term:<now>().DateTime()"
sena_kun m: say "good DateTime.now().DateTime()"
camelia good 2019-03-18T09:28:52.768454Z
good DateTime.now().DateTime()
»
masak sena_kun: again, sigil needed at the start 09:29
for interpolation to happen
sena_kun I barely remember that just adding `()` works for method calls. :|
masak it's a case where both are needed 09:30
it's weird. I'm in a weird superposition with that feature where I think (a) the Perl 6 design got it mostly right with all the balancing between over-interpolating and being convenient, and (b) I think the feature asks the _reader_ to take on so much complexity in their head that I'd rather just use {} throughout 09:31
it's like, I imagine a "Perl 6 Best Practices" would say the same
mornfall hmm, are the corner quotes used by p6 the asian ones, 「like this」 or the quine corners? (those are not paired up to be opposing IIUIC...) or something else yet? 10:06
sena_kun m: '」 '.uniname.say # from regex match output 10:10
camelia HALFWIDTH RIGHT CORNER BRACKET
sena_kun m: '」'.uniname.say # hand-inputted from Japanese input method 10:10
camelia RIGHT CORNER BRACKET
sena_kun m: '「」'.uninames.say
camelia (LEFT CORNER BRACKET RIGHT CORNER BRACKET)
sena_kun m: '「」'.uninames.say 10:11
camelia (HALFWIDTH LEFT CORNER BRACKET HALFWIDTH RIGHT CORNER BRACKET)
SmokeMachine m: say "a" ~~ /a/
yoleaux 17 Mar 2019 23:55Z <tbrowder> SmokeMachine: i'm happy with my PR with load-db.p6 and am now working on the next stage: query-db.p6
camelia 「a」
SmokeMachine u: 「
unicodable6 SmokeMachine, U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
sena_kun so Perl 6 ones are halfwidth. 10:12
SmokeMachine u: 「a」 10:12
unicodable6 SmokeMachine, U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
SmokeMachine, U+0061 LATIN SMALL LETTER A [Ll] (a)
SmokeMachine, U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
ryanth p6: say $*DISTRO.perl; 10:13
camelia Distro.new(release => "42.3", is-win => Bool::False, path-sep => ":", name => "opensuse", auth => "www.opensuse.org/", version => v42.3, signature => Blob, desc => "2019-03-18T11:13:07.433475+01:00")
SmokeMachine .tell tbrowder so, would you like that to be merged now or wait for the other scripts? 10:13
yoleaux SmokeMachine: I'll pass your message to tbrowder.
ryanth p6: say $*PERL.compiler.version; 10:15
camelia v2019.03.1.46.g.6.d.8077.cec
ryanth Is 2018.10 the latest stable build? perl6.org/downloads/ seems to think so 10:17
sena_kun for Rakudo Star - yes. but 2019.3 should be released soon. 10:18
for just rakudo compiler, 2019.3.1 is the latest now. 10:19
ryanth Ok, thanks. Is there a better/recommended version for non-production experimental/dev work? 10:20
tbrowder SmokeMachine: Hi! Up to you, but let's wait for a day or two. I had a mental breakthrough after I thought about relooking at my copy of Andrew Shitov's "Deep Dive..." book and read his excellent section on Functional Programming. Now I can more confidantly proceed with qureies and updates and I should have some good progress after today.
yoleaux 10:13Z <SmokeMachine> tbrowder: so, would you like that to be merged now or wait for the other scripts?
tbrowder ^^ 10:21
pmurias m: say $*CWD; 10:22
yoleaux 17 Mar 2019 04:05Z <ugexe> pmurias: github.com/perl6/nqp/pull/517#issu...-463036136 <-- I can add this, but I would need to know which file to put it under (new file os.js? some existing file?)
camelia "/home/camelia".IO
pmurias ugexe: I would put that into src/vm/js/nqp-runtime/io.js 10:24
mornfall sena_kun: thanks 10:33
pmurias what should $*CWD return in the browser?
a roast tests checks that the CWD is the same at compile and runtime, so I'm thinking of making it pluggable by setting window.NQP_CWD 10:36
mornfall you could also just set it to /? 10:37
pmurias mornfall: I'm not sure what it's supposed to mean when running in the browser 10:41
mornfall well, there is a filesystem webapi now... but outside of that, probably nothing 10:42
pmurias mornfall: does a current working directory make any sense when working with that? 10:49
mornfall pmurias: possibly not in the api itself, but if you wanted to make a posix-like wrapper around it, then you would keep track of the cwd yes 10:51
pmurias it seems to the plan for giving browser access for files is to allow the user to manually select directories and files for the web app to work on
jast I don't think CWD has any meaning in a web context 10:53
SmokeMachine tbrowder: ok... 10:54
pmurias mornfall: I could imagine asking the user to pick a directory (using a file picker dialog) to select the 'current working directory' he wants a ported app to work on 10:55
jast I don't think any web API is going to give you the level of access needed to actually do something with a picked directory 10:57
pmurias jast: why not?
mornfall no, what i mean is that if you want things like spurt/slurp and so on work using the web api, you need to also keep track of cwd
jast all the new APIs are always about the sandboxing 10:58
for instance, mozilla's non-standard file system API restricts you to a virtual filesystem
mornfall jast: the webapp gets a filesystem sandbox in which it can create files and directories
pmurias jast: they want to support things like ides and text editors
ryanth Alright, I'm a few years out of the loop. How/where do I get the source to build 2019.3 (or .3.1)?
jast and in a virtual filesystem, sure, technically you can let the user pick something, but you're not going to be able to access anything that exists in your actual filesystem 10:59
ryanth Been all over rakudo.org and github, but couldn't see an obvious branch to clone.
pmurias I assume goal is for the browser to take over all the electron apps
jast in fact even the browser extension APIs are getting locked down like this
you can't do arbitrary filesystem access in WebExtensions 11:00
timotimo ryanth: you'll want the "compiler only installation" for now
that'll have your 2019.03.1 and 2019.03 as well as older ones
ryanth timotimo: Cheers, I'll check that out.
jast I wanted to write an extension recently to interact with a native program via the filesystem, but that would have required me to write a second native program that implements the WebExtensions native messaging interface and that does all the heavy lifting 11:01
timotimo jast: there are many programs that you can just natively use via a simple JSONRPC API for full filesystem access 11:01
many of which tend to already be installed on a regular user's system 11:02
i don't remember what exactly it was, but i think some antivirus solution had that feature
jast but you can't just launch arbitrary binaries in WebExtensions
it's all incredibly tedious
to get any native access at all you need to deploy a binary of your own, along with a manifest file put in a specific location 11:03
or something like that. I read through the docs and immediately decided not to bother with it
jast instead I made a separate HTTP application server that my extension would communicate with, that way I "only" had to disable the browser's restrictions about secure pages not being allowed to connect to plain HTTP websockets (even on localhost, even within an extension) 11:04
timotimo other programs get around that problem by installing their own root certificate in the user's system :) :) :) 11:09
jast timotimo: gosh, why didn't I think of that :) :) :) 11:14
I'm all in favour of installs requiring elevated privileges all the time, conditions users to just confirm all the prompts which can only be a good thing 11:15
timotimo it's so hilarious when software to make browsing more secure ends up just putting a root certificate on your system *including the private key* which is *the same on all machines* 11:16
jast plot twist: it's the same root certificate they use in their CA business 11:17
timotimo that didn't actually happen, right?
jast no, but I recall one of the big names accidentally included their code signing key in a public repo once
timotimo ouch. 11:18
jast it's amazing enough how many developers just version control *everything*, including the config files containing secrets 11:19
timotimo does github nowadays automatically point out when you're uploading something with "START SECRET KEY" in it or something? 11:21
jast beats me... I never do that :)
timotimo i seem to recall a pre-made url for the github search that would just find every private key on the whole site
jast because I don't make mistaeks
timotimo oh, that's good
jast I'm infallable
timotimo but do you actually do stuff? 11:22
jast sure
timotimo OK
jast all those youtube videos don't watch themselves
pmurias jast: developers.google.com/web/updates/...able-files 11:29
tbrowder SmokeMachine: i forgot to also give credit to "Learning Perl 6" by brian d foy for clear discussions and examples on grep and map. 12:09
SmokeMachine :)
lizmat weekly: neopythonic.blogspot.com/2019/03/w...seful.html 12:19
notable6 lizmat, Noted!
lizmat weekly: medium.com/@elizarov/types-are-mov...c0ef31dd4a 12:20
notable6 lizmat, Noted!
jast pmurias: right, that actually looks more useful than I expected... so we may have usable filesystem access at some point in the future at least :) 12:24
quipa hello, trying to get zef working on a linux mint, but having some trouble 12:56
used the git approach 12:57
but terminal doesn't seem to find it after that
made a little hack, maybe not the best way but added a link .perl6/bin/zef to .local/bin/zef and added .local/bin to my PATH variable 13:06
if there is a more sensible way to do this please let me know! ;) 13:07
sena_kun I think the easier thing is to add .perl6/bin to path. 13:08
sena_kun my $PATH has both .local/bin and .perl6/bin, for example. 13:08
quipa hum yeah true! 13:10
think I'll do that ;)
chee timotimo: github email you about it if you accidentally commit credentials now. they also tell you give you advice on how to recover from the situation you've put yourself in 13:33
timotimo that's laudable! 13:57
antoniogamiz hi o/ 15:44
sena_kun o/ 15:46
antoniogamiz someone know why zef install Pod::Cached doesnt found the module?
sena_kun modules.perl6.org doesn't know such a module.
antoniogamiz, where is the module released? github-based ecosystem? cpan?
antoniogamiz perl6 ecosystem says in its repo 15:47
sena_kun just looked at "provides" section, I am seeing some issues... 15:48
sena_kun s/seeing/spotting/ 15:49
though the module installs fine locally.
antoniogamiz I will install it locally then :) 15:50
sena_kun I think something goes wrong because of raw.githubusercontent.com/finanaly...META6.json content. 15:50
sena_kun but cannot spot what exactly can lead to its absence, alas. 15:51
antoniogamiz should I open an issue? 15:53
sena_kun likely "yes". I'd check it with META6 testing module. 15:54
maybe it'll be able to spot something obvious. :)
sena_kun though I am sure that with a serious issue we wouldn't be able to install it locally, hmm. 15:54
antoniogamiz where can I find that module? :oo 15:57
ah Test::Meta haha 15:58
sena_kun right, that's it. Sorry I didn't remember how its called exactly. :| 16:00
antoniogamiz pastebin.com/ee5mPa9F 16:03
sena_kun ># github source github.com/finanalyst/pod-cached needs to end in .git 16:04
I think that may be the culprit.
antoniogamiz oh I didnt read that...
sena_kun antoniogamiz, so you can create an issue and file a pull request.
and when it'll be accepted, we'll see if that helps. :) 16:05
sena_kun fixing both "author" field and "source-url" field, I think. 16:05
antoniogamiz done :) 16:09
sena_kun antoniogamiz++
antoniogamiz thanks for the help
sena_kun you are welcome. 16:10
antoniogamiz I gotta go, have a nice day with perl6 c: 16:14
lizmat and another Perl 6 weekly hits the Net: p6weekly.wordpress.com/2019/03/18/...te-course/ 16:14
sena_kun lizmat, `GraalVM is delivering by .` tweet misses its author. 16:21
lizmat fixed # sena_kun++ 16:22
sena_kun lizmat++
lizmat pings moritz 16:29
moritz hm? 16:30
lizmat P6W :-)
moritz right, rw-twot 16:31
lizmat moritz++
AlexDaniel .tell jmerelo see news.perlfoundation.org/2019/03/gra...omple.html 16:46
yoleaux AlexDaniel: I'll pass your message to jmerelo.
AlexDaniel jmerelo: ah, you're here
jmerelo AlexDaniel: right
yoleaux 16:46Z <AlexDaniel> jmerelo: see news.perlfoundation.org/2019/03/gra...omple.html
AlexDaniel jmerelo: I'm thinking you might have a couple of good words about creating a separate website that is disconnected from the docs…
jmerelo AlexDaniel: I would very much prefer help with the docs, of course. 16:56
jmerelo Maybe someone with the privs would help flesh out this StackOverflow page? stackoverflow.com/tags/nqp/info 17:02
It's got exactly 9 questions tagged so far, but that does not mean some documentation will not help 17:03
Ditto for Cro: stackoverflow.com/tags/cro/info (14 questions so far) 17:04
kawaii timotimo: don't suppose I can annoy you sometime this week about using your library (cairo) in part of an upcoming feature in one of my Discord bots? Want to generate an SVG image on the fly using it based on a template SVG + some data (such as user level and experience points) which will determine the size and text of some other attributes :) 17:28
timotimo i'm not entirely sure cairo is the right library for that job 17:29
kawaii github.com/moritz/svg 17:31
kawaii it's possible this will do what I need 17:31
timotimo that may mostly be useful for writing a full svg document from scratch 17:37
kawaii Hmm, can't find anything in the ecosystem for using an existing template, unless I basically generate the image from scratch based on this template each time 17:43
timotimo ah what the hell just regexp it :D :D :D 17:44
Geth doc: be2f355aff | Coke++ | doc/Type/Collation.pod6
fix example compilation
17:45
doc: e3b3b0f932 | Coke++ | doc/Language/5to6-nutshell.pod6
pass link test
antoniogamiz tbrowder: Hi! I want to tell you that I'm writing my proposal here: github.com/antoniogamiz/perl6-gsoc.../README.md 17:54
so if you want to give me some feedback about it I'm all ears c: 17:55
.seen finanalyst 17:57
yoleaux I saw finanalyst 1 Jan 2019 05:30Z in #perl6: <finanalyst> Zoffix: I came on to ask about why docs.perl6.org was down, and you just fixed it. Thanks. Sort of faster than light for me :)
antoniogamiz uoh, that was a long time ago, I wanted to tell him about the proposal too 17:58
xinming wishes Zoffix can be back to #perl6 :-) 18:07
tbrowder antoniogamiz: hi! welcome! finanalyst is moving back the UK from the other side of the world, so i'm not sure when we will be hearing from him. jjmerelo is probably the one most familiar with the state and direction of his work today. ref your proposal, it looks like a decent start but will need to be more detailed i think. have you looked at examples of projects accepted for gsoc? have you been able to follow at least some 18:13
part of the thread of finanalyst's discussions on his work on the docs?
antoniogamiz tbrowder: yep it's quite sort for the moment, I plan to have a meeting with jmerelo and I wanted that you knew about my proposal because you are a mentar too 18:19
tbrowder ok, thanks. i'm really more of a draftee assistant! :-) 18:20
antoniogamiz tbrowder: ah ok, anyway it's good to know your opinion :) 18:21
referring the thread of finanalyst's discussion, i only have seen the redesing proposal and how are made some modules used to generate the docs 18:22
antoniogamiz I gotta go, I'll be back at night :) 18:30
Kaiepi why is &chdir in PROCESS instead of CORE? 18:48
tbrowder antoniogamiz: ref your timeline, doesn't gsoc go through june? 18:56
tbrowder .ask antoniogamiz ref your timeline, doesn't gsoc go through june? 18:57
yoleaux tbrowder: I'll pass your message to antoniogamiz.
jmerelo tbrowder: right. Starts at the end of may /cc antoniogamiz 19:11
momozor p6: say 'hi'; 20:15
camelia hi
timotimo o/ 20:27
discord6 <Vendethiel> \o 20:29
timotimo discord6: invite
^- it'd be cool if the bot responded to this with an invite link
momozor p6: my @l = 1..5; for @l -> $x { say $x } 20:36
camelia 1
2
3
4
5
momozor p6: my @l = 1..5; for @l -> $x[-2] { say $x[-2] } 20:37
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of a negative -2 subscript to index from the end; in Perl 6 please use a function such as *-2
at <tmp>:1
------> 3my @l = 1..5; for @l -> $x[-2]7⏏5 { say $x[-2] }
Geth doc: pmqs++ created pull request #2681:
Typo
20:40
doc: e654aa13a2 | (Paul Marquess)++ (committed by timo) | doc/Language/structures.pod6
Typo (#2681)

  "ts" should be "it's"
20:42
doc: 6f1c339617 | Coke++ | doc/Type/X/Proc/Async/BindOrUse.pod6
compile signature

Note that it compiled fine on its own, but caused an issue when a full <make xtest> was run, presumably due to interaction with other overrides.
20:43
hankache hello #perl6 20:48
yoleaux 17 Mar 2019 05:47Z <AlexDaniel> hankache: yes? :)
antoniogamiz tbrowder: yeah I know but as I said, the proposol is not finished 21:13
yoleaux 18:57Z <tbrowder> antoniogamiz: ref your timeline, doesn't gsoc go through june?
antoniogamiz proposal* 21:14
I only wanted you to know that I'll be doing it in that repo, so you can check it to see if you like it 21:15
because jmerelo told me that I should talk with you and richard
discord6 <Rogue> Where might one use the anon declarator? I can't think of any non-trivial use case for it, but I'm sure there is one 22:00
discord6 <Vendethiel> I use it often for regex, sometimes for subs 22:02
<Vendethiel> Sometimes I just use ::
moritz you use anon when you want to create something that knows its own type, but don't want to install the name 22:03
m: my $cb = anon sub destroy-the-world() { die "fuuuu" }; say $cb.name
camelia destroy-the-world
moritz this makes debugging in callback hell a bit easier
timotimo that knows its own name* 22:06
you can have multiple declarations with the same name in the same scope, too, without issue
tbrowder antoniogamiz: i am watching your p6 repo and will try to visit often 22:12
antoniogamiz tbrowder: ok, thanks :) 22:15
night c: