gpt4 book ai didi

haskell - 在 Haskell 中从大型静态列表和映射初始化数据结构

转载 作者:行者123 更新时间:2023-12-01 23:20:43 24 4
gpt4 key购买 nike

我正在翻译 zxcvbn password strength Haskell 算法。

第一步,我从常见单词列表(英语单词、姓氏、男性名字等)生成几个大型数据结构。这些列表是静态的,只会偶尔重建,并且仅在重新编译应用程序时重建。

这些列表和映射用于初始化实际的密码强度算法。

当我将原始 JavaScript 转换为 Scala 时,我将静态值保存为 JSON,算法在启动时会加载该静态值。我只想生成初始化的 Scala val,但 Java 虚拟机对类有 64KByte 的限制,而我的数据超出了该限制(每个结构包含数千个单词,并且大于 64KByte)。

在 Haskell 中处理这个问题的最佳方法是什么?我可以只生成包含数据的源代码模块吗?最大模块尺寸限制是多少?我搜索了 Haskell2010 报告,但找不到编译器限制部分。

生成 Haskell 源代码显然是我的第一选择,因为这样代码可以保持纯净。如果我需要加载 JSON 并在启动时解析它,则模块的该部分将是不纯的。

最佳答案

Can I just generate a source code module containing the data?

是的。没有限制——尽管您的特定机器可能在处理某些类型的数据和某些优化级别时遇到问题。

序列化数据的字节字符串通常“正常工作”。

请参阅之前的问题 - How to compile a resource into a binary in Haskell?on the Haskell wiki

关于haskell - 在 Haskell 中从大型静态列表和映射初始化数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com