vb: add seq and string?
[jackhill/mal.git] / ruby / step1_read_print.rb
CommitLineData
107d9694
IJ
1require_relative "mal_readline"
2require_relative "types"
3require_relative "reader"
4require_relative "printer"
f705f0fc
JM
5
6# read
7def READ(str)
8 return read_str(str)
9end
10
11# eval
12def EVAL(ast, env)
13 return ast
14end
15
16# print
17def PRINT(exp)
18 return _pr_str(exp, true)
19end
20
21# repl
22def REP(str)
23 return PRINT(EVAL(READ(str), {}))
24end
25
86b689f3 26# repl loop
718887c3 27while line = _readline("user> ")
f705f0fc
JM
28 begin
29 puts REP(line)
30 rescue Exception => e
86b689f3
JM
31 puts "Error: #{e}"
32 puts "\t#{e.backtrace.join("\n\t")}"
f705f0fc
JM
33 end
34end