instance == BCShare where (==) a b = a.sdsi == b.sdsi
//Start = toMessages (OnInterval 500) $ toRealByteCode (unMain bc) zero
-Start = fst $ toReadableByteCode (unMain $ bc) zero
-//Start = fst $ toReadableByteCode (unMain $ blink LED1) zero
-//Start = let (bcs, st) = toReadableByteCode (unMain bc) zero
-// in (bcs, st.sdss)
+Start = [fst $ toReadableByteCode (unMain $ p0) zero
+ ,'Text'.concat $ compile p0
+ ]
where
-// bc = {main = ledOn (lit LED1)}
-// bc = sds \x=5 In
-// sds \y=4 In
-// {main = If (y ==. lit 0) (pub x) (x =. x *. y :. y =. y -. lit 1)}
+ p0 :: (Main (a Int Expr)) | assign a & arith a & sds a
+ p0 = sds \x = 6 In {main = x =. x *. lit 7}
+
bc = {main =
IF (analogRead A0 >. lit 50)
( digitalWrite D0 (lit True) )