tweag/nickel

Opaque foreign values

Closed this issue · 1 comments

This is some kind of baby step towards FFI: allow for opaque foreign values to be injected into nickel and copied around, but not otherwise interacted with or modified from within nickel.

This was a request from the keystone project, with some discussion on the discord.

Question: what should be payload of the opaque foreign values be? u64 might be sufficient: that gives a lot of values, and the user could "embed" richer data by maintaining a lookup table on their side. Maybe Box<dyn Any> is also a possibility?

I would close this, given #1931 has been merged. Foreign value are still quite bare-bone, but if there is demand for missing features, I think they would be better handled by new, focused issues.