roc-lang / rbt

Roc Build Tool
Universal Permissive License v1.0
49 stars 5 forks source link

make Roc API stuff opaque #44

Closed BrianHicks closed 2 years ago

BrianHicks commented 2 years ago

Right now we have to do things like:

Rbt = [Rbt { default: Job }]

but it would be better to make that opaque and a non-union type:

Rbt := { default : Job }

Problem is, glue can not see through module boundaries right now so making that change in Package-Config.roc would mean that the API in Rbt.roc could not construct values!

Once glue can see through module boundaries, this should be trivial to fix (and should simplify the generated glue code a lot!)

BrianHicks commented 2 years ago

this was done in #56