Geth doc: 93dbf02e35 | (Ben Davies)++ | doc/Language/unicode_entry.pod6
Remove a couple unnecessary lines from XTerm's unicode config

synopsebot Link:
Kaiepi is there a bot that can run code on the jvm or js backend if you tell it to? 00:09
timotimo camelia can, in theory, but i don't think it's set up 00:10
r-j: say "hi"
camelia: help
camelia hi
timotimo: Usage: <(nqp-js|nqp-jvm|debug-cat|rakudo-moar|prof-m|rakudo-jvm|nqp-moarvm|star-m|p5-to-p6|rm|rakudo|r-j|nqp-m|r|p6|nqp|j|rj|sm|p56|perl6|nqp-q|master|star|r-jvm|m|r-m|nqp-mvm)(?^::\s(?!OUTPUT)) $perl6_program>
00:27 mowcat left
Geth doc: 8a3efdecf4 | (Ben Davies)++ | doc/Language/grammars.pod6
Remove some incorrect statements from the Grammars article

The dynamic variables section stated that grammars behave like classes, but they don't; they have a completely different metamodel.
synopsebot Link:
Kaiepi rakudo-jvm: use NativeCall 00:56
camelia ( no output )
Kaiepi oh, that was fixed it looks like
after the change to module exports importing NativeCall on the jvm wasn't working for a while 00:57
kawaii Has anyone got a good way of tracking uptime in a daemonised perl 6 app? :) 01:01
my app goes straight into a react whenever loop at start 01:02
AlexDaniel Xliff: no, sake is an alternative to make 01:03
kawaii: top? 01:05
to see the start time of a process
kawaii AlexDaniel: ah no as in, a timer within the app itself, which would respond to a command :)
sorry for not being clear enough
AlexDaniel kawaii: what about blin? 01:06
kawaii will need to be tomorrow, had some $family issues to deal with today sadly and wasn't able to complete a run AlexDaniel
Geth whateverable: f613a28f59 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Sakefile
Use a regular cross operator instead of Junctions

It used to work but then Sake was changed and it no longer does.
01:13 nepugia left
Geth whateverable: 8299405d4d | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Don't respond to “note:” messages

Seemed like a good idea but nobody uses it in practice. Moreover, people sometimes say “note: blah blah” and it triggers needlessly.
whateverable: ee879b28f4 | (Aleks-Daniel Jakimenko-Aleksejev)++ | xt/notable.t
Test that “note:” definitely does not trigger

