Re:Free-types: Higher kinded types in TypeScript
by ivxvm on Friday June 09, 2023 @04:03AM
(#36254757)
Not really possible, because Record and Map aren't compatible at all.
At best they both have something like `toString`.
You'll need to define at least something like RecordFunctor<T> and MapFunctor<T> to make this useful.
Re:Free-types: Higher kinded types in TypeScript
by mbwgh on Friday June 09, 2023 @04:10AM
(#36254800)
Only if you want to abstract over them at usage-site.
In my case I only ever used the concrete types and converted between them at some point.
With a library like this, this is probably possible (unless I've missed something which wouldn't surprise me). It would unfortunately surely be more verbose.
Still, I would be against pulling in a dependency only for something like this. The above example is simple I believe, but not exactly a "killer-app". And no, Monads aren't either (if you don't limit effects and don't have do-notation) :P