[pyar] Otro python mas!

Daniel Moisset dmoisset en machinalis.com
Mar Ago 17 09:52:53 ART 2010


2010/8/17 Juanjo Conti <jjconti en gmail.com>:
> 2010/8/17 Roberto Alsina <ralsina en netmanagers.com.ar>
>>
>> Bero: python en haskell, que compila a haskell:
>> http://wiki.github.com/bjpop/berp/
>
> Aja! hablando de Haskell, ayer me comentaron[0] que en Haskell 0.1 + 0.3 es
> 0.4. Saben si usa floats como Python y es un mero engaño del intérprete o
> usa un tipo de dato decimal por defecto?

Tenés Rational y tenés Float (y Double). En realidad las constantes
literales no tienen un tipo dado, sino una "type class" (que es algo
almost but not quite entirely unlike an abstract superclass). En este
caso 0.1, 0.3 tienen type-class Fractional, i.e. "que se pueden
representar exactamente como una fracción". Tanto Float como Rational
(como Int!) "matchean" Fractional.

El tipo concreto de esa expresion va a acabar dependiendo de lo que
necesite el typechecker, o sea, el lugar donde lo evalues. Es decir,
si haces  f (0.1 + 0.3), donde f tiene tipo Float->Float, vas a tener
un valor no exacto de la suma.

Saludos,
   D.



More information about the pyar mailing list