This is a slippery slope to baptismal logic gates
Turing complete baptisms
Priest: If you are not yet baptised, I baptise you in the name of the father, the son and the holy spirit. Else break.
Parents: *sweating nervously*…else what
I didn’t expect the FP inquisition.
Haskell mentioned λ 💪 λ 💪 λ 💪 λ 💪 λ
Half Life mentioned λ 💪 λ 💪 λ 💪 λ 💪 λ
That honestly seems like the best way to write
conditionalBaptize
but I still hate it. Probably because IRL you’d just rewrite baptism instead of retrofitting the function with a clever use ofid
.This is probably an ok use for a GADT. Something like:
{-# LANGUAGE DataKinds #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} data Bap = Baptized | Unbaptized data Person :: Bap -> * where Baptize :: Person Unbaptized -> Person Baptized NewPerson :: Person Unbaptized conditionalBaptize :: Person a -> Person Baptized conditionalBaptize p = case p of NewPerson -> Baptize p Baptize _ -> p main = return ()
Thank you for refactoring baptism. How do we push this to production now?
It looks pretty normal to me as a professional Haskeller, though I suppose it’s perhaps slightly cleaner to write it as
conditionalBaptize p = fromMaybe p $ baptize p
. It’s largely just a matter of taste and I’d accept either version when reviewing an MR.Edit: I just thought of another version that actually is far too clever and shouldn’t be used:
conditionalBaptize = ap fromMaybe baptize
, making use of the monad instance for->
. But yeah, don’t do this.
i need a therapist who will express life in haskell
Which denominations implement idempotent baptisms?
Excerpt from Learn You a Haskell for Great God!
I’m not religious but I thought baptism was always conditional on confirmation - not in writing or scripture but via a handshake agreement with the parents or some shit.
Sounds like Haskell needs an official Saint.
There’s an old joke about functional programming separating Church from state.
Haskell -> Maybe Language
How would this read try-catch-ing with the Mormon baptism for dead Jewish people ?