在Scheme上运行一个站点

时间:2010-05-19 19:54:48

标签: scheme sxml

我在Google上找不到这个(所以也许它不存在),但我基本上想在Web服务器上安装一些东西,以便我可以在Scheme上运行一个站点,PHP开始惹恼我,我想摆脱它,我想要的是:

  • 运行Scheme源向UTF-8输出(duh)
  • 支持SXML,SXLT等,我打算在SXML中组成该死的东西,并且>到最后的正常表示。
  • 能够从服务器读取其他文件,编写它们,设置权限等等。
  • 还有一些事情可以确定文件的文件大小,图像的高度,哑剧类型和所有那些mumbo-jumbo
  • (可选)连接到数据库,但是对于我想要做的事情,将整个数据库存储在S表达式本身是可行的

我不需要任何花哨的库和其他附带的东西,如CMS'es和what-not,除了对SXML的支持,但我确信我可以找到一个lib,无论如何我可以加载

6 个答案:

答案 0 :(得分:2)

mod_lisp和FastCGI是我所知道的仅有的两个可能在此时工作的Apache模块。 mod_lisp提供Scheme支持,因为它的体系结构类似于FastCGI,其中CGI类似的参数通过套接字发送到第二个进程,该进程仍然作为Scheme后端运行到Web服务器。基本上,您使用一个或另一个将套接字中的CGI参数发送到正在运行的Scheme后端。

您可以找到有关这些解决方案的一些信息here。还有一个名为SCGI的类似于FastCGI的工作,在Scheme中演示了一个简单的SCGI接收器,称为gambit。该代码可能不再维护,但scheme receiver可能有用。

回到Apache 2.0时代,有更多的项目正在使用scheme和clisp绑定。我不相信mod_scheme曾经发布任何东西,但如果他们这样做,可能性与Apache的现代版本不兼容。

答案 1 :(得分:2)

Spark-Scheme有一个完整的网络服务器。如果您不需要它,它还有一个FastCGI接口,以便您可以从Apache,Lighttpd等Web服务器提供Scheme脚本.Spark-Scheme似乎也满足您对数据库支持,UTF-8,文件处理的要求和SXML。有关详细信息,请参阅Spark-Scheme Programming Guide(pdf)。

答案 2 :(得分:1)

答案 3 :(得分:1)

如果您正在寻找开发Web应用程序的lispy语言,我建议您查看Clojure。 Clojure是一个非常接近方案的lisp变种; here is a list一些差异。

Clojure在Java虚拟机上运行,​​并与Java库很好地集成,并且有一个很棒的webapp框架,名为Compojure

答案 4 :(得分:1)

查看Chicken Scheme的Eggs Unlimited。我想你想要的是sxml-packages与fastcgi包的结合。

答案 5 :(得分:1)

PLT Scheme在这里有一个Web应用程序服务器:http://docs.plt-scheme.org/web-server/index.html