Add cons and concat to core
[jackhill/mal.git] / elixir / lib / mix / tasks / step0_repl.ex
CommitLineData
51c2c1fe 1defmodule Mix.Tasks.Step0Repl do
2 def run(_), do: main
3
4 def main do
5 IO.write(:stdio, "user> ")
6 IO.read(:stdio, :line)
7 |> handle_line
8
9 main
10 end
11
2b9d9010 12 defp handle_line(:eof), do: exit(:normal)
51c2c1fe 13 defp handle_line(line) do
14 IO.write(:stdio, read_eval_print(line))
15 end
16
17 def read(input) do
18 input
19 end
20
21 def eval(input) do
22 input
23 end
24
25 def print(input) do
26 input
27 end
28
29 def read_eval_print(line) do
30 read(line)
31 |> eval
32 |> print
33 end
34end