<rekado>it works with primitive-fork and execlp <rekado>this works: guile -c '(for-each (lambda (n) (if (zero? (primitive-fork)) (begin (display n) (execlp "sleep" "sleep" "3")) (begin (waitpid WAIT_ANY)))) (list 1 2 3 4))' ***leoprikler_ is now known as leoprikler
<civodul>rekado: waitpid(2) in the parent gets automatically resumed ***leoprikler_ is now known as leoprikler
<chrislck> maybe guile needs a ReadLikeGuile2.2 option ***daviid is now known as Guest47549
***Guest47549 is now known as daviid
<wingo>i suppose if scheme read is the "real" reader, we can remove support for all reader options in read.c <wingo>i guess the bootstrap reader used by C would call an internal function or so *wingo constructs bespoke hydroponic bug farm *spk121 started a build script that is nearly *spk121 a full 'make' at this point <civodul>spk121: i checked out the mini-gmp branch but i keep being interrupted since then :-) <spk121>plus, you had a pretty busy weekend! <mwette>glib stretches the C PP to the limit. How is this C?: GLIB_DEPRECATED_FOR('G_TYPE_VARIANT') <rlb>"Metalang99 is a functional language aimed at full-blown C99 preprocessor metaprogramming.~... <mwette>rlb: thanks. The C99 parser in my ffi-helper can't parse that because it thinks it's a broken character literal. For now I just have to stop using glib as a test case for the ffi-helper. <RhodiumToad>ah, I see that macro is just stringifying its arg, that's why it works <mwette>What's the type of the argument literal? <RhodiumToad>at least in the file I'm looking at, there are two versions of the macro; one ignores the arg entirely (for old compilers), <RhodiumToad>#define G_GNUC_DEPRECATED_FOR(f) __attribute__((deprecated("Use " #f " instead"))) <mwette>Scheme <-> C: "foo" <-> "foo" ; #\c <-> 'c' <RhodiumToad>so in this case the "f" argument is never actually interpreted as any kind of C code <RhodiumToad>it's just converted to a string literal and then spliced into a compile-time attribute <RhodiumToad>macros that use stringification or token pasting aren't really possible to interpret without expanding them <mwette>Exactly. In a standalone case my parser works on that. I need to dig further into why updated glib is not getting parsed. <RhodiumToad>er, that was the wrong #define I pasted above, but the right one is actually identical to it barring the name <mwette>Confirmed it's choking on the attribute version expansion shown above. <manumanumanu>wingo: btw, weinholt has a scheme reader that is r6rs conformant I believe. It is called "laesare" which means "reader". I think it is hosted on github, and unless I'm mistaken it is permissively licensed. <mwette>char *s = "blah " "'abc'" "blah "; <manumanumanu>karlosz: are you the guy who committed the riscV port of SBCL? <manumanumanu>I'm still waiting for my sifive board, but sbcl is one of the things I expect to try on it <mwette>RhodiumToad: I found the bug. When macro reference is "dead code" I was just letting it pass through. I needs to read the arguments first. <manumanumanu>so, does anyone have any idea of how far the optimizer goes? I have a case where ,opt does _not_ do dead code elimination. I end up with (if #t do-this (failure)) in the output. <spk121>wingo: with you talking about bootstrapping the reader... One evil idea would be to port the Guile compiler to janekke's mes, compile the reader and the rest of BOOTSTRAP with mes. And just use the .go file from that. <evil laugh> <eduardore>Hello? My first connection to #guile, can anyone read me? :) <mwette>manumanumanu: which sifive board? HiFive Unmatched? <joshuaBPMan>I think it took me about three months on hanging out on irc before I realized that sneek was a bot... <civodul>spk121: just built --enable-mini-gmp and it went all fine <civodul>perhaps one thing we could do is automatically enable mini-GMP support when GMP is not found <dsmith-work>civodul: So mini-gmp is only a subset of gmp, right? Does Guile not use the "extra" stuff in (maxi-)gmp? <civodul>dsmith-work: it's a subset and simplified (pure C) implementation, AIUI <civodul>Guile doesn't need more than that feature-wise <chrislck>would guile(mini-gmp) pass same benchmarks as guile(gmp) but only slower? <spk121>civodul: I did already put in the logic to enable minigmp if gmp not found, I think. But I didn't test it <spk121>chrislck: it should be identical but slower, as I understand it <spk121>dsmith-work: I did have to re-implement one function having to do with double to integer conversion, but that was it <civodul>spk121: ah ok, i didn't look at the diff in detail, but that logic didn't work for me <civodul>anyway, we'll see what wingo thinks but it could be a 3.0.6 thing IMO <chrislck>\o/ some more benchmarks would be very welcome.