Charles-Johnson / zia_programming

A language that can program itself
https://zia-lang.org
GNU General Public License v3.0
3 stars 0 forks source link

"is_concrete" concept #62

Open Charles-Johnson opened 2 years ago

Charles-Johnson commented 2 years ago

In order write more core functionality with Zia, "is_concrete" concept can be used to determine if a concept is concrete or not e.g. label_of is_concrete and a is_concrete -> false

This can help define rules in Zia such as

_x_ is_concrete => ((_y_ exists_such_that) _x_ -> _y_) -> false

which could prevent the need for a specialised fields inside the Concept type which will simplify serialisation for persistent storage of cpntext snapshot.

It shouldn't be possible to define a concept as concrete: let a is_concrete -> contradiction and let label_of is_concrete -> redundant.