IRC channel logs


back to list of logs

<paroneayea>delimited continuations are so coooool
<svetlana>hi, I'm trying to understand what to do if I'd like to write a new app in guile - I can write it as emacs plugin - but I would be interested in a guile based ui toolkit - something 'graphical' - so far i only considered gnustep moderately interesting to program for but it is not in guile
<paroneayea>mark_weaver: around?
<nalaginrut>morning guilers~
<paroneayea>hello nalaginrut
<koz_>svetlana: IIRC, GTK has Guile bindings.
<koz_>How do I prepare a C library for calling from Guile?
<nalaginrut>koz_: you just need FFI
<koz_>nalaginrut: Thanks!
<svetlana>koz_: but i dislike GTK, i tried programming and using it but it's not flexible enough in the end
<svetlana>koz_: are there small examples or documentation for me to attempt it again? the interface is less flexible than gnustep's interface is
<koz_>svetlana: If you use the C interface, yeah, it's a bit unpleasant.
<koz_>For other interfaces, there might be examples or docs, but I've never investigated them much.
<taylan>ACTION wonders how Guile would have fared in
<taylan>ACTION puts it on the TODO somewhere to try to go through those tests with Guile
<amz3>taylan: but guile is not a static language
***user is now known as Guest77955
***Guest77955 is now known as HumanistRobot
<taylan>amz3: Python too, but still got a very good score
<wattenbarger>davexunit: I saw you mention a pending ice-9 json that you had written. Where is that?
<davexunit>wattenbarger: check the guile-devel mailing list archives
<wattenbarger>davexunit: alright. thanks.
<wattenbarger>davexunit: Some of the patch I found doesn't apply cleanly to the latest checkout. I was using this: It seems to be in the documentation, though. So, I'll just skip that and try to get the json.scm for now, unless there's a newer patch that I missed?
<davexunit>wattenbarger: that patch is for stable-2.0
<davexunit>not master
<davexunit>but you can just snarf the module code and use it as-is without patching guile itself
<davexunit>which would be the best bet for now
<davexunit>there are some problems with it to fix, but I think you'll find that it works acceptably.
<mark_weaver>wattenbarger: the main thing to keep in mind is that the use of #nil is going to change
<mark_weaver>davexunit: what did you decide to use instead of #nil? I've forgotten
<davexunit>mark_weaver: a 'null symbol
<mark_weaver>sounds good
<davexunit>that was one of the easy fixes
<davexunit>you had some other concerns that are much harder to address that I have to get to still.
<mark_weaver>also, I think we agreed to make it more strict in what types it accepted, or something?
<davexunit>object keys must be strings
<mark_weaver>wattenbarger: ^^
<davexunit>also fixed in my local guile
<davexunit>or we could do *only* symbols
<davexunit>symbols are nicer to look at
<davexunit>but json specifically uses strings as keys
<davexunit>so it makes sense to match what the format does
<mark_weaver>davexunit: using symbols would conflict with 'null
<mark_weaver>or no?
<davexunit>yeah that would pose a problem
<davexunit>since null is special
<mark_weaver>although I suppose if the keys of JSON objects are not themselves arbitrary JSON objects, they there is no conflict there.
<mark_weaver>e.g. if null can't actually be a valid JSON object key
<mark_weaver>s/they there/then there/
<mark_weaver>I don't recall the details of JSON
<taylan>JSON object keys must be strings
<wattenbarger>good to know. really just wanted to check it out. not sure how much I like the guile-json on github. I like the chicken scheme one:, but it uses a whole parsing lib and lazy-seq lib, and I don't know if I have the chops for porting all that.
<davexunit>wattenbarger: (ice-9 json) uses a very simple parser and does not use macros like guile-json
<davexunit>it also allows json objects to expressed with simple s-expressions
<cmhobbs>fwiw, i just used guile-json and i don't know that i care for it much
<davexunit>whereas guile-json requires the use of hash tables and special macros
<cmhobbs>it got the job done
<cmhobbs>but it wasn't optimal
<wattenbarger>yeah, and I think I like the sxml/sexp style a little more than what the medea lib does
<davexunit>cmhobbs: yeah, that's how I felt, and thus why I wrote a replacement.
<mark_weaver>I definitely think (ice-9 json) is the more promising approach, although it needs some minor revisions before going on.
<mark_weaver>*going in
<davexunit>but the general approach is good :)
<civodul>yeah it looked good to me
<davexunit>I'll get the issues sorted out sometime... so many things I want to do.
<wattenbarger>i've got a bunch of python for working with couchdb, and I like the idea of using Guile instead, so I was looking for pieces I wouldn't have to rewrite. couchdb can be queried and controlled all through http and json.
<paroneayea>hello #guile!
<paroneayea>I'm feeling optimistic about this async loop stuff I'm writing.
<daviid>hello guilers
<cmhobbs>hi daviid
<daviid>civodul: fyi, i did not receive an answer from ftp-upload, to confirm authorization to upload ... yesterday i tried, no errors but nothing is effectively uploaded
<civodul>daviid: did you get a notification by email, of success or failure?
<civodul>if you didn't receive anything, it probably means you're not registered
<civodul>in which case you should ping
<daviid>ok I'll ping them copying the email we've excahnged with Lisa ...
<daviid>no notification, no success neither falure notice
<paroneayea>oh awesome
<paroneayea>I thought SICP was licensed under CC *NC still
<paroneayea>but looks like it's CC BY-SA 4.0 now
<davexunit>whoa really?
<davexunit>you're right! that is *awesome*
<davexunit>wonder when that happened
<sepi`>do you wanna sell it?
<davexunit>no, but the NC clause made SICP a nonfree work for a long time
<davexunit>now people can freely remix
<sepi`>I see
<davexunit>and maybe sell some enhanced version
<paroneayea>or bundle with free software distributions
<sepi`>now it's GNU compatible
<davexunit>paroneayea: yes, that's a great point.
<paroneayea>also CC BY-SA 4.0 is now one wasy GPL compatible
<paroneayea>so that's *also* good news
<daviid>civodul: I did ping, but not knowing how much longer this will take :), I've uploaded here and will upload guile-clutter, a 'false' guile-cairo-1.10, guile-sqlite tarballs and sig ... better then bad links in our web-pages I think ...
<daviid>wingo: i see you did not tag guile-clutter after 0.8, i guess it is because savannah makes snapshots, which in our 'case' would be wrong [the name of the snapshot, and even the content if snapshosts are made from master?]
<civodul>daviid: ok; usually they are responsive for these things, not sure what happened
<daviid>civodul: yeah, it's fine, it will happen, sme day ... :)
<daviid>civodul: savannah snapshots are always made of master right ?
<daviid>s/made/built out of
<civodul>what do you mean by "savannah snapshots"?
<daviid>civodul: when I tagged v2.16.3, without asking, the system built a snapshot, here
<civodul>it's automatically generated from the "v2.16.3" tag
<daviid>^^I did not ask neither did anything for the snapshot to be vuilt and upload there
<civodul>so it's not bootstrapped, unlike a "make dist"
<civodul>and it's not authenticated either
<civodul>IOW, don't ask people to use that :-)
<daviid>right, and a tag is attached to a commit, but does it knw the branch?
<daviid>civodul: i understand, my quizz because we [unfortunately] still share guile-gnome and guile-clutter, if i tag, it will build guile-gnome-vclutter-1.12.2.tar.gz right ? the name would already be horrible, but what I am curious abut the content?
<daviid>it's ok, I won't tag, I'm just curious really
<daviid>hopefully we'll split these 2 soon anyway...
<civodul>sorry i don't know enough to comment
<daviid>civodul: no problem, tx anyway!
<bubu^>last time i tried, guile-benchmark failed with 2.1.1
<bubu^>any plan at adding srfi 110 or 119to guile ?
<koz_>bubu^: What do they do?
<bubu^>replace ((((())))) with to write valid scheme
<bubu^>ideal for using guile as script/config to use for noobs
<koz_>Ah, so it's a superior curly-bracket thing?
<bubu^>it appears to depend of the curly lib
<bubu^>and extend it