Hello, I found malli a couple of days ago and I'm liking it although I don't know if I really understand it well, is malli suitable for defining state machines for example? In general, it is suitable for defining data structures to go through and generate code? generate the models for the orientdb and the datascript for example? Would it be suitable for, for example, defining IFML structures and generating the user interfaces from them? These are the questions that I try to answer while I see the documentation, thank you very much
Malli could do most what spec could do, data validation, data transform/coercion, data generation etc. This might be a good refererence https://www.pixelated-noise.com/blog/2020/09/10/what-spec-is/
we have done separate definitions for state machines, as pure data too. signals to the state machine have (input) schemas, guards, actions and arbitrary other control data to them and the uis are derived from the combination of fme + schema definitions: form can be derived from schemas, available actions (and popovers why they are not available) from guards and the available actions in from the fme step definitions. lot’s of ui-stuff like extra re-frame action definitions, button texts and model guidees in the process definitions too.
most real uis need more that “automatically derived from schema”, but, it seems good for many cases like erp’ish internal stuff. Finland is the land of forms, great to have some extra leverage to build those ;)
great talk by @yogthos & @carmen on building declarative uis with clj: https://www.youtube.com/watch?v=IekPZpfbdaI