What: TclRAL Where: http://tclral.sourceforge.net/ Description: Tcl Relational Algebra Library is a C based extension that introduces tuple and relation data types and a set of commands that operate on them. Currently at version 0.8.5 . Updated: 01/2008 Contact: See web site ---- See also [Transitive Closure]. See also [Relations as Stacks]. See also [Relations as Object Oriented Stacks]. See also [crosstab a la Relations]. '''The Third Manifesto''' website [http://www.thethirdmanifesto.com/] lists TclRAL as: : an implementation of the relational algebra concepts in TTM as an extension of the Tcl language. It does not attempt to mimic the syntax of Tutorial D, but does implement a complete set of relational operations in a manner that is adapted to the Tcl programming environment. Since many of the systems listed are described as not quite complete, TclRAL seems to do Very Good in an area of heavy duty computer science. ---- GAM 19 Nov 2007 In the spirit of full disclosure, I wrote the synopsis that is on the Third Manifesto web site. Mr. Darwen was kind enough to offer to put a link to the project on his web site after one of his associates brought it to his attention. He asked me to provide a synopsis which is what is found on the web site. ---- AM - 1 Oct 2006 I recently released Version 0.8 of TclRAL and thought that now was an appropriate time to make this page a bit more active for anyone that may be interested in the extension and wish to ask questions or post examples. Version 0.8 is a complete rewrite of the extension to improve the code base and lay in a more maintainable structure. The major new feature of 0.8 is referential integrity checking. My current vision for the future is (roughly): * Additional code rework and testing. * Adding a few new features. * Honing the command interfaces leading up to a 0.9 release. * At Version 0.9, freezing the command interface for longer term backward compatibility support. * Leading to a Version 1.0 release. I won't be so bold as to state a time frame for all of this, but as I use the extension myself I am as anxious to see it improve as anyone. ---- AM - 6 Feb 2007 Released Version 0.8.1. This version is script compatible with 0.8 and includes some new commands and command options. Most notable is the ability to trace relvars in much the same manner that one can trace ordinary Tcl variables. ---- GAM - 17 Jan 2008 Released Version 0.8.5. This is a small bug fix release to deal with a latent bug that was exposed by a small change in the semantics of Tcl 8.5. Small though the bug was, it did prevent serializing relvars when used with Tcl 8.5. [RZ] I had problems to compile tclral with native c-compilers on sun and sgi-irix. It is because of the use of unnamed structure/unions. Could you change this? With gcc there is no such problem. Have you tried compiling 0.8.5 with the Sun compiler? I did remove the anonymous union that was being used. Unfortunately, I don't have access to native Sun and SGI compilers. Please let me know or post a bug report if there is still a problem. [LV] I have tried this for you. The problem continues to exist because of this code: === typedef struct Ral_AttributeTypeScanFlags { Ral_AttrDataType attrType ; int nameFlags ; int nameLength ; /* Since attribute names appear several places, * we save the scan length result and reuse it*/ union { int simpleFlags ; struct { int count ; struct Ral_AttributeTypeScanFlags *flags ; } compoundFlags ; } ; } Ral_AttributeTypeScanFlags ; typedef struct Ral_AttributeValueScanFlags { Ral_AttrDataType attrType ; union { int simpleFlags ; struct { int count ; struct Ral_AttributeValueScanFlags *flags ; } compoundFlags ; } ; } Ral_AttributeValueScanFlags ; === The union in these two structures have no name. The current Sun compiler requires that any structure, union, or, I think, typedef must be named in some fashion. ---- See [Andrew Mangogna]. [Relation Transitive Closure] ---- !!!!!! %|[Category Package] |[Category Mathematics] |[Category Data Structure]|% !!!!!!