3 ms·
Except where first-class modules are used, the application of a functor to a module happens at at (or before) compile-time. You can have a fully resolved type b
by sparkie 6y ago
Except where first-class modules are used, the application of a functor to a module happens at at (or before) compile-time. You can have a fully resolved type before runtime, but which can still be abstract at design time. They can be seen as a zero-cost abstraction.
Modules are structurally typed, so the more typical sub-typing behavior expected from mainstream OOP languages is not applicable to them.