Re: mutable object model

Carlo Capelli <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <CABty9wxCWFHQE-pO4bxyDhq7zM+TrYRnV8yWr=E2vPh+qr1u0w@mail.gmail.com>
wow, I cannot wait...

I'm on track to release pqGraphviz, mainly exploiting prolog_xref goodies.
Graphviz has some support for maps, I'll try to integrate them.

bye Carlo


2013/11/13 Jan Wielemaker <[email protected]>

> Torbjörn, Alan,
>
> You may be interesting to hear that the next major release of
> SWI-Prolog will provide `maps' as primary citizens that are
> supported throughout the system (parsing, writing, efficient
> low-level operations).  YAP is likely to copy these features.
> Just hold on ...
>
>         Cheers --- Jan
>
> On 11/12/2013 11:31 PM, Torbjörn Lager wrote:
> > Hi Alan,
> >
> > It may not be exactly what you need, but I have from time to time
> > considered somthing similar to what you describe. Unfortunately, I'm
> > far to occupied with the next version of Pengines to attempt an
> > implementation. I share my ideas with you and with others on the list
> > in the hope that it will feed into further discussions.
> >
> > My suggestion for a syntax, both for an immutable "record type" and
> > for a mutable "dictionary type" would be something like this:
> >
> > {a: {b: 1},
> >  c: [ {d: 2}, {d:3}],
> >  e: foo,
> >  f: [4, 5, 6],
> >  g: @true
> > )
> >
> > Note that:
> > 1) This syntax is prolog readable
> > 2) If ground, it *very* easily and naturally translates into JSON -
> > just transform it into SWI-Prolog's JSON terms
> > 3) A path language able to pick out any value can easily be defined
> > 4) A graph unification operation can be defined that allows us to
> > unify two immutable and "open" records
> > 5) Assignment operation can be defined that allow us to update any
> > instance of a mutable dictionary
> > 6) One could probably define a predicate able to turn any immutable
> > record into a mutable dictionary
> > 7) One could probably define a predicate able to turn any mutable
> > dictionary into a immutable record
> >
> > Oz/Mozart (http://mozart.github.io/) has such things. They are
> > referred to as records and dictionaries, and I have therefore used
> > this terminology.
> >
> > I would love to have something like this.
> >
> > I have no ideas for an *efficient* implementation at this point. :-(
> >
> > Best regards,
> > Torbjörn
> >
> >
> > On Tue, Nov 12, 2013 at 7:51 PM, Alan Baljeu <[email protected]>
> wrote:
> >> What would people suggest I use for a mutable object model in Prolog?
>  Some specifics:
> >>
> >> An open model is preferred, like is implicit in XML and JSON specs.
> >> Simple XPath type queries are desired.  Select speed is paramount.
> >>
> >> Data is public.  There are no methods as such.
> >>
> >> Usually member variables would be treated logically: Initially unbound,
> then later bound.
> >>
> >> At times selected variables will be reset to unbound.
> >> Variables can share an object.
> >>
> >> Usually objects are made by instantiating classes.
> >>
> >> Standard serialization such as XML or JSON is desirable to communicate
> with other systems.
> >>
> >> I don't expect everything above to be ready-provided.  I'm looking for
> whatever might
> >> be an efficient and simple foundation and I'll code the rest.
> >>
> >> Alan Baljeu
> >> -------------- next part --------------
> >> HTML attachment scrubbed and removed
> >> _______________________________________________
> >> SWI-Prolog mailing list
> >> [email protected]
> >> https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
> >
> >
> >
> _______________________________________________
> SWI-Prolog mailing list
> [email protected]
> https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
>
-------------- next part --------------
HTML attachment scrubbed and removed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.