Logic Programming Project
The following ideas may be used for inspiration:
Implement a Complex Domain (e.g. rules for a board game, card game, or tax code)
- As a logic program using Datalog
- As a logic program using Flix
- As a logic program using Prolog
Implement a Logic Programming Language
- Implement a Datalog engine (e.g. using semi-naive evaluation)
- Implement a Prolog engine (e.g. using SLD resolution)
- Implement a third logic programming language (e.g. ASP)
Learn Another Logic Programming Language
- Explore CodeQL and use it for some program analysis.
- Explore Datafun and use it solve some programming problems
- Explore FormuLog and use it solve some programming problems
- Explore Mercury and use it solve some programming problems
- Explore miniKanren and use it solve some programming problems
Extend the Datalog Solver in Flix
- Enrich its semantics with new features
- Improve its performance and/or scalability
- Improve its ergonomics (e.g. VSCode support)