IRC channel logs

2023-10-03.log

back to list of logs

<adanska>hi! how can i examine a guile object to see its internal fields ect?
<alexsotodev>Hello! I'm interested in porting a pure Scheme implementation of the 9p networked filesystem protocol, from Chicken Scheme to Guile. Any pointers or suggestions? Based on the documentation it requires the iset egg, which is related to integer sets. I'm not sure what's the equivalent in Guile. https://wiki.call-cc.org/eggref/5/9p
<rekado>alexsotodev: there’s srfi 217, but I don’t know if a port for Guile exists: https://srfi.schemers.org/srfi-217/srfi-217.html
<alexsotodev>rekado: Thanks, Looks like srfi 217 is not mentioned in the Guile Reference Manual, I'm going to keep researching. Thank you.
<alexsotodev>Found a relevant post in the mailing list, https://lists.gnu.org/archive/html/guile-devel/2023-02/msg00090.html
<mwette>alexsotodev: take a look at share/guile/3.0/language/cps/intset.scm
<mwette>maybe not what you want, but may can be used; also guile has bitvectors
<alexsotodev>mwette: Thank you. I'll take a close look today!
<abcdw>hey guile! After performing join-thread I get thread-exited? returning #f and only after some time (sleep 1) it becomes #t, is it a bug? https://paste.rs/qrrYe
<alexsotodev>mwette: For clarification, the path 'share/guile/3.0/language/cps/intset.scm' are you referring to Guile's source repository or local?
<mwette>the installed guile; under the last entry in %load-path
<mwette>often /usr/local/share/guile or /usr/share/guile
<mwette>or this: https://git.savannah.gnu.org/cgit/guile.git/tree/module/language/cps/intset.scm
<mwette>to use: (use-modules (language cps intset))
<alexsotodev>mwette: Thank you for clarifying, I appreciate it.
<RhodiumToad>intset is used primarily by the compiler, but it may have other uses
<ekaitz>janneke: i managed to make that tabular output I told you the other day
<ekaitz>janneke: "Updated at~32tDir~36tFilename~86tSize~91tSHA-1~&~:{~A~33t~@[d~]~36t~A~84t~@[~6d~]~91t~@[~A~]~&~}"
<ekaitz>that's the `format` incantation i did finally, in gash-utils ls's printing is implemented by hand instead
<janneke>dude...
<janneke>haX0R :)
<ekaitz>janneke: hehe
<ekaitz>the iteration thingie is superpowerful
<janneke>yeah, very nice
<alexsotodev>mwette: Thank you for your support, the 9p-client mostly relies on bitvectors which like you said Guile has, I only had to implement two functions from iset to Guile so I believe now the code should mostly be portable. I'm going to slowly make my to porting the 9P library to Guile.
<mwette>alexsotodev: yw, I'm happy to help
<dsmith>alexsotodev, Watch out! You might start using acme instead of emacs for Guile coding
<alexsotodev>dsmith: That's what I'm scheming, one parentheses at a time. Emacs Thesis + 9P Protocol, creating a more Plan 9 or Genera-like system one application at a time.
<dsmith>The plan9 environment is fascinating, but so radically different it would be like walking on your hands and using your toes to communicate in sign language.
<alexsotodev>Yeah, it's different, and I think with some changes to the model it can be made more accessible.
<graywolf>Would anyone know why guile is not compatible with srfi-197 implemented using syntax-rule? Is some part of syntax-rule syntax not supported in guile?
<graywolf>File in question: https://github.com/scheme-requests-for-implementation/srfi-197/blob/master/srfi-197.scm
<graywolf>Error message when used with (chain 1 (pk _)): https://paste.debian.net/1293941/
<haugh>graywolf, Guile's syntax-rules is implemented via syntax-case, and Guile's syntax-case does not permit using ... as a literal
<haugh>this is what with-ellipses is for, but that's not relevant.
<haugh>use the syntax-case implementation, which does have a couple of snags:
<haugh>oops, hold on a sec
<haugh> http://0x0.st/HW1s.txt
<haugh>Instead of pulling eof-object out of (ice-9 binary-ports) you could (define eof-object the-eof-object)
<graywolf>I am using (scheme base) to get the eof-object
<graywolf>Is that also correct?
<haugh>Oh sure
<haugh>I have no idea about best practice when it comes to these overlaps
<graywolf>¯\_ (ツ)_/¯
<graywolf>Thanks for the help :) I wanted to understand what was wrong.
<haugh>There may be other problems but I went through this exact same rigmarole
<haugh>you're welcome
<haugh>oh not that it matters but that should be (define (eof-object) the-eof-object) above