IRC channel logs

2021-02-25.log

back to list of logs

<civodul>in general, in 3.0, private bindings can be inlined
<civodul>it probably just worked by chance with 3.0.x, x < 5
<civodul>instead, you can only monkey-patch public procedures of (web http)
<civodul>or private procedures that have not be inlined, but again, that's risky
<rekado>I’ll try to re-declare the header definition with declare-header!, because that allows me to pass a writer
<rekado>thanks for confirming!
<daviid>anyone knows where guile-rsvg resides these days?
<daviid>the guix package piints to https://wingolog.org/projects/guile-rsvg/ which poin ts to gitorious ...
<lfam>Maybe here? https://gitlab.com/wingo/guile-rsvg
<daviid>lfam: many thanks!
<spk121>daviid: absolutely
<daviid>spk121: ok tx, will try
<bjoli>Good morning!
<tohoyn>daviid: will there be substantial changes in the g-golf alpha release?
<daviid>tohoyn: no
<tohoyn>daviid: shall we publish the alpha release in debian (and ubuntu)?
<daviid>tohoyn: i wouldn't - the alpha release won't even be mentioned to gnu yet, just guile users ... g-golf in distro, except guix which already has a package, should wait the first none alpha/beta release, imo
<daviid>tohoyn: also, don't forge that it doesn't work with guile 3.0, unless maintainers fix the module-use! bug, related bug, g-golf will not work with 3.0 - this will soon become a blocker to any distro but guix
<tohoyn>daviid: ok
<leoprikler>Does "resolve-module" transparently handle other languages supported by Guile (brainfuck, JS, Wisp)?
<leoprikler>Or is special code needed for that?
<mdevos>I don't know about automatic compilation, but otherwise it should be transparent IIUC, yes
<mdevos>(unless the non-Scheme language uses a separate module system)
<leoprikler>I'm assuming Guile's module system here.
***cbaines_ is now known as cbaines
<fnstudio>hi, there seems to be a small problem with htmlprag, which is part of guile-lib
<fnstudio>(htmlprag is a html parsing library)
<fnstudio>the problem seems to be about the `<p>` paragraph tag
<fnstudio>and it's kind of known already
<fnstudio>eg http://gnu-guile.7481.n7.nabble.com/guile-lib-lt-p-gt-handling-td26828.html
<fnstudio>this seems to be the culprit: https://git.savannah.nongnu.org/gitweb/?p=guile-lib.git;a=blob;f=src/htmlprag.scm;h=3bd352b11fc39203828f56cf79246291ad41a273;hb=HEAD#l1102
<fnstudio>i suppose the best way to approach this would be writing a patch (a test + the fix) and submitting it to one of the project maintainers?
<fnstudio>just asking this here in case any discussion around this had already happened
<leoprikler>so I just found out, that resolve-module really forces you into Scheme
<leoprikler>that is unless you set the current reader from the file itself, which could be an option
<leoprikler>so, has anyone an example for that, preferrably with wisp?
***berndj-blackout is now known as berndj
***wxie1 is now known as wxie
***heroux_ is now known as heroux
***sneek_ is now known as sneek
<leoprikler>okay, I think I got it
<fnstudio>when trying compile (make distcheck) guile-lib, i get this error: texi2dvi: texindex failed
<fnstudio>anyone has any idea what that could be?
<fnstudio>well actually, a more meaningful piece of info: ERROR: In procedure %resolve-variable: Unbound variable: #{\#t}#
<fnstudio>(well not that i need it so badly, i can simply run tests with make check afterall)
<daviid>fnstudio: you need to checkout devel before to patch guile-lib ... i pushed 3 patches (based on someonelese suggestion,as mentioned in the patch themselves) that haven't made it to master (and release) yet, sorry
<fnstudio>oh daviid thanks so much, that's great to know - well, not the fact that it's kind of stuck upstream :) but great that there's some work done on this already
<fnstudio>i'll have a look at the patch and see if that includes the change/fix i was hoping for
<daviid>fnstudio: no, those 3 do not address 'yours' - and i know next to nothing about htmlprag, but someone said earlier here the bug was in the html file? have to afk, and probably i won't be able to do much on this for the next few weeks - but send the patch if you think it is a guile-lib bug ... i certainly can apply it to devel, if ok ... but master/release will take a little while ...
<fnstudio>daviid: that's super, thanks!
<fnstudio>yes, i'd tend to think it's a htmlprag issue, as opposed to a malformed html file; i've found a couple of posts that would support this (including the one pasted above)
<jlicht>running some long running task using `system*', how can I make sure that SIGINT is passed along? Take e.g. `(system* "sleep" "10")'.
***rekado_ is now known as rekado
<rekado>jlicht: I’ve had the same question, but have not found a good answer.
<rekado>I ended up using open-pipe* instead of system*
<pkill9>is there a way to display tables in haunt?
<pkill9>i don't htink it supports that feature of markdown
<pkill9>for now I put it in code tags
<rekado>haunt uses guile-commonmark for markdown rendering
<rekado>it doesn’t seem to support tables
<jlicht>rekado: makes sense, yet somehow not what I wanted to hear. Thanks nonetheless!
<rekado>jlicht: this might be a bug
<rekado>strace showed me that SIGTERM is received and handled, but then the code simply resumes
<rekado>see also bug #46403
<dsmith-work>Hey Hi Howdy, Guilers
<jlicht>rekado: I just read your bug report: I don't have original thoughts, clearly :)
<rlb>leoprikler: fwiw, here's how I handled that for lokke (though it's early, fairly awkward code I likely need to revisit): https://github.com/lokke-org/lokke/blob/main/mod/lokke/ns.scm#L121
<rlb>And whether this, or something else there are definitely some dialect-related facilities I noticed we might want to improve at some point (recall some reader-related issues in particular, but forget the details offhand).
<jlicht>rekado: I worked around this issue for now by using "system" and writing some glue; in "scm_system_star", it seems we explicitly ignore both sigint and sigquit, so it makes sense that we see what we see
<rlb>...one thing, if it's feasible, might be some way to teach guile how to map file extensions to dialects, so that we don't have to write all that code each time.
<fnstudio>ouch i was fixing the <p> issue in htmlprag (https://lists.gnu.org/archive/html/guile-user/2020-03/msg00059.html) but it seems i was being naive...
<fnstudio>the fix i was thinking of is super easy, i.e. to simply relax (as in "delete") a constraint on <p>'s allowed parents
<fnstudio>currently allowed parents: body, td, th
<fnstudio>so that things break if <p> appears within, say, a <div>
<fnstudio>now that i think of it, though, that might need some proper rearchitecture as opposed to deleting a single constraint to fix the issue around <p>
<fnstudio>what i mean is that, if <div> is not listed maybe the entire thing was conceived for an older html specs?
<rekado>fnstudio: there’s a patched version of htmlprag that we use for the Guix and GWL manuals: https://elephly.net/paste/1614268485.scm.html
<dsmith-work>fnstudio: Probably. htmlprag existed years (decade(s)?) before html5
<fnstudio>rekado: lol! it's exactly what i was looking for! thanks! (i will need to figure out how to cleanly use the snippet in my guix setup but that's a separate issue :))
<fnstudio>dsmith-work: yeah, probably, a bit sad, it seems an important library, but i suppose there's many important libraries that need care, so totally understandable
<leoprikler>rlb: that's certainly interesting, but would you want to write a Visual Novel in Clojure over Guile?
<leoprikler>I don't feel as though it would make that great a difference if you're already used to parentheses.
<rlb>Hmm, not sure I follow you (wrt visual novel?).
<leoprikler>I'm writing a VN engine in Guile, but want to be able to write the novels themselves in any other language supported by it (e.g. wisp)
<leoprikler>By design, the engine reads certain things from a module (resolved via resolve-module) and then does stuff.
<leoprikler>so I need to parameterize the reader in user code if I want to use e.g. wisp in lieu of guile
<rlb>leoprikler: hmm, well on a technical level, I think we might still want to make some improvements with respect to the handling of the reader/writer and dialects, e.g. from the repl it reverts to the scheme reader/writer in any recursive error prompt, doesn't go back to the "correct" reader/writer until you exit the nested levels.
<leoprikler>intersting
<rlb>leoprikler: and I suppose I'd just think of clj like any other dialect, i.e. if it makes sense to support, elisp, it might also make sense to support clj -- I think the syntax similarities/differences between scheme and clj might not be nearly as interesting as the other distinctions.
<leoprikler>so if you raise an error after ,L lokke, it switches back to guile?
<rlb>right -- the clj printer is gone until you hit C-d to go back to the top level.
<leoprikler>that sounds painful
<rlb>If no one beats me to it, I'm planning to look in to it later.
<rlb>...and for what it's worth, I've quite enjoyed working in both scm and clj -- I find that some things "fit" a lot better in one or the other (since right now in lokke I can write a given module/namespace in either one, interchangeably).
<rlb>(Of course right now, performance-wise, I think scm's likely to win, when that's more important.)
<rlb>(in guile)
<leoprikler>Hmm, going back to my original problem, I'd really like for Guile to either know in advance or let me configure at runtime the language of a given script file.
<leoprikler>E.g. so I can do (inside foo.scm) (switch-to-lokke!) ;; now writing lokke code
<leoprikler>As far as I understand, I can swap out the reader, but not the compiler.
<leoprikler>Hmm, I think I'll have to roll my custom solution like you did then
<rlb>Hmm, I'll have to think about per-file ("inline") markers. As yet, I'd mostly just been thinking about auto-compile mappings via file extensions.
<rlb>At least for typical clojure code (i.e. namespaces), the first form of a namespace will be a (ns ...) form (paralleling define-module), but that's almost certainly too shaky to rely on.
<bjoli>I wrote some proper coroutine generators: https://git.sr.ht/~bjoli/awesome-coroutine-generator if anybody is interested.
<leoprikler>Extension mappings are fine imo, but -*- mode -*- would also be nice.
<bjoli>they are, I believe, feature complete with pythons generators
<bjoli>with the addition of multiple values, of course
<leoprikler>rlb: preferrably, one could make the mapping part of the language spec, so that adding support for more extensions becomes trivial
<rekado>leoprikler: racket has #lang followed by the language name
<rekado>this solution seems to have come up here repeatedly as something Guile could benefit from
<dsmith-work>Yeah, Racket seems to have quite a few language flavors. How well does that work for them? (#lang)
<dsmith-work>Do they do anything with filename extensions too?
***Server sets mode: +nt
***leoprikler_ is now known as leoprikler
***hugo- is now known as hugo
***Noisytoot_ is now known as Noisytoot
***ecraven- is now known as ecraven
***dftxbs3e_ is now known as dftxbs3e
***rekado_ is now known as rekado
<rekado>dsmith-w`: I don’t know. I don’t use Racket. Do you have any particular problems in mind? Name collisions perhaps?
*rekado migrates old game to latest version of Chickadee
***roptat_ is now known as roptat
***ba is now known as bandali
<dsmith-work>Sheesh.
<dsmith-work>can't change my nick back when banned on a quieted channel? And can't identify unless I change the nick? Harsh.
<rekado>davexunit: do you happen to have an example of using a “source” as background music in Chickadee?
<rekado>audio-play works fine for me, but source-play remains mute, and I don’t know if that’s because the source is too far away from the listener by default
***wleslie_ is now known as wleslie