IRC channel logs

2023-02-07.log

back to list of logs

<mirai>what is this INSTALL file that README talks about
<mirai>ah, I see that 7d3321d6963d6713fbf345cfb962eac44da35b49 removed this and puts it under .gitignore
<mirai>imo this is rather confusing as the pristine source talks about a non-existent file
<KarlJoad>I am probably missing something, but how can I split a string based on another string? string-split only does that for characters.
<mirai>what modules am I missing here? https://paste.centos.org/view/9c0f4bfe
<mirai>I'm blundering against every corner with Unbound variable: eof-object / Unbound variable: read-line ....
<mirai>is there a more practical way of knowing what should be imported?
<mirai>KarlJoad: substring + https://www.gnu.org/software/guile/manual/html_node/String-Searching.html
<mirai>or... regex / PEG
<KarlJoad>eof-object is part of R6RS, so that should always be available. I see it in /gnu/store/...-guile/.../rnrs/io/simple.scm
<mirai>you have search-for-pattern and match-pattern from PEG
<KarlJoad>Ok. I will have to go down the substring-indexing hole then, until I switch to the PEG.
<KarlJoad>re: eof-object unbound, I get that from a newly-started Guile REPL too.
<mirai>KarlJoad: I've dropped that paste into guile's modules/srfi/ and can't get it working :/
<KarlJoad>My new REPL lets me do ",describe eof-object?" and that works fine. So I'm not sure now.
<lechner>Hi, how may I capture the output from system*? Using with-output-to-string does not work. Thanks!
<dthompson>lechner: I think you'd need to used fork/exec (or the new spawn procedure that I haven't used yet)
<dthompson>need to use*
<lechner>dthompson / wow, thanks! i can't believe it
<dthompson>lechner: actually, first check out the pipe interface
<dthompson>that's probably what you want
<dthompson>kinda spaced and forgot about it for a minute :)
<dthompson>open-pipe* is the pipe version of system*
<lechner>yes, thanks! i'm reading https://www.draketo.de/software/guile-capture-stdout-stderr.html
<lechner>dthompson / thanks again for the pointer! it worked great
<dthompson>lechner: I'm glad!
<wklew>KarlJoad: srfi-13 also has string-tokenize
<daviid>fwiw, to g-golf users, i just pushed a few patches, to the devel branch, that implement a 'skip array length' mechanism - all examples updated, as the g-application-run method (specializers) is affected by this patch
<daviid>sneek: later tell akirakyle i just pushed a few patches, to the devel branch, that implement a 'skip array length' mechanism - all examples updated, as the g-application-run method (specializers) is affected by this patch - any example/g-golf code you wrote will have to be updated accordingly ... (see the log for some example, and also update your calls to gsk-container-node-new ...)
<sneek>Will do.
<KarlJoad>wklew: Thanks for the idea, but it is not that I want to split a string based on a string containing a list of characters, but I want the split using that string. I mean (string-split-other "first last and otherLast, otherFirst" " and ") to return ("first last" "otherLast, otherFirst").
<wklew>ah right, that is different
<lilyp>ArneBab: It's still possible to bork your Guix System with an odd sync job (the current generation anyway), but you can roll back :)
<ArneBab>lilyp: that’s a big difference to a 3-day "fry your system" window during KDE+Firefox+Chromium rebuild on Gentoo …
<ArneBab>janneke: long time no see (or rather: I did not realize) — did you get more grants for mes?
<janneke>ArneBab: yeah, new things to come!
<jpoiret>lechner: you can use spawn, fresh from Guile 3.0.9
<jpoiret>check out spawn at https://www.gnu.org/software/guile/manual/html_node/Processes.html
<jpoiret>fork+exec is discouraged, and spawn lets you give pipes for input/output/err, as well as being thread safe and faster
<old>I would like to have a hook after when Guile do the actual fork system call. Something like pthread_atfork. There's case where you might need to cleanup shared ressource
<mirai>for a file under module/srfi/, which module do I import to get eof-object ?
<dcunit3d>if i want to fold over a vhash of vlists, how do i use the matcher syntax to distinguish between nodes that are vlist and those that are vhash?
<dcunit3d>for what i'm doing a simple vhash with vlist entries are fine, so I could probably reduce or do a simple fold without (lamda () (match ....))
<dcunit3d>but since the vhash is implemented as a vlist, it's not clear that the (vlist? ...) function properly distinguishes them
<dcunit3d>at least not as different record types. i'm looking into the code examples that I can find
<apteryx>hi! do you think https://issues.guix.gnu.org/43818#9 (normalizing GUILE_LOAD_PATH/GUILE_COMPILED_LOAD_PATH entries so they are stripped from a trailing / would be better addressed on the Guile side?
<apteryx>For a comparison, I think Python sanitizes entries provided via PYTHONPATH; that makes things easier to reason with.
<sneek>chrislck: Greetings!
<chrislck>sneek: botsnack!
<sneek>:)
<KarlJoad>How should I go about connecting Guile to a database? I am thinking sqlite3 for now. I know the guile-sqlite3 package exists. Is there anything else I may/should need?
<daviid>KarlJoad: there is https://notabug.org/cwebber/guile-squee, Postgresql bindings for Guile (using the ffi ...
<KarlJoad>Thanks for the suggestion, but PostgreSQL may be overkill for now. I just wanted to know if there is anything else I should know before using guile-sqlite3.
<rekado>KarlJoad: guile-sqlite3 is a great way to get started. I often find myself switching from sqlite to postgres; in my latest project I again switched from guile-sqlite3 to guile-squee.
<KarlJoad>Ok. We will see if PostgreSQL makes sense later. This will only ever have one program writing at a time, so that is not a real concern.
<ArneBab_>janneke: cool! I wish you good luck!
<haugh>> You may have to read this one a few times slowly before you understand it.
<haugh>> tpope writes the best docs
<haugh>from surround-customizing
<haugh>oh jeez wrong channel, sorry