Purely Functional Lazy Non-deterministic Programming

Sebastian Fischer, Oleg Kiselyov, Chung Chieh Shan

研究成果: Article査読

12 被引用数 (Scopus)

抄録

Functional logic programming and probabilistic programming have demonstrated the broad benefits of combining laziness (non-strict evaluation with sharing of the results) with non-determinism. Yet these benefits are seldom enjoyed in functional programming, because the existing features for non-strictness, sharing, and nondeterminism in functional languages are tricky to combine. We present a practical way to write purely functional lazy non-deterministic 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 non-deterministic 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
ページ(範囲)11-22
ページ数12
ジャーナルACM SIGPLAN Notices
44
9
DOI
出版ステータスPublished - 2009 9月
外部発表はい

ASJC Scopus subject areas

  • コンピュータ サイエンス(全般)

フィンガープリント

「Purely Functional Lazy Non-deterministic Programming」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル