Motivations for Boa Motivations for Boa Consistent access to data on different devices and formats is something that filesystems do well but programming languages do poorly.
Data sharing is a major obstacle to language embedding.
Dynamic name resolution offers a solution, since variable references produce function calls which can resolve the value in arbitrary ways. Many dynamic languages offer dynamic name resolution, but in limited forms, and in a way specific to that language. Boa provides an infrastructure and set of primitives for constructing arbitrary name resolution mechanisms. This makes it useful for consistent data access, language embedding, and decomposing large programs. Consistent data access Boa emerged from a desire for consistent, efficient, and flexible access to data.