IRC channel logs
2018-06-22.log
back to list of logs
<nilg>How to write the output of some call in a file? (I tried to redirect the output of guile into a file but that doesn't work) <nilg>hmm, I read the manual but I was confused since the argument of the call should be the port number. Anyway, thanks! <civodul>wingo: we seem to be using direct calls to pthread_create & co. instead of using GC_pthread_create & co. <civodul>contrary to what the comment in bdw-gc.h suggests <civodul>/* Don't #define pthread routines to their GC_pthread counterparts. <civodul> Instead we will be careful inside Guile to use the GC_pthread <wingo>certainly the comment seems to not match what we are doing. i don't know that what we are doing is wrong though <wingo>we have to support threads made by raw pthread_create <wingo>because new threads can show up at any time <wingo>afair we use the same mechanism in both cases <wingo>and we avoid storing gc roots in pthread keys (i.e. if one is in a pthread key, it also exists elsewhere) <civodul>there's scm_i_current_thread in TLS, and there's a redundant pthread key <civodul>TLS is supposed to be scanned by libgc anyway <wingo>civodul: can you reproduce the problem with GC_MARKERS=1 ? <wingo>it only happens in multi-threaded situations, right? <civodul>wingo: only in multi-threaded situations (as in several Guile threads) <civodul>on runs where my code crashes, only the last two threads of the 'all_threads' lists were ever marked <civodul>we use GC_register_my_thread, so we're fine <manumanumanu>so, now I'm up and running on osx (got a new imac for free. Not my own choice. My wife won't let me install linux on it). I miss guix already. <ArneBab>I did not try it yet, but it’s a unix. I can install Guix on top of a Linux, why not on top of OSX? <ArneBab>(the last time I ran OSX was in 2007, then I installed Linux on the box) <taylan>hmm. OS X doesn't use ELF I think. for that and probably other reasons, you probably won't be able to use substitutes or the default package tree at all. would need to create a whole new package tree at least. <vivien_>Hello ! I have a question about compilation in guile. If I have a module "loader" that loads an extension, guild is able to compile it. If I have a module "user" which uses "loader", then guild fails because it cannot load the extension (it should not try to load the extension, since it will only be available at run-time). How do I tell guild not to load the extension ? <vivien_>For instance, in loader.scm I have : (define-module (loader)) (load-extension "this-does-not-exist" "init"), and in user.scm I have : (define-module (user)) (use-modules (loader)) <vivien_>I can : guild compile loader.scm, but not guild compile -L . user.scm <taylan>vivien_: I don't really have experience with this but I think you want to put (load-extension ...) inside a procedure that can be called to load the module, like (define (load-foo) (load-extension ...)) <taylan>then of course call that in the appropriate place in user.scm <vivien_>Thank you taylan, I've just checked and it works.