IRC channel logs

2015-10-27.log

back to list of logs

***tifa is now known as m0li
***rlb` is now known as rlb
<nalaginrut>morning guilers~
<atgnag>Is there an https-get function someplace?
<atgnag>ERROR: no code for module (ice-9 recieve)
<atgnag>Why don't I have ice-9 recieve? I thought that was included.
<nalaginrut>atgnag: you can write one easily, with gnutls-guile
<nalaginrut>atgnag: maybe you didn't install Guile properly?
<atgnag>I installed the one from the distro repository.
<lloda>atgnag: but are you spelling it right? if you are, it's also available as (srfi srfi-8), see if you have that
<civodul>Hello Guilers!
<djcb>suppose I have define a procedure foo, and I have (define bar (string->symbol "foo"))
<djcb>how can I execute bar?
<remi`bd>bar is not a procedure
<djcb>indeed
<remi`bd>thus, what is your question?
<djcb>well, bar is a symbol referring to foo
<djcb>so i'd like to somehow execute foo using this symbol
<remi`bd>aaah
<remi`bd>symbol-fref
<remi`bd>maybe
<remi`bd>doesn’t seem to work
<remi`bd>ok, nevermind.
<djcb>or, more generically, I'd like to resolve a function based on a string value I get at runtime
<remi`bd>oh
<civodul>djcb: you can use (module-ref (current-module) 'bla)
<civodul>however, it's usually not a good idea
<civodul>because it makes it hard to reason about what the program does
<remi`bd>maybe an association table `string ↔ function' would be more understandable
<civodul>modules as essentially that
<civodul>err
<civodul>modules are essentially that
<civodul>that is, a hash table that maps names to objects
<djcb>ah, thanks
<djcb>I want to handle <n> commands in a little shell-like situation
<djcb>where each of the commands would be handle my some scheme procedure
<djcb>handle-cmd-<CMD>
<civodul>i see
<civodul>i would recommend using your own lookup mechanism
<civodul>like, (define %commands `((foo . ,foo) (bar . ,do-bar)))
<civodul>and have code explicitly look for commands in this '%commands' alist
<djcb>Yeah, that was my plan-b :-)
<civodul>this is safer than constructing identifiers on the fly and looking them up
<civodul>it should be plan A :-)
<remi`bd>does `(module-ref (current-module) 'foo)' intern foo ?
<civodul>symbols are automatically interned
<civodul>and 'foo is a symbol
<civodul>but in Scheme symbols have nothing to do with variables
<wingo>moin
<sneek>wingo, you have 3 messages.
<sneek>wingo, dsmith says: real 305m9.874s
<sneek>wingo, dsmith says: That was for "time (git clean -dxf; ./autogen.sh && ./configure && make && make check)"
<sneek>wingo, dsmith says: v2.1.0-2470-ge5bccb6
<wingo>5 friggin hours
<nalaginrut>well, seems we do need package manager for binary install
***adhoc_ is now known as adhoc
<dsmith-work>wingo: But that's my old slow laptop.
<dsmith-work>wingo: Have you considered shipping bootstrap .go files in the dist tarball?
<davexunit>shipping a binary in a source tarball seems a bit wrong. maybe a separate tarball?
<dsmith-work>Would need the 4 varieties of wordsize and endianness.
<davexunit>seems like separate binary release tarballs would be the way to go, if it were to be done at all.
<davexunit>Guix does this.
<dsmith-work>Well, the pain only happens once. And not at all for a distro package.
<davexunit>yeah
<roelj>Is there a function similar to 'scm_to_uint16' that can deal with floating point numbers (truncating them).
<roelj>*?
<roelj>Or can I do something like casting to an int in Guile?
<taylan>roelj: (info "(guile) Reals and Rationals") see e.g. scm_to_double
<taylan>well that seems to be the only _to_ one for real and rational numbers
<taylan>if you want a float, you can always just cast it (explicitly or implicitly) and C should DTRT
<roelj>Alright, thank you!
<civodul>call-with-container! https://news.ycombinator.com/item?id=10457761
<davexunit>upvote upvote upvote
<wingo>has anyone gotten guile to serve https?
<wingo>ACTION uses nginx to strip the tls
<wingo>not sure if https://letsencrypt.org/howitworks/technology/ is a guile or a guix topic
<davexunit>wingo: paroneayea was recently working on getting gnutls integration with guile core to do stuff like this
<davexunit>wingo: I got into their beta program. their python client has a rather large dependency tree, though, so I haven't gotten it running yet.
<paroneayea>wingo: davexunit: yeah I need to finish it
<davexunit>wingo: there's a thread on guile-devel about https stuff, I think.
<davexunit>with a patch
<djcb>another dumb question, I'd like to get all sub-matches in e.g.
<djcb>(string-match "^(\\\\w)*$" "abcde")
<djcb>but it seems I only get two matches -- the whole string and the "e"
<djcb>so how do i get a, b, c, d?
<petter_>djcb, you only have one capture group which is overwritten
<djcb>petter_: yes, seems that's what's happening
<mouldysammich>Hey, Is there any simple sdl + render/game loop example? Im just having some trouble with it.
<davexunit>mouldysammich: I don't know of a ready-made example. you are using guile-sdl I imagine?
<davexunit>there's 3 basic steps: process event queue, update game state, draw.
<mouldysammich>Yeah, I am using guile-sdl that is helpful though thanks.
<davexunit>though I don't have a simple example, I can at least show you the relevant Sly code
<davexunit> https://git.dthompson.us/sly.git/blob_plain/HEAD:/sly/event.scm
<davexunit> https://git.dthompson.us/sly.git/blob_plain/HEAD:/sly/game.scm
<mouldysammich>Great. That is absolutly perfect! Thanks very much.
<davexunit>mouldysammich: you're welcome. hopefully you can pick out the SDL essentials from the Sly craziness.
<daviid>wingo: hello! did you see this: https://lists.gnu.org/archive/html/guile-devel/2015-10/msg00025.html
<wingo>not yet i am fixing my mail on this machine
<daviid>If you could look at it asap, well, thanks! It is rather urgent, imo, because I don't think any distro still ship gcc 4.9 now adays, if any, and guile-gnome does not work when compiled using gcc 5.2
<wingo>i would be surprised if distros don't ship gcc 4.9 as an option
<wingo>fwiw.
<daviid>ah ok, thanks, but still, for our reputation :)
<daviid>I will update webpages in the mean tije, to inform we only support gcc 4.9
<daviid>speaking about that, could you grant me guile-gnome full citizenship rights on savannah?
<wingo>you mean admin rights? sure i guess
<daviid>wingo: yes, i'd like to change the savannah welcome page a bit, and upload tarball [2.16.3 is still inexistant] ...
<daviid>wingo: if you had email prob these last few months, i did ask for a separate guile-clutter GNU Porject page, it's waiting for your acceptance, did you read any of these email exchanged with gnueval [no mail archive for this list i think]
<daviid>wingo: Brandon Invergo wrote, Sept the 4th ... I need to wait for Andy to weigh in on the situation before I can take any further action... [to your wingo@pobox.com and maintainers@gnu.org]
<wingo>sorry, i got married around then and am still catching up, moving to different laptop too, will get to it soon tx for reminder
<daviid>wingo: it's ok, try to do it soon, it will only take you 2 min [granting admin is a click and answer yes [if you agree of course to Brandon, many thanks!]
<daviid>[ i new you got married, congrat! and i did read the Spane related citizenship, what a sad story! I myself faced more then once this situation, and here I still face basic racism day to day... ]
<wingo>tx
<daviid>including in the US by the way, I lost my H1B1 because I just did not know I had 1 week ...
<wingo>sux :(
<wingo>h1b sounds like the worst possible thing
<daviid>yes, they started to abuse the situation i desagreed, quit and made a trip, when i came back i discovered I lost .. i was chocked, it took me some time to recover [and never got back to the US since]
<daviid>wingo: last thing [sorry to pile on the remind stack :)] we need a guile-cairo 1.10 release, otherwise I can not check, guile-gnome, guile-clutter for >= 1.10, then users install 1.9 and possibly leads to runtime bugs..
<wingo>k
<daviid>wingo: in the mean time [guile-clutter GNU Project page] i uploaded new Guile-Clutter pages here: https://www.gnu.org/software/guile-gnome/clutter/
<wingo>nice!
<daviid>[ it's not released yet, just the webpages are alomst rerady ]
<daviid>thanks!
<csed>So what's the best way to give the true clause of an if statement multiple expressions?
<roelj>csed: I'm far from an expert, but you could try wrapping the expressions in (begin ...)
<davexunit>that's exactly it
<csed>Great, cheers.
<amz3>let* can play the role of begin if you have bindings to do
<davexunit>yes, any compound expression will do
<davexunit>just depends on what you're after
<csed>Just going through this exercise in PAIP. Make a power function. Figured I'd do it with recursion rather than iteration, so I'm trying to find a decent way to go about it.
<amz3>the easiest is to define a procedure that you call in its definition
<amz3>the other way is to use a named let, usually I prefer not to use named let when I can
<csed>So I'm having the problem that through a recursive call the computation done in the previous call gets overwritten by the (let ((this 1)) ... So what I do is (set! num (* num curr_num)), but I do a ((curr_num num)) in the above.
<csed>above let.*
<csed>I had the idea to check whether curr_num is defined, in which case it wouldn't re-define it. But that seems like the wrong way to go about this.
<csed>So this is how I went about it at the end. It looks horrible, so if anyone has any improvements (other than using the built-in function), they're welcome. http://paste.debian.net/318435/
<paroneayea>btw wingo, I think I got that check for thunk? removed, tests are passing, gonna retry my code in a few and see if everything works nicely and try submitting the patch to the list
<paroneayea>the good news is that ,trace (delay (+ 1 2 3)) is now reasonable again :)