小编Chr*_*icz的帖子

"现代"HList?

HList包是基于什么是现哈斯克尔技术.简单的问题是:鉴于过去8年Haskell/GHC开发的所有新功能,"现代"HList的构建方式会有很大不同吗?我意识到这里的答案可能不是,对于HList的特定情况,使用的技术仍然可以产生最优雅的解决方案.

我已经阅读了可扩展记录页面上记录的许多项目,唯一真正的竞争对手(即实现为hackage上可用库的一个)是记录包.或者是否有可扩展记录的链接?

haskell record

30
推荐指数
1
解决办法
1928
查看次数

Haskell quasiquotation如何用于替换Haskell级别的令牌?

haskellwiki中描述的quasiquotation主要显示为在Haskell中嵌入其他语言的有用工具,而不会弄乱字符串引用.

问题是:对于Haskell本身来说,将现有的Haskell代码放入quasiquoter以便仅仅替换令牌并将结果传递给ghc是多么容易?也许模板Haskell在这里很关键?

我找了代码示例,但没有找到任何代码示例.一些EDSL可以通过减少其组合运算符的大小而受益于此功能(例如,将'a.|.b.>>.c'转换为'[myedsl | a | b >> c]').

dsl haskell metaprogramming

15
推荐指数
1
解决办法
1034
查看次数

保存FittedModel是错误的

使用Mathematica 7和8,我们发现Mathematica无法正确保存并获得适合例程的结果.我希望有人知道:这个bug的最佳实践解决方法是什么?

我们的任务是使用NonlinearModelFit拟合大量数据集,该模型为每个数据集返回一个FittedModel.这些配合需要一段时间,我们尝试使用Save和DumpSave将结果记忆到文件中.随后的分析使用Get将FittedModel拉回来.

Mathematica在没有警告的情况下执行Save&Get,但返回的FittedModel是错误的.我们调用Get并从磁盘加载一个FittedModel,调用结果"foo".尝试foo [10]用输入10来评估拟合模型.我们看到的错误是foo ["BestFitParameters"]应该返回一个列表规则,而是将字符串插入到函数中,因为它是一个类似10的数字.尝试foo [{"BestFitParameters","BestFitParameters"}]应该在列表中给出两次规则,但是对于有缺陷的foo仍然没有评估.

根据我们是否删除/清除foo或退出内核,在此基础上存在一种奇怪且误导性的行为:

  • 将FittedModel计算为foo
  • 保存或DumpSave foo到磁盘
  • 删除和/或清除foo
  • 从磁盘获取foo
  • foo工作正常

但是如果我们重新启动内核就会失败

  • 将FittedModel计算为foo
  • 保存或DumpSave foo到磁盘
  • 杀死并重新启动内核
  • 从磁盘获取foo
  • foo是越野车

以前有没有人见过这种行为?

这个bug背后有一个很好的解释吗?

有一个很好的解决方法吗?

wolfram-mathematica mathematica-8

11
推荐指数
1
解决办法
242
查看次数