Filters








5,249 Hits in 3.4 sec

The logic of demand in Haskell

WILLIAM L. HARRISON, RICHARD B. KIEBURTZ
2005 Journal of functional programming  
This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haskell pattern-matching as a logic, thereby simplifying the task of specifying and verifying Haskell  ...  In P-logic, aspects of demand are reflected or represented within both the predicate language and its model theory, allowing for expressive and comprehensible program verification. 1 The name P-logic is  ...  on aspects of logic and Haskell semantics.  ... 
doi:10.1017/s0956796805005666 fatcat:iapz6zrnyrautoahooiryb66z4

Book review "The Haskell Road to Logic, Maths and Programming" [article]

Ralf Laemmel
2006 arXiv   pre-print
The textbook by Doets and van Eijck puts the Haskell programming language systematically to work for presenting a major piece of logic and mathematics.  ...  The book uses Haskell for the executable and strongly typed manifestation of various mathematical notions at the level of declarative programming.  ...  Elsewhere in the preface: "The subject of the book is the use of logic in practice, more in particular the use of logic in reasoning about programming tasks."  ... 
arXiv:cs/0512096v2 fatcat:hwxmka6gijfzxkyskc77uboany

From higher-order logic to Haskell

Florian Haftmann
2010 Proceedings of the ACM SIGPLAN 2010 workshop on Partial evaluation and program manipulation - PEPM '10  
One is the code generator of the proof assistant Isabelle, which turns specifications formulated in Isabelle's higher-order logic into executable Haskell source text; the other is Haskabelle, a tool to  ...  The translation from Isabelle to Haskell directly benefits from the rigorous correctness approach of a proof assistant: generated Haskell programs are always partially correct w.r.t. to the specification  ...  once into Isar theories, continue there and on demand produce Haskell again using the code generator.  ... 
doi:10.1145/1706356.1706385 dblp:conf/pepm/Haftmann10 fatcat:r6f5ntl5k5gd7ogrivrbkf56tu

Transforming Functional Logic Programs into Monadic Functional Programs [chapter]

Bernd Braßel, Sebastian Fischer, Michael Hanus, Fabian Reck
2011 Lecture Notes in Computer Science  
We present a high-level transformation scheme to translate lazy functional logic programs into pure Haskell programs.  ...  This transformation is based on a recent proposal to efficiently implement lazy non-deterministic computations in Haskell in a monadic style.  ...  Demand-driven evaluation is part of the lazy execution mechanism of the functional language Haskell.  ... 
doi:10.1007/978-3-642-20775-4_2 fatcat:uukd3gt2yffpzitmhlm2mhp2v4

KiCS2: A New Compiler from Curry to Haskell [chapter]

Bernd Braßel, Michael Hanus, Björn Peemöller, Fabian Reck
2011 Lecture Notes in Computer Science  
In this paper we present our first steps towards a new system to compile functional logic programs of the source language Curry into purely functional Haskell programs.  ...  This enables the application of various search strategies to extract values from the search space.  ...  Further features of our system are sketched in Section 5 before we conclude in Section 6. Curry Programs The syntax of the functional logic language Curry [28] is close to Haskell [35] .  ... 
doi:10.1007/978-3-642-22531-4_1 fatcat:cyitk3hjnncoddwrcobjih2a7q

From Logic to Functional Logic Programs [article]

Michael Hanus
2022 arXiv   pre-print
To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable functions into predicates in order to stay in the logic programming framework  ...  Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow.  ...  An advantage could come from the nonstrict or demand-driven evaluation of functions, as used in Haskell or Curry and discussed by Hughes (1990) and Huet and Lévy (1991) .  ... 
arXiv:2205.06841v1 fatcat:du6oucg3zrfptfxrlxhkky55ue

The Kiel Curry System KiCS [chapter]

Bernd Braßel, Frank Huch
2009 Lecture Notes in Computer Science  
This paper presents the Kiel Curry System (KiCS) for the lazy functional logic language Curry.  ...  Its main features beyond other Curry implementations are: flexible search control by means of search trees, referentially transparent encapsulation and sharing across nondeterminism.  ...  Since the logical features of Curry are now treated like data structures, the remaining part is more closely related to lazy functional programming (e.g. in Haskell).  ... 
doi:10.1007/978-3-642-00675-3_13 fatcat:p2sqqptpjrcqroe4xg3aevilcm

Translating curry to haskell system demo

Bernd Braβel, Frank Huch
2005 Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming - WCFLP '05  
We show that there are many advantages of a further implementation as a transformation to Haskell: increases in performance, availability of libraries and tools, and open access to the implementation.  ...  There exist several implementations of the functional logic language Curry: a transformation to Prolog and implementations of abstract machines for C and Java.  ...  As logic search has to be added to the Haskell transformation, the developer has full control on this part of the implementation.  ... 
doi:10.1145/1085099.1085112 dblp:conf/wcflp/BrasselH05 fatcat:ti6rldevuzap7khzdmspohk4ci

Observing Functional Logic Computations [chapter]

Bernd Braßel, Olaf Chitil, Michael Hanus, Frank Huch
2004 Lecture Notes in Computer Science  
The possibly partial values of observed expressions that are computed during program execution are recorded in a trace file, including information on non-deterministic choices and logical variables.  ...  A lightweight approach to debugging functional logic programs by observations is presented, implemented for the language Curry.  ...  Observations in Functional Logic Programs In addition to the functional features of Haskell, Curry provides also features for logic programming.  ... 
doi:10.1007/978-3-540-24836-1_14 fatcat:y5o7rafdovhnrcgd27xbdh4w6e

Programming to Learn

Matthew Farrugia-Roberts, Bryn Jeffries, Harald Søndergaard
2022 Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1  
In our large-enrolment course, we have designed special programming problems relevant to logic, discrete mathematics, and the theory of computation, and we have used them for formative and summative assessment  ...  We highlight the potential of programming problems as a digital learning activity even beyond a logic and computation course.  ...  ACKNOWLEDGMENTS We thank our teaching colleagues Anna Kalenkova, Bach Le, Billy Price, Rohan Hitchcock, and rest of the COMP30026 teaching team.  ... 
doi:10.1145/3502718.3524814 fatcat:lhubjgdqlrcujndgx4xvx3no7a

Adding Data to Curry [article]

Michael Hanus, Finn Teegen
2019 arXiv   pre-print
Thus, the definition of an appropriate meaning of equality has a long history in these languages, ranging from reflexive equality in early equational logic languages to strict equality in contemporary  ...  With the introduction of type classes, where the equality operation "==" is overloaded and user-defined, the meaning became more complex.  ...  The authors are grateful to Sandra Dylus and Marius Rasch for fruitful discussions during the conception phase of this paper.  ... 
arXiv:1908.10607v1 fatcat:vubjepbn2ba37owpqffzzqzgbi

Improving Lazy Non-Deterministic Computations by Demand Analysis

Michael Hanus, Marc Herbstritt
2012 International Conference on Logic Programming  
The lazy evaluation of nondeterministic subexpressions results in a demand-driven exploration of the search space: if the value of some subexpression is not required, the complete search space connected  ...  We demonstrate the positive effects of this program transformation with KiCS2, a recent highly efficient implementation of the functional logic programming language Curry.  ...  The syntax of Curry is close to Haskell 1 [47] . In addition, Curry allows free (logic) variables in conditions and right-hand sides of defining rules.  ... 
doi:10.4230/lipics.iclp.2012.130 dblp:conf/iclp/Hanus12 fatcat:brk5o7y5rvajrgcoiqkpnxgop4

Page 340 of Mathematical Reviews Vol. 2, Issue 11 [page]

1941 Mathematical Reviews  
The essen- tial steps are demonstrated in detail. A. A. Bennett. Curry, Haskell B. A revision of the fundamental rules of combinatory logic. J. Symbolic Logic 6, 41-53 (1941).  ...  This is a formal development ofthe ultimate founda- tions’ of combinatory logic as previously dealt with in the author’s thesis. The proofs are here given in full.  ... 

Maude versus Haskell: an Experimental Comparison in Security Protocol Analysis

David Basin, Grit Denker
2000 Electronical Notes in Theoretical Computer Science  
We compare two executable languages: the rewriting logic based specification language Maude and the higher-order, lazy, functional programming language Haskell.  ...  We explore differences in how models can be formalized and analyzed, as well as performance and tool use.  ...  In the following sections, we present parts of our rewriting logic and Haskell formalizations of the NSPK protocol and how we formalize and check attacks.  ... 
doi:10.1016/s1571-0661(05)80141-0 fatcat:p4i3tkpvlbchnamx5cwdpgb2cu

Rendering Space and PeopleEconomic: Naguib Sawiris' Refugee 'Country'

Beste İşleyen
2016 Mediterranean Politics  
But the proposal also illustrates the intimate ways in which humanitarianism, in its contemporary manifestations, is entangled with logics and programmes that render subjects, spaces and relationships  ...  the sovereign is not in the same position vis-à-vis homo oeconomicus as he is vis-à-vis the subject of right.  ...  Disclosure Statement No potential conflict of interest was reported by the author.  ... 
doi:10.1080/13629395.2016.1145824 fatcat:djzednt6vjdqjnj76fhuvr4qku
« Previous Showing results 1 — 15 out of 5,249 results