Git Product home page Git Product logo

Comments (4)

noxdafox avatar noxdafox commented on August 20, 2024

This is something I was investigating already a bit in the past. Issue is type hints are not supported in Python 2 and maintaining two different code bases would be quite a difficult task.

Only solution would be to drop Python 2 support which I intend to do anyways as its support from the community ends next year.

This is indeed what's happening in the bindings for the version 6.40. You can check its development branch. The code base looks promising and all tests are already passing. I still need to update the documentation and have a general revision. I will release clipspy 6.40 once its counterpart in C is declared stable by the author.

Right now the goal is to simplify the building process (I already added a Makefile) especially on Linux and I am playing with the idea of supporting different CLIPS distribution like my customisations and FuzzyCLIPS as the APIs should be compatible.

from clipspy.

gitttt avatar gitttt commented on August 20, 2024

Good news! Happy to hear all this.

from clipspy.

noxdafox avatar noxdafox commented on August 20, 2024

CLIPSPy 6.40 is ready. I will release it once CLIPS 6.40 is released officially.

You might want to give it a try as the new APIs solve several issues you have been facing with the 6.30 ones.

The new APIs allow to programmatically create instances at once, modify already made ones (same thing for facts) and other things such as calling CLIPS functions without the need to use eval.

defclass = """
(defclass MyClass (is-a USER)
  (slot One)
  (slot Two))
"""

env.build(defclass)

defclass = env.find_class("MyClass")
instance = defclass.make_instance("MyInstance", One=1, Two=2)
fact = env.assert_string('(foo bar baz)')
instance.modify_slots(One=fact)

multifield = env.call('create$', 1, 2.0, "three", clips.Symbol("four"), clips.InstanceName("five"))

from clipspy.

noxdafox avatar noxdafox commented on August 20, 2024

clipspy 1.0.0 now supports type hints.

from clipspy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.