2020-10-19 20:311935年,一位名叫阿隆佐·丘奇的绅士想出了一个可以计算…的简单方案。几乎什么都行。他的方案被称为兰姆达微积分(Lambda Calculus)。这是一项非凡的创新,因为他甚至没有电脑来测试他的想法。更酷的是,这些想法在今天影响着我们:任何时候你使用一个函数,你都应该向丘奇先生致敬。
Lambda演算是如此酷,以至于......
2020-10-13 19:50以下是我在学习哈斯克尔时所经历的一些所谓的时刻。我在这里分享它们,是为了帮助一些人减轻摆在他们面前的绝望的挫折感。
在很长一段时间里,我不明白为什么函数式编程被认为比常规命令式编程更好。因此,我继续按照常规的、刻不容缓的方式制作节目。有一天我突然想到。
我看到了我所做事情的真面目。我看到了命令性程序实际上是如何安排一......
2020-10-11 22:0几个月前,我看到一篇博客文章吹捧用于实现向量FLOOR、CEIL和ROUND函数的新奇SSE3函数。人们不可避免地自豪地宣称,他们令人印象深刻的表现和正确性令人印象深刻。然而,CEIL函数对于它应该处理的许多数字给出了错误的答案,包括像“1”这样的奇数。
地板和圆形的功能也同样有缺陷。Reddit讨论了这些问题,然后......
2020-10-8 9:13但是,你的朋友托尼告诉你要使用更多的函数,所以你就这么做了。
整数区域(正方形%s){返回宽度*宽度;}整数宽度(正方形%s){返回%s.width;}。
区域是您真正关心的函数,它首先被定义-毕竟,代码是从上到下读取的。
您可能已经猜到,在结构的左方括号之后,上面的代码是用D编写的。我想我的读者并不是真的喜欢D,所......
2020-10-8 7:16欢迎来到无服务器世界。您将听到的第一件事是AWS Lambda-并且您将继续听到有关它的消息!虽然架构可以在不涉及lambdas的情况下是无服务器的,但它通常是无服务器应用程序中的关键组件。在这个由3部分组成的AWS Lambda手册系列的第一篇文章中,我们将介绍什么是AWS Lambda,并回顾各种术语的基础知识、......
2020-9-23 2:48你的计算实验有没有遇到过瓶颈?您是否厌倦了为所选技术选择合适的参数?如果是,Opytimizer才是真正的交易!该软件包提供了元启发式优化的简单实现。从代理到搜索空间,从内部功能到外部沟通,我们将促进所有与优化人员相关的研究。
安装也很容易,如果您想要阅读代码并遇到问题,请跟着做。
@misc{rosa2019opy......
2020-9-11 22:40Pixelated Noise是一家软件咨询公司,我们一直在寻找有趣的项目来帮助我们。如果您有未满足的软件开发需求,我们将很高兴收到您的消息。
这是我在2017-12-13年度AthensClojure Meetup上的一次演讲的博客版本,会议由Skroutz亲切主持。演讲的录像带是可用的(演讲是用希腊语进行的,但有......
2020-9-10 3:7乔和我最近开始了对SiCp的重读。我可以说这是我看过的最有趣的教科书。想象一下,您开始时只有4或5个结构,最终构建代数方程解算器、电路仿真器,甚至逻辑编程语言。因为您开始时只有很少的构造,所以额外的好处是您开始看到编程中从根本上简单、共享的本质。
我想在书中给你们举一个让我吃惊的例子。我们倾向于认为类属于与函数完全不......
2020-9-7 8:58是小于或等于素数的一个很好的近似值,数字证据表明它总是大于例如,
这就提出了一个问题:第一次超过的时间是什么时候?1933年,利特尔伍德的学生Skewes证明,假设黎曼假设,它必须在一些小于或等于。
后来,在1955年,Skewes证明了在没有Riemann假设的情况下,对于一些小于。
到目前为止,这个界限已经有了很......
2020-9-6 23:45我最近开始了磨练我的蟒蛇技能的旅程:我想学习高级模式、习惯用法和技术。我从阅读关于高级Python的书籍开始,然而,如果没有地方应用它,这些信息似乎就不会被牢牢记住。我还希望能够在学习期间向专家提问--这是一种很难找到的安排!这就是我突然想到的问题:如果我能找到一个拥有相当高级的python代码并编写文档和测试的开放......
2020-8-31 15:8嗨。这是一个关于构建一个非常简单的多层感知器来近似异或函数的教程,对于它的朋友来说称为XOR函数。这也可能是您对Julia编程语言的介绍,并且代表了我使用该语言的一些早期实验。Julia是为科学计算而开发的,多亏了即时编译,表面上看,它是一种速度更快的Python。该语言的一个有趣特性是,当您看到神经网络中密集层的数......
2020-8-30 16:49通常,您在IDA中看到一个函数,并想知道它能做什么?什么可以执行?但你只能看到它的身体。
这个脚本与以前的不同,它将从当前函数开始绘制调用图,递归深入,直到某个限制,因为整个调用图可能很大,很难导航。
例如,Linux内核中的vsnprintf()函数:kernel_vsnprintf.png。现在你可以谈谈这件事了......
2020-8-30 13:43数据可视化可以帮助程序员和科学家识别他们数据中的趋势,并有效地将这些结果与他们的同行交流。现代C++正被用于各种科学应用程序,该环境可以从满足科学数据可视化典型设计目标的图形库中获益良多。除了将结果导出到其他环境的选项外,C++中常用的替代方案要么是依赖于现有用户界面的非专用库,要么是绑定到其他语言。Matlot++......
2020-8-30 0:38这是我从科学角度研究编程概念的博客系列的第一部分。在这一部分中,我挖掘了我能找到的与函数长度有关的每一项研究,填补了一些原始研究的空白,并检验了我们可以学到的东西。
2000年后似乎没有专门关注函数长度的研究,但是通过最初的研究,我们发现现代代码库表现出类似的行为。
我们还发现,在实证实验中,短函数会使代码调试速度变......
2020-8-19 2:49尽管Haskell是一种强大的语言,可以帮助实现健壮和可维护的程序,但在Haskell可能性的海洋中导航是具有挑战性的。该语言为您提供了大量令人惊叹的方法,但要了解如何以及在哪里正确使用它们并不总是微不足道的。
幸运的是,与任何其他主流编程语言一样,Haskell也有其生成高质量代码的最佳实践和推荐方法。了解Hask......
2020-8-18 14:1PRVHASH是生成从消息导出的伪随机数序列的散列函数。产生的散列非常接近于位频率的正态分布。PRVHASH在概念上类似于Keccak方案,但完全不同于该概念的实现。
PRVHASH可以生成32位到无限位的散列,从而产生与所选散列长度无关的粗略质量的散列。PRVHASH基于64位数学运算。超过256位的散列仍然需要广......
2020-8-18 9:12假设您正在设计一个游戏,为了确定一个动作的成功,您要掷骰子20(20个面的骰子)。即使您正在制作一款没有骰子的数字游戏,这也是一个将概率与上下文关联起来的有用工具。我们中的大多数人以前都掷过骰子,所以我们大多数人都直观地知道这种随机的机会是什么感觉。
现在假设您想让一个角色“幸运”。不是滚动一个d20,而是滚动两个d......
2020-8-18 7:26最近,我一直在为λ演算发明一个可视化的书写系统。
兰姆达演算(λ演算)是一种原始函数式编程,最初是由阿隆佐·丘奇发明的,当时他正试图解决导致图灵发明图灵机的相同问题。这是关于计算的另一种推理方式。
Python的λ是从λ演算中借用的一个想法。在Python中,您可以使用如下所示的lambda表达式来定义返回数字平方的......
2020-8-17 3:58大多数WebAssembly在线教程和示例都侧重于在浏览器中使用它,以加速网站或Web应用程序的各种功能。但是,有一个领域的WebAssembly功能非常强大,但没有太多讨论:浏览器场景之外的领域。这就是我们将在这一系列帖子中关注的。
网络人经常给事物带来恶名(web-GPU就是另一个例子)。WebAssembly既......
2020-8-16 5:8在这里试试吧!在线版目前主要适用于小程序;更多选项请参见running.md。
BQN是APL血统中的一种新的编程语言,旨在消除APL传统中不一致和繁琐的方面,并将伟大的思想建立在更坚实的基础上。BQN面向现有的和有抱负的APL系列程序员,使用它需要对函数和多维数组有扎实的理解。但是,由于BQN侧重于提供简单、一致和......
2020-8-10 22:50前几天我试着画伯特和厄尼,真的很难。我旁边就有他们的照片,但我的画简直令人难以置信地粗糙,更多的是“语言”而不是“视觉”,因为我描绘的是伯特和厄尼的关键方面,但照片看起来一点也不像他们。我知道画画很难-偶尔,我会坐一个小时画一个场景,要让它看起来像我看到的东西总是要做很多工作-但我没有意识到画卡通人物会这么难!
这让......
2020-8-10 13:38我的朋友Juan Paucar向我介绍了第28届欧洲编程研讨会(ESOP 2019)中与Codata相关的一篇论文。我对codata非常感兴趣,主要是因为它以一种范畴论的方式与数据相关,但是,像往常一样,我并不理解其中的许多单词。这篇论文帮助我理解了很多,也帮助我理解和塑造了如何连接FP和OOP世界的想法。但是,在此......
2020-8-9 12:12在这张画布上,您可以看到函数将是什么样子。您可以调整变量以获得所需的结果。
2020-8-5 17:27函数式编程的主要思想是像对待任何其他数据类型一样对待函数。特别是,我们希望能够将函数作为参数传递给其他函数,将它们作为值返回,并将它们存储在数据结构中。但是函数是哪种数据类型呢?它是一种类型,当与另一段称为参数的数据配对时,可以将其传递给名为Apply的函数以产生结果。
在实践中,函数应用隐含在语言的语法中。但是,正......
2020-8-4 22:58上一次,我试图说服您,您可能不需要虚拟DOM,并且许多常见的UI模式可以用完全静态的页面重现,更改只发生在树属性和文本节点的叶子上。对于一些更复杂的UI模式,我重新添加了有限形式的动态行为,允许元素具有动态的子列表。
这可能并不令人惊讶,因为在Reaction普及虚拟DOM(使用Mustache模板之类的东西)之前,......
2020-8-3 4:43Lisp(例如Common Lisp、Emacs Lisp)和Haskell的哲学上的一个不同之处在于,后者自由地使用许多完成单个任务的微小函数。这就是所谓的可组合性,或UNIX哲学。在Lisp中,过程倾向于接受配置其行为的许多选项。这被称为整体主义,或者像厨房水槽或瑞士军刀那样的程序。
哪一个更好,可以在另一个帖子......
2020-7-26 16:17在本章中,我们将进一步了解ECMAScript语言规范是如何处理变量的。
环境是ECMAScript规范用来管理变量的数据结构。它是一个字典,其键是变量名,值是这些变量的值。每个作用域都有其关联的环境。环境必须能够支持以下与变量相关的现象:
函数f(X){return x*2;}函数g(Y){const tmp=y+......
2020-7-22 0:9许多语言通过调用必须具有特定名称的函数来开始运行您的程序。在C语言(以及许多C派生语言)中,这只称为main();在Go中,它是它的main.main()(主包中的main()函数)。众所周知,Python不需要任何这样的函数,即使您创建了一个名为main()的函数,它也不会自动调用。最近我读到“为什么Python没......
2020-7-20 4:51998年,万维网的发明者蒂姆·伯纳斯·李(Tim Berners-Lee)提出了最小功耗原则:
计算机科学在20世纪60年代到80年代花费了大量的精力来制造尽可能强大的语言。如今,我们必须意识到选择最有力的解决方案而不是最弱的解决方案的原因。
在语言的计算能力和确定该语言中的程序正在做什么的能力之间有一个重要的权衡......
2020-7-1 6:6--两个破折号开始一行注释。--[[添加两个和]';s使其成为多行comment.--]]--1.变量和流control.。-num=42--所有数字都是双精度的。--Don';t惊慌失措,64位双精度数有52位用于--存储精确的int值;机器精度--对于需要<;52位的整数来说不是问题。s='......