Hydra's Name and FieldName types are currently newtypes which wrap string. The fact that they are newtypes rather than type aliases adds complication to the codebase (particularly in Java) for little gain. Literally any string is valid as a type name, element name, field name, type variable, or term variable, though domain-specific encodings may impose their own constraints. Furthermore, the roles of Name and FieldName are more interchangeable now than they were when Hydra Core was first written. Let's just turn them both into a single typedef, Name.
Hydra's
Name
andFieldName
types are currently newtypes which wrapstring
. The fact that they are newtypes rather than type aliases adds complication to the codebase (particularly in Java) for little gain. Literally any string is valid as a type name, element name, field name, type variable, or term variable, though domain-specific encodings may impose their own constraints. Furthermore, the roles ofName
andFieldName
are more interchangeable now than they were when Hydra Core was first written. Let's just turn them both into a single typedef,Name
.