problems getting the clips iOS download to start the interpreter
CLIPS crashes when global variable modified
Bypass allowed-values in RHS of Rule
This is caused by the difference between dynamic and static constraint checking. Dynamic constraint checking is off by default. Static constraint checking occurs when constructs or commands are parsed. Dynamic constraint checking occurs when a program is executing. Because you can override the put- handlers for a class, assigning literal values to instances does not trigger static constraint checking because the init or put- handlers for a class could change the value assigned to an instance during...
This is caused by the difference between dynamic and static constraint checking. Dynamic constraint checking is off by default. Static constraint checking occurs when constructs or commands are parsed. Dynamic constraint checking occurs when a program is executing. Because you can override the put- handlers for a class, assigning literal values to instances does not trigger static constraint checking because the init or put- handlers for an class could change the value assigned to an instance during...
defmodule defrule run does not initially println to stdout
FindInstance is NULL in UDF for instances with name
Fixed check into SVN repository.
64x 70x Fix for FindInstanceBug
64x Changed BLOCK_MEMORY back to default setting of 0.
64x 70x Flush function didn't work for stdout/stderr
Thank you, Gary
I checked in a fix to the sourceforge svn repository under the code tab. The existing implementation for random uses the C library function rand. The IDE runs CLIPS commands on a separate thread from the GUI and on windows the seed gets reset each time you create one. I replaced use of the rand library call with a splitmix64 algorithm that will produce the same result across platforms.
64x 70x Replaced rand function calls with cross platform splitmix64 algorithm.
Thank you Gary. I will backport this fix to my local copy.
CLIPS 6.42 fails to build for RUN_TIME=1
Fixed the issue and checking in a fix to the SourceForge svn repository.
64x Fixed DEFTEMPLATE_CONSTRUCT compile issue when other binary file features disabled.
63x 64x Restored BLOCK_MEMORY functionality
Hello. In CLIPSIDE.jar (random) function doesn't work, always return 41 number CLIPS (6.4.2 1/14/25) CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (seed 5555) CLIPS> (seed 5555) CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random) 41 CLIPS> (random 1 10) 2 CLIPS> (random 1 10) 2 CLIPS> (random 1 10) 2 CLIPS> (random 1 10) 2 CLIPS> (random 1 10) 2 CLIPS> In CLIPSJNI.jar (random) function...
CLIPS 6.42 fails to build for RUN_TIME=1
What I'd suggest doing is to create a module containing all of the deftemplates and defclasses that are part of your saved state. Import that module into MAIN and export everything from MAIN for your other modules to import. Declare deftemplates and defclasses locally in modules only for things that don't require persistence. This will allow you to more easily export all of the facts that are needed for the saved state. CLIPS 6.4 has bsave-facts/bload-facts functions. CLIPS 7.0, whenever I get that...
Message: Hello, I’m integrating CLIPS with a .NET application and have encountered an issue when trying to save and reload the environment state. When I use the original save-facts command, CLIPS doesn’t seem to take into account the module of each fact. As a result, when I later call load-facts, it throws errors because the facts are being loaded into the wrong (or default) module context. Initially, I tried using bsave and bload to persist the environment, but I ran into the error: “Cannot save...
Extend / function to allow a single parameter
Implemented in version 7.0
Extend the - function to accept a single argument
Implemented in version 7.0
70x Modified +, -, *, and / to behavior similarly to common LISP for 0 and 1 arguments.
FindInstance is NULL in UDF for instances with name
70x Added goal browser to Windows IDE
64x 70x Fixed NULL pointer reference issue in GetNextConstructItem calls. Not an issue in 63x.
70x Updates for goal browser and CLIPSJNI
70x macOS IDE: Added goal browser and changed naming of Agenda Browser to Focus Stack Browser.
Bypass allowed-values in RHS of Rule
63x Backported return value constraint bug fix to 6.3 branch
Segfault creating defrule matching on instance-name
Checked in a fix to the 64x svn repository.
64x 70 Fix for return value constraint crash (SourceForge Bug Ticket #19)
defmodule focus stack corruption
This was a misunderstanding on my part. This ticket can be closed
Segfault creating defrule matching on instance-name
64x Added Windows DLLs to library folder
I understand the usefulness of allowing rule redefinition when working interactively with the CLIPS CLI. However, when loading a file using the BatchStart function, it would be helpful to have a flag that causes execution to fail on rule redefinition. In this context, redefinition is often unintentional and may indicate that a rule name was accidentally reused. Thank you for your great work!
I missed fact-existp - that does what I need
Hello, I see that in v6.4 fact-relation was changed to generate errors when used with retracted facts. I want to check whether a fact-address in a slot has been retracted, and fact-relation seems like the best way to do that. Is there any problem with ignoring the error? I assume the retracted fact is still retained by the reference from the fact-address slot. Thank you
The source code is here: https://github.com/garydriley/FuzzyCLIPS64/tree/master On most systems, you can usually create an executable with one command. For unix, it's: Source % gcc -o fzclips *.c Source % ./fzclips FuzzyCLIPS (6.4 2/9/21) FuzzyCLIPS>
Hi, I require to add FuzzyCLIPS to CLIPS 6.4.2 for deffuzzy commands. It's so annoying there is no executable for this. Thanks so much!
70x table-columns and table-row-count functions, documentation updates
70x Support for global variables and function calls within deftables
CLIPS 6.42 Binaries for Nvidia Jetson
70x Replaced genstrncpy calls with genstrncat
70x macOS IDE updates
70x macOS IDE updates
70x macOS IDE updates
70x macOS GUI folder updates
Sometimes, entries don't show up in the agenda
Version 7 wishlist: IDE
Version 7 wishlist: Language
70x Removed gensprintf and gensnprintf functions.
642 Final CLIPSJNI Jars and Libraries
Provide find-indexed-fact function
Added a function called fact-index-to-fact to the 6.4.2 release.
Bug fixes and project updates for CLIPS 6.4.2 are available for download. New Functions and Commands: • str-byte-length • with-open-file • try • fact-index-to-fact Command and Function Changes • printout, print, and println - The symbols cr and lf and be used to print carriage returns and line feeds. • format – Updated to appropriately handle width and precison for UTF-8 multibyte characters. • External Text Manipulation – Removed the restriction on the maximum length for file and topic names.
Bug fixes and project updates for CLIPS 6.4.2 are available for download. New Functions and Commands: • str-byte-length • with-open-file • try • fact-index-to-fact Command and Function Changes • printout, print, and println - The symbols cr and lf and be used to print carriage returns and line feeds. • format – Updated to appropriately handle width and precison for UTF-8 multibyte characters. • External Text Manipulation – Removed the restriction on the maximum length for file and topic names.
CLIPS 6.4.2 Released
Extend the - function to accept a single argument
Extend / function to allow a single parameter
Add primitive type NULL
642 Documentation and iOS updates
64x Added comments to test case
64x Ubuntu updates
64x constructs-to-c updates
64x constructs-to-c update
64x construct-to-c updates
64x macOS CLIPSJNI compiler warnings updates
64x 70x Added fact-index-to-fact function.
64x 70x Added with-open-file function
64x Added try function
70x ND/CFD logic, try function, documentation updates
Thank you
CLIPS (6.4.1 4/8/23) CLIPS> (deftemplate line (slot id (default-dynamic (gensym*))) (slot parent (default none)) (multislot state)) CLIPS> (deftemplate solution (slot ready (default no)) (multislot steps)) CLIPS> (deffacts start (line (id start) (state M M M _ F F F))) CLIPS> (defrule move-male-to-lily (line (id ?id) (state $?b M _ $?e)) => (assert (line (parent ?id) (state ?b _ M ?e)))) CLIPS> (defrule move-male-jump-over-to-lily (line (id ?id) (state $?b M ?o _ $?e)) => (assert (line (parent ?id)...
Hello, I can't find solution of this puzzle using Clips. I have six frogs arranged on seven lily pads in a line: three male frogs facing right on the leftmost lily pads and three female frogs facing left on the rightmost lily pads. M M M _ F F F Rules: - Each lily pad can hold only one frog. - Frogs can only move in the direction they are facing. - Frogs can move forward to an empty lily pad or jump over one frog to the empty lily pad on the other side. How can I switch the positions of the frogs...