IRC channel logs
2017-07-31.log
back to list of logs
<wingo>paroneayea: i was thinking, i can probablymake fibers a bit more lightweight <wingo>i was at first trying to make them have identity -- like you could ask what fibers are running etc. but now i think that's a layer that's best added above <wingo>i.e. you can build fibers-with-identity on top of "raw" fibers <wingo>or actors-with-identity, etc <sjoerd`>has there been activity on making a JIT already? It would seem libgccjit might be a proper backend for bytecode <ArneBab_>(sorry for the PR dirt in the link, I didn’t realize it was in there when copying) <sjoerd`>Would it also make sense to have GNU R compiling to Tree-IL? <civodul>re guile-tjit, there's a paper from the 2016 Scheme Workshop <mbuf>Are there any examples on integrating JavaScript with Artanis? <ArneBab_>sjoerd`: I think it would be interesting to have R on Guile <civodul>ACTION struggles with bytestructures <paroneayea>wingo: hm interesting... I think it wouldn't interfere at all with the stuff I'm doing to make that change <jlicht>Does guile have something akin to a reader macro? I found the documentation for `read-hash-extend', which might already do what I want <paroneayea>wingo: are you thinking it would be better for conceptual simplicity or speed? <paroneayea>right now 8sync on fibers is "half the speed" on a single core than it was before but <paroneayea>and that's just for message passing, which I think won't be the bulk of cost of most programs (most of it should happen in the handlers themselves) <paroneayea>being able to take advantage of multiple cores and preemption is a big win, so <civodul>jlicht: read-hash-extend is the thing (or Guile-Reader); but think twice before you start relying on a reader extension :-) <wingo>paroneayea: one thing, did you try re-using the operation for every turn of the actor's loop? <wingo>like the operation that you make to send or receive or be signalled -- that data structure is stateless, you can re-use it <jlicht>civodul: I am player around with Semantic Versions, and it quickly became a hassle to run (clean <..>) on all my input while doing some REPL driven development ;-) <jlicht>civodul: So I will only be using it as a convenience when coding, not in the actual code itself <paroneayea>wingo: also, adding actors overhead runs at half the speed of a basic ping-pong test in fibers also <ijp>if it's only for the repl, then a repl command is probably more appropriate than a reader extension <jlicht>ijp: That is probably more appropriate then. How can one 'extend' the repl in this way? The manual mostly talks about the existing commands <ijp>Check out the module (system repl command) and in particular define-meta-command <paroneayea>I'm still a bit jealous of Akka which apparently can get to 1M messages per second per core, but maybe we'll get a nudge closer to that when we hit native code generation :) <ArneBab_>ijp: do you have an update on your guile-js work? <ijp>ArneBab_: If you don't mind waiting, I'll message the list at some point in the week <ArneBab_>ijp: one problem which came up here which I couldn’t answer was "is the code somewhere" <ArneBab_>ijp: do you have your code online somewhere? <ijp>there is some on gitlab, but I haven't pushed recently <ArneBab_>will you do that for the message to the list? <manumanumanu>So, I have added #:final-keywords to my for loops, which are not quite syntactically the same as rackets ones (no body-or-break-clause, but nobody uses those any way), but they are on par feature wise. However, ArneBab_ asked me about the macro expansion time, which is somewhere close to 0.02s for a non-trivial for loop. That is not good enough. What are the tricks to keep macro expansion down? <manumanumanu>I moved away from generating and outputting lots of syntax in favour of a more procedural style, which made it slightly faster <ArneBab_>manumanumanu: you can call into helper functions as much as possible. That keeps the code size down (be minimizing duplicated intermediate code) <manumanumanu>yeah, that's what I have been doing. My first attempt was more or less a syntax-rules-only approach, but now, instead of generating and outputting code for the next macro, I am passing syntax objects to helper functions around <manumanumanu>before i started doing that, I had 3 steps that generated the code for the next macro, now I only have 1 intermediate step before emitting the code. <manumanumanu>I still need to use syntax-case to destructure the syntax passed around, so I don't know how much is gained by the procedural style anyway <solene>hello, how can I parse a html answer to extract some tags ? I can't find any library doing this <bavier`>solene: you might be able to use the sxml module <solene>bavier`: I tried the sxml module but it seems that my html isn't a perfect xml so it throws an error while converting it <dsmith-work>solene: Which is the exact problem htmlprag attempts to address <solene>yes, htmlprag seems to do exactly what I need ! :) <ijp>Someone(tm) should go over the html5 parsing algorithm with a fine toothed comb, and make htmlprag do the same <paroneayea>I think auditing the algorithm against that incredibly complex document would be so much work that it would maybe even be less work to just type in the algorithm from that page by hand <paroneayea>esp since the w3c document isn't a specification of behavior as much as a step by step algorithm