Wednesday, April 11, 2007

Jari: small new things

While the low level under the heavy development stage, I'm returned to the compiler and some software. But about it by the way ...
C compiler:
We're developing the new C dialect, eC - stands for extended C.
No, it doesn't mean the next C++ or something else. Our dialect targeted to functional programming. I will extend the C macros, add the lambda functionality, and optimize all works with the types.
Also eC compiler will have a mechanism that will checks the works with pointers and variables to avoid the double malloc/free, it will be like an option.
Backing to C, it will backward compatible i.e. you will be able to compile C sources with eC compiler.
About this and other new features I will blog separately some later.
We will include the several memory allocation models, we will provide the standart alloc() and free(), but with it we're can offer the wrappers and callbacks to make the internal memory allocator simply and faster. You will be able to create struct mem_alloc_t and use it with your own way, with the libc/libec standart functions/politics or assign your function that preffered for your application. Also the libs will have several new functions for allocating memory - rt_alloc(), local_alloc(), ext_alloc(), func_alloc(), there functions will provide the more flexible parallel programming issues.
In addition, libs will be extended for string operating functions, the libec will have the standart high customizable parser.
Core utils will includes tools for parallel task management, via this tools you can get ran processes via your cluster by the your custom way, run nonlocal architecture binaries on the needed node and other features.

See for next blog messages, I will give here more examples and will describe all things written above.