forsyde / forsyde-shallow

ForSyDe's Haskell-embedded Domain Specific Language
https://forsyde.github.io/forsyde-shallow/
BSD 3-Clause "New" or "Revised" License
12 stars 10 forks source link

Using tuples in SDF behavior instead of currying #12

Open ricardobonna opened 6 years ago

ricardobonna commented 6 years ago

In CSDF, we are using [(c, p, f)] for the actors' behavior and for SADF we are using Signal (c, p, f). Perhaps it would be interesting to define SDF actors' behavior with (c, p, f) instead of c -> p -> f? I don't know if this change would decrease performance, but it would definitely increase consistency between the three MoCs.

ugeorge commented 6 years ago

Based on the discussion with @ingo-sander we need to further study this issue, so treating it is postponed for later.

Meanwhile we can study alternative solutions, including yielding curried functions in CSDF.

ugeorge commented 6 years ago

After giving it a long thought, I came to the conclusion that as it is right now the user API is ideal and should stay that way. This means:

So, if everyone agrees, I will close the issue for now as "invalid". I am keeping it until tomorrow if anyone has any objections.

P.S.: coherency among MoCs is not an issue for the Shallow library, as it is a pragmatic library itself and user experience is dominant. However, we can fiddle with these concepts more in the Atom framework, as I already started.

ugeorge commented 5 years ago

The issue has been brought up again in the context of multiple API-breaking changes in 4.0.0. We now discuss if this is worth being one of them.