LogicKit: Bringing logic programming to Swift
A new trend in programming languages is to merge multiple paradigms, rather than focusing on one as it was customary in the past. Most modern languages provide a native support for imperative and functional programming, object-orientation and even concurrency. Unfortunately, the same adoption has not been observed for logic programming. The typical mechanism used to blend heterogeneous language concepts is to rely on functions. Functions are a very well understood, and usually offer an excellent abstraction over diverging models of computation. Unfortunately, this solution is unsuitable to interface logic programming. Embedding a full logic programming language into a host is also unsatisfactory, as it leaves hinders the ability to make data flow from one paradigm to the other.
As an answer to these issues, we propose LogicKit, a library that aims to bridge the gap between logic programming and other traditional paradigms. LogicKit is a Prolog-inspired language that blends seamlessly into the Swift programming language. Predicates are first-class objects in the host language and data can flow in an out of a logic program, without the need for any data serialization/parsing. Our framework is distributed in the form of a Swift library that can be imported in any Swift project effortlessly. We elaborate on our motivation for developing LogicKit and present the library by the means of simple examples.
Mon 23 MarDisplayed time zone: Belfast change
16:00 - 17:30
|LogicKit: Bringing logic programming to Swift|