playground/python/cps.py

30 lines
650 B
Python

import math
def pow2(val, cont):
print(f"{val}*{val} = {val*val}")
return cont(val * val)
def add2(a, b, cont):
print(f"{a}*{b} = {a+b}")
return cont(a + b)
def sqrt(val, cont):
print(f"{val} = {math.sqrt(val)}")
return cont(math.sqrt(val))
def halt(val):
print(f"Halt! {val}")
#return val
def fn(x, y, cont):
pow2(x,
lambda x2:
pow2(y,
lambda y2: add2(x2,
y2,
lambda x2y2: sqrt(x2y2, cont)
)
)
)
#a = fn(3, 4, halt)
fn(3, 4, halt)
#print(a)