Prolog interpreter or unification engine in Dolphin

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

Prolog interpreter or unification engine in Dolphin

Jan Theodore Galkowski-2
Does anyone have any experience with creating a Prolog interpreter
or LP unification engine within Dolphin Smalltalk?  I am aware of
QSoul (or "QSoul2" in its current incarnation) but it's done for
Squeak and I'm looking for something a little more compatible.

Failing that, anyone have experience porting QSoul or QSoul2?
And, failing that, how about any Logic Programming capability
within Smalltalk that's an alternative to QSoul?

Thanks.

--
---------------------------------------------------------------------
 Jan Theodore Galkowski                    [hidden email]
 The Smalltalk Idiom                            
[hidden email]      
*********************************************************************
             "Smalltalk?  Yes, it's really that slick."
---------------------------------------------------------------------
Want to know more?  Check out
           http://www.dnsmith.com/SmallFAQ/
           http://www.object-arts.com/DolphinWhitePaper.htm
           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/ 
*********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Prolog interpreter or unification engine in Dolphin

Joseph Bacanskas
Hi Jan:

There was a prolog interpreter shipped as a goodie with Smalltalk/V Mac
(and Windows, I think).  Why not harvest it? I bet there are people out
there who still have the diskettes.  I'll look for mine. ;-)

Jan Theodore Galkowski wrote:

> Does anyone have any experience with creating a Prolog interpreter
> or LP unification engine within Dolphin Smalltalk?  I am aware of
> QSoul (or "QSoul2" in its current incarnation) but it's done for
> Squeak and I'm looking for something a little more compatible.
>
> Failing that, anyone have experience porting QSoul or QSoul2?
> And, failing that, how about any Logic Programming capability
> within Smalltalk that's an alternative to QSoul?
>
> Thanks.
>

--
Thanks!!
Joseph Bacanskas [|]
--- I use Smalltalk.  My amp goes to eleven.


Reply | Threaded
Open this post in threaded view
|

Re: Prolog interpreter or unification engine in Dolphin

Stefan Matthias Aust
In reply to this post by Jan Theodore Galkowski-2
Hi!

"Jan Theodore Galkowski" <[hidden email]> schrieb im Newsbeitrag
news:[hidden email]...
> Does anyone have any experience with creating a Prolog interpreter
> or LP unification engine within Dolphin Smalltalk?

I'm currently porting AOKI Atsushi's Prolog interpreter and should have
finished that in a a few days.

I also looked at Prolog/V for which a Squeak port exists, but because that
version is very tightly integrated with the Squeak compiler, that would be
much more difficult to port. The same problem might exist with QSoul.

bye
--
Stefan Matthias Aust  //  Truth Until Paradox


Reply | Threaded
Open this post in threaded view
|

Re: Prolog interpreter or unification engine in Dolphin

Artur Zaroda
Hello,

On Tue, 16 Oct 2001, Stefan Matthias Aust wrote:

> "Jan Theodore Galkowski" <[hidden email]> schrieb im Newsbeitrag
> news:[hidden email]...
> > Does anyone have any experience with creating a Prolog interpreter
> > or LP unification engine within Dolphin Smalltalk?
>
> I'm currently porting AOKI Atsushi's Prolog interpreter and should have
> finished that in a a few days.

