IRC channel logs

2024-01-07.log

back to list of logs

<xelxebar>Is there a preexisting procedure to get the nub of a list of strings?
<xelxebar>Nub just being the list of unique elements.
<pinoaffe>xelxebar: no
<pinoaffe>xelxebar: I would probably do something along the lines of https://bpa.st/RXXA
<pinoaffe>where cut is from srfi-26
<xelxebar>pinoaffe: Ooh. That's a much better approach than I was thinking. Cheers.
<chsasank>hey folks, can you help me design a wrapper for MLIR? I am looking to write my own mlir emitter - not unlike mojo but based in guile. I am choosing guile because of its amazing documentation and community of projects. Do you think guile is right for me? Two important considerations for my project: interop with c/c++ libs like MLIR
<lilyp>you might want to look into schmutz if you're doing C++↔Guile interop
<chsasank>this looks great thanks
<chsasank>Do you think guile is a good fit for my use case?
<lilyp>‾\_(ツ)_/‾
<Zelphir>Hi! I have a question regarding quasiquote and unquote (I think at least it is about that.). I seem to make some silly mistake in using quasiquote. I have this code here http://0x0.st/H6FI.scm to make a hash-table. But when I do hash-table-ref with south, I get (north), instead of north. But when I create what I previously thought was an equal alist using list and cons (http://0x0.st/H6Fl.scm), I get correctly north, instead of (north). But I
<Zelphir>don't see how I am using quasiquote wrong. What am I doing wrong?
<Zelphir>I should add, that north, south, east, west are procedures in my case.
<rlb>Zelphir: offhand, I'd be suspicious of what "north" is bound to when the quasiquote expands. i.e. any chance it's actually a list containing the north you expected?
<Zelphir>I think that could not be the case, because I am defining north directly above (contains spoilers of advent of code): https://codeberg.org/ZelphirKaltstahl/advent-of-code-2023/src/commit/db409655487a9287b93c863be6c41960f82114c7/guile/day-14/part-02.scm#L235-L271
<Zelphir>If I run my program with the list and cons version, it works. If I use the quasiquote unquote version, it errors.
<Zelphir>There is a Makefile in the day-14 directory, that could be used to add dirs to load path: make part-02.
<Zelphir>I am unable to reproduce this behavior though with: http://0x0.st/H6Fk.scm
<Zelphir>So I think something silly I am doing wrong is going on.
<Zelphir>Also only got "define north" once in the file and definition of the hash table is on top level and I am not doing set!. Not sure how north could be a list containing the procedure.
<rlb>yeah, don't see it yet myself, either. I vaguely wondered if one of the imports might be messing with "something". Might try using the same define-module in your simpler test file if possible.
<Zelphir>Hm still cannot reproduce with http://0x0.st/H6Cz.scm
<Zelphir>I mean, I can go on without the quasiquote version, no problem, but I feel like I am not understanding something there.
<Zelphir>(that would be called with: guile -L . -L lib upload.scm, in an environment, where guile-pfds is available)
<rlb>Without delving too carefully, from part-02.scm, I also don't see why it'd be giving you different results. I suppose you could scatter some additional output statements to see if/when the value changes. i.e. is it "right" to begin with, and then changes, etc.
<Zelphir>I found something strange: When I output the hash table as an alist (converting it back, using hash-table->alist procedure) the first element of the alist is actually a list, not merely a pair.
<Zelphir>Checking if that is already the case right after defining the table.
<Zelphir>ahhhh omg ...
<Zelphir>I must have been blind for hours ... I forgot the damn dot between ,south and ,north.
<Zelphir>This blunder cost me hours. Argh.
<Zelphir>Yep, now it works with quasiquote ... All just my stupid typo.
<rlb>Hah, ouch, and yeah, I clearly glossed right over that too.
<rlb>But glad you found it.
<Zelphir>. and , are looking so similar, I guess.
<Zelphir>Anyway, thanks for helping me out!
<rlb>certainly
<gnucode>hello friends.
<gnucode>I'm trying to re-install haunt on the Hurd.
<gnucode>I've got it installed already, but it does not see that I have installed guile-commonmark
<gnucode>in the haunt source code, when i run "./configure" I see this.
<gnucode>checking if (commonmark) is available... no
<gnucode>I've tried exporting the variable PKG_CONFIG_PATH to /usr/local/lib/guile/3.0/site-ccache:/usr/local/share/guile/site/3.0
<gnucode>but still the configure is not seeing the installed guile commonmark
<rekado>does this location contain any .pc files? If not then PKG_CONFIG_PATH is not the right thing to use here.
<rekado>it’s likely checking via GUILE_LOAD_PATH / GUILE_COMPILED_LOAD_PATH
<gnucode>ahh.
<gnucode>I will give that a try then.
<gnucode>export GUILE_LOAD_PATH="/usr/local/share/guile/site/3.0"
<gnucode>checking if (commonmark) is available... yes
<gnucode>that's a good sign
<gnucode>checking if (system reader) is available... no
<gnucode>that might be a problem...
<gnucode>I'm not sure where system reader would be...
<gnucode>haunt build is failing...
<gnucode>I'm trying to load it in a pastebin, but netsurf is not powerful enough for debian pastebin...
<gnucode> https://dpaste.com/HJQNLNZXY
<gnucode>there we go.
<rekado>the guile-reader package provides it
<gnucode>ok I'll take a look
<gnucode>does guile-reader run on guile 2.2 only? Seems like that's what the website says.
<gnucode>hmmm, I need to install guile-reader via auto-tools manually.
<rekado>it works fine with Guile 3
<rekado>there’s a Guix package for it too.
<gnucode>rekado: I don't actually have the guix installed on Debian GNU/Hurd.
<gnucode>I'm not sure that my harddrive is enough to have it installed.
<gnucode>but thanks for the help though.
<gnucode>./configure
<gnucode>configure: error: cannot find required auxiliary files: config.rpath config.guess config.sub ltmain.sh ar-lib compile missing install-sh
<gnucode>hmmmm.
<gnucode>aclocal && autoconf && ./configure