Re:Kind: A Modern Proof Language
by NieDzejkob on Thursday August 12, 2021 @09:44AM
(#28156257)
Does the 700 LoC core include a termination checker? If I understood your other comments correctly, that's planned for later, no? If so, I don't think this is a very apples-to-apples comparison.
> Keep in mind that cubical type theories are somewhat complex (in sheer amount of code),
And in computational efficiency, no? I think making an efficient implementation of a cubical type theory is still an ongoing effort.
Re:Kind: A Modern Proof Language
by LangMakers on Wednesday August 11, 2021 @11:11AM
(#28142964)
Yep, there is that, too. You lose the ability to erase types when compiling, so you must have a representation of types at runtime, and you need to pattern-match on them. That inefficiency won't show up in normal programs, though, but if, for some reason, your program depends on a program that depends on a program (...) that uses Paths and `transp`, then you'll have to pay. This is kind of unavoidable and not that bad, though. We're more worried about the complexity of the built-in `transp` that must be part of Core. Currently, our core has only two computational primitives: beta-reduction and dereference. These are orders of magnitude simpler than `transp`, which looks extremely artificial. I'm very confident there are simpler primitives that would allow `transp` to be derived.
> I suspect you will never be able to!
That makes no sense! In the worst case we could just go ahead and implement CubicalTT on Kind's Core. We just don't want to commit to that until we're sure there isn't a way to simplify it, even if slightly.