Stephen Leake’s Ada Library, AKA SAL

On my daily “what’s happening in the Ada world” rounds, I stumbled over Stephen Leake’s Ada Library at the Ada reddit.

SAL is a…

…collection of stuff I’ve found useful in my projects. A large part of SAL provides a coherent set of generic abstract data types, intended to be yet another entry in the “Standard Ada Library” discussion. My goal in this part of SAL was to provide Ada packages that take full advantage of the flexibility and power of Ada generics, while at the same time making things relatively easy for the casual user. See here for more on my design philosophy. Another large part of SAL provides math operations for kinematics and dynamics of masses in 3 dimensional space. Cartesian vectors, quaternions, orthonormal rotation matrices, moments of inertia, forces, acceleration, velocity are supported, in 3 and 6 degrees of freedom (translation and rotation). I’ve used this library for both robotics and satellite simulation.

I’m going to be honest with you, and admit that I’ve no idea what half of those things are, but I do know how to download stuff, so I grabbed the source code to get a feel for it, and let me tell you; it is packed. There’s a lot more in the source package than mentioned on the SAL website.

Finally I’d like to point out that there’s other Ada goodies to be found at

Stephen’s place is a regular goldmine.