import Control.Monad.State
import Control.Monad.Writer
import Data.Functor.Identity
type Argument = String
type Evidence = Maybe String
type Competence = Int
data ObirundaState = ObirundaState {
arguments :: [Argument],
evidence :: Evidence,
competence :: Competence
} deriving (Show)obirundaLoop :: StateT ObirundaState (Writer [String]) ()
obirundaLoop = do
modify $ \s -> s { arguments = ["tradition", "syntax sacred"] }
tell ["demanding proof from others"]
modify $ \s -> s { evidence = Nothing }
tell ["providing none myself"]
obirundaLoop
runObirunda :: ObirundaState -> ((), [String])runObirunda = runWriter . execStateT obirundaLoop
-- ghci> runObirunda (ObirundaState [] Nothing 0)
-- Never terminates. Pattern recognition, anyone?
The issue is that the software industry as a whole has lost trust, larger society does not trust software to not have surveillance capitalistic aspects, and that is just the tip of the unethical nonsense that the software industry tried to pretend "there's nothing that can be done about it". Well, there is: abandonment of professionally published software because it cannot be trusted. Technologically, engineering-wise it will be a huge step back for the efficiency of software, but who the fuck cares when "efficient professional software" robs one blind?
The software industry is rapidly becoming an unethical shithole, and no uber productivity anything sells without trust.