Subject: mailing-list for TeXmacs Users
List archive
From : Henri Lesourd <address@hidden>- To: Corey Sweeney <address@hidden>
- Cc: address@hidden, address@hidden
- Subject: Re: [TeXmacs] macros, passing paramaters to with, and using includes
- Date: Fri, 10 Mar 2006 19:03:08 +0100
Corey Sweeney wrote:
Yes, we need something like that if we want to be able to write
On 3/8/06, Henri Lesourd <address@hidden <mailto:address@hidden>> wrote:
Corey Sweeney wrote:
But this one *still* doesn't work, due to f!@#$%g 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.
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...
- macros, passing paramaters to with, and using includes, Corey Sweeney, 03/07/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Henri Lesourd, 03/08/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Corey Sweeney, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Henri Lesourd, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Corey Sweeney, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Henri Lesourd, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Corey Sweeney, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Henri Lesourd, 03/11/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Corey Sweeney, 03/15/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Henri Lesourd, 03/11/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Corey Sweeney, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Henri Lesourd, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Corey Sweeney, 03/10/2006
- Re: [TeXmacs] macros, passing paramaters to with, and using includes, Henri Lesourd, 03/08/2006
Archive powered by MHonArc 2.6.19.