Divido en Haskelo

Esperanto · English
la 5-an de aŭgusto 2018
Laste ĝisdatigita: la 7-an de septembro 2018

Lernante pri divido en Haskelo, mi konsciis, ke la koncepto ne estas kiel bagatela tiel ĝ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: