Giter VIP home page Giter VIP logo

organizar-proyecto-swi-prolog's Introduction

Como organizar Proyectos en SWI-Prolog

Build Status

En esta página sabrás como estructurar tu proyecto de Prolog para que sea más entendible y no te quede un choclo de código en un solo archivo.

Organización

Consiste en crear 3 archivos . Donde en uno va ir nuestra base de conocimiento, en otro va ir la lógica y por ultimo los tests.En este caso el proyecto esta estructurado con los siguientes nombres

  • baseDeConocimiento . pl (La base de conocimientos).
  • solucion03Prolog . pl (La Lógica).
  • solucion03Prolog . plt (Los test).

Nota: El archivo de test se lo nombra con la extensión .plt .Tambien tengan encuenta que el archivo que posee la lógica y los test deben tener el mismo nombre.

Que incluir en cada archivo

Base de conocimiento

En este archivos se encuentran el conocimiento, hechos ,etc . Se debe también incluir la directiva.

:- module(nombreDelModulo,[predicado/aridad])

Lo que hace es declarar que el archivo va hacer un archivo de modulo para poder usarlo en otro archivo después.

Donde el primer parámetro es el nombre del modulo (lo habitual es que sea igual al nombre del archivo). Y el segundo son los predicados con la aridad que va a tener este modulo.

Lógica

En este archivo va toda la lógica como reglas, etc .También se deberá incluir la directiva.

:- use_module(NombreDelModulo).

Esta directiva sirve para cargar el archivo modulo para poder usarlo.

En este caso para poder usar la base de conocimientos.

Test

En este archivos se encuentra los test que queremos probar y también se debe incluir la directiva

:- include(nombreDelArchivoLogico).

Esta directiva lo que hace es incluir textualmente el contenido del archivo a donde se encuentre esta directiva.

Como integrar Travis

Debemos crear un archivo llamado .travis.yml e incluir el siguiente código

language: bash

install:
before_script:
- sudo apt-add-repository ppa:swi-prolog/devel -y
- sudo apt-get update -q
- sudo apt-get install swi-prolog-nox

script: swipl -t "load_test_files([]), run_tests." -s solucion03Prolog.pl

Donde dice solucion03Prolog.pl debe ir el nombre del archivo donde se encuentra la Lógica.

Como ejecutamos los tests

Simplemente en swi-prolog ejecutamos el siguiente comando

load_test_files([make(all)]).

Lo que hace este comando es que ejecute los test cuando se usa el comando make. porque se modifico algún archivo. Esto sirve cuando modificamos un archivos y recargamos los cambio y queremos ver si los cambios rompe o no los test

Si no te gusta que cuando modifiques los archivos y los recargues con make. ejecute los test .

Simplemente debes ejecutar el siguiente comando para cargar los test

load_test_files([]).

Y luego parar correr los test usamos el siguiente comando.

run_tests.

Referencia

Setting Up Unit Testing In SWI-Prolog

organizar-proyecto-swi-prolog's People

Contributors

luk-s12 avatar

Forkers

fdodino

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.