aboutsummaryrefslogtreecommitdiff
path: root/vb/step0_repl.vb
diff options
context:
space:
mode:
Diffstat (limited to 'vb/step0_repl.vb')
-rw-r--r--vb/step0_repl.vb43
1 files changed, 43 insertions, 0 deletions
diff --git a/vb/step0_repl.vb b/vb/step0_repl.vb
new file mode 100644
index 0000000..ab8fe5e
--- /dev/null
+++ b/vb/step0_repl.vb
@@ -0,0 +1,43 @@
+Imports System
+Imports Mal
+
+Namespace Mal
+ class step0_repl
+ ' read
+ Shared Function READ(str As String) As String
+ Return str
+ End Function
+
+ ' eval
+ Shared Function EVAL(ast As String, env As String) As String
+ Return ast
+ End Function
+
+ ' print
+ Shared Function PRINT(exp As String) As String
+ Return exp
+ End Function
+
+ ' repl
+ Shared Function REP(str As String, env As String) As String
+ Return PRINT(EVAL(READ(str), env))
+ End Function
+
+ Shared Function Main As Integer
+ Dim prompt As String = "user> "
+ Dim line As String
+
+ Do
+ line = Mal.readline.Readline(prompt)
+ If line is Nothing Then
+ Exit Do
+ End If
+ If line = "" Then
+ Continue Do
+ End If
+ Console.WriteLine(REP(line, ""))
+ Loop While True
+ Return 0
+ End function
+ end class
+End Namespace