Tak, these ones:rzeczywistych aplikacjach z zygohistomorphic prepromorphisms
{-#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))
Tak, wiem, że jesteś (HHOS) żart. Szukam prawdziwego przykładu na prostą wartość hackowania i na koniec dodam do wiki: "To jest idiomatyczny sposób wyrażania XYZ". I będzie umieścić nagrodę w tej sprawie, jeśli nie uda Ci się wymyślić rozwiązanie. Jeśli całkowicie zapominasz o tym, co robią, Edward opublikował short explanation na Reddit.
Uprawnieni Odpowiedzi należy:
coś zrobić przynajmniej teoretycznie obliczeniowo zdalnie i użyteczne. Oznacza to, że odpowiedzi, które ograniczają się do
id
są obecnie niedostępne.używać wszystkich funkcji schematu, nie przekazując id, const lub równoważnego.
nie równie dobrze można wyrazić za pomocą prostego fałdu waniliowego lub podobnego, więc nie wykonuj po prostu
product
w meandrujący sposób.
punkty będą się na:
Dobrze znanym problemem lub algorytmu
rozwiązane odpowiednio wyrażone w niezwykły sposób zyskuje
jasności i/lub wydajność
i/Lub siekać wartość
i/lub lulz, w przybliżeniu takiej kolejności, jak również
wysokich rangą odpowiedzi (yay demokracja)
Należy również pamiętać Edward's answer poniżej. Jaką implementację ZHPM używasz, to twój wybór.
Gdybyś umieścił 'IO' w swoim stosie, moglibyśmy użyć znanej funkcji SimonPJ' launchMissles'. Ale myślę, że najważniejszym punktem tego super-czystego abstrakcyjnego nonsensu jest uniknięcie możliwości takich rzeczy. – Yitz
Cóż, 'a' może być wszystkim, więc możesz swobodnie budować wartość zamówienia, która strategicznie uruchamia pociski w oparciu o ocenę danych wejściowych. – barsoap
Kliknąłem na to pytanie, ponieważ nie miałem pojęcia, o czym do cholery mówisz. +1 dobry sir, +1 – Drew