October 10, 2020
What means
(to me)
What I mean by
Declare, don't explain
Example: a config file
What I mean by
What I mean by
How things are working is not important,
as long as your application does what you want.
Analogy: self-driving cars vs. driving
Mnemonic
How to
Basic rules:
<-- DSL
<-- Need to be readable
Very important
How to
DSL cannot be too complex:
meaning difficult to interpret
Example: JS
DSL cannot be too simple:
meaning becomes limited
Example: HTML
Choosing a DSL
D.R.Y.
Practical advises:
Choosing a DSL
DSL Completness
.. not really ... DSL needs to be interpreted
Multiple times: "If I mix X and Y, then I get Z."
Questions:
Why did I talk about that video?
Multiple times: "If I mix X and Y, then I get Z."
Questions:
Conditionals and loops
Data semantic
Data tracing
Derived data (a.k.a. computed data)
Awareness of triggered events
Data tracing all the way from origins
(data access & transformations)
Here comes the data !!!
Learned from VueJS, if and for
Added in Vrac's DSL:
Thanks to EDN !
Let constructs keep the template readable
We name things
Function calls let us declare graph of derived data
}
Powerful and
familiar
Questions:
<-- Very useful
Automatic data loading
Carefree dataflow
Flexible data access
(also carefree)
Flexible component bundaries
(also carefree)
inlining without consequences on performances
Questions / Answers
Why is this displayed?
because (nil? (:items (:todo-list global)))
Events
Anonymous local state &
Generic data updates
What is done:
Short term Roadmap:
Clojurian Slack #vrac
Vincent Cantin