问题标签 [language-implementation]

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 投票
4 回答
899 浏览

functional-programming - 什么是FFP机器?

在 R. Kent Dybvig 的论文“Scheme 的三种实现模型”中,他谈到了“FFP 语言”和“FFP 机器”。显然,FFP 机器和多处理器上的字符串减少之间存在一些相关性。

谷歌搜索在解释或示例方面并没有真正发现太多。

任何人都可以对这个话题有所了解吗?谢谢。

0 投票
8 回答
3420 浏览

c# - 为什么大多数 C# 程序中的 main 方法入口点是静态的?

为什么大多数 C# 程序中的 main 方法入口点是静态的?

0 投票
4 回答
81811 浏览

python - PyPy——它怎么可能打败 CPython?

来自谷歌开源博客

PyPy 是 Python 中 Python 的重新实现,它使用先进的技术来尝试获得比 CPython 更好的性能。多年的努力终于有了回报。我们的速度结果经常超过 CPython,范围从稍微慢一点,到实际应用程序代码的最高加速 2 倍,再到小型基准测试的最高 10 倍加速。

这怎么可能?使用哪个 Python 实现来实现 PyPy?CPython ? PyPyPy 或 PyPyPyPy 击败他们的分数的机会有多大?

(在相关说明中......为什么有人会尝试这样的事情?)

0 投票
4 回答
12416 浏览

c++ - 如何在 C 中实现 C++ 虚函数

C++ 语言提供virtual函数。在纯 C 语言实现的约束下,怎样才能达到类似的效果呢?

0 投票
2 回答
2099 浏览

perl - Perl 中的数组是如何实现的?

Perl 数组是一种抽象数据类型。Perl 数组的内部机制是什么?它是用动态数组还是链表实现的?由于数组元素具有随机访问权限,因此我假设动态指针数组或对标量的引用是有意义的。但是,在数组的头部使用 shift 和 unshift 操作,数组是否必须通过这些操作移动其所有元素?对我来说听起来效率低下。任何想法?

0 投票
2 回答
752 浏览

python - Python 的小数精度与 C 相比如何?

我正在研究寻找第 n 个斐波那契数的黄金比例公式,这让我很好奇。

我知道 Python 可以处理任意大的整数,但是小数的精度如何?它是直接在 C double 或其他东西之上,还是它也使用了更准确的修改实现?(显然不是任意准确的。;D)

0 投票
6 回答
683 浏览

c - 启用宏的语言如何跟踪源代码以进行调试?

这是一个关于宏的更具理论性的问题(我认为)。我知道宏获取源代码并生成目标代码而不对其进行评估,从而使程序员能够创建更通用的句法结构。如果我必须对这两个宏系统进行分类,我会说有“C 风格”宏和“Lisp 风格”宏。

调试宏似乎有点棘手,因为在运行时,实际运行的代码与源代码不同。

调试器如何根据预处理的源代码跟踪程序的执行?是否必须设置特殊的“调试模式”才能捕获有关宏的额外数据?

在 C 语言中,我可以理解您会为调试设置编译时开关,但解释性语言(例如某些形式的 Lisp)如何做到这一点?

很抱歉没有尝试这个,但 lisp 工具链需要的时间比我花费的时间要多。

0 投票
4 回答
504 浏览

functional-programming - 是否有并行化的方案实现?

是否有执行并行化的 R5RS 或更高版本的方案实现?例如,如果我说要做:

如果机器可以做到,它会同时处理1、3、5和7?这应该是函数式编程的一大优势,但我找不到一个维护的、最新的方案来做到这一点。除非我断言该函数没有副作用,否则我会使用不会并行化它的函数。

0 投票
1 回答
87 浏览

javascript - Javascript实现问题:如何让这个函数显示值

请原谅我,但我确实知道 js 基础知识以及如何编写/调用基本函数,但在这种情况下,我试图匹配来自数据库的 alpha 排序类别列表以匹配我的设置(非 alpha)顺序如下指定的所述类别(这是另一个用户在我询问的有关如何映射返回的类别顺序的问题上建议使用的代码)。但是,我不知道如何将那个人的代码答案集成到我自己的代码中。

只是看到它针对另一个示例列表实现(以模仿我将从数据库中获取的内容)以及我将如何在 switch case 语句中调用它以将我的 html 包装在类别名称周围并以映射的顺序将它们返回到网页我想要会有很大帮助。对不起,如果结果很明显。当我遇到这些问题时,我正在努力学习我能做的事情。谢谢!

0 投票
2 回答
316 浏览

c - 哪些系统使用非统一指针表示?

可能重复:
是否有任何平台指向不同类型的指针具有不同的大小?

我在几个地方读到不同类型的指针在符合标准的 C 实现中可能有不同的表示。这是需要将指针参数强制转换为 printf 的一件事,例如

我对此持怀疑态度,并浏览了 C99 标准(文档 WG14 N1256,可在http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf获得)。在 6.2.5.27 中写道:

指向 void 的指针应具有与指向字符类型的指针相同的表示和对齐要求。类似地,指向兼容类型的合格或不合格版本的指针应具有相同的表示和对齐要求。所有指向结构类型的指针都应具有彼此相同的表示和对齐要求。所有指向联合类型的指针都应具有彼此相同的表示和对齐要求。 指向其他类型的指针不需要具有相同的表示或对齐要求。

因此,听起来确实像符合 C99 的实现可以对不同类型的指针使用不同的表示。

我的问题是:存在哪些 C 实现/架构实际上对不同类型的指针使用不同的表示?