Internetworking and Computer Algebra
Yttrium has always been an interdisciplinary fusion of several different concepts. After ideas from VLSI and VHDL, concepts from communication networks and Internetworking are coming along now, too: Yttrium signals carry "values" which are characterized by structures (classes derived from ValueStructure). Some structures support converting to other structures if required, but because Yttrium can be extended with arbitrary modules it is neither possible nor attractive to explicitly implement all possible direct conversion routines. Therefore, Yttrium executes (static) distance vector routing to automatically evaluate optimal conversion paths, and thus may still convert indirectly if no direct routines are available. Both lossless (e.g. from IntegerValue to RealValue or ComplexValue) and lossy (e.g. from RealValue to IntegerValue) routines and paths are supported, but are handled separately - lossless paths are preferred and lossy paths may be suppressed if required. Using this infrastructure, structures defined in external modules behave exactly like those of the included standard library and may be converted in both directions easily. As a matter of fact, modules may even provide additional (or replace existing) conversion routines between existing structures (as long as they're "better" than existing routines).