Bob/test_time_function.bob
Bobby Lucero 7c57a9a111 Implement functions, closures, standard library, and comprehensive number system
- Add function declarations, calls, and return statements
- Implement lexical scoping with Environment class and closures
- Convert print from statement to standard library function
- Add assert() function to standard library for testing
- Add time() function for microsecond precision benchmarking
- Create StdLib class and BuiltinFunction wrapper for standard library
- Implement first-class functions and higher-order functions
- Add function parameter support (tested up to 100 parameters)
- Support alphanumeric identifiers in variable and function names
- Add underscore support in variable names and identifiers
- Implement string + number and number + string concatenation
- Add boolean + string and string + boolean concatenation
- Support string multiplication (string * number)
- Fix decimal truncation issue by using std::stod for all number parsing
- Add comprehensive number formatting with proper precision handling
- Support huge numbers (epoch timestamps) without integer overflow
- Clean number display (no trailing zeros on integers)
- Add basic error handling with program termination on errors
- Add comprehensive test suite covering all features
- Add escape sequence support (\n, \t, \", \\)
- Add comprehensive documentation and language reference
- Update development roadmap with completed features
2025-07-30 17:51:48 -04:00

28 lines
638 B
Plaintext

// Test the time function
print("Testing time function:");
var time1 = time();
print("Time 1: " + time1);
var time2 = time();
print("Time 2: " + time2);
var time3 = time();
print("Time 3: " + time3);
var diff1 = time2 - time1;
var diff2 = time3 - time2;
print("Difference 1-2: " + diff1 + " microseconds");
print("Difference 2-3: " + diff2 + " microseconds");
// Test with some work in between
var start = time();
var sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
var end = time();
var duration = end - start;
print("Work duration: " + duration + " microseconds");
print("Sum: " + sum);
print("Time function analysis complete!");