web-services - 使用 Lisp 的 Web 服务

原文 标签 web-services rest lisp

我对使用 Lisp 来支持现代 RESTful Web 服务感到好奇,但是考虑到许多变体和实现,很难知道从哪里开始。

我确信有些人将 Lisp 用于与 Web 相关的应用程序(只是在 SO 上浏览问题显示),但我想知道的是 有没有比其他的更适合 Web 服务的 Lisp 实现? (原生 unicode 支持,例如,内置的网络相关库、性能等)

我不是在寻找 unicode “hacks” 或 web 框架。我最感兴趣的是你开箱即用的东西。尽管我对 CLISP 上的 Common Lisp(作为本科计算机科学类(class)的一部分的通用多项式计算器)有一些小的经验,但我还没有将自己与任何 Lisp 派生或实现保持一致。很高兴知道这个问题是否有特别好的选择,尤其是那些实际以这种方式使用过 Lisp 的人。

最佳答案

Racket 的标准库包含一个 web server library .我玩过它,但觉得它不适合我喜欢的 Lisp 交互方式。它确实有一些不错的特性,比如基于持续的控制流,所以值得一看。

亲身经历, Common Lisp 是Web开发的绝佳选择。这就是我的博客的实现方式。Hunchentoot简单而强大,非常 Lispy。交互式编程得到了支持,并且可以想象,并且有诸如 Websockets 之类的插件(不过我还不需要)。

也就是说, 中的网络编程Clojure 同样令人愉快。我已经使用 Clojure 和 Noir 为我的家人实现了一个基于 Web 的社区中心。 .在风格上,Noir 非常类似于 Hunchentoot 和 cl-who 的组合。 .作为奖励,访问 Java 库非常有用。 (在我的例子中,实现 OpenID 登录支持,这在 Common Lisp 中是很困难的,但在 Clojure 中是轻而易举的。)因此,如果您的应用程序需要与第三方 Web 服务或数据格式交互,我建议采取Clojure 又好又长。

REST 接口(interface)在 Hunchentoot/Noir 风格的 Web 框架中也很容易实现。在这方面我无法判断 Racket 的 Web 服务器,因为我对它还不够熟悉。

关于web-services - 使用 Lisp 的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056482/

相关文章:

web-services - 使用 Reporting Services Web 服务,如何获得特定用户的权限?

java - 服务器上是否有任何公式可以生成 JSESSIONID?

c# - ICerfiticatePolicy 和 ServicePoint

java - RESTful token 和 session

lisp - 推送不像我期望的那样工作 - 为什么?

lisp - 从初学者的角度来看,Clojure 是否更接近于 Scheme 或 Common Lisp?

recursion - 如何实现 "stackless"解释语言?

web-services - 为什么要使用分页 token ?

javascript - Express + node.js API过滤

java - 模拟flickr API以进行更好的单元测试