Next: , Previous: , Up: Top   [Contents][Index]


2 Core Concepts

There isn’t much here yet. Maybe you can help?

TAME is a declarative programming language—it describes how a program ought to behave rather than explicitly telling a computer the steps needed to make it work (imperative). TAME is a calculator at heart, so code written in its language describes mathematical operations. Definitions fall primarily under two categories:

Classifications

Higher-order logic used to classify data and predicate calculations, controlling program flow.

Calculations

Mathematical operations motivated by linear algebra.

TAME also supports abstracting calculations into functions, which permits the use of recursion for solving problems that are difficult to fit into an algebraic model. The language is Turing-complete.

TAME itself is a domain-specific language (DSL)—it was designed for use in comparative insurance rating systems. However, it couldn’t possibly know all useful abstractions that may be needed in the future; the domain for which TAME was designed encompasses many subdomains as well. To accommodate future needs, TAME is also a metalanguage—a language that can be used to program itself. The core language is based upon broad mathematical foundations that offer great flexibility. Its expressive template system allows the creation of abstractions that are indistinguishable from core language features, and templates have powerful introspective capabilities that allow for many useful types of code generation. Essentially, TAME allows the creation of sub-DSLs.

Code is written in TAME without regard to order of execution—the linker will figure that out for you. This simplifies the development of systems with complex graphs of dependencies.

TODO: This chapter is a placeholder. More to come.


Next: , Previous: , Up: Top   [Contents][Index]