forsyde / forsyde-atom

A shallow-embedded DSL for modeling cyber-physical systems
https://forsyde.github.io/forsyde-atom/
BSD 3-Clause "New" or "Revised" License
3 stars 2 forks source link

Merge dev-untracked except the attempts to cover SDF #6

Closed ugeorge closed 8 years ago

ugeorge commented 8 years ago

The attempts to cover untimed MoCs with the same atoms as timed ones proved to be a failure due to the fact that type families in Haskell are non-injective, and the untimed function arguments (FSVec) contain an additional type variable.

Although atom formalism should still be valid, and atom patterns are still the same for all MoCs, the chosen host language forces us to rely on naming conventions masked with module inclusion tricks (i.e. two different classes for timed/untimed atoms with the same method names), and not on the more powerful concept of type polymorphism.