lparolari / setlog-picat

Pure implementation of {log} in Picat, a logic language.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

setlog-picat

forthebadge forthebadge

PRs Welcome GitHub issues PRs Welcome

[here goes a gif explaining what this repository is about]

⚠️ This repository contains the code for my bachelor degree thesis project ☺️

setlog-picat is a pure implementation of {log} (read setlog) in picat. This work is related to the {log} project.

{log} project aims at the design and development of a Constraint Logic Programming language that embodies the fundamental forms of set designation and a number of primitive operations for set management.

Table of Contents

🚀 Getting Started

{log} is a language for binary relations over sets.

Below you will find everything you need to know about this setlog implementation. Start form the install section if you want to play with the setlog solver, type in some formulas and see the magic.

💾 Install

  • Install the Picat engine following the install procedure here.
  • Download the setlog engine for picat
git clone https://github.com/lparolari/setlog-picat-draft.git
cd setlog-picat-draft

▶️ Usage

$ picat               # start picat interpreter.
$ Picat> cl(setlog).  # compile and load the setlog module into picat
$ Picat> setlog.      # start setlog intepreter.
$ {log} => Enter your formula here...

🎁 Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

❤️ Authors

Luca Parolari <luca.parolari23@gmail.com>

🎓 License

This project is licensed under MIT license. See LICENSE.txt file for details.

About

Pure implementation of {log} in Picat, a logic language.

License:MIT License


Languages

Language:Prolog 96.3%Language:Shell 3.4%Language:Makefile 0.3%