Trad4 3.2 / 3.3 Beta 01

Trad4 - parallelise your problems
Trad4 is a fully concurrent, thread safe programming language that scales linearly on multiple cores. The project is initially intended for deployment in the financial industry to model real-time risk.

Trad4 comprises of a library and a pre-processor. You specify your objects using a simple syntax and run the pre-processor. Trad4 produces a handful of C files for each object, including a stub file - the calculate method. This gets called each time the object needs to fire, and you need to supply the logic for. Trad4 pulls all the information that object needs to calculate itself into the scope of this function.

These source files are then compiled and together with are linked into an executable. This then starts against a database.

Change is then fed into the system, and trad4 manages that change up through your graph and keeps the tree up to date in real time.


Why use trad4?

It's very easy to use. To build a trad4 application to model your problem you need just a good understanding of your problem and knowledge of a small subset of the C programming language.

It's very fast. As you decompose your problem into separate objects, this allows multiple threads to execute different parts of your problem at the same time, so a trad4 application scales linearly on multiple cores. Trad4 itself has very little overhead - there are very few instructions between an object needing to be run and it's calculate function being called.

It's very efficient. As you break your problem out into separate objects, you can arrange your graph in such a way that each individual calculation gets done only once within the application. Other objects that depend on the result of that calculation will read the result from that object.

It's very safe. While trad4 provides full concurrency, it is entirely lock-free. This means you never have to worry about obscure race conditions or deadlocks.

Trad4 is released under the LGPL. This is the same licence gcc & glibc use, and it allows you to link trad4 to a proprietary system and release that proprietary system under any licence you choose.

last updated on:
April 11th, 2011, 7:45 GMT
developed by:
Steve Evans
license type:
LGPL (GNU Lesser General Public License) 
ROOT \ Programming \ Compilers
Download Button

In a hurry? Add it to your Download Basket!

user rating



Rate it!
What's New in version 3.2
  • Support for 3rd party libraries has been added.
  • Inheritance of interface now allows for inherited type specialization.
  • Abstract, concrete, and (where applicable) inheritance graphs are now generated for you in .dot file format.
  • Featured in this release are a pair of concurrent digital signal processing apps: additive_synth and its inverse fourier_transform.
read full changelog

Add your review!