IRC channel logs

2015-12-08.log

back to list of logs

<NeverDie>Is Guile scheme from the Guile in street fighter?
<mark_weaver>NeverDie: no, there is no relation
<daviid>for info, Guile-Clutter 1.12.2.1 released
<daviid>have to go, bb tomorow
<leedleLoo>It seems like the `map` executes on a single cpu core. Can I utilize multiple cores?
<holomorph>par-map
<holomorph>i think
<leedleLoo>holomorph, your're correct. par-map's working like a charm
<leedleLoo>Is there any work being done to utilize the GPU (like openCL)? I know drivers are usually an issue.
<leedleLoo>I mean par-map executing on the GPU.
<mark_weaver>leedleLoo: no, guile has no facilities for using GPUs
<mark_weaver>(besides things like guile-opengl)
<leedleLoo>I'm interested in helping out that. I'll start cloning the guile repos and what not. Do you know if something like this has been attempted before?
<leedleLoo>Or maybe any major roadblocks anyone can see?
<mark_weaver>I think it's best to keep it as a separate library, at least for now.
<mark_weaver>like guile-opengl
<leedleLoo>Yes. I realize now what I've said :)
<mark_weaver>I guess we probably can't use "OpenCL" in the name, since Apple holds trademark rights to that name.
<mark_weaver>and Apple is quite hostile to us
<mark_weaver>my knowledge of OpenCL is weak, but from what I know, it's not obvious to me how best to integrate this with a high-level language like Guile.
<mark_weaver>it might be a good idea to post your preliminary design ideas to guile-devel@gnu.org and request feedback
<leedleLoo>I have some experience with OpenCL. From what I remember, finding libre drivers wasn't so easy
<leedleLoo>I'll sign myself up with the mailing list then, thanks for the help
<mark_weaver>do libre drivers exist for any GPU?
<leedleLoo>Nouveau may have something. I'm not entirely sure though
<mark_weaver>regarding the trademark issue: guile-opengl was formerly named guile-figl, before we determined that we could use the opengl trademark
<mark_weaver>according to <https://wiki.freedesktop.org/nouveau/FeatureMatrix/> Nouveau doesn't yet support OpenCL.
<mark_weaver>but it appears that work is being done on it, at least.
<leedleLoo>mark_weaver: I can't find too much more info besides that matrix you linked to. I'll have to spend some time looking through the nouveau projects then. Thanks again
<nalaginrut>afternoon guiler~
<amz3>héllo guilers :)
<amz3>build a dht is not simple matter, especially with mutable keys
<amz3>how I am supposed to make asymmetric signatures? anyone knows about this?
<amz3>ACTION slighly off topic
<lloda>any insight into 'Warning: Unwind-only `stack-overflow' exception; skipping pre-unwind handler.' when compiling master at 'BOOTSTRAP GUILEC ice-9/eval.go'? solutions?
<wingo>lloda: could it be that your C stack limit is low?
<wingo>or
<wingo>i bet it's that you are compiling -O0
<wingo>and so the eval.c stack frames are taking too much space
<lloda>i'm compiling -O3
<CustosLimen>hi
<CustosLimen>so I'm getting '(#f mutex not locked by current thread () #f)'
<CustosLimen>this is from calling async-enqueue: http://www.nongnu.org/guile-lib/doc/ref/container.async-queue/
<CustosLimen>using guile-2.0.11
<CustosLimen>and guile-lib-0.2.2
<CustosLimen>stack trace is: https://bpaste.net/show/62a666046962
<CustosLimen>I don't get how this is possible though
<CustosLimen>the only thing accessing that mutex as far as I can see is bascially using with-mutex
<CustosLimen>so unless with-mutex is broken this should not happen
<CustosLimen>unless ofcourse guile has issues with pthread on solaris 10
<CustosLimen>running 10u10
<amz3>meh can't compile guile-gnunet
<h0wl3vvd>hello
<h0wl3vvd>guile specify order of evaluate arguments ?
<taylan>h0wl3vvd: nope
<h0wl3vvd>kk
<davexunit>this person has been jumping around to all of the lisp related IRC channels that I belong to
<vanila>maybe they're compiling a table of information
<taylan>I think they're just the type of IRC user who joins to ask something and leaves again when it's answered. at least that's how they seemed to me on #emacs.
<taylan>a fairly straightforward way to use IRC, yet seemingly strange :P
<davexunit>it always seems like they were like "yup, this sucks, bye"
<taylan>hahaha, they seemed polite to me
<davexunit>they rubbed me the wrong way in #scheme awhile ago
<CustosLimen>hi
<CustosLimen>so I'm getting '(#f mutex not locked by current thread () #f)' - this is from calling async-enqueue: http://www.nongnu.org/guile-lib/doc/ref/container.async-queue/ - using guile-2.0.11 and guile-lib-0.2.2 stack trace is: https://bpaste.net/show/62a666046962
<CustosLimen>I don't get how this is possible though - the only thing accessing that mutex as far as I can see is bascially using with-mutex - so unless with-mutex is broken this should not happen - unless ofcourse guile has issues with pthread on solaris 10u10
<mark_weaver>CustosLimen: it might be a solaris-specific issue. if you can create a minimal self-contained example that demonstrates the problem, that would be helpful. then we could try to reproduce it on our systems and investigate.
<CustosLimen>mark_weaver, if I could reproduce it fixing it would be easy ;)
<CustosLimen>mark_weaver, but will try now
<mark_weaver>thanks
<CustosLimen>mark_weaver, was just checking if someone knows of solaris related thread issues off hand
<mark_weaver>CustosLimen: not off hand, but none of the guile developers use solaris afaik.
<CustosLimen>andm it looks like opencsw compiles without --with-threads
<mark_weaver>it would be helpful to send a bug report to bug-guile@gnu.org, preferably with minimal self-contained code to demonstrate the problem, but even without that it would be useful.
<CustosLimen>mark_weaver, yeah - still just fishing - once I have way to reproduce or tracked it down in another way will submit
<mark_weaver>in the process where the problem occurs, are you using pure scheme code, or does the process include your own C code? are you using the dynamic FFI?
<CustosLimen>mark_weaver, I dunno the code that well - but think its all scheme
<CustosLimen>from stack traces it seems like problem is coming from scheme code anyway
<lloda>wingo: it was indeed the stack, should have checked :-/ thx Limit was 8MB.
<wingo>lloda: 8MB should be fine, but was it -O0 ?
<lloda>no, it was -O3, then I tried -O2 and it didn't work either.
<wingo>weird
<lloda>the default is -O0?
<taylan>-O2 IIRC
<lloda>no idea really
<lloda>actually I had a question about the stack. I read about how the stack now grows automatically on the Scheme side, is it possible to use that from C instead of scm_gc_malloc() ?
<mark_weaver>lloda: iiuc, only the VM stack grows automatically, not the C stack.
<lloda>yes, I'm asking about the VM stack. The VM has to call into C sometimes, so it seems like it should be possible to manipulate the VM stack from the callee. Isn't it so?
<mark_weaver>lloda: iiuc: since the VM is the only thing that allocates on the VM stack, it's the only place that should need to expand that stack, no? I don't understand why you'd want to grow the VM stack from anywhere else.
<mark_weaver>my understanding is that callees to do manipulate the VM stack at all, although I confess I'm not 100% confident of that. wingo is the VM expert.
<mark_weaver>s/callees to do/callees do NOT/
<wingo>i think lloda wants to allocate data on the stack
<lloda>well, precisely because the C stack cannot be grown or checked portably, so using a VLA is risky, but it bothers me to call scm_gc_malloc or scm_gc_malloc_pointerless for local data
<wingo>the vm is not really designed for variable stack frame sizes, is the thing
<wingo>it would be nice to support some kind of arena allocation but i think the vm stack is probably the wrong place to do it
<wingo>my guess is that a better gc is the right solution :)
<lloda>hmmm, ok.
<CustosLimen>is there something like rvm and bundler for guile ?
<mark_weaver>CustosLimen: You might take a look at GNU Guix <http://gnu.org/s/guix>
<dsmith-work>Tuesday Greetings, Guilers
<mark_weaver>hi dsmith-work!
<CustosLimen>mark_weaver, guix is nice - but I also dunno if it will work well on solaris
<mark_weaver>CustosLimen: alas, it would have to be ported to Solaris.
<mark_weaver>currently supported architecture+kernel combinations are: x86_64-linux, i686-linux, mips64el-linux, armhf-linux, with work-in-progress on GNU/Hurd.
<CustosLimen>yeah
<CustosLimen>but actually to be fair I dunno if rvm works on solaris
<mark_weaver>on the plus side, porting Guix to other architecture+kernel combinations requires only a modest amount of work, as long as GNU libc and GCC+binutils works well on it. I added the mips64el-linux and armhf-linux ports to Guix. The process is mostly automated, although there are typically minor problems that crop up along the way.
<mark_weaver>but even so, I suppose this is not the answer you were looking for :-/
<davexunit>CustosLimen: rvm is terrible and best avoided.
<davexunit>ACTION is professional ruby programmer
<davexunit>Guix is definitely our recommendation. it handles the *full* dependency graphs of any software.
<davexunit>Guile, like Ruby, has some extensions that are implemented completely or partly in C, or interface with C libraries via the FFI
<davexunit>Bundler can't handle the C dependencies, but Guix can.
<turbopape>Hi guys, for this year's clojurecup, we implemented a little scheme using Clojure Macros :
<turbopape>clojurecup.parenode.org:9000
<turbopape>Would be happy to have your feedback !
***jmd` is now known as jmd
<hwpplayer1>Hi friends , what's going on
<hwpplayer1>I'm learning C , i see some java code and learning python too.Should i start with Lisp before Guile or just start with Guile and don't look back ?
<davexunit>hwpplayer1: lisp is a family of languages, not a single one.
<davexunit>the two major flavors are Scheme and Common Lisp.
<mark_weaver>hwpplayer1: I would recommend the books "The Little Schemer" and "The Seasoned Schemer"
<hwpplayer1>mark_weaver : i wrote it down i'll search
<hwpplayer1>I like learning languages and it is not bad for me to be a Lisp like languages student
<hwpplayer1>I'll look at Common Lisp , Scheme and Guile together
<hwpplayer1>And i'll see what are the differences between them
<hwpplayer1>I'll use Guile if i can
<paroneayea>hello #guile
<hwpplayer1>"The Little Schemer which edition ?
<hwpplayer1>i downloaded 4th edition
<davexunit>hwpplayer1: get the most recent
<hwpplayer1>davexunit : i couldn't understand do you mean language or something else ?
<daviid>downloaded? I tought this book was 'purchase only'
<daviid>hi guilers!
<OrangeShark>hwpplayer1: he means latest edition of the Little Schemer which is the 4th edition
<hwpplayer1>Okay thanks
<paroneayea>whoo, I can finally talk about this: https://stripe.com/blog/open-source-retreat-2016-grantees
<paroneayea>:)
<OrangeShark>congrats paroneayea :)
<daviid>paroneayea: wow cool! congrat. did not know this existed actually :)
<hwpplayer1>new web page is great btw
<hwpplayer1>did you write it with guile :),
<OrangeShark>hwpplayer1: check the bottom of the site, it has a link to the source code
<hwpplayer1>ok
<hwpplayer1> http://git.savannah.gnu.org/cgit/guile/guile-web.git does that website use GitLab Community edition
<OrangeShark>it is hosted on savannah and I think the source code browsing uses cgit
<OrangeShark> http://savannah.gnu.org/
<hwpplayer1>yes i'm a member of that platform
<davexunit>paroneayea: congrats!
<davexunit>this is really great
<paroneayea>davexunit: yeah, I was surprised that it really *was* no strings attached
<davexunit>I should apply for the next round ;)
<hwpplayer1>How should i spell Guile
<davexunit>like you just did
<hwpplayer1>Linuks :)
<hwpplayer1>not linax or something else
<paroneayea>davexunit: guixops might be a great project for it :)
<davexunit>paroneayea: would be a hard sell to both my partner and employer to go work in SF for 3 months ;)
<davexunit>would be sweet though!
<davexunit>I'm excited to see the cool stuff you're able to get done with mediagoblin during your time there!
<paroneayea>davexunit: :)
<daviid>paroneayea: me too: rewritting the all thing in guile :)
<paroneayea>daviid: I kind of wish mediagoblin was in guile, but that might be hard to do at this point, and kind of a distraction from getting 1.0 out the door ;)
<paroneayea>however, expect *future* federation web applications in guile :)
<daviid>paroneayea: yeah, sure, I was joking, and know you'd like that too...
<guile-guest7>Hi! Is there anything like (sum list), or do I have to write my own function?
<paroneayea>hey davexunit
<paroneayea>did I show you http://www.eblong.com/zarf/zweb/lists/
<paroneayea>an interactive fiction game where you learn lisp, written to run in the z-machine
<mark_weaver>guile-guest7: (fold + 0 list)
<mark_weaver>(use-modules (srfi srfi-1)) to get 'fold'
<guile-guest7>Thanks mark_weaver :)
<mark_weaver>you're welcome!
<alezost>or: (apply + list)
<hwpplayer1>Could you please show me a simple math example of Guile
<hwpplayer1>Like 4 + +
<hwpplayer1>4 + 4
<vanila>(+ 4 4)
<hwpplayer1>Like Lisp that i saw on a website
<vanila>You should read the free online book for learning scheme
<hwpplayer1>I need to look at guile page first
<hwpplayer1>i downloaded "The Little Schemer" and "The Seasoned Schemer"
<mouldysammich>vanila: What is the free online book for learning scheme? Ive been looking to get a somewhat decent knowledge of scheme so i can adequetly develop things with Guile. At the moment i am just coasting off the Guile reference manual
<OrangeShark>mouldysammich: I have a couple bookmarked, let me look for them
<hwpplayer1>okay thanks
<vanila>mouldysammich, this is my favorite https://mitpress.mit.edu/sicp/full-text/book/book.html
<OrangeShark> http://ds26gte.github.io/tyscheme/index.html
<mouldysammich>Huh, i was not aware it was available for free
<OrangeShark> http://www.htdp.org/
<OrangeShark> http://scheme.com/tspl4/
<mouldysammich>Great thanks very much.
<hwpplayer1>thanks
<hwpplayer1>have a good day , take care bye
<OrangeShark>bye hwpplayer1
<CustosLimen>hi
<CustosLimen>how do I get path to currently executing file ?
<davexunit>CustosLimen: see 'current-filename'
<CustosLimen>cool thanks
<CustosLimen>is there equivalent of __func__ and __LINE__ ?
<civodul>CustosLimen: (current-source-location)
<paroneayea>o/
<paroneayea>oh cool I didn't know about (current-source-location)
<CustosLimen>thanks civodul - I just realized it was right above current-filename ;/
<CustosLimen>was searching google and found some weird module you have to load to get ---FILE---
<CustosLimen>and was like nah
<CustosLimen> https://bpaste.net/show/6d072eb6c3e6
<CustosLimen>so in there
<CustosLimen>is there an alternative to (assq-ref something 'colour) ?
<CustosLimen>i.e. more direct way instead of using assq-ref ?
<davexunit>that is the direct way
<CustosLimen>ok cool
<CustosLimen>is (string-concatenate "a" "b") shortest for for concat ?
<mark_weaver>CustosLimen: (string-append "a" "b")
<CustosLimen>thanks
<mark_weaver>'string-concatenate' takes a single argument, which must be a list of strings.
<CustosLimen>ah my bad
<mark_weaver>(string-concatenate <l>) is equivalent to (fold string-append "" <l>), but more efficient.
<mark_weaver>s/fold/fold-right/
<CustosLimen>sorry I'm asking so many noob questions
<CustosLimen>what does car/cdr stand for ?
<CustosLimen>ito a pair
<paroneayea>Playing with irregex and trying to write a Ledger parser for it because procrastivity