This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
Re: feedback on KRL
- From: "Hoehle, Joerg-Cyril" <Joerg-Cyril dot Hoehle at t-systems dot com>
- To: kawa at sources dot redhat dot com
- Date: Thu, 4 Dec 2003 17:50:21 +0100
- Subject: Re: feedback on KRL
Hi,
[moved from brl-users to kawa-users list]
>There are instructions for using KawaPageServlet here:
>http://www.gnu.org/software/qexo/simple-xquery-webapp.html
>This article uses XQuery, but it works just as well for .brl
>or .krl files - I just tried it.
I didn't yet try pure .scm files. I hope this works as well...
I gave it a short try (invoke .krl and .xql pages).
Basically, to me, I can imagine moving between BRL and KRL, occasionaly using
(require <gnu.brl.stuff>)
However:
1) Trying to still use .scm libraries
My setup typically involves a huge sitedefs.scm (or rather, a sitedefs full of load "xyz") and small .brl pages.
Using KRL, I recognize that it automatically converts .krl to .class files.
But what would happen to something equivalent to the sitedefs.scm file?
I can put
(require <gnu.brl.stringfun>)
inside a .krl file and use e.g. brl-string.
What I mean is that I fear that I'll have to turn my libraries into .class files. That's a burden IMHO -- during development.
If I just write
(load "foo.scm")
inside a .krl file, it gets reloaded for every access -- doesn't it?
I don't want that. I wish for something to be able to load .scm files just once, like brl does with sitedefs, and with all files loaded from sitedefs as a consequence, until the servlet eventually dies because of inactivity.
Ok, maybe I should make more use of file-compilation (better type inference etc.), then I could use require. Yet I'd appreciate that as an option, not an obligation.
I also appreciate that the kawa file compiler gives more/better warnings than a simple LOAD.
2) Trying to print something from within a subroutine
Since my setup typically involves SXML, X|HT|ML generation occurs inside Oleg's SRV:send-reply calls, which calls display or another function of mine.
However, this currently generates no output in KRL.
(display "foobar") -> nothing in the browser.
So how can I have output generated from deep within a subroutine or library?
With BRL, I pass (lambda (x) (brl x)) to the libraries, so they can perform output.
Thanks for you guy's work on Kawa and BRL.
Regards,
Jorg Hohle.