To differentiate programs we need a language that not only consists of mathematical terms. Firstly it needs variables implemented with "let"-expressions. Two different approaches are considered: A "let"-ADT or standard Scala variables with macros
Consider: Shadowing of variables when implementing "let" as ADT
To differentiate programs we need a language that not only consists of mathematical terms. Firstly it needs variables implemented with "let"-expressions. Two different approaches are considered: A "let"-ADT or standard Scala variables with macros
Consider: Shadowing of variables when implementing "let" as ADT