egison-2.1.11: sample/io/cat.egi
(define $main
(lambda [$: $argv]
(match argv (List String)
{[<cons $file1 <nil>>
(do {[[$: $port] (open-input-file : file1)]}
(letrec {[$copyLoop (lambda [$:]
(do {[[$: $line] (read-line-from-port : port)]}
(if (eof? line)
:
(do {[$: (write-string : line)]
[$: (write-char : '\n')]}
(copyLoop :)))))]}
(do {[$: (copyLoop :)]
[$: (close-input-port : port)]}
:)))]
[_ <argv-error>]})))