Lenient evaluation is neither strict nor lazy

G. Tremblay
{"title":"Lenient evaluation is neither strict nor lazy","authors":"G. Tremblay","doi":"10.1016/S0096-0551(01)00006-6","DOIUrl":null,"url":null,"abstract":"<div><p>What is a non-strict functional language? Is a non-strict language necessarily lazy? What additional expressiveness brings non-strictness, with or without laziness? This paper tries to shed some light on these questions.</p><p>First, in order to characterize non-strictness, different evaluation strategies are introduced: strict, lazy, and lenient. Then, using program examples, how these evaluation strategies differ from each other is examined, showing that non-strictness, even without laziness, allows a more general use of recursive definitions. We also report on a small experiment that we performed to examine how, in practice, laziness was used in a number of lazy benchmark programs.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"26 1","pages":"Pages 43-66"},"PeriodicalIF":0.0000,"publicationDate":"2000-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(01)00006-6","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0096055101000066","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

What is a non-strict functional language? Is a non-strict language necessarily lazy? What additional expressiveness brings non-strictness, with or without laziness? This paper tries to shed some light on these questions.

First, in order to characterize non-strictness, different evaluation strategies are introduced: strict, lazy, and lenient. Then, using program examples, how these evaluation strategies differ from each other is examined, showing that non-strictness, even without laziness, allows a more general use of recursive definitions. We also report on a small experiment that we performed to examine how, in practice, laziness was used in a number of lazy benchmark programs.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
宽松的评价既不是严格的,也不是懒惰的
什么是非严格的函数式语言?非严格的语言一定是懒惰的吗?什么额外的表达带来了不严格,有或没有懒惰?本文试图阐明这些问题。首先,为了描述非严格性,引入了严格、懒惰和宽松三种不同的评估策略。然后,使用程序示例,检查这些求值策略彼此之间的差异,显示非严格性(即使没有惰性)允许更一般地使用递归定义。我们还报告了我们执行的一个小实验,以检查在实践中如何在许多惰性基准测试程序中使用惰性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
State inference for dynamically changing interfaces LAILA: a language for coordinating abductive reasoning among logic agents Index to Volume 27, 2001 Argos: an automaton-based synchronous language Visual temporal logic as a rapid prototyping tool
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1