Version 4 of REPL

Updated 2013-11-19 11:33:26 by suchenwi

REPL, or Read-Evaluate-Print Loop is the basic mode of operation of a shell.

Simple example in Tcl:

 set prompt "% "
 while 1 {
    puts -nonewline $prompt
    flush stdout
    gets stdin line        ;# read...
    if [eof stdin] break
    catch $line res        ;# eval...
    puts $res              ;# print
 } ;# RS 2013-11-19

For debugger-like applications (like a breakpoint), I also include the command

    if {$line eq "c"} break

between the gets and the catch, so the surrounding script can continue operation.

See Also

An interactive tclsh with an event loop (but no Tk)