diff options
author | Sacha Chua <sacha@sachachua.com> | 2021-10-08 01:58:03 -0400 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2021-10-08 01:58:03 -0400 |
commit | 886ae437fee6a674f7b2757062f1b8a91275457a (patch) | |
tree | b8e37843a5149998f1cc0282fb3bd8d4f69357e5 /2021/talks/dsl.md | |
parent | 5a56ee2080de1a60c15c580adac85bd7e625f3aa (diff) | |
download | emacsconf-wiki-886ae437fee6a674f7b2757062f1b8a91275457a.tar.xz emacsconf-wiki-886ae437fee6a674f7b2757062f1b8a91275457a.zip |
Add talk pages for 2021
Diffstat (limited to '2021/talks/dsl.md')
-rw-r--r-- | 2021/talks/dsl.md | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/2021/talks/dsl.md b/2021/talks/dsl.md new file mode 100644 index 00000000..9fb5cd47 --- /dev/null +++ b/2021/talks/dsl.md @@ -0,0 +1,48 @@ +[[!meta title="Self-Describing Smart DSL's: The Next Magits"]] +[[!meta copyright="Copyright © 2021 Psionic"]] +[[!inline pages="internal(2021/info/dsl-nav)" raw="yes"]] + +<!-- You can manually edit this file to update the abstract, add links, etc. ---> + + +# Self-Describing Smart DSL's: The Next Magits +Psionic + +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 + +<!--- 40 minutes: Wrapping a server in Transient to make a new Emacs application --> + + + +[[!inline pages="internal(2021/info/dsl-schedule)" raw="yes"]] + +[[!inline pages="internal(2021/info/dsl-nav)" raw="yes"]] |