Commit | Line | Data |
---|---|---|
023b020b NG |
1 | ;; Copyright (C) 2015 |
2 | ;; "Mu Lei" known as "NalaGinrut" <NalaGinrut@gmail.com> | |
3 | ;; This file is free software: you can redistribute it and/or modify | |
4 | ;; it under the terms of the GNU General Public License as published by | |
5 | ;; the Free Software Foundation, either version 3 of the License, or | |
6 | ;; (at your option) any later version. | |
7 | ||
8 | ;; This file is distributed in the hope that it will be useful, | |
9 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | ;; GNU General Public License for more details. | |
12 | ||
13 | ;; You should have received a copy of the GNU General Public License | |
14 | ;; along with this program. If not, see <http://www.gnu.org/licenses/>. | |
15 | ||
c6b985d5 | 16 | (import (readline)) |
023b020b | 17 | |
dd7a4f55 JM |
18 | (define (READ str) |
19 | str) | |
023b020b NG |
20 | |
21 | (define (EVAL ast env) ast) | |
22 | ||
23 | (define (PRINT str) | |
dd7a4f55 | 24 | (format #t "~a~%" str)) |
023b020b NG |
25 | |
26 | (define (LOOP continue?) | |
27 | (and continue? (REPL))) | |
28 | ||
29 | (define (REPL) | |
dd7a4f55 JM |
30 | (LOOP |
31 | (let ((line (_readline "user> "))) | |
32 | (cond | |
33 | ((eof-object? line) #f) | |
34 | ((string=? line "") #t) | |
35 | (else | |
36 | (PRINT (EVAL (READ line) '()))))))) | |
023b020b NG |
37 | |
38 | (REPL) |