Hacker News new | past | comments | ask | show | jobs | submit login
History of editors for Lisp (github.com/shaunlebron)
105 points by tosh on Aug 13, 2018 | hide | past | favorite | 28 comments



There is no mention of the most recent editor that is being developed - Second Climacs, by Robert Strandh. https://github.com/robert-strandh/Second-Climacs

It has multiple novel ideas, such as generating a syntax tree of typed Lisp code as it is being typed in on the keyboard, which allows it to automatically check and validate symbol spelling and indent code based not on regexes, but on the actual Lisp code that is being edited.


Is nothing new, have been done many times in form of language server protocols.


Would love to see other examples of this!


Literally how every IDE works since Eclipse, and may be even earlier


In .NET it's even advanced to the point that the official C# and Visual Basic (and maybe others) compilers expose this functionality themselves, so that the IDE doesn't have to implement its own parser that may or may not understand things the same way.

Contrast with, e.g., working with Scala in IntelliJ, where you just have to kind of get used to the fact that the IDE will occasionally insist six ways from Sunday that your working code couldn't possibly compile.


I'd love to see a couple of screencasts of people effectively using these. I use spacemacs in evil mode, but I find smartparens infuriating. I don't know if this is because it doesn't suit me, or it's just no good, or if (most likely) I don't know how it's supposed to be used and haven't learnt the keys.

Any advice on getting off the ground for sexp editing (racket mostly) in a modern semantic way would be greatly appreciated.


Greg Hendershott's `racket-mode` for Emacs is the best to work with Racket in Emacs. The reference manual is here:

https://github.com/greghendershott/racket-mode/blob/master/R...

It supports both `paredit` and `smartparens` see more about this in the Readme.

https://github.com/greghendershott/racket-mode/blob/1b78827d...


While Clojure isn't Common Lisp, anecdotally one Clojure-using company told me their most productive engineer uses vim... (They have a mix of editors there, not just vim or emacs. But as a vim-head that made me smile.)

I agree with you on the smartparens types of tools being a mismatch of how I work, I just want to type. But I still sometimes wonder if I paired with someone using spacemacs or emacs+evil mode expertly whether my eyes would open... I've used both, don't like them over regular vim, even though being able to click on CL objects to inspect them is kind of nice except I can also just use ,i in slimv for a bound item so...

There are several videos of people using emacs, but I agree it'd be cool to see videos of the old Lisp Machines in action for productive work rather than demoing things...


I use Paredit on Emacs and I'm ashamed to say that I basically only remember the "slurping" and "barfing", maybe some "splicing" unless I have the cheat sheet at hand, but usually they are enough to quickly manipulate a sexp.

If you haven't seen it before, the EmacsRocks series on YouTube has a short episode on Paredit.


I wouldn't say I have impressive smartparens skills, but I do definitely use sp bindings all the time. What helped (or made it possible at all?) is I made my super key (right alt for me) the smartparens key. So say s-n is sp-forward-symbol, s-c is sp-clone-sexp and so on. From there on it mostly just takes time. Some will stick, some won't. I remember thinking "barf, slurp sexp, WHAT?". Now I think "too bad barfing is broken in js2...".


I wish spacemacs would release with parinfer integration. Paredit feels clunky, error-prone, and awkward after getting used to parinfer on atom.


my favorite sexp editing algo is parinfer, but afaik it hasn't been ported to emacs yet and definitely not packaged for spacemacs. i was first exposed to parinfer when i was playing around with light table, which is where i always end up if i'm spending a lot of time writing lisp/scheme


There is at least one implementation of parinfer for emacs by now.


link?



It is in MELPA (https://melpa.org/#/).


John Wiegly's talk on elisp hacking includes a bit: https://youtu.be/RvPFZL6NJNQ It's unfortunately a low quality recording but if you can stand it it's a treasure trove of tips for doing elisp.


I am new to common lisp but I've never had any problems using paredit with barfing and slurping



Details of the Binford structure editor for MacLisp are documented in the Pitmanual: http://www.maclisp.info/pitmanual/edit.html



Was wondering why LispWorks wasn't mentioned. Am learning Common Lisp and this is the editor I went with.


I wish kbemacs had not managed to so successfully disappear - it was my fave - I'd resurrect it if I could


What's stopping you? Is the code incompatible with newer versions of emacs?


In terms of Emacs packages, thoughts about the best lisp parens package?


I've only tried paredit and smartparens. I ended up going back to paredit due to some annoyances with the latter but unfortunately I can't remember what (I should make a note of such things). I'd be interested to hear from someone who switched from paredit to one of the newer ones.


I used paredit before, then I switched to smartparens. I have also tried parinfer, but I didn’t like the way it behaves. I share the sentiments of this blog post https://github.com/noctuid/parinfer-notes


Leaving out Hemlock?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: