TY - UNPD A1 - Schmidt-Schauß, Manfred T1 - A partial rehabilitation of side-effecting I/O : non-determinism in non-strict functional languages T2 - Technical report Frank / Johann-Wolfgang-Goethe-Universität, Fachbereich Informatik und Mathematik, Institut für Informatik ; 7 N2 - We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deterministic interaction with the external world. Using call-by-need and a natural semantics which describes the reduction of graphs, this can be done such that the Church-Rosser Theorems 1 and 2 hold. Our operational semantics is a base to recognise which particular equivalencies are preserved by program transformations. The amount of sequentialisation may be smaller than that enforced by other approaches and the programming style is closer to the common one of side-effecting programming. However, not all program transformations used by an optimising compiler for Haskell remain correct in all contexts. Our result can be interpreted as a possibility to extend current I/O-mechanism by non-deterministic deterministic memoryless function calls. For example, this permits a call to a random number generator. Adding memoryless function calls to monadic I/O is possible and has a potential to extend the Haskell I/O-system. T3 - Technical report Frank / Johann-Wolfgang-Goethe-Universität, Fachbereich Informatik und Mathematik, Institut für Informatik - 7 KW - unification KW - second order unification KW - context unification KW - automated deduction KW - rewriting KW - logics in artificial intelligence Y1 - 1996 UR - http://publikationen.ub.uni-frankfurt.de/frontdoor/index/index/docId/4601 UR - https://nbn-resolving.org/urn:nbn:de:hebis:30-8947 UR - http://www.ki.informatik.uni-frankfurt.de/papers/schauss/ND-FP-96.ps PB - Johann Wolfgang Goethe-Univ., Fachbereich Informatik und Mathematik, Inst. für Informatik, Research group for Artificial Intelligence and Software Technology CY - Frankfurt [am Main] ER -