Vâng, những cái này :
{-#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))
Vâng, tôi biết rằng họ là một trò đùa ( HHOS ). Tôi đang tìm một ví dụ trong thế giới thực cho giá trị hack đơn giản và cuối cùng, nhưng không kém phần quan trọng, để thêm nó vào wiki nói rằng "Đây là cách thành ngữ để thể hiện XYZ". Tôi sẽ đặt tiền thưởng cho việc này nếu bạn không đưa ra giải pháp. Nếu bạn hoàn toàn lạc lối về những gì họ đang nói, Edward đã đăng một lời giải thích ngắn trên reddit.
Câu trả lời đủ điều kiện phải:
làm một cái gì đó ít nhất từ xa và lý thuyết tính toán hữu ích. Đó là, câu trả lời mà giảm
id
ra.sử dụng tất cả các tính năng của lược đồ, không chuyển qua id, hoặc const hoặc tương đương.
không thể biểu hiện rõ bằng một nếp gấp đơn giản như vậy, vì vậy đừng đơn thuần thực hiện
product
theo cách uốn khúc.
Điểm thưởng sẽ được trao cho:
Vấn đề hay thuật toán nổi tiếng
giải quyết, tương ứng được thể hiện, theo một cách bất thường mà đạt được
sự rõ ràng và / hoặc hiệu suất
và / hoặc giá trị hack
và / hoặc lulz, theo thứ tự đó, cũng như
câu trả lời cao cấp (dân chủ yay)
Xin lưu ý câu trả lời của Edward bên dưới. Những gì ZHPM thực hiện bạn sử dụng là sự lựa chọn của bạn.
a
có thể là bất cứ điều gì, vì vậy hãy thoải mái xây dựng một giá trị IO có thể phóng tên lửa một cách chiến lược dựa trên đánh giá dữ liệu đầu vào của bạn.
IO
trong ngăn xếp của mình, chúng tôi có thể đã sử dụnglaunchMissles
chức năng nổi tiếng của SimonPJ . Nhưng tôi đoán toàn bộ quan điểm của tất cả những điều vô nghĩa trừu tượng siêu thuần túy này là để tránh khả năng xảy ra những điều như vậy.