Haskell'de herhangi bir kalite göstergesi var mı? == Denklemi türetmek için şeyler gerektirir ve ben (Değer -> IO Değeri) içeren bir şey var ve ne - ne de IO türetmek Eq.Haskell'de işaretçi eşitliği?
DÜZENLEME: 'un işaretçi eşitliğine sahip olduğu başka bir dil için bir yorumlayıcı oluşturuyorum, bu nedenle bu davranışı modellemeye çalışırken, Haskell işlevlerini kapaklarını modellemek için kullanabiliyorum.
DÜZENLEME: Örnek:
> let x a = a * 2
> let y = x
> special x y
True
> let z a = a * 2
> special x z
False
Sadece iki fonksiyonun aynı işlevde olup olmadığını görmek istiyorum. İşaretçi eşitliği olan başka bir dil için bir tercüman oluşturmaya çalışıyorum ve bu davranışı taklit etmek istiyorum. – Claudiu
Fakat "aynı işlev" tam olarak ne anlama geliyor? (\ x -> x) (\ x -> x) ile aynı işleve sahiptir. Aynı işlev ((\ x y -> y) x), vb. Gibi. İhtiyacınız olan şey, yorumladığınız dilde bir işlevin "adresini" izlemek için ek bir referans noktasıdır. Bir a -> (Int, a) kobrajuru modelleyen bir monad sırayla olabilir. – Apocalisp
Maalesef kötülük = ID {unId = const undefined} davasına sahibiz, yani örneğiniz% 100 doğru değil. Bu sinir bozucu dipler. :) – Tirpen