After an unsuccessful attempt to calculate even one substring within the alloted time I submitted a minimalistic app, that did nothing, just read all the strings, and answerd no:

(define (tlcs current max)
  (if (<= current max)
      (let* ((xl (read))
            (x (symbol->string (read)))
            (yl (read))
            (y (symbol->string (read))))
        (display "case ")
        (display current)
        (display " N\n")
        (tlcs (+ current 1) max))))
(tlcs 1 (read))

It run for 42 seconds. Am I making some beginner kind of mistake here, or guile is this damned slow on I/O?

Could somebody recommend me a good profiler for guile? (On good I mean suitable for beginners)

Thx.

ImRe