Back to the schedule
Previous: Tree-edit: Structural editing for Java, Python, C, and beyond!
Next: Yak-shaving to a UI framework
Self-Describing Smart DSL's: The Next Magits
Psionic
Q&A: answering after the conference
Status: Cancelled
Duration: 20 minutes
Description
When we begin programming, the promise is to automate away repetitive tasks in life. As those program's capability grows, we begin to need configuration UI's. We can start with a CLI, but as any CLI grows, we run into the following issues:
As options pile up, the intuition of simplicity is lost in helps and manpages
Stateless operation has no idea what to do next and loses terseness
Frequent dispatch of commands to interrogate state required for the operator to decide what action to perform
Composition compounds with all of these issues
Magit has the UI trifecta of being terse, intuitive, and intelligent. Magit's UI input library, Transient, is a standalone package for developing more killer UI's, and not just for CLI applications, but also for server applications, Emacs applications, and Emacs itself.
While Transient's potential is to create the most highly productive UI's short of thought control, going beyond simple command dispatchers requires a deeper dive. When we think like constructing a DSL for the task and using transient to input that DSL, we get an intelligent, self-describing modal programming system.
Outline
- Updates to Transient documentation and demos of API examples
- Wrapping a custom CLI tool in Transient
Back to the schedule
Previous: Tree-edit: Structural editing for Java, Python, C, and beyond!
Next: Yak-shaving to a UI framework