在Scheme上运行一个网站
我在谷歌上找不到这个(所以也许它不存在),但我基本上想在网络服务器上安装一些东西,这样我就可以在Scheme上运行一个网站,PHP开始让我烦恼,我想为了摆脱它,我想要的是:
- 运行针对 UTF-8 输出的方案源(废话)
- 支持 SXML、SXLT 等,我计划用 SXML 编写该死的东西,然后 ->到最后的正常表示。
- 能够从服务器读取其他文件、写入它们、设置权限等等
- 还有一些东西,例如确定文件的文件大小、图像的高度、mime 类型以及所有
- 连接到数据库的 mumbo-jumbo(可选),但是因为我想要将整个数据库存储在 S 表达式本身中是足够可行的,
我不需要任何花哨的库和其他附带的东西,比如 CMS 等,除了对 SXML 的支持之外,但我'我确信我可以找到一个可以加载的库。
I can't find this on Google (so maybe it doesn't exist), but I basically'd like to install something on a web server such that I can run a site on Scheme, PHP is starting to annoy me, I want to get rid off it, what I want is:
- Run Scheme sources towards UTF-8 output (duh)
- Support for SXML, SXLT et cetera, I plan to compose the damned thing in SXML and -> to normal representation on at the end.
- Ability to read other files from the server, write them, set permissions et cetera
- Also some things to for instance determine the filesize of files, height of images, mime-types and all that mumbo-jumbo
- (optionally) connect to a database, but for what I want to do storing the entire database in S-expressions itself is feasible enough
I don't need any fancy libraries and other things that come with it like CMS'es and what-not, except the support for SXML but I'm sure I can just find a lib for that anyway that I can load.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Spark-Scheme 拥有完整的 Web 服务器。如果您不需要它,它还有一个 FastCGI 接口,以便您可以从 Apache、Lighttpd 等 Web 服务器提供 Scheme 脚本。Spark-Scheme 似乎也满足您对数据库支持、UTF-8、文件处理的要求和SXML。有关详细信息,请参阅 Spark-Scheme 编程指南 (pdf)。
Spark-Scheme has a full web server. If you don't need that, it also has a FastCGI interface so that you can serve Scheme scripts from a web servers like Apache, Lighttpd etc. Spark-Scheme also seem to meet your requirements for database support, UTF-8, file handling and SXML. See the Spark-Scheme Programming Guide (pdf) for more information.
mod_lisp 和 FastCGI 是我所知目前唯一可以工作的两个 Apache 模块。 mod_lisp 提供了Scheme 支持,因为它的体系结构类似于FastCGI,其中类似CGI 的参数通过套接字发送到第二个进程,该进程仍然作为Web 服务器的Scheme 后端运行。基本上,您可以使用其中之一将类似 CGI 的参数通过套接字发送到正在运行的方案后端。
您可以在此处找到有关这些解决方案的一些信息。还有另一个类似 FastCGI 的工作称为 SCGI,它在称为 gambit 的方案中演示了一个简单的 SCGI 接收器。该代码可能不再维护,但方案接收器 可能会有用。
回到 Apache 2.0 时代,有更多的项目使用 schema 和 clisp 绑定。我不相信 mod_scheme 发布过任何东西,但如果他们发布了,它很可能与 Apache 的现代版本不兼容。
mod_lisp and FastCGI are the only two Apache modules I'm aware of that might work at this time. mod_lisp provides Scheme support because it's architecture is similar to FastCGI, where CGI like parameters are sent over a socket to a second process which remains running as the Scheme backend to the web server. Basically you use one or the other to send CGI like parameters across a socket to a running Scheme backend.
You can find some information about these solutions here. There was another FastCGI like effort called SCGI which demoed a simple SCGI receiver in Scheme called gambit. That code is probably not maintained anymore, but the scheme receiver might be useful.
Back in the Apache 2.0 days, there were more projects playing with scheme and clisp bindings. I don't believe that mod_scheme ever released anything, but if they did, odds are it is not compatible with the modern releases of Apache.
您是否遇到过费米恩 (http://vijaymathew .wordpress.com/2009/08/19/fermion-the-scheme-web-server/)?
Did you come across Fermion (http://vijaymathew.wordpress.com/2009/08/19/fermion-the-scheme-web-server/)?
如果您正在寻找一种 lispy 语言来开发 Web 应用程序,我建议您查看 Clojure。 Clojure 是一个 Lisp 变体,非常接近 schema; 这里列出了一些差异。
Clojure 在 Java 虚拟机上运行,并与 Java 库集成良好,并且有一个很棒的 Web 应用程序框架,名为 Compojure。
If you're looking for a lispy language to develop web applications in, I'd recommend looking into Clojure. Clojure is a lisp variant that's fairly close to scheme; here is a list of some of the differences.
Clojure runs on the Java virtual machine and integrates well with Java libraries, and there's a great webapp framework available called Compojure.
查看 Chicken Schedule 的鸡蛋无限。我认为您想要的是 sxml- 包与 fastcgi 包的组合。
Check out Chicken Scheme's Eggs Unlimited. I think what you want is a combination of the sxml- packages coupled with the fastcgi package.
PLT Scheme 在此处有一个 Web 应用程序服务器: http://docs.plt-scheme .org/web-server/index.html
PLT Scheme has a web application server here: http://docs.plt-scheme.org/web-server/index.html