unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "Pascal J. Bourguignon" <pjb@informatimago.com>
To: help-gnu-emacs@gnu.org
Subject: Re: making software with Emacs and Elisp
Date: Wed, 23 Oct 2013 02:36:02 +0200	[thread overview]
Message-ID: <87sivsg6x9.fsf@informatimago.com> (raw)
In-Reply-To: 87d2mw52sh.fsf@nl106-137-194.student.uu.se

Emanuel Berg <embe8573@student.uu.se> writes:

> Marcin Borkowski <mbork@wmi.amu.edu.pl> writes:
>
>> I understand that you want to develop your application
>> in "EmacsOS"
>
> You are actually the *third* person who brought up the
> "OS" aspect with me. I never thought of Emacs that way.
>
> Well, it isn't like the Linux kernel because it is
> interactive, and it doesn't access and allocate hardware
> to a pool of processes. For example, if you run a shell
> command from Emacs, that is continuous/background in
> character, isn't that run next to Emacs, with the kernel
> doing the multitasking, rather than on top of Emacs, and
> Emacs doing the scheduling etc.?

cf. the process objects.

emacs does manage memory, or schedule processor time for the various
functions running in emacs.

Also, "Operating System" doesn't mean unix-like architecture.  You can
have very different architectures.


> But you may also include other stuff in a definition of
> "OS", like the libraries, the tools, the interface... In
> that sense I agree Emacs is very much an OS, perhaps
> even the best there is!


Indeed, an OS is not a kernel.  
cf. GNU vs. Linux, or GNU vs. Hurd.
cf. emacs vs. Linux http://informatimago.com/linux/emacs-on-user-mode-linux.html


> But (in the kernel "OS" interpretation), that's overkill
> for my purposes, I don't need to spawn processes/threads
> and all that, I just need to be able to execute my Elisp
> software elsewhere, the same way it is executed on my
> machine.
>
> Doesn't for example Python code work everywhere, as long
> as you have a Python interpreter? 

No it doesn't.  There are a lot of versions of python, and python
libraries may or may not work on several of those versions.
Distributions usually package them so that several versions can be
installed at the same time, and a python program chooses one version or
another to run.  The same is true for ruby (with even a specific tools
to setup the environment with a given ruby version and gem
configuartion, cf. rvm).


Some implementations also can install different versions of emacs.
(cf. gentoo eselect, /etc/alternatives on ubuntu, etc).


> Something like that would be enough, and I suppose the
> Elisp interpreter is... Emacs.

That said, there's less differences between (consecutive) versions of
emacs than in the case of ruby or python, and it's easier to write a
program that can run on different versions of emacs lisp.

As long as emacs is installed (it may be a dependency of your program,
so it gets installed automatically in a given distribtion package
management system), you can run your program with:

    $ emacs -Q --batch -l myprogram.el

you can provide a script to launch your program such as:

    $ cat myprogram
    #!/bin/sh
    exec emacs -Q --batch -l myprogram.el
    $


-- 
__Pascal Bourguignon__
http://www.informatimago.com/




  parent reply	other threads:[~2013-10-23  0:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-20  0:17 making software with Emacs and Elisp Emanuel Berg
2013-10-20  1:42 ` Pascal J. Bourguignon
2013-10-20  1:36   ` Emanuel Berg
2013-10-20  9:15 ` Marcin Borkowski
2013-10-20 12:40   ` Pascal J. Bourguignon
     [not found] ` <mailman.4335.1382260532.10748.help-gnu-emacs@gnu.org>
2013-10-22 23:00   ` Emanuel Berg
2013-10-22 23:29     ` Marcin Borkowski
2013-10-23  0:36     ` Pascal J. Bourguignon [this message]
     [not found]     ` <mailman.4507.1382488595.10748.help-gnu-emacs@gnu.org>
2013-10-24 19:57       ` Emanuel Berg
2013-10-24 22:00         ` Pascal J. Bourguignon
2013-10-24 22:24           ` Emanuel Berg
2013-10-24 22:34             ` Pascal J. Bourguignon
     [not found]             ` <mailman.4647.1382654123.10748.help-gnu-emacs@gnu.org>
2013-10-24 22:43               ` Emanuel Berg
2013-10-25 19:11                 ` Pascal J. Bourguignon
  -- strict thread matches above, loose matches on Subject: below --
2013-10-20  1:00 Barry OReilly
     [not found] <mailman.4327.1382230827.10748.help-gnu-emacs@gnu.org>
2013-10-20  1:12 ` Emanuel Berg
2013-10-20  1:51   ` Pascal J. Bourguignon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sivsg6x9.fsf@informatimago.com \
    --to=pjb@informatimago.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).