Declarative, visual, minimal programming language. Reduces things you need to know and keep in your mind.
- declarative: instead of "1. put the bowl on the table, 2. put in milk, 3. put in cereal" you say "the bowl is on the table and has milk and cereal in it"
- visual: put differently colored and shaped blocks together
- minimal: value, variable, definition, all, any, =, not. That's everything. No spooky things to keep in mind like mutation, pointer, unmanaged effect, runtime error, typeclass/trait/interface, module, class, namespace, package, lambda, local definition, difference between types and code
- scrolling
- fix issue where double click removes outer
- block sidebar
- search (relation, variable, entry key)
- variable renaming
- value lookup entry key renaming
- relation renaming
- navigating to relation definition
- evaluation frame
- relation definition deleting
run locally with
npm install
npx vite
and open http://localhost:5173/ to see your app
For all future runs, you just need
npx vite
- vite
- ryan-haskell/vite-plugin-elm-watch
- implementation uses
elm-state-interface
- loved this talk "Beautiful code: typography and visual programming" by Peter Hilton
- scratch, a procedural, OO-ish, visual scripting language
- uis written in lau where interacting with the outside world is simple and safe which you can even embed in lau code itself
- relations adding its defined parameter (one level deep, so without variables) as an argument
- relation pinning
- you don't need to worry about caching and many other optimizations due to laziness
- identification not by name internally (so that switching languages is easier, renaming is not a breaking change and names can overlap)
- a story for exhaustive case handling (current workaround with giving value lookup might be a bit rough?)
- convenient full value lookup dragging
- other shapes of values (multi-set, so untagged entries) to allow for nicer syntax when argument order doesn't matter e.g. with sum, product, min, max, equals, union, intersection etc.