module SPureBroken where import Data.Char import SecLib.LatticeLH import SecLib.Trustworthy -- Making instances that break the security lattice structure instance Less H L where less _ _ = () secret_char :: Sec H Char secret_char = return 'A' fhack :: Sec H Char -> Sec L Int fhack sec_c = do c <- up sec_c return $ ord c -- let's try to run our fhack function to see what happens! test = fhack secret_char `seq` True