rise-lang / shine

The Shine compiler for the RISE language
https://rise-lang.org
MIT License
73 stars 8 forks source link

Integrated Rise and DPIA type and kinding systems #199

Closed michel-steuwer closed 3 years ago

michel-steuwer commented 3 years ago

This PR removed the DataType and Kinds from DPIA and uses the equivalent types from Rise.

michel-steuwer commented 3 years ago

@Bastacyclop Thanks for the review. I have addressed your comments.

I think that it would be good to document the difference between FragmentKind.Identifier and FragmentIdentifier, both names look like synonyms to me. Maybe with a small comment on FragmentKind.Identifier explaining that it is a wrapper. Or maybe it could be named more appropriately (AnyIdentifier.Fragment?).

I have renamed the nested *Kind.Identifier classes to *Kind.IDWrapper to clarify their use. I think we might be able to revisit this design when we move to Scala 3 and can use a union type to describe all possible variations of identifiers instead of these wrappers.