2015-05-01 12 views
6

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

9

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.

İlgili konular