Skip to content

The Binary instance for TypeRep smells a bit expensive

In particular, get uses getSomeTypeRep. getSomeTypeRep, in turn, calls typeRepKind through its recursion. But typeRepKind is itself recursive, fully inspecting the spine of its argument. That smells quadratic to me. The solution, I believe, is to change the type of getSomeTypeRep to BinHandle -> IO (SomeTypeRep, SomeTypeRep).

Edited by David Feuer
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information