Skip to content

Commit

Permalink
Only print header info in REPL mode
Browse files Browse the repository at this point in the history
  • Loading branch information
ekmartin committed Sep 10, 2015
1 parent bb52697 commit 230dc1a
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 27 deletions.
12 changes: 7 additions & 5 deletions elixir/lib/mix/tasks/step6_file.ex
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ defmodule Mix.Tasks.Step6File do
env = Mal.Env.new()
Mal.Env.merge(env, Mal.Core.namespace)
bootstrap(args, env)
load_file(args, env)
loop(env)
end

defp load_file([], _env), do: nil
defp load_file([file_name | _args], env) do
defp load_file(file_name, env) do
read_eval_print("""
(load-file "#{file_name}")
""", env)
Expand All @@ -37,8 +35,12 @@ defmodule Mix.Tasks.Step6File do
end})

case args do
[_file_name | rest] -> Mal.Env.set(env, "*ARGV*", list(rest))
[] -> Mal.Env.set(env, "*ARGV*", list([]))
[file_name | rest] ->
Mal.Env.set(env, "*ARGV*", list(rest))
load_file(file_name, env)

[] ->
Mal.Env.set(env, "*ARGV*", list([]))
end
end

Expand Down
12 changes: 7 additions & 5 deletions elixir/lib/mix/tasks/step7_quote.ex
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ defmodule Mix.Tasks.Step7Quote do
env = Mal.Env.new()
Mal.Env.merge(env, Mal.Core.namespace)
bootstrap(args, env)
load_file(args, env)
loop(env)
end

defp load_file([], _env), do: nil
defp load_file([file_name | _args], env) do
defp load_file(file_name, env) do
read_eval_print("""
(load-file "#{file_name}")
""", env)
Expand All @@ -37,8 +35,12 @@ defmodule Mix.Tasks.Step7Quote do
end})

case args do
[_file_name | rest] -> Mal.Env.set(env, "*ARGV*", list(rest))
[] -> Mal.Env.set(env, "*ARGV*", list([]))
[file_name | rest] ->
Mal.Env.set(env, "*ARGV*", list(rest))
load_file(file_name, env)

[] ->
Mal.Env.set(env, "*ARGV*", list([]))
end
end

Expand Down
12 changes: 7 additions & 5 deletions elixir/lib/mix/tasks/step8_macros.ex
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ defmodule Mix.Tasks.Step8Macros do
env = Mal.Env.new()
Mal.Env.merge(env, Mal.Core.namespace)
bootstrap(args, env)
load_file(args, env)
loop(env)
end

defp load_file([], _env), do: nil
defp load_file([file_name | _args], env) do
defp load_file(file_name, env) do
read_eval_print("""
(load-file "#{file_name}")
""", env)
Expand Down Expand Up @@ -60,8 +58,12 @@ defmodule Mix.Tasks.Step8Macros do
end})

case args do
[_file_name | rest] -> Mal.Env.set(env, "*ARGV*", list(rest))
[] -> Mal.Env.set(env, "*ARGV*", list([]))
[file_name | rest] ->
Mal.Env.set(env, "*ARGV*", list(rest))
load_file(file_name, env)

[] ->
Mal.Env.set(env, "*ARGV*", list([]))
end
end

Expand Down
12 changes: 7 additions & 5 deletions elixir/lib/mix/tasks/step9_try.ex
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ defmodule Mix.Tasks.Step9Try do
env = Mal.Env.new()
Mal.Env.merge(env, Mal.Core.namespace)
bootstrap(args, env)
load_file(args, env)
loop(env)
end

defp load_file([], _env), do: nil
defp load_file([file_name | _args], env) do
defp load_file(file_name, env) do
read_eval_print("""
(load-file "#{file_name}")
""", env)
Expand Down Expand Up @@ -60,8 +58,12 @@ defmodule Mix.Tasks.Step9Try do
end})

case args do
[_file_name | rest] -> Mal.Env.set(env, "*ARGV*", list(rest))
[] -> Mal.Env.set(env, "*ARGV*", list([]))
[file_name | rest] ->
Mal.Env.set(env, "*ARGV*", list(rest))
load_file(file_name, env)

[] ->
Mal.Env.set(env, "*ARGV*", list([]))
end
end

Expand Down
15 changes: 8 additions & 7 deletions elixir/lib/mix/tasks/stepA_mal.ex
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ defmodule Mix.Tasks.StepAMal do
env = Mal.Env.new()
Mal.Env.merge(env, Mal.Core.namespace)
bootstrap(args, env)
load_file(args, env)
loop(env)
end

defp load_file([], _env), do: nil
defp load_file([file_name | _args], env) do
defp load_file(file_name, env) do
read_eval_print("""
(load-file "#{file_name}")
""", env)
Expand Down Expand Up @@ -58,15 +56,18 @@ defmodule Mix.Tasks.StepAMal do
`(let* (or_FIXME ~(first xs)) (if or_FIXME or_FIXME (or ~@(rest xs))))))))
""", env)

read_eval_print("(println (str \"Mal [\" *host-language* \"]\"))", env)

Mal.Env.set(env, "eval", %Function{value: fn [ast] ->
eval(ast, env)
end})

case args do
[_file_name | rest] -> Mal.Env.set(env, "*ARGV*", list(rest))
[] -> Mal.Env.set(env, "*ARGV*", list([]))
[file_name | rest] ->
Mal.Env.set(env, "*ARGV*", list(rest))
load_file(file_name, env)

[] ->
Mal.Env.set(env, "*ARGV*", list([]))
read_eval_print("(println (str \"Mal [\" *host-language* \"]\"))", env)
end
end

Expand Down

0 comments on commit 230dc1a

Please sign in to comment.