minesweeper and rules system

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
34 messages Options
12
Reply | Threaded
Open this post in threaded view
|

minesweeper and rules system

kevin-133
Hello,

imagine a kid playing famous minesweeper, but not directly, only
troughout a "robot" he's programming.

For example, giving the robot the rule "if a 1 has only one hidden
square and no mine among its 8-neighbours then there is a mine under the
hidden square", then the robot fires this rule as far as possible and
then stops.

The kid can only add new rules, which are immediatly effective; when the
robot cannot fire any rule, the kid has to give (discover) a new one.


Anybody knows something like that or is able to write it in squeak?





_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: minesweeper and rules system

Serge Stinckwich
Tu es sur la liste squeak en français, tu peux donc parler en français ;-)

2008/3/17, kevin <[hidden email]>:

> Hello,
>
>  imagine a kid playing famous minesweeper, but not directly, only
>  troughout a "robot" he's programming.
>
>  For example, giving the robot the rule "if a 1 has only one hidden
>  square and no mine among its 8-neighbours then there is a mine under the
>  hidden square", then the robot fires this rule as far as possible and
>  then stops.
>
>  The kid can only add new rules, which are immediatly effective; when the
>  robot cannot fire any rule, the kid has to give (discover) a new one.
>
>
>  Anybody knows something like that or is able to write it in squeak?
>
>
>
>
>
>  _______________________________________________
>  Squeak-fr mailing list
>  [hidden email]
>  http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>
_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: minesweeper and rules system

Noury Bouraqadi
In reply to this post by kevin-133
Bonjour Kevin,

C'est intéressant. Qu'est-ce que tu proposes comme solution pour la  
résolution des conflits entre règles ?
La plus ancienne (ou récente) gagne ? Toutes les règles applicables  
sont mises en oeuvre ?

Noury
On 17 mars 08, at 21:03, kevin wrote:

> Hello,
>
> imagine a kid playing famous minesweeper, but not directly, only  
> troughout a "robot" he's programming.
>
> For example, giving the robot the rule "if a 1 has only one hidden  
> square and no mine among its 8-neighbours then there is a mine under  
> the hidden square", then the robot fires this rule as far as  
> possible and then stops.
>
> The kid can only add new rules, which are immediatly effective; when  
> the robot cannot fire any rule, the kid has to give (discover) a new  
> one.
>
>
> Anybody knows something like that or is able to write it in squeak?
>
>
>
>
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

Noury Bouraqadi
------------------------------------------------------------------
Dr. Noury Bouraqadi - Enseignant/Chercheur
Responsable de l'enseignement de l'informatique
ARMINES - Ecole des Mines de Douai - Dept. I.A.
http://vst.ensm-douai.fr/noury

European Smalltalk Users Group Board
http://www.esug.org
------------------------------------------------------------------




_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: minesweeper and rules system

kevin-133
Bonjour,

Noury Bouraqadi a écrit :

>
> C'est intéressant.

merci.

> Qu'est-ce que tu proposes comme solution pour la  résolution des
> conflits entre règles ?
> La plus ancienne (ou récente) gagne ?

La plus ancienne, pour commencer.

L'idée serait que la règle de résolution de conflit (meta règle ?) soit
d'abord figée, puis que lorsque les enfants commencent à s'intéresser à
l'ordre d'application des règles, ils puissent agir.


> Toutes les règles applicables  sont mises en oeuvre ?

Je ne comprends pas la question, s'il ne s'agit pas de résoudre des
conflits : si on suppose qu'on conserve comme objectif de "gagner", quel
est l'intérêt de ne pas appliquer une règle applicable ?


**

Est-ce que squeak permettrait de programmer des règles en
s'affranchissant d'une formulation écrite ? à la etoys ?







_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: minesweeper and rules system

Noury Bouraqadi

On 18 mars 08, at 13:22, kevin wrote:
>
>> Toutes les règles applicables  sont mises en oeuvre ?
>
> Je ne comprends pas la question, s'il ne s'agit pas de résoudre des  
> conflits : si on suppose qu'on conserve comme objectif de "gagner",  
> quel est l'intérêt de ne pas appliquer une règle applicable ?
>
C'était au cas où plusieurs règles sont applicable au même moment.
Si on n'applique qu'une seul, la situation change. Je ne sais pas si  
on peut arriver à une situation de blocage => donc besoin de nouvelles  
règles. Et plus il y a de règles, plus c'est complexe => source de  
problèmes peut-être ?

