Prolog para .NET

C#
Autor: Dámaso Velázquez Álvarez
Manual de P# (versión 1.1.3)
Manual de P# (versión 1.1.3)

Hola compañeros, os escribo este pequeño tutorial para ver el funcionamiento de C# junto a Prolog#.

Supongamos que tenemos una base de hechos de la siguiente forma (en sintaxis de Prolog):

amigos(alumno1,alumno2).
amigos(alumno2,alumno1).
amigos(alumno1,alumno3).
amigos(alumno3,alumno1).
amigos(alumno2,alumno3).
amigos(alumno3,alumno2).

Vamos a realizar un programa en C# con Visual Studio 2005 que realice un mini sistema experto, y nos diga si dos personas son amigos o no. Para ello haremos uso de Prolog # que tenemos disponible en:
http://homepages.inf.ed.ac.uk/stg/research/Psharp/
En esa página descargaremos el siguiente fichero:
Psharp-1.1.3.zip

Dentro de este fichero .zip vamos a tener una utilidad llamada PsharpGUI.exe que nos va a generar un fichero C# a partir de nuestro fichero con sintaxis de Prolog. Posteriormente el fichero c# que nos genera, lo utilizaremos en el Visual Studio, añadiéndolo a nuestro proyecto.

Después de haber generado el fichero C# correspondiente, nos vamos a Visual Studio 2005, creamos un nuevo proyecto para winform y con sintaxis C#. A dicho proyecto le añadimos una referencia al archivo Psharp.dll que también viene en el fichero .zip que hemos descargado anteriormente.

En todos los archivos C# donde queramos hacer uso de P# incluiremos las siguientes líneas al principio:

using JJC.Psharp.Lang;
using JJC.Psharp.Predicates;
using JJC.Psharp.Lang.Resource;
using JJC.Psharp.Resources;