My integers in Ruby (MRI) refuse to overflow. I've noticed the class change from fixnum to bignum but I'm wondering how this is modeled and what sort of process ruby uses to perform arithmetic on these massive integers. I've seen this behaviour in SCHEME as well as other environments.
I ask because I'd like to implement something similar in a C program and would like to know how bignum + bignum reduces to primitive operations.
Any pointers?