module Fields where
data Point = P {x,y::Int} | Q {z::Int}
origin = P { x=0, y=0 }
h = P {x=1,y=1}
v = origin {y=1}
u = P {}
sq x = x*x
dist1 p = sq (x p) + sq (y p)
dist2 P{x=x,y=y} = sq x+sq y
--data Z = Z {z::Int}
data Thread s = T { name::String, status::s}
data Running = Running
data Runanble = Runnable (IO())
makeRunning t = t{status=Running}