Haskell

Haskell 中文群 

u-egi 7 months ago
去 hoogle 上按类型搜。
u-jjchehadbhca 7 months ago
reflex有人了解里面的requester怎么用么
u-jjchehadbhca 7 months ago
没找到例子
u-ab 7 months ago
我有一个325M 的文件, 需要读出来然后转换成Lazy ByteString 然后转换成csv 的格式。这个过程会导致内存爆掉, 操作系统会kill 掉这个进程。
u-ab 7 months ago
有什么办法可以解决这个问题呢?
u-ab 7 months ago
除了将文件切分这种办法。
u-ga 7 months ago
用conduit之类的stream库
u-ab 7 months ago
还有一个问题,怎么应对oom 这种问题。
u-facafichciiiheihbb 7 months ago
不应该吧? 我几g的文件都不oom
u-ae 7 months ago
Swap区不够大?现在都默认你内存够用不给你留Swap区了
u-jadcejbebjhfi 7 months ago
Oom 就是 lazy 引起的,和系统调优没关系
u-jadcejbebjhfi 7 months ago
要么把操作都用 strict 方法实现,要么用 stream ,就没有 oom 的问题了
u-facafichciiiheihbb 7 months ago
lazy怎么会oom? lazy占空间的是代码thunk
u-jadcejbebjhfi 7 months ago
哦,刚才说得不对,strict 只是可控
u-jadcejbebjhfi 7 months ago
不至于引起不明消耗而已,本来才 325m, 应该怎么都不会 oom 的
u-ab 7 months ago
我拿着String 转换成了byteString, 然后有转换成了lazy byte string
u-ab 7 months ago
我也觉得不应该oom
u-facafichciiiheihbb 7 months ago
哪里来的string?
u-ae 7 months ago
[旺柴]那内存可能是string那步爆的
u-facafichciiiheihbb 7 months ago
不是直接可以读取bytestring?
u-ab 7 months ago
cassava 并没有stream 的方式
u-facafichciiiheihbb 7 months ago
没有吧?
u-ab 7 months ago
我不知道怎么从文件直接读取一个lazy bytestring (utf8 ) 的
u-facafichciiiheihbb 7 months ago
我之前看过cassava 专门有streaming 优化接口的
u-ab 7 months ago
我试试是什么地方出的问题吧。
u-facafichciiiheihbb 7 months ago
string应该也不会有问题,看起来是你cassava没有用streaming接口
u-facafichciiiheihbb 7 months ago
并且csv你也可以一行一行的写
u-ab 7 months ago
是的,我发现应该是前面的string -> bytestring -> lazybytestring 的过程异常了
u-facafichciiiheihbb 7 months ago
你这个需求不能用非lazy的数据结构
u-ab 7 months ago
所以有没有一个函数,直接读取文件,是lazy bytestring 的呢?
u-facafichciiiheihbb 7 months ago
有啊
u-facafichciiiheihbb 7 months ago
Lazy.Text, Lazy.ByteString都可以啊。。。 haskell 的实时是所有语言最强大的。。。不仅可以实时,还可以穿透
u-facafichciiiheihbb 7 months ago
其它语言不是实时的,haskell都能实时,简单太恐怖了
u-ab 7 months ago
没有细看这个包下的函数。
u-facafichciiiheihbb 7 months ago
玩多了就好了。。。我对这些研究得比较多一点。
u-facafichciiiheihbb 7 months ago
haskell就是数据库方面比较难搞,各种数据库没有统一的标准。
u-facafichciiiheihbb 7 months ago
像postgrest就只支持pg数据库,不支持其它数据库,想扩展也比较麻烦。 并且pg的各种库里面,pure实现,binary实现,普通实现又份叉的厉害,不能兼容,又得做适配。。。
u-facafichciiiheihbb 7 months ago
但是技术含量却是最强的
u-ab 7 months ago
数据库这里我还没有研究过。
u-facafichciiiheihbb 7 months ago
haskell实用性太强了,啥都有,比其它语言还全,就是要自己改造,就得读源码。。。
u-facafichciiiheihbb 7 months ago
web这块的snaplet太强了。。。真不习惯用spring cloud,浪费时间。。。
u-bj 7 months ago
你用snaplet管理理由? serverless 提供服务?
u-facafichciiiheihbb 7 months ago
没有搞serveless。。。没玩那么复杂
u-bj 7 months ago
我用wrap + MonadTrans + sleeveless