Production Artificial Intelligence Technology

Welcome to Sign in | Join | Help
in
Home Blogs Forums Bots Docs Photos Downloads

ProAI Weblog

What's going on in ProAI

  • Clips .Net Integration

    Fair warning, the current integration into the .net framework is shaky at best.  I have no collision detection on the Hashtable used for External Addressing to and from clips.  This causes a really nasty problem if you pass value types to clips.  I am working on the problem but there doesn't seem to be a straight forward solution.

    I am making progress on the clips dom module and the .net object importer, but it looks like I am going to have to solve my collision problem sooner rather than later since value types are used in a lot of classes.  Also Generics are going to be even more problematic.  My current solution is to ignore them entirely.

    I am getting a lot more testing and fixes done now that I am actively using clips in my own projects.  I have corrected the PPForm and to String methods of the DefClass and Activation class.  I added helper functions to pass a value to the DataObject so you can now use: engine.CreateDataObject(<data>) to create the DataObject and set it value and type with one function call instead of 3.

  • New Beta

    I have just released a new beta of the Clips .Net Api.  I have enhanced User Defined function, Added Multifield support, and DataObject interaction now works as it should.  If you choose to download it, I highly recommend taking a look at ProAi.Clips.TestSuite.UserDefinedFunctionTest.cs.  This file contains commented test cases on how to utilize the recent additions.  Although this is only a maintance release, if you are using user defined function, this is a major advancement.  I really appreciate those of you that are helping me test and enhance the Api; I thing it could really become a very valuable tool, but it is not quite there yet (but it is getting there).  I really hope this helps.  Hang in there, and let me know your problems, I really do listen.
  • Two Steps forward One step back

    Still making steady progress,  I am doing pretty through testing on the new changes.  I was doing my final testing and I found a problem on the multifield that I have to go back and fix so I won't have a version out until later today or tomorrow.

    What should be included is user defined functions support of unknown return type with no restriction checking.

    DataObject support for: String,Symbol,Integer,Long,Float,Decimal,Fact,Instance, Multifield, .Net Objects.

    Multifield support for: String,Symbol,Integer,Long,Float,Decimal,Fact,Instance, Multifield, .Net Objects.

    At Current the DataObject works perfectly but the multifield only supports: String,Symbol,Integer,Long,Float,Decimal. 

    I wanted to include the ,.Net - Cool Object interface but there is just too much work to do to implement and test this weekend.   But by and large things are still on schedule. 

     

     

  • Making Progress

    Pulled an all nighter last night.   I now have User Defined function working so that you can call multiple functions and don't have to deal with the function stack at all.  I wrote several documented  test cases so it will be easy to see how everything works.  Input  parameters and return values c now be correctly read from the DataObject. Multifield datatypes are also functioning correctly.   I still have a bit of work to do to get full .net binding working but things are going much smoother now and I expect to have another release out this weekend. 

  • Clips .Net interface

    I am now working on connecting clips COOL (Clips Object Oriented Language) to the .net object model.  It will use a new clas called  "ClipsClassBuilder".  It will take a Type object and build a clips class of the same name and add slots for all the public members.  It will also create classes for the base types and all interface interfaces implemented by the class.  Any class that does not have a base type will inherit from the clips class "USER".

    It is not finished, I still have to implement facets, instance binding, and method invocations, but right now if you try to build a System.Xml.XmlDocument it would create the following clips classes:

    (defclass System.Object "System.Object, mscorlib, Version=2.0.0.0, Culture=neutr
    al, PublicKeyToken=b77a5c561934e089" (is-a  USER) (role concrete) (pattern-match
     reactive))
    (defclass System.ICloneable "System.ICloneable, mscorlib, Version=2.0.0.0, Cultu
    re=neutral, PublicKeyToken=b77a5c561934e089" (is-a  USER) (role abstract) (patte
    rn-match non-reactive))
    (defclass System.Collections.IEnumerable "System.Collections.IEnumerable, mscorl
    ib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" (is-a  US
    ER) (role abstract) (pattern-match non-reactive))
    (defclass System.Xml.XPath.IXPathNavigable "System.Xml.XPath.IXPathNavigable, Sy
    stem.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" (is
    -a  USER) (role abstract) (pattern-match non-reactive))
    (defclass System.Xml.XmlNode "System.Xml.XmlNode, System.Xml, Version=2.0.0.0, C
    ulture=neutral, PublicKeyToken=b77a5c561934e089" (is-a  System.Object System.ICl
    oneable System.Collections.IEnumerable System.Xml.XPath.IXPathNavigable) (role a
    bstract) (pattern-match non-reactive)(slot Name )(slot Value )(slot NodeType )(s
    lot ParentNode )(slot ChildNodes )(slot PreviousSibling )(slot NextSibling )(slo
    t Attributes )(slot OwnerDocument )(slot FirstChild )(slot LastChild )(slot HasC
    hildNodes )(slot NamespaceURI )(slot Prefix )(slot LocalName )(slot IsReadOnly )
    (slot InnerText )(slot OuterXml )(slot InnerXml )(slot SchemaInfo )(slot BaseURI
     ))
    (defclass System.Xml.XmlDocument "System.Xml.XmlDocument, System.Xml, Version=2.
    0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" (is-a  System.Xml.XmlNo
    de System.ICloneable System.Collections.IEnumerable System.Xml.XPath.IXPathNavig
    able) (role concrete) (pattern-match reactive)(slot NodeType )(slot ParentNode )
    (slot DocumentType )(slot Implementation )(slot Name )(slot LocalName )(slot Doc
    umentElement )(slot OwnerDocument )(slot Schemas )(slot XmlResolver )(slot NameT
    able )(slot PreserveWhitespace )(slot IsReadOnly )(slot InnerXml )(slot SchemaIn
    fo )(slot BaseURI ))

  • Getting back to work

    I am after vacation and a few other unforseen delays, I am back to work on getting this site up and the frame work completed.

     For you clips users, I am also back working on open issues and features.

  • Welcome to Community Server Blogs!

    A weblog (blog) is an online journal you can use to share thoughts, ideas, gripes, project status, or anything else you want. Blogs allow you to be a contributor rather than just a bystander.

    Postings are arranged chronologically and can be categorized depending upon how the administrator has configured the system. You can view a post by clicking on the title from the home page where all users' posts are collectively shown. Once viewing a blog you can read other posts by that person or provide comments on postings.

    Creating new posts is quick and easy. If you have the ability to post you should see a link (usually on the left) on your weblog's home page: new post. Clicking on this link takes you into your blogs administration pages for creating new posts.

    If you don't have the ability to post, contact the site administrator and ask for your own blog.

    Happy Blogging!

Powered by Community Server, by Telligent Systems