Generic Programming is not only recommended because it reduces the amount of code needed to perform something, but it also makes the entire development process more efficient as well.
Clay uses LLVM to optimize generated code and produces very fast running code. Here are some key features of "Clay":
· Powerful compile time meta-programming
· Machine memory model
· Value semantics
· Whole program type propagation
· Extensible variant types
· Multiple dispatch
· Interoperability with C
· No garbage collection
· LLVM backend
· Module system
What's New in This Release:
· Clay now uses LLVM and Clang 3.1.
· floatBits() now works with Float80 values on FreeBSD x86-32.
· Single-precision variants of libc math functions are now supported on Win32.
· LLVM 3.1 fixes a codegen bug involving SIMD vector types.
· External functions now show up in compiler error message backtraces.
· nthValue() now correctly forwards the lvalue-ness of the selected value.
· The twohash module now compiles correctly.
· Spurious errors from the close() system call no longer cause an assertion failure when destroying File objects on Unix systems.