Prolog in Pharo

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

Prolog in Pharo

SergeStinckwich
Dear all,

I'm looking for a simple Prolog engine available in Pharo compatible
with SWI-Prolog and with list support. Anything like that available ?

Regards,
--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

Skip
Hello,

Maybe not quite what you're looking for, but I know of two experiments with logic/relational programming in Pharo:

- SmallKanren: http://smalltalkhub.com/#!/~EvanDonahue/SmallKanren/
- MicroKanren: http://smalltalkhub.com/#!/~adolfopa/MicroKanren/

Both are inspired/based on minikanren (http://minikanren.org/), which is an embedded DSL for logic programming with implementations in multiple languages. Both implementations above are incomplete, but of the two, I'd say SmallKanren is the most complete and most promising. Development seems a bit inactive, however.

Minikanren in general seems to be more of an academic project than one with real-world application, which is a big downside.

Best,

Skip

2017-06-17 11:24 GMT+02:00 Serge Stinckwich <[hidden email]>:
Dear all,

I'm looking for a simple Prolog engine available in Pharo compatible
with SWI-Prolog and with list support. Anything like that available ?

Regards,
--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/


Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

Stephane Ducasse-3
In reply to this post by SergeStinckwich
There is one in the goodies of St/X/ with an open-source license.

On Sat, Jun 17, 2017 at 11:24 AM, Serge Stinckwich
<[hidden email]> wrote:

> Dear all,
>
> I'm looking for a simple Prolog engine available in Pharo compatible
> with SWI-Prolog and with list support. Anything like that available ?
>
> Regards,
> --
> Serge Stinckwich
> UCN & UMI UMMISCO 209 (IRD/UPMC)
> Every DSL ends up being Smalltalk
> http://www.doesnotunderstand.org/
>

Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

Evan Donahue
In reply to this post by Skip
Hi, just saw this.

Smallkanren is complete and under very active development, I just haven't put a new version up in a while because I didn't think that anyone was using it. I'm currently cleaning up a new release and was planning to upload that in the next few days. It should have full support for all the core functions and a better interface, in addition to being much faster.

As far as the matter of real world vs academic exercise, I think I might say rather that it has not *yet* been as thoroughly developed and proven as prolog. It is, after all, a much newer language by almost a half century. However, it forms the basis of clojure's core.logic library, and has been seeing an increasing amount of deployment in real world projects in that area (configuration, parsing, test generation sorts of things I think). I'd like to enable the same in Pharo.

If anyone is interested to know more, feel free to get in touch.

Cheers,
Evan

Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

SergeStinckwich
On Sat, Jun 17, 2017 at 6:11 PM, Evan Donahue <[hidden email]> wrote:
> Hi, just saw this.

Hi Evan,

> Smallkanren is complete and under very active development, I just haven't
> put a new version up in a while because I didn't think that anyone was using
> it. I'm currently cleaning up a new release and was planning to upload that
> in the next few days. It should have full support for all the core functions
> and a better interface, in addition to being much faster.
>
> As far as the matter of real world vs academic exercise, I think I might say
> rather that it has not *yet* been as thoroughly developed and proven as
> prolog. It is, after all, a much newer language by almost a half century.
> However, it forms the basis of clojure's core.logic library, and has been
> seeing an increasing amount of deployment in real world projects in that
> area (configuration, parsing, test generation sorts of things I think). I'd
> like to enable the same in Pharo.
>
> If anyone is interested to know more, feel free to get in touch.

This looks very promising. At the moment, I just want to reuse an
existing Prolog program to generate some
scenarios, but I will definitively have a look to your work later.

Do you plan to move your code to github ?

Regards,
--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

Greg Lewin
In reply to this post by SergeStinckwich
there was a prolog on squeak long ago

http://wiki.squeak.org/squeak/1000

Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

SergeStinckwich
In reply to this post by Evan Donahue
Talking about DSL, there was all this work about integrating logic
programming with Smalltalk called
SOUL. But apparently all this died since many years:
http://ss3.gemstone.com/ss/SOUL.html
http://soft.vub.ac.be/SOUL/

On Sat, Jun 17, 2017 at 6:11 PM, Evan Donahue <[hidden email]> wrote:

> Hi, just saw this.
>
> Smallkanren is complete and under very active development, I just haven't
> put a new version up in a while because I didn't think that anyone was using
> it. I'm currently cleaning up a new release and was planning to upload that
> in the next few days. It should have full support for all the core functions
> and a better interface, in addition to being much faster.
>
> As far as the matter of real world vs academic exercise, I think I might say
> rather that it has not *yet* been as thoroughly developed and proven as
> prolog. It is, after all, a much newer language by almost a half century.
> However, it forms the basis of clojure's core.logic library, and has been
> seeing an increasing amount of deployment in real world projects in that
> area (configuration, parsing, test generation sorts of things I think). I'd
> like to enable the same in Pharo.
>
> If anyone is interested to know more, feel free to get in touch.
>
> Cheers,
> Evan
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Prolog-in-Pharo-tp4951719p4951737.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>



--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

vonbecmann
MCSmalltalkhubRepository
owner: 'goonsh'
project: 'Prolog'
user: ''
password: ''

it worked in pharo 3, it doesn't work in pharo5 and pharo6


On Sat, Jun 17, 2017 at 4:43 PM, Serge Stinckwich <[hidden email]> wrote:
Talking about DSL, there was all this work about integrating logic
programming with Smalltalk called
SOUL. But apparently all this died since many years:
http://ss3.gemstone.com/ss/SOUL.html
http://soft.vub.ac.be/SOUL/

On Sat, Jun 17, 2017 at 6:11 PM, Evan Donahue <[hidden email]> wrote:
> Hi, just saw this.
>
> Smallkanren is complete and under very active development, I just haven't
> put a new version up in a while because I didn't think that anyone was using
> it. I'm currently cleaning up a new release and was planning to upload that
> in the next few days. It should have full support for all the core functions
> and a better interface, in addition to being much faster.
>
> As far as the matter of real world vs academic exercise, I think I might say
> rather that it has not *yet* been as thoroughly developed and proven as
> prolog. It is, after all, a much newer language by almost a half century.
> However, it forms the basis of clojure's core.logic library, and has been
> seeing an increasing amount of deployment in real world projects in that
> area (configuration, parsing, test generation sorts of things I think). I'd
> like to enable the same in Pharo.
>
> If anyone is interested to know more, feel free to get in touch.
>
> Cheers,
> Evan
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Prolog-in-Pharo-tp4951719p4951737.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>



--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/




--
Bernardo E.C.

Sent from a cheap desktop computer in South America.
Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

Evan Donahue
In reply to this post by Greg Lewin
Hi,

Yes, I am planning to move it to github, which is part of why I didn't get around to keeping the sth version synced. I have just managed to get iceberg working, so hopefully I won't have any trouble uploading it.

That said, I am still a little unclear on how to specify dependencies on other repositories when using github (since I have typically been generating them and committing through versionner), so if anyone can point me to any resources about that, I'd appreciate it.

Thanks,
Evan
Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

Stephane Ducasse-3
In reply to this post by Evan Donahue
this is cool


On Sat, Jun 17, 2017 at 7:11 PM, Evan Donahue <[hidden email]> wrote:

> Hi, just saw this.
>
> Smallkanren is complete and under very active development, I just haven't
> put a new version up in a while because I didn't think that anyone was using
> it. I'm currently cleaning up a new release and was planning to upload that
> in the next few days. It should have full support for all the core functions
> and a better interface, in addition to being much faster.
>
> As far as the matter of real world vs academic exercise, I think I might say
> rather that it has not *yet* been as thoroughly developed and proven as
> prolog. It is, after all, a much newer language by almost a half century.
> However, it forms the basis of clojure's core.logic library, and has been
> seeing an increasing amount of deployment in real world projects in that
> area (configuration, parsing, test generation sorts of things I think). I'd
> like to enable the same in Pharo.
>
> If anyone is interested to know more, feel free to get in touch.
>
> Cheers,
> Evan
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Prolog-in-Pharo-tp4951719p4951737.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>

Reply | Threaded
Open this post in threaded view
|

Re: Prolog in Pharo

Stephane Ducasse-3
In reply to this post by Evan Donahue
For that you define a BaselineOf look at the example from QualittyAssistant.
I should start also to learn it.

Stef

On Sun, Jun 18, 2017 at 2:37 AM, Evan Donahue <[hidden email]> wrote:

> Hi,
>
> Yes, I am planning to move it to github, which is part of why I didn't get
> around to keeping the sth version synced. I have just managed to get iceberg
> working, so hopefully I won't have any trouble uploading it.
>
> That said, I am still a little unclear on how to specify dependencies on
> other repositories when using github (since I have typically been generating
> them and committing through versionner), so if anyone can point me to any
> resources about that, I'd appreciate it.
>
> Thanks,
> Evan
>
>
>
> --
> View this message in context: http://forum.world.st/Prolog-in-Pharo-tp4951719p4951783.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>