IRC channel logs

2013-08-09.log

back to list of logs

<didi>sneek: seen mark_weaver
<sneek>mark_weaver was here Aug 05 at 05:26 am UTC, saying: s/of/if/.
<didi>sneek: seen tupi
<sneek>I last saw tupi on Aug 06 at 08:47 pm UTC, saying: [just thinking loudly].
<ijp>sneek: seen ijp
<sneek>ijp was here Aug 08 at 10:06 pm UTC, saying: sneek: seen ijp.
*ijp nods sagely
*bipt attempts to compile guile 2.0.9 under mingw
*dsmith wonders what a PM is...
<didi>dsmith: Project Manager?
<dsmith>cpower> I'm a PM looking for other PM's that work on large scale Open Source and Mixed (Open Source/Corporate) Development Software projects to see if they would like to discuss and brainstorm issues they have running such projects
<dsmith>Seems reasonable
<didi>What would be "Mixed"?
<didi>Open Source/Proprietary or Open Source/Intern?
<dsmith>Probably.
<dsmith>sneek, seen ijp?
<sneek>ijp was here Aug 08 at 10:06 pm UTC, saying: sneek: seen ijp.
<dsmith>sneek, sneek ?
<sneek>Its been said that sneek is a good boy
<dsmith>Yes indeed
<dsmith>sneek, seen wingo?
<sneek>I last saw wingo on Aug 06 at 02:52 pm UTC, saying: heya :).
<davexunit>does anyone know if there is already a freetype binding for guile? http://freetype.org/
<davexunit>I haven't found one, which means I have to write it myself.
<dsmith>Where/why would you need that? I mean, isn't that stuff already in X11 or whatever?
<davexunit>dsmith: need it for my game library
<dsmith>ok
<werbitt>hi, i'm trying to pull a function off of a list and and use it like this: ((car '(+) 1 2)
<werbitt>it's not working
<werbitt>what'd be the typical way of achieving something like this?
<werbitt>that should be ((car '(+)) 1 2)
<amirouche>werbitt: use a hashmap or eval
<amirouche>ah sorry
<amirouche>I though it was a symbol
<amirouche>werbitt: no no I'm wrong
<werbitt>ok np, thanks anyway
<mark_weaver>werbitt: the problem is that the first element of that list is not a procedure, but rather a symbol.
<sneek>Welcome back mark_weaver, you have 1 message.
<sneek>mark_weaver, add^_ says: Thanks for the link!
<mark_weaver>((car (list +)) 1 2)
<mark_weaver>now that would work, because (list +) returns a list with one element: the procedure that's normally bound to the symbol +
<mark_weaver>you see, (list a b c) evaluates the expressions 'a', 'b', and 'c', and creates a list containing the results of those evaluations.
<mark_weaver>however, '(a b c) does *not* evaluate those expressions. it simply creates a list with three symbols.
<werbitt>that's great, thanks for the explanation
<mark_weaver>glad to help :)
<werbitt>actually quick follow up, lets say I have a list with symbols already, would there be a way to go from a symbol to an expression with that name?
<mark_weaver>it can be done with 'eval', but it's considered poor style.
<mark_weaver>it's much better to put the procedures themselves in your data structures.
<werbitt>right, ok thanks, so maybe that's what amirouche was getting at with regards to a hashmap
<mark_weaver>part of the problem with 'eval' is that there are many different environments in a scheme system. which one to evaluate the expressions in?
<mark_weaver>werbitt: out of curiosity, can you give me some more background of what you're trying to accomplish?
<werbitt>sure, i'm trying to build a reverse polish calculator that takes a list as its argument
<werbitt>like (eval-rpolish '(7 2 3 + -))
<mark_weaver>I would create your own data structure that maps symbols to procedures.
<werbitt>thanks, makes sense, i'll give that a shot
<mark_weaver>it could be as simple as an alist (association list): (define my-procedures `((+ ,+) (- ,-) (* ,*) (/ ,/)))
<mark_weaver>or better yet: (define my-procedures `((+ . ,+) (- . ,-) (* . ,*) (/ . ,/)))
<mark_weaver>and then (assv-ref my-procedures '+) will return the addition procedure.
<didi>Does guile-gnome target gtk2 or gtk3?
<werbitt>sweet, thanks. learning a lot from this little problem
<mark_weaver>currently gtk2. still waiting for someone to upgrade it. I'll probably do it eventually if no one else beat me to it.
<mark_weaver>werbitt: okay, happy hacking!
<didi>mark_weaver: Do you plan to keep using g-wrap or do you want to go to gir?
<mark_weaver>We would definitely like to use gir more in the future. As for g-wrap, I don't know; I haven't looked closely at the relevant issues.
<mark_weaver>partly it depends on the ambition of the person who updates the binding. switching away from g-wrap would probably be a lot of work, though it will pay dividends later on.
<didi>Also, it would be nice to get rid of `guile-gnome-2' script. It's awkward IMO.
<mark_weaver>you don't have to use the 'guile-gnome-2' script. it's just a convenience that sets up your environment properly for you.
<didi>I understand it. What I'm saying is that I shouldn't have to set up the environment.
<dsmith>There *is* a guile-gir somewhere. Only partially baked I'm sure.
<mark_weaver>*nod* I don't know enough about guile-gnome to know why it's needed.
<dsmith>The same
<mark_weaver>part of the issue might be the desire to support parallel installs.. so guile-gnome-2 along with guile-gnome-3, without them interfereing with each other. that means that they need to live in different install paths (both the shared libraries and the guile modules)
<didi>I seem to recall it's about backward compatibility.
<mark_weaver>and configuring those paths is pretty much what 'guile-gnome-2' does.
<didi>It's a hack IMHO.
<mark_weaver>what would you suggest?
<didi>I don't know. Use different module names?
<didi>They are already paths anyway.
<mark_weaver>so every single module that's part of guile-gnome would need a version number in its name. maybe, but that doesn't sound so great either.
<didi>It's better than having special shell scripts.
<mark_weaver>you may be right.
<didi>One cannot use guile-gnome with normal geiser, for example.
<mark_weaver>didi: how about just add the relevant load paths to your environment variable settings?
<didi>mark_weaver: yy. There is always a way. But I don't think fiddling with environment variables is the better one.
<mark_weaver>*nod*
<mark_weaver>wingo is really the person to ask. he's the main guile-gnome author.
<didi>I see.
<nalaginrut>(and (not I-said-morning-guilers) "morning guilers~")
<mark_weaver>hehe
<mark_weaver>hi nalaginrut!
<mark_weaver>didi: I do tend to agree with you that establishing different module namespaces for each major version is the better solution.
<mark_weaver>I don't know why wingo didn't go that route.
<mark_weaver>actually, I think wingo may have inherited guile-gnome from earlier work.. so maybe the reason is simply that the original authors didn't include version numbers in the module names. and changing that would have been a break with API compatibility.
<didi>mark_weaver: I say: It's time to break it. ;^)
<mark_weaver>didi: maybe we'll change it for the GNOME 3 update.
<didi>mark_weaver: And when will it be?
<mark_weaver>we're all volunteers here.
<mark_weaver>so we can't make such promises.
<didi>I know. I'm sorry if it sounded harsh.
<nalaginrut>mark_weaver: does rtl-vm replaced stack-vm in master now?
<didi>It was not at all my intention.
<mark_weaver>didi: understood; no worries.
<nalaginrut>last time I asked wingo if rtl instructions design was done, he said not yet
<mark_weaver>nalaginrut: master currently contains two VMs: the old stack VM and the new RTL VM. The compiler in master compiles to the stack VM only. However, wingo recently reported here on channel that he has compilation from Scheme to the RTL VM working in his private tree. Presumably we'll see that code in the next few weeks.
<didi>mark_weaver: I saw you made string streams UTF-8 by default.
<nalaginrut>OK, that's what I thought ;-P
<didi>Cool. I wished for it for years. ;^)
<nalaginrut>I think we don't use rtl-vm now, but it exists
<mark_weaver>didi: yeah, it was a mistake to do it any other way.
<mark_weaver>nalaginrut: right. if you want to write RTL assembly code yourself, you can do so and run it in master. but the code to compile from Scheme to RTL is not yet in master.
<nalaginrut>mark_weaver: but utf-8 default made my many works easier
<dsmith>Yeah, the sax tests are all passing now.
<dsmith>mark_weaver, Thanks
<mark_weaver>dsmith: you're welcome. yeah, I got fed up with master's test suite not passing, so I went on a bug hunt :)
<mark_weaver>nalaginrut: I'm not sure I understand what you mean.
<nalaginrut>mark_weaver: which? utf8 or rtl?
<mark_weaver>nalaginrut: "but utf-8 default made my many works easier" makes it sound as if UTF-8 was the default before, but it wasn't.
<nalaginrut>mark_weaver: sorry, I should take care of my grammar
<mark_weaver>in guile-stable-2.0 and guile-master before a few days ago, string ports used %default-port-encoding, which normally depends on your locale settings.
<nalaginrut>I mean using utf8 in default makes my life easier
<mark_weaver>so string ports could fail to support some characters. but now in master, string ports are guaranteed to support all locales, regardless of your locale.
<mark_weaver>*support all characters
<mark_weaver>nalaginrut: ah, okay :)
<nalaginrut>I'm so relax in this channel that I almost ignore the grammar ;-P
<mark_weaver>heh :)
<nalaginrut>dropped all the tense...
<mark_weaver>nalaginrut: your use of the word "but" also added to the confusion, since "but" usually indicates that what follows is a counterexample.
<mark_weaver>anyway, I make a fair number of grammatical errors here on channel, so I can sympathize... and I'm a native english speaker!
<nalaginrut>that 'but' is for your 'mistake', but maybe it's not a same thing ;-O
<mark_weaver>ah, I see
*hellekin wonders how a native Guile speaker would end up smalltalking humans
<nalaginrut>well, maybe I should write more serious docs in English to strengthen my grammar
<nalaginrut>talking just too oral
<nalaginrut>heh~when we have AOT, we can say "we're native Guile user"...
<nalaginrut>hellekin: don't worry, I'm brewing 'learn Guile in hard way"
<nalaginrut>but where to put it finally?
<nalaginrut>for more pretty indent/page-design, maybe put it to web-artanis
<hellekin>nalaginrut: for starters in libreplanet, then it can move to the guile site no?
<nalaginrut>ok
<hellekin>nalaginrut: by using template you can as well style recurring parts. I don't know how the syntax highlighting works in libreplanet though
<nalaginrut>have you created the wiki on libreplanet?
<hellekin>nope... wanna do some wiki editing now?
<nalaginrut>actually, I want to share some good practice in Guile programming
<hellekin>libreplanet.org/GNU_Ubiquitous_Intelligent_Language_for_Extensions
<nalaginrut>hellekin: wow, so long
<hellekin>nalaginrut: it's just a redirection :)
<nalaginrut>but seems invalid ;-)
<hellekin>huh?
<hellekin>oh sorry
<hellekin> http://libreplanet.org/wiki/GNU_Ubiquitous_Intelligent_Language_for_Extensions
<hellekin>forgot the wiki/
<nalaginrut>oh~nice, you uploaded the logo?
<nalaginrut>OK, I registered
<nalaginrut>well, add something on it, but it's better to rewrite for more clear
<mark_weaver>nalaginrut: very nicely written. I can find no flaw in it :)
<mark_weaver>thank you :)
<nalaginrut>yes, since I copied it from guile main site ;-P
<nalaginrut>But I'll rewrite something, so please correct me then
<mark_weaver>ah, okay :)
<nalaginrut>I think the first important thing is to explain Guile language vs platform...
<nalaginrut>which seems not an easy work...
<nalaginrut>mark_weaver: how about I declare Guile as an extension language platform first? Then I could explain Guile-Scheme as GNU official extension language easier
<nalaginrut>"The common understanding to an extension language is that a language is embeddable in C/C++ program relative easily.
<nalaginrut>This definition may not true for some projects, but it's true for GNU operating system.
<nalaginrut>"
<nalaginrut>well, not so proper, modifying..
<nalaginrut>maybe this:
<nalaginrut>The common understanding to an extension language is that a language designed to be used from within another program.
<nalaginrut>For GNU operating system and most of projects, it is a language embeddable in C/C++ program.
<nalaginrut>A language for the purpose often has proper API to interact with C/C++, and compatible stack operation to C/C++.
<nalaginrut>wingo: I'm writing wiki of Guile, could you checkout the expression if you're free? ;-)
<nalaginrut> http://libreplanet.org/wiki/GNU_Ubiquitous_Intelligent_Language_for_Extensions
<mark_weaver>nalaginrut: I'm sorry, but I think your english is not good enough to do this job on your own.
<nalaginrut>yes
<nalaginrut>I think it is
<mark_weaver>even for a native english speaker, expressing what you're trying to say is difficult.
<nalaginrut>write docs is harder than code ;-P
<mark_weaver>I agree :)
<mark_weaver>I think that's a common issue among coders :)
<nalaginrut>but could you tell me the problem of the sentence?
<nalaginrut>or it's too bad to point out ;-D
<mark_weaver>well, I can point out the grammatical mistakes.
<nalaginrut>yes, please tell me
<mark_weaver>but more generally, I think that the text you copied from the website were quite well crafted.
<mark_weaver>okay, grammatically: "The common understanding to an extension language is that a language designed to be used from within another program." The "to" should be "of", and the "that" should be removed.
<mark_weaver>The preposition system of english is insanely complex.
<nalaginrut>alas, I have to write more serious sentence, not just talking
<mark_weaver>"For GNU operating system and most of projects, it is a language embeddable in C/C++ program." You should insert "the" before "GNU operating system". "Most of projects" is not right, but I'm not even sure what you're trying to say there.
<nalaginrut>I assumed "most of projects" written in C/C++
<nalaginrut>but I think I'd better not mention other projects
<mark_weaver>"A language for the purpose often has proper API to interact with C/C++, and compatible stack operation to C/C++." "the purpose" should probably be changed to "this purpose". "a" should be inserted before "proper API". "and compatible" should probably be "with compatible".
<nalaginrut>thanks! but maybe "proper APIs" without prefix 'a' is better?
<mark_weaver>but at a more basic level, I'm not sure that this page should start with a definition of what an extension language is. and I'm not sure why to say "A language for the purpose often has proper API..." Why talk about what languages "often" have here, in the third sentence of the main page about Guile on libreplanet?
<nalaginrut>I explain "extension language" because many people ask me what is extension language when I talk about Guile to them
<mark_weaver>I think this is already fairly well explained in the text you copied from the web site.
<mark_weaver>e.g. "Using Guile in an application allows the application's functionality to be extended by users or other programmers with plug-ins, modules, or scripts."
<nalaginrut>OK, maybe rewrite the introduce is a bad idea ;-P
<nalaginrut>introduction
<nalaginrut>I have to reread Guile main site and manual more carefully to write the wiki
<nalaginrut>it's a new challenge
<mark_weaver>if you really want to write docs, there is certainly lots of useful work that could be done there, but I tend to agree that replacing this nicely crafted introduction is probably not the best thing to try to do :)
<mark_weaver>"how to" guides, and examples, would definitely be a good thing to have more of.
<mark_weaver>don't worry about grammatical mistakes. someone else can always come along and fix that up.
<nalaginrut>thanks I'll try the easier thing follow your advice
<nalaginrut>besides, I'll polish my sentence in this channel for practice
<nalaginrut>I try to write docs for Guile because I have to write docs for my projects later
***jao is now known as Guest52198
***Guest52198 is now known as jao
<dsmith-work>Happy Friday, Guilers!!
<davexunit>happy friday!
<stis>hayppy friday!
<add^_>Happy Friday all!
<taylanub>Happy friday! (Although I'm on vacation. :P)
***linas__ is now known as linas
<ltsampros>I have a reproducible crash with guile
<ltsampros>using a fairly simple example from SICP
<ltsampros>shall I paste relevant snippet?
<ijp>please
<ijp>hmmm, I don't actually have a guile install at the moment
<taylanub>ltsampros: And Guile version please.
<ijp>but maybe my brain guile will crash
<ijp>(this is an advanced guile technique, and not recommended for beginners)
<taylanub>LOL
<add^_>:-)
<add^_>ijp: be careful to not crash your mind guile, you might lose some data.
<fbs>ln -s mindguile /dev/random
<ltsampros> http://paste.lisp.org/display/138396
<didi>Will the new compiler get rid of this limitation? ^
<didi>ltsampros: It's not a crash. It's a guile limitation.
<ltsampros>abort mislead me
<ijp>you can increase the stack
<ltsampros>I really don't mind
<ltsampros>I was just fooling around
<ijp>didi: I think it was maybe mark_weaver who suggested moving towards a non-fixed stack, but I don't know if it is actually on the cards
<ijp>ltsampros: when someones says _crash_, it's generally expected to mean "has left guile altogether and left us a giant core dump"
<ijp>ah, I do see "Aborted" nvm
<didi>ijp: I think it's the right thing to do. The fixed stack is very uncool
<ltsampros>:)
<ltsampros>didi: this is the first time I see this really.
<ltsampros>I've hit the VM stack limit again, pressed ,q and I continued life.
<fbs>would be nice if it asked you
<didi>ltsampros: I see it sometimes. And the thing is, your code is correct, so the error is sad.
<ijp>I don't see why it would abort there
<ltsampros>didi: it's standard sicp 1.3.1
<didi>ltsampros: Yeah. It's because you're recursing a lot.
<ltsampros>let's define a lot.
<ijp>didi: then why would it Abort there, but vm-error in the other case?
<ijp>_that_ is what doesn't make sense
*didi doesn't know
<ltsampros>ijp: exactly.
<ltsampros>I'm pretty sure that If I evaled 'anything', it would crash
<ijp>ltsampros: ooc what does ,optimize (integral cube 0.0 1.0 0.000000001) say ?
<ijp>I suspect we may be doing something weird with that small number
<ijp>of course it may not be that high up in the translation, but it's always the first place to check :)
<ltsampros>ijp: $1 = (integral cube 0.0 1.0 1.0e-9)
<ijp>okay, seems normal there
<ijp>sneek: bugs
<sneek>Someone once said bugs is send mail to bug-guile@gnu.org. Check status at http://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guile
<ltsampros>ok I ran it with no ,optimize. and I triggerred the vm overflow
<ijp>ltsampros: can you please report it
<ltsampros>ijp: ofc.
<ijp>ltsampros: actually, to turn of the optimiser you need to change some repl options
<ltsampros>I just wanted to do run the code to trigger the vm overflow
<ijp>but I have a hunch the problem is lower level, maybe glil or bytecode
<ijp>I'll need to install guile on this machine later and take a look
<ltsampros>I guess to debug crashes like this the classic gdb, bt approach won't work right?
***ijp` is now known as ijp
<ltsampros>ijp: can you help me put together a description that fits?
<ltsampros>I guess crash after vm stack overflow error isn't helpful
<ijp>I would just say that instead of stack overflowing, this lower number causes guile to abort
<dsmith-work>But the cool thing is, it looks like Debian packages 2.0 Guile!
<didi`>dsmith-work: It does. :^)
<dsmith-work>s/like Debian packages/like a Debian packaged/
<dsmith-work>Sometimes, the fingers just type on their own....
<didi`>dsmith-work: Now it needs to package guile-gnome too so I don't have to fight it.
<dsmith-work>Is there a released tarball?
<didi`>dsmith-work: That's what people tell me, but I'm yet to compile it successfully.
<ltsampros>ijp: mail sent.
<dsmith-work>I guess it's possible to file a bug on the guile-gnome package that it needs to be built for 2.0
<dsmith-work>Oh. Looks like rotty is the packager
***ijp` is now known as ijp
<dsmith-work>rotty: Hey! Hows things?
<ijp>he's hiding from us
<dsmith-work>busy with Real Work™ I'm sure.
<dsmith-work>The most awesome logs he used to provide went away some time ago. :(
<ijp>mark_weaver had set up a logging thing, but it was problematic
<dsmith-work>Yes
<dsmith-work>sneek: logs?
<sneek>Last time I checked logs is https://gnunet.org/bot/log/guile/
<dsmith-work>Thats mario-weavers logs
<dsmith-work>Thats mark-weavers logs
<dsmith-work>I'm a packaging problem is parallell installability.
<dsmith-work>I'm SURE a...
<didi`>It would be nice if there was some kind of warning about public logs on the /topic.
<didi`>It's also a channel guideline on Freenode.
<ijp>I assumed changing the topic on here was taboo, since it has never happend
<ijp>*** #guile: topic set by rlb, 08:24:38 2007/02/16
<dsmith-work>Well, there are no public logs.
<dsmith-work>Just some private ones....
<didi`>sneek just showed us one.
<dsmith-work>Shhhh.. That's private.
<ijp>well, it isn't private, since anyone can see that gnunet_bot is on
<ijp>though that answer is not going to satisfy didi
<taylanub>So, why not just add " | The channel is being logged." to the topic ?..
<ijp>because the topic hasn't been changed in 6 years!
<dsmith-work>I think only rlb has the supper cow powers to set the /topic