A Tour of Go - Real examples of interfaces and concurrency
11–15 of 15 posts
Re: A Tour of Go - Real examples of interfaces and concurrency
#12Regarding the Acme text editor - any users of it here, on HN? I'm really interested to hear some arguments from Acme or Sam userbase - what do you find useful in these editors? I vaguely remember the reply on Acme's mailing list, that it is a text editor, not a rainbow, when someone asked about syntax highlighting feature :)
Much of the power of Lisp comes from the fact that the result of executing an S-expression is also an executable S-expression itself, so programs that write programs become trivial.
This property is true of acme too - we execute text with a middle-button click or drag, and the command that's executed can produce more text, which is itself executable text.
Thus I can extend the functionality of acme by writing tiny shell scripts that print useful commands. I can run a command that produces a list of stuff, use structural regexps to transform that stuff into an acme command, then execute that to transform something else.
The power of structural regexps combined with proper Undo/Redo is also great - rather than pipe something through sed or awk, I'll often iteratively build up an expression or set of expressions that perform some particular one-off transformation, rewinding and retrying as necessary.
I could go on!
Acme certainly isn't perfect, but it is wonderful.
Re: A Tour of Go - Real examples of interfaces and concurrency
#13I really hate to bring up the generics point, but I did really miss them when I used Go. Sure, you can ignore their absence, but every time I saw a API that took or returned `interface {}`, I felt like the type system was being wasted. Other than that though, Go is definitely on favorite languages to watch from afar.
Re: A Tour of Go - Real examples of interfaces and concurrency
#14Regarding the Acme text editor - any users of it here, on HN? I'm really interested to hear some arguments from Acme or Sam userbase - what do you find useful in these editors? I vaguely remember the reply on Acme's mailing list, that it is a text editor, not a rainbow, when someone asked about syntax highlighting feature :)
I've been using acme for a long time (previously vi was my editor of choice). One property of acme that I think isn't so obvious is the way that text becomes higher-order, in the same kind of way that S-expressions in Lisp are higher-order. Much of the power of Lisp comes from the fact that the result of executing an S-expression is also an executable S-expression itself, so programs that write programs become trivia…
It would be interesting to see examples of this.
Re: A Tour of Go - Real examples of interfaces and concurrency
#15Regarding the Acme text editor - any users of it here, on HN? I'm really interested to hear some arguments from Acme or Sam userbase - what do you find useful in these editors? I vaguely remember the reply on Acme's mailing list, that it is a text editor, not a rainbow, when someone asked about syntax highlighting feature :)
A potentially useful link: https://code.google.com/r/jasoncatena-acmesac/