Shaun Lebron is creating Parinfer for Lisp
26

patrons

$126
per month
Thanks to BinaryAge Limited for $1000/mo (external to Patreon), allowing me to spend 1 full day per week on Parinfer.

My talk at Clojure Conj 2017, summarizing my research of Lisp editors and work on Parinfer:



Parinfer is my attempt to make the Lisp programming language easier to write than any other language—especially for newcomers.  It uses practical methods that you can use today on existing code in your favorite editor.

My focus is not on technology, but rather on the design of the experience.

Those scary parentheses actually enable smart algorithms to automate a large part of how we format and structure our code—in ways that are surprisingly simple (i.e. no hotkeys). This goes counter to the popular perception that Lisp is hard to write. And since these methods don't seem possible in other languages, I intend to fully explore and develop this idea to see if we can make Lisp's user experience as good as its power and flexibility.

Available for different editors (thanks to contributors)

(top: atom, vscode, neovim, vim, emacs, spacemacs. bottom: nightcode, sublime, codemirror, lighttable, cursive)

Compatible with different Lisp languages (update: needs work for allowing block-comments)

(clojure, racket, guile, hy, lisp flavored erlang, common lisp)

For research, I compiled a History of Lisp Editing. I learned that Lisp is largely seen as a structural language trapped in the unflattering medium of text.  My hope is that Parinfer will provide a practical text experience for Lisp, just simple enough to make its artifacts (parentheses) less distracting to newcomers—at least until structure-editors are more widely explored and accepted.  Until then, my research is focused on what is available and comfortable to users today—the text editor.

User feedback has been crucial in making it feel right. There are many different scenarios of user operations and intentions to account for. Balancing a strong mathematical foundation with our own fuzzy expectations of behavior is an ongoing effort.  But user feedback will continue to be necessary for discovering what Parinfer can and should be.  Case in point—Smart Mode was made possible by user ideas.

Atom is being used to vet new ideas with real world usage.  I added a solid experience in the Atom plugin to prove out the latest ideas of Parinfer.  After waiting for feedback and fixing any reported issues, this new experience should be stable enough to begin porting to other editors.

There are a lot more things to take care of.  The research requires a lot of time and focus to analyze solutions and tradeoffs.  I would like to continue having the time to focus on supporting the core algorithms based on feedback and issues, documenting how it all works, marketing new features in engaging ways, and helping to support editor plugins in all their intricacies.

Curated newsletter for patrons: I already communicate a lot by default: be it decision descriptions in issues, documentation on internals, streaming on twitch, visual and interactive examples of new features, and narrated videos thereof.  I will certainly compile/filter these into a curated newsletter for my patrons.

Parinfer is free and open-source, so thank you for supporting its development!

Rewards
Par-snips
$2 or more per month 12 patrons
the enriching
Par-nacles
$8 or more per month 4 patrons
the steady
Par-nivores
$12 or more per month 6 patrons
the voracious
Par-barians
$24 or more per month 0 patrons
the ultimate
Par-cheologists
$48 or more per month 0 patrons
the learned


(1hr video call for learning/chatting)

Par-chitects
$125 or more per month 0 patrons
the wise


(4hrs video calls for learning/chatting)

Par-thenons
$1,000 or more per month 0 patrons
the all-wonderful


(you will be as close to the development process as you want)

Par-kour
$1,400 or more per month 0 patrons
corporate training


(I will train your team of beginners to fearlessly maneuver Lisp)

Goals
$126 of $1,000 per month
two days per week
1 of 3
Thanks to BinaryAge Limited for $1000/mo (external to Patreon), allowing me to spend 1 full day per week on Parinfer.

My talk at Clojure Conj 2017, summarizing my research of Lisp editors and work on Parinfer:



Parinfer is my attempt to make the Lisp programming language easier to write than any other language—especially for newcomers.  It uses practical methods that you can use today on existing code in your favorite editor.

My focus is not on technology, but rather on the design of the experience.

Those scary parentheses actually enable smart algorithms to automate a large part of how we format and structure our code—in ways that are surprisingly simple (i.e. no hotkeys). This goes counter to the popular perception that Lisp is hard to write. And since these methods don't seem possible in other languages, I intend to fully explore and develop this idea to see if we can make Lisp's user experience as good as its power and flexibility.

Available for different editors (thanks to contributors)

(top: atom, vscode, neovim, vim, emacs, spacemacs. bottom: nightcode, sublime, codemirror, lighttable, cursive)

Compatible with different Lisp languages (update: needs work for allowing block-comments)

(clojure, racket, guile, hy, lisp flavored erlang, common lisp)

For research, I compiled a History of Lisp Editing. I learned that Lisp is largely seen as a structural language trapped in the unflattering medium of text.  My hope is that Parinfer will provide a practical text experience for Lisp, just simple enough to make its artifacts (parentheses) less distracting to newcomers—at least until structure-editors are more widely explored and accepted.  Until then, my research is focused on what is available and comfortable to users today—the text editor.

User feedback has been crucial in making it feel right. There are many different scenarios of user operations and intentions to account for. Balancing a strong mathematical foundation with our own fuzzy expectations of behavior is an ongoing effort.  But user feedback will continue to be necessary for discovering what Parinfer can and should be.  Case in point—Smart Mode was made possible by user ideas.

Atom is being used to vet new ideas with real world usage.  I added a solid experience in the Atom plugin to prove out the latest ideas of Parinfer.  After waiting for feedback and fixing any reported issues, this new experience should be stable enough to begin porting to other editors.

There are a lot more things to take care of.  The research requires a lot of time and focus to analyze solutions and tradeoffs.  I would like to continue having the time to focus on supporting the core algorithms based on feedback and issues, documenting how it all works, marketing new features in engaging ways, and helping to support editor plugins in all their intricacies.

Curated newsletter for patrons: I already communicate a lot by default: be it decision descriptions in issues, documentation on internals, streaming on twitch, visual and interactive examples of new features, and narrated videos thereof.  I will certainly compile/filter these into a curated newsletter for my patrons.

Parinfer is free and open-source, so thank you for supporting its development!

Recent posts by Shaun Lebron

Rewards
Par-snips
$2 or more per month 12 patrons
the enriching
Par-nacles
$8 or more per month 4 patrons
the steady
Par-nivores
$12 or more per month 6 patrons
the voracious
Par-barians
$24 or more per month 0 patrons
the ultimate
Par-cheologists
$48 or more per month 0 patrons
the learned


(1hr video call for learning/chatting)

Par-chitects
$125 or more per month 0 patrons
the wise


(4hrs video calls for learning/chatting)

Par-thenons
$1,000 or more per month 0 patrons
the all-wonderful


(you will be as close to the development process as you want)

Par-kour
$1,400 or more per month 0 patrons
corporate training


(I will train your team of beginners to fearlessly maneuver Lisp)