HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Inspiring a future Clojure editor with forgotten Lisp UX - Shaun Lebron

ClojureTVCited 3× on HN, 2017-2019
YouTube
23K views · 9 years ago · talk · evergreen

Shaun Lebron surveys 50 years of Lisp editing history and forgotten innovations in structural editing. He argues future Clojure editors could learn from them, and covers ideas like Parinfer.

HN cites it as a summary of known attempts at structural and Lisp editors.

Functional programmingTesting, debugging & developer toolsGUI, HCI & interface history#clojure#structuralediting#parinfer#lisp#editordesign

3 comments from Hacker News

@AlexSolution2019 · in “Show HN: Bel”

Using a Lisp with Parinfer makes the parens automagic without taking away the benefits they provide. link ▶ this video

CitesView on HN
@cellularmitosis2019 · in “Dreaming of a Parser Generator for Language Design”

That's a great suggestion. Which attempts are you familiar with? The ones I'm familiar with are summarized in this talk: ▶ this video

CitesView on HN
@AriaMinaei2017 · in “An experimental software development environment”

This is called 'projectional editing', an idea that to my knowledge goes back to the 60s. A projectional editor shows you both the original source code, and alternate representations (or, 'projections') of it. Given the right plugins and config, these alternate projections could happen to be more intuitive to grasp/edit than the original source code. One plugin could, for example, remove all the unnecessary semicolons. Another, could remove all the unnecessary punctuations and project the code in an indentation-significant way or vice-versa. Your idea to replace all the `'bar' + foo`s with ``bar{foo}``s would also be possible. It's easy to imagine much more advanced use-cases. A sufficiently advanced editor could detect calls to FRP libraries, and project the data flow as a visual graph (picture all the `flatMaps()` and `scanLatest()s` as nodes on that graph). Or, given access to compile-time type info (via a typescript-style language-server), it could overlay the type of a value with the missing fields being shown as slots to be filled. I can imagine such an editor to mostly "obsolete" the idea of a single syntax for each language in the first place. Like the language but not the syntax? Roll your own syntax! Just configure your own editor plugins. No one would have to know. No one would have to agree with your "taste." Not even your git repo [0]. (See /r/nosyntax/ for more ideas) A projectional editor can also be implemented in the runtime, ala Smalltalk. In that case, the

CitesView on HN
Clojure for Lisp Programmers Part 1 - Rich Hickey1:28:59

Clojure for Lisp Programmers Part 1 - Rich Hickey

ClojureTV
25K views • 13 years ago
Lisp Editing in the 80s - Interlisp SEdit4:54

Lisp Editing in the 80s - Interlisp SEdit

thoughtupquick
9K views • 9 years ago
Emacs Rocks! Episode 14: Paredit3:25

Emacs Rocks! Episode 14: Paredit

emacsrocks
65K views • 13 years ago
The Next Five Years of ClojureScript - David Nolen1:00:58

The Next Five Years of ClojureScript - David Nolen

Metosin
19K views • 10 years ago
Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG1:18:42

Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG

Engineers.SG
14K views • 10 years ago
Live ClojureScript Game Editor5:27

Live ClojureScript Game Editor

ibdknox
34K views • 14 years ago
Effective Programs - 10 Years of Clojure - Rich Hickey1:14:52

Effective Programs - 10 Years of Clojure - Rich Hickey

ClojureTV
176K views • 9 years ago
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure53:56

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

jasonofthel33t
119K views • 13 years ago
Clojure for Java Programmers Part 1 - Rich Hickey1:48:13

Clojure for Java Programmers Part 1 - Rich Hickey

ClojureTV
131K views • 13 years ago
Tim Ewald - Clojure: Programming with Hand Tools58:39

Tim Ewald - Clojure: Programming with Hand Tools

ClojureTV
48K views • 12 years ago
Stuart Sierra - Components Just Enough Structure41:19

Stuart Sierra - Components Just Enough Structure

ClojureTV
36K views • 12 years ago
(ninth RacketCon): Andrew Blinn – Fructure: A Structured Editing Engine in Racket32:18

(ninth RacketCon): Andrew Blinn – Fructure: A Structured Editing Engine in Racket

Racket
10K views • 7 years ago
Symbolics Lisp Machine demo Jan 201313:43

Symbolics Lisp Machine demo Jan 2013

Kalman Reti
52K views • 13 years ago
Om Next - David Nolen46:18

Om Next - David Nolen

ClojureTV
44K views • 11 years ago
Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure42:25

Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure

ClojureTV
9K views • 11 years ago
Marco Baringer's SLIME Tutorial Video55:29

Marco Baringer's SLIME Tutorial Video

손주일 (Cecil)
33K views • 15 years ago
clojure.core/typing - Matt Adereth35:41

clojure.core/typing - Matt Adereth

ClojureTV
40K views • 10 years ago
Brian Goetz - Stewardship: the Sobering Parts1:03:31

Brian Goetz - Stewardship: the Sobering Parts

ClojureTV
39K views • 11 years ago
Anthony Marcar - Clojure At Scale @WalmartLabs39:41

Anthony Marcar - Clojure At Scale @WalmartLabs

ClojureTV
24K views • 11 years ago
Solving Problems the Clojure Way - Rafal Dittwald1:02:26

Solving Problems the Clojure Way - Rafal Dittwald

Clojure/north
87K views • 7 years ago