Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thanks for the correction, I didn't know the count was including applications which presumably could be enabled/disabled.

Do you have any idea how many lines of elisp/c the core is? And how gnarly it is? I've read some stories.



The "core" - ie. Elisp code which is preloaded/included in the final 'emacs' executable (as a memory dump of interpreter state) it's less than 80kloc of Elisp. Emacs ships with ~300kloc of "standard" libraries and applications written in Elisp (keep in mind: it's 300kloc of a high-level, fairly expressive, Lispy language - so it translates into a giant pile of features). Further 400-500kloc of Elisp is from add-on packages available via a built-in package manager. Actually, there's more code available, I just counted the plugins I have installed locally.

IIRC Emacs' C code numbers ~300kloc and includes both bindings to low-level, systems and GUI functionality, some parts of standard Elisp library (writen in C for performance), as well as Elisp virtual machine, byte-compiler and so on. No JIT yet, but at least there's threading support (take that JS :P).

Starting from scratch has many advantages, but it doesn't really work with programs and systems large or complex enough. Otherwise we'd be using a fresh OS every five years instead of working on one of the 5-6 OSes which were all created 30+ years ago.


Thanks for the numbers!


It's probably quite substantial, since it runs on several platforms, has a GUI on some, etc. Most of the C code is probably used, but the larger part of the Lisp code is modes (tools, games, apps, ...).




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

Search: