aboutsummaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/research/text_editor & ide.md185
1 files changed, 185 insertions, 0 deletions
diff --git a/documentation/research/text_editor & ide.md b/documentation/research/text_editor & ide.md
new file mode 100644
index 000000000..15d2e6ae9
--- /dev/null
+++ b/documentation/research/text_editor & ide.md
@@ -0,0 +1,185 @@
+# 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
+
+# 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. [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
+
+# 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://hackernoon.com/building-conclave-a-decentralized-real-time-collaborative-text-editor-a6ab438fe79f
+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
+