Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2633628.2633637acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
keynote

Functional programming, object-oriented programming and algebras!

Published: 26 August 2014 Publication History

Abstract

Functional and Object-Oriented (OO) abstractions provide dual views on programming. Functional languages, like ML or Haskell, use algebraic datatypes as the main structuring abstraction. Algebraic datatypes require programmers to think about all the variants in advance, but in return they allow functions to be defined modularly. In Object-Oriented languages, like Java or C#, interfaces are the main abstraction. Interfaces require programmers to think about all the functions in advance, but in return they allow new variants to be defined modularly. This dual view in programming was first observed by Reynolds and later popularized by Wadler via the cunningly named Expression Problem. Wadler's Expression Problem emphasizes an additional question: can we have variants and functions both defined modularly?
Recent years have been prolific in solutions to the Expression Problem for both functional and OO languages. Despite superficially looking quite different, various solutions have in fact a common abstraction behind them: some variant of (F-)Algebras. In this talk I'll give an overview of some of the solutions to the Expression Problem in both Functional and OO languages. Then I will discuss the algebra-related abstractions behind these solutions to relate the different solutions to the Expression Problem. Finally I'll argue that a different programming paradigm arises when we take algebras (instead of algebraic datatypes or interfaces) as a primary structuring abstraction.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
WGP '14: Proceedings of the 10th ACM SIGPLAN workshop on Generic programming
August 2014
102 pages
ISBN:9781450330428
DOI:10.1145/2633628
  • Program Chairs:
  • José Pedro Magalhäes,
  • Tiark Rompf
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 August 2014

Check for updates

Author Tags

  1. expression problem
  2. functional programming
  3. modularity
  4. object-oriented programming

Qualifiers

  • Keynote

Conference

ICFP'14
Sponsor:

Acceptance Rates

WGP '14 Paper Acceptance Rate 8 of 9 submissions, 89%;
Overall Acceptance Rate 30 of 43 submissions, 70%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 368
    Total Downloads
  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media