2004
DOI: 10.1007/978-3-540-24836-1_14
|View full text |Cite
|
Sign up to set email alerts
|

Observing Functional Logic Computations

Abstract: Abstract. A lightweight approach to debugging functional logic programs by observations is presented, implemented for the language Curry. The Curry Object Observation System (COOSy) comprises a portable library plus a viewing tool. A programmer can observe data structures and functions by annotating expressions in his program. 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 logica… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
22
0

Year Published

2005
2005
2020
2020

Publication Types

Select...
6

Relationship

4
2

Authors

Journals

citations
Cited by 28 publications
(22 citation statements)
references
References 10 publications
0
22
0
Order By: Relevance
“…Thus with these frameworks we would need to provide type descriptions or a set of functions to every observe application. Previous research has shown that this approach gives problems with values of polymorphic types [1].…”
Section: If Isobservable Type Then [| Thunk |] Else [| Nothunk |]mentioning
confidence: 99%
See 2 more Smart Citations
“…Thus with these frameworks we would need to provide type descriptions or a set of functions to every observe application. Previous research has shown that this approach gives problems with values of polymorphic types [1].…”
Section: If Isobservable Type Then [| Thunk |] Else [| Nothunk |]mentioning
confidence: 99%
“…Most other Haskell compilers do not provide run-time type information. It would therefore be hard to implement the Hugs debugging primitives in these compilers [1]. HugsHood also extends Hood with an interesting "breakpoint" feature that shows the development of observations over time.…”
Section: Tracingmentioning
confidence: 99%
See 1 more Smart Citation
“…Therefore, they are not parametrically polymorphic but their behavior depends on the structure of the concrete type. Hence, we adopt a technique used in observation debugging tools for functional (logic) languages [5,11] and put some information about the considered types as an additional argument of type "Assert a". 2 Furthermore, we also add a string argument that is used to identify the violated assertion when an exception is raised.…”
Section: Assertionsmentioning
confidence: 99%
“…Although this test function is non-declarative (it has been introduced in [5] for a similar purpose), it is necessary to check the state of the argument in order to avoid its unintended instantiation. If the argument e evaluates to a free variable, it is unified (by the equational constraint "=:=") with the argument x and returned.…”
Section: Lazy Assertionsmentioning
confidence: 99%