Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      '// Create a separate instance to verify isolation
      Dim uc2 As New uCalc()
      
      '// Set main instance to String
      uc.SetDefaultDataType("String")
      
      '// Set second instance to Int32
      uc2.SetDefaultDataType("Int32")
      
      Console.WriteLine($"uc1 Default: {uc.DefaultDataType.Name}")
      Console.WriteLine($"uc2 Default: {uc2.DefaultDataType.Name}")
      
      uc2.DefineFunction("Add(a, b) = a + b")
      Console.WriteLine($"Numeric Add: {uc2.EvalStr("Add(5, 5)")}")
      
      '// Check Eval behavior with String default
      '// "5" + "5" should be string concatenation "55"
      uc.DefineFunction("Add(a, b) = a + b")
      Console.WriteLine($"String Add: {uc.EvalStr("Add(5, 5)")}")
   End Sub
End Module