»ö« 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.
lucs Darn oh darn (pre-edited paste incoming:) 01:17
Darn oh darn (pre-edited paste incoming:)
Last Friday, after years of building my perl6 from the repo's latest source, and panda/zef'ing the modules I want (
Absolutely perfect bad timing :)
Now I have a project that is in a kind of limbo.
I thought things might have been back to normal today, but it appears that the problem might be more serious than r
Best of luck to moritz et al. in fixing things.
lucs goes back to drinking beer and listening to Schubert/Richter.
Bleah! Awful paste.
I thought things might have been back to normal today, but it appears that the problem might be more serious than requiring just a reboot, eh (else we'd have everything back, right?). 01:18
Last Friday, after years of building my perl6 from the repo's latest source, and panda/zef'ing the modules I want (worked pretty much flawlessly), I had a need for something more stable, so I went to get a Rakudo Star.
(reorder bitte)
ToddAndMargo Help! Anyone on newbie duty tonight? 02:19
I just upgraded from rakudo-pkg-Fedora29-2018.11-01.x86_64.rpm to rakudo-pkg-Fedora29-2019.03.1-01.x86_64.rpm and now -M does n ot work in my one liners or my programs
$ perl6 -M/home/CurlUtils.pm6 -e 'say "x";' ===SORRY!=== Could not find /home/CurlUtils.pm6 at line 1 in: inst#/home/tony/.perl6 inst#/opt/rakudo-pkg/share/perl6/site inst#/opt/rakudo-pkg/share/perl6/vendor inst#/opt/rakudo-pkg/share/perl6 ap# nqp# perl5#
$ perl6 -M/home/CurlUtils -e 'say "x";' ===SORRY!=== Could not find /home/CurlUtils at line 1 in: inst#/home/tony/.perl6 inst#/opt/rakudo-pkg/share/perl6/site inst#/opt/rakudo-pkg/share/perl6/vendor inst#/opt/rakudo-pkg/share/perl6 ap# nqp# perl5# 02:20
$ ls CurlUtils* CurlUtils.pm6
This has broken virtually everything I have writen 02:23
ugexe I'm surprised that ever worked. -M does not do `require`, it does `use`. And you cannot `use` a path (although you can `require` one) 02:55
you could do `perl6 -I /home -M CurlUtils -e '...'` but you should really keep your modules in their own directory 02:57
ToddAndMargo qill do
$ perl6 -I /home/linuxutil -M CurlUtils -e 'say "x";' ===SORRY!=== Could not find CurlUtils at line 1 in: file#/home/linuxutil ... 02:58
It says it can not find it in `file#/home/linuxutil`. It is in "directory" not "file"
ugexe if i create that same directory and put a file called 'CurlUtils.pm6' in it it works for me 02:59
ToddAndMargo $ perl6 -v This is Rakudo version 2019.03.1 built on MoarVM version 2019.03 03:00
This all worked for me int the prior version. What is your version?
ugexe what worked before was not defined behavior. if someone told you to use -M with an absolute file path they were wrong 03:01
its still not clear to me how it ever worked
and i have all versions available to me 03:02
did you actually put the file CurlUtls.pm6 inside /home/linuxutil ? 03:03
ToddAndMargo `-M./CurlUtils`, `-M CurlUtils`,` -M/home/linuxutil/CurlUtils`, `-MCurlUtils` does not work 03:04
$ ls /home/linuxutil/CurlUtils.pm6 /home/linuxutil/CurlUtils.pm6
yes
`file#/home/linuxutil` is not the name of the file but the directory! Did I just find a bug?
ugexe no 03:05
ToddAndMargo what version are you on? 03:07
ugexe i have every version 03:08
-M $absolute-file-path has *never* worked
i just tested from 2017.03 to 2019.03 03:09
so you must be mistaken
ToddAndMargo testing something 03:10
lets move off of -M 03:13
# cat eraseme.pl6 #!/usr/bin/env perl6 use lib '/home/linuxutil'; use PrintColors;
# eraseme.pl6 ===SORRY!=== Could not find PrintColors at line 3 in: file#/home/linuxutil
This was a three liner. Still it thinks /home/linuxutil is a file 03:14
This has broken ever single program I have written with a custom module. I am in MAJOR trouble 03:15
ugexe what files are in "/home/linuxutil"? and stop editing the path i know your home path is tony from the error messages and omitting information is only going to make this harder for me to figure out what is a mistake and what is an error 03:23
ToddAndMargo linuxutil contain all my pl6 and pm6 programs that I have written. "tony" is one of the user names on my machine, along with "todd" and "bozo" 03:24
ugexe you need to be more precise with your answer 03:25
ToddAndMargo $ eraseme.pl6 ===SORRY!=== Could not find PrintColors at line 3 in: file#/home/linuxutil/* inst#/home/tony/.perl6 inst#/usr/lib64/perl6/site inst#/usr/lib64/perl6/vendor inst#/usr/lib64/perl6 ap# nqp# perl5#
ugexe what files are in /home/linuxutil specifically
ToddAndMargo What information did I omit that you need? 03:26
ugexe i'm going to bed in a few minutes, you can tell me the files if you want 03:27
ToddAndMargo all my *.pl6 and *.pm6 files. Would a directory listing help? 03:29
ugexe yes
ToddAndMargo vpaste.net/Gzgpa 03:31
ugexe ok here is the problem
there is a META6.json file. *if* the directory pointed at by file#/home/linuxutil has a META6.json it will only consider files that are listed inside of it 03:32
you can either delete that META6.json, or move it into its own folder with whatever files it is associated with
ToddAndMargo $ gls meta META6.json.000 [tony@rn6 linuxutil]$ eraseme.pl6 ===SORRY!=== Could not find PrintColors at line 3 in: file#/home/linuxutil/* inst#/home/tony/.perl6 inst#/usr/lib64/perl6/site inst#/usr/lib64/perl6/vendor inst#/usr/lib64/perl6 ap# nqp# perl5# 03:33
No joy
ugexe you still have to -I /home/linuxutil 03:34
ToddAndMargo Wait. I made a booboo.
ugexe the * yeah
ToddAndMargo I still had `/*` in the eraseme test
Everything is working correctly now. I owe you one! 03:35
Well, now back to -M 03:36
$ perl6 -MCurlUtils -e 'say "x";' ===SORRY!=== Could not find CurlUtils at line 1 in: inst#/home/tony/.perl6 inst#/usr/lib64/perl6/site inst#/usr/lib64/perl6/vendor inst#/usr/lib64/perl6 ap# nqp# perl5#
hwo do I fix -M
how do I fix -M?
ugexe ...again you still have to -I /home/linuxutil 03:39
ToddAndMargo That worked. What is the dirrerence between -M and -I. Also is there a list of these somewhere? 03:40
ugexe -I is like “use lib ‘...’” and -M is “use ...” 03:41
ToddAndMargo Okay. I just check my one liners notes.
$ perl6 -I. -MRunNoShell -e ' 03:42
I totally missed the -I
Thank you! I looked all over the perl6.org docs and did not find a reference to the command liek switches. Am I blind? 03:44
ToddAndMargo Something else broke. Perl6 now thinks my Pause.pm6 is perl5. 03:54
$ perl6 -I. -MPause -e 'Pause("abc");' ===SORRY!=== Error while compiling -e This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style declaration like "unit package Foo;" or "unit module Foo;", or use the block form instead of the semicolon form. at -e:1 ------> package Pause;⏏<EOL>
If I load it up to vpate, would someone take a look? 03:55
would this be doing it? `use Term::termios;` 03:58
$ perl6 -c Pause.pm6 Syntax OK 04:01
ugexe The error has told you exactly what is wrong and how to fix it
package Pause; — wrong. unit package Pause; — correct 04:02
I’m not sure how that ever worked for you prior either
ToddAndMargo THe name of the moduel is Pause.pm6 and the exported sub is also called pause. Let me change its name 04:06
ToddAndMargo make no difference. I do ot hae the text "package" anywhere in my pm6. Would a vpaste help? 04:07
wait a minute ... 04:10
ToddAndMargo Put `unit module Pause` at the top. Made no difference 04:11
None of my other (working) modules have this at the top 04:12
$ perl6 -I. -MPrintColors -e 'PrintRed("abc\n");' abc
ToddAndMargo Why does this work: $ perl6 -c Pause.pm6 Syntax OK 04:14
ugexe I would suggest being more careful. You claim there is no text “package” in your pm6, but there very clearly is as shown in the error 04:15
at -e:1 ------> package Pause;⏏<EOL>
The compiler is not just making up that code
ToddAndMargo Let me do another text search. The word `package` does not appear in my code. Would a vpaste help? 04:17
"Pause" does. I changed the name. No joy, so I changed it back. 04:18
Ah <explitive deleted> !!!! Figured it out. The new update of perl6 can not tell the difference between "Pause.pm" and "Pause.pm6" AAAAHHHHH Ths is goig to really hurt me. 04:21
How do I fix this besides renaming all my Perl 5 moduels?
Would yo report this as a bug against $ perl6 -v This is Rakudo version 2019.03 built on MoarVM version 2019.03 implementing Perl 6.d. 04:24
ugexe Don’t put perl5 and perl6 modules in the same directory 04:25
ToddAndMargo That is going to hurt me bad. Is there a way to specify the extension in "pm6" and not "pm"? 04:26
ugexe You are going to have to organize your project properly. 04:27
we’ve already worked through two issues caused by that. This is yet anktger 04:28
another
anyways im 04:29
going to bed
ToddAndMargo This is a revison regression. Will you put it on the list to fix?
ugexe no. long story short i don't agree with that based on the inconsistencies it involves. and i say this as the person who would be responsible for deciding how to "fix" it 04:31
someone else is welcome to put it on the list, but i would end up arguing against the "fix" 04:33
ToddAndMargo From my stand point, it use to work, now it does not. It should be fixed, not have everyone tear through hundered of programs 04:34
ugexe note that the behavior you request is not specced
ToddAndMargo Thank you for all the help!
ugexe you were relying on unspecced and undocumented behavior 04:35
ToddAndMargo Does the spec say to first read "pm" and then "pm6"?
ugexe no, it does not say what it must do
if i had my way .pm would not count as a perl6 module period 04:36
ToddAndMargo Jsut an idea, but how about allowing for specifying the extension? `use CrulUtils.pm6`
ugexe require CurlUtils.pm6
require "CurlUtils.pm6".IO; or some such 04:37
ToddAndMargo RFE: only read "pm6", unless an extention to be added is added to the name.
ugexe all sorts of magical rules only make it harder for people to know wtf is going on 04:38
ToddAndMargo Judging by the confusion it just cause me (an amature) and you (a genius), not making this a hard and fast rule will cuase tons of confusion down the road. And most of your P6 customers are coming fom p5 too! 04:40
ugexe it is confusing for you because you have one directory with like 50 scripts, 10 perl6 modules, 10 perl modules, and no organization. 04:41
if you organized things just a bit things would simply fall into place 04:42
guifa Is there a way to autovivify hashes overriding scalar values that may be present?
p6: my %h = (a => 1); %h<a><d> = 2; 04:44
evalable6 (exit code 1) Type Int does not support associative indexing.
in block <unit> at /tmp/JZRSlpVrBO line 1
guifa knows why it’s happening just curious if there’s a way to avoid it particularly in heavily nested hashes
ToddAndMargo And who coming from Perl 5 is going to know this when it is PRESUMED that pm6 is for Perl 6 adn pm5 is for Perl 5? Not to mention the this is a regresson. 04:46
ugexe if you organized your perl 5 modules in idiomatic perl 5 way you would also not have this problem 04:47
ToddAndMargo meaning, move them to a perl5 module directory. AND REWRITE TONS of previously functioning code. It is a good idea, but Perl 6 should also be fixed. 04:49
ugexe if moving the modules locations requires rewriting TONS of code, there is something seriously wrong 04:51
ToddAndMargo I have to go through each perl5 program one at a time and change the custom module directory. And not just on my machine either! 04:52
ugexe it would be smarter to use `perl -I /new/path myscript.pl` 04:53
this requires changing no code
ToddAndMargo I only use the one liners as tests. My programs are *considerably* longer. 04:54
ugexe so?
that changes nothing with what i showed
ToddAndMargo Still a pain in the neck. Did you also notice a ton a bash scripts in that directory? pm6 worked, now it doe not. I am now arguing that what yo say is not a good idea, but the regression should be fixed and everyone working in both Perl 5 and Perl 6 should not have to going and change their stuff. 04:56
ugexe and certain programs worked until hash randomization was added 04:57
progress will not always work out well when you are relying on buggy behavior
ToddAndMargo You need to specifically specify in the specification what the extension is. 04:59
ugexe if you insist on having the terrible project structure then indeed add a META6.json and add each file to the META6 provides
ToddAndMargo Just fix it 05:00
ugexe no
ToddAndMargo Pretty please? 05:01
ToddAndMargo 60 p6 program to fix. Bummer 05:03
elcaro guifa: What do you want to happen to the `1` value in your hash. you just wan't to overwrite it?
guifa: I don't think there's a simpler way than having to check what's at that key first, eg: if %h<a> ~~ Associative { %h<a><d> = 2 } 05:06
guifa elcaro: Yeah, that’s what I ended up doing 05:07
It’s not the worst subroutine in the world to have, but an :overwrite adverb would be cool
tio.run/##XY/BDoIwDIbP21P0QgCDJGri...uAb05By7g8 05:08
elcaro I was tackling something maybe similar recently, putting text into a nested data structure based on the text indentation 05:14
This didn't solve my problem (and doesn't solve yours) but i came up with something while i was mucking around. dunno if it's any use at all, but it's interesting... gist.github.com/0racle/e074c2d6634...9a4030486c 05:15
guifa The issue I’ve come across is that I’m importing some cascading-ish files. 05:18
(loading one, saving, then loading another one on top of the first, then saving as a separate file)
Some of the values are aliases that are saved as scalars because bound values don’t dump too well. But the overlayed file might define concrete values (in a more nested hash structure) and that requires clearing out the alias scalar 05:20
holyghost guifa : AFAIK from e.g. guile, you cannot just bypass types in a typed or untyped language 05:25
thus your override keyword 05:26
you cannot dispatch an untyped syntax as it is some sort of type inside your interpreter 05:28
you can change them at will though
guifa Yeah. I mean I know when you do {…}{…}{…} you’re technically doing three separate method calls that are chained, rather than a single call that knows you’re asking for something three levels deep. Hence the issue that for most people rarely comes up 05:31
holyghost this is daft at runtime 05:33
holyghost id in objective C might do it 05:34
elcaro guifa: Yeah my problem was different, so I'm not sure how much of it maps to your problem, but shoehorning one of my solutions onto yours... i basically stored all my "values" as keys to a new nested hash
like so: tio.run/##VY7RCoIwFIbvz1P8FxM1LKmg...YvKaU0J4Aw
but for my problem, i only cared about whether a key existed, so values were not so important for my task 05:35
holyghost this is something as access in UNIX, which you do not have to do when opening a file 05:39
it depends on the system you want, if you lookup a key you should type or not
If you shift keys you can use them in a typed variable for e.g. storing a string (char *) as an integer 05:41
there's probably a ctach to bypass the type, bu I do not know it, as you were searchinhg for presumably 05:42
s/ctach/catch
The above char * routine is probably not done at runtime 05:46
you can write your own with the basics I guess 05:47
The above is fast code
holyghost Probably the key of your hash is already typed by its value data structure 05:51
which is probably how it works
access by value or reference e.g. for a hash 05:56
you only have 3 basic types ($,@,%) in perl6 *lol*
which you access at runtime but you do not have runtime code which changes type 05:58
For elisp that would be the wrong thing to do 05:59
So I am just talking emacs lisp and guile :-)
rms wrote elisp this way and Wingo guile 2 06:06
If you want an example, look at my forty-two.sf.net, a flight sim which uses guile 1.6 for scripted levels 06:07
this would be libperl6.so 06:09
which is of course ridiculous :-) 06:10
IF you look at some tutorials of embedded guile, you can see a list processor system for types on scheme which is basically a non-typed language 06:14
this should be the same for perl6 as you have features to change type 06:16
ufobat__ are there any news regarding the infrastructure outtage? 06:54
p6c.org is still unavailable?
lizmat hopes that moritz will be able to give an update today 07:45
cpan-p6 New module released to CPAN! LogP6 (1.5.1) by 03ATROXAPER 08:36
atroxaper .tell lizmat You ask me about writing a blog post about LogP6. I did it if form of repository and step-by-step README. github.com/atroxaper/p6-LogP6-Blog-Example I do not know where can I post the readme as blog. Maybe you suggest me something. 09:05
yoleaux atroxaper: I'll pass your message to lizmat.
moritz weekly: github.com/atroxaper/p6-LogP6-Blog...ple#readme 09:18
notable6 moritz, Noted!
rindolf hi all! is the hosting fixed? 11:45
moritz timotimo++ has provided emergeny hosting 11:46
and I have an appointment in the DC tomorrow
sena_kun rindolf, hi. as far as I know, only domains DNS were updated to point to a backup IP. haven't heard news about the main server yet.
moritz a simple power cycle hasn't helped :( 11:47
sena_kun :(
moritz so need to connect to the console tomorrow, and see if I can get any mileage out of it
sena_kun moritz++
rindolf moritz: thanks 11:48
lucs moritz++ Good luck!
rindolf docs.perl6.org/ seems to work now 11:49
sena_kun: thanks
timotimo: thanks
timotimo sena_kun++ # the actual emergency hosting provider 12:06
sena_kun .oO ( setting up all necessary sites is way harder than clicking a bunch of buttons in digitalocean admin panel. :p ) 12:08
timotimo but i'm not actually hosting anything :) 12:13
sena_kun well, true 12:14
timotimo stop trying to evade praise :D
timotimo had you not gone ahead setting the server up and beginning with the first site, i might not have found the motivation/energy/courage to go through with the whole thing 12:14
sena_kun I can agree that work was done by people, including me, you, moritz and all who helped with that. Now we just have to discuss what can be done next to improve the state of things. :) 12:16
moritz there are some things we could do 12:17
timotimo we'll have one container (or a kubernetes swarm configuration or whatever) that lets us deploy one entire perl6.org and rakudo.org with one command
moritz the first is to create some automation 12:18
I'm more old-school, I could help with Ansible playbooks, for example
timotimo also, have a DNS server of our own that the current perl6.org defers to, that's what an NS entry does, right?
moritz though I can try my limited container knowledge as well
sena_kun timotimo, is it described at the ticket?
timotimo no, i just made that up
moritz timotimo: you mean a hidden primary?
timotimo could be totally useless :) 12:19
moritz: i don't know enough DNS to speak to that, but .. probably?
rba I've some DNS hosting I can offer and some virtual servers.
timotimo anything that lets more of us set the records in the DNS so we don't have to rely on someone else
rba Still on the go to containers as well...
moritz or we could ask TPF folks if there is a faster way to get access the zone editing stuff
timotimo i won a devops book from oreilly during the gpw near köln :) :) 12:20
rba moritz: I think this should be the first step anyway.
sena_kun hmm, just me or github is down...
moritz there are two things with DNS that could work: the first is to delegate the perl6.org to some DNS servers we control
timotimo seems to work for me, sena_kun
moritz that would mean we need to provide two public DNS servers though
sena_kun timotimo, I guess, anyway, I think you might find interesting to write out some of your thoughts at github.com/perl6/problem-solving/issues/9 12:21
moritz the second is a hidden primary, meaning that whoever currently hosts the DNS for perl6.org continues to do so, but asks a DNS server under our control for the contents of the zone, periodically
sena_kun so we could make a plan, document it somewhere, evaluate if it's any good or something, and next write & configure & host. 12:22
moritz do we want a separate repo for that? 12:25
jnthn Maybe start on problem-solving? 12:26
sena_kun we can do, maybe for Dockerfiles or instructions or something, but I would expect writing out a plan firstly
jnthn, AlexDaniel++ already did, github.com/perl6/problem-solving/issues/9
tbrowder \o/
sena_kun I just try to encourage people to write their thoughts on this matter there. :)
tbrowder i have two prs at pod::treewalker needing a fresh look 12:27
v-zor Can't locate ExtUtils/Command.pm in @INC in install of 2018.10 on fedora 12:47
moritz v-zor: you need to install the Perl 5 module that contains ExtUtils::Command, since Fedora ships with a crippled Perl 5 by default 12:48
v-zor thx
v-zor I see, there's multiple perl-X modules I need to install with dnf, I'll cope I guess 12:55
If anyone wants to know, Clementine music player with icecast inet radio dir is ok 12:59
everything from 79-2000ies 13:00
pmurias is our #perl6-dev commit irc bot alive? 13:04
timotimo no, it used to live on hack.p6c.org
cpan-p6 New module released to CPAN! Pod::Render (0.7.4) by 03MARTIMM 13:05
v-zor lol
v-zor cpan-p6 is for cpan commits 13:08
perl6 'make' on fedora 29 ... 13:14
tyil v-zor: cpan-p6 notifies about new uploads to CPAN
not on individual commits on modules
v-zor I see 13:15
tyil pmurias, timotimo: I can probably host an additional bot in my k8s cluster, if I know where the sources for that bot are
v-zor tyil : which commits ? 13:17
tyil ?
v-zor I only see cpan commits here 13:18
tyil you mean cpan-p6's output?
v-zor for example
you said 'individual commits' 13:19
nm 13:20
tyil most Perl 6 modules are in git repositories, which contain commits (a commit is a change in the source code), but cpan-p6 doesn't track those
v-zor ok, now I understand
tyil cpan-p6 only displays a message when someone releases a new version of their module
:)
v-zor sure, but the git repos should be leased then
tyil cpan-p6 doesn't know about the origin git repo, if any 13:21
v-zor I live on Xliff's server, private git server, we should get ourselves in if we release some software :-)
tyil it only knows about releases uploaded to cpan 13:22
if you upload your module to cpan (which can be done with a number of tools, such as App::Assixt or App::mi6, or manually), cpan-p6 will display a message about it
v-zor I know :-)
I upload on a mac Safari file copy 13:23
timotimo tyil: the repo should be called "geth", i'd assume
tyil ah, Geth
github.com/perl6/geth this one 13:24
v-zor ok
Could you guys let our server of Xliff in ?
There's some hacks for linux in there 13:25
anyway I need to have Xliff's permission
tyil I'm not sure what you mean by "let our server in"
v-zor the server is kinda ultra :-)
tyil : searchable by your bot 13:26
Ulti with all the recent website problems is someone already aware of this erroring out? rakudo.perl6.org/downloads/star/
the base domain is up
pmurias what happened to our server btw? 13:26
v-zor hail. 13:27
tyil good to see the main site is up :>
v-zor Ulti : it's down
timotimo Ulti: what links to that address?
pmurias tyil: up 13:27
Ulti timotimo: p6env
;)
timotimo i wasn't aware rakudo.perl6.org exists at all
pmurias tyil: github.com/perl6/geth
v-zor aaagh web problems 13:28
tyil pmurias: yes, I found it, I should have time tomorrow afternoon to setup a geth deployment
v-zor coolness 13:28
timotimo Ulti: ctrl-f5 please 13:29
pmurias tyil: I miss the instant gratification of my truffle backend commits being reported ;) 13:32
tyil I just like playing with k8s, so if I can host something I'd gladly see if I can help out 13:33
timotimo i'd appreciate it, but the biggest problem is that all the commit hooks on github use a specific hostname 13:35
via dns, i mean
tyil it's a subdomain, so that can be CNAMEd for least trouble
tyil but that would require nothing else to be using hack.p6c.org rn 13:36
cpan-p6 New module released to CPAN! Pod::Render (0.7.5) by 03MARTIMM 13:39
Ulti timotimo: 404 - Page Not Found the nice kind, rather than scary mojolicious debug info 14:00
v-zor Fedora compile ... stage mast is taking as long time 14:16
v-zor hail. 14:17
uzl m: my regex rgb { \s* [\s* (\d+) \s*] ** 3 % ',' \s* }; "123,23,123".match(/<rgb>/).put
evalable6 123,23,123
uzl m: my regex rgb { \s* [\s* (\d+) \s*] ** 3 % ',' \s* }; my $m = "123,23,123".match(/<rgb>/); $m<rgb>.say 14:19
evalable6 「123,23,123」
0 => 「123」
0 => 「23」
0 => 「123」
uzl m: my regex rgb { \s* [\s* (\d+) \s*] ** 3 % ',' \s* }; my $m = "123,23,123".match(/<rgb>/); $m<rgb>.list.say 14:20
evalable6 ([「123」 「23」 「123」])
uzl How do I get a list of the captures (integers in this case) instead of the submatches?
v-zor electra 14:21
tobs uzl: you can coerce the submatches to string
timotimo Ulti: good 14:22
tobs m: my regex rgb { \s* [\s* (\d+) \s*] ** 3 % ',' \s* }; my $m = "123,23,123".match(/<rgb>/); $m<rgb>».Str.say
evalable6 ([123 23 123])
tobs (you can coerce them all to Int as well, for that matter) 14:23
v-zor Aborting due to test failure: zef:ver<0.5.3>:auth<github:ugexe>:api<0> (use --force-test to override)
where do I put --force-test ? 14:24
timotimo why would you /<rgb>/ instead of just &rgb?
v-zor: zef takes it as an argument, i believe
uzl tobs: Thanks!
timotimo: I didn't know it could be done that way ;-)! Although it makes since (I guess) `regex {}` is just another type of block. 14:25
Thanks for pointing it out. 14:26
v-zor I'm putting bin/zef --force-test in the Makefile then 14:27
v-zor Failed to get passing tests, but continuing with --force-test 14:29
===> Installing: zef:ver<0.5.3>:auth<github:ugexe>:api<0>
oh I cancelled install because of ctrl-c to copy the above text in here 14:30
great
v-zor double mouse click :-) 14:32
v-zor many failed test on fedora 29 14:35
s/test/tests 14:36
--force-install should be useless :o)
s/:o)/:o| 14:37
every package tests fail 14:39
lol 14:40
installs do not fail
:-)
v-zor Testing [FAIL]: OpenSSL 14:45
timotimo any more specific output? 14:46
v-zor ===> Testing: OpenSSL:ver<0.1.21>:auth<github:sergot> 14:47
===> Testing [FAIL]: OpenSSL:ver<0.1.21>:auth<github:sergot>
Failed to get passing tests, but continuing with --force-test
===> Installing: OpenSSL:ver<0.1.21>:auth<github:sergot>
I might not do a --force-install AFAIK 14:49
Yeah every test fails ...
v-zor as long as I have a perl6 binary I'll be alright 14:51
I might need SDL2::Raw though it won't install 14:52
So I guess the downloads are alright but I need to install from package files 14:56
if perl6 make install finishes I'll try zef by hand 14:57
v-zor Is there an SDL 1.2 perl6 package ? 14:59
timotimo there is 15:00
it's called SDL
v-zor ===> Testing [OK] for Linenoise:ver<0.1.1>:auth<Rob Hoelz>
ok
I'll write something with it, if it installs 15:01
I do not know SDL2 that much 15:02
Can I put a game in a cpan package ? So to run it instead of just being a module ? 15:03
moritz you can 15:04
v-zor thx
I am doing a gargoyle's quest II in C, I have made 2 graphics for it, I might want to transform that to perl6 SDL 15:05
v-zor gargoyle's quest is a splendid game boy classic game 15:05
ghouls 'n ghosts sequel IIRC 15:06
you can run it in GBC emulator
after paying the state :o| 15:07
It's called "Stone Devil - Mongbat's Quest" 15:08
I hope I can do several of those
each with a seperate subquest name 15:09
the C code is artisitic/GPL3
licensed 15:10
v-zor install ing TAP::Harness 15:18
the top command in a shell is handy if you think the install hangs 15:19
===> Testing [OK] for IO::String:ver<0.1.1>:auth<Rob Hoelz>
emulator.perl6.org 15:21
I wanted to do a perl6 NES and GB emulator, I need to have a debuggable system for it though 15:22
on the long run with the perl6 SDl package 15:23
sdl.perl.org is dead :-)
I'm running the above on a intel atom (i386) system 15:24
It has 1GB of RAM
several tests ok in the end 15:25
route show :-) 15:26
I love my Clementine music player 15:28
icecast inet radio :-) 15:29
gets a bit swamped with the install though 15:30
so I turned it off, I'll shut up when I have the compile in order :o| 15:31
fedora 30 betas available :-) 15:32
Alan Cox wouldn't want it another way 15:33
v-zor We are way past his Welsh blog 15:34
It used to be called redhat linux
or yellowdog linux for PPC 15:35
I had it on a G3 desktop macintosh
daxim how do I find out how to pronounce 𫇵? (it's trickier than it seems)
lucs daxim: Not rendering here. What's the codepoint? 15:37
v-zor Rakudo Star has been built and installed successfully.
testing zef install SDL
daxim 2B1F5
v-zor the perl6 REPL works 15:39
v-zor Package SDL-1.2.15-33.fc29.i686 is already installed. 15:41
holyghost .tell Xliff I need to send you 2 ssh-keygens for my netbsd and linux system. We also need to talk about serving from your server as there's going to be netbsd perl6 software 15:43
yoleaux holyghost: I'll pass your message to Xliff.
v-zor ===> Searching for: SDL 15:47
===> Updating cpan mirror: raw.githubusercontent.com/ugexe/Pe...cpan1.json
===> Updating p6c mirror: ecosystem-api.p6c.org/projects1.json
===> Updated cpan mirror: raw.githubusercontent.com/ugexe/Pe...cpan1.json
!!!> Failed to update p6c mirror: ecosystem-api.p6c.org/projects1.json
===> Updating p6c mirror: ecosystem-api.p6c.org/projects.json
Your actions in #perl6 tripped 15:48
automated anti-spam measures (repetition detected),
nice
So now I am a spammer 15:49
raschipi Pasting isn't even allowed in IRC, you should use an external service for that for a start. 15:52
timotimo v-zor: it's considered not polite to be pasting multiple lines at the same time; also the your messages / all messages ratio for the last 2 hours or so have been above 90%, which is not common 15:56
v-zor Installing: SDL:ver<0.2.0> 15:58
I have it
lucs daxim: Is that "boil"?
v-zor I'm afk then
Xliff_ moritz: Are you going to be in Washington, DC? 16:02
daxim lucs, I don't think so 16:03
lucs daxim: Do you have an idea what it is? 16:04
daxim nope
lucs Is it Chinese or Japanese in your context? 16:05
daxim chinese 16:07
lucs Anyway, can't really help you, was just curious to see if I could find the character in my Nelson dictionary (Japanese, and "boil" was the closest I found). 16:09
Xliff Can someone do the following for me? 16:17
yoleaux 15:43Z <holyghost> Xliff: I need to send you 2 ssh-keygens for my netbsd and linux system. We also need to talk about serving from your server as there's going to be netbsd perl6 software
Xliff .tell holyghost Sure! You have my email. Please remember I do NOT have a lot of resources on this VM, so that will limit what can be done. 16:18
yoleaux Xliff: I'll pass your message to holyghost.
raschipi That's like asking someone to pee for you. Doesn't work that way.
Xliff Can someone do the following for me: "zef install Cairo; perl6 -e 'use Cairo; say FillRule.enums' 16:19
sena_kun tries it out 16:20
raschipi Times out for me because I'm behind a firewall.
Xliff sena_kun++ 16:21
sena_kun: I have to leave for an eye appointment, soon. Can you privmsg me the results? 16:25
sena_kun Xliff, sure 16:26
Xliff Thanks! =)
sena_kun np
atroxaper sena_kun: Many thanks to you for your fixes in my logp6 example. I appreciate it ^^ 16:36
sena_kun atroxaper, you are welcome. It was very nice to read and to think we have ideas and implementations(!) for a "proper" Perl 6 logging framework. 16:37
to be honest, I was just too sad with primitive `say "Log line" if $*DEBUG` in my modules. ;) 16:38
atroxaper sena_kun: me too :) 16:39
El_Che I find it strange perl6 hasn't that built-in (it has the rest of the kitchensink) as minimal langs as Go provide a log functionality
raschipi Is logging even available is some Perl6 taget environments? 16:40
in every*
El_Che What is a target environment? 16:41
platform + OS?
raschipi Like, in the Browser. But thinking that way file IO shouldn't be part of Core either.
El_Che welwellwell, it depends on how you defien core. 16:43
sena_kun I don't see Perl 6 as a kitchensink, to be honest. I mean, some things do look like a bit out of the place(though arguably), but we don't have a web server in core or something like that
El_Che Is a supplied lib part of core
std lib
sena_kun: well, t 16:44
that is maybe not a bad idea
add what people will use and will built libs around it
sena_kun there are a lot of types and they are all pretty useful. maybe it is pretty sugared, like we have `while`, `loop`, `for`, but that's how this language is.
El_Che there is lots of stuff around the go tcp/http server/client code 16:45
raschipi No one wanted to take on deciding what should be in a std lib, as I understand the problem.
sena_kun El_Che, not a bad idea - having a web server in core? pls no, just no
El_Che no libs? use core. Want something nicer? Use a small wrapper
sena_kun: it's just an example
sena_kun: do you go after the devops/small-rest-service crowd?
sena_kun El_Che, sorry, what do you mean by this crowd? 16:46
El_Che it's a good fit there, but not everywhere
sena_kun: I mean that the simplicity and the just-the-needed-batteries-included of Go attracted a lot of people creating small rest services and clients 16:47
as a lot of work in the devops world
sena_kun I want to say that having cool types out of the box and a bunch of useful routine to not re-invent the wheel every time is great, but libraries are libraries.
maybe I am just too old-fashioned, of course
El_Che of course you have big projects, but rest is often of the type of glue Perl 5 did in the past
sena_kun: no, I get what you mean 16:48
it's a choice
but I woudln't say Perl 6 matches the minimalistic POV
sena_kun and having high-level stuff in core adds a loooot of complexity to the test suite and the implementation... 16:48
yes, I agree with you
El_Che Go is less expressive, but It has builtin networking
it's a choice
sena_kun it is indeed the opposite of e.g. a Lisp approach, where there are almost no builtins 16:49
but I see it as there is a certain distinction between types that are generic and specific
El_Che e.g., I learnt p5 before p6, like many people, and I thought that p5 was a big language :) 16:50
sena_kun like, if you have a Supply or Int, you can use it in various, really various situations, but if you have a Net::WebServer in core, you cannot really use it as a generic thing
El_Che true
well, take the async/parallel stuff perl 6 has in core
that a pretty much batteries included stance 16:51
El_Che and it's so nice, you won't need to often third party stuff for that 16:51
sena_kun yes, but it is a generic thing, in my humble opinion. :)
El_Che it's opiniated
although a lot of opinions are supplied
raschipi A log module could be includded in R*, but no wants the job of curating what's included.
El_Che Go went the Channels-only way
Perl 6 has lots of stuff to choose from 16:52
raschipi: I don't think that including extra stuff today is the way to go
first concentrate on mwhat's already there
raschipi How many JSON modules are in R*? 16:53
El_Che I never got the concept of R*, besides when noone besides the core devs used perl 6
(== before it was released in 2015) 16:54
raschipi Isn't it what's supposed to be a std lib? Or P6 Boost?
El_Che R* is no stdlib
is a random collection of modules
there is no coherence
no global versioning 16:55
sena_kun well, we can make some
El_Che it's from a time before distros packages perl 6, imho
raschipi Exactly, no one wanted to take the job of making it a coherent collection. 16:56
El_Che it's a huge undertaking
and the world moved to containers and stuff
in the meanwhile
so a mismatch
at least in my usecase 16:57
raschipi world for some definition of world
El_Che the trendy part :)
but I reckon trendy people will use Perl 6
raschipi In my world people are still weary of COBOL because it's too modern.
El_Che and not those maintaining million-lines maintenace proyects
raschipi: :) 16:58
guifa ugh, apparently the XML module isn’t processing some of the CLDR xml files. And somehow I doubt that Unicode is pushing out invalid XML 16:58
El_Che : train arrived at my village
bbl
atroxaper Java has 'Java Logging API' in the core but no one use it for now.
Woodi hi #perl6 :) 18:12
sena_kun Woodi, hi! 18:13
sarna I don't know if you've seen that already, but we're finally on the redmonk programming language rankings :) 18:17
redmonk.com/sogrady/2019/03/20/lan...ings-1-19/
sena_kun sarna, I am afraid it is related to Perl (5), not Perl 6 18:20
sarna sena_kun: nope, Perl is way higher! I specifically contacted them to tell them about our little language :) 18:21
Woodi re R* : a) created "becouse only devs was using 'usable' R" - probably was main reason :) b) curently, usually, R* is a showcase when some bigger features are merges and we are proud of it and want to comunicate this to World ("we" all are proud of it, even if only few of us do real work...) c) so R* is release, why we don't have a rolling distro ?? ;) d) there is no stdlib yet... are we ready for that ? 18:22
sarna Perl5 (just Perl on the chart) is just below PowerShell, above Haskell
sena_kun sarna, hmm, I see Perl at 18, but cannot find "Perl 6" on the page. 18:23
guifa Perl 6 is in the chart
sarna yeah, it's on the chart, they only list top 20 languages
they only list top 20 languages below the plot, I mean :)
guifa just put in a metric ton of work to handle alises in the CLDR main files… for exactly ONE file to use them. could have just saved himself the stress and manually expanded that file 18:24
sena_kun ah, ok
guifa One… out of 754 18:24
sena_kun .note redmonk.com/sogrady/2019/03/20/lan...ings-1-19/ 18:37
hmm...
.weekly
hmm 18:38
MasterDuke i think just 'weekly: <foo>'
sena_kun weekly: redmonk.com/sogrady/2019/03/20/lan...ings-1-19/ 18:39
notable6 sena_kun, Noted!
sena_kun MasterDuke, thanks 18:39
MasterDuke np
patrickb .tell Kiepi Could you review github.com/rakudo/rakudo/pull/2857 ? 19:02
yoleaux patrickb: I'll pass your message to Kiepi.
Xliff m: package TestPackage { our enum Fruit is export <Apples Oranges Pears>; }; 19:11
evalable6
Xliff m: package TestPackage { our enum Fruit is export <Apples Oranges Pears>; }; use Package; sub main { say Fruit.enums; };
evalable6 (exit code 1) ===SORRY!===
Could not find Package at line 1 in:
file#/home/bisectable/…
Xliff, Full output: gist.github.com/fdd29b38575dc6021f...881955d817
sena_kun .oO ( it seems we have technical www.youtube.com/watch?v=rn-wj4pRpIE difficulties )
Xliff m: package TestPackage { our enum Fruit is export <Apples Oranges Pears>; }; sub main { say Fruit.enums; };
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/KCQiERf44y
Undeclared name:
Fruit used at line 1
Xliff m: package TestPackage { our enum Fruit is export <Apples Oranges Pears>; }; use TEstPackagesub main { say Fruit.enums; };
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/mOYd0gGKDH
Undeclared name:
Fruit used at line 1
Undeclared routine:
main used at line 1. Did you mean 'min'?
Xliff m: package TestPackage { our enum Fruit is export <Apples Oranges Pears>; }; use TEstPackage; sub main { say Fruit.enums; };
evalable6 (exit code 1) ===SORRY!===
Could not find TEstPackage at line 1 in:
file#/home/bisecta…
Xliff, Full output: gist.github.com/422cda4b125a43fe7a...5a077a40ed
Xliff m: package TestPackage { our enum Fruit is export <Apples Oranges Pears>; }; use TrstPackage; sub main { say Fruit.enums; }; 19:12
evalable6 (exit code 1) ===SORRY!===
Could not find TrstPackage at line 1 in:
file#/home/bisecta…
Xliff, Full output: gist.github.com/0dbb093c550453054a...22008c24dc
Xliff m: package TestPackage { our enum Fruit is export <Apples Oranges Pears>; }; use TestPackage; sub main { say Fruit.enums; };
evalable6 (exit code 1) ===SORRY!===
Could not find TestPackage at line 1 in:
file#/home/bisecta…
Xliff, Full output: gist.github.com/257fef866aa1818048...d748840d40
Xliff ^^ So how would you get such thing to work?
timotimo: You around? 19:13
guifa Xliff: weird, I’m able to get that to work 19:22
package Test { our enum ABC is export <a b c d> }; use Test; say Test::ABC.enums
evalable6 Map.new((a => 0, b => 1, c => 2, d => 3))
guifa p6: package Test { our enum ABC is export <a b c d> }; use Test; sub main { say Test::ABC.enums }; main() 19:23
evalable6 Map.new((a => 0, b => 1, c => 2, d => 3))
gfldex lolimnihilisticalittle: gfldex.wordpress.com/2019/04/24/ni...pessimist/ 19:24
guifa++ # for asking all the right questions
guifa gfldex: of course when I went back, I realized that the elements WAS in fact returning an empty array. I have no idea what I was doing in the midst of my parsing that was causing me to get an (Any) in there. 19:26
guifa needs sleep. Finals week is just as bad for the profs as for the students.
oh, Xliff: perhaps you need to use ‘import’ instead of “use”: 19:29
p6: package Test { our enum ABC is export <a b c d> }; import Test; sub main { say ABC.enums }; main()
evalable6 Map.new((a => 0, b => 1, c => 2, d => 3))
guifa Tried running some tests to see the fastest way to check for a valid value 19:41
Apparently the fastest to store them as hash keys, and use Hash{$foo}
Followed closely by dumping them in a set and using Set{$foo} (which I think makes sense, since internally isn’t a Set mostly a hash with true values?) 19:42
10x longer is using $foo (elem) Array
but it’s literally 100x longer to store an any junction and do $foo eq $junction (!) 19:43
Creating the junction on the fly $foo eq Array.any is basically identical in (lack of) speed 19:49
El_Che weekly: Perl's decline in fortune was attributed to the uncertainty in its future due to the Perl 5/6 split. www.i-programmer.info/news/98/12710.html 20:01
notable6 El_Che, Noted!
El_Che (it's a bullshit article, but still)
lucasb basically, Perl 6 fucked everything up 20:03
j/k
El_Che they are not
it's a weird article with weird magic metrics 20:04