# Residential programming 1. [Residential Programming without Mutable State - Thomas Getgood](https://www.youtube.com/watch?v=Kgw9fblSOx4) # Good Ideas 1. https://medium.com/@NikitaVoloboev/write-once-never-write-again-c2fa1f6c4e8 1. [Inline: Efficient Source Code Editing and Manipulation with Code Portals](https://www.youtube.com/watch?v=NQ5h2Ibw6ck) 1. https://devclass.com/2019/02/15/atlassian-make-jira-invisible-target-developers-ides/ 1. http://lispm.de/genera-concepts 1. Hovering/selecting an input to a function inside a function-call should display the name of the input in the function declaration. This would help understand the purpose of the value while in the function call without needing Lux/the-language to have named inputs as a feature. 1. https://www.emacswiki.org/emacs/UndoTree 1. https://jameshfisher.com/2014/05/11/your-syntax-highlighter-is-wrong/ 1. https://medium.com/@evnbr/coding-in-color-3a6db2743a1e # Voice 1. [Speaking in code: how to program by voice](https://www.nature.com/articles/d41586-018-05588-x) # Refactoring 1. https://medium.com/zoosk-engineering/refactoring-at-scale-with-abstract-syntax-trees-a3f989ec8524 1. https://about.sourcegraph.com/ # Visual programming 1. [Lambda Days 2018 - Piotr Moczurad - Visual-textual functional programming with Luna](https://www.youtube.com/watch?v=6xUOuzafmO0) 1. https://www.luna-lang.org/ 1. https://github.com/hoodiecrow/Tclook 1. https://blog.sourcerer.io/build-interactive-diagrams-with-storm-react-diagrams-f172ae26af9d 1. https://www.jointjs.com/opensource 1. https://github.com/jagenjo/litegraph.js 1. https://github.com/retejs/rete 1. http://mikehadlow.blogspot.com/2018/10/visual-programming-why-its-bad-idea.html 1. https://ncase.me/joy/ 1. https://www.jointjs.com/ 1. [Lambda World 2018 - Diagrammatic Execution Models for Functional Languages - Keynote](https://www.youtube.com/watch?v=sgmpVedCsNM) 1. http://joshuahhh.com/projects/pane/ 1. [PANE: Programming with visible data](https://www.youtube.com/watch?v=fIEcXAHy6bU) 1. https://blog.statebox.org/why-visual-programming-doesnt-suck-2c1ece2a414e 1. https://nodered.org/ # Reference 1. https://www.simplethread.com/editor-plugins-belong-in-lock-file/ 1. [How to Design an IDE-Friendly Language with Peter Gromov @donnerpeter](https://www.youtube.com/watch?v=lubc8udiP_8) 1. https://shaunlebron.github.io/parinfer/ 1. https://www.reddit.com/r/emacs/comments/6ztnj9/what_are_the_things_that_you_do_not_like_in_emacs/?st=j7kdafu2&sh=af9ca25d 1. http://xenodium.com/#emacs-utilities-for-your-os 1. https://techcrunch.com/2017/02/19/why-is-android-studio-still-such-a-gruesome-embarrassment/ 1. http://emacslife.com/ 1. http://tinyletter.com/Flowsheets/letters/flowsheets-visualizations 1. http://www.averylaird.com/programming/editor/2017/09/30/the-piece-table/ 1. [Gallery of Programmer Interfaces](https://docs.google.com/presentation/d/1MD-CgzODFWzdpnYXr8bEgysfDmb8PDV6iCAjH5JIvaI/preview?slide=id.g1da0625f1b_0_56) 1. https://spacevim.org/2017/02/11/use-vim-as-a-java-ide.html 1. https://github.com/p-e-w/envy 1. https://enotuniq.org/python_as_a_dsl.html 1. [Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram](https://www.youtube.com/watch?v=baxtyeFVn3w) 1. https://chris-martin.org/2017/loc # Syntax Highlighting 1. https://code.visualstudio.com/blogs/2017/02/08/syntax-highlighting-optimizations 1. https://github.com/alecthomas/chroma 1. https://www.crockford.com/contextcoloring.html # Music 1. https://www.hooktheory.com/hookpad/app # Data-Structures 1. [Data Structures for Text Sequences](https://www.cs.unm.edu/~crowley/papers/sds.pdf) # Shell 1. https://masteringemacs.org/article/complete-guide-mastering-eshell 1. https://medium.com/readcomiccode/behold-z-the-unsung-jewel-that-rethinks-shell-navigation-dae262bb6bdc 1. https://gitlab.com/emacsomancer/equake 1. https://github.com/c-bata/go-prompt # Language Server Protocol 1. https://tomassetti.me/language-server-dot-visual-studio/ 1. https://github.com/Microsoft/language-server-protocol/blob/master/README.md 1. https://www.ncameron.org/blog/what-the-rls-can-do/ # Semantic-oriented programming 1. https://en.wikipedia.org/wiki/Semantic-oriented_programming 1. https://prezi.com/gp6u1jpgkxej/what-are-soplets/ 1. http://symade.tigris.org/ # IDE 1. https://www.eclipse.org/che/ # Advanced AST/source-code manipulation tools 1. https://caseywatts.com/2018/08/23/codemods.html 1. https://vimeo.com/189514610 1. https://github.com/facebook/jscodeshift 1. http://astexplorer.net/ 1. https://github.com/avajs/ava-codemods # Extensibility 1. [Extensible Type-Directed Editing](http://cattheory.com/extensibleTypeDirectedEditing.pdf) # Parsing 1. https://blog.github.com/2018-10-31-atoms-new-parsing-system/ 1. ["Tree-sitter - a new parsing system for programming tools" by Max Brunsfeld](https://www.youtube.com/watch?v=Jes3bD6P0To) # Notebook 1. https://tiddlywiki.com/ # Extension 1. https://github.com/Pext/Pext # Collaborative editing 1. https://hackernoon.com/building-conclave-a-decentralized-real-time-collaborative-text-editor-a6ab438fe79f 1. https://github.com/xi-editor/xi-editor/issues/1187 # Exemplar ## General 1. http://substance.io/ 1. https://www.querystorm.com/ 1. http://recursivedrawing.com/ 1. http://doc.cat-v.org/bell_labs/sam_lang_tutorial/sam_tut.pdf 1. https://github.com/typeintandem/tandem 1. https://github.com/atom/xray 1. http://strlen.com/treesheets/ 1. https://sekao.net/nightlight/ 1. http://cirru.org/ 1. http://www.sublimetext.com/ 1. https://atom.io/ 1. http://lighttable.com/ 1. https://www.visualstudio.com/vs/whatsnew/ 1. http://www.prototypingtools.co/ 1. https://nexttexteditor.com/ 1. https://medium.com/cirru-project/stack-editor-programming-by-functions-a961f1d9555c 1. https://github.com/Cirru/stack-editor 1. https://kclpure.kcl.ac.uk/portal/files/71018111/Frame_based_editing.pdf 1. http://reactide.io/ 1. http://jumpfm.org/ 1. https://isomorf.io/#!/ 1. http://granthika.co/ 1. https://portacle.github.io/ 1. https://quokkajs.com/ 1. https://github.com/jaredly/treed 1. https://github.com/raxod502/el-patch 1. http://www.jgrasp.org/tutorials200/jGRASP_00_Overview.pdf 1. http://codiad.com/ 1. https://github.com/sahilm/fuzzy 1. https://lively-next.org/ 1. http://www.expressionsofchange.org/ 1. https://github.com/onivim/oni 1. http://wiki.xxiivv.com/ronin 1. https://github.com/google/xi-editor 1. https://teletype.atom.io/ 1. https://github.com/martanne/vis 1. http://www.graspjs.com/ 1. http://kakoune.org/ 1. https://github.com/argimenes/standoff-properties-editor 1. https://www.conyedit.com/ 1. https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand 1. [YOW! Lambda Jam 2018 - Colin Fleming - Developing an IDE for Clojure code](https://www.youtube.com/watch?v=2sPYiGxU4kA) 1. https://github.com/shaunlebron/history-of-lisp-parens/blob/master/editors.md 1. https://www.leoeditor.com/ 1. https://storybook.js.org/ 1. https://grapesjs.com/ 1. https://two-wrongs.com/why-you-should-buy-into-the-emacs-platform 1. https://docs.slatejs.org/ 1. https://github.com/pel-daniel/mind-bicyles 1. https://github.com/metaseed/metaGo 1. https://github.com/argimenes/standoff-properties-editor 1. https://github.com/JeffreyBenjaminBrown/hode 1. https://tratt.net/laurie/blog/entries/an_editor_for_composed_programs.html 1. [Hjalfi makes smalltalk (in Javascript)](https://www.youtube.com/watch?v=JDunc6Cr7YQ) ## Structured editing 1. [Deuce: A Lightweight User Interface for Structured Editing](https://arxiv.org/abs/1707.00015) 1. ["Structured Editing for Elm* in Elm" by Ravi Chugh](https://www.youtube.com/watch?v=-TFL6E1uSHE) 1. [The TeXmacs user interface and structured text editing](https://www.youtube.com/watch?v=Sc55nOSN0kQ) ## Tree editor 1. http://justinpombrio.net/tree-editors/survey.html ## Image editor 1. https://www.ludigraphix.org/