Eliminating Irrelevant Non-determinism in Functional Logic Programs

被引:2
|
作者
Antoy, Sergio [1 ]
Hanus, Michael [2 ]
机构
[1] Portland State Univ, Comp Sci Dept, Portland, OR 97207 USA
[2] CAU Kiel, Inst Informat, D-24098 Kiel, Germany
来源
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES (PADL 2017) | 2017年 / 10137卷
基金
美国国家科学基金会;
关键词
D O I
10.1007/978-3-319-51676-9_1
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Functional logic programming languages support nondeterministic search and a flexible use of defined operations by applying them to unknown values. The use of these features has the risk that equal values might be computed several times or I/O computations could fail due to non-deterministic subcomputations. To detect such problems at compile time, we present a method to locate non-deterministic operations. If the non-determinism caused by some operation is semantically not relevant, the programmer can direct the compiler to produce only one result of a computation. If all the results of the computations are equal, this directive preserves the semantics and improves the operational behavior of programs. We define the declarative meaning of such annotations and propose both testing and verification techniques that respectively increase the confidence or formally prove that the non-determinism of an operation is irrelevant.
引用
收藏
页码:1 / 18
页数:18
相关论文
共 50 条
  • [1] TraceSanitizer - Eliminating the Effects of Non-determinism on Error Propagation Analysis
    Saissi, Habib
    Winter, Stefan
    Schwahn, Oliver
    Pattabiraman, Karthik
    Suri, Neeraj
    2020 50TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN 2020), 2020, : 52 - 63
  • [2] Typed Non-determinism in Functional and Concurrent Calculi
    van den Heuvel, Bas
    Paulus, Joseph W. N.
    Nantes-Sobrinho, Daniele
    Perez, Jorge A.
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2023, 2023, 14405 : 112 - 132
  • [3] Non-determinism analysis in a parallel-functional language
    Peña, R
    Segura, C
    IMPLEMENTATION OF FUNCTIONAL LANGUAGES, 2001, 2011 : 1 - 18
  • [4] A relational semantics for parallelism and non-determinism in a functional setting
    Bucciarelli, Antonio
    Ehrhard, Thomas
    Manzonetto, Giulio
    ANNALS OF PURE AND APPLIED LOGIC, 2012, 163 (07) : 918 - 934
  • [5] Non-determinism analyses in a parallel-functional language
    Peña, R
    Segura, C
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2005, 15 : 67 - 100
  • [6] REFINING NON-DETERMINISM IN NP
    KINTALA, CMR
    NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY, 1976, 23 (06): : A596 - A596
  • [7] Resolving Non-determinism in Choreographies
    Bocchi, Laura
    Melgratti, Hernan
    Tuosto, Emilio
    PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 8410 : 493 - 512
  • [8] Maximally permissive controlled system synthesis for non-determinism and modal logic
    van Hulst, A. C.
    Reniers, M. A.
    Fokkink, W. J.
    DISCRETE EVENT DYNAMIC SYSTEMS-THEORY AND APPLICATIONS, 2017, 27 (01): : 109 - 142
  • [9] Kolmogorov complexity and non-determinism
    Grigorieff, S
    Marion, JY
    THEORETICAL COMPUTER SCIENCE, 2002, 271 (1-2) : 151 - 180
  • [10] A doctrinal approach to modal/temporal Heyting logic and non-determinism in processes
    Bottoni, Paolo
    Gorla, Daniele
    Kasangian, Stefano
    Labella, Anna
    MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2018, 28 (04) : 508 - 532