A Semantic Framework to Debug Parallel Lazy Functional Languages
It is not easy to debug lazy functional programs. The reason is that laziness and higher-order complicates basic debugging strategies. Although there exist several debuggers for sequential lazy languages, dealing with parallel languages is much harder. In this case, it is important to implement debu...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2020-05-01
|
Series: | Mathematics |
Subjects: | |
Online Access: | https://www.mdpi.com/2227-7390/8/6/864 |
_version_ | 1797566929182916608 |
---|---|
author | Alberto de la Encina Mercedes Hidalgo-Herrero Luis Llana Fernando Rubio |
author_facet | Alberto de la Encina Mercedes Hidalgo-Herrero Luis Llana Fernando Rubio |
author_sort | Alberto de la Encina |
collection | DOAJ |
description | It is not easy to debug lazy functional programs. The reason is that laziness and higher-order complicates basic debugging strategies. Although there exist several debuggers for sequential lazy languages, dealing with parallel languages is much harder. In this case, it is important to implement debugging platforms for parallel extensions, but it is also important to provide theoretical foundations to simplify the task of understanding the debugging process. In this work, we deal with the debugging process in two parallel languages that extend the lazy language Haskell. In particular, we provide an operational semantics that allows us to reason about our parallel extension of the sequential debugger Hood. In addition, we show how we can use it to analyze the amount of speculative work done by the processes, so that it can be used to optimize their use of resources. |
first_indexed | 2024-03-10T19:34:23Z |
format | Article |
id | doaj.art-18c24a45e6ad4629bce1aa77238b8727 |
institution | Directory Open Access Journal |
issn | 2227-7390 |
language | English |
last_indexed | 2024-03-10T19:34:23Z |
publishDate | 2020-05-01 |
publisher | MDPI AG |
record_format | Article |
series | Mathematics |
spelling | doaj.art-18c24a45e6ad4629bce1aa77238b87272023-11-20T01:47:33ZengMDPI AGMathematics2227-73902020-05-018686410.3390/math8060864A Semantic Framework to Debug Parallel Lazy Functional LanguagesAlberto de la Encina0Mercedes Hidalgo-Herrero1Luis Llana2Fernando Rubio3Facultad Informática, Universidad Complutense, 28040 Madrid, SpainFacultad Educación–Centro Formación Profesorado, Universidad Complutense, 28040 Madrid, SpainFacultad Informática, Universidad Complutense, 28040 Madrid, SpainFacultad Informática, Universidad Complutense, 28040 Madrid, SpainIt is not easy to debug lazy functional programs. The reason is that laziness and higher-order complicates basic debugging strategies. Although there exist several debuggers for sequential lazy languages, dealing with parallel languages is much harder. In this case, it is important to implement debugging platforms for parallel extensions, but it is also important to provide theoretical foundations to simplify the task of understanding the debugging process. In this work, we deal with the debugging process in two parallel languages that extend the lazy language Haskell. In particular, we provide an operational semantics that allows us to reason about our parallel extension of the sequential debugger Hood. In addition, we show how we can use it to analyze the amount of speculative work done by the processes, so that it can be used to optimize their use of resources.https://www.mdpi.com/2227-7390/8/6/864functional programmingdebuggingparallel programmingsemantics |
spellingShingle | Alberto de la Encina Mercedes Hidalgo-Herrero Luis Llana Fernando Rubio A Semantic Framework to Debug Parallel Lazy Functional Languages Mathematics functional programming debugging parallel programming semantics |
title | A Semantic Framework to Debug Parallel Lazy Functional Languages |
title_full | A Semantic Framework to Debug Parallel Lazy Functional Languages |
title_fullStr | A Semantic Framework to Debug Parallel Lazy Functional Languages |
title_full_unstemmed | A Semantic Framework to Debug Parallel Lazy Functional Languages |
title_short | A Semantic Framework to Debug Parallel Lazy Functional Languages |
title_sort | semantic framework to debug parallel lazy functional languages |
topic | functional programming debugging parallel programming semantics |
url | https://www.mdpi.com/2227-7390/8/6/864 |
work_keys_str_mv | AT albertodelaencina asemanticframeworktodebugparallellazyfunctionallanguages AT mercedeshidalgoherrero asemanticframeworktodebugparallellazyfunctionallanguages AT luisllana asemanticframeworktodebugparallellazyfunctionallanguages AT fernandorubio asemanticframeworktodebugparallellazyfunctionallanguages AT albertodelaencina semanticframeworktodebugparallellazyfunctionallanguages AT mercedeshidalgoherrero semanticframeworktodebugparallellazyfunctionallanguages AT luisllana semanticframeworktodebugparallellazyfunctionallanguages AT fernandorubio semanticframeworktodebugparallellazyfunctionallanguages |