blob: 7a050c7811e2084c15157fd454c9cf65163852d1 (
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
|
(ns step0-repl
(:require [readline]))
;; read
(defn READ [& [strng]]
(let [line (if strng strng (read-line))]
strng))
;; eval
(defn EVAL [ast env]
(eval (read-string ast)))
;; print
(defn PRINT [exp]
exp)
;; repl
(defn rep [strng] (PRINT (EVAL (READ strng), {})))
(defn -main [& args]
(loop []
(let [line (readline/readline "user> ")]
(when line
(println (rep line))
(recur)))))
|