问题标签 [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.
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 并粘贴它。
metaprogramming - 为什么机器学习被称为元语言?
ML(及其变体,例如 SML)如何成为元语言。ML 描述的对象语言是什么?仅仅是因为函数被认为是值,因此代码与数据的处理方式相同吗?
javascript - 了解用于描述 DOM 的术语
这似乎是一个奇怪的问题,但我现在正在努力解决 DOM 并试图理解它的结构。当我尝试更具体地可视化 DOM 时,用于描述其构造的许多语言让我有点困惑。
似乎介词“on”经常被用来描述属性和对象之间的关系。例如,向这个论坛提出的一个问题是“为什么 Dom 元素作为属性存在于窗口对象上”。一位受访者写道:“……HTML5 指定元素是候选对象,可以直接作为窗口对象的属性公开……”。
这让我很困扰。为什么“开”?我讨厌这么挑剔,但“属性”不是一个对象吗?还是发现“在”一个对象?还是“继承自”或“来自”另一个对象?什么时候属性' on '是一个对象?因此,使用介词“on”来描述我不知道的东西一定有一定的意义。还有对“附加”到对象的属性或对象的引用,我怀疑这意味着同样的事情。
data-structures - 是否有一种类似于 BNF 的元语言可以简洁地描述自描述数据?
比如说我有一个自我描述的数据集。前几个结构良好的记录定义了数据类型 ID,其中包括记录的名称和长度,然后是内容记录,内容记录以数据 ID 开头并包含可变数量的数据,具体取决于 ID。
使用 BNF、EBNF 或 ABNF 来描述定义记录很容易......但是如何简洁地描述内容记录,其长度在定义记录中定义?
这是一个使用类似 BNF 的表示法描述经典 NetCDF 数据格式的示例,但并不简洁,因为在前面的定义中没有将 的长度指定为data
recs
数据的函数。dim
var
dictionary - 在 SML 中创建字典
我是 SML 语言的新学习者。我已经学习了 SML 语言的基础知识。但是,我在获取在 SML 中创建字典的代码时遇到了麻烦。所以,我想知道代码。
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)”上会发生什么,这是应用递归,所以它可以遍历我给它的列表,看看它必须在哪里替换原来的替代品?如果是这样,我无法确切地看到它作为一个整体的功能是如何做到的,这让我很困惑。