IRC channel logs

2013-07-26.log

back to list of logs

***mario-go` is now known as mario-goulart
***spacebat1 is now known as spacebat
<theseb>Anyone heard of project to auto-port emacs to guile (scheme)? That seems awesome if they could pull it off....to have a clean Scheme based emacs
<shanecelis>theseb: Yeah, BT is working on it Guile-Emacs for GSoC http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/bpt/23002
<theseb>shanecelis: is machine translation of ELisp to Guile a dream or reality?
<shanecelis>theseb: It would be cool. Initially though it'll probably just expose elisp.
<shanecelis>theseb: well, this project won't be translating the elisp. Instead, it'll be actually running elisp in the Guile VM.
<theseb>shanecelis: so he's just making a shim that implements Elips in Guile?
<theseb>shanecelis: what is BT's interest in swapping out the Elisp interpreter with Guile?
<shanecelis>theseb: Elisp already runs in Guile. He's trying to swap about the Emacs' Elisp interpreter for Guile's.
<theseb>shanecelis: why is that hard?
<shanecelis>theseb: It'll give us a Scheme to go to, ffi, concurrency, continuations, modules.
<theseb>shanecelis: if guile rune elisp seems he's done
<shanecelis>theseb: Not exactly, running elisp is one small part. He has to rework Emacs' tightly integrated elisp interp. to use Guile. That's a huge undertaking.
<shanecelis>theseb: Unfortunately, Guile-emacs won't quite be the clean Scheme Emacs initially, but it'll provide a smooth transition path to possibly get there.
<theseb>shanecelis: thanks...cools tuff
<theseb>stuff*
<shanecelis>theseb: I'm working on something that would be clean Scheme but it wouldn't quite be Emacs. https://google-melange.appspot.com/gsoc/proposal/review/google/gsoc2013/shanecelis/1
<theseb>shanecelis: nice...grats on the being accepted to GSoc
<theseb>ok must go now..happy hackign
<theseb>hacking even*
<nalaginrut>brendyn: sorry guys, the site isn't finish yet, so there's only home page
<nalaginrut>and if you want a github-blog, you have to use hyde
<nalaginrut>but for a more complex dynamic site design, you should choolse Artanis ;-P
<nalaginrut>sneek: later tell ArneBab_ it's from google font api, I think it's free
<sneek>Got it.
<nalaginrut>and there could be comment section for a static page, there're lot of plugins for that, but I'd like to handle all the comments and requests on github issue
<nalaginrut>dunno, maybe add a comment board?
<nalaginrut>ah~I forget "morning guilers~" first ;-P
<nalaginrut>which is the magic words to raise talking here
<brendyn>Interesting. Will people who write scheme things for guile be able to put that scheme into old emacs? perhaps if some scheme interpreter written in elisp was used, they way people are less reluctant to use guile if they wish to pass on code to others during this transition phase?
<taylanub>brendyn: I have an Emacs right here that can execute Scheme functions in Elisp.
<taylanub>(setq my-scheme-function (eval-scheme "something-evalling-to-a-procedure"))
<taylanub>(apply my-scheme-function args)
<taylanub>Alternatively, (setf (symbol-function 'my-scheme-function) (eval-scheme "...")), and then just (my-scheme-function arg1 arg2 ...)
<taylanub>I'm planning to write some Elisp subr (function defined in C) which does this without having to use `eval', using Guile modules instead.
<taylanub>Then basically any Guile Scheme library will be an Elisp library. :)
<brendyn>is it easy for someone to chuck scheme into their init.el though?
<brendyn>on GNU Emacs?
<taylanub>Well yeah, this is GNU Emacs .. bipt's branch:
<taylanub>sneek: guilemacs
<sneek>Last time I checked guilemacs is http://git.hcoop.net/?p=bpt/emacs.git;a=summary,
<taylanub>Oh, I made some tiny changes to make `funcall' (and `apply') and symbol-functions to work with Scheme procedures.
<taylanub>I'd paste my patches somewhere, but they're dirty ...
<ArneBab>youlysses: Guile Scheme goes with Everything :)
<sneek>Welcome back ArneBab, you have 1 message.
<sneek>ArneBab, nalaginrut says: it's from google font api, I think it's free
<ArneBab>nalaginrut: cool (font)! thanks!
<brendyn>hellekin: Perhaps start with http://learnxinyminutes.com/ :D
<nalaginrut>hmm...no scheme?
<brendyn>youlysses: funny, or Gibe: Guile's intelligent book for excellence
<brendyn>nalaginrut: make it happen!
<nalaginrut>seems no any book/tutorial for Guile
<brendyn>If you could perhaps dream of what itd be like, start a publically editible outline for it to be filled in
<nalaginrut>yes, maybe learn Guile in hard way
<brendyn>where can i see what other learnxthehardway thing look like?
<nalaginrut>besides, maybe I should write 'Artanis' as 'Λγταηιβ'
<brendyn>-.-
<nalaginrut>which finally embedded 'lambda' in ;-P
<nalaginrut>brendyn: http://learnpythonthehardway.org/
<brendyn>what does the the name Artanis come from?
<brendyn>Λrtanis would be cool
<nalaginrut>;-)
<nalaginrut>(string-reverse "sinatra")
<nalaginrut>brendyn: and for sinatra http://www.sinatrarb.com/
<brendyn>I shall make a program called Knarf :)
<taylanub>scm_procedure_p returns true for some Elisp objects. :(
<nalaginrut>I should write such thing all in Scheme
<nalaginrut>it's strange to use others for that
<YoungFrog>taylanub: are scheme procedures somehow translated to emacs-lisp objects ?
<taylanub>YoungFrog: The Elisp world can hold any Scheme object ATM, just not do much with them .. not even pass back to Scheme because `eval-scheme' takes a string so you can't inject an object into it.
<taylanub>(Unless the object has reader-syntax I guess. :P)
<taylanub>So I just do (eval-scheme "blah") and if that gives back a procedure, I now have a Scheme procedure as a first-class object in Elisp, and can put it into a variable or into the function-slot of a symbol.
<YoungFrog>I mean, when you (setq foobar (some scheme procedure)), is foobar a usual elisp object (I'd guess a lambda expression) or is it something specific to guilemacs ?
<taylanub>Scheme objects are also Elisp objects, so to say.
<taylanub>The Elisp interpreter has mostly been modified to use the data-types from libguile.
<taylanub>So, I think, a float in Elisp is just an "inexact real" of libguile ATM.
<YoungFrog>oh ok
<taylanub>There are still data-types that are *not* from libguile, and that makes things a bit messy.
<taylanub>For example symbols, apparently. And the libguile scm_ functions don't (can't) check if their arguments are actually Scheme objects, they assume that to be true, and then some old persisting non-libguile Elisp objects *look* like some Scheme objects but aren't and cause weird errors if you pass them to a libguile function.
<taylanub>For example in the Elisp `funcall' definition (in eval.c), I cannot just put "if (scm_procedure_p (fun)) scm_call..." anywhere, because scm_procedure_p returns true for some old Elisp objects.
<taylanub>Solution would be to wrap *all* Elisp objects in libguile types, like e.g. SMOB types, I guess.
<taylanub>On the meanwhile I'm doing the scm_call at the very end of `funcall', if everything else failed, so correct Elisp works, and Scheme procedures work, but some weird Elisp object might crash the process instead of raising an error, because it has been passed to scm_call.
<YoungFrog>I think I get it, although i know nothing to the emacs C core (let alone the guilemacs C core)
<taylanub>Yeah, I only now have learned tiny bits of it (eval.c).
<ArneBab>nalaginrut: maybe you could use the elisp tutorial as base for a scheme tutorial: http://bzg.fr/learn-emacs-lisp-in-15-minutes.html
<taylanub>YoungFrog: Hrmmm it seems Scheme objects are of the Elisp type Lisp_Other; or at least that's what seems to be used in print_object; it must be the stable way of determining Scheme objects in Elisp now ...
<nalaginrut>ArneBab: yeah~I'll write one
<nalaginrut>any ways to install Guile for Mac/Win users?
<nalaginrut>ArneBab: http://www.web-artanis.com/scheme.html
<ota>Good link! I also like http://norvig.com/21-days.html, which it references.
<ota>That Norvig link is also available in many languages, as well it should be.
<hellekin>brendyn: awesome! I didn't know that resource. Indeed that can be useful for developers to pick a new language. But... There's no Guile entry. Care to add one? :) Also I suppose the languages could be arranged by family.
<ota>Also check out http://abstrusegoose.com/249
<ota>Clearly inspired by the same issue.
<ota>s/issue/URL/.
<hellekin>ota :D
<hellekin>is there a Guile wiki?
<hellekin>would http://libreplanet.org/GNU/Guile be appropriate?
<brendyn>hellekin: I think it would be most appropriate to have a Scheme entry, perhaps? Or do you think specifically Guile?
<brendyn>for a 10 minute lesson, the most significant part of Guile is Scheme
<brendyn>and it seems a bit greedy!
<brendyn>Maybe I could do it. I'm only a noob but perhaps.
<hellekin>brendyn: hold on, I'm formalizing the idea and sending it to the mailing-list
<brendyn>hellekin: Of making a learnxinyminutes, or the big Guile Book project thingy?
<hellekin>nalaginrut: +1 for Λrtanis : it's still readable for non-hellenophiles
<brendyn>perhaps put a strike through the lambda so it looks like an A, and only we know the truth!
<nalaginrut>yes, it happens to be
<nalaginrut>and that tutorial is done in 15 minutes today, need to add more
<nalaginrut>I have to present a tutorial of Scheme for my project, since many guys don't know what is Scheme ;-P
<brendyn>I think scheme has lots of tutorials available
<nalaginrut>yes, but in my country, it's near zero
<nalaginrut>actually, not tutorial, just a quick start
<brendyn>The internet has no borders
<nalaginrut>it'll be in the future ;-)
<ArneBab>nalaginrut: cool!
<nalaginrut>and even there're lot, users just want a quick link to start, not open google
<hellekin>mail on its way
<nalaginrut>ArneBab: thanks, and thanks for your idea ;-P
<brendyn>Which mailing list?
***Shozan is now known as SHODAN
<dsmith-work>Hey hey hey!
<dsmith-work>Happy Friday, Guilers!!
<davexunit>happy friday!
<aleix>hi
<aleix>good morning/whatever guilers
***ijp` is now known as ijp
<hellekin>hmmm I guess I got it wrong: mail bounced to
<hellekin>guile-user@lists.gnu.org
<hellekin>did I forget an s ? :P
<davexunit>hellekin: you need to subscribe to the mailing list first
<davexunit>or else you will get bounced
<hellekin>ah no, I added lists.
<hellekin>or am I subscribe with another email. Rhaaaaaaaaaaaaaaaaa! I want GNUnet!
<davexunit>yeah. it's guile-user@gnu.org
<hellekin>ok on its way
<amirouche>hi :)
<amirouche>how do work threads in guile ?
<amirouche>there is an interpreter by thread ? or is it another trick ?
<ijp>guile threads are posix threads
<sneek>Welcome back ijp, you have 1 message.
<sneek>ijp, add^_ says: Something seems to have been broken since the last updates (of guile) with guildhall, &assertion or something.. Not sure.
<ijp>only one interpreter
<amirouche>I'm confused but it's not important
<amirouche>Python can't achieve that but guile does
<amirouche>I'm wondering how
<ijp>python could, but it chooses not to
<amirouche>does the code really runs in parellel
<amirouche>?
<ijp>yes
<dsmith-work>If you have multiple cores...
<ijp>dsmith-work: everyone has multiple cores these days
<amirouche>thx
<dsmith-work>ijp: Oh yeah?
<ijp>dsmith-work: well, everyone who has bought a new computer this century :)
<dsmith-work>Hah
<dsmith-work>ijp: Thanks! I needed to laugh a bit..
<dsmith-work>Python can't use more than one core, right?
<amirouche>ijp: is your blog running on guile ?
<amirouche>if so, is available online ?
<ijp>good question, I haven't checked if it is still up in a few months
<ijp>probably crashed and giving 500s
<amirouche>no
<taylanub>Where is it ? shift-reset.com ? That works.
<amirouche>it's running
<taylanub>Also what funny thing did I miss ?
<amirouche>I'm learning guile ;)
<ijp>holy shit, someone commented on my blog
<ijp>the wonders never cease
<ijp>and I thought the week peaked on wednesday when I finally got mills mess down
<ijp>amirouche: anyway, the code isn't available, but that's just as well, since I've hard coded a lot of things that shouldn't be
<amirouche>uh ok
<amirouche>Like I said I'm starting guile, and kind of bored by SICP somewhat and though that reading some code might be a good idea
<add^_>ijp: Was it me? :-) Because I've done that, but that was long ago.
<ijp>add^_: yes :)
<add^_>You finally noticed! :-D
<ijp>I keep meaning to post more. I have like three half finished posts
<add^_>Ah
<add^_>:-)
<add^_>Actually, now that I notice how it *really* should have looked (the equations), I'm guessing something was wrong in Chrome on my tablet, Firefox is displaying the equations correctly though.
<taylanub>Don't you wish thoughts would just write themselves down ?
<ijp>that's what #emacs is for me
<add^_>taylanub: get on to it, make it!
<add^_>oh
<ijp>I'm sure they all appreciate that :P
<add^_>But I think the equations were as readable as they are now, just not displayed as pretty. :-)
<ijp>add^_: mathml support got pulled out out of webkit, IIRC, because it was really buggy
<add^_>Ah
<add^_>That makes sence.. I suppose.
<add^_>sense