Birçok şablon dili, bir şablonu diğerinin içine sarmak için bir çeşit kontrolün tersine çevrilmesine izin veren "yuvalar" veya "verim" ifadelerine sahiptir. Açısal "kopyalama" seçeneği vardır . Raylar verim beyanına sahiptir . React.js'de verim bildirimi olsaydı şöyle olurdu: var Wrapper = React.createClass({ render: function() { return ( <div className="wrapper"> before <yield/> …
F # 'da, boru ileri operatörünün |>kullanımı oldukça yaygındır. Ancak Haskell'de şimdiye kadar yalnızca işlev bileşiminin (.)kullanıldığını gördüm . İlişkili olduklarını anlıyorum , ancak Haskell'de boru ilerletmenin kullanılmamasının bir dil nedeni var mı yoksa başka bir şey mi?
Her ikisi de amaçları açısından oldukça farklı, ancak aynı yöntem imzasına sahip iki arabirimim varsa, hem arabirime hizmet eden tek bir yöntem yazmaya hem de yöntemde bazı kıvrımlı mantık yazmaya zorlanmadan bir sınıfı nasıl uygulayabilirim? Çağrının hangi tür nesne için yapıldığını kontrol eden ve uygun kodu çağıran uygulama? C # …
Kompozisyon altında uygulama işlevlerinin kapalı olduğu ancak monadların kapalı olduğu iyi bilinmektedir. Bununla birlikte, monadların her zaman beste yapmadığını gösteren somut bir karşı örnek bulmakta zorlanıyorum. Bu cevap , [String -> a]monad olmayan bir örnek olarak verir . Bir süre onunla oynadıktan sonra, sezgisel olarak inanıyorum, ancak bu cevap, gerçekten …
Bu bir yere geldi ama bunun nasıl çalıştığını bilmek istiyorum kodu: findIndices :: (a -> Bool) -> [a] -> [Int] findIndices _ [] = [] findIndices pred xs = map fst (filter (pred . snd) (zip [0..] xs)) Çıktı: findIndices (== 0) [1,2,0,3,0] == [2,4] ; burada pred (== 0) …