由于眼睛问题,我不得不将控制台背景颜色更改为白色,但字体是灰色的,这使得消息不可读.我该怎么改变它?
教会号码是自然数字作为函数的编码.
(\ f x ? (f x)) -- church number 1
(\ f x ? (f (f (f x)))) -- church number 3
(\ f x ? (f (f (f (f x))))) -- church number 4
Run Code Online (Sandbox Code Playgroud)
整齐地说,你可以通过应用它们来取代2个教会数字.也就是说,如果你申请4到2,你就得到教会号码16
,或者2^4
.显然,这完全是不切实际的.教会数字需要一定数量的记忆,而且非常非常慢.像10^10
GHCI快速正确回答的类似计算的东西需要很长时间,无论如何都无法适应你计算机上的内存.
我最近一直在尝试最佳的λ评估员.在我的测试中,我不小心在我的最佳λ计算器上键入了以下内容:
10 ^ 10 % 13
Run Code Online (Sandbox Code Playgroud)
它应该是乘法,而不是取幂.在我绝望地移动我的手指中止永久运行的程序之前,它回答了我的要求:
3
{ iterations: 11523, applications: 5748, used_memory: 27729 }
real 0m0.104s
user 0m0.086s
sys 0m0.019s
Run Code Online (Sandbox Code Playgroud)
随着我的"错误警报"闪烁,我去谷歌并确认了10^10%13 == 3
.但是λ计算器不应该找到那个结果,它几乎不能存储10 ^ 10.对于科学,我开始强调它.这立刻回答我20^20%13 == 3
,50^50%13 == …
algorithm haskell functional-programming lambda-calculus modular-arithmetic
我知道他们是同一个语言家族的方言,称为lisp,但究竟是什么区别呢?如果可能,您是否可以概述语法,特征,功能和资源等主题.
在像Haskell这样的纯函数式语言中,是否存在一个算法来获取函数的逆,当它是双射的时(编辑)?是否有一种特定的方式来编程你的功能呢?
说实话,我还没有完全理解它 - 我甚至理解Node.js是如何工作的,作为使用事件模型的单个线程.我只是不知道它如何比Apache更好,如果它是单线程的,它如何水平扩展.
有没有办法比较两个函数的相等性?例如,(?x.2*x) == (?x.x+x)
应该返回true,因为那些显然是等价的.
什么是每个类似unicode括号的字符的列表(例如包括:) {}[]()<>
?搜索unicode字符的好方法是什么?
node.js相当于window["myvar"] = value
什么?
如何让浏览器显示"另存为对话框",以便用户可以将字符串的内容保存到系统中的文件中?
例如:
var myString = "my string with some stuff";
save_to_filesystem(myString,"myString.txt");
Run Code Online (Sandbox Code Playgroud)
结果是这样的: