IRC channel logs


back to list of logs

<daviid>leoprikler: went afk, but your last example is a good example tx
<daviid>leoprikler: can you tell me, in guile-gi, short name gf are not 'made' at all, or are made but using a prefix or postfix?
<leoprikler>Guile-GI internally creates short names for everything that GI marks as a method.
<leoprikler>However, Guile-GI strongly encourages the use of modules, specifically through the (use-typelibs ...) syntax.
<daviid>leoprikler: yes, so does g-golf, but what about shrt names hat are guile core syntax, like begin?
<daviid>i was answering the first sentence
<leoprikler>So it just lets them bind those as well and then uses module magic to filter out unwanted imports.
<daviid>every oe should use modules
<daviid>so there are filtered out
<leoprikler>no, what I mean, is that instead of importing stuff directly into your script as seen in the example you posted
<daviid>not made into generic funtion usingh a prefix, postifx or both then?
<leoprikler>Guile-GI creates modules internally (e.g. (%gi Gtk-3.0)) when using that syntax
<leoprikler>And upon importing from (%gi Gtk-3.0), you can add a #:renamer
<daviid>that doesn't sound like something i want to do in g-golf, but thanks
<leoprikler>And they also have a renamer function, that takes a (list of) symbol(s), an optional prefix and an optional suffix (the default being just prefixing everything with '%)
<daviid>ok tx. I think
<leoprikler>IIUC G-Golf binds stuff directly in the module
<leoprikler>perhaps you could take the renamer as an optional argument in your functions or use a fluid
<daviid>leoprikler: methods are added to their generic function, those are added to the public interface of (g-golf hl-api gobject) - which from a user point of view is an impĺementation detail I would say - to your last suggestion, maybe
<daviid>but I didn't think to oofer renaming 'facilities', and wrt short name methods, when they exist as guile core syntax, I t am thinking to rename those using a postfix _ as
<daviid>like begin_
<leoprikler>underline looks pretty weird in lisp imo
<leoprikler>Also note, that you can't just hardcode Guile core syntax and say "Yep, I'm done".
<daviid>I don't want to prefix, and certainly not using %, which is used both in guile and g-golf ... but postfix and offer a default char to be used sounds good to me
<daviid>i don' understand yur last sentence
<daviid>ok, I am going to implement what I just described and see how that goes, will let you vknow, and others 'here', when it's done, so you may try
<leoprikler>The last sentence was w.r.t. "when they exist as guile core syntax" – your users might have more stuff to protect. In Guile-GI for instance, there are several testcases protecting test-begin etc. because Guile-GI "long" names don't have the namespace in them and therefore the GLib test module clashes with SRFI-64.
<leoprikler>You may not have that exact problem, but you could still run into cases where a short name clashes with custom syntax from non-core stuff.
<leoprikler>Not sure what meaning it would carry in Scheme, but Vala uses the "@" prefix for functions that would override syntax.
<daviid>leoprikler: are you developing a gnome app in another language? just curious
<daviid>leoprikler: long names, from imported typelib, should be unique in the universe :)
<leoprikler>I think they are in G-Golf, because you have the full name, no? e.g. gtk-window-destroy.
<daviid>right, as for other language binding, by long name, we mean the 'original function or method name
<leoprikler>Well, Guile-GI doesn't really have those. It has short names and long short names, because the namespace is always discarded.
<daviid>I won't prefix, but thanks for the suggestion
<leoprikler>I'm not quite sure why, though.
<leoprikler>My GNOME experience is mostly through some small Vala applets.
<leoprikler>I once wrote a music player with bindings to Guile way before G-Golf or Guile-GI were ready for use.
<leoprikler>(music = mpd)
<daviid>did you use guile-gnome?
<leoprikler>Nope. For one, I was using Guile 3 and it also failed to build horribly back then.
<leoprikler>ehhh GNOME 3
<leoprikler>"I was using Guile 3 way back in the past" yeah right xD
<daviid>any link i can look at with some your vala gnome app code?
<daviid>oh i see some cxode here, forget about 'my request' - - has a gtk mini example
<leoprikler>Sadly no. I never published it, because I couldn't settle on a name.
<leoprikler>My next big project will get a Greek letter, I swear.
<dsmith>sneek: version
<sneek>Sneeky bot running on Guile version 3.0.0 using bobot++ release.2.3.1-6-a463-dirty
<sneek> 20:51:59 up 89 days, 9:24, 1 user, load average: 1.00, 1.01, 1.05
***terpri__ is now known as terpri
<dsmith>sneek: botsnack
<dsmith>sneek: version
<dsmith>sneek: botsnack
<dsmith>sneek: version
<sneek>Sneeky bot running on Guile version 3.0.3 using bobot++ something from git
<sneek> 22:29:41 up 89 days, 11:02, 2 users, load average: 0.08, 0.54, 0.93
<dsmith>Weird. the bobot revsion went away.
<dsmith>But the bot is now on 3.0.3!
*sneek dances
<daviid>dsmith: congrat! that debugginh session with RhodiumToad was quite impressive by the way
<dsmith>Was nice to work though it with someonw
<dsmith>OOps. Used the wrong bobotcode. THat's why the version was broke.
<dsmith>sneek: version
<sneek>Sneeky bot running on Guile version 3.0.3 using bobot++ release.2.3.1-6-a463-dirty
<daviid>I am thinking (and locally experimenting) to remove numbering from g-golf's manual - none of the gnome libs have numbering, even for the most 'sophisticated' and biggest one, like Gtk - I've always found their manual quite 'beautiful' and efficient
<daviid>dsmith: as you may have seen, i decided to go for %gi-method-short-names-skip, for the time being at least ... which can take 'all, 'none (or '()), or a list of (symbol) names ...
<dsmith>Is fine
<dsmith>I don't know what recent gnome manuals look like, but the old app manuals I remember looking at were horrible. Nothing more than regurgitating the menus in the app.
<dsmith>While I was looking for gtk stying info..
<daviid>oh really? I don't think they changed that much - but i can't see how numbering section/subsectios would help anyway - here is the gtk top page
<daviid>and here is the GtkBocx, just as an example
<daviid>I 'copied' their way of presenting thing for g-golf, here is an example
<daviid>anyway, I am procrastinating :)
<daviid>this part of the g-golf nmanual is for cotributors, I need to spend time on the user one
<daviid>now, I need another variable name :)
<daviid>for this trailing/postfix char or string that will be used when a method short name 'clashes' with a user or guile core syntax name ... like begin -> begin_
<daviid>maybe %gi-method-short-names-'something'
<daviid>%gi-method-short-names-res-postfix - with res for resolution, which i could dscribe in the manual ....
<daviid>or just %gi-method-short-names-postfix
<tohoyn>sneek, botsnack
<dsmith>Have you considered a prefix?
<dsmith>Doesn't clojure or something do that with java interop? Like a "." prefix?
<daviid>dsmith: no, these short names are made by removing their respective container's name, and i want/wish uers may immediately know what the shortname would be ... then use #\Tab to complete ...
<daviid>dsmith: the java . is for accesor -
<daviid>g-golf uses ! as a prefix for all accessors, internals and iported one3s
<daviid>here we are talking about renaming method short names if their name clashes with a user or guile core syntax name
<dsmith>Will there always be the postfix, or just on names that collide with scheme syntax/special-forms ?
<daviid>mind you I could as well propose a lambda if you and other users prefer to prefix ... and having the default mto postfix using _
<daviid>just on names that collide
<daviid>so, gtk-window-add -> add, but gcr-secret-exchange-begin -> begin_
<dsmith>Feels kind of kludgy. But I don't have a better suggestion.
<daviid>the _ being a default, and the var name I am looking for could be changed by the user
<dsmith>Would have a documented list of known colliders? A way to add more?
<daviid>what I think is this: 1- postfix is better in thiese cases; 2- the _ postfix char is kind of a good choice because it is never (likely wil never) be used by anyone 'else where'
<daviid>dsmith: no, all this is runtime
<daviid>I am not aware of ... so far, just begin actually
<dsmith>load is syntax in guile (!) But by macro wizardry you can pass it to a second-oder function, like to map.
<daviid>load is a syntax, didn't know :)
<dsmith>SOmething about source locations.
<daviid>but anyway, all this will be/is meant to be automatic, so we'd have begin_, load_
<daviid>or something decided by the user
<daviid>assuming one postfix char, what would be a good var name - or maybe i shold defie a var that holds a lambda, default would be the above, but users could pass the lambda of their dream ...
<daviid>%gi-short-names-protect (to use the guile-gi terminology) - (lambda (name) 'add a _ trailer'), the users could pass their own
<daviid>I think I'll do that
<daviid>%gi-short-names-protect bound by default to a lambda that postfix using _, but then users may do absolutely whatever they want ...
<daviid>then everybody is happy :)
<dsmith>All problems can be solved by another layer of indirection..
<dsmith>(or suitable application of high explosives)
<dsmith>(or too many layers of indirection)
<dsmith>EXCEPT FOR foo many ..
<daviid>yep, and with that approach, it becomes a user problem, if they do not like the default that is ... which is alweays good
<daviid> ... if ... that is! is very uk :)
<daviid>*which is always good - to give users options to ... that is :)
***wxie1 is now known as wxie
***terpri__ is now known as terpri
***wxie1 is now known as wxie
***nikita_ is now known as nikita`
***rekado_ is now known as rekado
***wxie1 is now known as wxie
<iltutmus>did i leave the channel? i'm testing the znc's detaching feature, according to its wiki, you shouldn't see me lefting
<dsmith>iltutmus: I couldn't say, I've got join and other messages turned off. The channel logger doesn't log them either.
<RhodiumToad>iltutmus: I don't see any recent connect/disconnect messages from you
<iltutmus>well then, it works :)
*RhodiumToad has his client configured to filter out joins/parts unless the user has recently spoken
<RhodiumToad>and I can toggle that on and off on the fly to see what was filtered
<iltutmus>i tested it again after wrote my first message
<dsmith>RhodiumToad: What irc client?
<RhodiumToad>I adjusted the threshold for "recently" to be several hours, too
<dsmith>I'm using ERC with GNU Emacs 26.1 (x86_64-pc-linux-gnu, GTK+ Version 3.24.5, multi-tty) of 2019-09-22.
*mwette installed guile-3.0.3 on ubuntu 18.04. Build went fine, but installed guile would not execute until I ran "ldconfig".
<dsmith>yep. Needed to do that for the bot's machine too.
<dsmith-work>Morning Greetings, Guilers
<nikita`>dustyweb: do you still maintain guile-gcrypt? the readme said to open bugs via notabug, but there's also a 1 year old issue. while I see no rush in tickets, I'd like to point out which is only from earlier today and possibly get feedback at some point :)
<dustyweb>hi nikita`
<dustyweb>nikita`: I am very bad at keeping up with bug reports. One could call it a bug of mine :)
<dustyweb>nikita`: civodul and I are theoretically co-maintainers, but I think civodul has done more maintenance than I
<dustyweb>nikita`: we've mostly been using guile-users mailing list for feedback/discussion... I'll take a look at this issue though
<nikita`>ok :)
<dustyweb>nikita`: I might be the wrong person to help with it though
<nikita`>no rush, and I'm happy for any advice where to look
<civodul>nikita`: is still valid with the latest release?
<civodul>oh wait, that's a brand new issue
<nikita`>yes, this was while updating to the new release
<civodul>weird, the guile2.2-gcrypt package in Guix didn't have that problem
<civodul>nikita`: which 2.2 version is it?
<civodul>are there patches applied?
<nikita`>guile22-2.2.7nb2 , no patches applied for guile-gcrypt itself. guile22 has one patch for guild to adhere correct behavior for triplets. there's another patch applied to "Use correct mmap permissions for later PROT_WRITE mprotect."
<nikita`>I'll reply in a bit, I'm still working but now taking a break to eat
<dsmith>RhodiumToad: Do you have links to the arm abi docs you were referring to earlier?
<nikita`>knowing what this hint at roughly would be helpful already, if it's system or distribution specific it's on us/me to fix it.
***terpri__ is now known as terpri
<RhodiumToad>dsmith: for the ABI
<RhodiumToad>dsmith: this one:
<RhodiumToad>dsmith: specifically chapter 6, under "Stage B - Pre-padding and extension of arguments"
<RhodiumToad>"If the argument is an integral Fundamental Data Type that is smaller than a word, then it is zero- or sign-extended to a full word and its size is set to 4 bytes."
*RhodiumToad adds that to the issue for future reference
<civodul>nikita`: would it be possible for you to rm -rf /usr/pkg/guile/2.2/lib/guile/2.2/site-ccache/gcrypt/ beforehand?
<civodul>i'm thinking it might be interfering
<nikita`>in sandboxed builds that's a no-issue, i wanted to test this
<nikita`>I do updates mostyl outside of a sandbox. tis helps a lot, I can start looking into PATH or removing
<nikita`>super inconvenient and I want an alternative where I sandbox every build by default and apply more reproducibility, but progress is different.
<nikita`>thanks! I'll get back to you once I have results
<civodul>great, thanks!
<nikita`>probably later this week or so, I'm preoccupied with finding a new job, new flat, and GSoC
<civodul>sure, no rush
<dsmith-work>Hey hey
<civodul>hey dsmith-work!
<dsmith-work>civodul: Back in the office.
<dsmith-work>civodul: the bot updated:
<dsmith-work>sneek: version
<sneek>Sneeky bot running on Guile version 3.0.3 using bobot++ release.2.3.1-6-a463-dirty
<civodul>well done
<civodul>sneek: botsnack
<civodul>RhodiumToad & you are our ARM heroes!
<dsmith-work>Heh. Thanks. Learned a lot!
<civodul>really nice you were able to get to the bottom of these things
<dsmith-work>It was a very magical bug. Elusive. Was good to see a solid fix.