IRC channel logs

2016-02-16.log

back to list of logs

<davexunit>paroneayea: do you happen to have that haunt patch you mentioned a few days ago?
<Jookia>So, calling a function like string-append that takes strings- I want to maybe pass in some arguments, maybe not. Is there a way to specify an expression that 'expands' to some arguments in a function that I'm calling? ie "(string-append "abc" ("def" "ghi") "jkl")"
<sneek>Welcome back Jookia, you have 2 messages.
<sneek>Jookia, mark_weaver says: you were right about the meaning of our license field. if upstream allows distribution under GPLv2 or later, then our license field should be gpl2+. lfam was mistaken about our policy.
<sneek>Jookia, xd1le says: also idris has a primitive "Ptr" pointer type, so i was wrong again! don't know how i missed that. :/
<amz`>Jookia: maybe you are looking for 'apply'
<amz`>(apply string-append (list "abc" "def" "ghi" "jkl"))
<Jookia>Hmm
<wleslie>someone is writing an Idris -> guile bridge?!
<Jookia>amz`: Is there a better way to do that if I have multiple lists without being so verbose?
<amz`>Jookia: you look for something like *args in python?
<taylan>Jookia: (apply string-append '("foo" "bar" "baz" ...))
<taylan>Jookia: and (apply string-append "foo" "bar" '(...))
<taylan>Jookia: basically, last argument is a list that is "spliced" into the argument list to the procedure
<taylan>oh, amz` already pointed that out, sorry -_-
<Jookia>taylan: Oh I see, using it without (list could be good
<taylan>Jookia: well I use ' aka quote there. that means the elements of the list won't be evaluated (e.g. as variable references), probably not really what you want
<Jookia>hmm
<taylan>I just meant it as a quick example
<taylan>can you give an example of what exactly you need?
<Jookia>No I think that's what I want
<taylan>ok
<taylan>you can also append lists with 'append' (apply string-append "foo" "bar" (append lst1 lst2))
<taylan>so if lst1 contains "baz" and "qux" and lst2 contains "fix" and "fux", the whole call becomes (string-append "foo" "bar" "baz" "qux" "fix" "fux")
<Jookia>Neat
<Jookia>Is there a flag to make the Guile REPL support arrow keys/history?
<taylan>Jookia: you can enable Readline in your .guilerc...
<Jookia>How would I do that?
<Jookia>Sorry, total newbie
<taylan>(use-modules (ice-9 readline))
<taylan>(activate-readline)
<taylan>if you use Emacs you can also just use Geiser to interact with a Guile REPL
<Jookia>That doesn't seem to work, pressing up gives me '^[[A' still
<Jookia>Oh, it's ~/.guile not ~/.guilerc
<Jookia>Thanks!
<taylan>oh sorry, and np
<Jookia>So now I have "(apply string-append (append '("test") '() '("ing")))", with the '() intending to be a function call in real code- Is there no way to have something cleaner? Is there perhaps an append that will flatten the '() or any variables inside it?
<taylan>Jookia: you mean like (apply string-append (append '("test") (function-call) '("ing"))) ?
<Jookia>Yeah, but without all the lists for things the '("test"). Perhaps it's unavoidable
<taylan>you can put some leading arguments barely, but yeah, if you want to have some at the end you have to append them to some list. so e.g.: (apply string-append "test" (append (function-call) '("ing")))
<Jookia>I see. Oh well
<mark_weaver>Jookia: better to use (string-concatenate <list>) than (apply string-append <list>)
<sneek>mark_weaver, you have 1 message.
<sneek>mark_weaver, petter says: if 'cryptomount' in GRUB does nothing i think a good way forward is to insert the crypto modules with: "insmod cryptodisk" and "insmod luks". I'll work this into some documentation later.
<stis>hej guilers!
<nalaginrut>stis: I saw 'hej' in Ikea
<stis>nalaginrut: yep, that's the standard hello and and Swedes are quite familiar with the IKEA history.
<nalaginrut>;-)
<stis>Kind of cool that the company is build ouside the stock market.
<paroneayea>davexunit: I do!
<paroneayea>I'll email it to you this morning.
<davexunit>yay!
<davexunit>I'm going to fix the load path issue, apply your patch, and release 0.2 when I have time.
<paroneayea>davexunit: sounds like a good potluck contribution! :)
<davexunit>hehe
<davexunit>well, since I didn't bring anything else, why not?
<davexunit>I could share guile-syntax-highlight, too.
<paroneayea>davexunit: yeah! do it! :D
<dsmith-work>Morning Greetings, Guilers
<amz3>dish sent!
<amz3>the tests in `tests.scm` are not good, I sent it by mistake, you should check for unit tests inside the module culture.scm
<paroneayea>davexunit: sent you the patch
<davexunit>paroneayea: thank you!
<amz3>has anybody GSoC ideas for this year?
<amz3>it would be nice to complete the last GSoC..
<ArneBab>I have a crawler for the web of trust in Freenet, using sxml and match for the crawling. Do you think that would be a good match for the potluck?
<ArneBab>I wrote it in the past 2 weeks
<ArneBab>and it started working today :)
<davexunit>ArneBab: sure!
<ArneBab>so, where do I send this?
<davexunit>ArneBab: guile-user@gnu.org
<ArneBab>give me an hour, then I’m at the right machine :)
<ArneBab>thank you!
<davexunit>yw@
<davexunit>yw!**
<davexunit>ACTION sent his potluck dish
<stis>yey
<bavier``>lots of tasty potluck dishes today :)
<OrangeShark>ACTION wonders if I should send one of my unfinished projects...
<davexunit>I did ;)
<kristofer>is there a way to modify inputs with guix emacs interface?
<kristofer>I guess just edit the package definition
<kristofer>silly question
<davexunit>so, Vulkan was released today.
<davexunit>Mesa will be releasing in March with support for it.
<davexunit>maybe guile bindings are in order.
<davexunit>though I'm very concerned because apparently it's even harder to use than OpenGL.
<davexunit>it's even more low-level, so it takes even more code to do simple things.
<roelj>It should provide more "low level" access, right?
<davexunit>yeah
<roelj>I wonder how that is going to look like
<davexunit>I'm concerned that software freedom will continue to software in the graphics space due to this.
<davexunit>roelj: 1.0 is out
<davexunit>so you can see
<roelj>Yes, I'm going to have a look in the weekend.
<roelj>Have you looked at it?
<davexunit>not really.
<davexunit>I'm trying to understand it.
<davexunit>but I've only grown more skeptical and concerned about it.
<roelj>About its impact on free software projects?
<roelj>That it will take a lot of effort to gain anything from it?
<davexunit>yes
<roelj>Yes, I believe it takes a significant effort to get it right in the graphics drivers
<roelj>And I really hope there are people who are willing to invest that time into it.
<roelj>So that not only the proprietary drivers will use it
<Jookia>Will Vulkan work on my GMA 4500 card? ;)
<davexunit>I have no idea
<Jookia>My problem is that I probably won't be able to use any of this since my free machines are either using GMA 4500 graphics from 2008 or etnaviv graphics that support OpenGL ES 2. Maybe 3
<davexunit>but when the new Mesa comes out I will try it out on my laptop with intel GPU
<davexunit>and see if I can do anything
<Jookia>I hope they get some kind of software support, or maybe mapping to existing DRI
<Jookia>I heard Vulkan was supposed to be simpler, like a RISC
<davexunit>I worry about it being too difficult for someone like me to make a renderer with it.
<Jookia>That's a valid concern. If you can't make something too proprietary for free drivers to implement, make it too complicated for free developers to use
<roelj>davexunit: I'm not sure how much help I can be, but I do plan on diving into Vulkan over the next couple of weeks, so maybe I could help you with it.
<roelj>But I have no experience with writing renderers.
<davexunit>I have a bit of experience
<davexunit>but not a ton
<davexunit>roelj: I would definitely like having some help making sense of Vulkan
<davexunit>and seeing what we can do with Guile to bind to Mesa's implementation
<roelj>davexunit: The first moment I can get enough time to really read about it is the 20th. Shall I contact you then, to see what we can do?
<davexunit>roelj: I can't do anything particularly organized because I'm busy, too, but if we're both on IRC and hacking on it, let's chat.
<roelj>davexunit: Great. Same for me..
<davexunit>one big change is that instead of GLSL, the shader language, they are introducing an intermediate language specification.
<roelj>I thought they kept GLSL..?
<davexunit>no.
<roelj>Alright. I really have to read up on things :)
<davexunit>OpenGL is still going to be around, of course, but Vulkan has SPIR-V
<davexunit>so a lisp->spir-v compiler is appealing
<roelj>Yes, I think so
<roelj>But will it be efficient enough? (I don't know how much overhead lisp will bring)
<roelj>Having a "higher-level" interface might make more sense..
<roelj>But that won't expose the greatness of course..
<davexunit>roelj: overhead? nah.
<davexunit>when I say "lisp" I guess I just mean "s-expressions".
<davexunit>the result will surely look much different than any lisp we've seen
<roelj>That might be cool though
<davexunit>potential step 1: directly represent Vulkar IR using sexps
<davexunit>then build from there.
<davexunit>open question: would any existing part of guile's compiler tower be helpful for targetting SPIR-V?
<davexunit>gotta run
<davexunit>later!
<ArneBab>sent my potluck dish! Happy Birthday Guile!
<OrangeShark>I sent mine too :)
<ArneBab>nice!