Stretching the Glasgow Haskell Compiler Nourishing GHC with Domain-Driven Design

被引:0
|
作者
Young, Jeffrey M. [1 ]
Henry, Sylvain [1 ]
Ericson, John [2 ]
机构
[1] IOG, Dallas, TX 75225 USA
[2] Obsidian Syst, New York, NY USA
关键词
functional systems; modularity; supple design;
D O I
10.1145/3609025.3609476
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Over the last decade Haskell has been productized; transitioning from a research language to an industrial strength language ready for large-scale systems. However, the literature on architecting such systems with a pure functional language is scarce. In this paper we contribute to that discourse, by using a large-scale system: the Glasgow Haskell Compiler (GHC), as a guide to more maintainable, flexible and effective, pure functional architectures. We describe, from experience, how GHC as a system, violates the desirable properties that make pure functional programming attractive: immutability, modularity, and composability. With these violations identified, we provide guidance for other functional system architectures; drawing heavily on Domain-Driven Design. We write from an engineering perspective, with the hope that our experience may provide insight into best practices for other pure functional software architects.
引用
收藏
页码:34 / 39
页数:6
相关论文
共 36 条
  • [21] Domain-Driven Design in Cloud Computing: .NET and Azure Case Analysis
    Jordanov, Jordan
    Petrov, Pavel
    Kuyumdzhiev, Ivan
    Vasilev, Julian
    Petrova, Stefka
    TEM JOURNAL-TECHNOLOGY EDUCATION MANAGEMENT INFORMATICS, 2025, 14 (01): : 44 - 54
  • [22] The impact of domain-driven and data-driven feature selection on the inverse design of nanoparticle catalysts
    Li, Sichao
    Ting, Jonathan Y. C.
    Barnard, Amanda S.
    JOURNAL OF COMPUTATIONAL SCIENCE, 2022, 65
  • [23] The impact of domain-driven and data-driven feature selection on the inverse design of nanoparticle catalysts
    Li, Sichao
    Ting, Jonathan Y.C.
    Barnard, Amanda S.
    Journal of Computational Science, 2022, 65
  • [24] Overview of a Domain-Driven Design Approach to Build Microservice-Based Applications
    Steinegger, Roland H.
    Giessler, Pascal
    Hippchen, Benjamin
    Abeck, Sebastian
    THIRD INTERNATIONAL CONFERENCE ON ADVANCES AND TRENDS IN SOFTWARE ENGINEERING (SOFTENG 2017), 2017, : 79 - 87
  • [25] Research on Domain-Driven Modular Design of the seeker in 3D Environment
    Li, Shao Xing
    Wu, Bao Zhong
    Yan, Yue Hui
    Li, Guo Xi
    Gong, Jing Zhong
    Zhang, Meng
    MATERIALS PROCESSING TECHNOLOGY II, PTS 1-4, 2012, 538-541 : 3291 - +
  • [26] Domain-Driven Design for Microservices Architecture Systems Development: A Systematic Mapping Study
    Sangabriel-Alarcon, Josue
    Ocharan-Hernandez, Jorge Octavio
    Cortes-Verdin, Karen
    Limon, Xavier
    2023 11TH INTERNATIONAL CONFERENCE IN SOFTWARE ENGINEERING RESEARCH AND INNOVATION, CONISOFT 2023, 2023, : 25 - 34
  • [27] Architecting Digital Twins Using a Domain-Driven Design-Based Approach
    Macias, Aurora
    Navarro, Elena
    Cuesta, Carlos E.
    Zdun, Uwe
    2023 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE, ICSA, 2023, : 153 - 163
  • [28] Generative software module development for domain-driven design with annotation-based domain specific language
    Duc Minh Le
    Duc-Hanh Dang
    Viet-Ha Nguyen
    INFORMATION AND SOFTWARE TECHNOLOGY, 2020, 120
  • [29] Domain-Driven Design applied to land administration system development: Lessons from the Netherlands
    Oukes, Peter
    van Andel, Marc
    Folmer, Erwin
    Bennett, Rohan
    Lemmen, Christiaan
    LAND USE POLICY, 2021, 104
  • [30] Domain-Driven Design Using Meta-Attributes: A DSL-Based Approach
    Duc Minh Le
    Duc-Hanh Dang
    Viet-Ha Nguyen
    2016 EIGHTH INTERNATIONAL CONFERENCE ON KNOWLEDGE AND SYSTEMS ENGINEERING (KSE), 2016, : 67 - 72