Noury

>
> **
>
> Est-ce que squeak permettrait de programmer des règles en  
> s'affranchissant d'une formulation écrite ? à la etoys ?
>
>
>
>
>
>
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

Noury Bouraqadi
------------------------------------------------------------------
Dr. Noury Bouraqadi - Enseignant/Chercheur
Responsable de l'enseignement de l'informatique
ARMINES - Ecole des Mines de Douai - Dept. I.A.
http://vst.ensm-douai.fr/noury

European Smalltalk Users Group Board
http://www.esug.org
------------------------------------------------------------------




_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

RE : minesweeper and rules system

Dreyfuss Pierre-André (EDUM)
In reply to this post by kevin-133

Bonjour,
Celà relance le problème de disposer d'un prolog  fonctionnant en Squeak.
J'avais vu dans une discussion  une promesse de mise à jour mais 'si rien vu venir.

La dernière version où prolog marche est squeak 3.6.
Dans 3.7 celà semble marcher mais à la première erreur  tout plante et Sqeak se bloque.

La proposition est intéressante.

Si l'on est pas trop pressé on peut essayer avec  shelog, un prolog en scheme pour Squeak mais la syntaxe est peinible.

Je vais explorer le sujet ...

J'ai autrefois fait avec mes élèves le jeu du morpion sous forme de règles.
pour que celà soit faisable, il faut donner un système d'écriture et d'interprétation de règles convivial.


-------- Message d'origine--------
De: [hidden email] de la part de kevin
Date: mar. 18/03/2008 13:22
À: Squeak in french / Squeak en français
Objet : Re: [Squeak-fr] minesweeper and rules system
 
Bonjour,

Noury Bouraqadi a écrit :

>
> C'est intéressant.

merci.

> Qu'est-ce que tu proposes comme solution pour la  résolution des
> conflits entre règles ?
> La plus ancienne (ou récente) gagne ?

La plus ancienne, pour commencer.

L'idée serait que la règle de résolution de conflit (meta règle ?) soit
d'abord figée, puis que lorsque les enfants commencent à s'intéresser à
l'ordre d'application des règles, ils puissent agir.


> Toutes les règles applicables  sont mises en oeuvre ?

Je ne comprends pas la question, s'il ne s'agit pas de résoudre des
conflits : si on suppose qu'on conserve comme objectif de "gagner", quel
est l'intérêt de ne pas appliquer une règle applicable ?


**

Est-ce que squeak permettrait de programmer des règles en
s'affranchissant d'une formulation écrite ? à la etoys ?







_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr


_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

