Dans l'ensemble purescript-free
, il est un exemple de code définissant cet interprète:Définition d'un interprète pour la monade sans
teletypeN :: forall eff. NaturalTransformation TeletypeF (Eff (console :: CONSOLE | eff))
teletypeN (PutStrLn s a) = const a <$> log s
teletypeN (GetLine k) = pure (k "fake input")
Comment puis-je définir et exécuter un autre interprète où le type de retour est Array Int
ou State String Int
?
Comment écrivez-vous un interprète qui compte le nombre d'éléments? 'pure 0' ne peut être exprimée pour aucun' a'. – z1naOK9nu8iY5A
Interprétez en utilisant 'Writer (Sum Int)'. –
Merci. Je pense que vous voulez dire 'Writer (Additive Int)'. – z1naOK9nu8iY5A