Philosophy

Loki - The Freedom to Choose.

  • In Norse mythology, the god Loki was known as "the Provider of Strange Gifts". The other Norse gods liked Loki because he would give them useful tools and gifts which allowed them to do what they wanted to do - but only better.

  • Loki delivers ready to use library functions.

  • Loki users only have to pay for the features they want. Each and every of Loki's components can be used in isolation from the others.

  • "Small is beautiful" - Loki's internal dependencies are small.

  • "Multiplicative is splendid." - Loki's particular focus is on obtaining multiplicative behaviors (i.e., fine-grained, specialized designs), by combining small, abstract bits of behavior (policies).

  • Loki focus on strategy not tactics. Design, not bits. Architectural components, not the kitchen sink.

  • As Loki is a library of designs and not the design of a library, it should make minimum assumptions about its environment and provide appropriate hooks wherever some default decision is chosen.

  • Loki doesn't cater for lesser compilers. Loki aims at writing readable code within the realm of standard C++.

  • The components ideally are small, easy to understand and use correctly, useful either in isolation or together, and of high impact in projects.