[pyar] Por qué no se puede extender la clase bool?

Leonardo Otero oteroleonardo en gmail.com
Mar Jun 19 02:02:30 ART 2012


Vas a escribir un programa para lógica positrónica agregándole un tercer
estado al bool?

Saludos.
Leo

2012/6/16 Juanjo Conti <jjconti en gmail.com>

> Estoy escribiendo el capítulo 5 (Limitaciones) de mi tesis de maestría
> sobre taintmode[1].
>
> Una de las limitaciones es que la biblioteca, que extiende
> automáticamente clases built-in de Python para hacerlas capaces de
> trackear manchas, no puede extender bool.
>
> Busco en Google: python cant extende bool
>
> El primer resultado es de Stack Overflow. Excelente, pienso. Hasta que
> veo que el que pregunta es mi yo del pasado :)[2]
>
> Una respuesta que cita a Guido está buena:
>
> '''
> I thought about this last night, and realized that you shouldn't be
> allowed to subclass bool at all! A subclass would only be useful when
> it has instances, but the mere existance of an instance of a subclass
> of bool would break the invariant that True and False are the only
> instances of bool! (An instance of a subclass of C is also an instance
> of C.) I think it's important not to provide a backdoor to create
> additional bool instances, so I think bool should not be subclassable.
> '''
>
> Aunque es una pena, a los fines prácticos de la bibliotca resulta que
> no es tan grave ya que, como dice Martelli:
>
> '''
> ..."a and b" is always identical to "b if a else a" for any "a and b"
> (no bool coercion involved...
> '''
>
> Saludos,
>
> [1] http://www.juanjoconti.com.ar/taint/
> [2]
> http://stackoverflow.com/questions/2172189/why-i-cant-extend-bool-in-python
> --
> Juanjo Conti
> blog: http://www.juanjoconti.com.ar
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120619/08485d5c/attachment.html>


More information about the pyar mailing list