26 lines
785 B
Racket
Executable File
26 lines
785 B
Racket
Executable File
#! /usr/bin/env racket
|
|
|
|
#lang racket/base
|
|
|
|
(require "tcl.ss")
|
|
|
|
(define (tcldemo . strs)
|
|
(for-each (lambda (s)
|
|
(printf "> ~a\n" s)
|
|
(with-handlers ([void (lambda (e)
|
|
(display (if (exn? e) (exn-message e) e)
|
|
(current-error-port))
|
|
(newline (current-error-port)))])
|
|
(printf "~a\n" (eval-tcl s))))
|
|
strs))
|
|
|
|
(tcldemo "puts 123"
|
|
"puts $a"
|
|
"set a {this is some stupid string}"
|
|
"set b [list a a]"
|
|
"set c {[list $a $a]}"
|
|
"puts \"a = \\\"$a\\\"\""
|
|
"puts \"b = \\\"$b\\\"\""
|
|
"puts \"c = \\\"$c\\\"\""
|
|
"puts \"even better... \\\"[expr $c]\\\"\"")
|