IRC channel logs

2019-08-16.log

back to list of logs

<dsmith>hey hey
<dsmith>sneek: seen mweaver
<sneek>Sorry, no.
<dsmith>sneek: seen markw
<sneek>mark_wea` was here Jun 17 at 07:29 pm UTC, saying: okay, thanks.
<daviid>str1ngs: just pushed a fix, please pull and run the make danse, it should be ok now, but if not, let me know
<str1ngs>daviid: will try now, thanks
<str1ngs>daviid: looks good, thanks
<daviid>yw"
<daviid>*wc!
<str1ngs>daviid: I have a clean room for testing using docker. might useful for you as well. http://paste.debian.net/1095911
<daviid>str1ngs: tx, i don't use docker may if someone is interested, i'll try to remeber you can offer a recipe
<daviid>*may/but
<str1ngs>daviid: no worries
<str1ngs>daviid: this did'nt even break my API. since my GObject class NomadWebView inhertis WebKitWebView
<str1ngs>so I'm using <nomad-web-view> anyways
<daviid>str1ngs: I wanted to fix that anyway, done. You may even try it by naming your class NoMadWebView, and try with/without an exception entry in %g-studly-caps-expand-token-exceptions
<str1ngs>I will test out %g-studly-caps-expand-token-exceptions though. I don't think I'll use it myself. but I can see it have some use
<reepca>is there a way to open a regular file for writing but throw an error if it already exists?
<reepca>ah, looks like plain 'open' has the flags needed
*chrislck can't set up g-golf, feels missed out
*chrislck not using guix. vanilla ubuntu. configure. missing gobject-introspection. google. apt install libgirepository1.0-dev. configure. missing guile-lib. download guile-lib. build, install. rebuild g-golf. can't find guile-lib. table-flip.
<daviid>chrislck: yes, there are dependencies, and there are listed https://www.gnu.org/software/g-golf/install.html, so no 'surprise' i would say
<daviid>it doesn't make sence, if you installed guile-lib, that g-golf would not find it, you need to investigate the cause(s)
<daviid>chrislck: also, it is under active devel, it would only be partially usable if you clone the source repo and checkout the devel branch
<daviid>chrislck: what is 'there' works, but important bits are still missing, be aware ...
<chrislck>daviid: not really *complain* for now. sounds like important work. if only the setup curve was a bit less... brick
<chrislck>ok newbie qu: i'd rather not install guile-lib etc globally but rather like python's venv, does it mean biting the bullet and go all out into guix?
<chrislck>managed to build-and-install, thanks. rather bare for now. needs a .glade->screen example!
<dsmith-work>greet
<dsmith-work>sneek: botsnack
<sneek>:)
<dsmith-work>GoodBot
<dfeng>Hi!
<dfeng>I'm reading the Guile Reference Manual:
<dfeng> https://www.gnu.org/software/guile/manual/html_node/Symbol-Keys.html#Symbol-Keys
<dfeng>the code snippet does not work:
<dfeng>(assq-set! car1-properties 'seat-colour 'black)
<dfeng>In procedure set-cdr!: Wrong type argument in position 1 (expecting mutable pair): (seat-colour . red)
<rekado_>I think that’s not the only instance in the manual where it shows the use of a quoted list and then tries to mutate it.
<rekado_>you would need to use an alist that wasn’t constructed like that.
<dfeng>rekado_: do you know how to build this alist?
<dfeng>rekado_: is it a bug in the documentation?
<rekado_>(define car1-properties (list (cons 'colour 'red) (cons 'transmission 'manual) (cons 'fuel 'unleaded) (cons 'steering 'power-assisted) (cons 'seat-colour 'red) (cons 'locking 'manual)))
<rekado_>not pretty
<rekado_>but this one is mutable
<rekado_>I don’t know if there’s another way.
<dfeng>rekado_: ah, thanks!
<rekado_>generally, I think it’s better to use hash tables when you want mutation. Or to simply cons a new value onto an existing alist.
<lloda>Guile has acons fwiw
<dfeng>in Elisp (in Guile): (setq lst '(a b c))
<dfeng>(setq lst (cons 0 lst))
<dfeng>it works!
<dfeng>lst = (0 a b c)
<dfeng>or rather: (setf (cadr lst) 0) which gives lst = (a 0 c) using (setq lst '(a b c))
<dfeng>although it "does not work" in Guile Elisp
<jcowan>It shouldn't work at all, because in no Lisp are you supposed to be allowed to modify a literal constant like that.
<jcowan>Try (setq lst (list a b c)) instead.
<lloda>Guile has procedures-with-setters for that sort of stuff
<Minall>Hello guile!
<Minall>Can guile be implemented in other languages?
<Minall>Python, for example
<pkill9>i think so, it can be used as an extension language for software written in C
<pkill9>so probably Python as well
<Minall>Hello guile!,
<Minall>Can guile be implemented into other languages?
<pkill9>Minall: i think so, it can be used as an extension language for software written in C
<Minall>Yes, I read about C, but can It be used in programs for example, written in python?
<dsmith-work>As in can Python call into Guile? Or maybe Python -> C -> Guile?
<dsmith-work>I would be very surprised if anyone has ever done that.
<Minall>Yep
<Minall>But I mean more like, a project written entirely in python is missing something... Can I build that 'something' in guile, and it would work?
<dsmith-work>Not without a *lot* of work. And it might not be possible.
<OrangeShark>You can probably write python that runs on guile
<OrangeShark>someone is working on a python language for guile
<dsmith-work>And you would probably need to write to the Guile C interface.
<OrangeShark>or have them communicate somehow
<Minall>wow, that's tought
<Minall>Thanks for the aclaration guys!
<Minall>I have to go now... later!
<jcowan>There are certainly Python libraries that allow such things, for example Lupa which allows you to run Lua code inside Python. Wherever there is a C API, Python can communicate with it.
<str1ngs>daviid: I filled this bug report. not sure if this is expected behavior though. https://lists.gnu.org/archive/html/bug-g-golf/2019-08/msg00000.html
<str1ngs>I left a trailing ; in my example use case.
<daviid>str1ngs: I add to approve the email, since youy didn't register to the bug list, please register
<str1ngs>daviid: ahh I signed up but I didnt click subscribe on the confirmation email. done now
<daviid>but it's the first time I do this, I still didn't receive the email 'per se', not sure I approved sing the correct procedure. let's wait a bit more it might take a few minutes ... or an hour or so, don't now. anyway,in the mean time,
<str1ngs>in regards to the bug, I'm not sure if that's working as intended. though I suspect it might be better to return something. since it's not easy to determine when a continuation could be used. just my thoughts on return void.
<daviid>I won't change that: by definition. a returned value that has a void signature will always return nothing: you can't expect to use these procedurs from callers that raise an exception if not value is returned, this is a bug on your side
<str1ngs>void is my C translation. I'm not sure what constitutes as nothing or what webkit-web-view-load-uri returns in the context of scheme
<daviid>nothing is not unspecified, which is not undefined ... if you want to call these from callers that expect a values, you have to wrap them yourself, but, imo, this is a very bad idea anyway
<daviid>str1ngs: nothing is nothind
<daviid>(values)
<daviid>generally, it is because those procs have side effects in the C world, such as filling a struct, an instance ...
<str1ngs> I see I will just add my own continuation, in this can I don't have control over the calling code it's a macro. and it expects the continuation to return a value. sorry for the noise
<str1ngs>s/can/case*
<daviid>str1ngs: no problem
<str1ngs>I was a little hesitant about that bug report. but at least I have a better understanding of expected behavior. and scheme :)
<daviid>I still did not receive a copy of the original email though. anyone here is mailman knowledgeable and could give me a little hint? i received a request for approval, which as suggested I responded to with the first line of the content of my answer to the approaval request email to the list owner, myself, using the header: Approved: password...
<daviid>it seems it has been approved, sinc it isnow in the archives, however, I didn't get a copy, then I can't respond, nor close it ... what am i doing wrong?