Comment by lilyball
3 years ago
Is it? My takeaway is "oh cool, first-class types". Experimenting with this, I can write the following:
let ConfigOf : Type -> Type = \(type : Type) ->
{- What happens if you add another field here? -}
{ home : type
, privateKey : type
, publicKey : type
}
let Config : Type = ConfigOf Text
and the rest of the example still works and evaluates the same.
Also in a later example it has the expression `generate 10 Config buildUser`, which also works because of first-class types. Instead of needing generics, you just take a type as a regular parameter.
No comments yet
Contribute on Hacker News ↗