Liberating Composition from Language Dictatorship

Lodewijk Bergmans, Christoph Bockisch, Mehmet Aksit

    Research output: Contribution to conferencePaper

    10 Downloads (Pure)

    Abstract

    Historically, programming languages have been—although benevolent—dictators: fixing a lot of semantics into built-in language constructs. Over the years, (some) programming languages have freed the programmers from restrictions to use only built-in libraries, built-in data types, or built-in type checking rules. Even though, arguably, such freedom could lead to anarchy, or people shooting themselves in the foot, the contrary tends to be the case: a language that does not allow for extensibility, is depriving software engineers from the ability to construct proper abstractions and to structure software in the most optimal way. Instead, the software becomes less structured and maintainable than would be possible if the software engineer could express the behavior of the program with the most appropriate abstractions. The new idea proposed by this paper is to move composition from built-in language constructs to programmable, first-class abstractions in the language. As an emerging result, we present the Co-op concept of a language, which shows that it is possible with a relatively simple model to express a wide range of compositions as first-class concepts.
    Original languageUndefined
    Pages2
    Number of pages5
    Publication statusPublished - Jun 2011

    Keywords

    • Composition
    • IR-79902
    • message reqriting
    • composition operator

    Cite this

    Bergmans, Lodewijk ; Bockisch, Christoph ; Aksit, Mehmet. / Liberating Composition from Language Dictatorship. 5 p.
    @conference{c9ed2000c7864f29be92a87dce24f045,
    title = "Liberating Composition from Language Dictatorship",
    abstract = "Historically, programming languages have been—although benevolent—dictators: fixing a lot of semantics into built-in language constructs. Over the years, (some) programming languages have freed the programmers from restrictions to use only built-in libraries, built-in data types, or built-in type checking rules. Even though, arguably, such freedom could lead to anarchy, or people shooting themselves in the foot, the contrary tends to be the case: a language that does not allow for extensibility, is depriving software engineers from the ability to construct proper abstractions and to structure software in the most optimal way. Instead, the software becomes less structured and maintainable than would be possible if the software engineer could express the behavior of the program with the most appropriate abstractions. The new idea proposed by this paper is to move composition from built-in language constructs to programmable, first-class abstractions in the language. As an emerging result, we present the Co-op concept of a language, which shows that it is possible with a relatively simple model to express a wide range of compositions as first-class concepts.",
    keywords = "Composition, IR-79902, message reqriting, composition operator",
    author = "Lodewijk Bergmans and Christoph Bockisch and Mehmet Aksit",
    year = "2011",
    month = "6",
    language = "Undefined",
    pages = "2",

    }

    Bergmans, L, Bockisch, C & Aksit, M 2011, 'Liberating Composition from Language Dictatorship' pp. 2.

    Liberating Composition from Language Dictatorship. / Bergmans, Lodewijk; Bockisch, Christoph; Aksit, Mehmet.

    2011. 2.

    Research output: Contribution to conferencePaper

    TY - CONF

    T1 - Liberating Composition from Language Dictatorship

    AU - Bergmans, Lodewijk

    AU - Bockisch, Christoph

    AU - Aksit, Mehmet

    PY - 2011/6

    Y1 - 2011/6

    N2 - Historically, programming languages have been—although benevolent—dictators: fixing a lot of semantics into built-in language constructs. Over the years, (some) programming languages have freed the programmers from restrictions to use only built-in libraries, built-in data types, or built-in type checking rules. Even though, arguably, such freedom could lead to anarchy, or people shooting themselves in the foot, the contrary tends to be the case: a language that does not allow for extensibility, is depriving software engineers from the ability to construct proper abstractions and to structure software in the most optimal way. Instead, the software becomes less structured and maintainable than would be possible if the software engineer could express the behavior of the program with the most appropriate abstractions. The new idea proposed by this paper is to move composition from built-in language constructs to programmable, first-class abstractions in the language. As an emerging result, we present the Co-op concept of a language, which shows that it is possible with a relatively simple model to express a wide range of compositions as first-class concepts.

    AB - Historically, programming languages have been—although benevolent—dictators: fixing a lot of semantics into built-in language constructs. Over the years, (some) programming languages have freed the programmers from restrictions to use only built-in libraries, built-in data types, or built-in type checking rules. Even though, arguably, such freedom could lead to anarchy, or people shooting themselves in the foot, the contrary tends to be the case: a language that does not allow for extensibility, is depriving software engineers from the ability to construct proper abstractions and to structure software in the most optimal way. Instead, the software becomes less structured and maintainable than would be possible if the software engineer could express the behavior of the program with the most appropriate abstractions. The new idea proposed by this paper is to move composition from built-in language constructs to programmable, first-class abstractions in the language. As an emerging result, we present the Co-op concept of a language, which shows that it is possible with a relatively simple model to express a wide range of compositions as first-class concepts.

    KW - Composition

    KW - IR-79902

    KW - message reqriting

    KW - composition operator

    M3 - Paper

    SP - 2

    ER -