aboutsummaryrefslogtreecommitdiff
path: root/ruby/step0_repl.rb
blob: 9c03cfac7264abfb5e6a7d4a49f08cd9b498769e (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
27
$: << File.expand_path(File.dirname(__FILE__))
require "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