Evet, bunlar :
{-#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))
Evet, ( HHOS ) şakası olduklarını biliyorum . Ben basit hack değeri ve son, ama en az değil, "Bu XYZ ifade etmek için deyimsel yoludur" diyerek wiki eklemek için gerçek bir dünya örneği arıyorum. Ben olacak ki, çözüm ile gelip başarısız olması bu konuda bir ödül koydu. Eğer ne oldukları hakkında tamamen kaybolursanız, Edward reddit hakkında kısa bir açıklama yaptı .
Uygun Cevaplar:
en azından uzaktan ve teorik olarak hesaplamalı olarak faydalı bir şey yapın. Yani azalan cevaplar
id
dışarıda.şemanın tüm özelliklerini kullanın, id, const veya eşdeğeri dahil değildir.
basit, vanilya kıvrımı veya benzeri
product
bir şeyle eşit derecede iyi ifade edilemez, bu yüzden sadece dolambaçlı bir şekilde uygulamayın .
Bonus puanları:
Bilinen sorun veya algoritma
sırasıyla ifade edilen, alışılmadık bir şekilde kazanılan
netlik ve / veya performans
ve / veya hack değeri
ve / veya lulz, kabaca bu sırayla,
üst düzey cevaplar (yay demokrasisi)
Lütfen Edward'ın aşağıdaki cevabına da dikkat edin . Kullandığınız ZHPM uygulaması seçiminizdir.
a
herhangi bir şey olabilir, bu nedenle giriş verilerinizin bir değerlendirmesine dayalı olarak füzeleri stratejik olarak başlatan bir IO değeri oluşturmaktan çekinmeyin.
IO
Yığına dahil olsaydın, SimonPJ'nin ünlülaunchMissles
işlevini kullanabilirdik. Ama sanırım tüm bu saf-saf soyut saçmalıkların bütün mesele, bu tür şeylerin olasılığından kaçınmaktır.