我刚刚开始使用Haskell,喜欢我每天遇到的抽象,比如lens
。
我已经到了一个点,REST API透镜将是有用的工作,但在我花了几个小时发现这是不可能的...是吗?
我看到的主要问题是我没有直接访问数据结构,而是输出一个请求的字符串(我的透镜语法可能是错误的):
λ> over (user "robertplant") . set favoritesong
POST http://...com/api/user/robertplant/favoritesong
{
...
}
----
λ> over (user "robertplant") . view _1
GET http://...com/api/user/robertplant/favoritesong/123
我假设这至少是一个应用问题,或者可能需要一个单子?
我的意思是,我可以想象这个透镜满足镜头定律(在某种意义上...这对我来说仍然有点模糊),但我还没有看到透镜具有输出字符串/其他数据结构的硬件。
这是一个值得追求的旅程吗?
2条答案
按热度按时间k97glaaz1#
不,很不幸,这和镜片没有任何关系。透镜是满足透镜定律的东西
你可能会在Haskell中编写一些聪明的东西来产生你正在寻找的输出,它只是不会与这个主题相关。
1mrurvl12#
如果你的API是幂等的,那么它满足透镜定律。