Hacker News new | past | comments | ask | show | jobs | submit login
About elnode - EmacsLisp version of node.js (ferrier.me.uk)
119 points by nicferrier on July 17, 2011 | hide | past | web | favorite | 22 comments

This is extremely cool. There have been a few other Emacs webserver implementations, but none showing this much promise/active development. I'm really excited to see where this goes!

I can't wait to see this progress when emacs gets lexical scope and threading. Having a lisp machine as an asynchronous web server is amazing.

emacs already has lexical scope.


that's how you turn it on. you need a fairly recent version.

My bitbucket repo is here https://bitbucket.org/nic/emacs

but of course, the official bzr repo is good as well

Yep, this can already be done using Scheme (Racket or Guile) and Geiser.

But it's still very cool to have that in Emacs Lisp. And it will be "natively" here when Emacs Lisp is replaced by Guile 8-).

emacs lisp being replaced by guile long ago reached the "I'll believe it when I see it point".

But hey, duke nuke'em forever did happen, someday perl 6 might be released, guile might replace emacs lisp.

I believe someone is working on an emacs in guile. That's the right approach. I don't believe it's necessary or sensible myself. I like Scheme a lot. But Emacs resembles CommonLISP more than Scheme so for Emacs future CommonLISP seems the most sensible option.

Anyway, we're ages away from any of that. Although I do believe we'll see a more capable LISP inside Emacs within a few years now.

I believe there is a google summer of code project to this effect, but as has been said previously in this thread "I'll believe it when I see it".

I think it more likely that Emacs-Lisp will continue to grow on its own incorporating its own threading support and continually reducing the motivations for a rebase overtop of Guile.

Guile already runs emacs lisp itself. There's no need to change the lisp in emacs all in one go to get this to work.

This could be nice for remote pair programming without having to do screen sharing.

For instance, the person on the non-typing end could see the edit stream over their iPad.

And that's exactly what I'm working on right now. It won't quite be an etherpad because doing constant diff is not a trivial thing... but bi-directional "live" editing session over the web will be possible.

I am a couple of weeks away from having something.

There are session sharing packages for emacs, like rudel - http://emacswiki.org/emacs/Rudel

However, on machines that are emacsless (at least, without having to ssh somewhere), yeah, this could definitely be nice.

The author brings up the idea of an Etherpad for Emacs. I agree that this would be useful. I wonder how tricky it would be to get right.

It has. One of the things that prompted me to do this is that all the other attempts seem constrained in ways that were not really useful to me.

An HTTP based tool will never offer the full power of emacs at the remote end. But it could be more than enough for most circumstances.

> One of the things that prompted me to do this is that all the other attempts seem constrained in ways that were not really useful to me.

Running inside tmux seems pretty near perfect for the kind of stuff I do. What are you looking for that tmux doesn't address? Is it just being able to run on machines without ssh, because that seems like a pretty minor edge case.

ok. interesting you think that. I do extensive team development with gnu screen but there are still times when I am trapped in my X window and behind my firewall and bringing someone into my machine would be an extensive job.

What I'm working on has 2 use cases:

1. sharing document editing from inside your local machine's emacs with someone else on the Internet (this includes things like quick code review or any of the use cases for etherpad) 2. sharing data from your emacs with the Internet in some way, for example with a mobile app. The current mobile apps for emacs data all have to rebuild the application logic all the time, well, an elnode based org-mode app wouldn't have to do that (for example). In the article I also use the example of the diary.

Cool stuff! But diary format is proprietary?

Proprietary can mean other things than actual license. If a format is only supported by one application, it can still be considered proprietary.

We have gone too far.

nah. what can be done will be done. besides... it has it's uses.

of course, I would say that.

Who wants Emacs on Eggshells?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact