Algún tiempo después pedí What happens to you if you break the monad laws? me encontré con esta frase no explicada en Haskell Wiki, en una página sobre Safely running untrusted haskell code:¿Alguien sabe (o recuerda) cómo las leyes de la clase quebradas pueden causar problemas en GHC?
"la creación de instancias de clases que violan asumieron leyes (cf EvilIx)"
como un ejemplo de una explotar eso fue posible contra lambdabot.
Dado que lambdabot usa GHC, es probable que se tratara de un error (o característica) de GHC que hace suposiciones sobre las leyes de clase. ¿Alguien recuerda cuáles son? ¿Y ha sucedido esto alguna vez (o podría suceder) de forma accidental?
(Google para "haskell + Evillx" aparece sin hits).
Romper la representación tipográfica es un ejemplo bastante convincente. 'instancia Typeable Int donde typeRep =" Bool "' –
EvilIx: http://www.haskell.org/pipermail/haskell-cafe/2006-December/019994.html – sclv
No se puede escribir la única clase que puede causar problemas ? – augustss