(.) Haskell kompozisyon '#; vs F s boru ileri operatörü (|>) | Netgez.com
SORU
21 EYLÜL 2009, PAZARTESİ


(.) Haskell kompozisyon '#; vs F s boru ileri operatörü (|>)

F boru-ileri operatörü, |>,*, kullanımı oldukça yaygındır. Ancak, Haskell, sadece hiç fonksiyon bileşimi, (.), kullanıldığını gördüm. related ama boru-ileri Haskell içinde kullanılmayan dil bir nedeni var mı yoksa başka bir şey mi? onlar bunu anlıyorum

CEVAP
22 EYLÜL 2009, Salı


F# (|>) Sol-Sağ typechecking nedeniyle önemlidir. Örneğin:

List.map (fun x -> x.Value) xs

genelde olmaz typecheck, çünkü bile bu tür xs bilinen türü değişkeni x lambda değil bilinen zaman typechecker görür, öyle değil mi olduğunu çözmek için nasıl x.Value.

Buna karşılık

xs |> List.map (fun x -> x.Value)

xs tipi x türü edecek çünkü iyi çalışacak bilinen varlık.

Sol-Sağ typechecking ad çözümlemesi x.Value gibi yapıları nedeniyle gereklidir. Simon Peyton Jones adı benzer bir tür ekleme proposal çözünürlük Haskell için yazmıştır, ama yerel kısıtlamaları bir türü, belirli bir operasyon desteği olup olmadığını, bunun yerine izlemek için kullanmayı öneriyor. İlk örnek x Value bir tesisin ihtiyacı olan gereksinimi xs görüldüğü kadar ileriye taşınacak ve bu gereksinim çözülebilirdi. Bu tür bir sistem komplike gerçi.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Autocar

    Autocar

    11 Mart 2006
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • Gigawipf

    Gigawipf

    18 ÅžUBAT 2010