can_lehmann
I have only used Elm briefly, but as far as I know, a major part of the Elm architecture is the usage of an Msg type which facilitates the communication between the view and the controller (https://guide.elm-lang.org/architecture/). Owlkettle does not require you to use this pattern.
Owlkettle is declarative because the GUI is automatically updated when the widget state changes. In this way it is similar to web frameworks such as React or Mithril.js. React also uses the term "declarative" to describe this behavior (https://reactjs.org/).
I wrote a framework which makes building native linux applications more ergonomic. Similar to many web frameworks, it automatically updates the GUI when the state of the application changes.
Let me know what you think!