IRC channel logs

2017-12-31.log

back to list of logs

<spk121>daviid: you still around
<amz3>nckx: where?
<spk121>daviid: to quell BDW-GC large alloc warnings via environment variables, you can set GC_LARGE_ALLOC_WARN_INTERVAL to something much larger than its default of 5
<amz3>nckx: yep
<daviid>spk121: will try (now)? do you happen to know why what yo suggested by email did not work?
<spk121>daviid: I don't really know. I just did a quick read of the GC headers. I didn't actually test it.
<spk121>daviid: Now that Fedora is mostly up to date and now that I don't hack on Guile itself any more, I haven't built it in a long time.
<daviid>I did not find that env var you just listed in their manual either
<spk121>daviid: I found it in the GC code in misc.c
<daviid>ah, didn't look at their code, just the README adn the manual couldn't find anything, except what made me try to patch...
<daviid>GC_LARGE_ALLOC_WARN_INTERVAL does the trick, finally (lost quite a few hours in few dayson this :(, but thanks a lot!
<spk121>glad to help
<daviid>it was very kind of you to look into this
<daviid>perfect, now I can patch my manual, and with both the raised exception and repl patch, guile-cv is now usable for regurlar users
<amz3>someone knows the name of the srfi for parsing command line arguments please?
<daviid>it is a bit annoying that they have to patch guile themselves though, I hope amz3 I use (ice-9 getopt-long)
<amz3>I had a look at it, it looks nice, but i want to compare with th srfi
<amz3> https://srfi.schemers.org/srfi-37/srfi-37.html
<daviid>i mixed answers above :), I mean to say: ... I hope guile will be patched (the repl and the raised exception system would use truncated-print), so users won't have to do it themselves
<spk121>Sure. Seems like a logical fix to the REPL to me. I still have commit privilege, but, it probably would be rude to jump in hack stuff after years of being idle.
<spk121>Anyway, good luck.
<daviid>spk121: yes, let's wait for an 'active' maintainer to do it, I send to patches, and the repl patch only does not solve the problem (for guile-cv users I mean), because sonner or later, error ... which blows the repl and kills emacsit only takes minutes for som
<daviid>*two patches
<daviid>spk121: what are you working on these days?
<spk121>daviid: I've declared 2018 to be the year I just finish things, and not start new things. Right now I'm revisiting a alternate method for blog comments for a static blog site, where you just telnet or ssh to a tiny BBS that has just enough smarts to let you edit a message.
<daviid>spk121: cool
***daniele_ is now known as mistnim
<mistnim>how do I match a bracket with a regex?
<mistnim>\\[ gives an error
<mistnim>got it
<amz3>welcome to the very last day of 2017
<amz3>friendly reminder to update your copyright line on your next commit
<ijp>I wonder if someone has written a commit hook to remind you of this
<amz3>in javascript, the answer is yes :)
<mistnim>how do you avoid lost updates with the atomic box?
<amz3>mistnim: sorry, I am not even sure what you are talking aobut
<mistnim>amz3: if you want to update the box, you read the value and then swap it with a new one. During that period another thread might swap too. And that update will be lost.
<ijp>mistnim: you should probably be looking at atomic-box-swap! and atomic-box-compare-and-swap!
<mistnim>ijp: thanks
***rlb` is now known as rlb
<amz3>ACTION trying to understand Cheney MTA... again...
<amz3>my question was closed on SO again
<ijp>what do you want to know?
<ijp>there are a few bits to it
<ijp>are you familiar with the trampolining strategy for implementing proper tail recursion?
<amz3>yes
<amz3>there is while loop, functions returns a pointer to the continuation and the while loop exec that. this way the callstack is always one
<ijp>one rough analogy it uses is that instead of doing lots of little jumps, you should instead do less much bigger jumps
<ijp>your scheme data structures & stack frames are allocated on the C stack
<ijp>scheme calls are C function calls
<amz3>ok
<ijp>this will lead to a stack overflow eventually, at which point you "bounce" to the top of the stack and garbage collect the unused data
<ijp>very roughly speaking
<amz3>I understand
<amz3>ijp: can you compile a factorial.scm program using guile js backend and paste it somewhere please?
<amz3>I started compiling guile with js backend but it will take time...
<amz3>nvm i found something
<amz3>actually if you have (factorial 1000000) compiled to js I would like a copy of it
<ijp>amz3: http://shift-reset.com/tmp/fact-amz3.js
<ijp>hmm, that 1e6 isn't wrong, but you can blame uglify-js for that
<amz3>tx a lot
<mistnim>what would you use for config of an app? Is it ok my idea to use a sexp in file and (read) it?
<mistnim>which is the format used by artanis for example?
<ijp>1. although it would be usually not recommended, you could consider an executable configuration file
<ijp>2. otherwise I'd just use a sexp, or a sequence of sexps to avoid wrapping it in the outer layer of parens
<mistnim>ijp: how can I read a sequence of sexp without getting only the first?
<ijp>just read in a loop
<mistnim>thanks