Eff-Language ile ilgili okumalar, zaten kullanımda olan benzer fikirlerin olup olmadığını merak ettim. Eff-Language, Eff'in efektleri çıkarmak için kullandığı algoritmayı açıklayan "Cebirsel Efektleri Bulma" adlı bir kağıttan bahseder. Benzerlikler var mı?Eff-monad purescript'te www.eff-lang.org'dan esinlenilmiş mi?
cevap
Etkiler sistemini PureScript'te yazdığımda Eff'in farkındaydım, bundan ilham aldığını söyleyebilirsin. Bir başka ilham kaynağı da, Koka programlama dili, özellikle de "Koka: Sıra Polimorfik Efekt Tipleriyle Programlama" adlı makaleydi. Verilen PureScript'in kayıtlarla uğraşmak için halihazırda satır türleri olduğu için, bir etki sistemi olarak kullanmak üzere yeniden kullanmayı denemek mantıklıdır.
PureScript, "yerel" efektleri işlemek için Eff
(ilişki yok!) Adlı bir efekt monad'i kullanır (yani, çalışma zamanı sistemi tarafından sağlanan efektler, Haskell'de monad transformatörleri kullanarak modelleyebileceğiniz gibi "userland" efektleri değil). Eff
, Haskell'in IO
'a çok benzer, ancak bir dizi efekt türü ile rafine edilmiştir. Yani, PureScript'te satır tabanlı efektlere giden yol çok basitti - sadece satırların *
dışındaki türler içermesine izin vermek zorunda kaldık.
- 1. mi?
- 2. mi?
- 3. Orijinal tweet mi, retweetlenmiş mi?
- 4. ko.applyBindings senkronize mi, senkronize değil mi?
- 5. Önek mi yoksa boole değerlerine mi ait
- 6. geçici bir l değeri mi değil mi?
- 7. x86 RISC mi yoksa CISC mi?
- 8. MongoDB acemi - normale döndürmek mi normalleştirmek mi?
- 9. Başlıkları içeride mi yoksa vizeyle mi?
- 10. Olaylar kaldırdı, tetiklendi mi veya tetiklendi mi?
- 11. jQuery'de mi?
- 12. tersi mi?
- 13. Bir sayının int türünde mi (çekirdek mi, uyuşmuş, imzalı mı değil mi) nasıl belirlenir?
- 14. Dikey çubuk (|) geçerli CSS mi, Firefox özel mi?
- 15. App_offline.htm mevcut istekleri mi yoksa sadece yeni istekleri mi engeller?
- 16. Tomcat oturum küme: Üretim seviyesi mi? Ölçekli mi?
- 17. Karşılaştırıcılar her seferinde mi, yoksa sadece bir kez mi uygulanmalıdır?
- 18. Rayları kirletmek mi, değiştirmek mi? after_commit ile bayrak
- 19. Döküm arayüzü somut uygulama nesnesine mi yoksa tersine mi?
- 20. Önbellek denetimi üstbilgileri; geçerli mi, değil mi? (Nginx)
- 21. Özellik, sürekli bir özellik mi yoksa (A => B) mi?
- 22. iOS statik mi yoksa dinamik bir çerçeve mi?
- 23. MinGW ile Eclipse hata ayıklama: MI komutu yürütülemedi MI komutu
- 24. Json sonuçlarının nesne mi yoksa dizi mi olduğunu belirleyin
- 25. Dizin RAM'de mi yoksa Diskte mi [MongoDB] bulunmalı?
- 26. Bir nesneyi yayımlama bağlamında bağlamı (this) mi? Kendini iyi mi?
- 27. Bir işlev mi yoksa tip yöntemi mi kullanıyorsunuz?
- 28. Bir modülün/helpers içine mi yoksa/libresine mi yerleştirilmesindeki farklılıklar?
- 29. Adres çıkarma değeri 12 mi? Değişkenlerin büyüklüğü hafif mi?
- 30. DBpedia kaynaklarının Şehirler mi yoksa Ülkeler mi olduğunu belirleme