Loading…
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...
Saved in:
Published in: | Mathematics (Basel) 2020-06, Vol.8 (6), p.864 |
---|---|
Main Authors: | , , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | |
---|---|
cites | cdi_FETCH-LOGICAL-c294t-9fd62c8a84bdb63fc06d1c0889321b67f602347cd7e6445c2bbf5ec836ca6b843 |
container_end_page | |
container_issue | 6 |
container_start_page | 864 |
container_title | Mathematics (Basel) |
container_volume | 8 |
creator | de la Encina, Alberto Hidalgo-Herrero, Mercedes Llana, Luis Rubio, Fernando |
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. |
doi_str_mv | 10.3390/math8060864 |
format | article |
fullrecord | <record><control><sourceid>doaj_cross</sourceid><recordid>TN_cdi_doaj_primary_oai_doaj_org_article_18c24a45e6ad4629bce1aa77238b8727</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><doaj_id>oai_doaj_org_article_18c24a45e6ad4629bce1aa77238b8727</doaj_id><sourcerecordid>oai_doaj_org_article_18c24a45e6ad4629bce1aa77238b8727</sourcerecordid><originalsourceid>FETCH-LOGICAL-c294t-9fd62c8a84bdb63fc06d1c0889321b67f602347cd7e6445c2bbf5ec836ca6b843</originalsourceid><addsrcrecordid>eNpNkEtLw0AUhQdRsNSu_AOzl-i8Oo-dpRotFBTU9XBnMompSUYmKVJ_vakV6dncc87ig3sQuqTkmnNDbloY3jWRREtxgiaMMZWpsT898udo1vcbMspQroWZoNsFfgktdEPtcZ6gDV8xfeAh4rvgthV-hgRNExq8hu8dzredH-rYwT531Raq0F-gsxKaPsz-7hS95fevy8ds_fSwWi7WmWdGDJkpC8m8Bi1c4SQvPZEF9URrwxl1UpWSMC6UL1SQQsw9c66cB6-59CCdFnyKVgduEWFjP1PdQtrZCLX9LWKqLKTxiyZYqj0TIOZBQiEkM84HCqAU49ppxdTIujqwfIp9n0L5z6PE7re0R1vyH2HgZjA</addsrcrecordid><sourcetype>Open Website</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>A Semantic Framework to Debug Parallel Lazy Functional Languages</title><source>Publicly Available Content Database</source><creator>de la Encina, Alberto ; Hidalgo-Herrero, Mercedes ; Llana, Luis ; Rubio, Fernando</creator><creatorcontrib>de la Encina, Alberto ; Hidalgo-Herrero, Mercedes ; Llana, Luis ; Rubio, Fernando</creatorcontrib><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.</description><identifier>ISSN: 2227-7390</identifier><identifier>EISSN: 2227-7390</identifier><identifier>DOI: 10.3390/math8060864</identifier><language>eng</language><publisher>MDPI AG</publisher><subject>debugging ; functional programming ; parallel programming ; semantics</subject><ispartof>Mathematics (Basel), 2020-06, Vol.8 (6), p.864</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c294t-9fd62c8a84bdb63fc06d1c0889321b67f602347cd7e6445c2bbf5ec836ca6b843</cites><orcidid>0000-0001-9074-4537 ; 0000-0001-6510-6090 ; 0000-0002-8969-6002 ; 0000-0003-1962-1504</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>de la Encina, Alberto</creatorcontrib><creatorcontrib>Hidalgo-Herrero, Mercedes</creatorcontrib><creatorcontrib>Llana, Luis</creatorcontrib><creatorcontrib>Rubio, Fernando</creatorcontrib><title>A Semantic Framework to Debug Parallel Lazy Functional Languages</title><title>Mathematics (Basel)</title><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.</description><subject>debugging</subject><subject>functional programming</subject><subject>parallel programming</subject><subject>semantics</subject><issn>2227-7390</issn><issn>2227-7390</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><sourceid>DOA</sourceid><recordid>eNpNkEtLw0AUhQdRsNSu_AOzl-i8Oo-dpRotFBTU9XBnMompSUYmKVJ_vakV6dncc87ig3sQuqTkmnNDbloY3jWRREtxgiaMMZWpsT898udo1vcbMspQroWZoNsFfgktdEPtcZ6gDV8xfeAh4rvgthV-hgRNExq8hu8dzredH-rYwT531Raq0F-gsxKaPsz-7hS95fevy8ds_fSwWi7WmWdGDJkpC8m8Bi1c4SQvPZEF9URrwxl1UpWSMC6UL1SQQsw9c66cB6-59CCdFnyKVgduEWFjP1PdQtrZCLX9LWKqLKTxiyZYqj0TIOZBQiEkM84HCqAU49ppxdTIujqwfIp9n0L5z6PE7re0R1vyH2HgZjA</recordid><startdate>20200601</startdate><enddate>20200601</enddate><creator>de la Encina, Alberto</creator><creator>Hidalgo-Herrero, Mercedes</creator><creator>Llana, Luis</creator><creator>Rubio, Fernando</creator><general>MDPI AG</general><scope>AAYXX</scope><scope>CITATION</scope><scope>DOA</scope><orcidid>https://orcid.org/0000-0001-9074-4537</orcidid><orcidid>https://orcid.org/0000-0001-6510-6090</orcidid><orcidid>https://orcid.org/0000-0002-8969-6002</orcidid><orcidid>https://orcid.org/0000-0003-1962-1504</orcidid></search><sort><creationdate>20200601</creationdate><title>A Semantic Framework to Debug Parallel Lazy Functional Languages</title><author>de la Encina, Alberto ; Hidalgo-Herrero, Mercedes ; Llana, Luis ; Rubio, Fernando</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c294t-9fd62c8a84bdb63fc06d1c0889321b67f602347cd7e6445c2bbf5ec836ca6b843</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>debugging</topic><topic>functional programming</topic><topic>parallel programming</topic><topic>semantics</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>de la Encina, Alberto</creatorcontrib><creatorcontrib>Hidalgo-Herrero, Mercedes</creatorcontrib><creatorcontrib>Llana, Luis</creatorcontrib><creatorcontrib>Rubio, Fernando</creatorcontrib><collection>CrossRef</collection><collection>Directory of Open Access Journals</collection><jtitle>Mathematics (Basel)</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>de la Encina, Alberto</au><au>Hidalgo-Herrero, Mercedes</au><au>Llana, Luis</au><au>Rubio, Fernando</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>A Semantic Framework to Debug Parallel Lazy Functional Languages</atitle><jtitle>Mathematics (Basel)</jtitle><date>2020-06-01</date><risdate>2020</risdate><volume>8</volume><issue>6</issue><spage>864</spage><pages>864-</pages><issn>2227-7390</issn><eissn>2227-7390</eissn><abstract>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.</abstract><pub>MDPI AG</pub><doi>10.3390/math8060864</doi><orcidid>https://orcid.org/0000-0001-9074-4537</orcidid><orcidid>https://orcid.org/0000-0001-6510-6090</orcidid><orcidid>https://orcid.org/0000-0002-8969-6002</orcidid><orcidid>https://orcid.org/0000-0003-1962-1504</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 2227-7390 |
ispartof | Mathematics (Basel), 2020-06, Vol.8 (6), p.864 |
issn | 2227-7390 2227-7390 |
language | eng |
recordid | cdi_doaj_primary_oai_doaj_org_article_18c24a45e6ad4629bce1aa77238b8727 |
source | Publicly Available Content Database |
subjects | debugging functional programming parallel programming semantics |
title | A Semantic Framework to Debug Parallel Lazy Functional Languages |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T15%3A08%3A31IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-doaj_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=A%20Semantic%20Framework%20to%20Debug%20Parallel%20Lazy%20Functional%20Languages&rft.jtitle=Mathematics%20(Basel)&rft.au=de%20la%20Encina,%20Alberto&rft.date=2020-06-01&rft.volume=8&rft.issue=6&rft.spage=864&rft.pages=864-&rft.issn=2227-7390&rft.eissn=2227-7390&rft_id=info:doi/10.3390/math8060864&rft_dat=%3Cdoaj_cross%3Eoai_doaj_org_article_18c24a45e6ad4629bce1aa77238b8727%3C/doaj_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c294t-9fd62c8a84bdb63fc06d1c0889321b67f602347cd7e6445c2bbf5ec836ca6b843%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |