
A Tour of Acme (2012) - polm23
http://research.swtch.com/acme
======
gnuvince
I remember when this was first published, I watched the video and then rushed
to install plan9port and try Acme. I used it for a couple of days before going
back to Emacs, but Acme did leave a very positive impression on me.

\- I really like how "unixy" of an editor it is; you can easily add new
editing commands by writing a small program that reads from stdin and writes
to stdout and use it to manipulate text within Acme. Of course, that program
could be a shell script, a Python program or a Java program; Acme only cares
that it can give and receive text.

\- The editor has a mount point that contains the configuration of the editor
and this can also be manipulated by external programs to influence the editor.

\- The concept of addresses (e.g. an address into a file, an email address, a
URL, etc.) and being able to click on such an address and have the editor DWIM
is very powerful.

\- I still don't know how to classify Acme: is it a minimal or a kitchen sink
editor? You can make it do anything you want, but out of the box it is
extremely bare. Is it a programmer's editor or a general purpose editing tool?

I'm not leaving my trusty Emacs, but I'm happy that I took some time to get to
know something that was completely different.

~~~
i4k
It's definitely a programmer's editor. Some notable programmers used acme
(Dennis Ritchie, Russ Cox). A lot of very great ideas/softwares were written
inside acme (plan9, UTF-8, Go, etc).

But I agree that it's not the best choice for some languages or environments.

~~~
spinlock
What was written in it?

~~~
Esau
According to the Acme page at acme.cat-v.org, it was "implemented in the Alef
programming language, and later rewritten in C using libthread".

------
such_a_casual
I'm fascinated by the expressiveness of the mouse in this demo. I've seen the
mouse as a lost cause ever since committing to vim some time ago, but this
video proves that I am wrong, very wrong. It's clear that the expressiveness
of a UI is limited by it's designers not the hardware.

~~~
henesy
Plan 9 in general reflects this ideology and concept. The entire operating
uses the mouse very expressively to the point that when I develop outside of a
mouse expressive UI it feels lacking. Among other things, the mouse chording
used in Plan 9 is available almost everywhere in the OS. Ex. L+M=Cut,
L+R=Paste

~~~
spinlock
The cut and paste is an old Unix thing. It's not just plan9.

~~~
i4k
Yes. But the graphical UI interface he's talking about was lost with the
advent of Xorg.

The same (or very close) interface was available for unix in 1982 with the
Blit graphics terminal. Blit was created by Rob Pike (acme creator) too and it
influenced the next Pike's GUIs (rio and 8½).

In Plan9's rio, windows are treated as completely editable text, then the
mouse chords for cut-and-paste works for all applications transparently.

Blit promotional video:
[https://www.youtube.com/watch?v=emh22gT5e9k](https://www.youtube.com/watch?v=emh22gT5e9k)

Wiki:
[https://en.wikipedia.org/wiki/Blit_(computer_terminal)](https://en.wikipedia.org/wiki/Blit_\(computer_terminal\))

------
i4k
I'm using acme for C/Go development for at least 8 months and I'm very
satisfied. Acme is very stable and so much easy to extend using any language
or simply shells. This turns the development a task much more painless.

In my current view, the lack of syntax highlighting is a great feature!

For now emacs is only for lisp/scheme languages.

------
artagnon
It's interesting to me that shell integration is becoming a harder problem
with editors these days. Emacs has a multi-term which kind-of works (there
were many packages before this that didn't work), Vim does not have a package
that can present a prompt (afaik), and Atom finally has a near-perfect
terminal in the form of the term3 package.

What Atom considers bare minimum is stuff that Acme doesn't even think about:
syntax-highlighting, auto-indentation, and auto-complete.

~~~
sunnyps
Why should a text editor even have a terminal emulator?

~~~
henesy
I think it's less about having a terminal emulator and more about having
access to the shell environment. In the case of acme no terminal emulator is
used but you still retain access to the system tools you are given and
typically access through a shell.

~~~
akacase
In the tag bar, type Win and middle click. You'll get a terminal.

