代码之家  ›  专栏  ›  技术社区  ›  jldugger maiklos

我应该如何构建财务DSL?

  •  1
  • jldugger maiklos  · 技术社区  · 16 年前

    1. 嵌入式python。
    2. 使用特定于域的语言。 我不是第一个想到用这种方式来表达事物的人,事实上我知道我不是。是否有任何免费的公共语言可以代表这一点?

    有人能就哪种方法更好提供建议吗?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Brian Campbell Dennis Williamson    16 年前

    这听起来有点类似于西蒙·佩顿·琼斯等人的工作 representing financial contracts using combinator libraries ,包括 implementation in Haskell ,包括在给定模型的基础上运行评估函数以计算合同价值的能力。我对金融的了解还不足以告诉你这是否正是你所要寻找的,但听起来好像是在正确的范围内。

    至于你的具体问题,我通常更喜欢嵌入式领域特定语言(也就是说,嵌入在宿主语言中的类似DSL的结构,比如Ruby及其面向对象的元编程、Scheme及其宏或Haskell combinator库),因为它免费为你提供宿主语言的全部功能;通常,在编写具有自己的语法、执行模型、运行时等的特定于域的语言时,您会遇到一些事情,如果您有可用的现有语言,这些事情将很容易完成,但由于您没有在DSL中实现某些东西,因此很难处理。

        2
  •  2
  •   Robert Harvey    16 年前

    如果您觉得必须将公式存储在数据库中,那么我支持嵌入式Python。

        3
  •  1
  •   Shane    16 年前

    另一个选择是使用 R the CRAN finance view Rmetrics .

    R还与其他语言非常好地交互,包括Python、java和C++。您提到了Python:如果您想编写包装器脚本,可以使用RPy。