2020-6-9 19:24Erlang是一个复杂的系统,我不能在一篇简短的文章中公正地描述它的内部工作方式,但我想深入了解编译和加载模块时发生的事情。与大多数编译器一样,第一步是将文本源代码转换为抽象语法树,但这并不重要。有趣的是,代码经历了三个主要表示形式,您可以查看每一个表示形式。
Erlang的随意作用域规则在函数式语言中是独一无二的。......
2020-6-8 2:33蜂鸟是一个用于将经过训练的传统ML模型编译成张量计算的库。蜂鸟允许用户无缝地利用神经网络框架(如PyTorch)来加速传统ML模型。多亏了蜂鸟,用户可以从以下方面受益:(1)在神经网络框架中实施的所有当前和未来的优化;(2)本地硬件加速;(3)拥有支持传统和神经网络模型的独特平台;以及(4)无需重新设计他们的模型。
......
2020-6-7 21:14Parenscript是一个从Common Lisp的扩展子集到JavaScript的翻译器。Parenscript代码可以在浏览器(作为JavaScript)和服务器(作为Common Lisp)上几乎完全相同地运行。
Parenscript代码的处理方式与Common Lisp代码相同,从而使Lisp宏的全部功能......
2020-6-7 4:28外面天气很好,让我们做个编译器吧。您不需要任何关于编译器如何工作的知识就可以跟上。我们将使用Python来实现我们自己的编程语言Teeny Tiny,它将编译成C代码。它将需要大约500行代码,并提供定制编译器所需的初始基础设施,并将其扩展为您自己的数十亿美元的生产就绪编译器。
本教程是一系列帖子,循序渐进地构建可工......
2020-6-7 1:51在过去的几个月里,我们一直在使用标准的Solc智能合约编译器,并且我们已经积累了近20个新的bug(现在大部分已经修复了)。其中一些是现有错误的副本,症状或触发器略有不同,但绝大多数是编译器中以前未报告的错误。
这是一场非常成功的起毛战役,据我们所知,这也是针对Solc发起的最成功的战役之一。这不是Solc第一次使用......
2020-6-5 11:47我最喜欢的语言之一是围棋语言。我喜欢它的简约。它在云环境中很受欢迎,也很有用。许多流行的工具都是用Go编写的,这是有充分理由的。
去年我做了一次关于围棋的演讲,有人要求我对围棋进行批评。我不介意围棋缺少例外或泛型。这些功能通常被高估了。
然而,尽管Go很有魅力,但我发现它的编译器与我对其他编程语言的期望不一样。当围棋......
2020-6-4 13:18看起来clang-11.0.0编译器错误编译了sqlite3.c版本3.32.1。我已经签入了对SQLite的更改,似乎可以解决这个问题。但可能还有其他虫子。因此,请谨慎使用clang-11.0.0并仔细测试您的应用程序!
OSSFuzz在SQLite上报告了错误23003。我无法在我的桌面(带有GCC-5.4.0的......
2020-5-31 11:8TL;DR:缓存统治着我周围的一切。PYC文件可以包含机密,不应签入到源代码管理。使用标准的Python.gitignore。
当您第一次导入Python文件时,Python解释器将对其进行编译,并将结果字节码缓存到.pyc文件中,以便后续导入不必处理再次解析或编译代码的开销。
对于Python项目来说,将配置、密钥......
2020-5-31 3:24我的印象是,很难将C编译成Z80并最终得到优化良好的代码。是这样吗?为什么?
我对6502的了解更多。下面的一些例子说明了为什么C不适合6502:
C中的数组由整数类型索引。6502在索引数组方面相当快,但不幸的是,只有在索引是一个字节宽的情况下。因此,像strcmp或strlen这样的代码可能需要对每个字符执行16......
2020-5-30 2:35我一直在研究人们开始使用打字稿时经常出现的问题。这是基于来自Stack Overflow/DefinitelyTyped的经验教训,以及与打字社区的一般接触。您可以关注更新,别忘了在gihub★🌹上登录。
以极低的免费价格,你会得到一页页纯粹的令人叹为观止的东西。充斥着源代码示例和清晰、简明的解释,Tyescript......
2020-5-23 21:43让我们来看看什么是一遍编译器,并尝试实现一遍编译器。
一遍编译器在分析过程中直接发出汇编(或二进制代码),而不创建中间表示,如AST。这是一种罕见的技术,在计算机内存匮乏的时代使用。这限制了可能的语言功能和生成的代码的质量。但是,这种技术产生的快速编译器让比尔·盖茨羡慕不已。这是一种非常罕见的技术,在计算机内存匮乏的......
2020-5-21 22:34介绍了GNU编译器集合(GCC)和Clang/LLVM(低级虚拟机),比较了两种C/C++编译器的性能。
Visual C++、GNU编译器集合(GCC)和Clang/Low Level Virtual Machine(LLVM)是业界三大主流C/C++编译器。Visual C++提供图形用户界面(GUI),易于调试......
2020-5-19 22:54当前MVP形式的WebAssembly已在所有主流浏览器上发布,并且已经能够实现令人惊叹的功能。这并不意味着它的发展已经结束:相反,在不同的发展阶段,有许多后MVP功能提案。
一个这样的建议是关于将所谓的anyref/external ref类型(和相关指令)添加到规范中。但是,什么是anyref?为什么需要将其添加......
2020-5-17 4:42我的名字是Jesse,这是一个面向喜欢在实践中学习的开发人员的Rust入门教程。
本教程的目的是发展对Rust中的工具构建的直觉-具体地说,学习如何在Rust中思考和构建。
我们的目标是生产一个非常基本的命令行编译器,可以将包含标题和段落的基本Markdown文档转换为html文件。
为此,我们将从构建一个简单的“H......
2020-5-11 8:3Clang是一个“LLVM原生的”C/C++/Objective-C编译器,其目标是提供惊人的快速编译[…]。
我不确定这在过去是不是真的,但现在肯定不是真的。每个LLVM版本都比上一个版本慢几个百分点。LLVM10在这方面付出了一些额外的努力,不知何故,不知什么原因,使Rust编译速度整整慢了10%。
有人可能会争......
2020-5-8 21:3Micro-Mitten是一种类似于铁锈的基本编程语言,经过简化以简化控制流结构和类型系统。
与Rust一样,Micro-mitten提供了一种静态的内存管理方法;然而,Micro-mitten的方法与Rust有很大的不同。它不依赖于单一所有权和复杂的生命周期系统,而是使用一系列数据流分析来静态地近似堆活跃度。这意味......
2020-5-8 16:14有意思的。最新发布的Lua(5.2版,发布于2013年)似乎可以在运行在DOS上23年的编译器上顺利编译和运行。
2020-5-6 7:32GitHub是5000多万开发人员的家园,他们一起工作,共同托管和审查代码、管理项目和构建软件。
报名
2020-5-5 22:35OpenIndiana是基于Illumos和以前的开源Solaris代码构建的开源操作系统,其最新功能发布版本为2020.04。OpenIndiana Hipster 2020.04已经将其自己的应用程序从Python2转换到Python3,并从安装映像中删除了Python2.7。不过,Python2包仍然可以为软件......
2020-5-3 22:40是的,你读对了那个标题。在研究创建有限状态机(FSM)的新方法时,我无意中设计了一个可以在编译时执行的状态机。有树枝之类的东西。今天,请允许我把你拉进我的兔子洞。有客人在下面总是更好。
我有一个朋友,你看,他在c++音响行业工作。DSP之类的好东西。每次我向他展示我觉得有趣的一段新代码时,他都会喋喋不休地说他的“音频......
2020-5-3 3:12您有没有想过编写自己的编译器?…。什么事?…。你当然有!我一直想尝试编写编译器,随着WebAssembly最近的发布,我有了一个完美的理由来尝试一下。
我最初的计划是发明我自己的编程语言,创建一个面向WebAssembly的编译器,并在FullStackNYC分享我的经验。第一部分进行了计划,我花了很多时间来构建、修......