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

Stricter rule consistency #63

Open Charles-Johnson opened 2 years ago

Charles-Johnson commented 2 years ago

Currently the interpreter reduces expressions based on the most specific rule that applies to the expression. It does not stop rules that are generalisations of existing rules from contradicting one another or vice versa.

e.g.

let not true -> false let not false -> true let _x_ > _y_ -> not _y_ > _x_ let 1 > 0

then 0 > 1 evaluates as false

but intrepeter stills allows let 0 > 1 without an error.

This maked the rules previously defined not the general case, allowing loads of exceptions to the rule. It also makes any let command have to completely invalidate the cache

Charles-Johnson commented 5 months ago

This is blocked by #69