3 ms·
I don't see why different languages would matter. It's a matter of abstracting things from one system and having that abstracted set function in a different one
by wrongc0ntinent 13y ago
I don't see why different languages would matter. It's a matter of abstracting things from one system and having that abstracted set function in a different one. edit: To clarify, yes, the set would remain intact and functional in both systems.
- williamcotton 13y agoI've been thinking about this for the last few hours... and regardless of the language used, I think I'm finding the point of confusion! isomorphic: modules that have the same abstract interface and functionality but that are written in different languages and executed in different runtimes monomorphic: modules that have the same abstract interface and functionality and that are written in the same language and have the same runtime heteromorphic: modules that have the same abstract interface and functionality and that are written in the same language but run in different runtimes homomorphic: modules that have the same abstract interface and functionality but that are written in different langauges that run on the same runtime See, the thing is... languages are compiled to runtimes, right? But they are transpiled to other languages... There surface area of this discussion is very interesting and seems to have some interesting properties, and if you don't mind the math pun, it is truly a complex issue! As for how to actually name these different things, I don't think I really mind... maybe isomorphic and monomorphic swap in the above definition... I've been reading some latin and greek roots to try and give them good names, but I'd love some suggestions! For example, a function written in Scala that functions the same as a function written in JRuby and compiled to the JVM would be an example of a "homomorphism". And a function written in JavaScript that is compiled to run in both node and the web browser is an example of "heteromorphism". A function written in JavaScript that is compiled to run in the Ruby runtime is an example of "isomorphism". Monomorphic would just be sort of like an identity property. Also, I have no idea what I'm going on about, so please help me fix the language! Maybe isomorphic IS the correct term for what is going on in the article, who knows? :)