The popularity of multi-paradigm languages is on the rise, enabling developers to select the most appropriate paradigm for each task. While object-oriented and functional programming are commonly combined, other paradigms can also be hybridized. This paper introduces JaKtA, an internal Domain-Specific Language designed to support the definition of Belief-Desire-Intention agents in Kotlin. Our work represents an initial exploration into blending Agent-Oriented Programming with other prevalent paradigms, emphasizing the potential benefits of using internal Domain-Specific Languages. We demonstrate, through JaKtA, how this approach facilitates the creation of compact and expressive Belief-Desire-Intention agents that seamlessly integrate with the host language, its libraries, and tooling.
Read full abstract