Tcl currently has this code in pge2past.tg:
     $S0 = node['decimal']
     $I0 = length $S0
     if $I0 < 10 goto decimal
     if $I0 > 10 goto bignum_hack
if $S0 >= "2147483647" goto bignum_hack
   decimal:
     $S0 = node
     past['value'] = $S0
     past['class'] = "TclInt"
     .return (past)
   bignum_hack:
     past['value'] = 0
     past['class'] = "TclInt"
     .return(past)
This checks if the value is too big to be represented by a normal  
integer. If it is, then it sets the value to zero. This makes any  
tests fail, but it makes them at least compile. It shouldn't be too  
much harder to make numbers promote properly.
--
Matt Diephouse