... doesn't know BigInt. You can't format:
Parrot_sprintfc(interp, "%Pd", big_pmc)
There are some long modifiers, but they are useles for PMC.s You don't know the integer size of PMCs. So the whole concept of spf_render, spf_vtable needs modificatioms to take care of such cases.
I'd say that: - a PMC itself takes care of giving a string of the desired base: - I've used get_string_keyed_int(interp, pmc, base) in BigInt which should be save to abuse - the get_string* vtable of integers/strings... isn't allowed to call Parrot_sprintf* functions - I dont't know, if that should go into spf_render too: but in Python we have:
print hex(42L) 0x2aL
Could be another modifier to append "L" on bigints. It's currently hardcoded (3 times) in perlstring.pmc and python.ops.
Takers wanted, leo