def repl(prompt='lis.py>'):
    "A prompt-read-eval-print loop."
    parsed_str = None
    while True:
        if (rank == 0):        
            parsed_str = parse(raw_input(prompt))
        comm.Barrier()
        parsed_str = comm.bcast(parsed_str, root = 0)
        comm.Barrier()
        val = eval(parsed_str)
        comm.Barrier()
        if rank == 0 and val is not None:
            print(schemestr(val))
def run_script(script):
    parsed_str = None
    lines = [line.rstrip('\n') for line in open(script)]
    for line in lines:
        if(rank == 0):
            print line
            parsed_str = parse(line)
        comm.Barrier()
        parsed_str = comm.bcast(parsed_str, root=0)
        comm.Barrier()
        val = eval(parsed_str)
        comm.Barrier()
        if rank == 0 and val is not None:
            print "\nresult:"
            print (schemestr(val))
            print "\n"