aboutsummaryrefslogtreecommitdiff
path: root/ruby/step0_repl.rb
blob: 2f9e6a91dc820ed166824ee93ba27ed5cd02ac14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require_relative "mal_readline"

# read
def READ(str)
    return str
end

# eval
def EVAL(ast, env)
    return ast
end

# print
def PRINT(exp)
    return exp
end

# repl
def REP(str)
    return PRINT(EVAL(READ(str), {}))
end

# repl loop
while line = _readline("user> ")
    puts REP(line)
end