02:04 Manifest0 left 02:09 Manifest0 joined 02:19 Manifest0 left 02:20 Manifest0 joined 02:58 Black_Ribbon joined 04:24 Manifest0 left, Manifest0 joined 04:27 curan joined 04:29 aindilis left 04:33 aindilis joined 04:35 curan left 04:37 aindilis left 04:38 aindilis joined 05:03 jmerelo joined
jmerelo releasable6: status 05:04
releasable6 jmerelo, Next release will happen when it's ready. R6 is down. At least 1 blocker. 286 out of 666 commits logged (⚠ 1 warnings)
jmerelo, Details: 05:05
05:15 nadim left 05:26 nadim joined 05:27 robertle_ left 05:46 nadim left 06:05 aborazmeh left 06:09 nadim joined 06:14 reach_satori_ left 06:20 nadim left, ufobat_ joined 06:21 nadim joined 06:24 ufobat__ left 06:27 ufobat_ left 06:35 aborazmeh joined, aborazmeh left, aborazmeh joined 07:07 [Sno] left 07:09 nepugia joined, patrickb joined 07:10 domidumont joined 07:31 zakharyas joined 07:40 antoniog1miz joined 07:49 APic left 08:03 dakkar joined 08:07 scimon joined 08:09 mniip left 08:11 mniip joined 08:14 noisegul joined 08:29 sena_kun joined 08:30 aborazmeh left 08:38 reach_satori_ joined 08:42 dolmen joined 08:44 abraxxa joined 08:45 abraxxa left, abraxxa joined
lizmat weekly: 09:05
notable6 lizmat, Noted!
jmerelo Just one answer to top 200 in the perl 6 user survey! 09:06
Please answer if you have not done so already!
antoniog1miz jmerelo: did you make the PR to Pod::To::Cached? 09:08
jmerelo antoniog1miz: not yet
antoniog1miz: timotimo has already accepted and (I think) released a new version, but I'm busy with other stuff... Will try to do it this morning 09:09
antoniog1miz jmerelo: good 09:10
09:11 Black_Ribbon left 09:25 farcas82regreg joined 09:28 satori__ joined 09:30 domidumont left 09:32 reach_satori_ left
lizmat and another Perl 6 Weekly hits the Net: 10:08
10:32 evalable6 left
sena_kun lizmat++ # great work 10:35
10:36 evalable6 joined 10:51 antoniog2miz joined, antoniog1miz left
jmerelo lizmat++ 10:51
10:54 todoalreadydone joined
todoalreadydone hey everyone! i'm new to perl 6 :) 10:56
jmerelo welcome, todoalreadydone
todoalreadydone i thought perl was a good language for one liners, but my fizzbuzz ended up being 75 lines long. what am i doing wrong?
jmerelo todoalreadydone: he 10:57
todoalreadydone: not _quite_ perl 6, you know ;-)
sena_kun todoalreadydone, you are doing it wrong, you should start with writing moarvm bytecode, it can be aligned in a single line nicely. 11:01
todoalreadydone perfect! thank you
11:01 todoalreadydone left 11:02 dolmen left
jmerelo sena_kun: :-) 11:02
11:04 antoniog2miz left
kawaii AlexDaniel: Blin results in about an hour I think 11:06
AlexDaniel` Yaay 11:19
11:25 antoniog1miz joined 11:36 antoniog1miz left 11:38 domidumont joined, zakharyas left
kawaii ⏳ 1164 out of 1307 modules processed 11:41
12:09 APic joined 12:15 mniip left 12:16 mniip joined
kawaii ⏳ 1276 out of 1307 modules processed 12:16
jmerelo kawaii: yeah! 12:18
12:19 sno joined 12:21 domidumont1 joined 12:23 domidumont left 12:25 sno left
kawaii in the meantime, still learning p6regex, `if $id ~~ / ^'<@' '!'? \d+ '>'$ | ^\d+$ / { say 'yes' }` I don't know if I'm being too verbose - but $id is a param passed into the method, and I'd like to set the value to JUST the \d+, but still match and extract the \d+ from the first match which contains the entire 'tag'. 12:27
they could be either just a string of numbers, `1241242`, or one of two tag formats `<@2423424>` or `<@!23252323>`
jmerelo kawaii: wrap the \d+ in () 12:28
kawaii: the match will go to $/ or will be returned by the smartmatch.
kawaii oooo okay let me try that!
jmerelo kawaii: if you want to extract the whole thing (with alternatives), just wrap it all in () 12:29
kawaii m: my $id = '<@!234234123415>'; if $id ~~ / ^'<@' '!'? (\d+) '>'$ | ^(\d+)$ / { say 'yes'; say $/; }
camelia yes
0 => 「234234123415」
kawaii jmerelo++
jmerelo kawaii: :-) 12:30
12:30 jmerelo left
kawaii AlexDaniel: special delivery! 12:32
12:36 xinming_ joined, domidumont joined 12:38 xinming left 12:39 domidumont1 left 12:50 devmikey joined 12:54 mowcat joined 12:57 dakkar left 12:59 dakkar joined 13:00 molaf joined 13:09 dolmen joined 13:12 devmikey left
Kaiepi if a library i'm writing needs to run a script in a child process, should i still put it in lib even though it's executable or throw it in a blib dir or something? 13:13
it doesn't make sense to put in bin since it's only meant to be used internally
unless there's a way to tell zef not to install certain binaries or something 13:14
13:15 pat_js joined, zakharyas joined 13:22 lucasb joined 13:27 pat_js left, pat_js joined
kawaii based on the help jmerelo gave me earlier, I wrote a method! 13:35
but, $/.Int does not seem to behave as expected
because $/'s type is Match 13:36
and I don't think it can be coerced
13:36 pat_js left
kawaii It also seems to not be stripping the characters I do not want to match 13:36
timotimo in that case you may have to .Str.Int 13:39
timotimo actually looks at the code
you can't .Int it because it's got some junk around the number
kawaii yeah, but my smartmatch should eliminate that, no?
timotimo you're already using ( ) around the \d+, which means you'll probably want to use $0 and $1 instead of $/ 13:40
kawaii so $1 for the result of the ()?
timotimo m: say "<\@1234>" ~~ / '<@' '!'? (\d+) '>' | (\d+) /;
camelia 「<@1234>」
0 => 「1234」
kawaii because $0 would be the entire thing that matched I assume
timotimo m: say "1234" ~~ / '<@' '!'? (\d+) '>' | (\d+) /;
camelia 「1234」
0 => 「1234」
timotimo no, $0 is the first one
oh, both get the 0 because of the alteration? 13:41
13:45 Actualeyes joined
kawaii method extract-id(:$cmd-obj) { 13:46
my $id = $cmd-obj.args;
if $id ~~ / '<@' '!'? (\d+) '>' | (\d+) / {
return $0.Int;
} else { return content => '_sad trombone_ :trumpet:'; }
ugh, client please stop that
moritz timotimo: yes 13:47
kawaii timotimo: my $user-id = self.extract-id(:$cmd-obj); unless $user-id ~~ / ^\d+$ / { return $user-id; }
this works :)
moritz m: say 'b' ~~ /(a)|(b)/; say $0
camelia 「b」
0 => 「b」
timotimo there's no actual need to have the '<@' '!' (\d+) '>' if you also have the (\d+) in there 13:48
and if you just want the string rather than the match, using .comb(/\d+/) is simpler 13:49
13:52 rindolf left 13:56 pat_js joined, rindolf joined
kawaii timotimo: ah thanks, how do I set the minimum length of \d+? :) 13:58
timotimo \d ** {5..*} 14:00
jnthn Any tips on modules for writing XML? (Of course, I find some on; more looking for "I used X and it was good/ok/terrible" :) 14:02
moritz I've used XML::Writer for SVG. It's a very direct Perl datastructure => XML translater without any bells or whistles 14:05
was good for my use case 14:06
jnthn OK...know if it handles namespaces (<foo:bar>?)
moritz it uses pair keys as tag names, so I assume it does, you just have to quote your pairs 14:07
14:11 satori__ left
jnthn ah, I see :) 14:12
I'll give it a go, thanks
AlexDaniel kawaii: come on, install graphviz :) 14:14
kawaii AlexDaniel: ;) 14:16
AlexDaniel Kaiepi: heeyyyy
kawaii I keep missing it because it's not in the readme anywhere 14:17
ah, merged, perfect ;)
AlexDaniel .seen uzluisf 14:18
yoleaux I haven't seen uzluisf around.
AlexDaniel .seen uzl 14:20
yoleaux I saw uzl 30 Jun 2019 00:28Z in #perl6: <uzl> Can somebody show an example of an our-declared class variable and its use across a class hierarchy? As alluded here:
AlexDaniel .tell uzl plz :)
yoleaux AlexDaniel: I'll pass your message to uzl.
AlexDaniel kawaii: what were the endpoints? How did you run it? 14:31
kawaii AlexDaniel: 2019.03 to HEAD
AlexDaniel aaa I'm an idiot I was looking at the wrong file 14:32
14:33 nadim left 14:34 nadim joined
AlexDaniel kawaii: locale is still not set? 14:37
anyway, I think it looks good 14:38
I need to go take a nap though :)
but I think we're ready
samcv: ↑
samcv: and by that I mean that it looks like we don't have any moar issue blocking, so feel free to go ahead with the release 14:39
14:42 sno joined 14:46 domidumont1 joined 14:48 domidumont left 14:54 patrickb left 14:59 jmerelo joined
jmerelo releasable6: status 14:59
releasable6 jmerelo, Next release will happen when it's ready. R6 is down. At least 1 blocker. 286 out of 666 commits logged (⚠ 1 warnings) 15:00
jmerelo, Details:
Kaiepi i ran into a confusing error while trying to write something a bit weird 15:02
so i have a Net::Telnet::Client and Net::Telnet::Server class, which both either use Net::Telnet::Terminal::UNIX or Net::Telnet::Terminal::Win32 depending on the os 15:03
the client and server are just unit classes, and the terminal modules look something like this
but when i use them it claims merging global symbols failed because of a duplicate definition of Terminal 15:04
where is it getting that from? i checked with git grep and don't see anywhere where that should be happening
it throws the same error if i try to declare the classes in the terminal modules as Net::Telnet::Client::Terminal and Net::Telnet::Server::Terminal instead 15:05
15:08 nadim left 15:11 demanuel joined
ugexe ye-olde matching-last-namespace-part merge failure bug. used to be on RT somewhere 15:11
Kaiepi maybe not, it's trying to use both Net::Telnet::Terminal::Win32 *and* Net::Telnet::Terminal::UNIX according to RAKUDO_MODULE_DEBUG 15:16
15:21 ravenousmoose joined 15:24 molaf left
Kaiepi ok when i change `use Net::Telnet::Terminal::UNIX;` to `require Net::Telnet::Terminal::UNIX <Net::Telnet::Client::Terminal>;`, now i get an error that Terminal is already exported when it tries to export Net::Telnet::Server::Terminal 15:32
guess i have to split the 2 modules into 4 15:33
15:35 nadim joined 15:36 ravenousmoose left
Kaiepi which makes more sense anyways, since the server will eventually need a second file to run in child processes to deal with ptys on unix-like systems 15:38
15:40 jaldhar left 15:47 pat_js left 15:53 zakharyas left 16:02 jmerelo left 16:08 sno left 16:22 |oLa| left 16:23 |oLa| joined 16:28 nepugia left 16:32 scimon left 16:37 dolmen left 16:40 dakkar left 16:42 yharnam joined 16:43 domidumont joined 16:45 domidumont1 left 17:08 sno joined 17:15 dogbert11 left 17:21 Black_Ribbon joined 17:35 albertferrico joined
albertferrico hello guys, how are you? 17:35
I want to check which version of perl6 I have installed and remove it, to install it again fresh from homebrew, any tips on how to start? 17:37
moritz start with perl6 --version
albertferrico -bash: perl6: command not found 17:38
timotimo probably interesting to check "which perl6" and "perl6 -e '.say for $*REPO.repo-chain'
albertferrico so I guess I don't have it?
timotimo ha, oopsie
you may have it, but in a location that's not in your $PATH 17:40
timotimo AFK for a while
albertferrico timotimo ok, that sounds possible. So how can I find it? 17:41
timotimo I'm on a macbook pro laptop 17:42
xinming_ releasable6: status 17:45
releasable6 xinming_, Next release will happen when it's ready. R6 is down. At least 1 blocker. 286 out of 666 commits logged (⚠ 1 warnings)
xinming_, Details:
timotimo albertferrico: if you use your Finder's "search for files" thing, you can probably find a file named "perl6" or maybe look for "CORE.setting.moarvm" 17:52
ugexe osx has `locate` by default i think... `locate bin/perl6` should work 17:59
albertferrico looks like it's not installed, so I'll try to installed with brew 18:03
I'll do `brew install rakudo-star` 18:04
after, do I need to do something with the PATH?
I found this 18:07
18:08 domidumont left, mowcat left, yharnam left 18:12 albertferrico left 18:25 sauvin left 18:26 pecastro joined 18:38 lembark joined 18:39 antoniog1miz joined
lembark Sanity check: If I wanted to keep POD in a separate file from the module, other than naming it FooBar.pod6 is there any convention for, say, recording it in the META6 or standard location (e.g., next to the module, in docs/FooBar)? 18:40
antoniog1miz assets
you can make an assets dir an specify the contents in the META6.json
lembark Thank you.
in that module you can see an example
(it's not using assets but resources intstead) 18:41
lembark i.e., something like: 18:44
Uploaded file:
antoniog1miz mmm you can delete the lib line from resources 18:45
lembark Thought the "resources" => "whatever gets installed".
what's the dividing line between them? 18:46
antoniog1miz resources is everything you add to the module that "is not the module"
I dont know how to explain it correctly xd 18:47
lembark: what line?
lembark You just explained it correctly. 18:48
And succinctly :-)
antoniog1miz good then :)
Kaiepi is there a way to export a symbol from another module as the current module's own symbol? (like `export { default as Foo } from Bar` in es6) 18:50
i tried using sub EXPORT and using the module's name as the only key in the map returned but other modules can't find the symbol when i try to use it 18:51
antoniog1miz mmmmm, you can use unit class or unit grammar but I do not know with functions
Kaiepi wdym, like subclassing the other module? 18:52
antoniog1miz mmm nop, I said unit class to directly export the class, but I think that's not useful in your case 18:54
I suppose you have tried "is export"?
Kaiepi that wouldn't work for this, maybe i explained what i'm trying to do badly or something 18:57
this is what Net::Telnet::Terminal::Client looks like atm
18:58 empee0 joined
Kaiepi i'm trying to export either Net::Telnet::Terminal::UNIX::Client or Net::Telnet::Terminal::Win32::Client as Net::Telnet::Terminal::Client itself depending on the os 18:58
the module isn't entirely necessary, but it'd help make my code a bit cleaner 18:59
antoniog1miz ooh I see mmm 19:01
Kaiepi oh, maybe is export could work for this if i write `my constant Net::Telnet::Terminal::Client is export = require <...>` 19:02
...nope, can't use :: in a constant declaration 19:05
timotimo huh, i think this is the first time i hear about the assets thing for modules
antoniog1miz (assets is a dir I ussually use, resources is the good one) 19:06
timotimo oh 19:07
antoniog1miz at least that's what I normally see in the META6 modules
how would you do it instead?
timotimo i haven't a clue :)
antoniog1miz ah haha 19:10
Kaiepi ah hah! this works 19:15
finally found a use for package
antoniog1miz oh nice fix!
19:24 natrys joined 19:41 antoniog1miz left
lizmat weekly: 19:41
notable6 lizmat, Noted!
Kaiepi ...or not 19:43
Serialization Error: missing static code ref for closure 'run' (gen/moar/stage2/NQPHLL.nqp:2134)
spoke too soon
19:46 devz3ro joined 19:55 kaare_ left, kaare_ joined 20:05 empee0 left
ugexe what if you use indirect name lookup? `require ::('Net::Telnet::Terminal::Win32::Client')` 20:17
that should prevent the parent namespace from getting created ala
m: require NativeCall::Types; say ::("NativeCall") 20:18
camelia Type check failed in binding to parameter '$top-existing-pkg'; expected Any but got NativeCall (NativeCall)
in block <unit> at <tmp> line 1
ugexe uh, well that works for me locally
$ perl6 -e 'require NativeCall::Types; say ::("NativeCall")'
20:19 khisanth_ left
timotimo weird 20:19
Kaiepi the problem was i got the name of the module i was requiring wrong, i forgot to rename it to Net::Telnet::Terminal::UNIX::Server from Net::Telnet::Terminal::ServerMaster 20:24
ugexe but that should result in a very explicit error 20:25
Kaiepi it should...
timotimo do we have a "local cache of ecosystem claims there is no such module available publically" output yet … 20:26
ugexe does zef have telemetry yet? no 20:27
timotimo how do you mean? 20:28
ugexe how else would you determine what modules an ecosystem does not contain that is being requested?
timotimo well, how does "zef list" give the names of all modules?
ugexe*.<provides>.keys) or some such 20:29
timotimo JSON::Pointer:ver<1.0>
# JSON::Pointer
# JSON::Pointer::Relative
that could be enough of a hint, maybe
ugexe oh you want to take all given ecosystems, and then find dependencies that do not exist in those ecosystems? 20:30
i thought you meant a record of `zef install Doesnt::Exist`
Kaiepi btw the filename was right, just the module name in the unit class declaration was wrong 20:31
ugexe ah that might be why the error was so bad 20:32
20:32 khisanth_ joined 20:36 farcas82regreg left 20:45 esh joined 20:46 nepugia joined 21:20 thundergnat joined
thundergnat . 21:20
Does anyone around have Cairo installed? 21:21
timotimo most people with a linux system, i'm sure
thundergnat Well, I meant the Perl 6 port actually...
If so, what do you get if you grep /path-to-perl6-install/share/perl6/site/sources$ grep "unit module Cairo" * 21:23
For some reason, I have 24 installs on a clean build from scratch.
I wonder if that is why Cairo takes so long to install... 21:24
timotimo wouldn't you get one match per file in the cairo namespace? 21:25
oh, no, it's a single file
btw it turned out i didn't have it
thundergnat But they are all identical
It doesn't seem to be a problem really, I just thought it was weird. 21:26
timotimo oh haha
it installs one file per entry in the provides section
why are they there, that's weird
ugexe thundergnat: `zef list --installed` will tell you everything else installed 21:27
thundergnat timotimo, BTW any thoughts about getting nativecall pass structs by value working? I really miss not having SDL2_ttf :-( 21:28
timotimo oooh
ugexe seeing the list as words instead of sha1s might make it easier to remember what the are
timotimo jeez, that was a thing i was intending to do at some point
ugexe: i wonder, is Cairo the only module that has the same values for multiple keys in the provides section? we should be able to very easily query that, right?
also, i'm pretty sure that's not right 21:29
thundergnat I have a version of ttf working quite nicely locally, except for color handling :-(
ugexe that should be fine
although the way installation works it'll create X many copies of that same file, and precompile them all
timotimo froggs did it! 21:30
that commit is from 2015
it was "add provides section for latest panda (S11 support)"
you literally can't just "use Cairo", because that's not in there
ugexe its not wrong
timotimo well, it is now
it may not be wrong, but i do consider it nonsensical in this situation 21:31
ugexe yeah, there is no purpose in doing it this way in this case
it would be when doing -Ilib (not -I. or installed) and the import statement does `use Cario::Foo` before `use Cario` 21:32
all the tests just do `use Cario` so changing it should Just Work 21:34