WIP: New Functors
DISCLAIMER
This is a proof of concept. It is a merge request only to start discussions.
Why new functors?
The main idea behind these new functors is to optimize them as much as possible by compiling them directly when defined (both in a header or in python configuration file).
What is possible with them?
It is basically possible to do any operation you want on them. All operators are overloaded (except ++
, --
and []
).
Composition is also supported with the function compose
.
What is done so far?
- C++ template core
- C++ type erased wrapper
- Functors are fully optimized (both inlining and type size)
- interface with root to compile on the fly
- interface with python
- simple examples
- documentation
- consider operator precedence for printing
What remains to be done?
- comments
- optimize the AST
- better error messages
Edited by Florian Lemaitre