# selftest.tcl — Tcl interpreter self-test (BRINTOS-19 R1-R4 checks). # Emits R-lines the harness parses, then ALL-TCL-OK on success. proc fib {n} { if {$n < 2} { return $n } return [expr {[fib [expr {$n-1}]] + [fib [expr {$n-2}]]}] } puts "R2-expr [expr {6*7}]" puts "R2-fib15 [fib 15]" puts "R2-string [string toupper abc]/[string length hello]" puts "R2-list [lsort -integer {2 1 10 3}]" set s "héllo" set rt [encoding convertfrom utf-8 [encoding convertto utf-8 $s]] puts "R3-utf8 [expr {$rt eq $s}]" puts "R1-encN [llength [encoding names]]" puts "R4-exists [file exists /]/[file readable /]" puts "R4-pwd [pwd]" puts "ALL-TCL-OK"