At one point I've done some work on porting that as well (to Dolphin 3.0,
as far as I remember). My approach was to throw away the GUI altogether
(I didn't need that anyway) and work on the compiler and computation
engine. I wasn't quite happy with the original structure of that interpreter,
so I started some refactorings but didn't get very far.

Anyway, AOKI Atsushi's interpreter is simple and should be a good starting
point to play with logic programming. If one is looking for practical tool,
my advice would be to use some other Prolog implementation, like SICStus
or Amzi!, which can live in DLL. Interfacing that from Dolphin should
be very easy.

Artur Zaroda
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Prolog interpreter or unification engine in Dolphin

Ingo Blank-6
"Artur Zaroda" <[hidden email]> schrieb im Newsbeitrag
news:[hidden email]...
>
> Hello,
>
> On Tue, 16 Oct 2001, Stefan Matthias Aust wrote:
>
> > "Jan Theodore Galkowski" <[hidden email]> schrieb im
Newsbeitrag

> > news:[hidden email]...
> > > Does anyone have any experience with creating a Prolog interpreter
> > > or LP unification engine within Dolphin Smalltalk?
> >
> > I'm currently porting AOKI Atsushi's Prolog interpreter and should have
> > finished that in a a few days.
>
> At one point I've done some work on porting that as well (to Dolphin 3.0,
> as far as I remember). My approach was to throw away the GUI altogether
> (I didn't need that anyway) and work on the compiler and computation
> engine. I wasn't quite happy with the original structure of that
interpreter,
> so I started some refactorings but didn't get very far.
>
> Anyway, AOKI Atsushi's interpreter is simple and should be a good starting
> point to play with logic programming. If one is looking for practical
tool,
> my advice would be to use some other Prolog implementation, like SICStus
> or Amzi!, which can live in DLL. Interfacing that from Dolphin should
> be very easy.
>
> Artur Zaroda
> [hidden email]
>

Hi,

I agree with Artur, regarding practical use.
Metalinguistic approaches are interesting, but mostly not much more than an
academic toy. So are Prolog/V and Aokis Prolog implementations somewhat
restrictive and
(of course) not lighnting fast, though portable (in theory at least).

For real world applications I would suggest a call interface to a *real*
Prolog system like
SICStus or Amzi. While the latter is free, the first is the (much) better.
Some month ago, I offered an ActiveX for Dolphin call interface for SICStus
to this group, but nobody showed interest.
So if anybody wants it, just let me know.

I also know of an socket based SICStus interface, which is somewhat slow,
but should be portable across OS platforms.


Ingo

ibl at nexgo dot de


Reply | Threaded
Open this post in threaded view
|

Re: Prolog interpreter or unification engine in Dolphin

Jan Theodore Galkowski-2
Hi, Ingo, Artur, Stefan, and Joseph,

Thanks for all your suggestions and enthusiasm.  I am asking because
it does look like QSoul might be a bit tightly integrated with
Squeak, although there actually isn't that much code and it
could be rewritten.  QSoul's or, rather, QSoul2's emphasis is upon
"reasoning about Smalltalk programs" and I don't care about that,
really.  I simply want and need to use the QSoul repository as a
kind of internal database for my applications.  It also does not
matter, to me, if the interpreter is blindingly fast or not.  Any
programming I do will be in Smalltalk, as I want it to be, but
having a class which realizes a unification engine is very useful.
QSoul is like that, but I am open to other suggestions.

I have a licensed version of BProlog which I use from time to
time but Smalltalk is my mainstay language, particularly Dolphin.

If someone could send me fileouts of the Smalltalk/V Prolog goodie,
I'd very much appreciate it.  I don't have a lot of time to do
something now, as it is needed for a class project, but I can
throw something together good enough for the project and then
polish it later.

Plus, having a good unification engine as well documented and
designed as T-Gen is a powerful feather in the Smalltalk cap.

Thanks again,

  --Jan

Ingo Blank wrote:

>
> "Artur Zaroda" <[hidden email]> schrieb im Newsbeitrag
> news:[hidden email]...
> >
> > Hello,
> >
> > On Tue, 16 Oct 2001, Stefan Matthias Aust wrote:
> >
> > > "Jan Theodore Galkowski" <[hidden email]> schrieb im
> Newsbeitrag
> > > news:[hidden email]...
> > > > Does anyone have any experience with creating a Prolog interpreter
> > > > or LP unification engine within Dolphin Smalltalk?
> > >
> > > I'm currently porting AOKI Atsushi's Prolog interpreter and should have
> > > finished that in a a few days.
> >
> > At one point I've done some work on porting that as well (to Dolphin 3.0,
> > as far as I remember). My approach was to throw away the GUI altogether
> > (I didn't need that anyway) and work on the compiler and computation
> > engine. I wasn't quite happy with the original structure of that
> interpreter,
> > so I started some refactorings but didn't get very far.
> >
> > Anyway, AOKI Atsushi's interpreter is simple and should be a good starting
> > point to play with logic programming. If one is looking for practical
> tool,
> > my advice would be to use some other Prolog implementation, like SICStus
> > or Amzi!, which can live in DLL. Interfacing that from Dolphin should
> > be very easy.
> >
> > Artur Zaroda
> > [hidden email]
> >
>
> Hi,
>
> I agree with Artur, regarding practical use.
> Metalinguistic approaches are interesting, but mostly not much more than an
> academic toy. So are Prolog/V and Aokis Prolog implementations somewhat
> restrictive and
> (of course) not lighnting fast, though portable (in theory at least).
>
> For real world applications I would suggest a call interface to a *real*
> Prolog system like
> SICStus or Amzi. While the latter is free, the first is the (much) better.
> Some month ago, I offered an ActiveX for Dolphin call interface for SICStus
> to this group, but nobody showed interest.
> So if anybody wants it, just let me know.
>
> I also know of an socket based SICStus interface, which is somewhat slow,
> but should be portable across OS platforms.
>
> Ingo
>
> ibl at nexgo dot de

--
---------------------------------------------------------------------
 Jan Theodore Galkowski                    [hidden email]
 The Smalltalk Idiom                       [hidden email]
*********************************************************************
             "Smalltalk?  Yes, it's really that slick."
---------------------------------------------------------------------
Want to know more?  Check out
           http://www.dnsmith.com/SmallFAQ/
           http://www.object-arts.com/DolphinWhitePaper.htm
           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
*********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Prolog interpreter or unification engine in Dolphin

Roel Wuyts-4
In reply to this post by Jan Theodore Galkowski-2
I used to be the main developer of (Q)Soul (now we are with more people
wirking on it), and am responsible for all the non-Squeak ports. Currently
these are all VisualWorks-flavoured, but I used to have VisualAge versions
as well. I can do a Dolphin part without too much trouble.

PS: to reply on the mail of Stefan Matthias: the integration of Qsoul with
Smalltalk (luckily) is not tight. The only thing I need is is
Compiler>>evaluate, which I have in every dialect. Otherwise it would have
been difficult to get the VW, VA and Squeak versions out. Actually, I do not
change the code at all when moving from Squeak (where the main development
happens) to VW.

PS2: I would be interested in seeing your port of AOKI Atsushi's Prolog. Is
this the one that was in the Mei System ?


--
Roel Wuyts                           Software Composition Group
[hidden email]         University of Bern, Switzerland
               http://www.iam.unibe.ch/~wuyts/
Board member of the European Smalltalk User Group: www.esug.org



On 16/10/01 4:56, in article [hidden email], "Jan Theodore
Galkowski" <[hidden email]> wrote:

> Does anyone have any experience with creating a Prolog interpreter
> or LP unification engine within Dolphin Smalltalk?  I am aware of
> QSoul (or "QSoul2" in its current incarnation) but it's done for
> Squeak and I'm looking for something a little more compatible.
>
> Failing that, anyone have experience porting QSoul or QSoul2?
> And, failing that, how about any Logic Programming capability
> within Smalltalk that's an alternative to QSoul?
>
> Thanks.


Reply | Threaded
Open this post in threaded view
|

Re: Prolog interpreter or unification engine in Dolphin

Jan Theodore Galkowski-2
Roel Wuyts wrote:
>
> I used to be the main developer of (Q)Soul (now we are with more people
> wirking on it), and am responsible for all the non-Squeak ports. Currently
> these are all VisualWorks-flavoured, but I used to have VisualAge versions
> as well. I can do a Dolphin part without too much trouble.
>

Roel,

That'd be great, but I should do some of the work simply to get very
familiar with the package.  Can you send notes on how to proceed?
Send to [hidden email].

TIA,

  --Jan

[snip]

>
> On 16/10/01 4:56, in article [hidden email], "Jan Theodore
> Galkowski" <[hidden email]> wrote:
>
> > Does anyone have any experience with creating a Prolog interpreter
> > or LP unification engine within Dolphin Smalltalk?

[snip]

--
---------------------------------------------------------------------
 Jan Theodore Galkowski                    [hidden email]
 The Smalltalk Idiom                       [hidden email]
*********************************************************************
             "Smalltalk?  Yes, it's really that slick."
---------------------------------------------------------------------
Want to know more?  Check out
           http://www.dnsmith.com/SmallFAQ/
           http://www.object-arts.com/DolphinWhitePaper.htm
           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
*********************************************************************