问题标签 [metalanguage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
51 浏览

lisp - 如何将代码 `cons[A;B]` 放入 repl,运行它,然后查看输出 `(A . B)`?

我找到了一个LISP 1.5 手册,里面有一些代码。

这个来自第 1.2 节

通过阅读手册,该函数似乎cons将两个原子作为输入参数,A并且B输出一个 S 表达式,(A . B)

问题:

如何将代码cons[A;B]放入 repl、运行它并查看输出(A . B)

我期待做类似的事情:

例如,如果我去https://www.ruby-lang.org/en/看到一些代码,我会复制它,输入irb我的 shell 并粘贴它。

在此处输入图像描述

0 投票
2 回答
259 浏览

metaprogramming - 为什么机器学习被称为元语言?

ML(及其变体,例如 SML)如何成为元语言。ML 描述的对象语言是什么?仅仅是因为函数被认为是值,因此代码与数据的处理方式相同吗?

0 投票
0 回答
26 浏览

javascript - 了解用于描述 DOM 的术语

这似乎是一个奇怪的问题,但我现在正在努力解决 DOM 并试图理解它的结构。当我尝试更具体地可视化 DOM 时,用于描述其构造的许多语言让我有点困惑。

似乎介词“on”经常被用来描述属性和对象之间的关系。例如,向这个论坛提出的一个问题是“为什么 Dom 元素作为属性存在于窗口对象上”。一位受访者写道:“……HTML5 指定元素是候选对象,可以直接作为窗口对象的属性公开……”。

这让我很困扰。为什么“开”?我讨厌这么挑剔,但“属性”不是一个对象吗?还是发现“”一个对象?还是“继承自”或“来自”另一个对象?什么时候属性' on '是一个对象?因此,使用介词“on”来描述我不知道的东西一定有一定的意义。还有对“附加”到对象的属性或对象的引用,我怀疑这意味着同样的事情。

0 投票
1 回答
59 浏览

data-structures - 是否有一种类似于 BNF 的元语言可以简洁地描述自描述数据?

比如说我有一个自我描述的数据集。前几个结构良好的记录定义了数据类型 ID,其中包括记录的名称和长度,然后是内容记录,内容记录以数据 ID 开头并包含可变数量的数据,具体取决于 ID。

使用 BNF、EBNF 或 ABNF 来描述定义记录很容易......但是如何简洁地描述内容记录,其长度在定义记录中定义?

这是一个使用类似 BNF 的表示法描述经典 NetCDF 数据格式的示例,但并不简洁,因为在前面的定义中没有将 的长度指定为data recs数据的函数。dimvar

0 投票
1 回答
908 浏览

dictionary - 在 SML 中创建字典

我是 SML 语言的新学习者。我已经学习了 SML 语言的基础知识。但是,我在获取在 SML 中创建字典的代码时遇到了麻烦。所以,我想知道代码。

0 投票
1 回答
317 浏览

function - 了解 ML 编程中的“让”和“入”

我的老师最近检查了 ML 中使用“let”和“in”的函数,但函数的主体让我感到困惑,因为我不明白它们如何协同工作以产生结果。该函数获取花园中的蔬菜列表,并用给定的替代品替换原始蔬菜,因此该列表将在原始元素所在的每个位置打印出替代品。这就是函数

图像到功能代码

我不担心最后一个模式“replaceVegetable(orig, subst, x) = x;”,我主要关心理解第二个模式。我想我知道 Garden(newRest) 是函数的局部变量,并且无论 replaceVegetable(orig, subst, Garden(rest)) 产生什么都将存储在该局部变量中。我不完全知道“in Garden((if first = orig then subst else first)::newRest)”上会发生什么,这是应用递归,所以它可以遍历我给它的列表,看看它必须在哪里替换原来的替代品?如果是这样,我无法确切地看到它作为一个整体的功能是如何做到的,这让我很困惑。

0 投票
1 回答
48 浏览

polymorphism - 在 sml 中获取 ''a 类型而不是 'a

我已经为 sml 分配写了一个哈希表。我已经为哈希表创建了一个多态构建器,但是当我使用我创建的插入函数时,我得到了一个可比较的类型(''a 而不是'a),尽管我没有进行任何包含该类型的比较。有谁知道为什么?很抱歉,如果我的代码有点乱,我已经突出显示了重要部分,其余的只是辅助函数。

代码和签名 在此处输入图像描述