Time efficiency analysis of parallel programs on Liquid Haskell
- DOI
- 10.2991/978-94-6463-388-7_11How to use a DOI?
- Keywords
- execution time analysis; functional programming language; Haskell; SMT solver
- Abstract
In this study, we focus on parallel programming in the purely functional language Haskell and try to analyze the execution time statically. Liquid Haskell is a program verification tool that integrates refinement types into the Haskell programming language and relies on SMT solvers for verification. In this study, we will improve the existing method for analysing sequential execution time by extending its capabilities to parallel programs using Liquid Haskell. Specifically, we have implemented two execution time analysis functions in Liquid Haskell. One is a function that executes a two-element tuple sequentially or in parallel, depending on the number of processors. The other is a function that executes each element of a list in parallel. We compare the results of parallel execution time inferences made in Parallel Haskell with the actual execution times of parallel runs on computers with multi-core CPUs.
- Copyright
- © 2024 The Author(s)
- Open Access
- Open Access This chapter is licensed under the terms of the Creative Commons Attribution-NonCommercial 4.0 International License (http://creativecommons.org/licenses/by-nc/4.0/), which permits any noncommercial use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
Cite this article
TY - CONF AU - Yu Daiki AU - Shinya Nishizaki PY - 2024 DA - 2024/02/29 TI - Time efficiency analysis of parallel programs on Liquid Haskell BT - Proceedings of the Workshop on Computation: Theory and Practice (WCTP 2023) PB - Atlantis Press SP - 155 EP - 192 SN - 2589-4900 UR - https://doi.org/10.2991/978-94-6463-388-7_11 DO - 10.2991/978-94-6463-388-7_11 ID - Daiki2024 ER -