Skip to content
Alexander G. Pronchenkov edited this page May 16, 2024 · 3 revisions

image

Arolla

Arolla is a library that allows engineers to create and manipulate custom expressions, such as computational graphs, symbolic expressions, or Abstract Syntax Trees (ASTs). These expressions can be composed, explored and modified in an interactive Python-powered environment, such as Google Colab, and then easily loaded in C++.

The library includes an evaluation engine and a rich set of operators to support the computational applications.

TODO

  • An article about AType and AValue
    • Why do we need AType (i.e. our type system)? E.g. why we cannot use the static class defined in C++? why do we have to define a separate AType for such C++ class?
    • What is AValue in Python vs C++?
  • An article on how to define a new type (with customization for Python)
  • Glossary article for lambda operator
  • Glossary article for backend/builtin/annotation operator
  • Glossary article for arolla.abc.CompiledExpr
  • Glossary article for type inference
  • Glossary article for type constraints
  • Glossary article for derived types
  • Glossary article for expr compilation
  • Glossary article for expr evaluation
  • Glossary article for expr evaluation inputs
  • Glossary article for dynamic eval
  • Glossary article for codegen
  • Derived AType
  • ...
Clone this wiki locally