IRC channel logs


back to list of logs

<mbakke>amz3: gash is a Guile implementation of bash.
<mbakke>Searching the web for the link was surprisingly difficult (and NSFW), but here it is:
<mbakke>There has been some discussion about it on the Guix lists.
<amz3>ACTION night
***handsome1pirate is now known as handsome_pirate
***heroux_ is now known as heroux
<gtoast>Does anyone have instructions for installing guile on ubuntu? I don't know how to translate the root user commands to Ubuntu where there is no root directory and barely a root user.
<gtoast>Particularly the command that makes the root profile visible in their home directory.
<gtoast>Err, not guile. instruction on how to install Guix on ubuntu. Sorry.
<amz3>well, what is the issue
<amz3>you can 'sudo su'
<amz3>it is as if you were logged in as root
<jsutatool>is there any programms (except ones in front page of guile site) that use Guile as their language for extensions?
<justin_smith>there's quite a few, lilypond and guix off the top of my head, I don't know if there's a comprehensive list though
<jsutatool> /disconnect
<atw>Guix recommends putting one's guix source checkout on %load-path via geiser-guile-load-path ( If I have many guile projects in ~/src, how can I set geiser-guile-load-path to include all of them? One way would be to use directory local variables in every project, e.g. in project-a add "~/src/project-a" to geiser-guile-load-path, do the same in
<atw>project b, etc.
<ym>I know it's not the way Guile meant to be, but SBCL for example has very good VM with two layers of code abstraction (internal representation), which beside other benefits makes it easy to port the compiler to another architectures. So what if in this particular case a more sane solution (how to join Guile and Common Lisp) would be not to implement CL compiler on top of Guile VM from scratch, but port SBCL's VM (on top of one of IRs) to Guile's "architecture"?
<atw>Another way would be to find the directories in ~/src, then add all of those to geiser-guile-load-path globally. What approach do people here take?
<atw>I've decided to take the second approach, via something like (setq geiser-guile-load-path (f-entries "~/src")). Now any geiser REPL can switch to the module of any project I'm working on.
<amz3>sneek: later say, for your load path problem, you can setup guile load path in .guile I think
<amz3>sneek: later tell atw, for your load path problem, you can setup guile load path in .guile I think
<sneek>Will do.
<Javyre`>Hi, what does the "rst" argument do in `scm_c_define_gsubr` ? Im guessing its some sort of variadic argument flag?
<justin_smith>> The arguments req, opt and rst specify the number of required, optional and “rest” arguments respectively.
<justin_smith>> The number of rest arguments should be 0 or 1
<justin_smith>so yeah, sounds like 1 means "it takes variable number of args"
<Javyre`>yeah but how does that work? does it set a list of given args as the last argument to the C func or something?
<justin_smith>I can only speculate but that's how every system I've ever seen does it - implicitly put all rest args into a collection and pass a pointer to that
<justin_smith>but someone here probably has a more specific answer
<Javyre`>alright, thanks anyways