let average =
reduce z, a in ages from 0 {
yield z + a;
};
[x] List Comprehension Support
let ages =
for p in people {
yield p.age;
};
[x] RibByteCodeCursor for Jump loops
[x] Math operations
[x] Type inference parts of all of the above. As reviewers may see, it's consistent with the existing approach for rest of the expressions which validates the approach.
[x] Remove Clone from interpreter stack values (a derived outcome, yet a good outcome)
[x] Remove duplicate types between golem-rib and golem-worker-service-base (Ex: RibInputValue). Now we have only 1 single type which is RibInput across the project which acts as the global inputs to a rib script
[x] Make rib_interpreter module , stack values etc private to golem_rib, and only expose RibInput (which is just a wrapper over HashMap of global inputs) to other modules. i.e, golem-worker-service has lesser visibility to golem-rib details with this PR.
Fixes #910 and #909
[x]
RibByteCodeCursor
for Jump loops[x] Math operations
[x] Type inference parts of all of the above. As reviewers may see, it's consistent with the existing approach for rest of the expressions which validates the approach.
[x] Remove
Clone
from interpreter stack values (a derived outcome, yet a good outcome)[x] Remove duplicate types between golem-rib and golem-worker-service-base (Ex:
RibInputValue
). Now we have only 1 single type which isRibInput
across the project which acts as the global inputs to a rib script[x] Make
rib_interpreter
module ,stack values
etc private to golem_rib, and only exposeRibInput
(which is just a wrapper over HashMap of global inputs) to other modules. i.e, golem-worker-service has lesser visibility to golem-rib details with this PR.[x] Other needed clean ups
A ticket for this week based on my own review: https://github.com/golemcloud/golem/issues/1035