IRC channel logs

2025-10-26.log

back to list of logs

<dsmith>Howdy #guile. I've been gone for a week.
<dsmith>All this mmap stuff. I thought guile already uses mmap to read in .go files?
<dsmith>Also, I thought mmap'ing a file only reads in pages "as needed"?
<dsmith>sneek, botsnack
<sneek>:)
<dsmith>!uptime
<sneek>I've been serving for 16 days
<sneek>This system has been up 2 weeks, 2 days, 45 minutes
<tomenzgg>If I have a function writing to the output port, is there a way to grab lines from the port as they come in (rather than all of it, at once, at the end of the function running)? In order to simulate real-time, as it comes in.
<listentolist>Is there a way to print the expression at the current frame in a backtrace?
<listentolist>In Racket I can step through a program and always see which expression is being evaluated. Is something like that in Guile possible, too?
<ekaitz>listentolist: you have a debugger in the repl
<ekaitz>listentolist: try `,help debug`
<ekaitz>that has a ,frame command
<ekaitz>all these commands are available from guile afaik
<n|Phreak>Does anyone know if you can create actual gui menus using chickadee library by Dave Thompson ? Or is it only for games ?
<ekaitz>n|Phreak: if you can make a game you can make a GUI
<kestrelwx>You could use `guile-g-golf` to make a GTK app.
<humm>if it doesn’t do AT-SPI2, you may want to consider doing that manually or using something else
<n|Phreak>Right , but actual window menus , like checkboxes, text boxes and so on?
<n|Phreak>Yeah I suppose I could use GTK
<n|Phreak>Also what is some really good documentation how to wrap C libraries or create guile bindings for C libraries
<humm>there’s nothing special about checkboxes and text fields, they too are just drawn and do something with input and are hopefully exposed over AT-SPI2
<ekaitz>n|Phreak: The guile documentation explains how to do that. I have done some glib integration for guile-libnotify if you want to take a look.
<ekaitz>actually making your own GUI toolkit is not that complex
<n|Phreak>lol maybe not for you ekaitz
<ekaitz>n|Phreak: if you research a little bit about immediate mode interfaces and stuff like that... those are "easy" to make
<ekaitz>the retained ones are also kind of possible
<n|Phreak>I really like to learn how to wrap EFL (Enlightement foundation libs) in guile
<mgd>Hello again. I managed to get my tests working with srfi-64. If I structure my folder with a src/ and and /tests folder, what is the correct command to run tests? I'm currently using `guile -L src -L tests -s tests/test-file.scm`
<mwette>n|Phreak: nyacc has a ffi-helper to wrap libraries. I have gtk2 demo by wrapping glib, gobject, ..., see https://github.com/mwette/nyacc/wiki/FFI-Helper-User's-Manual
<mwette>see examples/ffi/ and examples/nyacc/lang/ffi-help if interested
<n|Phreak>Thanks mwette
<mwette>are EFLs in C or C++?
<n|Phreak>C
<mwette>nyacc's ffi-helper works on C no C++
<mwette>s/no/not/
<mwette>and remove "'s" from that link "User-Manual" since ' is causing me havoc
<meaty>What is the point of the (when) and (unless) procedures in unless one is doing imperative programming? since <unspecified> can't really be processed
<meaty>Every time I've thought to use it it's actually not useful because it leaves <unspecified> behind
<meaty>and (filter unspecified? ...) is non-portable
<rlb>I think that's right -- they're only appropriate when the failure value is irrelevant.
<listentolist>ekaitz: In gdb I can use "list" to display the code. Is something like that possible in the Guile debugger? I did not find anything in the documentation.
<ekaitz>listentolist: idk man
<ekaitz>the guile debugger is very limited
<listentolist>ekaitz: Alright, thanks!
<mwette>Is the when/unless concern that (if cond true-expr) can return unspecified?
<dpk>meaty: when and unless are indeed for imperative programming
<rlb>(I wondered if this was "as compared to clj" where when is very often used for the nil result.)
<rlb>(perhaps if meaty was used to that)
<daviid>sneek: later tell ekaitz libnotifyis introspectable: ,use (g-golf) then (gi-import "Notify")
<sneek>Okay.