Divido en Haskelo

Esperanto • English
Laste ĝisdatigita: la 22-an de majo 2019

Lernante pri divido en Haskelo, mi konsciis, ke la koncepto ne estas tiom bagatele kiel ĝin mi komence volis. Estas subtilaj kontrastoj inter la funkcioj kiuj oni povas facile faligi kiu ne estas konscias de ili. Entjeran dividon kiu rondigas al nulo quot faras. div similas al quot, tamen ĝi rondigas sub nulo—negativa senfineco. La reston de divido rem liveras. mod, aliflanke, modulan aritmetikon faras.

En la «GHCi»-interago ĉi-supre, la opon de la apliko de quot kaj rem al iliaj argumentoj quotRem liveras, dum la opon de la apliko de div kaj mod al iliaj argumentoj divMod liveras.

Prelude> quotRem 13 5
(2,3)
Prelude> quotRem (-13) 5
(-2,-3)
Prelude> quotRem 13 (-5)
(-2,3)
Prelude> quotRem 5 13
(0,5)
Prelude> quotRem (-5) 13
(0,-5)
Prelude> quotRem 5 (-13)
(0,5)
Prelude> divMod 13 5
(2,3)
Prelude> divMod (-13) 5
(-3,2)
Prelude> divMod 13 (-5)
(-3,-2)
Prelude> divMod 5 13
(0,5)
Prelude> divMod (-5) 13
(-1,8)
Prelude> divMod 5 (-13)
(-1,-8)

Apartan atenton al negativaj nombroj donante, jen kelkaj rimarkoj pri ĝi: