help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: if vs. when vs. and: style question


From: Pascal J. Bourguignon
Subject: Re: if vs. when vs. and: style question
Date: Fri, 27 Mar 2015 23:54:44 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Emanuel Berg <address@hidden> writes:

> Hey... Why don't you Unicode and FP lovers do a new
> editor called "Uhacs" (for Unicode, Haskell, and
> Emacs) - the best thing with this editor is the
> development time, which is actually zero. Because when
> you start working on it, the result is a side-effect,
> which is intolerable by definition, so you have to
> stop :) Wait... oups, I did it again! But that joke
> wasn't rude, was it? Rather, it is funny because it is
> true :)

Well, yes and no.

That is, you can make the joke about purely functional systems running
on Von Neuman archiectures, where anything is done only with side
effects.

But if you allow to consider the virtual machine provided by a purely
function system, and ignore the internal side effects required to
implement it, then you can indeed conceive a purely functionnal,
side-effect-free editor.

First of course, you have to start with a "side-effect-free" file
system.  So when you write a new file, you don't modify or erase the old
file, you actually store the new file in free space, and build a new
directory, almost similar to the old one, but with the new file in (and
perhaps an "old" file out), and up to the root directory.  You then have
a new editor monad using this new root directory.  

Therefore it's not funny because it's false, you can write an editor
without side effects at the level of your pure virtual machine and
system.


-- 
__Pascal Bourguignon__                 http://www.informatimago.com/
“The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment.” -- Carl Bass CEO Autodesk


reply via email to

[Prev in Thread] Current Thread [Next in Thread]