Corey Sweeney wrote:
On 3/8/06, Henri Lesourd <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
Corey Sweeney wrote:
But this one *still* doesn't work, due to [EMAIL PROTECTED] problems of
symbol encoding (for the symbol ">" in "tree->string"...), because
we want to write the Scheme code directly inside the TeXmacs <extern>
markup (the clean alternative solution would be to write a Scheme
plugin where we could safely write our Scheme functions. But then
we would have to deal with the current bug in the recently implemented
lazy evaluation of Scheme plugins ; I'm afraid that discussing this
would lead us even farther in designing hacks...).
Thus we need to trick it ; the following way works :
[[
<macro|inc0|<macro|x|<extern|(lambda (x) (tree-load-inclusion
((eval-string (string-append "tree-" (substring ">" 4 5)
"stree"))
x)))|<arg|x>>>
]]
Great idea. I had been adding "(define tree-to-stree tree->stree)" to
my startup scheme libaries. Now I decided to one up you and abstract it:
(define horrible-scheme-hack-fun
(lambda (some-symbol)
(string->symbol
(list->string
(map (lambda (char)
(if (equal? char #\} )
#\>
char))
(string->list (symbol->string some-symbol)))))))
Of course, you'll probalby just one up me back and make it a macro :)
Wanna toss something like this in the texmacs scheme libraries? then
we could change yoru code to:
[[
<macro|inc0|<macro|x|<extern|
(lambda (x) (tree-load-inclusion ((horrible-scheme-hack
`tree-}stree) x)))|<arg|x>>>
]]
which would seem easier to read. The charactor could be something
other then }, let's just make a "hacking standard" so everyone uses
the same char till another solution presents it'self.
Yes, we need something like that if we want to be able to write
any Scheme function name containing '<' or '>' inside TeXmacs
macros. Another cleaner solution would be to define synonyms
for the offending functions, for example "tree2stree" as an
equivalent of "tree->stree", etc. in your
.TeXmacs/progs/my-init-texmacs.scm,
but this solution is less general, then...
_______________________________________________
Texmacs-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/texmacs-dev