š¦ Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 6 September 2022. |
|||
00:09
vlad joined
00:48
vlad left
|
|||
japhb | Anyone doing terminal work: More terminal design language examples very much welcome in github.com/japhb/Terminal-Widgets/issues/8 | 00:56 | |
I'm trying to figure out the approximate direction to aim in while I'm throwing functionality into Terminal::Widgets. | 01:02 | ||
01:02
teatime joined
|
|||
japhb | ... and if anyone is actually wanting to write TUI apps in the near future, that's where I'll aim. :-) | 01:03 | |
Xliff | japhb: I'm actually at the point where my latest projects is planning on using TW | ||
01:04
teatwo left
|
|||
Xliff | github.com/Xliff/raku-GLib-Top | 01:04 | |
Example usage: use GLib::Top::Server; .gist.say for GLib::Top.get_proclist( :io ).grep( *<rss> > 4e8 ) # Grab all processes with an RSS > 40,000,000 bytes | 01:05 | ||
Example output: | |||
(cstime => 13 cutime => 8 egid => 1000 euid => 1000 exe => /opt/google/chrome/chrome frequency => 100 fsgid => 0 fsuid => 0 gid => 1000 groups => NativeCall::Types::CArray[int32].new it_real_value => 0 mem-flags => 13 ngroups => 0 nice => 0 number => 1 pgrp => 3330 pid => 843671 ppid => 3330 priority => 20 proc-time-flags => 511 resident => 415633408 root => / rss => 415633408 rss_rlim => -1 rtime => 5716 session => 3330 sgid | 01:06 | ||
=> 0 share => 270929920 size => 35188375552 start_time => 1712003394 stime => 1308 suid => 0 timeout => 0 tpgid => -1 tty => -1 uid => 1000 uid-flags => 65295 utime => 4408 vsize => 35188375552 wd-flags => 7 working-dirs => [NativeCall::Types::CArray[uint8].new] xcpu_stime => NativeCall::Types::CArray[uint64].new xcpu_utime => NativeCall::Types::CArray[uint64].new) | |||
01:06
teatwo joined
01:07
teatime left
|
|||
japhb | Xliff: Nice set of details. What do you want the UI/UX to be like? | 01:11 | |
01:16
tea3po joined
01:20
teatwo left
|
|||
Xliff | Not sure yet. I think I'd like each piece of info in its own box, but that would make for a large UI for each PID. | 01:21 | |
Also need to work those CArrays out. | |||
the xcpu times could work out to be quite large. | 01:22 | ||
01:37
hulk joined
01:39
kylese left
|
|||
japhb | I assume "xcpu" means "per core"? | 01:40 | |
Xliff | Probably. | 01:41 | |
Right now they are just struct names. I haven't had time to analyze each one, yet. | 01:42 | ||
japhb | Gotcha. | 01:43 | |
Xliff | I've been working on this one for the last 3 weeks, but much of that time it was on hold due to #5534, to which I found a workaround for. | ||
Anything that uses "HAS <type> @.attribute is CArray" needs to be C-allocated! | 01:44 | ||
japhb | How does one build/install github.com/Xliff/raku-GLib-Top ? | ||
Xliff | Raku will not allocate such a CStruct correctly? | ||
japhb | Odd | ||
Xliff | zef install GLib | ||
And that's the trick. It's not quite ready for distro. | |||
There is a c-component that needs to be installed. | 01:45 | ||
And there's no META6.json, yet | |||
If you want to brave the unknown, "cd c-dev; gcc glibtopnc.c `pkg-config --cflags libgtop-2.0` -fPIC -shared -o libglibtopnc.so `pkg-config --libs libgtop-2.0`; cp libglibtopnc.so ../resources/lib/linux/" | 01:46 | ||
You can then use it from that directory using -Ilib | |||
The root, rather | 01:47 | ||
And those only work if you are using Ubuntu. | 01:48 | ||
I seriously need some help getting my releases multi-distro ready. | |||
japhb | Linux Mint, but same difference | ||
Xliff | ( So help! :> ) | ||
japhb listens to his laptop fan attempting to cool the `zef install GLib` | 01:52 | ||
Ah, missing libs. What packages need to be installed on a Debian/Ubuntu/Mint system to `zef install GLib`? | 01:54 | ||
(Feel free to point to a README if it's described somewhere already) | |||
02:15
hulk left,
kylese joined
02:20
MasterDuke left
|
|||
Xliff | libglib-2.0 | 02:36 | |
libglib2.0-0 on my current system | |||
Yep... community.linuxmint.com/software/v...bglib2.0-0 | 02:44 | ||
japhb | Seems to be looking for the wrong so name: | 03:12 | |
Cannot locate native library 'libglib.so.0': libglib.so.0: cannot open shared object file: No such file or directory | 03:13 | ||
But what I have in my /usr/lib is: | |||
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 | |||
Xliff | OK | 03:33 | |
Do you have lsb_release? | 03:34 | ||
If so what is the output of `lsb_release -a` | 03:35 | ||
japhb | No LSB modules are available. | 03:56 | |
Distributor ID:Linuxmint | |||
Description:Linux Mint 21.3 | |||
Release:21.3 | |||
Codename:virginia | |||
Xliff | Thanks. | 04:44 | |
japhb | :+1: | 04:47 | |
Xliff | japhb: github.com/Xliff/p6-GLib.git should have latest changes which should make life easier. | 04:51 | |
Also there is an ./install-prereqs.sh script you should run. | |||
If that doesn't help, will handle tomorrow. Gotta sleep. Thanks for taking things for a test run. | 04:52 | ||
Let me know any trouble spots you find! TIA! | |||
japhb | You bet, and thank you for your help! | 04:55 | |
japhb chuckles that Dependency::Sort is listed in the dependencies twice | 05:10 | ||
Xliff: Can't install the prereq CompUnit::Util: | 05:12 | ||
[CompUnit::Util] # Failed test 'all-loaded finds the correct units' | |||
[CompUnit::Util] # at t/01-utils.t line 14 | |||
[CompUnit::Util] # You failed 1 test of 17 | |||
Is that test safely skippable, or does this indicate an actual problem that will affect GLib? | 05:13 | ||
Geth | docker/master: 4 commits pushed by AntonOks++, (Anton Oks)++, (Juan JuliĆ”n Merelo GuervĆ³s)++
|
05:22 | |
Xliff | You can skip that | 05:31 | |
I think I force install that one. | |||
05:35
ptc joined
05:50
ptc left
05:51
hudo left,
hudo joined
06:00
Sgeo left
06:35
catwin is now known as corwin
07:29
ptc joined
07:51
dakkar joined
08:05
abraxxa joined
08:11
sena_kun joined
08:49
jpn joined
08:50
abraxxa left
09:02
abraxxa joined
10:04
jpn_ joined
10:06
jpn left
10:08
jpn_ left
10:17
hudo left
10:33
hudo joined
10:57
jpn joined
11:09
abraxxa left
11:10
Maylay left
11:17
Maylay joined
11:35
abraxxa joined
12:16
jpn left
12:20
jpn joined
12:26
jpn left
12:39
jpn joined
12:50
vrurg left,
vrurg joined
13:03
abraxxa left
|
|||
tbrowder | g'day, 2 questions: | 13:15 | |
1. is it possible in raku to define an operator to act like this $somearray[0][1] for an array of arrays? if so, please show how. | 13:17 | ||
2. would it be useful to you to convert a csv file to a json string? | 13:20 | ||
Voldenet | m: my $a = [] but role { method AT-POS($ix) { role { method AT-POS($ix2) { $ix, $ix2 } } } }; say $a[3][42] | 13:45 | |
camelia | (3 42) | ||
Voldenet | ah, it has to be an op | 13:53 | |
multi postcircumfix:<[[ ]]>($array, $a) { $a.map(* + 42) }; my $a = []; $a[[1,2]].say | 13:54 | ||
13:54
abraxxa joined
|
|||
evalable6 | (43 44) | 13:54 | |
greenfork | I'm writing a translation to Russian, how would you describe a "topic variable" as in $_, what would be a synonym for the word "topic"? | 14:05 | |
Voldenet | I've looked up wikipedia translation of "topic" in grammars, and ŃŠµŠ¼Š¾Š¹ looks ok imo | 14:09 | |
greenfork | Thanks, I'll try "ŠæŠµŃŠµŠ¼ŠµŠ½Š½Š°Ń ŃŠµŠ¼Ń" as a translation for "topic variable" | 14:11 | |
tbrowder | Voldenet: thanks! | 14:12 | |
14:48
jpn_ joined
14:50
jpn left
14:57
abraxxa left
|
|||
librasteve | tbrowder: as I mentioned above, the raku Dan module provides cascading 2D array accessors like say df0; github.com/librasteve/raku-Dan | 15:06 | |
it also provides row and col names and assocaitive accessors that can be mixed & matched with array accessors ... like say df[0]<A>; | 15:07 | ||
Voldenet makes this look easy ... but it took me several days of trial and error AT-POS and so on to get it all to work in a consistent way | 15:08 | ||
somewhere above, I have shown how to combine Test::CSV and Dan | |||
o/ to all --- please can someone help me | 15:09 | ||
I am trying this | |||
for @!parts -> $part { my $module = $part.tc; Unit::($module).new.load: %!config{$p} } | 15:10 | ||
I get the error Combination of indirect name lookup and call not supported | |||
is there a way to call new on an interpolated module name? | 15:11 | ||
Voldenet | hmm, doesn't Unit::"$module" work? | 15:12 | |
librasteve | lemme try that | ||
Two terms in a row | 15:14 | ||
Unit::ā"$module".new.load: %!config{$p} | |||
I tried using () around the double quotes and going my $x = Unit::"$module"; $x.new.load ... | 15:15 | ||
neither of those worked | |||
15:16
Voldenet left,
Voldenet joined
|
|||
Voldenet | re AT-POS, I know there's a lot of edge cases, but they're specific to use cases mostly | 15:17 | |
like this uses .elems internally | |||
m: my $a = [] but role { method AT-POS($idx) { $idx } }; say $a[* - 3] | |||
camelia | -3 | ||
librasteve | Unit::{$module}.new.load: %!config{$part} | 15:18 | |
curlies did the trick! | 15:19 | ||
antononcube | Shouldn't something like this also work: ::("Unit::$module").new.load: blah | 15:21 | |
15:23
vlad joined
|
|||
librasteve | I guess something like that might work too ... thanks for the idea! | 15:32 | |
my $pqn = "Unit::" ~ $part.tc; ::($pqn).new.load: %!config{$part}; | 15:40 | ||
is the final code | |||
thanks for all the help! | |||
antononcube | š | 15:51 | |
japhb | Xliff: OK, forced the install of CompUnit::Util as you suggest, and then did `zef install .` in my p6-GLib checkout. Got the same shared object file misname problem. | 15:59 | |
16:07
jpn_ left
16:39
dakkar left
|
|||
Tirifto | m: my %a{Str}; use trace; my %b{Str}; my %c{Str}; | 17:02 | |
camelia | ===SORRY!=== Error while compiling <tmp> Invalid hash shape; type expected at <tmp>:1 ------> my %a{Str}; use trace; my %b{Str}ā; my %c{Str}; expecting any of: constraint |
||
Tirifto | ā Am I missing something or is that a bug in trace? :o | ||
(Constraining key types of a hash seems to work fine without āuse traceā, but with āuse traceā it suddenly throws an error.) | 17:04 | ||
lizmat | yeah, that's a genuine bug, please make an issue :-) | 17:06 | |
looks like it is fixed in RakuAST, so I don't think it won't get fixed before 6.e though | |||
Tirifto: the golf is: use trace; my %a{Str} | 17:07 | ||
Tirifto | I suppose thereās still no way to do that without a GitHub account, right? ^Ā ^ā | 17:08 | |
17:17
jpn joined
17:22
avuserow left
17:23
avuserow joined
|
|||
lizmat | Tirifto: yeah, ok, I'll take care of making an issue | 17:35 | |
Tirifto | lizmat, thanks a lot! | 17:37 | |
17:37
vlad left
|
|||
lizmat | github.com/rakudo/rakudo/issues/5546 | 17:38 | |
17:38
vlad joined
17:50
jpn left
18:26
ptc left
|
|||
tbrowder | librasteve: yes i looked at Dan but it looked too scary for my simple soul. | 18:31 | |
lot of exotic code there | 18:32 | ||
18:36
abraxxa-home joined
18:49
abraxxa-home left,
abraxxa-home joined
18:54
abraxxa-home left
18:55
abraxxa-home joined
19:25
vlad left
|
|||
tbrowder | but i'll probably revisit after i clean up some todo's | 19:31 | |
20:14
eseyman left
20:15
manu_ joined
20:16
manu_ is now known as eseyman
20:45
cleo left
20:46
jpn joined
20:52
jpn left
20:54
jpn joined
21:00
abraxxa-home left
21:05
jpn left
21:08
merp left
21:13
merp joined
21:17
bdju left
21:47
jpn joined
21:52
jpn left
21:59
bdju joined
22:08
kaskal joined,
kaskal- left
22:19
kaskal left
22:24
kaskal joined
22:32
Sgeo joined
22:47
sena_kun left
22:52
DarthGandalf left
22:53
DarthGandalf joined
22:55
jpn joined
23:00
jpn left
23:56
jpn joined
|