Change
Jump to navigation
Jump to search
Change is a substitution based programming language and can be translated to lambda calculus
Some Things
Text
Use " to make text
"hello" "some text"
Use ' (if you want) to make letter
'a' 'b' 'this is also valid' "s" "o is the previous one"
Substitutions
text(a)(b) replace all a's in text with b
"hello"('e')('o') #hollo "text"("ex")("xe") #txet
Vars
vars are for simplification like how vars are used in some lambda calculuses
a = "hi" b = "hello" c = "hi world"("hi")("hello") #hello world c #hello world
Funcs
also a simplification
sToEs a: return a('s')('es') sToEs("potatos") #potatoes
Lambda Calculus
i said it could be translated to lambda calculus, so this is how
Example
id = λx.x id x #x
that is a lambda abstraction for the identity function heres it in change
id a: return a id "x" #x
How To Do
take all inputs of the function
λxy.yx
which is x, y put them in a function
func x y: ...
then insert the code for it
func x y: return y(x)
done
Another Way?
You can use all of the substitution stuff to do it:
Before
id = λx.x id y #y
After
same = "x" id x: return same("x")(x) id "y" #y