<amz3>daviid: what do you think can be good example to serve as an illustration of goops use? <amz3>Right now I think to use a robot in room that interact with flowers, computer, drawer... <paroneayea>as davexunit pointed out, it's hard to get on there without being "hip new web dev thing" <amz3>daviid: B) I'm building a hypergraph db, it's a composition Atom linked together like molecules. There is different kind of Atom, and I'd like to use goops to have access to inheritance. The thing I don't have a solution for is that I want to allow Atom to dynamically change type aka. I don't want to store the type of the Atom in the Atom, and instead that my program guess the type based on its attributes <amz3>daviid: forget about B), I will use somekind of match on the attribute assoc to determinte the correct type <amz3>(but this sound overkill) <daviid>amz3: I don't think goops is a good approach to solve your B quizz, iiuc. about the A example quizz, i think a real programming example would be better, like: when is it that i can use goops and that it truely helps. I have no quick anser, and not good at tutorial but I'm about to upload Grip, and Grip-Clutter extensively use goops, for good reasons I think, maybe you can snif there, will et you know, it's going to be within the next <amz3>I though about clutter, the problem is that I'd like to not have dependencies <amz3>maybe I'll revise that rule <daviid>amz3: yes, I ment to inspire you to write something simpler which just need guile ... <amz3>about B) how should I do inheritance without goops? <daviid>yu don't want a tutorial to ask a user to install guile-cairo, g-wrap, guile-gnome, guile-cutter and grip :) [which is too bad really because geiser and guile-clutter [grip-clutter] is a must for a user to play with. of course the guix folks will soon package all that! :) <amz3>I was thinking about using guix <amz3>thanks for geiser suggestion, I will add that for sure <amz3>the tutorial will be biased toward what I think are the basics and how to do it <amz3>I will put a disclaimer and pray the reader to sort things that seems not interesting like emacs and guix ;) <daviid>amz3: wrt B, correction, i just checked that you can indeed change the class of an instance using goops, not 'just' redefining a class but changing the class of an instance [I've never used that feature] so you may try to model/prototype something using goops <daviid>i don't get the new magit i think :) i staged, then hit 'c' and that does open a commit buffer anymore, but a commit-popup ... <daviid>ah, it's 'add log entry' [which does not have a shortcut?] ***adhoc_ is now known as adhoc
<taylan>Gauche doesn't error on (let ((1 2)) foo) O_o (it doesn't change the value of 1 though) <civodul>rebinding "1" would be even more fun tho :-) <taylan>that would be very fun indeed... <taylan>ACTION adds Gauche to collection of R7RS implementations used to test his R7RS libs. next target: Kawa ***Shozan is now known as SHODAN
<paroneayea>I wonder if he read the sussman blogpost though. <davexunit>they introduce me at conferences as "Dave Thompson, profilific tweeter" <paroneayea>I tried to write a smart minikanren program that's about "if you tweet about scheme enough william byrd follows you" but I failed <paroneayea>guess I need to go back to The Reasoned Schemer! <taylan>ACTION adds Kawa to his collection of R7RS implementations. that makes: Chibi, Gauche, Kawa, Larceny <nalaginrut>ACTION just use Guile to control a robot car via bluetooth <nalaginrut>and worth to polish the serial control module to be a dependent lib <davexunit>I want to learn more about these kinds of things and electrical engineering through writing Scheme programs <nalaginrut>we'll use it in a hackathon competition next three days <nalaginrut>one of my directions is to control hardware with Scheme as possible ;-) <nalaginrut>I believe people don't have to use C in embedded area, of course, some essential issue needs C&asm, it's unavoidable <nalaginrut>I hope there could be a highly-optimizing Scheme AOT compiler for performance restricted hardware, Guile is not suitable in this case, but it's reasonable to implement such compiler with Guile <davexunit>wingo wrote some sort of GC from AVRs awhile back <nalaginrut>IIRC he once was mumbling on the twitter about GC, kind of like "GC or realtime GC, it's a problem" <amz3>can you send me an ice-cream quickly ;) <amz3>are you the only to code in guile in the hacklab? or your fellow hacker do scheme too? <amz3>I ask because I don't join any hacklab because they all have already their tools and interest that don't match mine <amz3>I don't want to join a hacklab to do python or C++ <nalaginrut>well, if you spend more than 3 years to sell Scheme to these guys, they may want to try ;-) <nalaginrut>the problem is that most people has difficult to think in FP way, then they will hate lisp/scheme <nalaginrut>but it is just in the beginning, they will be delighted if they passed this phrase <nalaginrut>obviously, most people are not patient enough to pass it... <amz3>I figured that learning a programming language is more difficult that I remember <amz3>even if know several language, I know none as much as python <amz3>And i'd like know scheme as well as python, tho there is more stuff in scheme to learn <amz3>I mean scheme has more stuff documented <nalaginrut>I confess learning Scheme is not easy for me in the beginning, you have to use it frequently <nalaginrut>anyway, more practices is universal methodology in most area... <amz3>I do only guile these days, even i'm not very productive <amz3>I try hard not to drop to the "textbook way of learning" but I think I will need to <amz3>I think I will start reading reasoned schemer, always think about it. Last night, I dream of riding a hippo, it must be sign <nalaginrut>I rarely use other languages now, only if I have to, because I can use Scheme to mimic any feature in other languages I want <nalaginrut>there's the ancient Kungfu philosophy indicates that there must be one kind of Kungfu is general enough to hold all things <nalaginrut>everyone in Jianghu is pursuing it...and I think I got it <amz3>I don't believe in the mantra which says there is one true way, it's against my philosophy, that said I recognize than some kungfu do better than others <nalaginrut>to save my time, I have to find a general enough one, but it doesn't mean others are bad <amz3>I agree, you did not say that, you made me think about that ^^ <nalaginrut>after all, PLT is still in development, there can't be a final answer now <nalaginrut>I don't think Lisp/Scheme is the final answer, but it's a good way to go <nalaginrut>but I found a good way to hack the diversity in computer, it's Scheme <amz3>I asked a while back about how to implement coroutines using call/cc <amz3>the accepted answer almost work as is in Guile <amz3>it does support restarting the coroutine, but for some reason, if you restart the coroutine without values, it restart with the last returned value <davexunit>zacts: I was one of the people in that conversation. <daviid>amz3: I uploaded grip's code, and grip-clutter is here: http://git.savannah.gnu.org/cgit/grip.git/tree/grip/clutter then you may look at apple, box and toolbar [.scm], the later has a good exmple of redefining a method [set-gravity in this case] at subclass level. I do not pretend it is good for a tutorial as it is though, it's too big of course and rather complex for a beginner, but feel free to use what ever might be good for you, if <amz3>I was looking for it anyway <amz3>that said I'm fuzzy right now, so it won't be right away