APL可以作为DSL在Scala中实现吗?

时间:2011-10-16 06:39:40

标签: scala dsl apl

有一种叫做APL的旧计算机语言。这可以在Scala中作为DSL实现吗?

http://en.wikipedia.org/wiki/APL_%28programming_language%29

2 个答案:

答案 0 :(得分:5)

有人可能会给出比这更好的答案,但这是我最初的想法:

  1. Scala DSL理论上应该能够实现任何编程语言,因为它可以构建表示语法的任意结构,然后对其进行评估。

  2. Scala DSL无法完全复制APL语法有很多原因,其中之一就是

    '单引号'

  3. 可以表示APL中的字符串,但不能表示Scala中的字符串。另外(来自wikipedia page

    ×/2 3 4
    

    无效Scala。

    我不知道你有多接近,但是......

答案 1 :(得分:1)

此处存在Javascript实现:https://github.com/ngn/apl