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
|