IRC channel logs

2019-08-09.log

back to list of logs

***Server sets mode: +nt
<dftxbs3e>hi, I'm bootstrapping guile and it's taking forever and wont be multithreaded
<dftxbs3e>any idea what I can do?
<dftxbs3e>it's on these steps: BOOTSTRAP GUILEC ice-9/eval.go
<dftxbs3e>in guile-2.2.6/bootstrap
***ChanServ sets mode: +o wingo
***wingo changes topic to 'Welcome to #guile. See https://gnu.org/s/guile for more information. Guile 2.2.6 is out! <https://gnu.org/s/guile/news/gnu-guile-226-released.html>. This channel is logged, see <http://logs.guix.gnu.org/guile/>. Bug database at <https://bugs.gnu.org/guile>.'
***wingo sets mode: -o wingo
<wingo>karlosz: cps soup is effectively ssa, yes. just a couple of differences --
<wingo>one, no basic blocks. you never know whether a binding in a $kargs is a phi or not. so it pushes you do to more flow analysis rather than traversing predecessor/successor chains
<wingo>for better or for worse.
<wingo>for better, as the optimizations are more robust; for worse, as it's a bit of a pain
<wingo>so in most formulations of ssa usually when you have a term, it defines a value or some values
<wingo>in cps soup the name is associated not with the term but with the continuation
<wingo>so multiple definitions for a phi don't have distinct names. a problem? i don't know.
<wingo>the second thing is that cps soup is formulated in such a way that makes it a persistent functional data structure
<wingo>that has the advantage that it's easier to be a bit more algebraic when you formulate compiler optimizations -- you don't have to worry about mutating the input to an optimization pass, because you always logically construct a new value
<wingo>it has the disadvantage of being slower to run
<wingo>but, it lets me do optimizations that i wouldn't have been able to do
<wingo>and that's basically it. seems to work for guile.
<OrangeShark>good day everyone
***jao is now known as Guest32447
***Guest32447 is now known as jao
<dsmith-work>Happy Friday, Guilers!!
<OrangeShark>Happy Friday dsmith-work
<wingo>o/
<str1ngs>daviid : changing <web-kit-web-view> is not that great of an issue. since the method's remain as (webkit-web-view-reload). just some feed back. I don't think it's worth too much effort to change the class names. Alos it my be better suited for Gtk class names to goops class names this way.
<str1ngs>daviid the only issue I've really had so far is (gi-import "Gtk") produces a noticeable pause for gtk. I understanding it's importing alot. but is there a way to improve on this you think?
<chrislck>Gtk? someone creating gui from guile? would be nice to see
<str1ngs>chrislck: actually this does more then just Gtk. it does gobject introspection. for context I'm talking about g-golf
<chrislck>cool
<chrislck>lots of this out of my comfort zone; all i'm doing myself is really cleaning up gnucash
<spk121>hi
<OrangeShark>chrislck: what sort of clean up are you doing in gnucash?
<chrislck>OrangeShark: functions, one by one :-o https://github.com/Gnucash/gnucash/commits/maint
<OrangeShark>oh nice
<chrislck>beautify, use srfi-1 (finally), tests, refactoring, dedupe, tabs->space, documentation
<chrislck>... and use tail calls
<daviid>str1ngs: importing "Gtk" takes +/- 2s - I won't work on this now, as mentioned earlier, however, since you mostly work with WEbKit2, you selectively import only what you need
<daviid>*you may selectively import things you need from Gtk, not the all namespace
<str1ngs>ah how do I selectively import?
<str1ngs>I guess I can do (g-import "GtkWidget")
<daviid>no
<str1ngs>right that won't work
<daviid>see in the test-suite, search for g-irepository-require
<str1ngs>thank you, that gives me a place to look
<daviid>then g-irepository-find-by-name
<daviid>and then gi-import-object, or enum, struct ... see (g-golf hl-api import) to see those who are currently 'covered'
<str1ngs>also quick clarification should slot setters like this work. (!uri view "http:/gnu.org") or only getters?
<str1ngs>and other wise I would use (!set ($uri view) "http://gnu.org")
<str1ngs>err (!uri view)
<daviid>the latter
<str1ngs>I thought so, thanks for the info
***jao is now known as Guest9365
<desttinghim>is it possible to load a lib*.a file using dynamic-link?
<str1ngs>desttinghim: not that's not how static libraries
<desttinghim>str1ngs, ?
***Guest9365 is now known as jao
<str1ngs>dynamic-link uses dlopen so it needs to be a dynamic library
<str1ngs>lib*.a files are archives that a used at compile time to statically include the library as part of the compiled program.
<daviid>str1ngs: I am working on the array type, **gchar for the time being
<daviid>str1ngs: it is (set! (!uri view) "http://gnu.org")
<str1ngs>that's a great addition
<daviid>should land today
<daviid>later today
<str1ngs>I am using (set! (!uri view) "http://gnu.org")
<str1ngs>also what version of guile are you using?
<str1ngs>I have a compile issue with util.scm and I want to make sure I'm on the same page
<str1ngs>the compile issue is not important. just might be a good FYI for you
<str1ngs>also I hope you got my feed back about class names. I think it's less of an issue then I originally thought. since the GObject method names translate nicely
<daviid>str1ngs: i don't push anything that doe not compile
<str1ngs>I assumed it was an issue with my guile stack. so no worries
<daviid>please pull, clean, compile and report ... tx
<str1ngs>will do
<karlosz>wingo: thanks for the detailed response! i think the immutable part of it is really interesting, though i think MLTon also does that. since my main issue with ssa is representing the phi nodes robustly/elegantly, i may give associating names to continuations (ie the cfg arrow into the merged basic block) a shot instead