基于函数式方法的CGI程序设计

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:linshenxiu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于HTTP天生的无状态性质,Web程序设计中产生了这样一个问题:在两个连续的用户交互之间会遗忘状态信息。一个交互性的Web应用程序由一组脚本构成,每个交互都包含两个脚本,一个脚本向浏览器递交页面(然后结束),用户及时完成并提交表单,然后另一个(可能是不同的)脚本处理提交的表单。所以,应用程序逻辑分布在多个脚本之间。   由于浏览器还允许用户在交互中回溯,或者克隆一个正在处理中的交互过程,之后并行执行这两个交互过程,所以问题变得更加复杂。Web开发框架(例如Spring和Struts)允许处理多个交互,但是它们进一步提高了整体上已经很复杂的代码库的复杂性。   在本文中,我们将几种函数式方法应用到Web程序设计中,从而简化复杂Web应用程序的开发。作者将从介绍continuation的应用开始,逐步引入CPS,Trampoline,Lambda Lifting等函数式方法,通过用Scheme语言编写的一个CGI实例详细展示函数式方法的效果,并进一步将这些方法在C语言中实现。
其他文献
随着计算机网络技术的迅速发展,如何对网络环境中的用户进行有效的管理是一个相当复杂和繁琐的问题。特别是在网络科研协同服务环境中,由于用户和信息资源数量巨大,如何让合法的
目前软件工业界面临着产品功能越来越复杂和推出产品周期越来越短的双重压力。软件工程的一个主要目标就是在软件复杂性增加的情况下仍能构造正确可靠的系统,达到这一目标的
机器翻详是自然语言处理中研究的一个重要课题。近年来统计机器翻译的研究占据了机器翻译研究的主流地位。而且统计机器翻译经历了从词到短语,从使用表层字符串信息到使用句法
移动Ad Hoc网络的移动、自组织、无中心、多跳广播传输等特性,使它更容易受到各种不同的攻击。而在移动Ad Hoc网络的一些特定应用领域(如战场),除通信内容容易被截获、窃取外
在EAST托卡马克装置中,极向场线圈电流的变化确定等离子体的位形、电流和平衡,线圈电流控制的好坏对放电结果有着重要的影响。极向场控制系统采用PID控制的方法,控制参数直接影
网络计算机/服务器计算模式是一种新兴的计算模式。它利用远程显示机制将交互式桌面应用的计算任务与图形用户界面进行了分离,将计算任务集中在服务器端完成,而客户端仅负责处
为了提高移动终端的能量使用效率,支持无线宽带城域网的IEEE802.16e标准提出了三种休眠模式。本文基于现代网络中的UGS(Unsolicited Grant Service)和RT-VR(Real-Time Variabl
城市大数据是在城市管理、生活、建设、发展等过程中,由物理世界、信息空间和人类社会三元空间所产生的多源、多模态、异构海量数据。这些数据是人类活动、城市发展的忠实记录
近年来,为了加快钢铁行业的信息化进程,许多钢铁行业以先进的数据库技术、网络技术、计算机技术、管理信息系统等IT技术,投资建设了各种专业性管理信息系统,为钢铁各级部门提供了
随着经济的发展与人们收入水平的提高,越来越多的人希望进行投资金融产品。金融市场的活跃使得原先人工交易方式,特别是短线交易已经渐渐不能适应市场的发展趋势,程序化交易越来