I am more a bird than a frog. And this has consequences.
Here you find the episode that started with the goats, wolves and lions puzzle.
If you are interested how it has been solved, influenced by knowledge and skills, you should browse through the posts of the episode.
It recalls Marshall McLuhan's words: first we build the tools - then they build us. Learning arrangements affect the society in which they play a role not by the content delivered but by the learning arrangement itself.
The mathematician, the physicist and the sw engineer used different approaches and tools. I, the abstractonaut, failed because I wanted too much in too short time.
However, the different approaches are driven by quality factors like understandability, generality, performance and elegance.
Knowledge based programming
This is of great relevance for complex systems - like quant finance systems.
You need a rich language that enables programmers do build systems from bottom-up in a symbolic, declarative fashion and you need blazingly fast, accurate and robust algorithms that provide the operational semantics.
Yes, discrete problems like the magic forrest can be solved elegantly without any mathematical shortcut. And, IMO, Sascha's functional magic forrest is a reference how far programming can go.
Knowledge based programming is about describing things in computational terms.
The idea of symbolic languages is to describe things in the same way (pieces of data). The corresponding algorithmic knowledge base provides the engine that implements the symbolic language.
This is again a bird's view, but ...
A short story of being lucky
13 years ago, we made a fundamental decision, wrapping the methodical knowledge base for derivative and risk analytics, UnRisk engine, with the symbolic Mathematica language - now Wolfram Language.
From that date on, we built UnRisk in a bottom-up fashion. In UnRisk Financial Languages based on the UnRisk engines developed in co-evolution.
And our clients can do the same.