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...

Full description

Bibliographic Details
Main Authors: Alberto de la Encina, Mercedes Hidalgo-Herrero, Luis Llana, Fernando Rubio
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