On Jul 26, 2013, at 3:02 AM, Andrew Inggs wrote: > On 25 July 2013 21:55, Lee Spector wrote: >> For Sean or anyone who finds Sean's narrative compelling (I do), imagine >> emacs without the learning curve! I say it's possible and I point to the >> long-extinct FRED (Fred Resembles Emacs Deliberately) that was part of >> Macintosh Common Lisp as a proof of principle. I don't have the time or >> chops to develop such a thing, but if anyone here does then this would be a >> way to make the world a better place. > > Have you heard of Deuce by Håkan Råberg? He gave a talk on it at Skills > Matter London. It not usable yet, but it looks promising.
I hadn't and yes it looks interesting to me too, although it's only addressing part of what I'm suggesting (and what FRED did, in Common Lisp). It's about making emacs work on a Clojure/JVM foundation, and that's great, but the main reason I think that FRED was "emacs without the learning curve" has to do with its GUI. FRED used totally normal and expected GUI conventions, which users would know from any other application on the platform (Mac OS), so that any new user could use it and access all of its main functionality without dealing with any exotic GUI concepts (e.g. hidden buffers in windows, key chords, etc.). All of emacs's power was there, and it could be deployed with key chords etc. if you wanted to (and extended with Common Lisp). But most of the core functionality could also be deployed (and discovered!) through platform-normal GUI elements like separate windows and menus and dialogs (which didn't really exist when emacs was first developed; some of emacs's GUI conventions are good ideas, but many are just historical artifacts). For example, in FRED standard dialogs were used for standard interactions (e.g. opening files) and new information would appear in new windows (could be tabs instead these days, I guess) rather than hiding a current buffer in a current window. You selected buffers by clicking on windows, just as you would in any other application. You could click on a function and use platform-obvious menus to get to the function's documentation or definition or a related namespace search ("apropos" in Common Lisp). Errors would produce a scrollable/clickable stack backtrace in a new window, which you could browse, click to see stack frames with local variable values, etc. You could select an expression in a Lisp buffer by double-clicking on one of its delimiters. Etc. The key thing here is that all of that powerful emacs-like functionality was and could conceivably again be offered in a way that follows reasonably standard GUI conventions, so that new users basically know how to use it before they use it, and they can figure out more as they go along. They don't need cheat sheets or a taste for adventure. And they can install and use the system, with most of its most commonly used functions, without knowing anything exotic, and learn more as they go, discovering things via platform-standard GUI elements. Several Clojure IDEs seem to be getting much better with respect to GUI/usability/learning curve issues, but my point was that there's no reason (in principle :-) that one couldn't build a Clojure programming environment that really is essentially emacs, with all of its power, but also really has essentially no learning curve. I know of some projects that have made it much easier to download/install emacs environments for Clojure, and there are also some versions of emacs out there with platform-natural menus, but I don't know of any projects dedicated to providing a complete emacs-based Clojure environment with the usability and lack of learning curve of FRED. And I do think this would be a beautiful thing to have in the community! -Lee -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.