00:05 Voldenet_ joined 00:06 Voldenet left, Voldenet_ is now known as Voldenet 00:07 japhb joined 00:25 dutchie left, dutchie joined, dutchie_ left 00:26 dutchie_ joined 01:01 tejr left 01:06 tejr joined 01:41 silug left, silug joined 01:49 hulk joined 01:51 kylese left 02:15 hulk left, kylese joined 02:52 Aedil joined 04:32 sena_kun joined 05:30 Sgeo left 06:16 floyza left 07:47 bdju left 07:50 bdju joined 07:57 bdju left 07:58 bdju joined 08:10 dakkar joined 08:39 sena_kun left 08:56 dg left 09:02 dg joined
Geth ecosystem/main: 3da05e6916 | rir++ (committed using GitHub Web editor) | META.list
Update META.list

Naoum Hankache suggested this change so that people will be directed to
   a more recent IUP.rakumod
with more coverage of IUP, multis, and a modernized Raku style.
09:06
09:12 derpydoo joined 10:10 Chanakan joined 10:34 derpydoo left 10:41 jjido joined 10:43 jjido left 10:55 emakei joined 10:58 jjido joined 11:13 sreeram joined
sreeram Good day ! I am new to Raku language. I am trying to find how to get help . For example, how to get list of methods on array? Can I get it from any website or raku repl ? I tried browsing the docs as well as trying out in repl, but I could not get it. Thank you ! 11:16
emakei my $arr; $arr.^methods 11:27
11:29 sena_kun joined
emakei docs.raku.org/language/mop#WHAT 11:29
docs.raku.org/type/Metamodel/Metho...od_methods
docs.raku.org/type/Systemic#method_signature 11:30
sreeram Thank you ! 11:52
11:56 sreeram left 12:11 jjido left 12:31 floyza joined
antononcube @sreeram If you have access to LLMs most recent models are fairly helpful for Raku, 12:37
Here is list of Array's methods (by Grock): 13:36
cdn.discordapp.com/attachments/633...42607&
timo put some heavy scare quotes on "fairly helpful" 14:17
m: my @foo = <helloo hoow are yoou>; say @foo.indices("oo") 14:19
camelia Calling '.indices' on a Array, did you mean '.grep( ..., :k)'?
(4 8 17)
in block <unit> at <tmp> line 1
timo at least raku helpfully tells you you're probably doing something wrong when you try to do that
m: my @foo; say @foo.exists-pos(99) 14:20
camelia No such method 'exists-pos' for invocant of type 'Array'. Did you mean
any of these: 'EXISTS-POS', 'EXISTS-KEY'?
in block <unit> at <tmp> line 1
timo not sure why it suggests that exists-pos exists when it has AT-POS right before it
m: my @foo; say @foo.AT-KEY(1)
camelia Type Array does not support associative indexing.
in block <unit> at <tmp> line 1
timo the term "associative array" is not commonly used in raku, so that is also strange to bring up 14:21
m: my @foo = <a b c>; say @foo.list.WHAT; say Array ~~ List 14:24
camelia (Array)
True
timo ^- it claims that .list on an Array "converts the Array to a List" but that's also not true. no conversion takes place. 14:25
antononcube 1) Grock is a relatively new LLM, and 2) I did not pre-conditioned it too heavily for correct answers. 14:27
timo imagine if you had to say "please only give correct answers" every time you join an irc channel 14:28
antononcube Well, yeah, that is exactly a way to speak to LLMs! 14:29
They do not respond well to rudeness, apparently. (Not surprising, but I did not know that...)
I am sure the OpenAI's latest models do better. But, then again LLMs are "just" statistical heuristics.
El_Che fun, rakudo broke upload artifact action 14:32
en the are deprecating the older ones 14:33
oh, building now, pkgs coming in a few hours 14:39
14:41 emakei left
antononcube šŸ¤ž 14:42
14:56 floyza left 15:49 nine left, nine joined
lizmat clickbaits rakudoweekly.blog/2024/09/30/2024-40-done-25/ 16:02
jdv do you ever catch anything? 16:03
lizmat yeah, actually :-) 16:05
jdv nice!
[Coke] (associative array) sounds like tcl. :) 16:20
(how to get list of array's methods) docs.raku.org/type/Array has a list of methods. 16:21
jdv or php
16:37 notna joined 16:41 dakkar left 17:20 notna left 17:25 Aedil left
patrickb ab5tract: Hey! I'm about to start creating a PTY widget in Terminal-Widgets. I have much to learn, both on the Terminal-Print as well as on the ANSI escape side. 19:21
I'll try to explain what I think I should do, and would welcome your opinion if I'm on the right track.
1. Implement sending the window size to the PTY (widget area == PTY window size).Run all text I pull out of a PTY through Terminal-ANSIParser. This should give me a stream of tokens. 19:24
That would have been 2.
3. One by one work through the stream and convert tokens to some Terminal-Print command to replicate the behavior. 19:25
timo i would recommend looking at screen and/or tmux for how they handle all the ansi escapes they know. also, you'll want to choose one particular TERM that you want to set for client programs, otherwise if you just pass TERM on to the child it will speak a dialect specific to the TERM you set 19:27
maybe you already know all that, but just to be sure
also, tmux has a "get contents" command where you can have it spit the contents of a pane out at you with ansi escapes for formatting (colors and other text attributes) for you if you like, or everything stripped
patrickb I'm unsure if terminal state is something I need to account for. If yes I need to save restore whenever I output something in the PTY widget. 19:28
timo i use that for a preview pane in an fzf-using script
patrickb timo: I have no idea what I'm doing, so all input is greatly appreciated. :-P
timo oh good to know! :D
do you already have something like a full list of vt100 escape sequences at hand? 19:29
www.xfree86.org/current/ctlseqs.html i think this is the one i've referenced a whole bunch of times before
patrickb I only read through en.wikipedia.org/wiki/ANSI_escape_code once. 19:30
timo ok i see there's a few there 19:31
but probably none of the really out-there ones :D
patrickb My gut feeling is, that there are so many I have no chance of doing all of them. Thus the idea to just spit out the stream of tokens verbatim and add support for those I see in typical apps. 19:32
I'd hope to approach a point where most stuff just works. 19:33
timo yeah, making a full terminal emulator is a bit of a challenge 19:35
you'll definitely want at least relative and absolute cursor positioning working, and switching between primary and alternative screen or what it's called 19:36
if you give the client program a TERM that closely matches what you actually support, the library it uses may use workarounds internally to make stuff work without the sequences you don't support
patrickb Especially since my actual goal is writing a raku debugger. And in that context the little embedded PTY is a really minor feature (especially since running the app in a separate tmux window and attaching is also possible). 19:37
timo ah, so having the raku app in one split and the debugger's UI in the other split 19:38
maybe a commandline flag to set it up right from the start could be nice, or checking if TMUX is set in the environment when launching and doing that ... 19:39
patrickb I have plans in place... ;-) 19:40
timo nice.
have you seen my musings about forks in #moarvm the other day? 19:41
patrickb But I do think having a PTY embedded in the debugger UI itself is a good thing to have as a default. As I said in the past, I aim for epic with this debugger. Thus there needs to be a little PTY window. :-D
Yes I have. It's an interesting idea. In general it's orthogonal to what I currently try to do, right? 19:43
(Want to make sure I don't miss some overlap.)
timo i think it is, yes 19:46
antononcube @timo Did you use "Terminal::UI" yet? 20:30
timo not yet 20:31
20:35 jjido joined
antononcube I am trying to figure out can I make it do statistical plots. 20:35
timo ah. many different ways to output something graphical on the terminal. the braille symbols are often used as "subpixels" that you can individually turn off and on, and there's also sixel which we don't have a module for yet i guess? 20:37
antononcube I did not think to use braille symbols for the plots. I have investigate / include that option. 20:39
timo www.pc-freak.net/images/btop-linux...enshot.png 20:40
antononcube @timo "output something graphical on the terminal" -- I plan / try to use "Text::Plot".
timo ā£øā£æā£æā£æā£§ā£æā£æ 20:41
ah you already made something for that
antononcube The first simple exercise to have an UI that shows between different type plots for the sizes of files in a directory. 20:48
ab5tract patrickb: contrary to timo's advice, I do not advise overriding the client $TERM 21:41
21:42 sena_kun left
ab5tract also, as far as I remember, everone famous who produces escape codes gets them via the termcap / terminfo libraries 21:42
which is what Terminal::Print scrapes on startup via `tput` 21:43
timo ok so how do you have any hope to support programs running inside your little terminal panel? 21:50
ab5tract Whose little terminal panel? What? 21:51
timo if you want to show the output from a program in a Terminal::UI panel 21:52
ab5tract I donā€™t understand the frame you are placing me in, sorry
timo haha
ab5tract Just giving my feedback to patrickb
You canā€™t ignore the term setting without getting the escape codes wrong 21:53
timo well, my advice was for the case when you want to embed a program's output inside your own terminal UI based program
patrickb Wait. Terminal::UI is Brian Duggan, Terminal::Print is ab5tract
ab5tract Doesnā€™t matter, if itā€™s rendered by their terminal editor, it needs the escape codes for that editor 21:54
timo yeah. but you can't have that
ab5tract a/editor/emulator/
Says who?
timo if you just let the terminal emulator outside of your program interpret the escape sequences from your client program, it will draw all over your own UI with relative and absolute cursor movements, and well, pretty much anything regarding output
ab5tract Sure, I have no experience with this, I forgot 21:55
timo there must be something obvious i'm missing?
are we miscommunicating?
ab5tract If so, Iā€™m not willing to take the fault 21:56
You often seem to have it out for me
Anyway, Iā€™m off for tonight
patrickb My idea was to map all escape codes I get from my child program to Terminal::Print calls. I would not try to pass any escapes codes along directly.
timo oh, that is very much not my intention!
ab5tract patrickb: that should work out fine, afaik 21:57
patrickb Have a good sleep!
21:57 guifa joined
ab5tract Thanks, birthday rest \_\_|_/_/ 21:58
guifa o/
ooh is it ab5tract's bday? happy bday!
patrickb Tomorrow? Have an extra good sleep then!
timo ooh! happy birthday!
patrickb Hm. I think there are two approaches I could take. 1. Pass along escape codes verbatim, and only modify them where necessary to contain the frame. That would give me a much higher coverage, but if I miss an escape code I need to change, I'll mess up the screen. 22:02
2. Drop all escape codes by default. Then one by one add code to replicate each escape code via the Terminal::Print API. 22:04
Off to bed for me too. I guess the top most items on my list now are: 1. read into the Terminal::Print API to see what I can do. 2. Get an overview of escape codes to hopefully get an overview of all the gremlins hiding there. 3. Peek into tmux and see how they're doing it. 22:08
22:08 wayland76 joined 22:14 Sgeo joined 22:31 jjido left
guifa has anyone used libcurl recently? 22:40
or rather LibCurl::Easy 22:41
it seems to be giving me a bus error
timo does it go away if you set MVM_JIT_DISABLE=1 in the environment? does dmesg say anything interesting? 22:44
22:47 jjido joined
guifa let me check with MVM_IIT_DISABLE 22:55
same issue with MVM_JIT_DISABLE=1 22:56
let me try most recent Raku, I know on this machine I'm probably a few months behind (although LibCurl hasn't been updated in a hot minute) 22:57
timo bus error could be a few different things. could it somehow be an architecture mismatch? could also be libcurl is using cpu opcodes that aren't supported by the cpu you're using, but that would be surprising as well. insufficiently aligned memory accesses can also cause it i think? but i think that's rare on x86_64 at least? 23:03
guifa I'm on arm ha 23:11
23:11 wayland76 left
timo oh, ok, then it could actually be that (and also JIT_DISABLE is a no-op since we don't have a jit for arm yet) 23:12
i'm not sure what to recommend for debugging; of course getting a backtrace where the signal is thrown can be helpful. if you run it with gdb (there's a helpful rakudo-gdb-m helper i think) you may be able to get it to `disassemble` the current function at the position it asplodes, and `info registers` would give the contents of all the registers, so if the instruction where it explodes uses a 23:14
register with a value that's somehow wrong, that's how we could find that out
23:38 kaskal- left, kaskal joined 23:43 jjido left
guifa hmm okay. Def will be a project for tomorrow. in the meantime I'm just oging to do a manual download ha 23:51
23:52 kst joined