Matches in SemOpenAlex for { <https://semopenalex.org/work/W1570383166> ?p ?o ?g. }
Showing items 1 to 77 of
77
with 100 items per page.
- W1570383166 abstract "Lazy functional languages are declarative and allow the programmer to write programs where operational issues such as the evaluation order are left implicit. It is desirable to maintain a declarative view also during debugging so as to avoid burdening the programmer with operational details, for example concerning the actual evaluation order which tends to be difficult to follow. Conventional debugging techniques focus on the operational behaviour of a program and thus do not constitute a suitable foundation for a general-purpose debugger for lazy functional languages. Yet, the only readily available, general-purpose debugging tools for this class of languages are simple, operational tracers.This thesis presents a technique for debugging lazy functional programs declaratively and an efficient implementation of a declarative debugger for a large subset of Haskell. As far as we know, this is the first implementation of such a debugger which is sufficiently efficient to be useful in practice. Our approach is to construct a declarative trace which hides the operational details, and then use this as the input to a declarative (in our case algorithmic) debugger.The main contributions of this thesis are:A basis for declarative debugging of lazy functional programs is developed in the form of a trace which hides operational details. We call this kind of trace the Evaluation Dependence Tree (EDT).We show how to construct EDTs efficiently in the context of implementations of lazy functional languages based on graph reduction. Our implementation shows that the time penalty for tracing is modest, and that the space cost can be kept below a user definable limit by storing one portion of the EDT at a time.Techniques for reducing the size of the EDT are developed based on declaring modules to be trusted and designating certain functions as starting-points for tracing.We show how to support source-level debugging within our framework. A large subset of Haskell is handled, including list comprehensions.Language implementations are discussed from a debugging perspective, in particular what kind of support a debugger needs from the compiler and the run-time system.We present a working reference implementation consisting of a compiler for a large subset of Haskell and an algorithmic debugger. The compiler generates fairly good code, also when a program is compiled for debugging, and the resource consumption during debugging is modest. The system thus demonstrates the feasibility of our approach." @default.
- W1570383166 created "2016-06-24" @default.
- W1570383166 creator A5014442955 @default.
- W1570383166 date "1998-01-01" @default.
- W1570383166 modified "2023-09-23" @default.
- W1570383166 title "Declarative debugging for lazy functional languages" @default.
- W1570383166 hasPublicationYear "1998" @default.
- W1570383166 type Work @default.
- W1570383166 sameAs 1570383166 @default.
- W1570383166 citedByCount "109" @default.
- W1570383166 countsByYear W15703831662012 @default.
- W1570383166 countsByYear W15703831662013 @default.
- W1570383166 countsByYear W15703831662014 @default.
- W1570383166 countsByYear W15703831662015 @default.
- W1570383166 countsByYear W15703831662016 @default.
- W1570383166 countsByYear W15703831662021 @default.
- W1570383166 crossrefType "journal-article" @default.
- W1570383166 hasAuthorship W1570383166A5014442955 @default.
- W1570383166 hasConcept C136388014 @default.
- W1570383166 hasConcept C138673069 @default.
- W1570383166 hasConcept C138885662 @default.
- W1570383166 hasConcept C146206909 @default.
- W1570383166 hasConcept C168065819 @default.
- W1570383166 hasConcept C199360897 @default.
- W1570383166 hasConcept C2778485113 @default.
- W1570383166 hasConcept C2778514511 @default.
- W1570383166 hasConcept C2780624054 @default.
- W1570383166 hasConcept C2780801425 @default.
- W1570383166 hasConcept C34165917 @default.
- W1570383166 hasConcept C41008148 @default.
- W1570383166 hasConcept C41895202 @default.
- W1570383166 hasConcept C42383842 @default.
- W1570383166 hasConcept C50033165 @default.
- W1570383166 hasConcept C75291252 @default.
- W1570383166 hasConceptScore W1570383166C136388014 @default.
- W1570383166 hasConceptScore W1570383166C138673069 @default.
- W1570383166 hasConceptScore W1570383166C138885662 @default.
- W1570383166 hasConceptScore W1570383166C146206909 @default.
- W1570383166 hasConceptScore W1570383166C168065819 @default.
- W1570383166 hasConceptScore W1570383166C199360897 @default.
- W1570383166 hasConceptScore W1570383166C2778485113 @default.
- W1570383166 hasConceptScore W1570383166C2778514511 @default.
- W1570383166 hasConceptScore W1570383166C2780624054 @default.
- W1570383166 hasConceptScore W1570383166C2780801425 @default.
- W1570383166 hasConceptScore W1570383166C34165917 @default.
- W1570383166 hasConceptScore W1570383166C41008148 @default.
- W1570383166 hasConceptScore W1570383166C41895202 @default.
- W1570383166 hasConceptScore W1570383166C42383842 @default.
- W1570383166 hasConceptScore W1570383166C50033165 @default.
- W1570383166 hasConceptScore W1570383166C75291252 @default.
- W1570383166 hasLocation W15703831661 @default.
- W1570383166 hasOpenAccess W1570383166 @default.
- W1570383166 hasPrimaryLocation W15703831661 @default.
- W1570383166 hasRelatedWork W114570332 @default.
- W1570383166 hasRelatedWork W1236045544 @default.
- W1570383166 hasRelatedWork W1498006595 @default.
- W1570383166 hasRelatedWork W1557447388 @default.
- W1570383166 hasRelatedWork W1585544221 @default.
- W1570383166 hasRelatedWork W2121724409 @default.
- W1570383166 hasRelatedWork W232546407 @default.
- W1570383166 hasRelatedWork W249366177 @default.
- W1570383166 hasRelatedWork W270890898 @default.
- W1570383166 hasRelatedWork W273486279 @default.
- W1570383166 hasRelatedWork W284974300 @default.
- W1570383166 hasRelatedWork W298393444 @default.
- W1570383166 hasRelatedWork W3019633459 @default.
- W1570383166 hasRelatedWork W345392283 @default.
- W1570383166 hasRelatedWork W429474256 @default.
- W1570383166 hasRelatedWork W49909033 @default.
- W1570383166 hasRelatedWork W591799521 @default.
- W1570383166 hasRelatedWork W593974556 @default.
- W1570383166 hasRelatedWork W622253553 @default.
- W1570383166 hasRelatedWork W644976322 @default.
- W1570383166 isParatext "false" @default.
- W1570383166 isRetracted "false" @default.
- W1570383166 magId "1570383166" @default.
- W1570383166 workType "article" @default.