【问题标题】:Does Haskell have an equivalent to Sage?Haskell 是否有与 Sage 等价的功能?
【发布时间】:2011-09-26 13:45:56
【问题描述】:

Haskell 程序员有类似 Sage 的东西吗?

【问题讨论】:

  • 计算机代数系统 DoCon 是用 Haskell 编写的,虽然我没用过,也不知道它的现状,但我似乎记得它相当充实。 botik.ru/~mechvel/welcome.eng.html
  • 只是同意其他一些答案——没有什么全面的,只有个别的位和绑定。
  • 我曾经想开始这样一个项目,但由于我个人时间不够,并且是少数有兴趣帮助我的人之一,所以没有成功......
  • 开始一个开源项目,我会贡献!
  • 不,没有。 Sage 是一个相当完善的项目,有许多贡献者,其中大部分是年轻科学家。你很难说服这些人放弃它并开始为另一个项目做贡献,只是因为你希望它在 Haskell 中而不是在 Python 中。并不是说我想要这两种语言中的任何一种。

标签: haskell sage


【解决方案1】:

很遗憾,答案似乎是“否”。

一些读者可能感兴趣的是:

通常,一种编程语言不足以完成一项任务。 例如。当我需要解决与统计数据远程相关的问题时,R (r-project.org) 是最合适的。但我不想在 R 中编写所有代码,因为 Haskell 有这个很棒的类型系统和许多其他重要特性。

我认为最好的方法是混合方法。我围绕 R 代码的功能编写了一个 RESTful Web 服务,并使用 Haskell 访问 Web 服务以获取或发送数据。 (或者可能是另一种直接访问 R 的方式。)

也许使用 Haskell 和 Python+Sage 的混合方法是有意义的。

目前我的“堆栈”上有以下三种编程语言:

  • 哈斯克尔
  • R (r-project.org)
  • Agda(或者可能是 Coq)

也可能很有趣:

在 R 中,Sage 的功能有一点重叠。主要是线性代数、绘图功能,以及一些库(例如 GD 库)也可在 R 中使用。

Agda 有一些支持

  1. Algebra and Polynomials
  2. Rings

Agda 应该可以与 Haskell 一起很好地工作,甚至语法也非常相似。 Coq 也可以与 Haskell 一起使用。见:Proving "no corruption" in Haskell

我写了“也许”和“也许”,因为我不知道这些信息是否与问题相关。

【讨论】:

    【解决方案2】:

    正如所说,没有。

    但是有Axiom,其语言 Spad 在通用高级 CAS 中也是最接近 Haskell 的。它具有强大的静态类型和抽象,类别与 Haskell 的类相似(我会说相同)。

    以前 Axiom 也可以使用优于 Haskell 的 Aldor,因为它具有依赖类型。但不幸的是,由于许可问题,Aldor 已经死了。

    一定要检查FriCAS,Axiom 的分支。

    【讨论】:

      【解决方案3】:

      老实说,据我所知不存在。

      但是有一个东西叫REPA

      这与 numpy 很相似(以一种haskellish方式)。

      【讨论】:

        【解决方案4】:

        锤子回答后产生了两个选项:

        GHC live 是两者中较新的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-03
          • 2011-02-28
          • 2011-12-02
          • 2011-11-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多