c++11: step 2
[jackhill/mal.git] / cpp / step1_read_print.cpp
index 17ecb56..b7d0957 100644 (file)
@@ -11,6 +11,9 @@ String PRINT(malValuePtr ast);
 
 static ReadLine s_readLine("~/.mal-history");
 
+static String rep(const String& input);
+static malValuePtr EVAL(malValuePtr ast);
+
 int main(int argc, char* argv[])
 {
     String prompt = "user> ";
@@ -31,7 +34,7 @@ int main(int argc, char* argv[])
     return 0;
 }
 
-String rep(const String& input)
+static String rep(const String& input)
 {
     return PRINT(EVAL(READ(input)));
 }
@@ -41,7 +44,7 @@ malValuePtr READ(const String& input)
     return readStr(input);
 }
 
-malValuePtr EVAL(malValuePtr ast)
+static malValuePtr EVAL(malValuePtr ast)
 {
     return ast;
 }
@@ -50,3 +53,14 @@ String PRINT(malValuePtr ast)
 {
     return ast->print(true);
 }
+
+// These have been added after step 1 to keep the linker happy.
+malValuePtr EVAL(malValuePtr ast, malEnv&)
+{
+    return ast;
+}
+
+malValuePtr APPLY(malValuePtr ast, malValueIter, malValueIter, malEnv&)
+{
+    return ast;
+}