<bandali>slyfox, i think they froze it; but feel free to bump that bug and cc wingo i guess :) <dsmith>unknown_lamer: The clues from wingo helped. Still not quite there yet. <dsmith>The bot can write to the channel, but seems to have trouble responding from a db query. <dsmith>I fussed with the db interface today at work, and it seems to be ok. <dsmith>I might need to dump and restore the db. <dsmith>The current plan is trying to bring the bot up on 3.0 on an intel box temporarily while I try to squeeze a Stable Debian into 2G (1.7G actually) <sneek>wingo was here Jan 15 at 10:02 pm UTC, saying: night!. <sneek>unknown_lamer was here Jan 15 at 03:24 pm UTC, saying: if you don't figure it out lmk and I can try to take a look later. <sneek> 20:34:51 up 53 days, 3:46, 1 user, load average: 0.44, 1.50, 1.52 <sneek>Linux gpib 4.9.0-11-686 #1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11) i686 GNU/Linux <sneek>Sneeky bot running on Guile version 2.9.9 using bobot++ 2.3.0-darcs <sneek> 20:43:27 up 53 days, 3:54, 1 user, load average: 0.05, 0.36, 0.90 <sneek>Sneeky bot running on Guile version 3.0.0 using bobot++ 2.3.0-darcs <RhodiumToad>hating the tire fire that is the web and its browsers <RhodiumToad>having to randomly add or remove stuff from ill-defined markup languages in order to try and get sensible output <manumanumanu>I write most of my things in an old XML doctype I wrote in 2006 and have XSLT that I don't dare touch that just works. *RhodiumToad noticed that nobody cared about his sxml bug <RhodiumToad>ssax mailing list, even though that's had nothing for years; comp.lang.scheme, etc. <RhodiumToad>I find it fascinating that it's been something like 20 years and nobody seems to have noticed before <manumanumanu>It is not like it is a small bug. Maybe people only use SSAX to generate HTML from sxml? <manumanumanu>I'll try to look into it and see if I can submit a patch upstream whatever use that might be. <RhodiumToad>it would have been good if the standard xml validation suite had an instance of > inside cdata; it has tests for < and (iirc) & but not > <RhodiumToad>probably because whoever wrote the tests didn't anticipate that anyone would misread the spec badly enough to process > but not < <manumanumanu>and it has special handles for tokens starting with #\&. Shouldn't that just be ripped out? <manumanumanu>CDATA is anything that isn't literally ]]>, no? So there should be no handling of any &blah; <manumanumanu>wrong. Both CDATA and PCDATA is handled by the same code. <RhodiumToad>cdata needs to process two things: newlines (for canonicalization) and literal ]]> for end of cdata, nothing else <RhodiumToad>so #\& needs to be removed from the delimiters, and the (#\&) section in the case ripped out <RhodiumToad>also if you care about the test cases, those do test for the wrong behavior, so that should be fixed too <peanutbutterandc>I know this is the last day for guile 2.2.x, but I think I have found something strange. I was trying to go through the book Simply Scheme and I did (load "simply.scm") (the book's extensions to scheme) and it works in scm, mit-scheme, tinyscheme; but with guile, running (word 'com 'puter) seems to be stuck in an infinite loop - with my cpu maxed out, too (one core atleast). <peanutbutterandc>I am running `guix install guile-next` to see if that happens even in guile2.9.9 just to make sure <RhodiumToad>yup. every copy of the ssax parser I found is the same. <RhodiumToad>it seems to be looping in compile, not even getting to execute the code? <peanutbutterandc>Whoa! Installing guile-next kinda' over-wrote guile in my guix profile. uh uh <manumanumanu>RhodiumToad: submitting a bug report there. There has been some activity there, and I know it has seen some use in racket. Maybe the maintainer of the package knows his/her way around the code better than I do. <peanutbutterandc>RhodiumToad, (word 'comp 'uter) works just fine in guile2.9.9, however. So I suppose it is all right. It's only one more day for 2.x series anyways. :) <peanutbutterandc>Guile isn't going to do the Python thing and extend support for the 2.x series for another decade, now, is it? :D <RhodiumToad>peanutbutterandc: it's the strings-are-numbers thing at the end that breaks it <peanutbutterandc>RhodiumToad, I see... I wouldn't know. Hmm... I thought guile2.x code was compatible with guile3.x... or so I think I heard/read <RhodiumToad>yes, that's the issue, it's converting > to > when it's not supposed to <RhodiumToad>the dozen lines of code that does that conversion just need to be taken out <manumanumanu>(and (string=? "gt" ent-ref) (eqv? (peek-char port) #\;)) => (and (or (string=? "gt" ent-ref) (or (string=? "lt" ent-ref) ... <manumanumanu>RhodiumToad: no, because that code also handles PCDATA (i think). <manumanumanu>peanutbutterandc: it is just because guile-2.9.9 can't find the readline .o-file <peanutbutterandc>manumanumanu, I see. And how would I resolve that, please? (I am a n00b) <manumanumanu>you _could_ symlink it into your guile 3 lib dir. Not saying you _should_, though. <RhodiumToad>manumanumanu: read-cdata-body is called only after seeing CDSECT, which is <![CDATA[ <peanutbutterandc>manumanumanu, I see. `guix package --search-paths` isn't showing guile3 related env vars. That makes sense. So, I will --roll-back now and will be using guile3 once guix starts shipping it as guile instead of guile-next. :) <RhodiumToad>manumanumanu: I don't have any idea what you're trying to do there <RhodiumToad>manumanumanu: you seem to be trying to process < as well? which would just break it more? <RhodiumToad>(processing < inside CDATA will at least instantly fail the validation suite) <manumanumanu>RhodiumToad: sorry, just commenting out the explicit handling of > is what we need, otherwise the & will be removei <RhodiumToad>right, and you also need to remove the & from the list of delimiters at the top of the function <manumanumanu>TADAA. now both < and > is represented literally inside CDATA for me, but works like expected outside it. <manumanumanu>RhodiumToad: do you want to report it to the racket library? <manumanumanu>me neither, but it seems to be a rather maintained version of SSAX, which means maybe someone that knows the code can verify the fix. *wingo knows ssax code fwiw, please do send a patch to guile <manumanumanu>wingo: The problem is not the patch, the problem is verifying that it doesn't destroy anything else. <wingo>there are options in that case (e.g. parameters defaulting to on or off) <manumanumanu>it seems to be, as RhodiumToad said, an overly militant reading of the spec that nobody else did <RhodiumToad>I checked as many xml implementations as I could find, and they all agree that what ssax did is wrong <manumanumanu>exactly. The spec specifies that only CDEND "]]>" is a special char in CDATA, but only enumerates < and & in connection to the example. <RhodiumToad>(and ]]> can be escaped as ]]]]><!CDATA[> which looks to me like some sort of demented fish, but whatever) <RhodiumToad>did the markup eat characters in your report? "... where < was converted to < inside ..." <manumanumanu>So, outing myself as a clueless classical musician: I have made changes to the SSAX code and tests in my local git repo. Is there any way I can rebuild the repo without having to make a complete rebuild? <wingo>manumanumanu: ah that is because ssax.scm is "included" in some other file <wingo>i would "find module/sxml -name '*.go' | xargs rm" :) <wingo>possibly use instead ./check-guile sxml.ssax.test or whatever it is <wingo>i.e. to run tests just from that file <wingo>see "ls tests/test-suite/" to see list of tests <manumanumanu>O_o. ssax tests output not only the failed expression, which happens to be 5. Not the values, mind you, only (equal? result expected-result). <nly>"Add procedure list->hook in Guile" <wingo>do you think it should be applied? i was not sure <nly>This may not be usable code right off the bat <wingo>i don't know, the hook interface in guile is not very nice <wingo>i would prefer to move it to a module and deprecate the bindings in the default environment <wingo>at that point list->hook would be fine obviously <wingo>but adding something to the default environment has a high (tho not insurmountable) bar <nly>I want to dive into the Guile source one day <nly>maybe that comes later, but I can try to make the said hooks module <nly>under the watch of the Guile hackers, ofcourse :) <nly>I'll be back when I have something to show. <weinholt>wingo, congratulations! now the real beta testing starts :) <wingo>hah download page is a bit of a mess, will fix <brettgilio>wingo: I'd love to help you with Guile some day when I have more time. Currently OCaml compiler hacking is taking up virtually all of my time :). <lloda>I started using Guile back in the 1.6 days I think. It's come a long way.. <lloda>or maybe even 1.4. I remember using the gh_ things <manumanumanu>RhodiumToad: patch submitted to the guile-devel mailing list. <manumanumanu>RhodiumToad: could you maybe send a link to the patch on teh ssax mailing list? <jcowan>The term PCDATA means "parsed character data", and CDATA is implicitly "(non-parsed) character data". So indeed, nothing but ]]> should be specially handled in a CDATA section. *jcowan is surprised Oleg got that wrong <manumanumanu>I am more surprised it hasn't been fixed... A testament to how widespread scheme is, I guess :D <jcowan>Charles The Great Knew All And Foresaw All -- not. <jcowan>That, and a testament to how rarely & appears in CDATA sections. <dsmith>Three! Point! Oh! Three! Point! Oh! Three! Point! Oh! <dsmith>unknown_lamer: What's the best way to get bobot patches to you? <lxsameer>hey folks what does #+ do ? is it like referring to a field of current record or something ? <dsmith-work>unknown_lamer: Ok. I emailed a patch earlier this morning. ***ng0_ is now known as ng0
<dsmith-work>unknown_lamer: Still needs more work. As I mentioned, the -S and -D options are not working right. <unknown_lamer>basically working is a start after ten years of gathering dust :) <daviid>hey hey gulers! congrat for the 3.0 release! so much progress since the early days ... amazing! <sneek>daviid, you have 2 messages. <sneek>unknown_lamer was here Jan 16 at 03:34 pm UTC, saying: basically working is a start after ten years of gathering dust :). <dsmith-work>daviid: Sorry, the bot has moved to a different box with the upgrade to 3.0 and is still recovering from surgery. <spk121>today I learned that compiling GCC takes longer than compiling Guile <rotty>cloning guile on this machine in celebration of the 3.0 release, and noticed that the http git URL could be changed to https, and updated to avoid a redirect: <rotty>(although the latter may be deliberate for URL shortness reasons?) <dsmith-work>spk121: Woah. I didn't think anything could take longer. <akhetopnu>hi. I just cloned guile onto my computer and there is no './configure' script to run, and make tells me to run it first, what am I supposed to do? Also in the README file a file called INSTALL is mentioned, but it's not there... <akhetopnu>I'm on commit a0fdb4efc18ce47520170a8ccfd7f3f4c5c99d47 (tag v3.0.0) <dsmith-work>akhetopnu: ./autogen.sh But better to grab the release tarball, the build will be about 5 times faster. <akhetopnu>hmm after running `sudo make install` I get this erro <akhetopnu>ldconfig: /usr/local/lib/libguile-3.0.so.1.0.1-gdb.scm is not an ELF file - it has the wrong magic bytes at the start <dsmith-work>akhetopnu: Yes, that's an issue with ldconfig. Not a problem. <dsmith-work>ldconfig assumes that everythng in */lib/ *must* be a .so, and complains if not. <akhetopnu>Ok, i get another error when running `guile` <akhetopnu>Pre-boot error; key: misc-error, args: ("primitive-load-path" "Unable to find file ~S in load path" ("ice-9/boot-9") #f)Aborted <akhetopnu>is this something I should be able to figure out from the README file? ***dsmith-work is now known as gorf`
***gorf` is now known as dsmith-work
***dsmith-work is now known as dsmith-test
<sneek>Welcome back dsmith-test, you have 1 message. ***dsmith-test is now known as dsmith-work
<sneek>rotty was here Jan 16 at 05:11 pm UTC, saying: (although the latter may be deliberate for URL shortness reasons?). <sneek>akhetopnu was here Jan 16 at 05:58 pm UTC, saying: is this something I should be able to figure out from the README file?. <dsmith-work>akhetopnu: No idea why you have that error. Do you have another guile installed perhaps? Like from a package manager? <akhetopnu>I specifically uninstalled my distro's guile version first <akhetopnu>it's a fairly fresh system too, nothing extraordinarily weird should've occured in any config file <akhetopnu>maybe i'm simply missing something, I'm looking at GUILE_LOAD_PATH env variable but I added some directories to no avail <dsmith-work>Shouldn't need to. Did you pass any args to ./configure ? <akhetopnu>I want to try out the 3.0.0 version that just came out because void's repos have 2.0.something still <dsmith-work>akhetopnu: Sorry I can't help much. I think the guile devs are all out partying. <dsmith-work>akhetopnu: Only thing I might suggest is running guile under strace -efile and see where it's looking for files. And where it's not looking. <akhetopnu>guile is getting Permission denied on those files <akhetopnu>`sudo guile` worked, however I needed to run `sudo make install` because I was getting Permission denied too <dsmith-work>The guile dirs *ought* to be readable by mere mortals. <akhetopnu>Hmm what does it mean when I try to define a function `(define (a b c) (+ b c))` and I get 'Unbound variable: compile' error? <akhetopnu>also when I run guile it compiles a bunch of stuff and I get warnings about unbound variables like: <akhetopnu>#<variable 7f7910a2a8f0 value: #<undefined>> <manumanumanu>were you bitten by a difference between "sudo make install" and actually running make install as a superuser? <manumanumanu>I had that problem with another project a billion year ago on ubuntu, so I never do "sudo make install" anymore, I always do "su" first. <manumanumanu>do a "sudo make uninstall" and then go back as a proper superuser and try a make install again... <zig>nly: feedback welcome. There hook->list <drakonis>the comments in the bottom in HN are err <zig>"Guile is a leading implementation of Scheme. It's valuable by itself." <zig>Let's replace all REDIS clusters with guile ;) <zig>(some dream of mine) <akhetopnu>manumanumanu: I did `sudo make uninstall` then `su` and then I ran `make install` but I'm getting the same errors <akhetopnu>also gettings lots of `no such language cps` etc <akhetopnu>but that's probably something I can install separately (just guessing) <akhetopnu>hmm I think I'm getting less of those errors now, mostly the `no such language` ones <zig>no you can not install language cps separatly. I am backlog to try to understand your problem. <zig>akhetopnu: what is your problem? <zig>the locale warning is harmless. <ft>Happy new major day. Someone change /topic. :) <akhetopnu>I've got a bunchof error after cloning guile repo onto my computer and trying to install it <akhetopnu>now I got `Stack overflow` during compilation of /usr/local/share/guile/3.0/system/vm/disassembler.scm <zig>the other error about ELF is harmless too <akhetopnu>it's still going but I think the problem should be known from just this part <zig>akhetopnu: re-do the autotools cli dance based on the released tarball (compilation will much faster) <zig>the cli dance is: ./configure && make && sudo make install <zig>akhetopnu: what is the host operating system? <akhetopnu>I think the errors are from a tarball actually, because someone already told me to download one instead, but I'll do it again <akhetopnu>would it be easier to just install guile 3.0 through guix? <zig>also in it will be easier to install packages related to guile. <zig>that is guile modules... <zig>akhetopnu: what is your programming / coding background? <zig>akhetopnu: I mean to ask: what programming language(s) do you already know? <zig>akhetopnu: also... welcome onboard the guile software system :) <akhetopnu>i'm a web developer, mostly javascript (browsers + nodejs), I had to use typescript/angular at work for a year html/css obviously, but trying new stuff, I guess i'm still a novice in common lisp but I can get around asdf, macros (to an extent, I get the different between symbols, keywords, packages etc, at work I have to do some java these days but I'm rather novice at it too <akhetopnu>thanks, I've subscribed to the mailing list months ago and I've been reading the mails in spare time <akhetopnu>I want to use guile for low level stuff like epoll/sockets/concurrency, common lisp is a lot of pain when it comes to libraries and guile has been on my radar for a year or two <akhetopnu>not sure if it's possible to insert memory barriers into guile code (want to learn how to use it but using a lisp, not C) <akhetopnu>so I ran `guix install guile` and I see it keeps downloading stuff, old gcc (4.9.4), sed, bash, is that going to clutter my system loading paths? <akhetopnu>and, since your name is zig, I actually tried out zig some time ago but it wasn't very polished yet, so I put it on the back burner <zig>I am not zig language user actually. I just like that name. <zig>akhetopnu: what I do wrt to guix, I have guix.sh that I source before using guix <akhetopnu>did you write it yourself or was it generated by guix <akhetopnu>ok, should I abort the `guix install guile` process? <zig>akhetopnu: yes you can. <zig>akhetopnu: I do not know what are "memory barriers", can you explain? <akhetopnu>so basically when you code in C for example, you compile your program with clang or gcc <akhetopnu>and since gcc/clang try to optimize your code, one of their 'optimizations' is to actually reorder the instructions, so the output binary might execute code withint a function or a block in a different order than you (as a developer) wrote <akhetopnu>so you can insert a thing called 'memory barrier' telling the compiler not to move stuff over the barrier <akhetopnu>it's useful if you have 2 threads and want 1 thread to wait for a variable to change its value from 0 to 1 for example, so if in the other thread you ensure instruction order to do something, and *then* change this variable's value, then in the other thread you can be sure that all the necessary steps that had to happen *before* this value was changed - happened. <akhetopnu>that's how I understand it and hopefully I didn't make it too convoluted <zig>akhetopnu: guile-fibers (the green threads or coroutine) does not forbid global states or shared states, but it recommends the use of channels and message passing (like go or erlang) <zig>my understanding is that if one wants to have all instruction happen in parallel but some stuff must happen in serial, one would do some kind of map-reduce thingy <akhetopnu>I haven't used such low level constructs either, I've been reading about them to understand what's going on, it might be that guile compiler/interpreter doesn't reorder instructions so these memory barriers might not be necessary <akhetopnu>I'm curious what's the performance of these fibers compared to async/await in nodejs <dsmith-work>akhetopnu: You might want to read the wingolog for some info on the guile compiler <zig>akhetopnu: so far there is no benchmark, afaik, comparing guile with nodejs. Hint: guile fibers can work with multiple threads, so from a memory usage perspective it will prolly be better. <akhetopnu>if they scaled to multiple threads that would be amazing, I'm not familiar with the guile ecosystem though, in nodejs when you use a database driver you know it's all asynchrounous, but in guile I have no idea (yet) <dsmith-work>akhetopnu: So did you ever get a working guile installed? <akhetopnu>I did `guix pull` 1 hour ago and it's still going lol <akhetopnu>it's downloaded ~30-40 packages so far, building and configuring them <akhetopnu>I used to tinker with guile 1 year ago but that was on arch and I think I had a version installed by pacman