json->scm now reads from port instead of string