type-machine é uma biblioteca Haskell que utiliza Template Haskell para gerar tipos de registos e constraints que simulam subtipagem estrutural.
A função type_ combinada com os operadores <:> e <::> permite aplicar type-transformers inspirados em utilitários de TypeScript como pick, omit, record, intersection e apply.
As funções defineIs e deriveIs criam classes Is e instâncias para gerar getters, setters e funções de conversão entre tipos de registos.
Os type-transformers são compostos em TM, um WriterT sobre Q, e podem ser extendidos através da API para criar transformações de tipos personalizadas.
Em microbenchmarks, os registos nativos gerados por type-machine apresentam melhor desempenho de construção, travessia e compilação comparados às bibliotecas extensible e superrecord.
Get notified when new stories are published for "Hacker News 🇵🇹 Português"