IRC channel logs

2020-07-30.log

back to list of logs

<daviid>wc!
<jgart>Hi! is there anything similar to interleave in guile's standard library?
<jgart> https://docs.hylang.org/en/stable/language/core.html?highlight=complement#interleave
***terpri_ is now known as terpri
<daviid>jgart: not 'std', but i wrote one, in grip
<daviid>jgart: here https://www.nongnu.org/grip/manual/html_node/Lists.html#Lists - interleave
<jgart>daviid, ohh nice! thanks!
<daviid>jgart: https://www.nongnu.org/grip/index.html - thought feel free to just snarf the interleave code if you do not wish to install grip
<daviid>here is the code
<jgart>I see grip is not in guix
<jgart>It would be great to get it in there
<jgart>so I can just `guix install grip`
<jgart>daviid, thanks for the code! I'll just snarf it for now
<daviid>jgart: yes, at least the 'grip core' - the others, grip-sql and grip-clutter do not deserve to be i guix :):) [prob i will remove those actually]
<jgart>is grip core a separate git repo?
<daviid>jgart: no, but it won't install grip-sqlite if it doesn't find sqlite and won't install grip-clutter unless you'd have a bunch of things ... you may just try
<daviid>here is the code
<daviid> http://git.savannah.nongnu.org/cgit/grip.git/tree/grip/list.scm lines 70-71 :):)
<jgart>daviid, thanks!
<jgart>I'll take a look
<daviid>fell free to just grab the interleave def ...
<daviid>*feel
<jgart>daviid, the dot in (interleave . lls) means that the procedure is variadic?
<daviid>jgart: you may pass ore then two lists - see the manual entry i pasted above
<jgart>I saw the manual. So I may pass any number of lists to be interleaved is my understanding
<jgart>daviid, thanks!
<daviid>yes you may
<daviid>wc!
<jgart>daviid, where is concatenate from in the function signature of interleave?
<daviid>jgart: srfi-1 i think
<jgart>yes that's correct
<jgart>ok I see it
<jgart>does guile have a way to let me know where a procedure came from if it was imported from another module?
<jgart>or emacs/geiser?
<daviid>jgart: ,a
<daviid>,a interleave -| (grip list): interleave #<procedure interleave lls>
<jgart>awesome! good one to know!! thanks so much daviid
<daviid>it doen't seem to work for all procedures though, not sure why
<daviid>others know better then myself things about the repl and geiser ..
<daviid>g-type-name
<daviid>sorry, wrong buffer
<jgart>not sure if that command is in the scope of what geiser already provides
<jgart>but ,a should do for now
<daviid>,a is a guilçe command
<jgart>I'm just wondering if geiser gives a similar functionality somewhere to what ,a does in guile
<jgart>but no worries ,a is enough for me now... in a repl atleast
<daviid>jgart: i don't know if geiser improves that (or not), i see it does work for (grip list) procedures, but for some reason, not for g-golf (another project i work on ...)
<jgart>daviid, how do you generate the documentation for your guile projects?
<jgart>I see it say "Powered by sxml" at the bottom of very page
<jgart>says*
<jgart>I was just browsing the g-golf docs
<daviid>jgart: the site is powered by sxml, the doc source code is texinfo, all format generated using a script (from aother gnu project)
<jgart>guile's web module for the sxml?
<jgart>daviid, do you know of any good resources to learn texinfo for documenting my guile projects?
<jgart>besides the gnu manual for texinfo
<daviid>jgart: the first quiz, no, just the guile sxml module, here https://www.gnu.org/software/guile/manual/guile.html#SXML
<daviid>the second quiz, just read the texinfo doc, even 'quiclky', it is very easy to read, then grab another project and 'copy' to start with ...
<daviid>jgart: to build a site you should look at haunt - https://dthompson.us/projects/haunt.html
<daviid>jgart: what is your guile project? just curious
<daviid>jgart: the script that generates the g-golf online docs is this - http://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh
<jgart> daviid thank you for sharing all this!
<daviid>np!
<jgart>I've checked out haunt. I'm planning to make a haunt site soon
<jgart>My project is just getting started. I want to make a computer-assisted music composition environment with guile
<daviid>jgart: great, you mauy look at the haunt site sourtce code, iself built using haunt, or guile website, guix as well ... for examples ...
<jgart>similar to abjad.github.io or music-suite.github.io
<jgart>those are influences
<jgart>daviid, thanks!
<daviid>cool, good luck - the first one use lilypond i tyhink
<jgart>possibly leveraging the lilypond guile api http://lilypond.org/doc/v2.20/Documentation/internals/scheme-functions
<jgart>there is no project site at the moment. It is all vaporware until further notice.
<daviid>jgart: lilypond manuals all use texinfo as well, fwiw ...
<jgart>so texinfo supports lilypond snippets then?
<daviid>so you may learn while still being 'swimming' in music domain ...
<daviid>i think so, but you should register to their ML and ask there ...
<daviid>correction, it is not that texinfo support 'anything but texinfo', it is that lilypond sites uses texinfo ...
<jgart>abjad.github.io wraps a lot of lilypond guile. It has a guile proxy: https://github.com/Abjad/abjad/blob/82de275f1a9e8f5804098b815837c0f300606daa/abjad/parsers/parser.py#L215
<jgart>given that I can just call those lilypond guile procedures directly since this music composition library is written in guile, what architectural decisions can I make in this computer-assisted music composition library?
<jgart>these are some of the questions I'm trying to ask myself at the moment :)
<jgart>daviid, thanks for the insight on their site
<jgart>translating some of the object-oriented ideas of abjad to goops might be fun also
<daviid>lilypond core is C++, but it is music type setting tool, not a composition tool - other projects propose to write in dif frmats, including lilypond ...
<jgart>the embedded guile in lilypond is mostly used for tweaking the output of the score
<daviid>jgart: i have to concetrate on other things - but happy to answer any guile quiz ... those composition and lily quyiz, should see 'with them' really ... they have an irc channel, but not very active, their ML is very very active ...
<jgart>thanks daviid I'll have more guile questions soon. Thanks for introducing me to grip
<daviid>np!
<jgart>it would be nice to implement common music notation https://en.wikipedia.org/wiki/Common_Music_Notation as a guile program that targets lilypond output instead of postscript as in CMN.
<jgart>In the way that haunt supports sxml in addition to markdown lilypond can have an alternative sxml syntax.
<tohoyn>sneek, botsnack
<sneek>:)
<dsmith-work>Thursday Greetings, Guilers
<mwette>o/
<chrislck>|o/
<chrislck>\o|
<dsmith-work>RhodiumToad: Wow. Was this all it took to fix the u8-to-stack issue? https://gitlab.com/wingo/lightening/-/commit/8b37b783ead3a426ac5538d778e2f83e39bc3077
<ManDay>How can I ,break on a procedure which is in a library?
<ManDay>(I wrote the library and compiled it with --debug=
<ManDay>ah ,break-at-source works (though ,cont will happily ignore it)
<RhodiumToad>dsmith-work: that should work
<RhodiumToad>dsmith-work: it does depend on the value having been correctly sign-extended or zero-extended when being _loaded_ into the register, but that's also a requirement on ARM
<dsmith-work>RhodiumToad: I thought it was going to be a *lot* more tricky than that.
<RhodiumToad>(and architectures that don't require that also won't require that the high bits are correct on the stack)
<RhodiumToad>no... there were a number of possible solutions
<dsmith-work>RhodiumToad: Looks like most of those switch cases can be collapsed into one.
<dsmith-work>s/can be/can now be/
***apteryx_ is now known as apteryx
***apteryx is now known as Guest50856
***Guest71056 is now known as apteryx
***apteryx is now known as Guest31086
***Guest50856 is now known as apteryx
***Guest31086 is now known as apteryx
***Guest76184 is now known as apteryx
***apteryx is now known as Guest63051
***Guest91398 is now known as apteryx
***Guest63051 is now known as apteryx
***apteryx is now known as Guest78835
***Guest71714 is now known as apteryx
***apteryx is now known as Guest80569
***Guest78835 is now known as apteryx
***Guest80569 is now known as apteryx
***Guest82480 is now known as apteryx
***apteryx is now known as Guest32675
***Guest89814 is now known as apteryx
***Guest32675 is now known as apteryx
***apteryx is now known as Guest60729
***Guest86117 is now known as apteryx
***Guest60729 is now known as apteryx
***Guest24260 is now known as apteryx
***apteryx is now known as Guest59980
***Guest18934 is now known as apteryx
***apteryx is now known as Guest90833
***Guest59980 is now known as apteryx
***Guest90833 is now known as apteryx
***apteryx is now known as Guest90921
***Guest96147 is now known as apteryx
***Guest90921 is now known as apteryx
***Guest55612 is now known as apteryx
***apteryx is now known as Guest94338
***Guest33117 is now known as apteryx
***Guest94338 is now known as apteryx
***apteryx is now known as Guest29732
***Guest75003 is now known as apteryx
***Guest29732 is now known as apteryx
***apteryx is now known as Guest24865
***Guest85742 is now known as apteryx
***apteryx is now known as Guest83003
***Guest24865 is now known as apteryx
***Guest83003 is now known as apteryx
***Guest52456 is now known as apteryx
***apteryx is now known as Guest93639
***Guest71427 is now known as apteryx
***Guest93639 is now known as apteryx
***apteryx is now known as Guest45403
***Guest26878 is now known as apteryx
***Guest45403 is now known as apteryx
***apteryx is now known as Guest96195
***Guest74447 is now known as apteryx
***Guest96195 is now known as apteryx
***Guest72044 is now known as apteryx
***apteryx is now known as Guest1575
***Guest92298 is now known as apteryx
***Guest1575 is now known as apteryx
***Guest56836 is now known as apteryx
***apteryx is now known as Guest45332
***Guest16497 is now known as apteryx
***Guest45332 is now known as apteryx
***apteryx is now known as Guest41849
***Guest13222 is now known as apteryx
***Guest41849 is now known as apteryx
***apteryx is now known as Guest39442
***Guest19885 is now known as apteryx
***Guest39442 is now known as apteryx
***apteryx is now known as Guest6641
***Guest88737 is now known as apteryx
***Guest6641 is now known as apteryx
***apteryx is now known as Guest1894
***Guest46149 is now known as apteryx
<g0d_shatter>uh....
<g0d_shatter>what just happened in here that all of these accounts are renamed in one go?
<RhodiumToad>all what accounts?
<RhodiumToad>looks like one user (apteryx) having a connection problem or broken script
<dsmith-work>Looks like a different address each time.
<dsmith-work>Or maybe it's just flipping between two..
<RhodiumToad>just flipping between one ipv4 and one ipv6 address
<g0d_shatter>gotcha
<g0d_shatter>I didn't realize that was one account
<g0d_shatter>:wingo are you here today?
<g0d_shatter>well I just drop this and if anyone else has an idea I'm fresh out of solutions at the moment. I'm compiling gdb with the guile bindings on debian stable, and for whatever reason gdb will compile, with some of the bindings, but the guile libraries aren't there.
<g0d_shatter>as in /usr/share/gdb/guile/gdb/* is empty
<g0d_shatter>I feel like this is just a missing package of some kind? Even though I have guile-2.0-dev installed
<RhodiumToad>2.0?
<g0d_shatter>yeah, there's still a blocking bug on gdb using 2.2, as far as I know
<g0d_shatter>or anything above 2.0 for that matter
<g0d_shatter>something to do with ports iirc
<dsmith-work>sneek: seen rlb?
<sneek>rlb was in #guile 4 days ago, saying: (In other news, *finally* got guile-2.0 removed from debian testing...).
<dsmith-work>g0d_shatter: I wonder that's relevant.
<g0d_shatter>dsmith-work: yeah by chance I found out about this two days ago, its removed from testing, but not stable, and the version of gdb is 8.2.1, so I'm not sure if that would be the problem per se
<g0d_shatter>also, I've hit this exact same issue, where gdb will compile, but can't find guile libs, before, and I'm about to page thru my dev notebook to see if I remembered to write down how to fix it
<g0d_shatter>dsmith-work: thank you for the response though!
<dsmith-work>It sure would be nice if ldconfig was patched to ignore libguile-*.so.*-gdb.scm like it does some other files in lib/
<g0d_shatter>the configure command I'm using is ../configure --prefix=/usr --with-system-readline --with-guile and I'm wondering if by removing the --prefix=/usr it'll work, we're about to find out
<g0d_shatter>no dice
<dsmith-work>Contact the Swiss Army and borrow the strace knife. Usually sharp enought to the bottom of file-searching-and-loading issues.
<g0d_shatter>ahhh, good call
<g0d_shatter>out of curiousity what is the "ccache" directory in /usr/lib/x86-64-gnu/guile/2.0/ccache ? I'm not sure I've ever noticed this directory before
<RhodiumToad>cached bytecode files
<g0d_shatter>ahhh, thank you
<dsmith-work>compile{r,d} cache I suspect
<g0d_shatter>I feel like it would be easier to figure out how to get that patch for newer versions of guile going then continue to wrestle with these issues
<g0d_shatter>I just dropped an email on the devel list, wanted to say thanks for the help and pointers today, excited to dig in and try to get a patch into gdb for a project I really care about
<pkill9>str1ngs: how do you go to a new URL in nomad?
<ArneBab>I made me a simple fileserver because I spent two hours yesterday searching for a simple solution to stream from my computer to our local TV: https://hg.sr.ht/~arnebab/wispserve
<ArneBab>It’s woefully incomplete, but it provides `wispserve --serve ~/shared-videos`, serve the videos in range-requests so browsers work well, and lists all files.