[comp.object] Object Oriented Logic Programming

fargo@pawl.rpi.edu (Irwin M. Fargo) (10/01/89)

Over this last summer, I had the chance of learning both Prolog and Smalltalk.
This, of course, means that I was introduced to the concepts of object orient-
ed programming and logic programming.

Now, after hearing of a seminar on the subject, I am interested in object
oriented logic programming (OOLP).

If someone could send me or point me to any information on OOLP (specific ex-
amples such as OOLP languages) would be greatly appreciated.
   Thank you.

-- 
Thank you and happy hunting!             Actually: Ethan M. Young
  ____ [> SB <]    "Travel IS life"      Internet: fargo@pawl.rpi.edu
 /__   -=>??<=-       - Irwin M. Fargo   Bitnet (??): usergac0@rpitsmts.bitnet
/   ARGO : 3000 years of regression from the year 4990

kurtzman@pollux.usc.edu (Stephen Kurtzman) (10/01/89)

In article <1989Sep30.201033.25047@rpi.edu> fargo@pawl.rpi.edu (Irwin M. Fargo) writes:
>Over this last summer, I had the chance of learning both Prolog and Smalltalk.
>This, of course, means that I was introduced to the concepts of object orient-
>ed programming and logic programming.

>Now, after hearing of a seminar on the subject, I am interested in object
>oriented logic programming (OOLP).

>If someone could send me or point me to any information on OOLP (specific ex-
>amples such as OOLP languages) would be greatly appreciated.

Please post any information about this to the net. I'm also interested.

If you are interested in this subject from a database theory point of
view there was a relevant paper presented at the 1989 Sigmod Conference.
The title is "Object Identity as a Query Language Primitive", by Abiteboul
and Kanellakis. The paper presents an object-based data model and a
Prolog-like query language which is strongly typed and can be statically
type checked.
----
Stephen Kurtzman        |    "You might be the largest Elizabeth, but
kurtzman@pollux.usc.edu |     Elizabeth is still a good name to have if
                        |     you're a girl." -- the Roches

dog@cbnewsl.ATT.COM (edward.n.schiebel) (10/02/89)

From article <1989Sep30.201033.25047@rpi.edu>, by fargo@pawl.rpi.edu (Irwin M. Fargo):
> If someone could send me or point me to any information on OOLP (specific ex-
> amples such as OOLP languages) would be greatly appreciated.

Smalltalk/V from comes with Prolog/V, an object-oriented prolog within
the Smalltalk system.  I have just begun to look at it, so I cannot
tell you very much about it...just that it's there.

	Ed Schiebel
	AT&T Bell Laboratories
	dog@vilya.att.com

garym@ulysses.UUCP (Gary Murphy) (10/02/89)

Although I'm sure that Mr. Karam will make this comment soon or later,
you may want to look into the M-Log system being developed at
Carlton University.  This is a multi-tasking, object-oriented Prolog
intended as a prototyping tool for embedded concurrent systems.

If you want to pursue this, you can contact Gerald Karam at
sce!sce.carlton.ca!karam and ask for a copy of his M-Log paper.

-- 
     Gary Murphy - Cognos Incorporated - (613) 738-1338 x5537    
  3755 Riverside Dr - P.O. Box 9707 - Ottawa Ont - CANADA K1G 3N3
          e-mail: decvax!utzoo!dciem!nrcaer!cognos!garym         
  Cosmic Irreversibility: 1 pot T -> 1 pot P, 1 pot P /-> 1 pot T

steve@hubcap.clemson.edu ("Steve" Stevenson) (10/02/89)

From article <1989Sep30.201033.25047@rpi.edu>, by fargo@pawl.rpi.edu (Irwin M. Fargo):
> 
> If someone could send me or point me to any information on OOLP (specific ex-
> amples such as OOLP languages) would be greatly appreciated.
>    Thank you.

Check on comp.lang.prolog.  There's a running discussion (almost completed)
on this subject.

-- 
Steve (really "D. E.") Stevenson           steve@hubcap.clemson.edu
Department of Computer Science,            (803)656-5880.mabell
Clemson University, Clemson, SC 29634-1906

nabiel@sics.se (Nabiel Elshiewy) (10/03/89)

In article <1989Sep30.201033.25047@rpi.edu>, fargo@pawl.rpi.edu (Irwin M. Fargo) writes:
> 
> If someone could send me or point me to any information on OOLP (specific ex-
> amples such as OOLP languages) would be greatly appreciated.
>    Thank you.

You may look at Vulcan, an OOLP language based on Concurrent Logic programming.

	K.Kahn, E.Tribble, M.Miller and D.Bobrow: 
	Vulcan: Logical Concurrent Objects,
	In Research Directions in Object-Oriented Programming,
	edited by B.Shriver and Peter Wegner, MIT Press 1987.

	An earlier version appeared in OOPSLA 1, 1986.

