它...有点工作你们(这绝对编译,改编自https://hackage.haskell.org/package/scotty):
main :: IO ()
main = (do
(putStrLn "Starting Server....")
(scotty 3000 (do
(get "/hello/:name"
(text ("hello " <> (param "name") <> "!")))
(get "/users"
(json allUsers))
(get "/users/:id"
(json (filter (matchesId (param "id")) allUsers))))))
(我不知道足够的haskell 转换<>
为简单的parens,但聪明的人可以很容易地。)
我们为什么要这样做?我们可以使用任何 lisp 宏引擎对 Haskell 进行预处理!琐碎!。
想象一下。HASKELL 和 LISP 在一起。我们可以统治银河!
(我知道你的想法,但我实际上已经考虑过了:在这个例子中,Vader 是 Lisp,Luke 是 Haskell,Yoda 是 Alonzo Church)
(编辑“感谢所有回答和评论的人,我现在更聪明了。我认为尚未提到的这种技术的最大问题,并被朋友 IRL 指出:如果你编写一些 lispy 预处理器,你在你的 IDE 和工具中失去类型检查和语法突出显示和理解。这听起来像是我的硬通行证。
“我现在正在关注https://github.com/finkel-lang/finkel项目,这是我想要的 lisp 风格的 haskell 项目!” )