3 ms·
Author here. lively.next is a runtime and development environment. It comes with a graphical user interface and programming tools that allow you to program simi
by robertkrahn01 9y ago
Author here. lively.next is a runtime and development environment. It comes with a graphical user interface and programming tools that allow you to program similarly to Smalltalk and Self, i.e. instead of a edit-compile-run cycle you have an ever running "program" and change various parts of it directly. With that you have access to runtime objects that you can inspect, use for code completion, or modify.
Apart from the UI (inspired by Self's Morphic [1]), lively.next implements a meta system on top of normal JavaScript that makes such things possible as to hold on and inspect system state (variables defined inside a module, mechanisms for redefining things etc).
Also, lively.next runs on any JS system and it's various packages can be embedded, e.g. to create a programming environment for node.js and other such things.
The Lively project evolved over time and lively.next is the newest version:
- https://www.lively-kernel.org https://www.lively-kernel.org is from the Sun Labs / HPI days (check out the ancient http://sunlabs-kernel.lively-web.org http://sunlabs-kernel.lively-web.org, fully SVG based rendering)
- Lively Web: https://lively-web.org https://lively-web.org A live, programmable wiki (2012-2015)
- lively.next since 2016 https://lively-next.org https://lively-next.org.
[1] http://ftp.squeak.org/docs/Self-4.0-UI-Framework.pdf http://ftp.squeak.org/docs/Self-4.0-UI-Framework.pdf
- skybrian 9y agoThis sounds interesting for personal use, but I'm curious about how you share programs with people who aren't running the whole lively environment? What does that look like?
- robertkrahn01 9y agoThere are two parts to this: a) How to user graphical constructions (we call them parts) outside of the main framework? We currently work on ways to "snapshot" them in a way that they include all their dependencies. So not just the object (graph) state but really all code dependencies. es6 modules are a big help here since they allow to trace dependencies statically. This is work in progress and we will post updates about this. The state right now is that you can the HTML view of morphs into web pages, e.g. see [2] b) Several parts of the system can be used standalone, e.g. you can enable support for Lively tooling in node.js processes or arbitrary webpages. See https://lively-next.org/worlds/lively-2-webpage https://lively-next.org/worlds/lively-2-webpage for a bookmarklet that loads the lively.vm [1] and lively-system-interface on a arbitrary web page: https://imgur.com/a/2foGR https://imgur.com/a/2foGR. This allows you to then use the workspaces, system browser, inspectors, etc. on remote targets. [1] https://livelykernel.github.io/lively.vm/ https://livelykernel.github.io/lively.vm/ [2] https://lively-next.org/worlds/lively.next%20website https://lively-next.org/worlds/lively.next%20website
- oddthink 9y agoThanks for the links. I've been looking for something where I can save executable snippets (shelling out to things or making RPCs to services) in a smalltalk-like browser, and it looks like this might work. I tried Amber a few months back, but couldn't figure out how to get node to shell out, so I went back to TCL+tk.