If you are interested in OOLP based on Prolog, I may propose my own paper.

	N.A.Elshiewy:
	Modular and Communicating Objects in SICStus Prolog,
	In Proc. Int. Conf. on Fifth Generation Computer Systems 1988
	(FGCS'88), ICOT, Tokyo.

Have fun.
--nabiel

--
Nabiel A. Elshiewy
Swedish Institute of Computer Science SICS,
PO Box 1263, S-164 28 KISTA, Sweden.		Internet: nabiel@sics.se
Tel: +46 8 752 15 31	Ttx: 812 61 54 SICS S	Fax: +46 8 751 72 30

karam@sce.carleton.ca (Gerald Karam) (10/03/89)

In article <20233@usc.edu> kurtzman@pollux.usc.edu (Stephen Kurtzman) writes:
>In article <1989Sep30.201033.25047@rpi.edu> fargo@pawl.rpi.edu (Irwin M. Fargo) writes:
>>If someone could send me or point me to any information on OOLP (specific ex-
>>amples such as OOLP languages) would be greatly appreciated.
>
>Please post any information about this to the net. I'm also interested.

{ originally posted to comp.lang.prolog, comp.lang.ada, comp.lang.smalltalk,
  comp.parallel on may 18, 1989 }

Below is a brief description of the "MLog" programming language.  It is 
now available for purchase in either source or binary licence form.  If you 
want more information: (1) an e-mail version of a paper describing MLog is 
available on request, (2) unofficial e-mail versions of the source or binary 
licences are also available. Hardcopies of licencing agreements will be sent
be mail. Hardcopies of the paper will be send by mail if e-mail is not 
accessible to you.


For more information please contact:

e-mail:

	mlog-sales@sce.carleton.ca
	{uunet!mitel,watmath}!sce!mlog-sales

	(if you reply by e-mail please include a surface mail address
	 in case there are reply problems)

surface mail:

	MLog Sales
	Dept. of Systems and Computer Engineering
	Carleton University,
	Ottawa, Ontario, Canada
	K1S 5B6

fax:

	MLog Sales
	(613) 788-5727

phone:

	Gerald Karam
	(613) 788-5749  (east coast north america time zone)


What is MLog?

MLog  is  a multitasking, object-oriented  Prolog  for  which   a
popular application is prototyping embedded, concurrent  systems.  
MLog supports the object-oriented programming concepts of  active 
and passive objects, classes, meta-classes, inheritance, methods, 
message-passing,  and instance variables.  Objects represent  the 
encapsulation   of  procedures  (methods)  and   data   (instance 
variables).   Active   objects  are   large-grain   communicating 
sequential processes that are capable of autonomous behavior  and 
communicate  with each other using rendezvous.  Passive  objects, 
invoked  like  procedure  calls, are not  capable  of  autonomous 
behavior  and have no protection for mutual exclusion.  Execution 
in  MLog  is  based  on  the  top-down  resolution  mechanism  of 
conventional Prolog, where the OOPS methods, are actually  Prolog 
clauses,  and message-passing is a substitute for solving  goals.  
MLog's  implementation of the rendezvous leads to  a  declarative 
method   for   specifying  the  conditions   for   (interprocess) 
communications.  Declarative IPC greatly simplifies an  otherwise 
complex design activity.

MLog  features a   window-based  development environment that   is 
based on SunView. MLog classes interface  with SunView   functions
to allow windowing applications to be written entirely in MLog.

Standard prompters, Class Browser, and the Console are some of the
window applications that are bundled with MLog.  MLog may also  be 
run from a TTY device but cannot use any windowing facilities.


MLog Product Description?

MLog v1.2 for SUN OS Version 4.0 (Unix) requires:

     - SUN-3/xxx Workstation, preferably 3/60 with 8+ Mbytes
                              or better hardware platform
     - SUN Monochrome monitor required for Suntools operation
     - 1/4" cartridge tape drive (1/2" tape available on request)

MLog consists of an executable plus MLog system files (written in 
MLog). The MLog executable is available in binary or source ('C') 
forms.  An version of MLog for SUN OS 3.5 is also available (sites
that are running both 3.5 and 4.0 may get two executables).


PRICES

Commercial Binary Licence                         CDN$375; US$300

     One licence required per site
     No copying or resale

University Binary Licence - Canadian universities         CDN$100
                          - foreign universities           US$150

     One licence per site
     No copying or resale

Commercial Source Licence

     This  licence is intended for  non-university  organizations 
     who  wish  to augment or modify MLog for use  in  their  own 
     organizations  or  to use it as the basis  for  products  of 
     their own.

     One licence required per development site    CDN$875; US$700
     
     Royalties payable per target 
     machine for products developed 
     by the customer from MLog             subject to negotiation

University Source Licence - Canadian universities         CDN$200
                          - foreign universities           US$350

     One licence per site
     This  licence  allows copying or modification  for  internal 
     education and research purposes only.

All software is offered on an "as is" basis only, for purposes of 
evaluation.

peterson_s@apollo.HP.COM (Steve Peterson) (10/04/89)

I dont have any personal experience with MANDALA but an abstract for
the following paper desribes a programming environment that maps logic
programming onto an object-oriented programming paradigm.

Furukawa, K., Takeuchi, A., Kunifuji, S. Yasukawa, H., Ohki, M. and
Ueda, K. (1984). 'MANDALA: A logic based knowledge programming system'
Proceedings of the International Conference on Fifth Generation 
Computer Systems, 613-622
                         
Stephen Peterson
ARPA: peterson_s@apollo.hp.com
UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!peterson_s
USPS: Apollo Computer, 220 Mill Rd.,MS: CHM 01 SS, Chelmsford MA. 01824

parlmain@doc.ic.ac.uk (Parlog Maintenance) (10/10/89)

Dear All,
  Back in April, I completed a survey paper entitled :

  Design Issues for LP-based OOP languages

It attempts to look at nearly all the present languages in
terms of 7 design issues. A further classification is done
by grouping the languages into 4 implementation 'views'.
  If anybody wants a copy, can they send their requests to :

      The Secretary,
      The Parlog Group,
      Dept. of Computing,
      Imperial College,
      London SW7
      England.

While on the subject, I've just finished my thesis which is
about the language 'Polka', which combines OOP and Parlog (a
concurrent LP language). The combination is quite different
from the Vulcan approach, mentioned in an earlier message.

                     Andrew Davison
                     ad@doc.ic.ac.uk