Introspekci C++ umí. Akorát se tomu tam říká RTTI.
Co jsem pochopil, tak RTTI akorát umí dotaz "je tohle typu X"? (což zrovna haskell bez typeclassy neumí...) Nebo umí i něco typu "co je v téhle třídě", takže se to dá použít třeba na nějakou automatickou JSON serializaci? (já fakt nevím)
Kde se v praxi kromě typových tříd používají HKT?
V praxi všude, kde se vyskytují slova "Functor", "Applicative", "Monad" a další, myslím, že třeba "lens" to taky využívá dost. Teď nově to začali používat v některých SQL knihovnách, z čehož mám trošku smíšené pocity (přijde mi to trošku jako hack..ale zatím jsem to prakticky nezkusil). Způsob práce s HKT je pak přes typové třídy, protože to jinak moc nejde, takže moc nechápu tu otázku.
Zrovna v C++ jde tohle jednoduše pomocí konceptů
...což je poměrně nový "koncept" pravděpodobně inspirovaný typeclassama z haskellu..? (jestli to dobře chápu...)
Pojem "paramorfismus" použije tak akorát někdo, kdo si chce honit ego (žeby nějaký komplex?). Přitom jde o prachsprosté reduce.
Tak já to používám nikoliv proto, že bych měl matematický background, ale protože ten termín používali lidi v těch článcích, tak se držím názvosloví... akorát, že já si teda pod pojmem "praschsprostá redukce" nepředstavím funkci typu "(f a -> a) -> Fix f -> a". Ale možná že 90% programátorů jo, a ta idea, že tohle není úplně jednoduchý téma na pochopení je vlastně jenom moje vlastní neschopnost, přiznávám, že když jsem tu signature viděl poprvé, tak jsem vůbec nechápal, jak něco takovýho může fungovat....