70x Added factorial example
70x Defmodule bsave initialization fix
Thank you, Gary
The linker handles references differently between files compiled as C and files compiled as C++. If you're using the make file that came with CLIPS, create the library using "make release_cpp". That will create the library using the g++ compiler. core % make . . . core % gcc -Wall -o main main.c -L. -lclips -lm core % g++ -Wall -o main main.c -L. -lclips -lm clang++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated] Undefined symbols for architecture...
Hello. I'm trying to compile my small program #include "./CLIPS/clips.h" int main() { Environment *env = CreateEnvironment(); Load(env, "hello.clp"); Reset(env); Run(env, -1); DestroyEnvironment(env); return 0; } $ ls CLIPS libclips.a main.c main.cpp hello.clp When I'm using gcc everything good gcc -Wall -o main main.c -L. -lclips -lm When I'm using g++ I get errors g++ -Wall -o main main.c -L. -lclips -lm /usr/bin/ld: /tmp/ccXICXAv.o: in function main': main.c:(.text+0xd): undefined reference toCreateEnvironment()'...
The build for CLIPS V7 looks good, the only real problem I ran into was a missing jni.h file. Which doesn't impact what I am doing, since I am focusing on generating forth code sequences based on rules and not using a java interface at this point. Haven't tried the new features yet but won't be there for a while. John S On Fri, Feb 27, 2026 at 1:30 PM John Sarabacha dcs-js@users.sourceforge.net wrote: Correction Visual Studio 2026 On Fri, Feb 27, 2026 at 1:23 PM John Sarabacha dcs-js@users.sourceforge.net...
Correction Visual Studio 2026 On Fri, Feb 27, 2026 at 1:23 PM John Sarabacha dcs-js@users.sourceforge.net wrote: A test build of CLIPS V7 using Visual Studio 2016 PS H:\Dev\ClipsV7-Build\windows\MVS\CLIPSDOS\Executables\Win32\Debug> ./CLIPSDOS32.exe CLIPS (Forge Alpha 11/12/25) CLIPS> (+ 3 4) 7 CLIPS> On Wed, Feb 25, 2026 at 1:40 PM John Sarabacha dcs-js@users.sourceforge.net wrote: Thank you On Wed, Feb 25, 2026 at 1:31 PM Gary Riley garyriley@users.sourceforge.net wrote: It's in the SVN repository...
A test build of CLIPS V7 using Visual Studio 2016 PS H:\Dev\ClipsV7-Build\windows\MVS\CLIPSDOS\Executables\Win32\Debug> ./CLIPSDOS32.exe CLIPS (Forge Alpha 11/12/25) CLIPS> (+ 3 4) 7 CLIPS> On Wed, Feb 25, 2026 at 1:40 PM John Sarabacha dcs-js@users.sourceforge.net wrote: Thank you On Wed, Feb 25, 2026 at 1:31 PM Gary Riley garyriley@users.sourceforge.net wrote: It's in the SVN repository for this project under the code tab: https://sourceforge.net/p/clipsrules/code/HEAD/tree/branches/70x/ Major...
Thank you On Wed, Feb 25, 2026 at 1:31 PM Gary Riley garyriley@users.sourceforge.net wrote: It's in the SVN repository for this project under the code tab: https://sourceforge.net/p/clipsrules/code/HEAD/tree/branches/70x/ Major version ? https://sourceforge.net/p/clipsrules/discussion/776945/thread/bc40209181/?limit=25#787d/a22a/85e7/d328 Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/clipsrules/discussion/776945/ To unsubscribe from further messages, please...
It's in the SVN repository for this project under the code tab: https://sourceforge.net/p/clipsrules/code/HEAD/tree/branches/70x/
Hi Gary, Can I also get a copy of the source to compile for an R&D project I am working on? Thanks John S On Wed, Feb 25, 2026 at 12:27 AM Gary Riley garyriley@users.sourceforge.net wrote: If you're willing to compile the exectuables yourself and deal with some incomplete documentation, you can consider it to be a beta release. There's enough new functionality that I'm working on a companion book for it when I eventually do release it. The automatic goal generation doesn't support backtracking like...
For your reference the project is GLANN dedicatedcomputer.ca On Wed, Feb 25, 2026 at 3:25 AM John Sarabacha jsarabacha@gmail.com wrote: Hi Gary, Can I also get a copy of the source to compile for an R&D project I am working on? Thanks John S On Wed, Feb 25, 2026 at 12:27 AM Gary Riley garyriley@users.sourceforge.net wrote: If you're willing to compile the exectuables yourself and deal with some incomplete documentation, you can consider it to be a beta release. There's enough new functionality that...
If you're willing to compile the exectuables yourself and deal with some incomplete documentation, you can consider it to be a beta release. There's enough new functionality that I'm working on a companion book for it when I eventually do release it. The automatic goal generation doesn't support backtracking like Prolog (which I last used 40 years ago),, so I'm still exploring what can be done with it. It's really quite useful for systems that need to ask questions,, but I want to fully explore other...
70x Fix for goal generation
1) There's already a function called clear-window that you can enter to clear the scrollback. 4) My vision changed in the last few years and I switched over to dark mode with apps that supported it. The macOS IDE supports dark mode. All it required was a recompile of the source code with the newer SDK and there was a single custom widget that needed to be swapped out with the appropriate system widget. I spent a week or so trying to get dark mode working with the Windows IDE. It was a nightmare with...
The new v7 features look amazing. Especially the backward chaining. I was about to start hacking on some native predicates for SWI Prolog to query CLIPS facts but deferring to built-in CLIPS functionality would be much better for my use cases. How usable is the v7 branch at the moment? Without pressure, do you have a timeline for the v7 release?
Hello, Since the feature request section doesn't get much traffic, it may be possible to miss entries present there. So, I'm creating this ticket as an fyi of 4 existing entries there, of which the following 2 are mine: https://sourceforge.net/p/clipsrules/feature-requests/11/ https://sourceforge.net/p/clipsrules/feature-requests/12/ Thanks
v7.0 Test case updates
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