Add support for function materialization.
- Add `select_function` to `Platform` and implement it for `GenericCpu` - Add `SelectFunctions` AST pass Squashed commit of the following: commit e6b3aa856d2471b645f39d20673eb5259f7b1e1c Author: Frederik Hennig <frederik.hennig@fau.de> Date: Wed Mar 27 17:15:55 2024 +0100 add select_function stub to GenericGpu commit 679428f053d6bfd3a5ba4d1d1ff6c903577e9ed3 Author: Frederik Hennig <frederik.hennig@fau.de> Date: Wed Mar 27 17:14:16 2024 +0100 Remove IntrinsicsError in favor of MaterializaitonError. Move the latter to `backend.exceptions`. commit 1a01cfde2f39b3394935c2a313312097d4cf66e0 Merge: d73d24c 0e4677de Author: Frederik Hennig <frederik.hennig@fau.de> Date: Wed Mar 27 17:07:31 2024 +0100 Merge branch 'backend-rework' into b_function_mat commit d73d24cf038950f2129e717a43dd09df11d725c0 Author: Frederik Hennig <frederik.hennig@fau.de> Date: Tue Mar 26 18:19:08 2024 +0100 introduce SelectFunctions and select_function protocol commit 671f0578a39e452504243019dab28d93f0114082 Author: Frederik Hennig <frederik.hennig@fau.de> Date: Tue Mar 26 16:39:43 2024 +0100 Fix documentation for Typifier and PsExpression commit 3ec258517ad8a510118265184b5dc7805128dcd3 Author: Frederik Hennig <frederik.hennig@fau.de> Date: Mon Mar 25 17:14:21 2024 +0100 Typing refactor: - Annotate all expressions with types - Refactor Typifier for cleaner information flow and better readability - Have iteration space and transformers typify newly created AST nodes