Oui, celles-ci:
{-#LANGUAGE TypeOperators, RankNTypes #-}
import Control.Morphism.Zygo
import Control.Morphism.Prepro
import Control.Morphism.Histo
import Control.Functor.Algebra
import Control.Functor.Extras
import Control.Functor.Fix
import Control.Comonad.Cofree
zygohistomorphic_prepromorphism
:: Functor f
=> Algebra f b
-> GAlgebra f (ZygoT (Cofree f) b) a
-> (f :~> f)
-> FixF f
-> a
zygohistomorphic_prepromorphism f
= g_prepro (distZygoT (liftAlgebra f) (distHisto id))
Oui, je sais qu'ils sont un (HHOS) blague. Je suis à la recherche d'un exemple réel de simple hack valeur et le dernier, mais pas moins, pour l'ajouter au wiki en disant: "C'est la idiomatiques façon d'exprimer XYZ". Je vais mettre une prime sur ce si vous ne parvenez pas à trouver une solution. Si vous êtes complètement perdu sur ce qu'ils désignent, Edward posté une courte explication sur reddit.
Admissibles les Réponses doivent:
faire quelque chose au moins, à distance et en théorie de calcul utile. C'est, répond que de réduire à l'
id
sont sortis.utiliser toutes les fonctionnalités de l'opération, il n'en passant de l'id ou le const, ou l'équivalent.
pas tout aussi bien être exprimable par un simple, de la vanille pli ou tel, donc, ne se contente pas de mettre en oeuvre
product
dans les méandres.
Points Bonus seront attribués à:
Problème bien connu ou de l'algorithme
résolu, respectivement exprimé, d'une manière inhabituelle, que les gains
la clarté et/ou de la performance
et/ou hack valeur
et/ou lulz, à peu près dans cet ordre, ainsi que
de haut rang réponses (bravo la démocratie)
Veuillez également noter Edward réponse ci-dessous. Ce ZHPM mise en œuvre que vous utilisez est votre choix.