Constraints
These are the ground rules for designing this library:
- This library should be generally interoperable with well-known ML tools, at
least:
- Numpy
- PyTorch/TensorFlow/Jax
- This library should in concept be simple to understand to a beginner to the field (or at least to someone with intermediate software engineering knowledge, even if the implementation is complex.
- This library should expose an opinionated implementation for creating neurosymbolic programs but be open to extension or modification.
- Every public interface must be documented in a way that makes its purpose and function clear to someone who has never used the library before.
- The high-level interface for using the library matters more than the low-level
implementation detail.
- We should have ease of use similar to Hugging Face’s libraries.
- Practically speaking, a bored high-schooler should be able to use this library with minimal assistance.