Code Monkey home page Code Monkey logo

prolog-utils's Introduction

Prolog utilities Build Status

Definizioni di predicati ausiliari al linguaggio e raccolta di esercizi risolti durante le lezioni di Intelligenza Artificiale, tenute nell'anno accademico 2016/17 presso l'Università Politecnica delle Marche dal Prof. Aldo Franco Dragoni.

Ogni contributo è ben accetto! Se siete pratici di github potete creare una pull-request, sarò felice di esaminarla ed includerla. Se non avete praticità con questo strumento, contattatemi direttamente, penserò io a caricare i file.

Struttura delle directory

/doc
/examples
    /99-problems
/lib
/test
  • La cartella doc contiene degli appunti sullo SWI-Prolog
  • La cartella examples contiene una raccolta di esercizi fatti a lezione, suddivisi per aree funzionali e, quando possibile, datati. La sottocartella 99-problems contiene le soluzioni (di alcuni) dei problemi presenti nell'eserciziario del corso, utili in preparazione dell'esame (README).
  • La cartella lib contiene la definizione di predicati sufficientemente utili da poter essere selezionati per estendere il set di predicati built-in nel linguaggio.
  • La directory test contiene la definizione degli unit test riferiti ai predicati definiti nella cartella lib.

Compilare i file singoli

Tutti i file hanno estensione .pro. Ciò non è del tutto conforme con lo SWI-Prolog, quindi bisogna forzare la compilazione in prolog. Per fare ciò è sufficiente cliccare in File > Mode > prolog. Non è consigliabile lavorare con file in estensione .pl (e non verranno usati in questo repository) in quanto, nella maggior parte dei sistemi, tale estensione è associata agli script perl.

Documentazione

È disponibile, per alcuni predicati, una documentazione navigabile (simile al javadoc, per intenderci). Compilato un file, è possibile navigarne la documentazione - se presente - dal browser web. Bisogna avviare il server interno per la documantazione (si può usare una porta a piacere a posto della 4000). Eseguire:

?- doc_server(4000).

Quindi è sufficiente visitare .

La struttura dei commenti strutturati in Prolog è molto rigida ed ha una precisa semantica (definita parzialmente qui).

Appunti

Appunti SWI-Prolog

Eseguire i Test

I predicati nella cartella lib sono correlati di test unitari (cartella test). Per eseguire i test è necessario compilare il file unittest.pro e lanciare nella console:

?- run_tests.

Anche i listati nella cartella examples vengono correlati di test unitari. Sono definiti all'interno dei file stessi che definiscono i predicati e per eseguirli è sufficiente eseguire il comando ?- run_tests una volta compilato il file.

prolog-utils's People

Contributors

ilario-pierbattista avatar toioski avatar fp555 avatar

Watchers

Tadeusz Kurpiel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.