<RhodiumToad>the whole _point_ of CDATA is that there are no special entities in it, the ONLY markup is ]]> <RhodiumToad>fascinating how such an obvious bug apparently remains undetected for decades <manumanumanu>wingo, civodul : now that you both are here! I just finished srfi-171 (transducers), which are a generalization of map, filter and friends. If I were to provide a patch to include it in guile, would it have any chance of getting merged? The transducers are implemented in the same way as in clojure (ie: eagerly) with the same "protocol". <wingo>manumanumanu: it's easy to merge support for a new srfi :) do you have copyright assignment on file? make sure to document the thing too <manumanumanu>No copyright assignment, but that can be arranged. Documentation can be converted to texi without much fuzz. <civodul>but it sounds like it would be a great addition! <wingo>send me your email address and i can put you in contact with the fsf copyright clerk <wingo>been a while since i did that so i don't know how fast they are these days <manumanumanu>I need something to do before boredom makes me hack my for loops into a srfi like john asked me. It is such a daunting task :D <manumanumanu>not only that, porting it to another scheme is somewhat of meh task. <manumanumanu>Chez scheme would have been easy if it had been easier on the phasing and if it had had keywords. <amz3>manumanumanu: at least, you do not need to learn a new cffi interface :) <amz3>well, chez scheme cffi looks like guile cffi, but chibi cffi is completly different. <manumanumanu>amz3: I really like the chez ffi, but for writing portable ffi code I usually just use the r6rs-ffi. <amz3>I had some concerns regarding r6rs-ffi, but I don't remember exactly what it is. <chrislck>manumanumanu: srfi-1 doesn't have list-flatten and there's lots of bad implementations around <manumanumanu>bad implementations? Isn't everyone using a regular tree walk? That should be O(n) and work on improper lists <manumanumanu>that uses no reverse and doesn't die on improper lists (although it properizes them :D) <manumanumanu>what I of course meant to say: for guile and racket that should be optimal. I don't know what other schemes have that very very nice optimization. <manumanumanu>chrislck: if you want to spread that flatten around, please do. I claim no copyright to that piece of code. <amz3>what is the plan regarding R7RS-large libraries? <manumanumanu>there should be plenty of time to decide. Have they voted on anything else than the red docket yet? <wingo>amz3: i have no plan. i think that given the size, it would be best suited to a repo outside guile imo <chrislck>there were lots of comments decrying delete-duplicates in old code :-P <chrislck>but the bottlenecks were never guile efficiency... lots of slowdowns in bad code elsewhere, now hopefully most gnucash scheme is now O(efficient) <chrislck>conclusion: hallelujah modern scheme tutorials :) <manumanumanu>chrislck: list? is o(n) for gnc:list-flatten... I'd just use a hash-table for delete-duplicates :D <manumanumanu>chrislck: yeah. I did that thing as well, but with match. It is because list? has to distinguish between proper and improper lists. *chrislck has a mission to remove all inappropriate use of set! :) <amz3>that is neat to read that much activity around guile. <jcowan>manumanumanu, amz3: the Tangerine Docket has also been voted on <RhodiumToad>so is there a place to report bugs in ssax/upstream, or shall I treat it as a guile bug? <jcowan>RhodiumToad: You could send them directly to Oleg himself <RhodiumToad>this is a bug apparently caused by misinterpreting the spec, so a public bug list would be better <RhodiumToad>(and yes, I've checked with other experts and with other implementations to make sure it's not _me_ misinterpreting it) <amz3>RhodiumToad: maybe comp.lang.scheme newsgroup? *RhodiumToad largely abandoned usenet after being a newsadmin for so long <jcowan>Historically oleg@pobox.com; I have no idea if that still works <jcowan>c.l.s is still quite useful despite being infested by THAT ITALIAN LOON WHO UPPERCASES ALL HIS RANTS *RhodiumToad just signed up again for news.individual.net <RhodiumToad>as for the loon, I assume groups-abuse at google is at least as clueless as they were back in the day when they asked me to teach them their jobs <jcowan>I think they just simply are not listening <RhodiumToad>they pretty much never did, getting them cut off was the only way I found to get their attention <weinholt>seems it was connected to a group and that group no longer exists <weinholt>i find it odd that his rants are posted via Belgian ISPs. i sent abuse reports to them, one reported it was handled, but nothing came of it. also reported it to google's net-abuse (iirc) alias. nothing happened. <amz3>that strengthen the idea that google groups (and news groups) will join killedbygoogle.com <weinholt>amz3, usenet will still exist after google and will likely be better off :) <jcowan>I used to subscribe to the RSS feed, but now I use the emailed daily summary ***jao is now known as Guest67735
<amz3>www meh blah p2p blah blah gnunet blah. <daviid>maybe I should move it to guile-lib... it is almost a faq here :) <RhodiumToad>fascinating, W3's testsuite for xml contains exactly no instances of > inside CDATA <wingo>amz3: do fibers work well with http clients/ <wingo>i.e. can i http-get from within a fiber, and does all work as it should? <daviid>str1ngs: hello - the link you pasted does not work <str1ngs>daviid: one sec will paste to debpaste for you. <str1ngs>this is some extra automake autotools stuff but the meat and potatoes is in coverage.in <daviid>str1ngs: sorry, I'm not familiar with this, I just write what ever tests my projects needs and manually run 'make check' ... never used (system vm ...) <str1ngs>daviid: I understand. I was wondering if this has been sovled before I guess. Thanks for looking at it. <str1ngs>daviid: this piggy backs of make check. I just use make coverage to generate html from lconv.info. to see if I missed anything that might need testing <amz3>wingo: i did not test recently with guile 2.9.x, but with guile 2.2 I think it works. <amz3>Now I can recall that a version of my project was using fibers to crawl websites. <amz3>To be honest, I did not do extensive benchmark. <amz3>str1ngs: I think guile has coverage support, Let Me Check. <amz3>str1ngs: yes there is: test-suite/guile-test. Nala Ginrut reported some feature missing in the coverage module of guile. I have a patch in my guile checkout that contains the following: https://paste.gnome.org/pzvvwlghv <ArneBab_>when using the append from manumanumanu, Guile does not release all of its memory on (gc). To reproduce: <ArneBab_>(define longlonglist (iota 100000000)) (define longlonglist2 (iota 100000000)) <ArneBab_>(begin (flatten (list longlonglist longlonglist2)) #f) <RhodiumToad>boehm-gc is never guaranteed to release all memory, it's a conservative collector <ArneBab_>In this case it keeps 6GiB of memory (half of the peak memory) <RhodiumToad>I believe, from what I know of the boehm gc, that it's a potential issue if you have very long chains of connected cells, and a false match on the stack or heap ends up pointing to one of them <RhodiumToad>that can potentially convince the gc that a long list is reachable when it is not <RhodiumToad>how consistent is the effect if you make small changes to the lengths? <ArneBab_>you mean whether I also see this if I use iota 90000000 ? <jcowan>Also, some repls hang onto inputs and/or outputs <ArneBab_>that’s why I used the (begin … #f) — otherwise the formatting of the output kills all performance. <RhodiumToad>yes, does the memory retained at the end change much in response to proportionally small changes to input size ***daviid is now known as Guest95982