Coding 2024-11-30
I did not have the best of luck understanding System F vs COCHIS vs OCaml, so I'm just going to take some quick notes and get to bed.
The COCHIS formalism presents things in terms of "deriving an implicit value (of some type) from some type", while OCaml's modular implicits were more like "deriving an implicit module (conforming to some signature) from some type". My gut feeling is that this won't produce any major issues to adapting COCHIS, but I could be wrong.
Also, I think I finally managed to translate the problematic Scala code into an OCaml-style system, and the resulting code is deeply un-idiomatic, but also I'm pretty sure it gets disallowed by aspects of COCHIS that were more chosen for ease of implementation than to guarantee stability. So, ultimately, that's good for now, because I don't think I have an objection to that part of COCHIS.
Back to the difference between deriving types and modules, that does mean that I think it should be possible to have an implicit function where there's an essentially arbitrary relationship between input types and output types, but for one thing, I could be wrong, and for another thing, I guess that would be of limited use, but maybe I'm missing something.
Anyway, it's late, and I should have wound down a while ago, but I'll settle for winding down now.
Good night.