Roland Orre <[EMAIL PROTECTED]> wrote
In python I can easily define a web server to serve my needs (simple GET and POST including cookie handling and file transfers). I've set up such a server using examples I found in half an hour.
The easiest now would be to make such a server in guile, but I have searched for such a server but haven't found anything, does anyone have any hint about such a solution?
I've found a number of scheme web-frameworks. Unfortunately, many seem tied to a particular scheme (e.g. PLT). I haven't yet attempted to see if they'd run under guile.
A thread http://list.cs.brown.edu/pipermail/plt-scheme/2004-May/005617.html
Out of date faq: http://www.schemers.org/Documents/FAQ/#id2515233
Servers: Sunet (scsh, but guile tries to be compatible with scsh) http://www.scsh.net/resources/sunet.html WebIt (PLT?) http://celtic.benderweb.net/webit/ http://schemecookbook.org/Cookbook/WebIt PLT (DrScheme?) has a built in web-server Continuation based, not production level (?) (chicken) http://www.double.co.nz/scheme/modal-web-server.html SISC (java based) http://www.lisperati.com/quick.html http://www.pyro.net/~crayc/code/recluse/ Serveez ....? guile-www ...? Recluse (guile) http://www.advogato.org/proj/recluse/
Cgi applications: http://okmij.org/ftp/Scheme/web.html#search-mslib http://www.glug.org/people/ttn/software/wikid/
I've found very little on templating approaches in scheme. Though some of the above include it. I've written one, but it's not ready for the public yet.
SpeakHtml
http://faith.eu.org/programs.html#Speakhtml
Bunch of pieces, including xml stuff; http://okmij.org/ftp/Scheme/web.html
Illustrative (implements a wiki), PLT: http://schematics.sourceforge.net/moshimoshi.html
Just cookies (PLT): http://www.cs.utah.edu/plt/develop/plt-install.html ftp://wish.com.mx/pub/scheme/v103/cookie.plt
An example that handles the user uploading a file (PLT): http://schemecookbook.org/Cookbook/WebFileUpload
An outline of cgi's for mzscheme: http://www.htus.org/Book/2001-11-13/howto-Z-H-17.html#%_part_VI%3E
Pieces and servers (Chicken) http://www.call-with-current-continuation.org/eggs/#web-and-xml
HTML, and XML, as s-expressions: http://www.cs.auc.dk/~normark/laml/
Parsing HTML (permissive!) http://www.neilvandyke.org/htmlprag/
CGI lib: http://higgs.djpig.de/ubuntu/www/hoary/web/guile-www NB: query-string parsing is buggy.
You may want to google for "continuation" and cgi/web. e.g. http://www.double.co.nz/scheme/modal-web-server.html http://www.double.co.nz/scheme/partial-continuations/partial-continuations.html http://dresese.thehyatts.net/archives/000253.html http://www.double.co.nz/pdf/continuations.pdf http://library.readscheme.org/pagexml.html
relevant thread http://lists.gnu.org/archive/html/guile-user/2004-03/msg00066.html
Is there any other way? Like including guile in the apache server. What is essential is that the guile process with its memory resident data bases and such is active all the time. I don't know how to do such a thing with apache though (hints?)
I'm also looking for such a solution.
With Apache, the two most popular approaches are FastCGI and mod_yourLanguage. The implementations for guile/scheme seem to be awol. If you find one, please email me!
There is a fastcgi for common lisp. It's on my list to do a port to r5rs (well, guile first).
There is a fastcgi proxy thing for scheme/guile. https://www.metnet.navy.mil/~latendre/metcast.html
Or, you could run a guile web-server (i.e. handle http requests yourself). In conjunction with some Apache rules to forward appropriate requests.... Some of the above links talk about implementing a web-server in scheme/guile.
Also, see the literature and implementations on continuations for web-applications.
http://www.double.co.nz/scheme/modal-web-server.html
I also need an XML parser, the python xml.sax worked very smoothly but I guess I may be able to do the same using the SSAX module,
SSAX seems like the solution to start with. http://okmij.org/ftp/Scheme/xml.html
Any hints? If someone has a working webserver in guile serving GET, POST, cookies, and file transfers, and want to share that I would become tremendously happy.
See some of the links above. I've a web-app framework (not persistent threads/processes!). Not ready for the public (that's next on the list: publish it).
Ideally python and guile would share the internal data structures as they fundamentally are using similar type systems, so it shouldn't be that much of a problem. Anyone having ideas in this direction?
Parrot (the perl6 VM) seems like a place to look. I haven't stumbled across discussions of inter-language calls. I'm sure somebody is talking about it, I just haven't researched/looked for it. Tell us what you find.
I haven't noticed anything about scheme on parrot either.
Best regards Roland
And, free advice: MVC. Use a templating system (cf. Smarty). Then tell use what you used.
-- Alan Grover [EMAIL PROTECTED] +1.734.476.0969
_______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user