From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.lisp.guile.user Subject: Re: Guile & Sablotron Date: Fri, 12 Mar 2004 09:52:42 +0100 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: References: Reply-To: ttn@glug.org NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="++----------20040312093402-193676647----------++" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1079084242 25834 80.91.224.253 (12 Mar 2004 09:37:22 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 12 Mar 2004 09:37:22 +0000 (UTC) Cc: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Mar 12 10:37:07 2004 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1B1j6H-0004DS-00 for ; Fri, 12 Mar 2004 10:37:06 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B1iug-00035p-KN for guile-user@m.gmane.org; Fri, 12 Mar 2004 04:25:06 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1B1iDP-0007mC-F7 for guile-user@gnu.org; Fri, 12 Mar 2004 03:40:23 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1B1iCq-0007f2-Qt for guile-user@gnu.org; Fri, 12 Mar 2004 03:40:20 -0500 Original-Received: from [151.42.71.188] (helo=surf.glug.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B1iCo-0007eB-Lx for guile-user@gnu.org; Fri, 12 Mar 2004 03:39:46 -0500 Original-Received: from ttn by surf.glug.org with local (Exim 3.35 #1 (Debian)) id 1B1iPK-0006sy-00; Fri, 12 Mar 2004 09:52:42 +0100 Original-To: Brian S McQueen In-reply-to: (message from Brian S McQueen on Tue, 9 Mar 2004 09:32:05 -0800 (PST)) X-Mailer: Emacs 21.3.50.36 with etach 1.2.6 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:2934 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:2934 This is a multi-part message in MIME format. --++----------20040312093402-193676647----------++ Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Brian S McQueen Date: Tue, 9 Mar 2004 09:32:05 -0800 (PST) Using a template engine is the way to go for handling the presentation of data. i surmise from skimming the axkit homepage that the axkit concept of "template" is not only the traditional "fill this named space w/ customized bits", but possibly time-varying as well (results are not fully finalized; tags are kept around; caching is selective). that's a fine approach to flattening the tree. however, i'm less than enamored w/ the xml representation, despite its merits. btw, thanks for your good question on "adding to a list". it helped spur recent(ish) development of some (www server-utils *) modules. you can find a work-in-progress (but working nonetheless) webserver that uses these modules, attached. the first file is the webserver proper. the second one contains servlets (callbacks for dynamic content creation). it is left as an exercise for the reader to write a servlet that uses (database postgres*) modules to make queries, retrieve scheme objects, and send them over the wire. axkit-like caching is likewise a SMOP. thi _____________________________________________ --++----------20040312093402-193676647----------++ Content-Type: application/octet-stream; name="mgrabmue-webserver.scm" Content-Transfer-Encoding: base64 IyEgL2Jpbi9zaApHVUlMRT0vdG1wL2EvYi9jL2Jpbi9ndWlsZSA7IGV4cG9ydCBHVUlMRQpleGVj ICR7R1VJTEUtZ3VpbGV9IC1lICIodHRuLWRvIG1ncmFibXVlLXdlYnNlcnZlcikiIC1zICQwICIk QCIKISMKOzs7IElEOiAkSWQkCjs7OyBDb3B5cmlnaHQgKEMpIDIwMDQgVGhpZW4tVGhpIE5ndXll bgo7OzsgQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxIE1hcnRpbiBHcmFibXVlbGxlciA8bWdyYWJt dWVAY3MudHUtYmVybGluLmRlPgo7OzsgVGhpcyBwcm9ncmFtIGlzIHBhcnQgb2YgdHRuLWRvLCBy ZWxlYXNlZCB1bmRlciBHTlUgR1BMIHYyIHdpdGggQUJTT0xVVEVMWQo7OzsgTk8gV0FSUkFOVFku ICBTZWUgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC50eHQgZm9yIGRldGFpbHMuCjs7 Owo7OzsgRGVzY3JpcHRpb246IFNpbXBsZSB3ZWIgc2VydmVyLgoKOzs7IENvbW1lbnRhcnk6Cgo7 OyBVc2FnZTogbWdyYWJtdWUtd2Vic2VydmVyIC1yIERJUiBbb3B0aW9ucy4uLl0KOzsgICAtcCwg LS1wb3J0PVBPUlQgICAgIC0tIExpc3RlbiBvbiBQT1JUIChkZWZhdWx0OiA4MDAxKQo7OyAgIC1y LCAtLWRvY3Jvb3Q9RElSICAgLS0gU3BlY2lmeSBESVIgYXMgZmlsZXN5c3RlbSByb290IChyZXF1 aXJlZCkKOzsgICAtdSwgLS11bGliZGlyPURJUiAgIC0tIExvb2sgaW4gRElSIGZvciBtZ3JhYm11 ZS1zZXJ2bGV0cy5zY20KCjs7OyBDb2RlOgoKKGRlZmluZS1tb2R1bGUgKHR0bi1kbyBtZ3JhYm11 ZS13ZWJzZXJ2ZXIpCiAgIzp1c2UtbW9kdWxlIChzY3JpcHRzIFBST0dSQU0pCiAgIzp1c2UtbW9k dWxlIChzY3JpcHRzIHNsdXJwKQogICM6dXNlLW1vZHVsZSAoaWNlLTkgcmVnZXgpCiAgIzp1c2Ut bW9kdWxlICh3d3cgc2VydmVyLXV0aWxzIGJpZy1kaXNoaW5nLWxvb3ApCiAgIzp1c2UtbW9kdWxl ICh3d3cgc2VydmVyLXV0aWxzIGZpbGVzeXN0ZW0pCiAgIzp1c2UtbW9kdWxlICh3d3cgc2VydmVy LXV0aWxzIGxvZykKICAjOnVzZS1tb2R1bGUgKHd3dyBkYXRhIGh0dHAtc3RhdHVzKQogICM6dXNl LW1vZHVsZSAod3d3IGRhdGEgY29udGVudC10eXBlKSkKCihkZWZpbmUgKnNlcnZlci1uYW1lKiAi U2l6eldlYiAwLjAuMyIpCgooZGVmaW5lIG5vLWFjY2Vzcz8gI2YpICAgICAgICAgICAgICAgICAg OyBzZXQgYnkgbWFpbi9xb3AKKGRlZmluZSBmcy1uYW1lICNmKQoKDAo7OyBTdGFuZGFyZCByZXNw b25zZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cgoo ZGVmaW5lIChhZGQtc3RhbmRhcmQtaGVhZGVycyBNKQogIChNICM6YWRkLWhlYWRlciAjOkRhdGUg KHN0cmZ0aW1lICIlYSwgJW0gJWIgJVkgJUg6JU06JVMgR01UIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChnbXRpbWUgKGN1cnJlbnQtdGltZSkpKSkKICAoTSAjOmFkZC1oZWFk ZXIgIzpTZXJ2ZXIgKnNlcnZlci1uYW1lKikpCgooZGVmaW5lICgqdG9wK3RpdGxlIHRpdGxlKQog IChsaXN0ICI8IURPQ1RZUEUgSFRNTCBQVUJMSUMgXCItLy9JRVRGLy9EVEQgSFRNTCAyLjAvL0VO XCI+IgogICAgICAgICI8SFRNTD48SEVBRD48VElUTEU+IiB0aXRsZSAiPC9USVRMRT48L0hFQUQ+ PEJPRFk+IikpCgooZGVmaW5lICgqYm90dG9tKQogIChsaXN0ICI8SFI+PEFERFJFU1M+IiAqc2Vy dmVyLW5hbWUqICI8L0FERFJFU1M+PC9CT0RZPjwvSFRNTD4iKSkKCihkZWZpbmUgKHNlbmQtZXJy b3IgTSBudW1iZXIgLiBib2R5KQogIChsZXQgKChtc2cgKGFzc3EtcmVmICpodHRwLXN0YXR1cyog bnVtYmVyKSkKICAgICAgICAobnN0ciAobnVtYmVyLT5zdHJpbmcgbnVtYmVyKSkpCiAgICAoTSAj OnNldC1yZXBseS1zdGF0dXMgbnVtYmVyIG1zZykKICAgIChhZGQtc3RhbmRhcmQtaGVhZGVycyBN KQogICAgKE0gIzphZGQtaGVhZGVyICM6Q29ubmVjdGlvbiAiY2xvc2UiKQogICAgKE0gIzphZGQt aGVhZGVyICM6Q29udGVudC1UeXBlICJ0ZXh0L2h0bWwiKQogICAgKE0gIzphZGQtY29udGVudAog ICAgICAgKCp0b3ArdGl0bGUgKGxpc3QgbnN0ciAiICIgbXNnKSkKICAgICAgICI8SDI+IiBuc3Ry ICIgIiBtc2cgIjwvSDI+IgogICAgICAgYm9keQogICAgICAgKCpib3R0b20pKQogICAgKE0gIzpy ZWNodW5rLWNvbnRlbnQgI3QpCiAgICAoTSAjOnNlbmQtcmVwbHkpKSkKCihkZWZpbmUgKHNlbmQt bm90LWZvdW5kIE0gdXBhdGgpCiAgKHNlbmQtZXJyb3IgTSA0MDQKICAgICAgICAgICAgICAiVGhl IHJlcXVlc3RlZCBVUkw6PEJSPjxCPiIKICAgICAgICAgICAgICB1cGF0aAogICAgICAgICAgICAg ICI8L0I+PEJSPndhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuIikpCgooZGVmaW5lIChzZW5k LWJhZC1yZXF1ZXN0IE0pCiAgKHNlbmQtZXJyb3IgTSA0MDAKICAgICAgICAgICAgICAiWW91ciBi cm93c2VyIHNlbnQgYSByZXF1ZXN0IHRoYXQiCiAgICAgICAgICAgICAgIiB0aGlzIHNlcnZlciBj b3VsZCBub3QgdW5kZXJzdGFuZC4iKSkKCihkZWZpbmUgKHNlbmQtdW5rbm93bi1tZXRob2QgTSBt ZXRob2QgdXBhdGgpCiAgKHNlbmQtZXJyb3IgTSA1MDEKICAgICAgICAgICAgICAiPEI+IgogICAg ICAgICAgICAgIChzeW1ib2wtPnN0cmluZyBtZXRob2QpCiAgICAgICAgICAgICAgIjwvQj4gdG8g PEI+IgogICAgICAgICAgICAgIHVwYXRoCiAgICAgICAgICAgICAgIjwvQj4gbm90IHN1cHBvcnRl ZC4iKSkKCihkZWZpbmUgKHNlbmQtZm9yYmlkZGVuIE0gdXBhdGgpCiAgKHNlbmQtZXJyb3IgTSA0 MDMKICAgICAgICAgICAgICAiWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzOjxC Uj48Qj4iCiAgICAgICAgICAgICAgdXBhdGgKICAgICAgICAgICAgICAiPC9CPiIpKQoKKGRlZmlu ZSAoc2VuZC1tb3ZlZC1wZXJtYW5lbnRseSBNIHVwYXRoKQogIChzZW5kLWVycm9yIDMwMQogICAg ICAgICAgICAgICJUaGUgZG9jdW1lbnQgaGFzIGJlZW4gbW92ZWQgPEEgSFJFRj1cIiIKICAgICAg ICAgICAgICB1cGF0aAogICAgICAgICAgICAgICJcIj5oZXJlPC9BPiIpKQoKDAo7OyBTcGVjaWFs IHJlc3BvbnNlcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Cgo7OyBDb25zdHJ1Y3QgYW5kIHNlbmQgYSBkaXJlY3RvcnkgaW5kZXguCjs7CihkZWZpbmUg KHNlbmQtZ2VuZXJhdGVkLWRpcmVjdG9yeS1pbmRleCBNIHVwYXRoIGRpcikKICAoYWRkLXN0YW5k YXJkLWhlYWRlcnMgTSkKICAoTSAjOnNldC1yZXBseS1zdGF0dXM6c3VjY2VzcykKICAoTSAjOmFk ZC1oZWFkZXIgIzpDb25uZWN0aW9uICJjbG9zZSIpCiAgKE0gIzphZGQtaGVhZGVyICM6Q29udGVu dC1UeXBlICJ0ZXh0L2h0bWwiKQogIChsZXQgKChyZXYgKHJldmVyc2UgKHN0cmluZy0+bGlzdCB1 cGF0aCkpKSkKICAgIChzZXQhIHVwYXRoIChsaXN0LT5zdHJpbmcgKHJldmVyc2UgKGlmIChjaGFy PT8gI1wvIChjYXIgcmV2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjZHIgcmV2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmV2KSkpKSkKICAoTSAjOmFkZC1jb250ZW50CiAgICAgKCp0b3ArdGl0bGUgKGxpc3QgIkRpcmVj dG9yeSAiIHVwYXRoKSkKICAgICAiPEgyPlBhcmVudCBEaXJlY3RvcmllczwvSDI+IgogICAgIChs ZXQgbG9vcCAoKHN0YXJ0IDApIChhY2MgJygpKSkKICAgICAgIChjb25kICgoc3RyaW5nLWluZGV4 IHVwYXRoICNcLyBzdGFydCkKICAgICAgICAgICAgICA9PiAobGFtYmRhIChjdXQpCiAgICAgICAg ICAgICAgICAgICAoc2V0ISBjdXQgKDErIGN1dCkpCiAgICAgICAgICAgICAgICAgICAobG9vcCBj dXQgKGFjb25zIHN0YXJ0IGN1dCBhY2MpKSkpCiAgICAgICAgICAgICAoZWxzZQogICAgICAgICAg ICAgIChtYXAgKGxhbWJkYSAoeCkKICAgICAgICAgICAgICAgICAgICAgKGxpc3QgIjxBIEhSRUY9 XCIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdWJzdHJpbmcgdXBhdGggMCAoY2RyIHgp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAiXCI+IgogICAgICAgICAgICAgICAgICAgICAg ICAgICAoc3Vic3RyaW5nIHVwYXRoIChjYXIgeCkgKGNkciB4KSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIjwvQT48QlI+IikpCiAgICAgICAgICAgICAgICAgICAocmV2ZXJzZSBhY2MpKSkp KQogICAgICI8SDI+RGlyZWN0b3J5ICIgKGJhc2VuYW1lIHVwYXRoKSAiPC9IMj48SFI+PFBSRT4i CiAgICAgKHNvcnQKICAgICAgKGxldCAoKGRpci1zdHJlYW0gKG9wZW5kaXIgZGlyKSkpCiAgICAg ICAgKGxldCBsb29wICgoZmlsZSAocmVhZGRpciBkaXItc3RyZWFtKSkgKGFjYyAnKCkpKQogICAg ICAgICAgKGlmIChlb2Ytb2JqZWN0PyBmaWxlKQogICAgICAgICAgICAgIChyZXZlcnNlIGFjYykK ICAgICAgICAgICAgICAobG9vcCAocmVhZGRpciBkaXItc3RyZWFtKQogICAgICAgICAgICAgICAg ICAgIChpZiAob3IgKHN0cmluZz0/ICIuIiBmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHN0cmluZz0/ICIuLiIgZmlsZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIGFjYwogICAg ICAgICAgICAgICAgICAgICAgICAoY29ucyAoZm9ybWF0ICNmICIgPEEgSFJFRj1+Uz5+QTwvQT5c biIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW4tdmljaW5pdHkgdXBh dGggZmlsZSkgZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjKSkpKSkpCiAg ICAgIHN0cmluZzw/KQogICAgICI8L1BSRT4iCiAgICAgKCpib3R0b20pKQogIChNICM6cmVjaHVu ay1jb250ZW50ICgqIDE2IDEwMjQpKQogIChNICM6c2VuZC1yZXBseSkpCgo7OyBUcmFuc2ZlciBh IGZpbGUuCjs7CihkZWZpbmUgKHRyYW5zbWl0LWZpbGUgTSBmaWxlbmFtZSkKICAoYWRkLXN0YW5k YXJkLWhlYWRlcnMgTSkKICAoTSAjOnNldC1yZXBseS1zdGF0dXM6c3VjY2VzcykKICAoTSAjOmFk ZC1oZWFkZXIgIzpDb25uZWN0aW9uICJjbG9zZSIpCiAgKE0gIzphZGQtaGVhZGVyICM6Q29udGVu dC1UeXBlIChmaWxlbmFtZS0+Y29udGVudC10eXBlIGZpbGVuYW1lICJ0ZXh0L3BsYWluIikpCiAg KE0gIzphZGQtY29udGVudCAoc2x1cnAgZmlsZW5hbWUpKQogIChNICM6cmVjaHVuay1jb250ZW50 ICgqIDE2IDEwMjQpKQogIChNICM6c2VuZC1yZXBseSkpCgoMCjs7IER5bmFtaWMgVVJMcyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCjs7IFRo aXMgaXMgdGhlIGxpc3Qgb2YgcmVnaXN0ZXJlZCBkeW5hbWljIGhhbmRsZXJzLiAgVGhlIGNhciBv ZiB0aGUKOzsgYXNzb2NpYXRpb24gaXMgYSBjb21waWxlZCByZWdleHAsIHRoZSBjZHIgdGhlIGNv cnJlc3BvbmRpbmcgaGFuZGxlci4KCihkZWZpbmUgKmR5bmFtaWMtdXJsLWhhbmRsZXJzKiAnKCkp CgooZGVmaW5lIChhZGQtZHluYW1pYy1oYW5kbGVyISByZS1zdHIgaGFuZGxlcikKICAoc2V0ISAq ZHluYW1pYy11cmwtaGFuZGxlcnMqCiAgICAgICAgKGFwcGVuZCEgICAgICAgICAgICAgICAgICAg ICAgICA7IG1haW50YWluIG9yZGVyCiAgICAgICAgICpkeW5hbWljLXVybC1oYW5kbGVycyoKICAg ICAgICAgKGFjb25zIChtYWtlLXJlZ2V4cCByZS1zdHIpIGhhbmRsZXIgJygpKSkpKQoKOzsgUmV0 dXJuIGEgZHluYW1pYyBoYW5kbGVyIHN1aXRhYmxlIGZvciBgdXBhdGgnLCBvciAjZiBpZiBub24g Zm91bmQuCjs7CihkZWZpbmUgKGZpbmQtZHluYW1pYy11cmwtaGFuZGxlciB1cGF0aCkKICAobGV0 IGxvb3AgKChscyAqZHluYW1pYy11cmwtaGFuZGxlcnMqKSkKICAgIChjb25kICgobnVsbD8gbHMp ICNmKQogICAgICAgICAgKChyZWdleHAtZXhlYyAoY2FyIChjYXIgbHMpKSB1cGF0aCkgKGNkciAo Y2FyIGxzKSkpCiAgICAgICAgICAoZWxzZSAobG9vcCAoY2RyIGxzKSkpKSkpCgoMCjs7IE1haW4g cHJvZ3JhbSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KCihkZWZpbmUgKG1ha2Utc2VydmVyLWxvb3Agbm8tYWNjZXNzPykKICAobWFrZS1iaWct ZGlzaGluZy1sb29wCiAgICM6bmVlZC1oZWFkZXJzICN0CiAgICM6bmVlZC1pbnB1dC1wb3J0ICN0 CiAgICM6R0VULXVwYXRoIChsYW1iZGEgKE0gdXBhdGggaGVhZGVycyBpbi1wb3J0KQogICAgICAg ICAgICAgICAgIChNICM6cmVzZXQtcHJvdG9jb2whKQogICAgICAgICAgICAgICAgIChjb25kICgo ZmluZC1keW5hbWljLXVybC1oYW5kbGVyIHVwYXRoKQogICAgICAgICAgICAgICAgICAgICAgICA9 PiAobGFtYmRhIChoYW5kbGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhhbmRsZSBN IGluLXBvcnQgdXBhdGggaGVhZGVycykpKQogICAgICAgICAgICAgICAgICAgICAgIChlbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChmaWxlbmFtZSAoZnMtbmFtZSB1cGF0aCkpKQog ICAgICAgICAgICAgICAgICAgICAgICAgIChjb25kICgobm90IGZpbGVuYW1lKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc2VuZC1ub3QtZm91bmQgTSB1cGF0aCkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKChuby1hY2Nlc3M/IGZpbGVuYW1lKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc2VuZC1mb3JiaWRkZW4gTSB1cGF0aCkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKChmaWxlLWlzLWRpcmVjdG9yeT8gZmlsZW5hbWUpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZW5kLWdlbmVyYXRlZC1kaXJlY3Rvcnkt aW5kZXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE0gdXBhdGggZmlsZW5hbWUp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0cmFuc21pdC1maWxlIE0gZmlsZW5hbWUpKSkpCiAgICAgICAgICAg ICAgICAgICAgICAgICN0KSkpCiAgICM6c3RhdHVzLWJveC1zaXplIDIKICAgIzpiYWQtcmVxdWVz dC1oYW5kbGVyIHNlbmQtYmFkLXJlcXVlc3QKICAgIzp1bmtub3duLWh0dHAtbWV0aG9kLWhhbmRs ZXIgc2VuZC11bmtub3duLW1ldGhvZAogICAjOmxvZyAobG9nLWh0dHAtcmVzcG9uc2UtcHJvYyAo Y3VycmVudC1vdXRwdXQtcG9ydCkpKSkKCihkZWZpbmUgKG1haW4vcW9wIHFvcCkKICAobGV0ICgo ZG9jcm9vdCAocW9wICdkb2Nyb290IChsYW1iZGEgKGRpcikgKGluLXZpY2luaXR5IGRpciAiIikp KSkKICAgICAgICAobGlzdGVuaW5nLXBvcnQgKG9yIChxb3AgJ3BvcnQgc3RyaW5nLT5udW1iZXIp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MDAxKSkpCiAgICAoc2V0ISBmcy1uYW1lICh1 cGF0aC0+ZmlsZW5hbWUtcHJvYwogICAgICAgICAgICAgICAgICAgZG9jcm9vdCAnKCJpbmRleC5z aHRtbCIgImluZGV4Lmh0bWwiKSkpCiAgICAocW9wICd1bGliZGlyIChsYW1iZGEgKGRpcikKICAg ICAgICAgICAgICAgICAgICAoZmFsc2UtaWYtZXhjZXB0aW9uCiAgICAgICAgICAgICAgICAgICAg IChsb2FkIChpbi12aWNpbml0eSBkaXIgIm1ncmFibXVlLXNlcnZsZXRzLnNjbSIpKSkpKQogICAg KGZvcm1hdCAjdCAiU3RhcnRpbmcgb24gcG9ydCB+QSwgd2l0aCBkb2Nyb290IH5TLlxuIgogICAg ICAgICAgICBsaXN0ZW5pbmctcG9ydCBkb2Nyb290KQogICAgKChtYWtlLXNlcnZlci1sb29wIChh Y2Nlc3MtZm9yYmlkZGVuPy1wcm9jCiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3Jvb3QgKHJl Z2V4cC1xdW90ZSAiLy4uLyIpKSkKICAgICBsaXN0ZW5pbmctcG9ydCkKICAgIChmb3JtYXQgI3Qg IlNodXR0aW5nIGRvd25cbiIpCiAgICAjdCkpCgooZGVmaW5lIChtYWluIGFyZ3MpCiAgKEhWUUMt TUFJTiBhcmdzIG1haW4vcW9wCiAgICAgICAgICAgICAnKHVzYWdlIC4gY29tbWVudGFyeSkKICAg ICAgICAgICAgICcodmVyc2lvbiAuICIxLjAiKQogICAgICAgICAgICAgKGxldCAoKHZhbGlkLWRp ciAobGFtYmRhIChmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZpbmUg KGJhZCBtc2cpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICN0ICJ+ QTogfkE6IH5BXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChj YXIgYXJncykgbXNnIGZpbGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChvciAoYWNjZXNzPyBmaWxlIFJf T0spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhZCAiY2Fubm90 IHJlYWQiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoZmlsZS1p cy1kaXJlY3Rvcnk/IGZpbGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGJhZCAibm90IGEgZGlyZWN0b3J5IikpKSkpKQogICAgICAgICAgICAgICBgKG9wdGlvbi1z cGVjCiAgICAgICAgICAgICAgICAgKHBvcnQgICAgKHNpbmdsZS1jaGFyICNccCkgKHZhbHVlICN0 KSkKICAgICAgICAgICAgICAgICAoZG9jcm9vdCAoc2luZ2xlLWNoYXIgI1xyKSAodmFsdWUgI3Qp IChyZXF1aXJlZD8gI3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgKHByZWRpY2F0ZSAsdmFs aWQtZGlyKSkKICAgICAgICAgICAgICAgICAodWxpYmRpciAoc2luZ2xlLWNoYXIgI1x1KSAodmFs dWUgI3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgKHByZWRpY2F0ZSAsdmFsaWQtZGlyKSkp KSkpCgo7OzsgbWdyYWJtdWUtd2Vic2VydmVyLnNjbSBlbmRzIGhlcmUK --++----------20040312093402-193676647----------++ Content-Type: application/octet-stream; name="mgrabmue-servlets.scm" Content-Transfer-Encoding: base64 Ozs7IG1ncmFibXVlLXNlcnZsZXRzLnNjbSAtLSB1c2VyIHNlcnZsZXRzIGZvciB0aGUgd2Vic2Vy dmVyCjs7Owo7OzsgQ29weXJpZ2h0IChDKSAyMDA0IFRoaWVuLVRoaSBOZ3V5ZW4KOzs7IENvcHly aWdodCAoQykgMjAwMCwgMjAwMSBNYXJ0aW4gR3JhYm11ZWxsZXIgPG1ncmFibXVlQGNzLnR1LWJl cmxpbi5kZT4KOzs7Cjs7OyBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKOzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cjs7OyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCjs7OyBh bnkgbGF0ZXIgdmVyc2lvbi4KOzs7Cjs7OyBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCjs7OyBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo7OzsgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo7Ozsg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KOzs7Cjs7OyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQo7OzsgYWxvbmcgd2l0aCB0aGlzIHBhY2thZ2U7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAg SWYgbm90LCB3cml0ZSB0bwo7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg NTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAo7OzsgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBV U0EuCgo7OzsgQ29tbWVudGFyeToKCjs7IFRoaXMgZmlsZSBkZW1vbnN0cmF0ZXMgaG93IHlvdSBj YW4gd3JpdGUgeW91ciBvd24gY3VzdG9taXplZCBzZXJ2bGV0Cjs7IGluIFNpenpXZWIuICBBIHNl cnZsZXQgcHJvY2VkdXJlIG11c3QgcGVyZm9ybSB0aGUgZm9sbG93aW4gc3RlcHM6Cjs7IC0gU2V0 IHRoZSBIVFRQIHJlc3BvbnNlIHN0YXR1cwo7OyAtIEFkZCBhcHByb3ByaWF0ZSBoZWFkZXJzCjs7 IC0gQWRkIGNvbnRlbnQKOzsgLSBDb21taXQgdGhlIHJlc3BvbnNlLgoKOzs7IENvZGU6CgooZGVm aW5lLW1vZHVsZSAodHRuLWRvIG1ncmFibXVlLXdlYnNlcnZlcikKICAjOnVzZS1tb2R1bGUgKHR0 biBzaGVsbC1jb21tYW5kLXRvLXN0cmluZykpCgo7OyBLaWxsIHRoZSBzZXJ2ZXIgbG9vcCAoYnkg cmV0dXJuaW5nICNmKS4KOzsKKGFkZC1keW5hbWljLWhhbmRsZXIhCiAiXi9xcXEiCiAobGFtYmRh IChNIGluLXBvcnQgdXBhdGggaGVhZGVycykKICAgKGFkZC1zdGFuZGFyZC1oZWFkZXJzIE0pCiAg IChNICM6c2V0LXJlcGx5LXN0YXR1czpzdWNjZXNzKQogICAoTSAjOmFkZC1oZWFkZXIgIzpDb25u ZWN0aW9uICJjbG9zZSIpCiAgIChNICM6YWRkLWhlYWRlciAjOkNvbnRlbnQtVHlwZSAidGV4dC9w bGFpbiIpCiAgIChNICM6YWRkLWNvbnRlbnQgImJ5ZSEiKQogICAoTSAjOnNlbmQtcmVwbHkpCiAg ICNmKSkKCjs7IFdyaXRlIGEgc2hvcnQgbWVzc2FnZSBhbmQgZHVtcCB0aGUgaGVhZGVycyBmcm9t IHRoZSBjbGllbnQuCjs7CihhZGQtZHluYW1pYy1oYW5kbGVyIQogIl4vdGVzdCIKIChsYW1iZGEg KE0gaW4tcG9ydCB1cGF0aCBoZWFkZXJzKQogICAoYWRkLXN0YW5kYXJkLWhlYWRlcnMgTSkKICAg KE0gIzpzZXQtcmVwbHktc3RhdHVzOnN1Y2Nlc3MpCiAgIChNICM6YWRkLWhlYWRlciAjOkNvbm5l Y3Rpb24gImNsb3NlIikKICAgKE0gIzphZGQtaGVhZGVyICM6Q29udGVudC1UeXBlICJ0ZXh0L2h0 bWwiKQogICAoTSAjOmFkZC1jb250ZW50CiAgICAgICI8SFRNTD48SEVBRD48VElUTEU+SXQgd29y a2VkPC9USVRMRT48L0hFQUQ+PEJPRFk+IgogICAgICAiPFA+SXQgc2VlbXMgdGhhdCBkeW5hbWlj IFVSTCBzdXBwb3J0IGluICIgKnNlcnZlci1uYW1lKiAiIHdvcmtzLjwvUD4iCiAgICAgICI8UD5U aGUgZm9sbG93aW5nIGhlYWRlcnMgd2VyZSBzZW50IGJ5IHlvdXIgYnJvd3Nlcjo8L1A+PFRBQkxF PiIKICAgICAgKG1hcCAobGFtYmRhICh4KQogICAgICAgICAgICAgKGxpc3QgIjxUUj48VEQ+IiAo Y2FyIHgpICI8L1REPjxURD4iIChjZHIgeCkgIjwvVEQ+PC9UUj5cbiIpKQogICAgICAgICAgIGhl YWRlcnMpCiAgICAgICI8L1RBQkxFPjwvQk9EWT48L0hUTUw+IikKICAgKE0gIzpzZW5kLXJlcGx5 KSkpCgo7OyBSZWdpc3RlciB0aGUgdGltZSBzZXJ2bGV0IHRvIHJlc3BvbmQgZm9yIGFsbCBVUkxz IGJlbG93IGAvdGltZScuCjs7CihhZGQtZHluYW1pYy1oYW5kbGVyIQogIi90aW1lIgogKGxhbWJk YSAoTSBpbi1wb3J0IHVwYXRoIGhlYWRlcnMpCiAgIChhZGQtc3RhbmRhcmQtaGVhZGVycyBNKQog ICAoTSAjOnNldC1yZXBseS1zdGF0dXM6c3VjY2VzcykKICAgKE0gIzphZGQtaGVhZGVyICM6Q29u bmVjdGlvbiAiY2xvc2UiKQogICAoTSAjOmFkZC1oZWFkZXIgIzpDb250ZW50LVR5cGUgInRleHQv aHRtbCIpCiAgIChNICM6YWRkLWNvbnRlbnQKICAgICAgIjxIVE1MPjxIRUFEPjxUSVRMRT5UaW1l IHNlcnZsZXQ8L1RJVExFPjwvSEVBRD4iCiAgICAgICI8Qk9EWT48SDI+VGltZSBzZXJ2bGV0PC9I Mj4iCiAgICAgICI8UD5DdXJyZW50IGxvY2FsIHRpbWUgb24gdGhpcyBzZXJ2ZXI6ICIKICAgICAg KHN0cmZ0aW1lICIlSDolTSIgKGxvY2FsdGltZSAoY3VycmVudC10aW1lKSkpCiAgICAgICI8L1A+ PC9CT0RZPjwvSFRNTD4iKQogICAoTSAjOnNlbmQtcmVwbHkpKSkKCjs7IFJlZ2lzdGVyIHRoZSB1 c2VyIHNlcnZsZXQgdG8gcmVzcG9uZCBmb3IgYWxsIFVSTHMgYmVsb3cgYC91c2VyJy4KOzsKKGFk ZC1keW5hbWljLWhhbmRsZXIhCiAiL3VzZXIiCiAobGFtYmRhIChNIGluLXBvcnQgdXBhdGggaGVh ZGVycykKICAgKGFkZC1zdGFuZGFyZC1oZWFkZXJzIE0pCiAgIChNICM6c2V0LXJlcGx5LXN0YXR1 czpzdWNjZXNzKQogICAoTSAjOmFkZC1oZWFkZXIgIzpDb25uZWN0aW9uICJjbG9zZSIpCiAgIChN ICM6YWRkLWhlYWRlciAjOkNvbnRlbnQtVHlwZSAidGV4dC9odG1sIikKICAgKE0gIzphZGQtY29u dGVudAogICAgICAiPEhUTUw+PEhFQUQ+PFRJVExFPlVzZXIgc2VydmxldDwvVElUTEU+PC9IRUFE PiIKICAgICAgIjxCT0RZPjxIMj5Vc2VyIHNlcnZsZXQ8L0gyPiIKICAgICAgIjxQPlRoaXMgaXMg dGhlIHNlcnZsZXQgZnJvbSB0aGUgU2l6emxlIGRpc3RyaWJ1dGlvbiB0YWxraW5nLjwvUD4iCiAg ICAgICI8UD5Zb3UgcmVxdWVzdGVkIDxUVD4iIHVwYXRoICI8L1RUPi48L1A+PC9CT0RZPjwvSFRN TD4iKQogICAoTSAjOnNlbmQtcmVwbHkpKSkKCjs7IEEgZHluYW1pYyB1cGF0aCBoYW5kbGVyIGZv ciAuc2h0bWwgZmlsZXMuICBGaWxlIGNvbnRlbnRzIGFyZSBzY2FubmVkCjs7IGZvciBgPCEtLSNT U0lLRVkgVkFSPVZBTC0tPicgY29tbWVudHMsIHdoaWNoIGFyZSByZXBsYWNlZCB3LyB0aGUKOzsg YXBwcm9wcmlhdGUgInNlcnZlci1zaWRlIGluY2x1ZGUiIG91dHB1dC4gIEF0IHRoaXMgdGltZSwg b25seQo7OyBgI2luY2x1ZGUnIGFuZCBgI2V4ZWMnIGFyZSBoYW5kbGVkLiAgRnVsbHkgZXhwYW5k ZWQ6Cjs7Cjs7ICAgIDwhLS0jaW5jbHVkZSBmaWxlbmFtZT0iRklMRU5BTUUiLS0+Cjs7ICAgIDwh LS0jZXhlYyBjbWQ9IlBST0dSQU0gW0FSR1MgLi4uXSItLT4KOzsKOzsgTm90ZSB0aGF0IHRoZSBk b3VibGUtcXVvdGVzIGFyZSByZXF1aXJlZC4gIFtUaGlzIG1heSBkaWZmZXIgc29tZXdoYXQKOzsg ZnJvbSBBcGFjaGUgYmVoYXZpb3IgLS0gc29ycnksIG1hbnVhbCBub3QgaGFuZHkgYXQgdGhlIG1v bWVudCwgdGhpcwo7OyBpcyBmcm9tIG1lbW9yeS4gIFdlIHNob3VsZCBwcm9iYWJseSBmaXggdGhp cyB0byBtYWtlIGl0IG1pbWljIEFwYWNoZQo7OyBhcyBtdWNoIGFzIHBvc3NpYmxlIHRvIGF2b2lk IHVzZXIgY29uZnVzaW9uLiAgLXR0bl0KOzsKKGFkZC1keW5hbWljLWhhbmRsZXIhCiAiXFwuc2h0 bWwkIgogKGxhbWJkYSAoTSBpbi1wb3J0IHVwYXRoIGhlYWRlcnMpCiAgIChhZGQtc3RhbmRhcmQt aGVhZGVycyBNKQogICAoTSAjOnNldC1yZXBseS1zdGF0dXM6c3VjY2VzcykKICAgKE0gIzphZGQt aGVhZGVyICM6Q29ubmVjdGlvbiAiY2xvc2UiKQogICAoTSAjOmFkZC1oZWFkZXIgIzpDb250ZW50 LVR5cGUgInRleHQvaHRtbCIpCiAgIChsZXQqICgocnggKG1ha2UtcmVnZXhwICI8IS0tIyhbYS16 XSspIChbYS16XSspPVwiKFtePl0rKVwiLS0+IikpCiAgICAgICAgICAoc3NpIChmcy1uYW1lIHVw YXRoKSkKICAgICAgICAgIChzdHIgKHNsdXJwIHNzaSkpCiAgICAgICAgICAobWF4IChzdHJpbmct bGVuZ3RoIHN0cikpCiAgICAgICAgICAoYyAnKCkpKQogICAgIDs7IGRvIHR3byBwYXNzZXMgdG8g YWxsb3cgZm9yIHZhbGlkYXRpb24gKHRiZCkKICAgICAobGV0IGxvb3AgKChzdGFydCAwKSAoYWNj ICcoKSkpCiAgICAgICAoaWYgKD49IHN0YXJ0IG1heCkKICAgICAgICAgICAoc2V0ISBjIChyZXZl cnNlIGFjYykpCiAgICAgICAgICAgKGxldCAoKG0gKHJlZ2V4cC1leGVjIHJ4IHN0ciBzdGFydCkp KQogICAgICAgICAgICAgKGlmIG0KICAgICAgICAgICAgICAgICAobG9vcCAobWF0Y2g6ZW5kIG0p CiAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgKGNvbnMgKHN0cmluZy0+c3ltYm9sIChtYXRj aDpzdWJzdHJpbmcgbSAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0 Y2g6c3Vic3RyaW5nIG0gMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgKHN1 YnN0cmluZyBzdHIgc3RhcnQgKG1hdGNoOnN0YXJ0IG0pKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFjYykpKQogICAgICAgICAgICAgICAgIChsb29wIG1heCAoY29ucyAoc3Vi c3RyaW5nIHN0ciBzdGFydCBtYXgpIGFjYykpKSkpKQogICAgIChjaGRpciAoZGlybmFtZSBzc2kp KQogICAgIChmb3ItZWFjaCAobGFtYmRhIChjaHVuaykKICAgICAgICAgICAgICAgICAoTSAjOmFk ZC1jb250ZW50CiAgICAgICAgICAgICAgICAgICAgKGlmIChzdHJpbmc/IGNodW5rKQogICAgICAg ICAgICAgICAgICAgICAgICBjaHVuawogICAgICAgICAgICAgICAgICAgICAgICAoY2FzZSAoY2Fy IGNodW5rKQogICAgICAgICAgICAgICAgICAgICAgICAgICgoaW5jbHVkZSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHNsdXJwIChjZHIgY2h1bmspKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAoKGV4ZWMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaGVsbC1jb21tYW5kLXRv LXN0cmluZyAoY2RyIGNodW5rKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgKGVsc2UgIig/ Pz8pIikpKSkpCiAgICAgICAgICAgICAgIGMpKQogICAoTSAjOnNlbmQtcmVwbHkpKSkKCjs7OyBt Z3JhYm11ZS1zZXJ2bGV0cy5zY20gZW5kcyBoZXJlCg== --++----------20040312093402-193676647----------++ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user --++----------20040312093402-193676647----------++--