I decided to ask the group for help concerning this one.
I attach the type system concordant Shen pretty printer that I have
been making. File pprint.shen.
It will work, if one loads it without the type system, without the
(tc +).
The s-expr type definition also will work as expected, as such.
If one attempts to load the file pprint.shen with the (tc +) on, Shen
will complain about the type error in the function tab-format.
My understanding is that the problem is with the function call
(make-string...), which is some kind of a "special form".
The first arg of make-string FS is a format string, the second
argument ARG is any Shen object to be output. The signature of the
function (tab-format...) defines the local var ARG as the type s-expr,
which is hypothetically OK, but it is wrong in practice.
Any intelligent help?
yours, AJY
Finland