load "../logo/readline.lg load "../logo/reader.lg load "../logo/printer.lg to _read :str output read_str :str end to _eval :ast :env output :ast end to _print :exp output pr_str :exp "true end to rep :str output _print _eval _read :str [] end to repl localmake "running "true while [:running] [ localmake "line readline word "user> :space_char ifelse :line=[] [ print " make "running "false ] [ if not emptyp :line [ catch "error [print rep :line] localmake "exception error if not emptyp :exception [ (print "Error: first butfirst :exception) ] ] ] ] end repl bye