IRC channel logs

2022-10-24.log

back to list of logs

<a12l>What's a good learning resource for Guile? I've tried reading the guile reference manual, but it suits badly for reading linearly (or at least now in the beginning). I don't have any lisp experience to talk about. I'm a CS student, and I've mostly developed in Haskell, Java, etc. Don't know what other scheme resources I can use for learning Guile.
<a12l>I'm also reading Clojure for the Brave and True, and I see several similarities between Guile (Scheme?) and Clojure and the small bits of emacs lisp I understand.
<a12l>I want to learn Guile to be able to configure Guix for now, but it seems to be a nice systems programming language so I want to use it for other tasks also later on.
<technomancy>a12l: the main guile web site got updated like ... yesterday, to link to cwebber's tutorial instead of some ancient 2009 document so I'd start there
<a12l>technomancy: Thanks! Didn't know that!
<a12l>In general, what's the overlap between Scheme languages? What makes them different?
<a12l>From a language perspective
<a12l>E.g., how much does SiCP, HtDP, etc. give for Guile?
<davii>a12l: didn't you ask those same questions here no so long ago?
***davii is now known as daviid
<a12l>davidl: Not what I remember? I did ask about when people use Clojure for stuff, and when they use Guile. But I don't think that I've ever asked about the differences between different Scheme languages.
<a12l>davii: ^
<a12l>And now I'm specifically asking about learning resources. Maybe different scheme implementations differs a lot, but does their learning resources differ as much?
<drakonis>a12l: SICP and HtDP are books
<drakonis>they are two sides of a coin
<drakonis>however, htdp will require racket
<dadinn>I am trying to configure lsp-mode for guile. I've installed the lsp-cheme package, added lsp-scheme to scheme-mode-hook, but when I open the code I get this error: https://termbin.com/eadq
<dadinn>any suggestions?
<daviid>dadinn: i would report those to the lsp-* packages author(s), very likely, the code must be adapted to work with the latest guile
<robin>dadinn, scheme-lsp-server appears to set the json-rpc-log-level parameter to 'silent in parameterize-and-run from server.scm, specifically
<robin>i'm unfamiliar with the json-rpc package but probably that particular setting became unsupported for whatever reason
<daviid>right, i should have said *very likely the code must be adapted to work with the latest guile and/or to the latest version of the other modules it uses ...
<robin>a12l, i'd say the main difference for textbooks is that schemes have very different module/library systems, and also some books depend on an implementation's nonstandard built-in libraries. less of a problem with older books that are still popular like SICP and _Simply Scheme_ (which is mostly intended to prepare CS students for SICP, iirc)
***karlosz_ is now known as karlosz
<cwebber>technomancy: whoa it did?!
<technomancy>cwebber: the old one was ... uhhh, really bad. like it told you how to use guile 1.8.7 and gcc 4.3.1, so I reported it.
<technomancy>replacing it with your primer was civodoul's idea tho
<technomancy> https://git.savannah.gnu.org/cgit/guile/guile-web.git/commit/?id=11ae5ad5d8e4752d012518f4f7f0c30a1e52633e =)
<drakonis>praise the technomancer
<drakonis> https://syndicate-lang.org/ i find that the crossover between communities is real and its worth checking out
<cwebber>technomancy: awesome :D
<cwebber>sneek: later tell civodul omg thanks for putting the scheme primer on top of the learning guile page! amazing
<sneek>Will do.
<cwebber>I still gotta write that package that generates a .texinfo from it
<cwebber>er
<cwebber>.info
<daviid>cwebber: did you use texinfo to write the document?
<daviid>cwebber: nvm, i see you used org
<a12l>robin: Thanks for your insight!
<wingo>fwiw https://github.com/wingo/tekuti/blob/master/tekuti/marxdown.scm
<cwebber>marxdown, ha
<dsmith-work>Monday Greetings, Guilers
<dsmith-work>!uptime
<sneek>I've been running for 12 days
<sneek>This system has been up 10 weeks, 6 days, 10 hours, 27 minutes
<dsmith-work>sneek: botsnack
<sneek>:)
<a12l>cwebber: Is the tutorial available as an org-file?
<cwebber>a12l: it is!
<cwebber> https://gitlab.com/spritely/scheme-primer/-/blob/main/scheme-primer.org
<cwebber>and in german :)
<cwebber> https://gitlab.com/spritely/scheme-primer/-/blob/main/scheme-primer.de.org
<a12l>cwebber: Thank you so much! Used Pandoc to generate a nice print-version of the guide :D
<cwebber>:D
<gabber>i'm on a bug hunt for some pretty weird thing. if i (load "/tmp/testfile.scm") -- a file that i had just written in a test -- i get a different object than when i copy that very same file to "./tmp/this-should-fail.scm". i have no clue where to start looking....
<lilyp>Do you use stuff like (current-filename) to get to this "object"?
<daviid>lloda: tx for the feedback - i pulled the latet guile version and cherry-picked your patch, if it wasn't for your patch and the usr side config that it allows, it would just be impossible to work with guile, in the context of guile-cv and projects that 'constantly' manipulates large (very large
<daviid>structures
<daviid>lloda: so, thanks! I am sorry to hear that you couldn't make this attempt of a patch that would not rely on making changes in (ice-9 boot-9), which currently _is_ the blocker, for users I mean
<daviid>lloda: - then, in the light of 'all this', and now that you say it is not possible, I re-iter my demand for this totally harmful patch to be applied in (ice-9 boot-9)
<daviid>*not possible to patch in a way that would not need changes to be made to (ice-9 boot-9) ...
<daviid>then, anyone interested, can spend the other decade to try to find 'the better solution' it has bee said here 'there is ...' -
<gabber>lilyp: no! i just write to "/tmp/testfile.scm" and then (load) that path (hard-coded)