<Background coming.>
 
Extended CSame letter ...       New tricks. Really.
 
 

This website hosts information on extensions to the C language, including our own variant: object-oriented c.

07/30/05



Quick update: the linear-search registry problem (the problem of determining which object is calling which function in the shortest time possible) has been solved, and with a rather simplistic fix, too. There is no longer an object registry necessary, thanks to some inline assembler code. We will attempt to isolate it into its own file so we can ensure that one doesn't need a compiler capable of inline assembly in order to use Extended C. Furthermore, it may be possible to extend this fix to allow access of object internals as if they weren't attached to the object (i.e. within member functions, instead of typing some code such as:"this->count++" or assigning a local variable, you would additionally be able to type "count++")

A Preliminary FAQ is now available.

~Jtoxification



07/29/05

Source code is up! (as html, anyway. CVS, zip, and releases will soon succeed this.) Code site-map:

Something.xt.c---extc.h----phase1.h
             \
              \--phase2.h--phase5.h
                       \
                        \--hash.h
(phase5.h to be moved to extc.h)
(hash.h is just a temporary and ugly place-holder backend)

We are using old html templates for this page layout now, but the website will continue to progress along with everything else. We will provide much more information later. The #include lines in the source files are links ! I will make the links within the source files a bit more visible later on, after I confirm that one can copy and compile them from a browser. "We" are looking for more 'enthusiasts', (new, old, and previous) and expect to switch over to CVS after August 10th. Until then, check out the source code! (yes, a gz version will be available shortly, and as a linkable binary library + header- The main focus is ease of use -, as well as instructions (compile Something.xt.c for now.)) Remember, this syntax is still evolving; there will be many additions and changes - however all past, present, and future versions will be available, and we will also scour the net for similar works to link from this site (there are two great ones already, but the links page is not up yet.) The main concern is removing excess syntax, testing and modifying for use with fork, benchmarking various ADT implementations of the backend, separating the object database into one type per database, modifying the functions list structure into a union that sets and provides the correct function name on-demand, completing new() and delete(), creating an aesthetic syntax for constructors and destructors, finding a replacement for aliasing member-function names, researching various pragma directives on various compilers, typedefining unsigned long long to prevent breakage in VC and Borland, just to name a few. From this source, other derivative works can be made: in planning, I came across a technique to create a very-clean and useful foreach macro. Note:some of you may not like the idea (if you don't like it, then don't use it and don't condone it, but keep your comments above the waste, man!) and others may ask, "why don't you use C++'s extern C directive?" I'll have an F.A.Q. up to answer those questions shortly after August 10th.

~Jtoxification