Purely functional lazy nondeterministic programming

Sebastian Fischer, Oleg Kiselyov, Chung Chieh Shan

研究成果: Article査読

20 被引用数 (Scopus)

抄録

Functional logic programming and probabilistic programming have demonstrated the broad benefits of combining laziness (nonstrict evaluation with sharing of the results) with nondeterminism. Yet these benefits are seldom enjoyed in functional programming because the existing features for nonstrictness, sharing, and nondeterminism in functional languages are tricky to combine. We present a practical way to write purely functional lazy nondeterministic programs that are efficient and perspicuous. We achieve this goal by embedding the programs into existing languages (such as Haskell, SML, and OCaml) with high-quality implementations, by making choices lazily and representing data with nondeterministic components, by working with custom monadic data types and search strategies, and by providing equational laws for the programmer to reason about their code.

本文言語English
ページ(範囲)413-465
ページ数53
ジャーナルJournal of Functional Programming
21
4-5
DOI
出版ステータスPublished - 2011 9月 1

ASJC Scopus subject areas

  • ソフトウェア

フィンガープリント

「Purely functional lazy nondeterministic programming」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル