IRC channel logs


back to list of logs

<daviid>OT: the @lisp, @code ... texinfo commands render floating point inserting a space after the point, any hints on this?
<chrishill>I am trying to learn Guile (and in turn Lisp/Scheme).
<chrishill>I am using the “GNU Guile 2.0.13 Reference Manual”.
<paroneayea>hiya chrishill ! cool
<chrishill>I was just wondering why the GNU Guile Manual reads like “GNU Guile For C Programmers”?
<chrishill>I get that C is *the* Unix language
<chrishill>But not everyone is trying to make extensions for their C applications
<chrishill>Anyway, I don’t intend to complain. I’m just curious
<chrishill>Also, the tutorial linked to from the lang’s website is about *first* writing (or copy-pasting) C code before even writing Guile
<taylan>chrishill: that's just one section of the manual, no?
<chrishill>That is a bit weirder to me, since it seems to be linked to as a general tutorial. A reference manual is a bit different.
<paroneayea>chrishill: you can learn a ton from the Guile manual, but it doesn't do that much to teach scheme
<paroneayea>there's interest in having a separate tutorial and a couple starts, but nothing that's been branded as official
<chrishill>taylan: It’s a general feeling I get from reading some of the relevant introduction chapters. The parts revving up to digging into the language. The narrative seems to be for C programmers that are like, “high level languages, why would I want that”? :p (for example
<chrishill>paroneayea: Gotcha. That’s perfectly understandable to me, since it’s a reference manual. The reason I chose it was that I wanted to learn things as I go since I am trying to implement something with a Lisp. The manual seemed to be the best I could find.
<chrishill>Short of finding some random blog post series from four years ago, which I wouldn’t know the quality of.
<chrishill>I get the feeling that “structure and intepretation...” is a general recommendation for learning Scheme. Also from the website.
<chrishill>Maybe I’ll also read a bit from that. Reading a classic like that certainly wouldn’t *hurt*. It’s just that I wanted to start working on my project as soon as possible. Not learn more introductory examples.
<paroneayea>chrishill: SICP is a great way to lean computer science concepts, and you'll certainly learn scheme from it, but it's difficult
<taylan>chrishill: that's a subsection of section 5, "Programming in C"
<paroneayea>chrishill: personally, I found The Little Schemer to help me get around the recursion challenges with scheme, and then I just kept flipping through the guile manual
<paroneayea>I also watched a lot of the SICP videos and read the book, but I'm not sure those helped me learn scheme as much as they helped me learn deeper CS concepts
<chrishill>taylan: Well sure. But other things like this tend to don’t make it a point to focus on one such *other* language, I feel.
<janneke>i have seen some recent effort at a scheme tutorial on the guile mailing list?
<paroneayea>janneke: both amz3` and I have started attempts
<paroneayea>mine didn't get that far
<taylan>chrishill: one of the main strengths of Guile is that it can be combined with C code as an extension language, and that's the focus of section 5, written for C programmers
<janneke>here's amz3's i think
<chrishill>To be more concrete, right now I just need to be able to read from text files and write them, and manipulate strings. Pretty much. So if there are Scheme tutorialso or resources which can teach me that, and perhaps some other resources for the concrete function names in Scheme implementations like Guile, that would be *ideal*.
<taylan>as a contrast there's section 4, written for Scheme programmers:
<chrishill>taylan: I see, thank you. I can certainly appreciate language interop. It feels like that is what most languages tend to do poorly (or: it’s what I suspect is most lacking in general).
<chrishill>In the future I might want to use Guile with other languages. That could be really useful.
<chrishill>(And I guess that’s one of the reasons I’m trying to learn Guile rather than Racket.)
<taylan>BTW it's indeed a shame that the only tutorial we seem to have is one about extending C programs. gotta get more people into scheme for its own merits.
<chrishill>janneke: Thank you, that “artanis” link looks useful to em.
<chrishill>Anyway I just wanted to check in with other users to get a feel for where I should go/if I’m on the right track
<chrishill>Thank y’all
<janneke>chrishill: good
<janneke>i found quite some useful file/string manipulation code in Guix ... it would be nice to get some of that into some library
<OrangeShark>janneke: chrishill: amz3`'s tutorial is at
<OrangeShark>second part
<janneke>OrangeShark: thanks
<chrishill>Yes, thank you :-)
<ArneBab_>chrishill: that’s how it seemed to me at first, too.
<ArneBab_>chrishill: these are the notes I wrote while starting into Guile:
<chrishill>ArneBab_: Thank you, that’s most gracious
<ArneBab_>chrishill: that writeup finally got me to write py2guile, which might give you some more steps:
<chrishill>Thanks again
<chrishill>Cool that you’ve been so meticoulus with documenting the process, it seems
<ArneBab_>glad to ☺ — most of the things in there are collected from answers I got here in IRC, and Emacs org-mode makes this collecting pretty easy.
<ArneBab_>chrishill: so a major part of the thanks should go to the folks in here who happily shared their knowledge and helped finding solutions to strange questions :)
<ArneBab_>chrishill: here’s another great resource to understand Scheme:
<daviid>chrishill: i recommend this to learn scheme: Sketchy LISP: An Introduction to Functional Programming in Scheme
<daviid>on this page you'll find a zip you m,ay download, it installes the book in html page locally
<chrishill>daviid: Thank you
<amz3>what's up #guile?
<amz3>catonano: hi!
<catonano>amz3`: Hi :-)
<amz3>I think the issue with your program, the stackoverflow thing is that you have too much deep recursion that is not tail recursive
<amz3>or something like that
<amz3>I think I will add a procedure to export a graph to dot format
<amz3>I am in the mood to code right now tho
<amz3>sorry :/
<catonano>amz3`: that's ok ;-)
<catonano>I understamd that my procedure should be tail recursive and it's not
<catonano>but I'm not sure how to make it tail recursive
<daviid>folks, does this (as an example) respect our manual texinfo 'conventions' for keywords and default values: @deffn Procedure im-display-channel channel width height [#:proc=identity] [#:port=(current-output-port)] ?