Skip to content

Latest commit

 

History

History
28 lines (18 loc) · 1.03 KB

DesignGoals.md

File metadata and controls

28 lines (18 loc) · 1.03 KB

Introduction

This document outlines the principles that drive the development of ChaiScript. ChaiScript does not intent to be the perfect tool for every situation, but it does intend to be a good general purpose tool for most situations.

Goals

  1. Trivially easy to integrate with C++ projects
  2. 0 external depenencies
  3. "Perfect" integration with C++
    • Direct mapping between ChaiScript objects and C++ objects
    • Direct mapping between ChaiScript functions and C++ functions
    • Direct mapping between ChaiScript exceptions and C++ exceptions
  4. Never surprise the C++ developer
    • Object lifetimes managed by the stack
    • Familiar syntax to C++ developers
  5. Perform "well enough" to not get in the way

Alternatives

Sol2

If you are looking for the fastest performing scripting language and don't mind Lua, you might want to consider sol2.

SWIG

If you are looking for the most flexible solution to be able to support multiple target languages, consider SWIG