LUMIERA.clone/src
Ichthyostega b46e21e24d Invocation: investigate ways to introduce a parameter-functor
While the handling of invocation parameters is now integrated in the node processing,
there is still a gap to close in the Node Builder, which is tricky due to the way
the parameter-functor is now integrated deeply into the setup of the `FeedManifold`;
so the `PortBuilder` is tasked now with implanting a `FeedPrototype` -- which must be
adapted to a ''specific parameter-functor,'' which is only supplied optionally,
as a further build step.

At first this seemed to present a pattern very similar to a ''State Monad'' — and thus
I investigated if encapsulating the build of the prototype into such a State Monad would
simplify the structure of the builder — yet once again, Monads turned out as ''Anti Pattern''
rather: we'd had to ad an extra component, which is superficially generic
but without any tangible relation to patterns of the real world, it would be
rather technical (using lots of composed lambda primitives, which will be condensed
into a single builder function by the compiler / optimiser. But worse still,
this highly complicated setup does not actually solve the problem with N x M
typed contexts — implying that it ''is not actually an abstraction,'' rather just
pretends to be generic.

The benefit of this lengthy design exercise is to understand better the situation
in the builder, which amounts to building up mixed typed context with several
degrees of freedom. It is better to accept this reality and keep it in  plain sight,
i.e. let the builder be explicitly typed from end to end and do not try
to package parts of this selection process behind a virtualisation.
2024-12-26 18:03:08 +01:00
..
common Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
include Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
lib Invocation: simplify and unify type decision logic 2024-12-18 20:50:33 +01:00
lumiera Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
plugin
stage Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
steam Invocation: investigate ways to introduce a parameter-functor 2024-12-26 18:03:08 +01:00
tool Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
vault Library: simplify state-core wrapper parameters 2024-11-26 23:22:46 +01:00
.gitignore
DIR_INFO update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
doxygen.dox Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
SConscript Global-Layer-Renaming: fix handling of GuiResources in the build 2018-11-16 18:18:33 +01:00