winmail.dat (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE : minesweeper and rules system

Dreyfuss Pierre-André (EDUM)
In reply to this post by Noury Bouraqadi

Bonjour,
J'ai une peu creusé la  question:

Pour piloter le jeu par le robot 2 solutions.

Utiliser le démineur de Squeak et faire des scripts servant d'interface pour commander le jeu.

Créer d'abord un démineur en Squeak écrit avec E-toys (ou V-toys).

La seconde solution offre plus de liberté. Entre autre on peut poursuivre après l'explosion d'une mine ce qui gagne du temps pour explorer le jeu.

Les règles déterminant si un case a une mine ou non. Leur ordre n'a aucune importance simplement on marque la mine ou on clique sur la case pour obtenir une nouvelle information.

Il y a 2 types de règles:

  Les règles logiques qui donne une certitude.

  Les règles donnant des probabilités de présence d'une mine.

Il faut appliquer les certitudes, l'ordre n' a pas d'importance.

En suite jouer les plus faibles probabilités de présence, si l'on tombe sur une mine  le jeu se termine :-).

Les règles peuvent s'écrire sous forme de scripts E-toys.

Des scripts outils devraient faciliter l'écriture des règles.

Une des fonctions outils de base est l'exploration des cases entourant une case particulière.

Ce script existe déjà dans  le jeu pour compter les bombes touchant une case.
Pour marquer une case appuyer sur 'm' avant de cliquer sur la case.

La version pour l'image OLPC du demineur en Etoy

http://swiki.ofset.org:8000/super/326

Version pour l'image squeakland  (qui se charge aussi dans 3.9 mais ne se sauve plus :-).

http://swiki.ofset.org:8000/super/327

Une version utilisant un idiome Etoy  pour chercher les cases contigües et avec quelques règles est en préparation
 Je vais faire une page sur ofset o?u l'on  poura échanger nos propositions de résolutions.

Amitiés


-------- Message d'origine--------
De: [hidden email] de la part de Noury Bouraqadi
Date: mar. 18/03/2008 14:50
À: Squeak in french / Squeak en français
Objet : Re: [Squeak-fr] minesweeper and rules system
 

On 18 mars 08, at 13:22, kevin wrote:
>
>> Toutes les règles applicables  sont mises en oeuvre ?
>
> Je ne comprends pas la question, s'il ne s'agit pas de résoudre des  
> conflits : si on suppose qu'on conserve comme objectif de "gagner",  
> quel est l'intérêt de ne pas appliquer une règle applicable ?
>
C'était au cas où plusieurs règles sont applicable au même moment.
Si on n'applique qu'une seul, la situation change. Je ne sais pas si  
on peut arriver à une situation de blocage => donc besoin de nouvelles  
règles. Et plus il y a de règles, plus c'est complexe => source de  
problèmes peut-être ?

Noury

>
> **
>
> Est-ce que squeak permettrait de programmer des règles en  
> s'affranchissant d'une formulation écrite ? à la etoys ?
>
>
>
>
>
>
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

Noury Bouraqadi
------------------------------------------------------------------
Dr. Noury Bouraqadi - Enseignant/Chercheur
Responsable de l'enseignement de l'informatique
ARMINES - Ecole des Mines de Douai - Dept. I.A.
http://vst.ensm-douai.fr/noury

European Smalltalk Users Group Board
http://www.esug.org
------------------------------------------------------------------




_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Prolog pour 3.10

Stéphane Rollandin-2
In reply to this post by Dreyfuss Pierre-André (EDUM)
salut à tous,

je réponds ici à un message de mars dernier:

Dreyfuss Pierre-André (EDU) a écrit :
> Bonjour,
> Celà relance le problème de disposer d'un prolog  fonctionnant en Squeak.
> J'avais vu dans une discussion  une promesse de mise à jour mais 'si rien vu venir.
>
> La dernière version où prolog marche est squeak 3.6.
> Dans 3.7 celà semble marcher mais à la première erreur  tout plante et Sqeak se bloque.


en fichier joint, vous trouverez de quoi installer Prolog dans une image
récente (j'ai testé 3.8, 3.9 et 3.10)

usage: pour 3.9 et 3.10, chargez d'abord le changeset PreFixes (pour 3.8
c'est inutile), puis balancez le Prolog 13Dec1628, et enfin le PostFixes.

le PostFixes s'occupe de remplacer les tests en "class == Symbol" par
"isSymbol", nécessaire depuis l'introduction de ByteSymbol (ce qui ne
nous rajeunit pas). Le PreFixes bidoulle dans le Parser, mais rien de
grave ne vous inquiétez pas... il copie deux méthodes de 3.8 qui ont
disparu en 3.9 pour cause de pragmas ou un truc du genre.

après vous pouvez faire "PrologWorkspace openDemoFamily" et évaluer les
deux expressions. ça marche. je n'ai pas testé plus loin...


Stef


_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

prolog pour 3.10.zip (20K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

Stéphane Rollandin-2
... et voici une version un poil plus récente, la dernière sur SqueakMap:
http://map.squeak.org/package/cb6c7afe-d517-470f-8857-d764ef321725/autoversion/2

incluant les corrections décrites dans mon dernier message

Stef

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

Prolog pour 3.10.sar (26K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

cedreek
Salut et merci ;)

Je cherchais justement à utiliser Prolog.

Par contre j'ai un petit souci, sur les dernieres 3.10web de Damien,
le chargement se passe bien. Par contre, je ne peux plus sauvegarder
l'image (ecran figé). De meme les fenetre de type debugger ne peuvent
être fermées.

Cédrick

2008/6/8 Stéphane Rollandin <[hidden email]>:

> ... et voici une version un poil plus récente, la dernière sur SqueakMap:
> http://map.squeak.org/package/cb6c7afe-d517-470f-8857-d764ef321725/autoversion/2
>
> incluant les corrections décrites dans mon dernier message
>
> Stef
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>
>

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

cedreek
en fait il doit y avoir un problème avec le "source" des exemples en
Prolog... Quand je demande d'afficher par exemple
Doctor>>healthHistory:   j'ai un subscript out of bound. Ca ne vient
pas d'OB puisque j'ai le même problème avec les package browser.


8 June 2008 12:15:58 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.10.1 [latest update: #7175]

Array(Object)>>error:
        Receiver: #()
        Arguments and temporary variables:
                aString: 'subscript is out of bounds: 1'
        Receiver's instance variables:
#()

Array(Object)>>errorSubscriptBounds:
        Receiver: #()
        Arguments and temporary variables:
                index: 1
        Receiver's instance variables:
#()

Array(Object)>>at:
        Receiver: #()
        Arguments and temporary variables:
                index: 1
        Receiver's instance variables:
#()

Array(SequenceableCollection)>>replaceFrom:to:with:startingAt:
        Receiver: #(nil)
        Arguments and temporary variables:
                start: 1
                stop: 1
                replacement: #()
                repStart: 1
                index: 1
                repOff: 0
        Receiver's instance variables:
#(nil)


--- The full stack ---
Array(Object)>>error:
Array(Object)>>errorSubscriptBounds:
Array(Object)>>at:
Array(SequenceableCollection)>>replaceFrom:to:with:startingAt:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Array>>replaceFrom:to:with:startingAt:
Array(SequenceableCollection)>>copyFrom:to:
CompiledMethod>>replace:with:in:
CompiledMethod>>getSourceFor:in:
Doctor class(Behavior)>>sourceCodeAt:ifAbsent:
OBMethodNode>>source
OBMethodNode>>definition
OBMethodNode(OBCodeNode)>>getDefinition
OBEnhancementDefinitionPanel>>selectionChanged:
MessageSend>>valueWithArguments:
[] in ActionSequence>>valueWithArguments: {[:each | answer := each
valueWithArguments: anArray]}
ActionSequence(SequenceableCollection)>>do:
ActionSequence>>valueWithArguments:
[] in OBAnnouncer>>announce: {[:class :action | (ann isKindOf: class)
 ifTrue: [action     valueWithArgum...]}
[] in IdentityDictionary(Dictionary)>>keysAndValuesDo: {[:assoc |
aBlock value: assoc key value: assoc value]}
IdentityDictionary(Set)>>do:
IdentityDictionary(Dictionary)>>associationsDo:
IdentityDictionary(Dictionary)>>keysAndValuesDo:
OBAnnouncer>>announce:
OBEnhancementColumn(OBColumn)>>signalSelectionChanged
OBEnhancementColumn>>signalSelectionChanged
OBEnhancementColumn(OBColumn)>>selection:
OBEnhancementColumn>>selection:
OBPluggableListMorph(PluggableListMorph)>>changeModelSelection:
OBPluggableListMorph>>mouseUp:
OBPluggableListMorph(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
OBPluggableListMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
OBPluggableListMorph(Morph)>>processEvent:using:
OBPluggableListMorph(Morph)>>processEvent:
OBPluggableListMorph(PluggableListMorph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
ActiveEvent := anEvent.  result := focusHolder     han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
processEvents.  capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

Stéphane Rollandin-2
cdrick a écrit :
> en fait il doit y avoir un problème avec le "source" des exemples en
> Prolog... Quand je demande d'afficher par exemple
> Doctor>>healthHistory:   j'ai un subscript out of bound.

en revanche ça marche dans une image 3.8

ce genre de problème n'est pas très étonnant vu que le format des
méthodes prolog est sensiblement différent de Smalltalk. je pense qu'il
faudrait revoir l'implémentation du LParser et ne plus définir les
clauses dans des pseudo-méthodes qui ne sont pas du Smalltalk.

je vais voir si je ne peux pas utiliser le genre d'astuces qui m'ont
réussi avec LispKit pour revoir ce Prolog. au fait, quelqu'un a-t-il
sous la main la documentation pointée par
http://map.squeak.org/package/cb6c7afe-d517-470f-8857-d764ef321725/default

et qui devrait ce trouver là: http://bolot.net/squeak/prolog/v-prolog.pdf

?

bolot.net ne répond pas et google ne donne aucune autre adresse...



Stef



_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

cedreek
In reply to this post by cedreek
Je pense que cela vient d'ici...

CompiledMethod>>replace:with:in:


        args := (self methodClass parserClass new
                parseArgsAndTemps: aText string notifying: nil) copyFrom: 1 to: self numArgs.

avec aText qui vaut:
a Text for 'healthHistory(''John'', ''John had two times of heart attacks'').
healthHistory(''Mary'', ''Mary had no serious problems'').'


(self methodClass parserClass new parseArgsAndTemps: aText string
notifying: nil) retourne un tableau vide...

ptet il faut implementer parseArgsAndTemps: aText string notifying
différement...

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

cedreek
In reply to this post by Stéphane Rollandin-2
> en revanche ça marche dans une image 3.8

>
> ce genre de problème n'est pas très étonnant vu que le format des méthodes
> prolog est sensiblement différent de Smalltalk. je pense qu'il faudrait
> revoir l'implémentation du LParser et ne plus définir les clauses dans des
> pseudo-méthodes qui ne sont pas du Smalltalk.
>
> je vais voir si je ne peux pas utiliser le genre d'astuces qui m'ont réussi
> avec LispKit pour revoir ce Prolog.

ok, cool. Au fait tu ne viens pas au RMLL par hasard ?

>au fait, quelqu'un a-t-il sous la main
> la documentation pointée par
> http://map.squeak.org/package/cb6c7afe-d517-470f-8857-d764ef321725/default
>

J'adore archive.org :)
http://web.archive.org/web/*/http://bolot.net/squeak/prolog/v-prolog.pdf

Il cible le pdf mais le cache de google n'existe plus par contre ca
donne une version html
http://www.pdfdownload.org/pdf2html/pdf2html.php?url=http%3A%2F%2Fweb.archive.org%2Fweb%2F20060111021650%2Fhttp%3A%2F%2Fbolot.net%2Fsqueak%2Fprolog%2Fv-prolog.pdf&images=yes

Je joins le fichier html généré car je ne sais pas si j'ai pu le
récuperer grace a un plugin firefox... bon c'est un peu en vrac mais
ca se lit...

A plus,

Cédrick

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

VprologRecup.htm (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

cedreek
Le fichier est pas bon...  celui la devrait etre mieux... ;)

@ plus

Cédrick

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

VProlog.zip (20K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

cedreek
dans le document, ca parle de LogicBrowser, il n'y en a pas dans
l'implémentation actuelle ?   J'imagine que LParser et LCompiler sont
censés permettre d'utiliser une browser classique... ?

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

Stéphane Rollandin-2
In reply to this post by cedreek
cdrick a écrit :
> J'adore archive.org :)
> http://web.archive.org/web/*/http://bolot.net/squeak/prolog/v-prolog.pdf

ah, merci. j'ai réussi à récupérer le pdf à partir du dernier lien

Stef

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

Stéphane Rollandin-2
In reply to this post by cedreek
cdrick a écrit :
> dans le document, ca parle de LogicBrowser, il n'y en a pas dans
> l'implémentation actuelle ?   J'imagine que LParser et LCompiler sont
> censés permettre d'utiliser une browser classique... ?

à l'origine sans doute mais visiblement ce n'est plus le cas...

Stef

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

Stéphane Rollandin-2
In reply to this post by cedreek

>> ce genre de problème n'est pas très étonnant vu que le format des méthodes
>> prolog est sensiblement différent de Smalltalk. je pense qu'il faudrait
>> revoir l'implémentation du LParser et ne plus définir les clauses dans des
>> pseudo-méthodes qui ne sont pas du Smalltalk.
>>
>> je vais voir si je ne peux pas utiliser le genre d'astuces qui m'ont réussi
>> avec LispKit pour revoir ce Prolog.
>

bon, en attendant mieux voici déjà une version de Prolog que l'on peut
explorer plus en sécurité...

j'ai modifié LParser et le #doesNotUnderstand de Logic

maintenant, les méthodes en Prolog doivent avoir un nom qui commence par
"logic": par example #logicFather définit le prédicat father.

les primitives, c'est-à-dire les méthodes qui définissent un prédicat
prolog implémenté en Smalltalk, doivent avoir un nom qui commence par
"primlogic" et leur unique argument doit être "assoc".

c'est un peu rustique mais ça a l'air de fonctionner. testé sur 3.8 et
3.10 (y compris le squeak-dev, version web), mais je n'ai toujours pas
fait plus de tests que l'example du PrologWorkspace openDemoFamily


> ok, cool. Au fait tu ne viens pas au RMLL par hasard ?
>

non

Stef

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

PrologSPFA.sar (22K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Prolog pour 3.10

Stéphane Rollandin-2
bon, le Prolog que je vient d'envoyer plante horriblement si l'on teste

Dungeon new :? go()


... voici donc une nouvelle version, cinq minutes après la précédente :)


Stef "ce sont les risques du direct"


_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

PrologSPFA-2.sar (22K) Download Attachment
12