Network objects (was RE: deriving (...))

BTW, those typed returns on sockets that Shawn mentioned sounded interesting. IIRC Modula-3 also had some approach to worrying about data exchange between older and newer versions of the same program.
Modula-3 (actually the Network Objects library) used subtyping to handle this. Successive versions of an interface are declared as subtypes of the previous version, and the type system will resolve a network object binding to the appropriate version. Hard to see how this could be done in a purely functional setting. robin

"Garner, Robin"
BTW, those typed returns on sockets that Shawn mentioned sounded interesting. IIRC Modula-3 also had some approach to worrying about data exchange between older and newer versions of the same program.
Modula-3 (actually the Network Objects library) used subtyping to handle this. Successive versions of an interface are declared as subtypes of the previous version, and the type system will resolve a network object binding to the appropriate version.
Hard to see how this could be done in a purely functional setting.
I don't know any of the details of the Modula-3 solution, but maybe type classes could be pressed into realising something similar. Manuel
participants (2)
-
Garner, Robin
-
Manuel M T Chakravarty