IRC channel logs

2024-06-02.log

back to list of logs

<lechner>Hi, is this fix still sufficient for GUILE_FLAGS to work from guile.m4? It does not seem to work locally. https://lists.gnu.org/archive/html/guile-devel/2012-08/msg00042.html
<lechner>I ended up copying all the files from gnulib in build-aux and m4. It's a lot of files, but worked.
<lechner>Hi, a Guile file containing a simple lambda but no module definition can be compiled. Can it be found by the interpreter when 'loading' the script?
<rlb>Hmm, how would it be found? i.e. if it's not bound to anything you could use to access it... I suppose the load-related functions might return the value of the last form evaluated in the file, but if they do, they don't appear to specify it in the docs.
<taeaad>"In addition to Scheme, Guile includes compiler front-ends for ECMAScript and Emacs Lisp (support is underway for Lua), which means your application may be extended in the language (or languages) most appropriate for your user base." What is meant by _extended_?
<rlb>taeaad: this is for cases (e.g. make, gdb) where the application has chosen guile as an extension system, and linked against libguile, so that you can write code for guile that affects (extends) the application in whatever way the application thinks is interesting.
<rlb>So gdb might provide a guile-level "add-breakpoint" function that you could call from scheme/lua/js/...
<rlb>(no idea what it offers atm)
<taeaad>Hmm, yeah the GNU Make example makes sense, I would have to see other examples to understand use cases.
<taeaad>I have a Python application that I wanted to port to using Guix as the package manager and then figures I might as well learn some Guile along the way.
<lxsameer>hey folks, few questions: 1) Does guile compiler supports generating native code? 2) Does it support effecient functional data structures like those in clojure 3) What is the common concurrency model in guile ?
<dsmith>1: Nope
<dsmith>But it does do JIT
<lxsameer>dsmith: what about transpiling to C?
<dsmith>That hasn't happened for a few decades.
<rlb>lxsameer: wrt 2, not more comprehensively/cohesively like clj, but it has a few bits, and there are external libs.
<lxsameer>thank you
<rlb>In lokke, I use wingo's functional hashes (but not his vectors). I wrote my own implementation of clj's vector, fwiw: https://github.com/lokke-org/lokke You're welcome to any of that if it were to suit your needs, and there's also pfds, and another lib I'm forgetting (among presumably others).
<rlb>(And disclaimer -- lokke's not likely ready to be your clojure replacement, depending on what you want/need.)
<dsmith> Deep in the mists of time, pre-historic Guile had something called "Hobbit" that {com,trans}piled to C. (IIRC)
<rlb>lxsameer: wrt 3 - https://www.gnu.org/software/guile/manual/html_node/Scheduling.html
<lxsameer>rlb: cheers
<rlb>Maybe also, fibers (which I haven't messed with yet, and are external).
<rlb> https://github.com/wingo/fibers
<rlb> https://github.com/ijp/pfds - though I ran in to some bugs I had to fix in lokke, and then switched to wingo's hashes (though note that those don't yet support true "dissoc" -- might try to ad that eventually if no one beats me to it).
<lechner>rlb / thanks!