Extending haskell with effectful property abstraction
Boldizsár Németh, Zoltán Kelemen, Máté Karácsony, Máté Tejfel
Abstract
Boldizsár Németh, Zoltán Kelemen, Máté Karácsony, Máté Tejfel
Abstract
Functional programming paradigm can be used to build high-level software, especially when combined with a strong type system, like in Haskell. Functions are first-order values in functional languages. Haskell's Lens type generalizes properties (i.e. accessors/mutators) found in other programming languages. However the structure of Lens type prevents using lenses for data that can be accessed with side-effects. Examples of such data are synchronized properties, file content or remote data. This paper presents an alternative data type for property abstraction, called Reference that can be used in these cases.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Functional programming paradigm can be used to build high-level software, especially when combined with a strong type system, like in Haskell. Functions are first-order values in functional languages. Haskell's Lens type generalizes properties (i.e. accessors/mutators) found in other programming languages. However the structure of Lens type prevents using lenses for data that can be accessed with side-effects. Examples of such data are synchronized properties, file content or remote data. This paper presents an alternative data type for property abstraction, called Reference that can be used in these cases.
Key concepts: Haskell, Functional programming, Computer science, Programming language, Abstraction, Property (philosophy), Generic programming, Data type