mirror of
https://github.com/kanaka/mal.git
synced 2024-10-27 22:58:00 +03:00
8a19f60386
- Reorder README to have implementation list after "learning tool" bullet. - This also moves tests/ and libs/ into impls. It would be preferrable to have these directories at the top level. However, this causes difficulties with the wasm implementations which need pre-open directories and have trouble with paths starting with "../../". So in lieu of that, symlink those directories to the top-level. - Move the run_argv_test.sh script into the tests directory for general hygiene.
37 lines
529 B
VimL
37 lines
529 B
VimL
source readline.vim
|
|
source types.vim
|
|
source reader.vim
|
|
source printer.vim
|
|
|
|
function READ(str)
|
|
return ReadStr(a:str)
|
|
endfunction
|
|
|
|
function EVAL(ast, env)
|
|
return a:ast
|
|
endfunction
|
|
|
|
function PRINT(exp)
|
|
return PrStr(a:exp, 1)
|
|
endfunction
|
|
|
|
function REP(str)
|
|
return PRINT(EVAL(READ(a:str), {}))
|
|
endfunction
|
|
|
|
while 1
|
|
let [eof, line] = Readline("user> ")
|
|
if eof
|
|
break
|
|
endif
|
|
if line == ""
|
|
continue
|
|
endif
|
|
try
|
|
call PrintLn(REP(line))
|
|
catch
|
|
call PrintLn("Error: " . v:exception)
|
|
endtry
|
|
endwhile
|
|
qall!
|