From 37e52bff39a1fe4d442cb253773252030c1cab8a Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 12 Mar 2020 14:23:01 +0100 Subject: Basic expression parsing --- src/complex.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/complex.hs (limited to 'src/complex.hs') diff --git a/src/complex.hs b/src/complex.hs new file mode 100644 index 0000000..220fe1f --- /dev/null +++ b/src/complex.hs @@ -0,0 +1,17 @@ +module Complex where + +type Imaginary = Float + +data Complex = Complex Float Imaginary + +-- instance Num Complex where +-- (Complex r1 i1) + (Complex r2 i2) = Complex (r1 + r2) (i1 + i2) +-- (Complex r1 i1) * (Complex r2 i2) = undefined +-- negate (Complex r1 i1) = undefined +-- abs (Complex r1 i1) = undefined +-- signum (Complex r1 i1) = undefined + -- fromInteger r = Complex r 0 + +instance Show Complex where + show (Complex r i) = show r ++ showI ++ "i" + where showI = if i < 0 then " - " ++ show (-i) else " + " ++ show i -- cgit