└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # awesome editing paradigms [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | ### Language-specific approaches 4 | 5 | * **html & css** [emmet](https://emmet.io/) _you can type CSS-like expressions that can be dynamically parsed, and produce output depending on what you type in the abbreviation_ 6 | * **lisp** [parinfer](https://shaunlebron.github.io/parinfer/) _simplifies the way we write Lisp by auto-adjusting parens when indentation changes and vice versa._ 7 | * **haskell** [structured-haskell-mode](https://github.com/chrisdone/structured-haskell-mode) _provides structured editing operations based on the syntax of Haskell_ 8 | 9 | ### Alternative lineage editors 10 | 11 | The vast majority of editors inherit for Emacs, with _chords_ - multiple keys held down, like cmd+s - for most functions. A minority are 12 | based on the vim concepts, like neovim and vim emulation modes. And then an even smaller minority are their own style. 13 | 14 | * [acme](https://en.wikipedia.org/wiki/Acme_(text_editor)) _mouse-centric, uses mouse chording and lets you execute commands by clicking on text_ 15 | * see a [demo of Russ Cox demoing acme](https://www.youtube.com/watch?v=dP1xVpMPn8M) 16 | 17 | ### Visual programming environments 18 | 19 | * [DRAKON](https://en.wikipedia.org/wiki/DRAKON) _an algorithmic visual programming language developed within the Buran space project following ergonomic design principles_ 20 | * [scratch](https://scratch.mit.edu/) 21 | * **javascript / hardware** [micro:bit](https://pxt.microbit.org/) 22 | * **scheme** [snap!](http://snap.berkeley.edu/) 23 | * [frame-based editing](https://www.greenfoot.org/frames/) _in frame-based editing, each statement or structure in your program is one cohesive, indivisible element: a frame_ 24 | * [Interlisp](https://en.wikipedia.org/wiki/Interlisp) 25 | * [Lamdu](http://www.lamdu.org/) _a next-generation live programming environment that radically improves the programming experience_ 26 | * [chorus](http://www.chorus-home.org/) _the middle ground between spreadsheets and programming_ 27 | * [max/msp](https://en.wikipedia.org/wiki/Max_(software)) _a visual programming language for music and multimedia_ 28 | * [supercollider](https://en.wikipedia.org/wiki/SuperCollider) _an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition_ 29 | 30 | ## Notebook interfaces 31 | 32 | ### JavaScript 33 | 34 | * [Idyll: an interactive document language](https://github.com/idyll-lang/idyll) 35 | 36 | ### R 37 | 38 | * [R Studio](https://www.rstudio.com/) 39 | 40 | ### Multiple 41 | 42 | * [Jupyter](https://jupyter.org/) 43 | 44 | ## jsFiddle-like interfaces 45 | 46 | * [Web Maker](https://github.com/chinchang/web-maker/) 47 | * [jsFiddle](http://jsfiddle.net/) 48 | * [CodePen](https://codepen.io/) 49 | 50 | ## License 51 | 52 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/ ) 53 | 54 | To the extent possible under law, [Tom MacWright](http://www.macwright.org) has waived all copyright and related or neighboring rights to this work. 55 | --------------------------------------------------------------------------------