有序对《计算的本质,深入剖析程序和计算机 Understanding ComputationFrom Simple Machines to Impossible Programs》

有序对的作用是存储两个值,并在之后根据需要再次提供

PAIR = -> x { -> y { -> f { f[x][y] } } }

LEFT = -> p { p[ -> x{ -> y { x } }] }

RIGHT = -> p { p[ -> x{ -> y { y } }] }

读第一遍的时候对这几行Ruby代码很不理解,就模仿写了一段JavaScript

PAIR = function(x){return function(y){ return function(f){ return f(x)(y) } }}

LEFT = function(p){return p(function(x){return function(y){ return x }})}

RIGHT = function(p){return p(function(x){return function(y){ return y }})}

使用

my_pair = PAIR(3)(5)

LEFT(my_pair)

时间: 2024-08-13 00:50:34

有序对《计算的本质,深入剖析程序和计算机 Understanding ComputationFrom Simple Machines to Impossible Programs》的相关文章

从计算的本质到编程语言

计算的本质 所谓计算,是构建在一套公理体系上的,而且在此基础上不断向上演化. 抽象地说,就是从一个符号串 f 变换成还有一个符号串 g .比方说, 从符号串 12+3 变换成15就是一个加法计算. 假设符号串 f 是 x^2 ,而符号串 g 是 2x ,从 f 到 g 的计算就是微分.定理证明也是如此, 令 f 表示一组公理和推导规则, 令 g 是一个定理, 那么从 f 到 g 的一系列变换就是定理 g 的证明. 它们都是从己知符号串開始,一步一步地改变,经过有限步骤.最后得到一个满足预先规定的

利用MATLAB计算三维坐标序列距离误差程序

1.三维坐标储存在文件中,格式如下: 各坐标间的距离真值是一定值,计算相邻距离的标准差. 2.MATLAB程序如下: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 名称:caculateAccuracy.m % 功能:读取三维世界坐标,计算精度 % 作者:LYC % 单位:中科院苏州医工所 % 日期:2014.5.5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asp.net导出dbf报错“未在本地计算机上注册“VFPOLEDB”提供程序。”

导出dbf文件报错,提示“未在本地计算机上注册“VFPOLEDB”提供程序.” 可以尝试一下方法: 方法一:下载VFPOLEDBSetup.msi 安装 如果方法一不行:继续方法二:下载vfp9.0  最后有链接 若还不行,尝试方法三:打开IIS管理器--找到网站对应的程序池--右键高级设置--启动32位应用程序 设置为true 如图: VFPOLEDBSetup.msi  下载链接:http://pan.baidu.com/s/1qYxLRvm

64位win7 安装apache 无法启动此程序 因为计算机中丢失 MSVCR100.dll

点击链接下载: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) 安装后就好了 64位win7 安装apache 无法启动此程序 因为计算机中丢失 MSVCR100.dll,布布扣,bubuko.com

在启动php时,无法启动此程序,由于计算机中丢失MSVCR110.dll的解决方法

在启动php时,运行RunHiddenconsole.exe php-cgi.exe -b 127.0.0.1:9000 -c时,出现错误:无法启动此程序,由于计算机中丢失MSVCR110.dll 方法/步骤 首先进入 http://www.microsoft.com/zh-CN/download/details.aspx? id=30679 这个网址来进行相关程序的下载. 打开之后,在"选择语言"里选择"中文简体".然后点击右边的"下载"but

安装windows Server 2003和2008 Sp1时提示:安装程序在计算机中识别出了下列大容量存储设备

一.问题描述: 有一个PC技嘉的主板,安装系统时提示如下问题: ************************************************安装程序在计算机中识别出了下列大容量存储设备:.无.指定其他供windows使用的scsi适配器.cd-rom驱动器或特殊磁盘控制器,包括那些可从大容量存储设备制造厂商处获得软盘支持的设备,请按s.如果您没有制造厂商提供的大容量存储设备的驱动软盘,或不想使用其他厂商提供的大容量存储设备,请按enter这里如果按enter,后面一步就直接结

在启动php时,无法启动此程序,因为计算机中丢失MSVCR110.dll的解决方法

在启动php时,执行RunHiddenconsole.exe php-cgi.exe -b 127.0.0.1:9000 -c时,出现错误:无法启动此程序,因为计算机中丢失MSVCR110.dll 方法/步骤 首先进入 http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 这个网址来进行相关程序的下载. 打开之后,在"选择语言"里选择"简体中文",然后点击右边的"下载"按钮.这

最短的计算大数乘法的c程序

#include <stdio.h> char s[99],t[99]; int m,n; void r(int i,int c) { int j=0,k=i; while(k)c+=s[j++]*t[k---1]; if(i)r(i-1,c/10); printf("%d",c%10); } void main() { gets(s);gets(t); while(s[n])s[n++]-=48; while(t[m])t[m++]-=48; r(m+n-1,0); }

cookie,Session机制的本质,跨应用程序的session共享

目录:一.术语session二.HTTP协议与状态保持三.理解cookie机制四.理解session机制五.理解javax.servlet.http.HttpSession六.HttpSession常见问题七.跨应用程序的session共享八.总结 一.术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的.session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动