Imports System Imports System.IO Imports Mal Imports MalVal = Mal.types.MalVal Namespace Mal Class step1_read_print ' read Shared Function READ(str As String) As MalVal Return reader.read_str(str) End Function ' eval Shared Function EVAL(ast As MalVal, env As String) As MalVal Return ast End Function ' print Shared Function PRINT(exp As MalVal) As String return printer._pr_str(exp, TRUE) End Function ' repl Shared Function REP(str As String) As String Return PRINT(EVAL(READ(str), "")) End Function Shared Function Main As Integer Dim args As String() = Environment.GetCommandLineArgs() If args.Length > 1 AndAlso args(1) = "--raw" Then Mal.readline.SetMode(Mal.readline.Modes.Raw) End If ' repl loop Dim line As String Do Try line = Mal.readline.Readline("user> ") If line is Nothing Then Exit Do End If If line = "" Then Continue Do End If Catch e As IOException Console.WriteLine("IOException: " & e.Message) End Try Try Console.WriteLine(REP(line)) Catch e as Exception Console.WriteLine("Error: " & e.Message) Console.WriteLine(e.StackTrace) Continue Do End Try Loop While True End function End Class End Namespace