IRC channel logs

2020-07-31.log

back to list of logs

<dsmith>ArneBab: is there a decent emacs mode for wisp?
<ArneBab>there is wisp-mode: highlighting and switching between indentation levels with tab/shift-tab. It isn’t at the level of geiser, but with rectangle-edit many things are easy that you’d otherwise reach for paredit.
<ArneBab> https://hg.sr.ht/~arnebab/wisp/browse/wisp-mode.el?rev=tip
<dsmith>Hmm. I see a wispjs-mode
<dsmith>ArneBab: Ahh. Thanks
<str1ngs>pkill9: M-x load-uri
<str1ngs>pkill9: I'm assuming you are using a recent nomad?
<str1ngs>pkill9: see http://git.savannah.nongnu.org/cgit/nomad.git/tree/scheme/nomad/web-mode.scm?h=feature-g-golf#n191 for some basic keybinds.
<str1ngs>pkill9: M-x: query is also useful. same with C-x b which lists buffer. think tabs
<str1ngs>you can also interactively create webviews. with M-x switch-to-buffer <RET> name <RET> <web-buffer>
<str1ngs>pkill9: if you already have a web buffer and you want to just goto another uri. you can do M-x edit-uri
<str1ngs>emacs edit keybinds also work in the echo area :) including command history
<g0d_shatter>apparently I was 10 days too late to this party, thanks Ludovic for getting this done https://sourceware.org/bugzilla/show_bug.cgi?id=21104
<g0d_shatter>and Doug Evans as well apparently, thanks to you both, this makes my work one million times easier
***catonano_ is now known as catonano
***terpri__ is now known as terpri
<daviid>str1ngs: I was looking at some of the nomad codes, 'pure curiosity' :)
<daviid>str1ngs: in the (nomad gtk frame), i see you export !container, are you sure this is not a property 'somewhere' in the all gtk tree 'of things'? otherwise, you would be on a safer side to remove it from the export list and have it on a separate 'line' using g-export instead, like (g-export !container) - something i would systematically do, if i was you, for all methods, getters, setters and acdfcessors ... my 2c :)
<daviid>str1ngs: for info, g-golf defines mslot-set!, which i find improves code readability when multiple slot-set!, so you could use it, for example, to replace lines 89 - 92 with a code similar to (g-golf hl-api gtype) lines 97 - 101, another 2c :) as you wish of course ...
<daviid>str1ngs: it will be nice to see nomad running on a librem5 or pine phone ... :) did you grab and try yet?
<daviid>*grab a qemu sdk image ...
<daviid>str1ngs: I just pushed a patch that fixes a few internal resolve-module calls, and although it shouldn't change anything for users, and passes all checks, I'd be happy if you could pull/build/test to confirm everything is indeed fine for users ... whenever you have sometime, tx
<str1ngs>daviid: I'm not sure if !container is used by gtk. I use it a generic accessory. primary as a way to add remove something from a custom inherited control.
<daviid>str1ngs: my advise is to always use g-export for method, setter, getter and accessor names, no matter what, it puts you on the sfe side
<str1ngs>daviid: I have not tested nomad on a phone yet. I ordered a pinephone should have it next month sometime. I have started to reason out how to present a emacs interface that is suited for a phone. if you have any ideas let me know.
<daviid>str1ngs: i thought nomad was a browser, hence yu would just use it .. like epiphany
<str1ngs>daviid: okay I'll look into g-export. actually some of that code needs work due. though it does work right
<str1ngs>right now*
<daviid>str1ngs: C- and M- won't work on a phone though ...
<str1ngs>daviid: you could just use it. but it's heavily modeled after emacs. everything has keybinds and interactive commands. modelines and an echo area. ie no tabs instead it has ibuffer. you get the idea. that does not translate well into a touch only interface :)
<daviid>str1ngs: if you loook at g-golf source code, you won't find a single use of #:export for any accessor, nor method names
<str1ngs>daviid: I will read the manual on g-export I'm assuming that is provided by g-golf?
<daviid>yes, let me know if the doc is clear enough
<daviid>ah, it's not in the dox :)
<daviid>doc
<str1ngs>can you just explain quicking what it does? I have a good memory :)
<daviid>str1ngs: yes, give me a sec, it is dead important you understand why ...
<daviid>you and other users
<str1ngs>daviid: also if you recursively clone https://gitlab.com/mike.rosset/nomad-3rdparty the sub projects can be install all at once, encase you want to try nomad on debian.
<str1ngs>obviously you don't need g-golf :)
<str1ngs>the rest of the nomad dependencies should be in debian proper.
<daviid>str1ngs: ok, i won't do that now, but good to know
<str1ngs>the 3rdparty was just an FYI. no rush
<str1ngs>to test nomad. later you can just do make run. no need to install even. encase you don't want to pollute your system.
<daviid>str1ngs: do you understand that when you uwe export, you create a new binding, and it is that new binding that is exported?
<str1ngs>davivid: I was not aware that it was new. I assumed it just exported the modules existing binding.
<daviid>exactly not, hence g-export, which test for you if the binding exists, it resues it, and only if not it creates a new binding ...
<str1ngs>hmmm I have quite a few methods I might need to g-export as well.
<str1ngs>ahh that should like it's more safe when used with GLib/GTK ?
<daviid>str1ngs: till you really know what you are doing, my advise is to _always_ use g-export for method, setter, getter and accessor names, always
<daviid>and, but tht yu do already, the proer module setting for duplicte handlers
<str1ngs>that's an easy rule for me to follow, I can do that.
<daviid>right, easy and safe
<str1ngs>I do only like export in the context of viewing the API from a top level.
<str1ngs>I assume 'g-export works the same as 'export ?
<daviid>yu should use export the class names though, as you do, always use export for class names, and monitor when modules are compiled/imported, that it never triggers a warning on class name redefinition
<str1ngs>ie (g-export !container) ?
<daviid>str1ngs: look for some exmple in g-golf
<daviid>but yes
<str1ngs>will do. I'l keep the class names in #:export then
<daviid>it is a syntax
<daviid>you can read the code, it's not secret things
<daviid>here (g-golf support g-export)
<daviid>yes, always keep class names in #:export, always use g-export for a/s/g/m
<str1ngs>I have alot to fix here see http://git.savannah.nongnu.org/cgit/nomad.git/tree/scheme/nomad/gtk/buffers.scm?h=feature-g-golf lol
<daviid>and always proper set #:duplicates to (merge-generics replace warn-override-core warn last) for all modules that uses oop goops and/or g-golf
<daviid>as you do already, just repeating
<str1ngs>daviid: I appreciate the feedback btw. when I started nomad I was still new to guile scheme. so I had a few false starts plus porting from C. so any API idea is helpful.
<daviid>wc!
<str1ngs>daviid: right now I do all of my gi-imports in (nomad gtk gi) then I use opp goops and g-golf where I need it. I should then in those modules use #:duplicates to (merge-generics replace warn-override-core warn last)? btw I found the single module that does all the gi-import works nicely
<str1ngs>I have some abstraction here. encase I want to use ncurses or qt for the interface. hence the extra complexity.
<daviid>yes, every module that uses g-golf should have the #:duplicates handlers set to the above, always
<daviid>in the repl as well by the way
<daviid>and in scripts, as the hello-world ...
<daviid>for the repl, yu may ad thato your .guile filet
<daviid>or the global init.scm file if more then one user
<str1ngs>I think I have #:duplicates (merge-generics replace warn-override-core warn last) in on my modules now. tomorrow I'll look at switching to g-import. thanks again.
<daviid>str1ngs: sure, no rush - but take a few notes of all we said so you may look at later ... it's g-export (not g-import)
<str1ngs>sorry I meant g-export :)
<daviid>str1ngs: so, when you have a min, if you can pull make g-golf and test nomad just run your own 'make check' would already be nice, no rush either but let me know when you've done it ... tx
<str1ngs>daviid make check looks good. I'm using Ubuntu 20.04 btw. which should be pretty much on par with bullseye.
<str1ngs>I'll test more with g-golf aswell.
<daviid>str1ngs: ok, what about nomad 'made check'?
<jgart>what is the recommended way to get functionality similar to nth in guile? https://docs.hylang.org/en/stable/language/core.html?highlight=nth#nth
<jgart>is nth in any of the guile libraries?
<daviid>or was it already the nomad 'make check' maybe?
<daviid>jgart: list-ref, vector-ref ...
<jgart>daviid, thanks! I'll try that
<str1ngs>daviid: make check on nomad does not handle graphical tests. it does many scheme only tests and I need better coverage. graphical tests are non trivial with g-application
<daviid>str1ngs: ok, but does it instantiate gobject calsses, even in mem only?
<daviid>str1ngs: but it'f fine, no rush - i'm pretty sure the fix is ok
<str1ngs>daviid: I was experimenting with graphical tests but I was not satisfied them quite yet.
<str1ngs>I have some tests that can turn on that will use g-golf though
<daviid>str1ngs: yeah, i have no experience with that
<str1ngs>I experimented with a macro that creates a <gtk-application> and then runs the test in a inner :)
<str1ngs>needless to say graphical tests suck :P unless they are something trivial of course.
<daviid>str1ngs: if you can compile nomad, it's already a god sign
<daviid>because you instantiate gobject subclasses in the code, the gui is just the cherry test
<daviid>:)
<str1ngs>yeah, normally just do make run which runs <nomad-appliaction> wiht gnu.org.nomad.devel id
<daviid>if that runs, i'm fine
<daviid>:)
<daviid>with my fix i mean
<str1ngs>with g-golf Fixing (resolve-module '(g-golf hl-api gobject)) calls nomad run looks good
<str1ngs>aka aedcb6d8f4885b5b78e0ddc1d9bc46edcd49d324
<str1ngs>I was just making sure I was using a prestine g-golf install.
<daviid>yes, that fix indeed, perfect, thanks
<str1ngs>no problem
<str1ngs> https://gitlab.com/mike.rosset/nomad-3rdparty helps on debian systems. since I can remove and install the nomad stack easily. atleast the develop packages that don't have dep packages yet.
<str1ngs>I do hope to eventually have deb packages for g-golf and emacsy. but my experience with debian packages are kinda limited. I'm more use to autotools myself.
<daviid>str1ngs: you should talk to tohyon - or is ot tohoyn i never remember - he knows how to do that and has a ddebian sponsor as well
<str1ngs>daviid: does he hang out in #guile?
<str1ngs>the main one is I'd like to create a deb package for g-golf then eventually emacsy and nom
<str1ngs>err nomad*
<daviid>str1ngs: he offered to package g-golf for debian, but i said only after the first alpha release 9things can be prepared of course, but i do't want g-golf in debian, not even experimental before a first aplpha release ...
<str1ngs>that's understandable. I'm not looking to rush a release. GNU projects are more strict about releases.
<daviid>str1ngs: he hangs from time to time, he is the other g-golf user, hs project is theme-D or seomething like that
<daviid>you spoke to him already ...
<str1ngs>eventually I'd like to promote nomad from nongnu to GNU but I have so much more coding standards to do before I could attempt that.
<daviid>there re other debian expert here
<str1ngs>oh yes I had helped him with g-golf things. theme-D is a static typed guile IIRC. which is kinda intresting.
<daviid>str1ngs: the guile debian maintainer hangs here, even now :), rlb
<daviid>the aiscm (guile) pproject also has a debian package iirc
<daviid>str1ngs: i personally won't work on that part, packaging for distro, but of course will always be happy to help and/or fix thigs so that it is possible ...
<str1ngs>I just learned about coops for chicken on the aiscm that's a great name :)
<str1ngs>aiscm webpage
<daviid>haha
<str1ngs>daviid: right, normally someone else will pick up that work. with guix I don't mind doing the packaging work since it helps the most people.
<str1ngs>guix is nice to package for . atleast from my experience
<str1ngs>is coops goops compatible?
<daviid>i don't know coops
<daviid>but i took its name as 'cops' [police] :)
<daviid>thye chicken police
<str1ngs>lol
<str1ngs> http://wiki.call-cc.org/eggref/4/coops
<daviid>i doubt it's goops compatible, only gauche is, to my knowledge
<jgart> https://dpaste.com/GUH2YSKM9
<jgart>why does choose-three-nine not update to choose another random set from 3-1 and 9-1?
<str1ngs>in today's political social climate cops is a four letter word :(
<daviid>jgart: can you use a tor friendly paste service, gnome or debianpaste ...
<jgart>ok one sec
<jgart> https://paste.debian.net/1158396/
<daviid>str1ngs: oh, it looks clos based, so it should be pretty compatible -
<str1ngs>daviid: yes I thought you would find that intresting.
<jgart>didn't realize that dpaste is not tor friendly, sorry
<daviid>jgart: it's ok
<str1ngs>daviid: have you tried gnunet over tor? I thought of adding gnunet support to nomad.
<daviid>str1ngs: no, mind you i am a simple user ... no expertise what so ever with web things
<jgart>the choose-three-nine procedure does not seem to update to choose a new random list
<jgart>maybe it's my repl acting funny
<daviid>jgart: i'll let someone else help you, i have to work on something else
<jgart>choose-three-nine takes choose-three and choose-nine as arguments to append
<jgart>daviid, ok no worries. Thank you anyways for looking at it
<str1ngs>jgart: should this not be (append (choose-three) (choose-nine)) ?
<str1ngs>if IIRC append takes lists not procedures
<jgart>str1ngs, I get the error: Wrong type to apply:
<jgart>when I change it to your suggestion
<jgart>I had tried that way earlier
<jgart>but I got the type error above
<jgart>str1ngs, what is IIRC?
<str1ngs>if I recall correctly
<jgart>str1ngs, ohh I see. Yes you are correct
<jgart>append only takes lists ... obj
<jgart> https://www.gnu.org/software/guile/manual/html_node/Append_002fReverse.html
<str1ngs>this might work still I confused the use of define. a mental lasp on my part.
<jgart>any suggestions for how to give it the output of those procedures (which are lists)?
<str1ngs>jgart: acutally we are both right :)
<jgart>when choose-three and choose-nine are not wrapped by parentheses it takes the output of those procedures and append accepts it
<jgart>but it doesn't update afterwards
<jgart>choose-three chooses randomly from a list of lists
<jgart>so does choose-nine
<str1ngs>right but it only does it once, then binds it
<jgart>str1ngs, yes exactly
<jgart>I'd like it to not bind it
<jgart>append!
<str1ngs>do you want choose-three-nine to be random everytime?
<jgart>dare I say mutate it everytime
<jgart>str1ngs, yes I do
<str1ngs>okay that's what I figured
<jgart>str1ngs, any suggestions for how to get around this binding so that it can update everytime it is called?
<str1ngs>jgart: http://paste.debian.net/1158397 I think this is more what you want.
<str1ngs>basically use procedures instead of bound variables
<str1ngs>this makes it random if you call
<str1ngs>err (choose-three-nine)
<jgart>ohh ok
<str1ngs>I'm hoping this is what you were after?
<jgart>because I didn't have the procedure name in parentheses then it made a binding?
<str1ngs>right, it binds it as a varible
<str1ngs>you cant test this just type choose-nine in the repl
<jgart>I tried it
<jgart>it works!
<jgart>str1ngs, thanks!
<str1ngs>does it make better sense now?
<jgart>yes, I was binding the result of calling the procedure once to a variable name
<jgart>is that correct?
<str1ngs>that is correct
<str1ngs>and I intuitively assumed that's what you were doing. then I though maybe you only wanted one random list. which confused me even more haha
<jgart>that was a subtle syntax difference with large ramifications in what the output becomes
<str1ngs>aye
<jgart>It's a good subtlety to take note of. str1ngs thanks!
<str1ngs>you could also use lets. in most cases you don't use define for variables.
<jgart>right. In this case I want all those lists to be available globally
<jgart>* in the global scope
<str1ngs>aye they make for good constants though.
<str1ngs>jgart: this looks pretty good now. simple enough to reason
<jgart>Now I need to just to readily convert (0 1 2 3 4 5 6 7 8 9 10 11) to ("c" "cs" "d" "ds" "e" "f" "fs" "g" "gs" "a" "as" "b")
<str1ngs>jgart: maybe a pair. ie '(0 . "c")
<jgart>and then use a port to feed it to a notes.ly file for lilypond
<jgart>right an associative pair
<str1ngs>aka alist
<jgart>and the logic to use choose-three-nine into lilypond tokens
<jgart>str1ngs, right
<jgart>str1ngs, thanks for your help again! I'm off to sleep
<jgart>I learned alot
<str1ngs>jgart: no problem. goodniht
<str1ngs>goodnight*
***apteryx_ is now known as apteryx
***sputny1 is now known as sputny
***dddddd_ is now known as dddddd
***jonsger1 is now known as jonsger
<dsmith>RhodiumToad: Looks like the fbsd arm fixes have landed in master
<dsmith-work>Happy Friday, Guilers!!
<mwette>\o| |o| |o/
<chrislck>/ | /\ | \
<chrislck>{Friday-dance}
<mwette>o_< o_/ o_< o_/ - exercise is always good
<dsmith-work>ok. actuall lol-ing here
<guix-vits>Hello Guile.
<a_v_p>guix-vits: Hello.
***sneek_ is now known as sneek
<RhodiumToad>dsmith: yeah, I saw, was planning on testing them when I had a moment
<chrislck>Still no Win32 patches for guile-3.0 though :(
<a_v_p>I've released Guile-Udev 0.1.0: https://github.com/artyom-poptsov/guile-udev/releases/tag/v0.1.0
*a_v_p sent Guile-Udev announcement to guile-users@gnu.org in a hope that the email will reach the the mailing list.
<apteryx>is there a grep-like Guile thing already builtin?
<apteryx>something lie (file-contains? file regexp)
<apteryx>or, lower level, how do I read a whole file as a stringÉ
<apteryx>I fail to find it in the Guile Reference manual.
<apteryx>ah, get-string-all
<apteryx>from (ice-9 textual-ports)
<ArneBab>apteryx: or (ice-9 rdelim) (read-delimited "" port)
<alextee[m]>does guile have a way to get the OS and its version?
<alextee[m]>like Windows 10.x or MacOS 10.15 or Linux 5.4.24-gnu
<daviid>alextee[m]: uname
<daviid>7.2.12 System Identification
<alextee[m]>daviid: uname is for linux-based only isn't it?
<daviid>prob in msys2m cygwin, but 'pure' win prob don't have it, not sure
<alextee[m]>im using "pure" windoze
<alextee[m]>ooh scm_uname ()
***terpri__ is now known as terpri
<jgart>is there any guile embedding of librsync currently available? https://guix.gnu.org/packages/librsync-0.9.7/
<dsmith-work>sneek: guile-software?
<sneek>I've heard guile-software is at http://sph.mn/foreign/guile-software.html
<dsmith-work>jgart: ^^ Take a look there.
<jgart>dsmith-work, yes
<jgart>thanks
<jgart>looks like guile bindings for librsync don't exist yet