IRC channel logs
2025-04-14.log
back to list of logs
<trannus_aran>Hey, so for my own reference I've been toying with a "Guile Cookbook" based on both cwebber's Scheme Primer and vindarel's Common Lisp Cookbook. I've made it clear that the project is indebted to both, but I have no idea what to do with the license.md 🫠<trannus_aran>The write up and code is mine, but I'm more or less borrowing the chapters & subject matter since they're very directly "what I wish existed for guile" <trannus_aran>Namely: examples for using regex, string operations, reading files line-by-line, OS functions, date-time, GOOPS, how to make a module and package...all the stuff that has documentation in the manual but I still have to look up people's existing projects go get a feel for how to do them <trannus_aran>Anyone have advice? It still feels like even if the writing for each section is mine, it's still too derivative of both. I just don't wanna be a dick here ;/ <old>trannus_aran: my advise, contact the author and ask if they are okay with derivation of their work and under which terms <old>see if that's compatible with your terms for your part <trannus_aran>I've still gotta flesh out exactly which bits make sense for this thing, but when I settle on the section/chapter list, I'll poll them both <old>is it possible to embed fibers within a pure guile project? <old>Looking at the source code, there are some C files to get compile. Would be nice if fibers could be copied to pure Guile pproject just like that <ArneBab>old: I haven’t found a way to do that yet. That’s why all the servers I write have stuff for both. I’d much prefer to have fibers integrated in Guile, though. <old>Looking at the code, I don't see why C is necessary here <old>bindings can be made in guile instead of C <old>for epoll and libevent <old>selecting the implemntation can also be done at runtime <old>I suppose this was made to support guile 2? <old>I want fibers in my build-system, but I need it to be embeddable to avoid any dependencies <old>I think it could be doable. Say only supporting Guile 3. then remove the C code and just use foreign-library-pointer and select the implementation based glibc symbols or shared lib lookup <retropikzel>In --r7rs mode how can I include the (include-from-path...) function? The normal include does not include from relative to the file :| <dthompson>old: fibers needs to be moved into the guile standard library. <ArneBab>old: having fibers as pure scheme would be nice — but it must not reduce performance (fibers performance is pretty critical). <ArneBab>dthompson: what’s blocking fibers from being moved into guile? <retropikzel>Do I recall correctly that someone said there is a fix for (include...) in --r7rs mode where it includes from same dir as the file? <old>ArneBab: it depends on the use case. I want a scheduler for callin sub-process <old>The performance of the scheduler is not that much important here. I just want to wait on pid-fd and schedule new processes <old>dthompson: even if it gets merge in next release, it will take 5-7 years before main distros bump to this version <old>ArneBab: but I guess you meant in the case of none-embeddeding fibers <rlb>...debian shouldn't take *that* long :) <old>fedora is still on 3.0.7, which is 4 years <old>I don't expect them to have fibers in main guile until 2030 <rlb>Ahh, right -- not sure what the situation is there. <rlb>General question -- is srfi-197 reasonably well regarded (if you like threading forms)? I was pondering adding it (chain, nest, etc.). <ieure>rlb, No idea how well-regarded SRFI-197 is, but I greatly miss the threading macros from Clojure/Emacs Lisp, so am +1 on adding it. <ieure>Skimmed the SRFI, it seems reasonable to me, though I'd probably not use more than chain, myself. <ieure>Don't love the names, personally, but I care more about the functionality. <rlb>Thanks, and suppose you could always rename on import :) <rlb>srfi-207's the other one I'm wondering about (my interest is primarily as a possible piece in the "how to be able to write real system utilities in guile" puzzle) <rlb>Though the main bit there would still depend on that r7rs "nonprinting" proposal that I don't know likely it is to be adopted. <rlb>(But srfi-207 has other bytevector-related operations that are potentially interesting.) <ray1729>rlb: I think srfi-197 is useful to have, I've used `chain` in a couple of projects. <trannus_aran>I just use my own threading macros I threw together with good ol' define-syntax. That being said, I usually have a macros.scm for any scheme project, regardless of implementation. I guess that's kinda "your own stdlib"/C-style, but it works, and the macros are readable, so *shrug*