IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Prolog Discussion :

Prolog Server Page


Sujet :

Prolog

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Prolog Server Page
    Bonjour,
    J'essaye d'installer PSP depuis quelques temps, mais ça ne marche toujours pas. J'ai le message suivant :
    "Prolog initialisation failed: set_psp_flag/2: Arguments are not sufficiently instantiated ([key(session_id), value(2)])"

    Quelqu'un a-t-il une idée ?

    Merci

    PS : je suis sous Windows XP avec IIS.

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Tu parles duquel s'il te plait?

    Rien que pour swi-prolog, il existe 2 projets nommés "Prolog Server Pages":
    celui-ci: http://www.prologonlinereference.org/psp.psp
    et celui-là: http://www.benjaminjohnston.com.au/t...e.prolog?t=psp
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Désolé je ne savais pas qu'il y avait plusieurs projets de PSP.

    Je parle du premier (http://www.prologonlinereference.org/psp.psp), celui de Mauro DiNuzzo

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    J'ai jeté un oeil au code par curiosité (pour voir comment c'était fait dedans) et dans le fichier builtin.pl, je suis tombé sur ce prédicat, qui me parait bizarre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    set_psp_flag(Key, Value) :- 
        atom(Key), nonvar(Value),
        (   current_psp_flag(Key, _)
        ->  retract(current_psp_flag(Key, _)),
            assert(current_psp_flag(Key, Value))
        ;   throw(error(existence_error('Flag', Key), context(set_psp_flag/2, Value)))
        ).
    set_psp_flag(Key, Value) :-
        throw(error(instantiation_error, context(set_psp_flag/2, [key(Key), value(Value)]))).
    Regardons d'un peu plus près la première clause:
    - si Key est un atome
    - si Value est non variable (donc instanciée)
    - si le but current_psp_flag(Key, _) est improuvable (pas encore de valeur associée à Key)
    alors on se retrouve dans le cas où l'exception est levée !

    Quant à la deuxième clause, elle me parait injustifiée (si on énumère les solutions de set_psp_flag, au lieu d'échouer ça lève une exception)


    A mon avis, c'est un bug dans PSP.


    Je verrais plutôt quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    set_psp_flag(Key, Value) :- 
      atom(Key), nonvar(Value),
      !,
      retractall(current_psp_flag(Key, _))
      assert(current_psp_flag(Key, Value)).
     
    set_psp_flag(Key, Value) :-
         throw( error(instantiation_error, context(set_psp_flag/2, [key(Key), value(Value)]) ) ).
    Ca ne m'a pas l'air très au point (même si l'idée est bonne).
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  5. #5
    Membre régulier
    Homme Profil pro
    Nom
    Inscrit en
    Juin 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Nom

    Informations forums :
    Inscription : Juin 2006
    Messages : 90
    Points : 89
    Points
    89
    Par défaut
    tu peux nous donner la commande appelée STP ?

Discussions similaires

  1. [Prolog Server Pages] Utilisation des liens internes
    Par baouk2000 dans le forum Prolog
    Réponses: 14
    Dernier message: 24/03/2009, 00h09
  2. Prolog server pages
    Par baouk2000 dans le forum Prolog
    Réponses: 5
    Dernier message: 26/02/2009, 14h50
  3. Java Server Pages - Téléchargement au lieu d'affichage
    Par goldorakgo dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 16/10/2008, 07h41
  4. Cookie plsql server page
    Par raneria dans le forum PL/SQL
    Réponses: 1
    Dernier message: 27/08/2008, 13h25
  5. appel d'une java server page
    Par mitoubra dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/11/2007, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo