IRC channel logs
2016-08-11.log
back to list of logs
<stis>My question is if there are good tools to to VCS internally with gule data, without using git etc extrernal tools <galex-713>davexunit: actually “live-hacking” just means you have a repl on your currently-ran software like when launching it with geiser in a separate thread so you can still use the main one to hack it, right? <galex-713>Yet I still need to learn what is reactive programming <galex-713>I’d like to, since Sly is not accessible to me <davexunit>galex-713: yes, live hacking is editing a program while it is running <galex-713>ok, only that, then I already do that with geiser x) <galex-713>davexunit: and so what is reactive programming? <davexunit>galex-713: reactive programming is a paradigm where variables are defined in terms of what they should be at any given time. <davexunit>if you assign a new value to a or b, c is still 3 <davexunit>reactive programming is a bit more like a math equation <galex-713>ok, so like using functions instead of variables <galex-713>I suppose that makes live-hacking work for more stuff? <davexunit>it allows for modeling mutable state with pure functions <galex-713>I should try to learn&play with opengl too, so I can start trying making games <davexunit>so I can describe all of the interactions in a game using pure functions and immutable data <davexunit>galex-713: I didn't learn it in any one place <galex-713>Especially OpenGL <2.0 that you must be using if you’re on a free-software X200(T) <galex-713>People said me that X200 didn’t supported that <galex-713>I’d like guile to have a game engine that work on fully-free-software computers <galex-713>and those with 3D acceleration are even more rare <davexunit>I'm very much a proponent of fully free computers, but they just aren't there yet. <galex-713>Strangely it seems the only free-software-compatible gpu are available only on computers that aren’t compatible with fully free software <galex-713>it does have touchscreen, GSM, digital fingerprint analysis, bluetooth… <davexunit>it's only an issue on laptops where you don't have the luxury of a PCI express slot <davexunit>being stuck with a really outdated graphics chip <davexunit>there are several libreboot compatible desktop boards <galex-713>Would it work if I did put an nvidia in an X60? <galex-713>I thought recent GPU were to work on recent computers <davexunit>a discrete could never fit in a tiny laptop case <davexunit>you're not reading what I'm saying carefully enough. <davexunit>there are several desktop boards that support libreboot <galex-713>I was planning to buy an X200T but maybe I’m going to reconsider that <galex-713>I know what are the supported boards, just I don’t know which one has pci-express <davexunit>you'll need to look at the specs for each one <galex-713>Anyway, I have a X60T, the only one that existed before AMT, and also dunno if a touchscreen-capable board has pci-express, so anyway making opengl 1.2 stuff is probably still useful <galex-713>davexunit: on what OS/language did you first learn opengl? do you know a recommanded place to learn it properly? <galex-713>(I’m only finding stuff on Windows for C++ and higher versions :/) <davexunit>I think I learned OpenGL back in 2007 when I was using windows <davexunit>I really don't remember what I used to learn <davexunit>pyglet is a fun library for opengl stuff in python <galex-713>I saw that in your code, couldn’t figure out what is was <mark_weaver>Amynka: I notice in that bug report that networking is disabled? please don't cripple guile in the official gentoo package. <mark_weaver>it's really bad to disable networking in guile. how would python users feel if you disable networking support in python? <mark_weaver>Amynka: anyway, regarding that bug: did the changes in libguile/Makefile.am from wingo's patch end up propagated into libguile/Makefile.in and later libguile/Makefile? iirc, Makefile.in is generated from Makefile.am only when running autoreconf -vfi, which is normally not done for a tarball build. that's normally something that we do while generating the source tarball. <mark_weaver>that's my best guess of why wingo's patch didn't fix the problem. <mark_weaver>wingo is on vacation, or will be soon, so it's unlikely he'll be able to help for the next couple of weeks. <sapientech>is there support for a generalized map/fold that can handle lists and vectors, etc? <mark_weaver>guile includes the SRFI-43 vector library, which includes vector-fold and vector-map, but note that unlike 'fold' and 'map', the vector versions also pass an index to the procedure. <DeeEff[m]>mark_weaver: I think guile could support SRFI-133 pretty easily <DeeEff[m]>which treat map and fold like the list version, without indices <mark_weaver>DeeEff[m]: sure it could. I already implemented most of R7RS on the 'r7rs-wip' branch in our git repo. <fredmanglis>I'm new to using guile, and as part of it, I have to use guild. I have guile installed, but guild does not seem to exist. <fredmanglis>My request is for anyone to point me to info that could help me figure out what I'm missing. <mark_weaver>fredmanglis: you need to install the 'guile-2.0-dev' package for guild <fredmanglis>Apparently even my aptitude was not sane - had to re-run aptitude update and upgrade to get some packages showing. Thanks again. <Amynka>mark_weaver: i am on vacation too thanks for insults like its my fault what useflags user chose <mark_weaver>Amynka: I'm sorry, I didn't mean it as an insult. I didn't even assume it was your doing. <mark_weaver>it's not about you at all, I was just venting about my long-time frustration at how terrible the guile situation in gentoo has been for a long time. but I understand that you are part of the solution, and I appreciate that. <mark_weaver>if you could help remove the -networking and -nls flags, I would be grateful <Amynka>mark_weaver: i will double check your suggestion thanks.. still have feeling this bug is more like users craziness anyway <Amynka>mark_weaver: i can hard enable them at some point <Amynka>oka will add to todo list :) thanks <Amynka>mark_weaver: btw you think if networking and nls is enabled it will solve the bug potentially? <mark_weaver>it looks to my like wingo's patch should fix it, but only if the Makefile.in is regenerated from the Makefile.am <Amynka>oki I might have badly the patch will investigate it.. new EAPI in gentoo is dark magic <Amynka>mark_weaver: yup will double check it <mark_weaver>Amynka: actually, looking at the build log attached to comment 10 of that bug report, it appears that the Makefile.in and Makefile were regenerated <Amynka>mark_weaver: I checked I might did mistake .. I am not that sure its regenerated but I need more time to investigate <mark_weaver>wingo's solution of attempting to add prerequisites to the suffix rules for .c.x and .c.doc doesn't do what we'd hope for. <mark_weaver>as explained in section 10.7 of the GNU Make manual: <mark_weaver>"Suffix rules cannot have any prerequisites of their own. If they have any, they are treated as normal files with funny names, not as suffix rules. Thus, the rule: ".c.o: foo.h" tells how to make the file '.c.o' from the prerequisite file 'foo.h', and is not at all like the pattern rule: "%.o: %.c foo.h" which tells how to make '.o' files from '.c' files, and makes all '.o' files using this pattern rule also depend on 'foo.h'. <sapientech>mark_weaver: thanks for getting back, im aware of SRFI-43, and DeeEff[m]: ill check out SRFI-133 + r7rs-wip. is r7 something that other schemes have adopted/something guile plans to adopt as native at some point? <mark_weaver>sapientech: we do intend to support R7RS in guile at some point, although I'm not sure I'd say we plan to "adopt [it] as native". I'm not sure what that means. <mark_weaver>but it's quite trivial to implement 'vector-map' and 'vector-fold' on your own, if you choose. <galex-713>mark_weaver: why not (adopting it as native, meaning making it the default language for guile, instead of r5rs) <mark_weaver>both r6rs and r7rs code can be easily distinguished by the library syntax (for libraries) or the imported modules (for programs), so we don't need to choose a default language. we can easily support both, and that's our intent. <galex-713>mark_weaver: yeah, I mean supporting both r5rs, r6rs, r7rs, light and large, but having r7rs+guile-specific-stuff as default <sapientech>mark_weaver: yeah i wasn't sure what the correct term was, but basically that the core modules support r7rs <galex-713>mark_weaver: I mean when nothing is specified, when you only do #!/usr/bin/guile -s \\n!# and specify nothing other (would be rather complex/unpredictable to try to guess according what macros/funcs are used) <mark_weaver>at this point, I don't intend to favor r7rs over r6rs. in many ways, I think r6rs is superior, to be honest. <galex-713>I heard from the manual/reference that r7rs is cool cause there’s light/large version <sapientech>yeah could we not pick and choose parts from r7rs? <mark_weaver>it's a long story, and I don't have time to tell it now <mark_weaver>but it should be noted that unlike r5rs, which has no module system at all, and therefore its bindings must be available in the default environment without any imports, both r6rs and r7rs support module systems, and you must always import the base modules of those respective languages in order to get any bindings at all. <mark_weaver>so, I see no reason to include r7rs or r6rs stuff in the "default" environment. <mark_weaver>I'd rather prefer to move away from this model where one expects a bunch of stuff in the default environment, and toward the r6rs/r7rs model where everything is explicitly imported. <mark_weaver>in practice, any non-trivial program or library needs to import several other modules anyway. adding one more module to the list to indicate which language you prefer is not much of a burden. <galex-713>mark_weaver: shouldn’t you have at least what’s needed to import modules plus eventually some basic stuff such as lambda or define? do you have to import also what’s in r7rs-light? <mark_weaver>in r6rs and r7rs, you must *always* import at least one module. for r6rs it's (rnrs base), and for r7rs it's (scheme base) <mark_weaver>in those languages, every program begins with an 'import' form that tells which modules to import, and for libraries you must use the 'library' or 'define-library' syntax. <galex-713>mark_weaver: but lambda and define are defined even before (scheme base) at least right? <galex-713>what where can I find what is base supposed to include? <mark_weaver>it lists the exported bindings of each module, including (scheme base) <mark_weaver>and see sections 5.1 (Programs) and 5.6 (Libraries) for the syntax of programs and libraries. <mark_weaver>for r6rs, see section 11 (Base library) for info on the (rnrs base (6)) library, which includes 'define' and 'lambda' <mark_weaver>and section 8 (Top-level programs) and section 7 (Libraries) for the syntax of those structures. <mark_weaver>you'll see that for both r6rs and r7rs, every program must begin with at least one 'import' form, and libraries also must specify the list of modules to import. these imports are not optional. <avoine>this might be trivial to write but anyone knows if there is a tree data structure library for guile? <davexunit>avoine: cons cells can form trees. are you looking for some very specific form of tree? <avoine>davexunit: no list of nested lists would be perfect, I was looking for high level function to deal with that <avoine>also the zipper data structure looks interesting (it sure be mention a lot here) but I'm not sure what are the implication <davexunit>they are fun and useful for traversing something <avoine>it's written for gauche but it look easily portable <paroneayea>avoine: and yeah, guile also provides hash tables, vhashes (functional hashes), vectors, and records as ways for structuring compound data <paroneayea>avoine: if you're looking for more, ijp has written a purely functional datastructures library... I've been meaning to package it for guile <paroneayea>but if you're okay witn O(n), you can get away with a lot of cons'ing :) <avoine>paroneayea: thanks I'll check that out <paroneayea>davexunit: could you paste your ~/.guile-wm somewhere I could look at? <davexunit>paroneayea: I can't seem to find an old copy right now <otremblay>Just being curious: Do some people here write Guile as their day job? <otremblay>(Badly phrased: Write *in* guile would have been better) <davexunit>otremblay: I've used guile as a means to an end at work, but it's never been a big part of my professional work. <davexunit>does anyone happen to have experience making statically linked versions of guile? <mark_weaver>davexunit: guix includes a 'guile-static' package, used in the initrd <davexunit>mark_weaver: ah yeah, that's true. I'll have to play around with that. <davexunit>I'd like to use Guix to make some standalone binary releases of a Guile program <mark_weaver>also used in the bootstrap binaries. see %guile-static-stripped in (gnu packages make-bootstrap) <davexunit>having a statically linked Guile 2.1 will go a long way towards that. <davexunit>I think I've seen them awhile ago but got confused by the code used to define them <mark_weaver>you might want to drop some of those patches, e.g. guile-default-utf8.patch which is kind of a hack <amz3`>otremblay: you like guile? :) <mark_weaver>also see the wrapper made in 'raw-build' in (gnu packages bootstrap) <mark_weaver>which sets GUILE_SYSTEM_PATH and GUILE_SYSTEM_COMPILED_PATH, to cope with the fact that it's been relocated <mark_weaver>(that code is trickier because it has very few programs with which to create the wrapper. it uses the guile to create itse own wrapper) <davexunit>the end goal here is to be able to give someone who doesn't want to mess around with package managers a ready-to-run game built with Sly <otremblay>amz3`: Well, yeah, I like the idea of coding in some dialect of lisp. I'm not good enough in any lisp dialect to actually consider taking a job in it, but I'd sure would like to know if it's a possibility. Otherwise, I've begun learning Guile as it seems a very decent implementation; I hear Racket is all the rage these days, but Guile has the FSF stamp of approval, does it not? <davexunit>mark_weaver: do you know what's up with package-with-relocatable-glibc? <mark_weaver>davexunit: looks like you might need it. see the docstring of 'glibc-for-bootstrap'. <davexunit>looks like I'll need to rebase these patches on master <paroneayea>ACTION can't even figure out how to write .xsession in a way in which it'll launch guile-wm :) <paroneayea>probably a hint I should stop wasting time on this <mark_weaver>paroneayea: make sure it has a shebang, and is executable (chmod +x), and it should end by running the window manager in the background. <paroneayea>well, I got it started, but I can't do anything... no mouse cursor, and the prefix key doesn't work. The prefix key worked when I launched guile-wm in xfce even :) <davexunit>mark_weaver: threw together a quick hack and it seems like I have a static guile 2.1 built :) <dsmith-work>paroneayea: When debugging a window manager, it's useful to use Xnest. There is another one too, but I can't remember the name... <paroneayea>neither of those are packaged for guix yet... :) <paroneayea>well, I've spent more time on this than I should have today anyhow <davexunit>mark_weaver: hmm, seems that the guile that I built tries to link against a hardcoded glibc in /gnu/store <davexunit>oh, I'm misreading my strace output. it is trying to open /gnu/store/dm57qlfkdr7gxa62y06scvb92imfdni9-glibc-2.23/lib/gconv/gconv-modules.cache <paroneayea>so I got distracted trying to do the r6rs i/o ports tests trying to figure out why it was hitting bugs at the REPL but not during "make check" <paroneayea>and I think I realized it has to do with entering unicode characters at the REPL was confusing (in-vicinity) <davexunit>and that guile-default-utf8 patch hacks around it. <sneek>Welcome back Amynka, you have 2 messages. <paroneayea>you can do C-c C-c in geiser instead of C-M-x to eval a definition at point? <avoine>for me it's bind to geiser-repl-interrupt <amz3`>btw, emacs 25 has better geiser support <amz3`>it highlights errors in the compilation buffer <amz3`>it might not be linked to geiser... <Amynka>mark_weaver: question what about that wingo patch? should I use it too? <mark_weaver>(I reverted wingo's patch before committing mine to guile git) <Amynka>mark_weaver: oki just making sure <Amynka>mark_weaver: btw I think autotools does it itself.. if timestamp of makefile.am is different then makefile.in it calls automake.. but I will force reconf too.. to be sure <Amynka>mark_weaver: thanks for your work I will commit it after few build tests :)